Type cleaning

It is not clear when type cleaning as implemented in #59 can be applied during type checking.
With the new inference branch merged (#27), the cleaning after a substitution is applied from tally generates errors for simple tests.

We can do the cleaning right after applying a substitution, but we can only clean type variables
that were freshly introduced by tally. Here is the relevant quote from the paper
"Polymorphic Functions with Set-Theoretic Types Part 2" by Castagna et al:

Finally, solve introduces several fresh polymorphic variables which can be cleaned up after that the substitutions have been applied to obtain the types deduced by inference system: all variables that occur only in covariant (resp. contravariant) position in a type, can be replaced by 0 (resp. 1).

In some email thread, I argued that the set of type variables freshly introduced by tally is different from the set of fixed type variables given to tally.
There are three classes of type variables: universally quantified type variables, type variables freshly introduced by constraint generation and simplification, and type variables freshly introduced by tally. I now investigate which type variables must be fixed and which can be cleaned.
Universally quantified type variables.
Consider
-spec foo(integer()) -> integer().
foo(X) -> X.

-spec bar(T, T) -> integer().
bar(X, _Y) -> foo(X).

If tally would be allowed to substitute T, then it would unify T with integer() and the example would type check. Clearly, this is wrong: tally must not touch T, so T is a fixed type variable. It's also obvious that such type variables must not be cleaned.
Type variables freshly introduced by constraint generation and simplification
Tally is allowed to substitute such type variables (indeed, that's the whole point of invoking tally in the first place!).
But we must not clean such type variables because the encode incomplete knowledge.
Here is an example that uses type inference:
case_01(X) ->
    case X of
        spam -> foobar;
        _ -> foobar
    end.

We assign X some fresh type variable $1. Constraint generation then assumes that the
srutiny of case X of ... has type $3, requiring $1 <= $3. Further the "guard type" t for the
case spam -> foobar is $3 /\ spam.
During constraint simplifiation, tally solves the constraint set {$1 <= $3} with the
substitution sigma = {$1 => mu13 /\ $3}. Further, it checks for unreachable branches
by checking whether t sigma <= bottom (where t is the guard type of the branch).
t sigma (the application of substitution sigma to t) yields t. But if we allowed type
variables freshly introduced by constraint generation to be cleaned, cleaning t = $3 /\ spam
would yield bottom. Hence, the branch spam -> foobar would be reported as unreachable. This
is clearly wrong.
Here is a similar example without inference:
-spec foo() -> foobar.
foo() ->
  F = fun(X) ->
        case X of
            spam -> foobar;
            _ -> foobar
        end
      end,
  F(spam).

Type variables freshly introduced by tally
These can't fixed (because they are not in the input to tally) but subjec to cleaning.
Summary

Universally quantified type variables: fixed, no cleaning
Type variables freshly introduced by constraint generation and simplification: not fixed, no cleaning
Type variables freshly introduced by tally: cleaning

Implementation
@albsch said that it requires some work to get the freshly introduced type variables out
of tally. So here's a simple implementation idea:

Rewrite clean so that it takes a predicate stating which type variables should be cleaned
(instead of just a set of type variables).
Before applying tally, compute the set of free type variables of the constraint set. Then
the predicate for clean just checks whether a type variable is in this set or not.

@albsch Does the above sound good to you?

First let me shortly explain what tally (the invocation $tally_\Delta(C)$ ) is doing. The algorithm knows two types of variables:

A variable $\alpha$ is fixed (or monomorphic), if it is contained in the fixed variable set $\Delta$: $\alpha \in \Delta$
A variable $\alpha$ is not fixed (or polymorphic), if it is not contained in the fixed variable set $\Delta$: $\alpha \not \in \Delta$

Tally is invoked on a set of constraints $C$ and given such a set of fixed variables $\Delta$. Let us assume tally will tag freshly introduced variables with a generated tag. Let's fix some terminology on variables:

$free(C)$: All variables in $C$ not contained in $\Delta$
$fixed(C)$: All variables in $C$ contained in $\Delta$
$generated(C)$: All variables in $C$ generated and tagged by tally and not in $\Delta$
$nongenerated(C)$: All variables in $C$ not touched tally and not in $\Delta$
$top(C)$: All variables in $C$ on the top level and not contained in $\Delta$

These definitions are naturally extended if instead of a constraint set $C$ the functions are given a set of constraint sets $S$ or a set $\Sigma$ of substitutions $\sigma$. The invocation of tally on a constraint set $C$ returns such a set of solution substitutions $\Sigma$ for example.
It should be noted that $clean_\Delta(\Sigma)$ also operates only on fixed vs non-fixed variables. In the case of CDuce, the $\Delta$ given to clean is the same $\Delta$ given to the invocation of $tally_\Delta(C)$, as cleaning is applied directly after tally.
Some invariants will be maintained:

$generated(C) \cup nongenerated(C) = free(C)$
$fixed(tally_\Delta(C)) \subseteq fixed(C)$

Tally does not touch the fixed variables, does not add any, but fixed variables can disappear, if constraints are redundant

$free(C) \cap \Delta = \emptyset$
$free(tally_\Delta(C)) \cap \Delta = \emptyset$

A free variable (both generated and non-generated) will never become a fixed variable, they will always be different, even after a tally invocation

I argued that the set of type variables freshly introduced by tally is different from the set of fixed type variables given to tally.

This is indeed the case, as tally will adhere to the constraints given by $\Delta$.
Universally quantified type variables
The consequence is that T must be supplied to tally and clean in the $\Delta$ set. Tally will therefore not touch T.
Type variables freshly introduced by constraint generation and simplification

During constraint simplifiation, tally solves the constraint set {$1 <= $3} with the
substitution sigma = {$1 => mu13 /\ $3}

This is not the correct tally solution. If $1 and $3 are not in $\Delta$ (and are both top-level variables, i.e. not hidden below a type constructor), tally will touch these variables and generate fresh variables out of those.
A correct solution---depending on variable ordering---for $tally_\emptyset(\$1 <= \$3)$ is:

$\$3 => mu3$
$\$1 => mu1 \cap mu3$

In general, the non-generated set is always empty, if all variables are contained on the top level:

$top(C) = free(C) \rightarrow nongenerated(tally_\Delta(C)) = \emptyset$.

Cleaning t = $mu3 /\ spam would indeed yield bottom, because mu3 was introduced by tally.
If both $1 and $3 are given in the fixed set, then the solution of $tally_\emptyset(\$1 <= \$3)$ is unsatisfiable, as both $1 and $3 are treated as monomorphic variables.
Type variables freshly introduced by tally
These are variables in the $generated$ set. Personally, I would assume that after invocation of tally, this equation holds: $free(C) = generated(tally_\Delta(C))$ and $nongenerated(tally_\Delta(C)) = \emptyset$, i.e. tally touches all variables not contained in $\Delta$. In general, tally touches all variables that are not hidden below a type constructor.
Summary

not fixed, no cleaning

Tally and cleaning cannot do this. Either some variables are fixed, and they will not be cleaned. Or, some variables are not fixed, and they will be cleaned. As in the solution for the constraint $1 < $3 with variables $1 and $3 example, it's impossible to do both. Either both $1 and $3 are in $\Delta$, or not.

@albsch Thanks for your careful analysis.
Two comments:
Firstly, you state that {$1 => mu13 /\ $3} is not tally's solution to {$1 <= $3}. But that's what I got by just pasting the output from the log. What's wrong here?
Seondly and more importantly: both type variables $1 and $3 are not fixed and they should not be cleaned because they already existed before invoking tally.
There seems to be some misunderstanding. From the point of cleaning, it doesn't matter what tally does internally. The only thing that matters is the following. Assume $S = tally_{\Delta}(C)$ where $C$ is a set of constraints and $S$ is a set of substitutions. Assume further $\sigma \in S$. Then we can clean type variable $\alpha$ if it is free in $\sigma$ but not free in $C$.
That's what I implemented in #87. All tests are working (the failures come from erlang 26) and bugs #36 and #56 are also fixed.

A valid tally implementation adheres to the following completeness theorem:

The point I'm trying to make is the following. Whether $3 is substituted by tally or not is up to the implementation. According to the completeness theorem it's still complete.

Secondly and more importantly: both type variables $1 and $3 are not fixed and they should not be cleaned because they already existed before invoking tally.

$1 and $3 will not exist anymore after the tally invocation if they are not in the fixed set $\Delta$. They will be substituted to a fresh variable $mu1 and $mu3. That this is not the case in the implementation is a detail that I have skipped because I think it is not important, but I think I should do it to make it clear that tally is allowed to substitute every variable that is not contained in $\Delta$.

Then we can clean type variable $\alpha$ if it is free in $\sigma$ but not free in $\Delta$.

This applied to every variable in $\sigma$ after a tally invocation (that is not in $\Delta$ and adheres to the co-contravariance position restriction). Again, every variable that is not in $\Delta$ will be fresh after a tally invocation. That this is not the case is only because I have not implemented traversing the solution and substituting the remaining variables. Tally is allowed to do that because of the completeness theorem.

Let me put the other way round: we must not clean type variables free in C. Otherwise, the examples case_01 and case_01_noinfer from https://github.com/etylizer/etylizer/issues/71#issuecomment-1895313502 fail to type check.
On the other hand, we usually do not fix all type variables in C. Hence, there exists type variables that are not fixed and which must not be cleaned.
Can you investigate what happens with examples case_01 and case_01_noinfer if tally would substitute all variables with fresh variables? You would have to work in branch #87 or you need to do the calculations by hand with the information from the log.

I implemented the tally fix, in as/clean-after-subst-vars.
case_01 and most tests are ok.
Test case case_01_infer is one of the tests where the new tally mechanism generates fresh variables for the solution.
In our case, the solution is
{$2 := mu$45 /\ mu$23, $4 := mu$45}
whereas before it was
{$2 := $4 /\ mu$23, $4 := $4}
Both solutions are valid solutions which satisfy the input constraints (sanity condition passes).
Test case:
-spec case_01_noinfer() -> foobar.
case_01_noinfer() ->
  F = fun(X) -> case X of spam -> foobar; _ -> foobar end end,
  F(spam).

The test case fails with:
[INFO 2024-01-24 10:28:41.989 typing.erl:255] Checking failed: test_files/tycheck_simple.erl:176:27: Type error: this branch never matches
%  176|   F = fun(X) -> case X of spam -> foobar; _ -> foobar end end,
%     |                           ^

  while checking function case_01_noinfer/0 against type fun(() -> foobar)
test_files/tycheck_simple.erl:176:27: Type error: this branch never matches
%  176|   F = fun(X) -> case X of spam -> foobar; _ -> foobar end end,
%     |

while checking function case_01_noinfer/0 against type fun(() -> foobar)

@albsch got you. Currently, I don't how enough time to think about it carefully. Two points:

I think that my approach to detect the type variables that can be cleaned (outlined above and implemented in #87) is wrong.
I still think that tally should return a set with type variables that can be cleaned, together with the substitution.

Maybe the following from the part 2 paper is relevant:

Finally, solve introduces several fresh polymorphic variables which can be cleaned up after that the substitutions have been applied to obtain the types deduced by inference system.

It does not state that the type variables freshly introduced by tally can be cleaned but only those introduced by solve.
@albsch does this make sense? Can you research in this direction?

It does not state that the type variables freshly introduced by tally can be cleaned but only those introduced by solve.

Solving introduces these fresh variables and is the last phase of tally. It is also the only place where fresh variables are introduced.

I still think that tally should return a set with type variables that can be cleaned, together with the substitution.

Tally can return that set. With the implementation in as/clean-after-subst-vars it will always return the set where every variable that is contained in $free(C)$ is replaced with a (universally quantified, unbounded) fresh variable.
I think we should try to understand why different valid implementations of tally (w.r.t. the completeness theorem) lead to different behavior under cleaning.

The paper only introduces cleaning with respect to the concrete algorithm presented. Cleaning is not stated as a general thing that can be applied to every implementation obeying to the soundness and completeness properties of tally.
What's the output of the algorithm from the paper when applied to the constraint set {$1 <= $3}?

@albsch Do we need this issue anymore? #36 and #56 are fixed with PR #91.


Random crash (without exception)

The crash occurs with a 100% cpu usage (maybe from the network thread).
It could be a problem with the find_peer during a WAITPING operation; a possible fix could be to check the available peer number before trying the find_peer.
Crash occurs only on certain PING

It was a broken PIPE


Connect to OData Service on Cloud Foundry Using SAP Cloud SDK

Tutorial URL: https://developers.sap.com/tutorials/s4sdk-odata-service-cloud-foundry.html
Please specify the step you are referring to: step 06
Hi there,
I´ve been through a couple of tutorials using SAP Cloud SDK for Java; however, one open point is still not clear, thus I decided to place the question here.
Remark: in case it´s not the right forum to add it up, please, tell me where it is.
So, as a matter of fact, I know I can add business logic here, but how about UI? Considering it´s been through and I managed to implement the logic required to CRUD and so on.
How do I populate a UI on top of it? Precisely, can I create a Fiori UI out of this business logic written via SDK?
If there is a tutorial touching this subject please let me know, then I can go through.
BR,
Pietro

Question answered in the SAP community:
https://answers.sap.com/questions/12940024/how-to-consume-sap-cloud-sdk-via-fiori.html
BR,
Pietro


Provide a fix for BarChart that is not rendered on a webpage with 2 nested master pages when ClientIDMode=AutoID (Resolve #211)

Container is found automatically using a ClientID property value passed from the server code.

/cc @AlekseyMartynov

LGTM then


I can't install this plugin

Hi.I wrote this line in node.js command prompt but it show me warning
phonegap local plugin add https://github.com/VersoSolutions/CordovaClipboard
[warning] The command phonegap local <command> has been DEPRECATED.
[warning] The command has been delegated to phonegap <command>.
[warning] The command phonegap local <command> will soon be removed.

try use cordova command line
$ cordova plugin add https://github.com/VersoSolutions/CordovaClipboard

@kooroshekabir was this resolved?  If so please close.


Bug Fix for GROOVY-7259

Bug fix for the issue:
https://jira.codehaus.org/browse/GROOVY-7259?jql=project %3D GROOVY AND resolution %3D Unresolved AND priority %3D Trivial ORDER BY key DESC
And my first PR in incubator-groovy :)

Hi antoaravinth,
thanks for the pull request. :)
It looks very good, but I guess there should be a check if the setter and/or getter is private. Here are some quick sketches of tests (names etc. are lacking):
public void testProperties_public_get_private_set() throws Exception {
    testPropertiesFromGetterSetter("GeneratePropertyFromGetSet", "",
        "_public_get_private_set", false);
}

public void testProperties_private_get_public_set() throws Exception {
    testPropertiesFromGetterSetter("GeneratePropertyFromGetSet", "",
        "_private_get_public_set", false);
}

public void testProperties_private_get_private_set() throws Exception {
    testPropertiesFromGetterSetter("GeneratePropertyFromGetSet", "",
        "_private_get_private_set", false);
}

and methods added to GeneratePropertyFromGetSet:
private void set_public_get_private_set(String public_get_private_set) {
}

public String get_public_get_private_set() {
    return "";
}

public void set_private_get_public_set(String private_get_public_set) {
}

private String get_private_get_public_set() {
    return "";
}

private void set_private_get_private_set(String private_get_private_set) {
}

private String get_private_get_private_set() {
}

All these test fail.

You might want to use java.beans.Introspector.decapitalize which handles some special cases like getZ and getURL. Also we probably need to handle primitive boolean methods of the form isPropName().

It is probably also worth checking for no parameters for getters (we don't normally consider indexed properties) and likewise exactly one parameter only for setters. I am a little fuzzy also whether we should include read-only or write-only properties (i.e. only a getter or only a setter) - I'll have to think about that one a bit more.

Also, the setters could be checked for void return type. And if we do eventually support read-only getters, we need to rule out some things Groovy adds like getMetaClass and getDeclaringClass and we probably don't want getClass from Java either.

@PascalSchumacher @paulk-asert Sure thanks for the comments and ideas. Will take up this one and update the PR soon :)

@PascalSchumacher @paulk-asert Done! Kindly have a look at it and let me know, if any more changes is needed from my side!

@antoaravinth thanks for the update! :)
It looks like your pull request is still missing these requirements from Paul:
"It is probably also worth checking for no parameters for getters (we don't normally consider indexed properties) and likewise exactly one parameter only for setters."
"Also, the setters could be checked for void return type."

@PascalSchumacher Sorry didn't check it, actually let me know my understanding is correct:

Check getters doesn't have any params.
Check set has always void as return type.

These two changes needs to be added right?

@antoaravinth Yes, your understanding is correct.

@PascalSchumacher Now its done! :) Let me know if anything is needed from my end.

Looks fine to me, but I never worked on groovydoc. @paulk-asert what do you think?

I think it is very close. There are little things which I'd probably tweak, e.g.:
setOrGet.contains("is") would match "history", so startsWith would be better.

@paulk-asert : Any update on this?

@antoaravinth I can do the final clean up myself, but could you please squash the commits? My git skills are not sufficient to squash or even cherry-pick your changes. Thanks!

@PascalSchumacher Sure. Will make the changes of what Paulk as suggested.

Merged: c1516a8180a06c88be2fab18bea4d06062591790 Thanks!


helm dep build with Homebrew returns x509: certificate signed by unknown authority

OSX 10.12.6, Currently using 2.8.0 but the behavior is also present on 2.7.X installed via homebrew.
In a corporate environment where ssl inspection is taking place. There are custom CA's in the osx keychain facilitating the ssl termination. Doesn't seem to work with helm. Typically using the env var SSL_CERT_FILE is enough to override the bundle but it has no effect here.
$ helm dep build
Hang tight while we grab the latest from your chart repositories...
...Unable to get an update from the "local" chart repository (http://<IP_ADDRESS>:8879/charts):
	Get http://<IP_ADDRESS>:8879/charts/index.yaml: dial tcp <IP_ADDRESS>:8879: getsockopt: connection refused
...Unable to get an update from the "stable" chart repository (https://kubernetes-charts.storage.googleapis.com):
	Get https://kubernetes-charts.storage.googleapis.com/index.yaml: x509: certificate signed by unknown authority
Update Complete. ⎈Happy Helming!⎈
Saving 1 charts
Downloading postgresql from repo https://kubernetes-charts.storage.googleapis.com/
Save error occurred:  could not download https://kubernetes-charts.storage.googleapis.com/postgresql-0.8.3.tgz: Get https://kubernetes-charts.storage.googleapis.com/postgresql-0.8.3.tgz: x509: certificate signed by unknown authority
Deleting newly downloaded charts, restoring pre-update state
Error: could not download https://kubernetes-charts.storage.googleapis.com/postgresql-0.8.3.tgz: Get https://kubernetes-charts.storage.googleapis.com/postgresql-0.8.3.tgz: x509: certificate signed by unknown authority

/remove-lifecycle stale
Hey! Sorry for not following up on this ticket. This might be due to the Homebrew formula compiling Helm from source, whereas the compiled release binaries are compiled with Go 1.10. Can you try the static binary releases (or GoFish via gofish install helm)and see if that works instead?

I observe the same issue with helm 2.9.0 from homebrew. Using the official release binary for 2.9.0 there is no certificate warning.

Your suggestion to uninstall helm, update go and reinstall helm didn't do the trick for me. I had been at go 1.10.2 already anyway, so there was nothing to upgrade. Additionally, helm seems to be installed as precompiled bottle anyway, and not compiled locally with whatever go version was installed there.
I'd agree that there isn't much that can be done here. I suppose the issue should be opened with homebrew, with the intent to fix the formula.
Thanks!

Let's keep this open for visibility. I updated the title to reflect the issue at hand. Thanks!

+1

I'm not sure if this is related, but I'm experiencing what appears to be the same issue with the official binary of Helm 2.9.1.
$ helm repo add --ca-file <path/to/cacert.pem> helm-virtual https://repo-server.tld/path/to/repo --username k8s-dev --password <password>
Error: Looks like "https://repo-server.tld/path/to/repo" is not a valid chart repository or cannot be reached: Get https://repo-server.tld/path/to/repo: x509: certificate signed by unknown authority

openssl s_client with the -CAfile option, to the same server and with the same CA cert, connects successfully.
$ openssl s_client -connect repo-server.tld:443 -CAfile /path/to/cacert.pem
...
Verify return code: 0 (ok)

Helm version:
(⎈ |dev@linode:dev) applecake:linode-charts jfrederickson$ h version
Client: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}

If this is related, is there any additional info I can give you that would be helpful in tracking this down? (Apologies for the heavy redaction.)

hey @jfrederickson! how did you install the helm client?
If it was installed via Homebrew, we know of one particular issue where helm clients installed via homebrew can get compiled with an older release of Go which didn't respect MacOS's cert keychain.

I just put the official binary from the GitHub releases page in my PATH - it's not installed through Homebrew:
$ which helm
/Users/jfrederickson/bin/helm

Ah sorry about that! I missed the "official" part of your comment. :)
I see nothing wrong with your usage, sorry! Let us know if you find out anything.

Well, I just compiled a local copy of helm from master, which was able to successfully verify my chart repo's cert. The official binary for v2.10.0-rc.1 also works, v2.9.0 also does not. Wonder if something changed on the official build server. (In any case, I think I should be fine using a newer helm binary?)

So this is happening on mobile to wifi connection tethering for me. Looks like https traffic intercept with a self signed cert?
Do me a fav and lets compare "openssl s_client" to determine?
polfilm@Peters-MacBook-2:~$ helm upgrade --install --debug --namespace keycloak --values=/Users/polfilm/.madcore/rendered/values.helm.9100.keycloak.yaml mad stable/keycloak
[debug] Created tunnel using local port: '56057'

[debug] SERVER: "<IP_ADDRESS>:56057"

Error: Get https://kubernetes-charts.storage.googleapis.com/keycloak-3.1.0.tgz: x509: certificate signed by unknown authority
polfilm@Peters-MacBook-2:~$ openssl s_client -connect kubernetes-charts.storage.googleapis.com:443
CONNECTED(00000003)
depth=1 C = ES, ST = Madrid, L = Madrid, O = Allot, OU = Allot, CN =<EMAIL_ADDRESS>verify error:num=19:self signed certificate in certificate chain
---
Certificate chain
 0 s:/CN=*.storage.googleapis.com
<EMAIL_ADDRESS> 1<EMAIL_ADDRESS><EMAIL_ADDRESS>---
Server certificate
-----BEGIN CERTIFICATE-----
MIIC7jCCAdagAwIBAgIQIvlUWwAAAADtWQAAAAAAADANBgkqhkiG9w0BAQsFADB/
MQswCQYDVQQGEwJFUzEPMA0GA1UECAwGTWFkcmlkMQ8wDQYDVQQHDAZNYWRyaWQx

Client: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}

Go 10.3+
Same issue, the repo is successfully installed, helm dependency build barfs on self signed certs, i've tried REQUESTS_CA_BUNDLE, putting the insecure flag in kube/config etc and still can't find a way to make it work.  Annoying.
The repo certs are listed in ~/.helm/repository/repositories.yaml and exist in the proper location.
x509: certificate signed by unknown authority

+1

I'm having this same issue on v2.14.0
Client: &version.Version{SemVer:"v2.14.0", GitCommit:"05811b84a3f93603dd6c2fcfe57944dfa7ab7fd0", GitTreeState:"clean"}

@bitsofinfo : still facing problem with --ca-file.
able to set during "helm repo add"
during download time it gives the following error, Error: failed to download "reponame/chartname" (hint: running helm repo update may help)
Using helm v 3.2.4


Open VSX

Hi can you push your extension to https://open-vsx.org/ in addition to VSCode Market Place so people using the FLOSS version could install it too?
I wrote an article on the subject.
Example of Github Action: https://github.com/HaaLeo/publish-vscode-extension

Good idea. I just published it: https://open-vsx.org/extension/bscan/raku-navigator
I'll need to set-up a github action to keep these in sync, but this is a good start.


add pytorch hooks

fix #175

Hi, thanks for your awesome PR. In colossalai/trainer/ophooks/__init__.py, I think it is not necessary to expose TestOpHook to the user?

Hi, thanks for your awesome PR. In colossalai/trainer/ophooks/__init__.py, I think it is not necessary to expose TestOpHook to the user?

Sure, I will fix it.

Hey, I polished the code and added a simple GPU memory tracer using the ophooks. It can dump the GPU memory usage curve during #niter iterations to a file. I hope you like the feature.

The ophooks are applied on the class engine, therefore I put them under the dir of the engine.
I am not sure how to pass the ophooks to the engine constructor. The project seems to recommend initialing the hooks in a config file.

Hi, the ophooks look great to me. As for your second point, we initialize the trainer hooks objects in the python script and pass the  hook objects to the trainer instead of defining them in the config file. I am wondering if you can tell us where did you see such usage as it might be deprecated doc and we can update it.

Hi, the ophooks look great to me. As for your second point, we initialize the trainer hooks objects in the python script and pass the hook objects to the trainer instead of defining them in the config file. I am wondering if you can tell us where did you see such usage as it might be deprecated doc and we can update it.

I saw APIs in builder/builder.py
def build_hooks(config, trainer):

Most of the functions in this file are not used in the project.

Noted, these are deprecated after we update some APIs. Some code cleanup is needed.

Meanwhile, I saw some print statements in the op hooks. I would recommend using DistributedLogger instead as the print statement may not be captured by the standard output when logging is used. Using logger also allows the user to see the message in their log txt file.
A general usage of logger will be like this:
from colossalai.logging import get_dist_logger
from colossalai.context import ParallelMode

# this will get the root Python logger
logger = get_dist_logger()

# log on all ranks
logger.info("some message")

# log only on rank 0
logger.info("some messsages", ranks=[0])

# log on rank 0 and rank 1
logger.info("some messsages", ranks=[0, 1])

# log on all data parallel rank 0
logger.info("some messages", ranks=[0], parallel_mode=ParallelMode.DATA)

# save the log
logger.log_to_file('./logs')

You can find the API doc here.

The MR has been polished. Replacing print() with logger.


Doc Issue in Getting Started

I had problems with the getting started page as just following the steps left me with a bunch of errors.  I had to completely delete the project and start over.  The problem is that the 'global.json' file in the root directory comes pre-loaded with a version of the sdk I didn't have installed and I was unaware I needed to change this.  Once I figured it out I couldn't just change it and continue on as there were, apparently, a lot of config files that had been created that I needed to clean up.  The simplest way to deal with the issue was to just start over and put in my installed sdk version (3.0.100).

@Krzysztof-Cieslak  – can be closed, no?


feat: remove jquery dependency in ux.js file

Fixes:- #27
Describe the changes you have made in this PR -
I have removed jquery dependency in ux.js file
Note: Please check Allow edits from maintainers. if you would like us to assist in the PR.

@devartstar @tachyons please review.

@Prerna-0202 Have you verified the changes? Because this broke the simulator and had to revert?


Basic support for Bash tab-completion

Basic support for Bash tab-completion. Makes the Terra users' life a bit easier.

A future PR may add support for additional parameters and commands.

Closing in favor of #423 instead


Add support for universal where clause

First off -- thank you for this fork! This is a much cleaner implementation with some great functionality added that was missing from the first iteration.
My proposal: Allow adding a * key to the data.where object which will be applied to all tables that don't have an explicit WHERE clause specified already.
Rationale: It's great to have the ability to alter your WHERE clause on a per-table basis; however the mysqldump utility easily allows for the clause to be applied to all tables included in the data dump. For example, my use case is selecting the first 100 rows of each table; with the utility I can simply specify --where='1 LIMIT 100'.

code change looks good.
could you please add tests for this option (into dataDumpOpts.test.ts)?
A test for the base case of using *, and a test to make sure that * doesn't override an explicitly defined where.


NIFI-7259 Adding DeleteDataLakeStorage Processor to provide native support for Azure Data lake Gen 2 Storage.

Description of PR
Added DeleteAzureDataLakeStorage Processor for Azure Data lake Storage Gen 2.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[X] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[X] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[X] Has your PR been rebased against the latest commit within the target branch (typically master)?

[X] Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

[X] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[X] Have you written or updated unit tests to verify your changes?
[X] Have you verified that the full build is successful on both JDK 8 and JDK 11?
[X] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[X] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.

@turcsanyip updated the imports and property description.

Merging to master...
Also fix the CRLF line endings during the merge.
@MuazmaZ Could you please use LF endings in your future commits? Thanks


Update Final-Release.md to not use direct pushes anymore

The section effectively said to use PR's already, but it still had a reference to a command that indicated a direct push should be used. There's no need to do that, a pull request is totally fine.
This comes out of a discussion on Matrix with @RaitoBezarius, related to https://github.com/NixOS/rfcs/pull/156

@RaitoBezarius pointed out that https://github.com/NixOS/release-wiki/blob/master/src/Branch-Off.md also contains instructions for direct pushes, but that can be done in another PR

All -S are lost in this PR, can you comment on whether this is intentional (i.e. you propose to drop -S) or it is implicit to keep doing them, in that case, I think we should provide alternative instructions.

@zimbatm @RaitoBezarius @figsoda: What specific branch protections were turned off to make the release work? And were they turned on again afterwards?


[v0.6.0 Release Docs] Connection Wizard

As part of Release Blog for v0.6.0, we have created this issue belonging to epic [#4127] in order to organize and ensure the smooth release of the blog. Feel free to leave a comment if you would like to take up this respective blog or any section of it.
Some of the Areas to be covered for Connection Wizard :

[ ] NATS connectivity test
[ ] MeshSync

Resync
Wipe database

Contributor Guides and Resources
Guides and Resources

v0.6.0 Docs
v0.6.0 Milestone
v0.6.0 RoadMap
v0.5.0 blog
:hammer_and_wrench: Meshery Build & Release Strategy
🙋🏾🙋🏼 Questions: Layer5 Discussion Forum and Layer5 Community Slack

I'd love to

Sure ! @iambami Go ahead ! 🚀

@iambami How's the post coming along? Please feel to reach out if you need some help or want to get the blog reviewed!


2D arrays are no longer displayed in inspector.

Describe the bug in detail:
Previously, 2D arrays with public or [SerializeField] attributes were displayed in inspector in UdonSharp, but they are no longer displayed in UdonSharp now.
Image 1:Code

Image 2:inspector of v0.20.3

Image 3: inspector of v1.0.0b9

Provide steps/code to reproduce the bug:

Descrive 2D arrays with public or [SerializeField] attributes and attache to UdonBehaviour
See Inspector(always occuer)

Expected behavior:
2D arrays should be display in inspector.
The Udon gimmick that allows users to set parameters in a 2D array is no longer available, and should be fixed.
Additional Information:
I wrote same issue in VRChat canny.
https://feedback.vrchat.com/vrchat-udon-closed-alpha-bugs/p/2d-arrays-are-no-longer-displayed-in-inspector

This is intentional as they wouldn't serialize with just [SerializeField] anymore due to Unity's serializer not handling jagged arrays. If you mark the fields with [OdinSerialize] instead they should still show up in 1.0. They will show up at the bottom of the inspector list due to how compatibility is handled.


Curate Project Presentation document (required)

https://docs.google.com/presentation/d/1_rWrYcfB9NQ6NNQ1LPHupPcPq_xpvrTJ9ouvUFjW7gQ/edit?usp=sharing

Feedback:

Make localstorage as a feature??
Any image on the presentation

if you show a code snippet, just show exactly what you are talking about

Make code snippets readable
Cards → make them readable
Options dropdown → just show the beginning
Quick tutorials
Snippet of the API responses
Code snippet should correspond directly (quote from the word select, use the event handler)
Get rid of the bars in the middle if needed


It is recommended to add a track function

I personally recommend adding a time-limited track function, which has the same meaning as time-limited permissions and time-limited inheritance groups, that is, after the time is up, the track will automatically be downgraded by one level, and if not, the track will be automatically kicked out.

Having the ability to write a promotion and a new time would make this amazing. You could have a promotion level (progression along the track) and a duration. So that way you could easily temp promote someone using the same command.
There would need to be a decision about making a marker for the player's base rank or just making a new track to use for this system.
Example:
Default->User->VIP->VIP+
/lp user tavies temppromote track1 1m
Using the command the first time would promote tavies to User for 1 month, using it a second time would promote to VIP for a new month. If at any time the timer goes to 0, then they get demoted back to default.

Hey, interesting idea!
I think for now I want to keep track promotions for permanent groups only. Of course, you can still add specific temporary groups using parent addtemp - or implement this functionality yourself using the API!

Though not overly complicated, when using the parent addtemp, having to remove the temp before re-adding it to renew the time rather than it overwriting seems like an extra step (though I can see it making sense if the time is less). My thinking with the temppromote could simplify rank changes as well as upgrades using a single command.

UP. I need this feature too


Suggestion: option to remove $ from keys

Great package!
Idea for a feature: I had some feedback that the leading $ was a bit weird when using the JSON elsewhere. Perhaps a good option to add, something like "stripLeadingDollar" (boolean).

For anyone else also wanting this, in the meantime you can use this.
function formatScssVariables(obj) {
  return Object.entries(obj).reduce((payload, [key, value]) => ({
    ...payload,
    [key.replace('$', '')]: value,
  }), {});
}


SignIn - Unable proceed to setting with new applausecard account

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.54
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?:
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause - Internal Team
Action Performed:

Create new account on old dot<EMAIL_ADDRESS>(admin)
Login with same account on old App on iOS
Try to go to settings

Expected Result:
Able to go to setting on OD App with new account
Actual Result:
Unable proceed to setting with new applausecard account

App shown multi times popup "welcome to Expensify" and unable to proceed to settings
After reinstalling App: App freeze after login

Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Standalone
[ ] Android: HybridApp
[ ] Android: mWeb Chrome
[x] iOS: Standalone
[ ] iOS: HybridApp
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

https://github.com/user-attachments/assets/ce961be0-63ee-4004-9375-a7497422edb9
https://github.com/user-attachments/assets/383de6f9-106a-42ab-91e3-1233c5e4b8e3

View all open jobs on GitHub

@lanitochka17 is this affecting only the applausecard accounts or other test domains as well?

Asking in slack

Seems like this might be specific to the applausecard.expensifail.com accounts, @AndrewGable does that make it internal?

I don't think that makes it internal per se, I think we need better reproduction steps before sending it internal or external.

taking to slack

Issue not reproducible with<EMAIL_ADDRESS>domain
https://github.com/user-attachments/assets/9fd7d67f-6c13-459d-b0cb-a8ed66fe38c9

@isabelastisser do you think this is a big issue for you guys? Since it's affecting login to old app with applausecard using a specific flow, seems like it might not be crucial? As I understand this flow is still possible with other QA accounts that aren't applausecard

@sonialiap, I agree that this is not crucial. Let's close this!

@isabelastisser whoops, sorry that was the wrong tag! I meant to tag izarutskaya 😆 Thank you for double checking though


Scaling icons

Is your feature request related to a problem? Please describe.
When there are a lot of changes in weather through day, icons are not visible on some of day parts.
Describe the solution you'd like
If it would be possible to scale down icons based on possible space?
Describe alternatives you've considered
Maybe possibility to hide weather graph and just show temperatures etc?
Additional context
Add any other context or screenshots about the feature request here.
Thanks a lot

Hiding icons when they won't fit is by design. But if you want to hide the bar itself you can use the yaml setting hide_bar: true. Hope that helps.

Hiding icons when they won't fit is by design. But if you want to hide the bar itself you can use the yaml setting hide_bar: true. Hope that helps.

perfect, thanks a lot!


including barcode in patient demographics print

Any reasons why the PR tests are failing. Do they pass in your local environment?

Travis is getting bower dependencies ahead of those we were using in local repos. if you update your local repo deps bower update, npm update some of your tests will fail. I'm working to fix this.


Consolidate App::run() and App::__invoke() methods

@akrabat and @geggleto Did either of you have ideas for this one?

My thoughts are that we need to decouple the App and Rendering Content to the browser.

The run method takes a Request object and returns a Response object, and in 4.x we mark __invoke as deprecated and fully remove in 5.x. __invoke then becomes a proxy of run() in 4.x
Another Slim class is responsible for Rendering the Response Object to the browser.

Reasoning:

We can then more fully unit test Core as currently it's very difficult to do.
It also opens up the ability to better run Slim in persistent environments IE ReactPHP.

Isn't __invoke there so you can run the App itself as a middleware?
Are you planning on removing that functionality entirely or will you replace it with process(ServerRequestInterface $request, DelegateInterface $delegate)?

@geekish has a good point

@geekish @codeguy We can still support it as middleware if our users need it. I have never seen Slim used in such a manner unless it was to facilitate unit/integration tests. Which should be fixed by more decoupling of the internals.

The use case I have in mind is best explained here:
https://zendframework.github.io/zend-expressive/cookbook/common-prefix-for-routes/
Might be time for me to test the differences between using route groups and apps as middleware.

I use the __invoke method inslide the CLI front controller
// ...
echo $app($request, $response)->getBody();

Going off of my earlier comments, in my testing the __invoke method is only usuable as a middleware inside of Slim. I had to make a wrapper class that calls the current process method instead. I would like to Slim as an actual middleware itself.

run() and __invoke() have totally different purposes:

run() runs the app from the top
__invoke() is the last element in the middleware stack

We can't consolidate as they perform different functions within the lifecycle.
We will need to look at __invoke when we go to PSR_15 though.


unable to compile fuse2

configure: WARNING:
******************************************************************
* Please install util-linux version 2.18 or later which supports *
* --fake and --no-canonicalize options in mount and umount       *
******************************************************************
Making all in include
make[1]: Entering directory '/home/wael/.cache/kiss/proc/23628/build/fuse2/include'
make  all-am
make[2]: Entering directory '/home/wael/.cache/kiss/proc/23628/build/fuse2/include'
make[2]: Leaving directory '/home/wael/.cache/kiss/proc/23628/build/fuse2/include'
make[1]: Leaving directory '/home/wael/.cache/kiss/proc/23628/build/fuse2/include'
Making all in lib
make[1]: Entering directory '/home/wael/.cache/kiss/proc/23628/build/fuse2/lib'
  CC       fuse.lo
  CC       fuse_kern_chan.lo
  CC       fuse_loop.lo
  CC       fuse_loop_mt.lo
  CC       fuse_lowlevel.lo
  CC       fuse_mt.lo
  CC       fuse_opt.lo
  CC       fuse_session.lo
  CC       fuse_signals.lo
  CC       buffer.lo
  CC       cuse_lowlevel.lo
  CC       helper.lo
helper.c: In function 'fuse_daemonize':
helper.c:203:25: warning: ignoring return value of 'read' declared with attribute 'warn_unused_result' [-Wunused-result]
  203 |                         read(waiter[0], &completed, sizeof(completed));
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
helper.c:212:24: warning: ignoring return value of 'chdir' declared with attribute 'warn_unused_result' [-Wunused-result]
  212 |                 (void) chdir("/");
      |                        ^~~~~~~~~~
helper.c:225:17: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result]
  225 |                 write(waiter[1], &completed, sizeof(completed));
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  CC       mount.lo
  CC       mount_util.lo
mount_util.c: In function 'mtab_needs_update':
mount_util.c:62:25: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result]
   62 |                         setreuid(0, -1);
      |                         ^~~~~~~~~~~~~~~
mount_util.c:67:25: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result]
   67 |                         setreuid(ruid, -1);
      |                         ^~~~~~~~~~~~~~~~~~
mount_util.c: In function 'add_mount':
mount_util.c:102:17: warning: ignoring return value of 'setuid' declared with attribute 'warn_unused_result' [-Wunused-result]
  102 |                 setuid(geteuid());
      |                 ^~~~~~~~~~~~~~~~~
  CC       ulockmgr.lo
mount_util.c: In function 'exec_umount':
mount_util.c:155:17: warning: ignoring return value of 'setuid' declared with attribute 'warn_unused_result' [-Wunused-result]
  155 |                 setuid(geteuid());
      |                 ^~~~~~~~~~~~~~~~~
mount_util.c: In function 'remove_mount':
mount_util.c:221:17: warning: ignoring return value of 'setuid' declared with attribute 'warn_unused_result' [-Wunused-result]
  221 |                 setuid(geteuid());
      |                 ^~~~~~~~~~~~~~~~~
  CC       modules/subdir.lo
  CC       modules/iconv.lo
  CCLD     libulockmgr.la
ar: `u' modifier ignored since `D' is the default (see `U')
  CCLD     libfuse.la
ar: `u' modifier ignored since `D' is the default (see `U')
make[1]: Leaving directory '/home/wael/.cache/kiss/proc/23628/build/fuse2/lib'
Making all in util
make[1]: Entering directory '/home/wael/.cache/kiss/proc/23628/build/fuse2/util'
make  all-am
make[2]: Entering directory '/home/wael/.cache/kiss/proc/23628/build/fuse2/util'
  CC       fusermount-fusermount.o
  CC       fusermount-mount_util.o
  CC       ulockmgr_server-ulockmgr_server.o
  CC       mount.fuse.o
ulockmgr_server.c:127:12: error: conflicting types for 'closefrom'; have 'int(int)'
  127 | static int closefrom(int minfd)
      |            ^~~~~~~~~
In file included from ulockmgr_server.c:14:
/usr/include/unistd.h:363:13: note: previous declaration of 'closefrom' with type 'void(int)'
  363 | extern void closefrom (int __lowfd) __THROW;
      |             ^~~~~~~~~
ulockmgr_server.c: In function 'main':
ulockmgr_server.c:371:16: warning: ignoring return value of 'chdir' declared with attribute 'warn_unused_result' [-Wunused-result]
  371 |         (void) chdir("/");
      |                ^~~~~~~~~~
make[2]: *** [Makefile:500: ulockmgr_server-ulockmgr_server.o] Error 1
make[2]: *** Waiting for unfinished jobs....
mount_util.c: In function 'mtab_needs_update':
mount_util.c:62:25: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result]
   62 |                         setreuid(0, -1);
      |                         ^~~~~~~~~~~~~~~
mount_util.c:67:25: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result]
   67 |                         setreuid(ruid, -1);
      |                         ^~~~~~~~~~~~~~~~~~
mount_util.c: In function 'add_mount':
mount_util.c:102:17: warning: ignoring return value of 'setuid' declared with attribute 'warn_unused_result' [-Wunused-result]
  102 |                 setuid(geteuid());
      |                 ^~~~~~~~~~~~~~~~~
mount_util.c: In function 'exec_umount':
mount_util.c:155:17: warning: ignoring return value of 'setuid' declared with attribute 'warn_unused_result' [-Wunused-result]
  155 |                 setuid(geteuid());
      |                 ^~~~~~~~~~~~~~~~~
mount_util.c: In function 'remove_mount':
mount_util.c:221:17: warning: ignoring return value of 'setuid' declared with attribute 'warn_unused_result' [-Wunused-result]
  221 |                 setuid(geteuid());
      |                 ^~~~~~~~~~~~~~~~~
make[2]: Leaving directory '/home/wael/.cache/kiss/proc/23628/build/fuse2/util'
make[1]: *** [Makefile:335: all] Error 2
make[1]: Leaving directory '/home/wael/.cache/kiss/proc/23628/build/fuse2/util'
make: *** [Makefile:450: all-recursive] Error 1

https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-fs/fuse/files/fuse-2.9.9-closefrom-glibc-2-34.patch

i put this inside patches/ directory and it doesn't seem to work.

try the latest master

still fails for some reason,
  CC       fusermount-fusermount.o
  CC       fusermount-mount_util.o
  CC       ulockmgr_server-ulockmgr_server.o
  CC       mount.fuse.o
mount_util.c: In function 'mtab_needs_update':
mount_util.c:62:25: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result]
   62 |                         setreuid(0, -1);
      |                         ^~~~~~~~~~~~~~~
mount_util.c:67:25: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result]
   67 |                         setreuid(ruid, -1);
      |                         ^~~~~~~~~~~~~~~~~~
mount_util.c: In function 'add_mount':
mount_util.c:102:17: warning: ignoring return value of 'setuid' declared with attribute 'warn_unused_result' [-Wunused-result]
  102 |                 setuid(geteuid());
      |                 ^~~~~~~~~~~~~~~~~
mount_util.c: In function 'exec_umount':
mount_util.c:155:17: warning: ignoring return value of 'setuid' declared with attribute 'warn_unused_result' [-Wunused-result]
  155 |                 setuid(geteuid());
      |                 ^~~~~~~~~~~~~~~~~
mount_util.c: In function 'remove_mount':
mount_util.c:221:17: warning: ignoring return value of 'setuid' declared with attribute 'warn_unused_result' [-Wunused-result]
  221 |                 setuid(geteuid());
      |                 ^~~~~~~~~~~~~~~~~
ulockmgr_server.c:132:12: error: conflicting types for 'closefrom'; have 'int(int)'
  132 | static int closefrom(int minfd)
      |            ^~~~~~~~~
In file included from ulockmgr_server.c:14:
/usr/include/unistd.h:363:13: note: previous declaration of 'closefrom' with type 'void(int)'
  363 | extern void closefrom (int __lowfd) __THROW;
      |             ^~~~~~~~~
ulockmgr_server.c: In function 'main':
ulockmgr_server.c:377:16: warning: ignoring return value of 'chdir' declared with attribute 'warn_unused_result' [-Wunused-result]
  377 |         (void) chdir("/");
      |                ^~~~~~~~~~
make[2]: *** [Makefile:500: ulockmgr_server-ulockmgr_server.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/home/wael/.cache/kiss/proc/19046/build/fuse2/util'
make[1]: *** [Makefile:335: all] Error 2
make[1]: Leaving directory '/home/wael/.cache/kiss/proc/19046/build/fuse2/util'
make: *** [Makefile:450: all-recursive] Error 1
-> fuse2 Build failed
-> fuse2 Log stored to /home/wael/.cache/kiss/logs/2022-07-26/fuse2-2022-07-26-19:43-19046
Terminated
/usr/local/kiss/community $ git log --pretty=oneline | head -1
2ce0dbcdcd2b2f6a0ce0853be1bc3c820beee0d0 fuse2: fix build with glibc

865dd29?

yep! i really appreciate the time you took to help fix it.


Configurable fall damage/stamina drain toggle?

Would be great if there was a config option to allow fall damage or stamina drain to add more consequences to bhopping.

I would also like this

Agreed, this would be nice.


Show outdated comments in pull request (#13148)

Backport of #13148

So one slight problem with this backport is that it will require the locales to be updated, otherwise LGTM.


kuberlr 0.4.3 no longer supports global kubectl options

This worked fine in 0.4.2 (kubectl is a symlink to kuberlr-0.4.2, ./kubectl is a symlink to kuberlr-0.4.3):
$ kubectl --context rancher-desktop get no
NAME                   STATUS   ROLES                  AGE   VERSION
lima-rancher-desktop   Ready    control-plane,master   24m   v1.27.5+k3s1

$ ./kuberlr version
kuberlr version: 0.4.3 (tagged as "v0.4.3") 2023-09-13T07:38:14Z go1.21.0

$ ./kubectl --context rancher-desktop get no
flag provided but not defined: -context
Usage of ./kubectl:
  -add_dir_header
    	If true, adds the file directory to the header
[...]

Same thing happens for other global options, e.g. ./kubectl -n kube-system get po breaks the same way.

@jandubois I just pushed a fix for that on the master branch. Can you test the fix by building kuberlr from the master branch? I did a quick test and it seems to be working fine now on my machine

Once verified I'll be happy to publish 0.4.4

Thanks, seems to be working fine now.

Closing, this is fixed with the 0.4.4 release: https://github.com/flavio/kuberlr/releases/tag/v0.4.4


bug(button): mat-buttons in toolbar don't use toolbars text color

Is this a regression?

[X] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
14.2.7
Description
When using a mat-button inside a mat-toolbar with primary color (like the code snippet below) the text color of the mat-button is not the same as the toolbar text color. For `mat-icon-button' it is correct.
<mat-toolbar color="primary"
  >My App
  <button mat-button>Button 1</button>
  <button mat-button>Button 2</button>
  <button mat-icon-button>
    <mat-icon>share</mat-icon>
  </button>
</mat-toolbar>

Reproduction
Example with Angular 15:
https://stackblitz.com/edit/components-issue-fonhmb?file=src/app/example-component.html
Expected Behavior
Buttons having the same text color as the regular navbar text and icon buttons.
Actual Behavior

Environment

Angular: 15.0.0
CDK/Material: 15.0.0
Browser(s): Chrome
Operating System (e.g. Windows, macOS, Ubuntu): Windows

With this change, it causes another regression versus v14 when it's the buttons inside the toolbar that have a color; now in v15, the text of the buttons doesn't use the specified color , is it what's expected now?
https://stackblitz.com/edit/toolbar-colored-buttons-14?file=src/app/app.component.html
https://stackblitz.com/edit/toolbar-colored-buttons-15?file=src/app/app.component.html


Remove botid header from directlinejs

The service does not send this header (This was part of some planned work that was not done).
The client code throws a "unable to get header" in console.log on chromium based browsers, which has lead to customer concerns.
Since the header is unused, i am removing it

fixes #287


Qt Plugin Cannot be Initialized Error - Anaconda

Please explain the issue you're experiencing (with as much detail as possible):
Hello,
I've unfortunately been getting the same error when trying to run manim-slides of a scene. The error looks like below:

I've tried to uninstall my conda distribution, reset my entire Windows PC, and try and install pyqt5-tools separately, yet none have worked. Is this a bug or is there something that I am missing?
Thank you!
P.S. - The files used in this bug were pulled straight from the main page of the repository.

Hi @lucaslibshutz, thanks for raising this issue :)
This bug is weird, and Manim Slides should work fine just in one pip install.
Can you create a virtual environment, pip install manim and manim-slides, and copy the output of the installation process? Then, run manim and then manim-slides to see if they work?
Thanks in advance!
Ps: Manim Slides uses PySide6, not PyQt5, so I am not sure about this pyqt5-tools you installed.

Hi @jeertmans ,
I made a new Conda environment, installed manim and manim-slides from scratch, and it worked like a charm! However, I think I was able to find the main problem.
Whenever the user installs the base conda environment, it automatically has qt packages installed, while a fresh environment does not. See the below, where the base environment has both manim and manim-slides installed along with base pip packages, and the sTest environment, with both manim and manim-slides installed:

Therefore, when I try to use manim-slides with both environments, the below happens (the blank line at the end indicates that manim-slides worked and exited as expected:

The sTest environment works without a hitch, while the base environment (after a base Conda install) has the same error as before.
Maybe there is a way for any user's base Conda environment to default to the PySide6 Qt installation, rather than that of QtPy? What do you think?
Thanks for your help!

Hi, I am glad you found a way around!
After digging a bit, it seems that creating a virtual env. is the only solution, see this comment by CristianMaureira from this thread:

The problematic area here is that conda is really good to resolve extra dependencies for Python packages, like for example when you try to use the Python OpenGL bindings, but that means they require to have the proper configuration of Qt in their packages. That being said, modules like matplotlib might install a 'qt.conf' file that modify how Qt will work in your environment, which is problematic, because if you have PySide first, then PyQt might not work, and the other way around.

Officially, there is no conda packages for PySide6 provided by the Qt Project (nor the Qt company), and we only provide the ones on PyPi that you can get with pip install pyside6.

So why is that an issue? The wheels you install with pip include Qt binaries, and what if you already have Qt installed in your conda environment? then there will be a problem with all the configurations. This is the main reason on why we encourage users to use a vanilla Python interpreter, create a virtual environment and install pyside and all the other dependencies there.

If you really cannot do that, I'd recommend you to create another 'conda enviroment' and "try" to install there PySide6 and give it a try.

I am closing this as completed, as you found a solution to your problem :)
Many thanks for you interest in this project!

As a side-note, this error also shows up on Linux/Ubuntu when using pip. The exact error that shows up is this:
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: wayland, wayland-egl, vnc, offscreen, linuxfb, eglfs, xcb, vkkhrdisplay, minimal, minimalegl.

[1]    1398378 IOT instruction (core dumped)  manim-slides BasicExample

The resolution was to install the following packages:
sudo apt install libxcb-cursor0 libxcb-cursor-dev

Thanks @shivams :-) This was actually already documented in the v4.14 release notes.


[Feature][Pipeline] Flink CDC pipeline transform supports CASE WHEN

Search before asking

[X] I searched in the issues and found nothing similar.

Motivation
To be supplemented.
Solution
To be supplemented.
Alternatives
None.
Anything else?
To be supplemented.
Are you willing to submit a PR?

[X] I'm willing to submit a PR!

Closing this issue as it has been migrated to Apache Jira.


Encode resource url path

I noticed that if I try to pass in path like "test test" into [ ] method, I was having errors since I didn't encode it beforehand. Would be great if it encodes by default!
Thanks for all the effort for this gem! It's a pleasure to work with.
EDIT: tests are failing will fix this weekend

Thanks for the PR. Looks like the tests are failing because it's based off of the 1.8.x branch, which is pretty well unsupported.
However, I don't think it makes sense for rest-client to do this. It's the caller's responsibility to pass in a valid URI.
Compare to the behavior with straight RestClient.get:
>> RestClient.get('http://foo bar')
URI::InvalidURIError: bad URI(is not URI?): http://foo bar

Adding URI.encode would risk double-encoding and breaking URIs where the user has already correctly encoded it. So someone passing in foo%20bar would unexpectedly see the server receive foo%2520bar (i.e., a literal %20 rather than an encoded  ).

Ah my bad that makes sense. Thanks for the explanation!


Setup Questions

The docs are lacking.  If you're new to ember, your docs aren't very understandable, there are some things inferred that I'm not familiar yet with ember.  Yes I've looked at the Ember docs, still, ember-mocha doesn't help much in terms of install instructions.
also it looks like if I just install mocha, I can use it or do I still need to use this plugin?  Maybe it's that webstorm is resoving mocha syntax because I've got mocha installed but still need to be using ember-mocha??
I ran ember install ember-cli-mocha from terminal in the root folder of my ember app.
Then tried to setup a test like so:
/tests/my-test.js
import { describeModule, it } from 'ember-mocha';

let chai = require('chai'),
    expect = chai.should();

describeModule('Companies - List', () => {
  it('should display a list of companies ', () => {
    expect($('tr.companies').to.have.length(2));
  });
});

I don't know what I'm missing here.  This test is in /tests in my Ember app.
I get the error Unexpected token import for my import line above after running mocha test command in my terminal.
Obviously I'm not setting this up right, and I don't really know about how resolvers work with Ember yet, so your docs are lacking.  How do I set this up correctly?
Did I setup my test ok?  what am I missing?
And..how does this resolver work?  Where do I actually put this code?
import resolver from './helpers/resolver';
import { setResolver } from 'ember-mocha';

setResolver(resolver);

pretend I've never used Ember...can you please give more details on what I'm missing or doing wrong here?

When running ember install ember-cli-mocha, make sure to type Y when prompted "Overwrite tests/test-helper.js". This file will then be changed to contain:
import resolver from './helpers/resolver';
import { setResolver } from 'ember-mocha';

setResolver(resolver);

Everything else should be taken care of by installing ember-cli-mocha.
You should then be able to use the ember cli generators to create modules and corresponding tests (which will use mocha). For example: ember g controller articles will create tests/unit/controllers/articles-test.js
I believe this is explained in the ember-cli-readme, but please file a PR there if any clarification is needed.
I've just created a bare bones ember-moch-example project so you can compare your project's settings in case you have questions.

Thanks much dgeb!  Really appreciate it.


Suggestion way to set food items as raw

Like when you eat raw food in vanilla there is a chance to trigger the hunger effect. Maybe ether just a line for raw true or false default to false or a way to add a potion effect to the eater with a % chance setting.
Apparently only chicken does this, never new that xD but the effect is Hunger for 30 seconds (30% chance).

I think it would be better to allow for foods to apply potion effects in general and add a probability function to it.  i.e. you could apply a hunger effect but also other effects like regeneration etc.

I actually came here looking for how to add a potion effect to food items.
I see there is the IItemRightClick function and that might(?) work for my purpose but I have no idea if that consumes the item that is right clicked.
Is there an example of anyone successfully adding an item/food item via ContentTweaker that applies a potion effect when the player consumes or right clicks with it?


How to sort a harvest by newest?

I've tried in a few different ways. Like for example:
mp := make(map[string]string)
harvest, err := bot.ListingWithParams("/" + rippingType + "/" + rippingIdentifier, mp)
mp["after"] = lastPostId
mp["sort"] = "newest" (as well as "new")

then saw in the rsort package there is a Sorter struct then tried this:
type Sorter interface {
    Sort(h reddit.Harvest) []string
}

var p Sorter
newHarvest := Sorter.Sort(p, harvest)

and
type Sorter interface {
   Sort(h reddit.Harvest) []string
}
newSorter := reddit.Sorter.New()
newHarvest := Sorter.Sort(newSorter, harvest)

but of course i'm missing something here as well. Unless you can't sort a listing?

Thought i had solved this, but nope :)


ERROR 13203 / Can't register player because data directory already exists

I currently cannot get game sync to work and I don't know why, I have used Entralinked successfully multiple times but I am now suddenly getting error 13202, with the log always stating
2024-05-10 22:03:28.220  INFO : Created GameSpy session for user 3494-XXXX-XXXX-XXXX
2024-05-10 22:03:28.317  INFO : User 3494-XXXX-XXXX-XXXX logged in with profile 602201656
2024-05-10 22:03:28.511  INFO : Created PGL session for user 3494-XXXX-XXXX-XXXX
2024-05-10 22:03:34.097  WARN : Can't register player 2TZK8TAB5E because the data directory already exists!
2024-05-10 22:10:48.849  INFO : User 3494-XXXX-XXXX-XXXX logged out of profile 602201656
for context I currently have no Pokemon tucked in, and I cannot access the dashboard with my game sync ID.
I don’t think I have anything wrong on my end as I've gotten it to work before with my setup, though I’m unsure what "data directory already exists" means.

It means that in the players folder there is already a file called 2TZK8TAB5E, despite the program not recognizing the player. (presumably due to a load error?)

where do I find players folder on Mac?

UPDATE: ISSUE FIXED
unsure what caused this error, but its gone now, thanks for the help.


Tutorial update due change in folder structure

www/app/ has moved to app/, so the tutorial needs an update.
See: https://github.com/driftyco/ionic2-starter-tutorial/commit/56c405ab8e6e3243603b2648868a48842d774183

Sorry, I did not search for open pull requests, and there also this one: https://github.com/driftyco/ionic-site/pull/318/files
However, that one misses a couple of path updates. I think my PR is complete.

@drewrygh can you confirm this?

This has been fixed in the meantime. I think this PR can be closed now.

Thanks


Bilby PriorDict does't like Path objects

In generate_waveforms project, the prior_file that bilby reads needs to be a string.

Fixed with #153


Apply patches after the cocoapods process is done

Have you tried using the Hook system and take advantage of the post_integrate hook you discovered?

I did @milancermak -- it's unfortunately not actually released yet & it still doesn't help us.
The post_integrate process runs after the xcodeworkspace has been generated..
If you then delete a file as part of a patch, it will cause Xcode to fail because the workspace will still reference it.
:(
In the end, I run it after the dependencies have been downloaded but right before the project is generated: https://github.com/DoubleSymmetry/cocoapods-patch/commit/7063fb38759397963e65c40c7fdd4d9269648f23#diff-4b394fb2c004a6bf5e53de9f34a4e84aR6


ingress resource not lunching in k8s 1.7

Everything works perfectly on  our 1.6.x environment but for some reason we have not being able to bring up an ingress resource in k8s 1.7.x  which is using weave.
Before we go in any further into our research into this, is there anything that we should be aware of when it comes to creating ingress resource in version 1.7.x. using Appscode?

There are no known issues with Kubernetes 1.7. I am personally using it with a kops cluster in AWS currently.
Are you using RBAC with 1.7? Then you have to setup voyager appropriately. Are you using Voyager via Helm? Our officially published Voyager chart does not use RBAC yet.
If you can share the voyager operator logs, we will probably have a better idea?

We are using RBAC with 1.7  and  voyager has been setup appropriately taking that into consideration.
Here is the log  from a quick run that i just performed.
I0816 07:41:05.740111       7 logs.go:19] FLAG: --address=":56790"
I0816 07:41:05.740208       7 logs.go:19] FLAG: --alsologtostderr="false"
I0816 07:41:05.740221       7 logs.go:19] FLAG: --analytics="true"
I0816 07:41:05.740232       7 logs.go:19] FLAG: --cloud-config="$CLOUD_CONFIG"
I0816 07:41:05.740251       7 logs.go:19] FLAG: --cloud-provider="$CLOUD_PROVIDER"
I0816 07:41:05.740259       7 logs.go:19] FLAG: --haproxy-image="appscode/haproxy:1.7.6-3.1.0"
I0816 07:41:05.740269       7 logs.go:19] FLAG: --haproxy.server-metric-fields="2,3,4,5,6,7,8,9,13,14,15,16,17,18,21,24,33,35,38,39,40,41,42,43,44"
I0816 07:41:05.740285       7 logs.go:19] FLAG: --haproxy.timeout="5s"
I0816 07:41:05.740298       7 logs.go:19] FLAG: --help="false"
I0816 07:41:05.740315       7 logs.go:19] FLAG: --http-challenge-port="56791"
I0816 07:41:05.740362       7 logs.go:19] FLAG: --ingress-class="$INGRESS_CLASS"
I0816 07:41:05.740375       7 logs.go:19] FLAG: --kubeconfig=""
I0816 07:41:05.740387       7 logs.go:19] FLAG: --log.format=""logger:stderr""
I0816 07:41:05.740396       7 logs.go:19] FLAG: --log.level=""info""
I0816 07:41:05.740404       7 logs.go:19] FLAG: --log_backtrace_at=":0"
I0816 07:41:05.740411       7 logs.go:19] FLAG: --log_dir=""
I0816 07:41:05.740418       7 logs.go:19] FLAG: --logtostderr="true"
I0816 07:41:05.740425       7 logs.go:19] FLAG: --master=""
I0816 07:41:05.740432       7 logs.go:19] FLAG: --operator-service="voyager-operator"
I0816 07:41:05.740439       7 logs.go:19] FLAG: --rbac="true"
I0816 07:41:05.740447       7 logs.go:19] FLAG: --stderrthreshold="2"
I0816 07:41:05.740454       7 logs.go:19] FLAG: --v="3"
I0816 07:41:05.740461       7 logs.go:19] FLAG: --vmodule=""
W0816 07:41:35.741317       7 client_config.go:517] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.
I0816 07:41:35.743255       7 run.go:102] Starting Voyager operator...
I0816 07:41:35.743377       7 operator.go:49] Ensuring TPR registration
I0816 07:41:35.787147       7 run.go:116] URL pattern: /:apiGroup/v1beta1/namespaces/:namespace/ingresses/:name/metrics
I0816 07:41:35.787202       7 run.go:120] Listening on :56790
I0816 07:41:35.787579       7 reflector.go:198] Starting reflector *v1.Service (2m0s) from github.com/appscode/voyager/pkg/operator/services.go:56
I0816 07:41:35.787584       7 reflector.go:198] Starting reflector *v1beta1.Deployment (2m0s) from github.com/appscode/voyager/pkg/operator/deployments.go:41
I0816 07:41:35.787671       7 reflector.go:236] Listing and watching *v1.Service from github.com/appscode/voyager/pkg/operator/services.go:56
I0816 07:41:35.787753       7 reflector.go:198] Starting reflector *v1.Namespace (2m0s) from github.com/appscode/voyager/pkg/operator/namespaces.go:46
I0816 07:41:35.787795       7 reflector.go:236] Listing and watching *v1.Namespace from github.com/appscode/voyager/pkg/operator/namespaces.go:46
I0816 07:41:35.788036       7 reflector.go:198] Starting reflector *v1.ConfigMap (2m0s) from github.com/appscode/voyager/pkg/operator/configmaps.go:39
I0816 07:41:35.788081       7 reflector.go:236] Listing and watching *v1.ConfigMap from github.com/appscode/voyager/pkg/operator/configmaps.go:39
I0816 07:41:35.788082       7 reflector.go:198] Starting reflector *v1beta1.DaemonSet (2m0s) from github.com/appscode/voyager/pkg/operator/daemonsets.go:40
I0816 07:41:35.788116       7 reflector.go:236] Listing and watching *v1beta1.DaemonSet from github.com/appscode/voyager/pkg/operator/daemonsets.go:40
I0816 07:41:35.788273       7 reflector.go:198] Starting reflector *api.Ingress (2m0s) from github.com/appscode/voyager/pkg/operator/ingress_tprs.go:81
I0816 07:41:35.788315       7 reflector.go:236] Listing and watching *api.Ingress from github.com/appscode/voyager/pkg/operator/ingress_tprs.go:81
I0816 07:41:35.788395       7 reflector.go:198] Starting reflector *api.Certificate (2m0s) from github.com/appscode/voyager/pkg/operator/certificate_tprs.go:74
I0816 07:41:35.788432       7 reflector.go:236] Listing and watching *api.Certificate from github.com/appscode/voyager/pkg/operator/certificate_tprs.go:74
I0816 07:41:35.788530       7 reflector.go:198] Starting reflector *v1.Endpoints (2m0s) from github.com/appscode/voyager/pkg/operator/endpoints.go:60
I0816 07:41:35.788554       7 reflector.go:236] Listing and watching *v1.Endpoints from github.com/appscode/voyager/pkg/operator/endpoints.go:60
I0816 07:41:35.787673       7 reflector.go:236] Listing and watching *v1beta1.Deployment from github.com/appscode/voyager/pkg/operator/deployments.go:41
I0816 07:41:35.788669       7 reflector.go:198] Starting reflector *v1beta1.Ingress (2m0s) from github.com/appscode/voyager/pkg/operator/ingresses.go:103
I0816 07:41:35.788691       7 reflector.go:236] Listing and watching *v1beta1.Ingress from github.com/appscode/voyager/pkg/operator/ingresses.go:103
I0816 07:41:35.824257       7 services.go:40] Service accountissuingapi@default added
I0816 07:41:35.832038       7 ingress_tprs.go:40] voyager.appscode.com/v1beta1, Kind=Ingress testing-ing-wx@kube-system added
I0816 07:41:35.832065       7 ingress_tprs.go:42] voyager.appscode.com/v1beta1, Kind=Ingress testing-ing-wx@kube-system does not match ingress class
I0816 07:41:35.869772       7 ingress_tprs.go:63] voyager.appscode.com/v1beta1, Kind=Ingress testing-ing-wx@kube-system has unchanged spec and annotations
I0816 07:41:35.878703       7 endpoints.go:53] Skipping Endpoints kube-controller-manager@kube-system, as it has no matching service
I0816 07:41:35.879718       7 services.go:133] Updating All Ingress, got total 1
I0816 07:41:35.879769       7 services.go:40] Service kubernetes@default added
I0816 07:41:35.893177       7 endpoints.go:53] Skipping Endpoints kube-scheduler@kube-system, as it has no matching service
I0816 07:41:35.909133       7 services.go:133] Updating All Ingress, got total 1
I0816 07:41:35.909201       7 services.go:40] Service kube-dns@kube-system added
I0816 07:41:35.928969       7 services.go:133] Updating All Ingress, got total 1
I0816 07:41:35.929031       7 services.go:40] Service voyager-operator@kube-system added
I0816 07:41:35.949995       7 services.go:133] Updating All Ingress, got total 1
I0816 07:41:36.022855       7 servicemonitors.go:20] Skipping watching non-preferred GroupVersion:monitoring.coreos.com/v1alpha1 Kind:ServiceMonitor
I0816 07:43:35.788564       7 ingress_tprs.go:63] voyager.appscode.com/v1beta1, Kind=Ingress testing-ing-wx@kube-system has unchanged spec and annotations
I0816 07:45:21.387920       7 ingress_tprs.go:40] voyager.appscode.com/v1beta1, Kind=Ingress haproxy@default added
I0816 07:45:21.387989       7 ingress_tprs.go:42] voyager.appscode.com/v1beta1, Kind=Ingress haproxy@default does not match ingress class
I0816 07:45:35.789238       7 ingress_tprs.go:63] voyager.appscode.com/v1beta1, Kind=Ingress testing-ing-wx@kube-system has unchanged spec and annotations
I0816 07:45:35.789306       7 ingress_tprs.go:63] voyager.appscode.com/v1beta1, Kind=Ingress haproxy@default has unchanged spec and annotations
I0816 07:47:35.789525       7 ingress_tprs.go:63] voyager.appscode.com/v1beta1, Kind=Ingress testing-ing-wx@kube-system has unchanged spec and annotations
I0816 07:47:35.789613       7 ingress_tprs.go:63] voyager.appscode.com/v1beta1, Kind=Ingress haproxy@default has unchanged spec and annotations
I0816 07:49:35.789732       7 ingress_tprs.go:63] voyager.appscode.com/v1beta1, Kind=Ingress testing-ing-wx@kube-system has unchanged spec and annotations
I0816 07:49:35.789795       7 ingress_tprs.go:63] voyager.appscode.com/v1beta1, Kind=Ingress haproxy@default has unchanged spec and annotations
I0816 07:51:35.789806       7 ingress_tprs.go:63] voyager.appscode.com/v1beta1, Kind=Ingress testing-ing-wx@kube-system has unchanged spec and annotations
I0816 07:51:35.789884       7 ingress_tprs.go:63] voyager.appscode.com/v1beta1, Kind=Ingress haproxy@default has unchanged spec and annotations
I0816 07:53:35.789991       7 ingress_tprs.go:63] voyager.appscode.com/v1beta1, Kind=Ingress testing-ing-wx@kube-system has unchanged spec and annotations
I0816 07:53:35.790047       7 ingress_tprs.go:63] voyager.appscode.com/v1beta1, Kind=Ingress haproxy@default has unchanged spec and annotations
I0816 07:55:35.790207       7 ingress_tprs.go:63] voyager.appscode.com/v1beta1, Kind=Ingress testing-ing-wx@kube-system has unchanged spec and annotations
I0816 07:55:35.790327       7 ingress_tprs.go:63] voyager.appscode.com/v1beta1, Kind=Ingress haproxy@default has unchanged spec and annotations
I0816 07:57:35.790575       7 ingress_tprs.go:63] voyager.appscode.com/v1beta1, Kind=Ingress testing-ing-wx@kube-system has unchanged spec and annotations
I0816 07:57:35.790640       7 ingress_tprs.go:63] voyager.appscode.com/v1beta1, Kind=Ingress haproxy@default has unchanged spec and annotations

Hmm. Just to reconfirm, I am assuming that you have setup Voyager using  https://github.com/appscode/voyager/blob/master/hack/deploy/with-rbac.yaml#L108 .
The logs above look ok to me. You can create the log level by setting the --v=5 . If that looks clean, you can increase it to --v=8. That will dump Kubernetes api calls. Though the logs will be too verbose at that point.
Also, which cloud provider are you using? Btw, we are available in our slack channel,  https://slack.appscode.com/ to chat if you want to take a look.

Hi, I see the problem. You did not set the value for the flags:

--cloud-config="$CLOUD_CONFIG"
--cloud-provider="$CLOUD_PROVIDER"
--ingress-class="$INGRESS_CLASS"

These flags are dependent on cloud provider. You can see examples values for various cloud providers here: https://github.com/appscode/voyager/tree/master/hack/deploy

Please reopen, if you are still having this issue.

Thanks that was it. We just forgot to delete this .... #need to salt this asap


limitation: memory: using virtiofs ksm will not help to debug memory

Description of problem
When virtiofs is used the guest's memory is marked as shared memory.  This prevents ksm can try to merge pages.
MADV_MERGEABLE (since Linux 2.6.32)
              Enable Kernel Samepage Merging (KSM) for the pages in the
              range specified by addr and length.  The kernel regularly
              scans those areas of user memory that have been marked as
              mergeable, looking for pages with identical content.  These
              are replaced by a single write-protected page (which is
              automatically copied if a process later wants to update the
              content of the page).  KSM merges only private anonymous pages
              (see mmap(2)).

Hello @jcvenegas @bergwolf , I have found this issue half a year ago and talked with virtio-fs guys, see https://gitlab.com/virtio-fs/qemu/-/issues/16.
For now, I worry about another thing. kata need set all its memory page to be shared to communicate with virtiofsd which may lead to secure issue. Think about that lots of kata run on a machine, occupy all its memory and set it all to be shared. Attackers may somehow touch these shared pages and do something evil.
I'm not sure if I suffer from imaginary fears, but at least raise a warning.

This issue is being automatically closed as Kata Containers 1.x has now reached EOL (End of Life). This means it is no longer being maintained.

Important:
All users should switch to the latest Kata Containers 2.x release to ensure they are using a maintained release that contains the latest security fixes, performance improvements and new features.

This decision was discussed by the @kata-containers/architecture-committee and has been announced via the Kata Containers mailing list:

http://lists.katacontainers.io/pipermail/kata-dev/2020-November/001601.html
http://lists.katacontainers.io/pipermail/kata-dev/2021-April/001843.html
http://lists.katacontainers.io/pipermail/kata-dev/2021-May/001896.html

If you believe this issue still applies to Kata Containers 2.x, please open an issue against the Kata Containers 2.x repository, pointing to this one, providing details to allow us to migrate it.


Update the error burst alert runbooks

Updated the alert runbooks related to error burst alerts, to indicate the burst in ongoing for the last 5 minutes and perhaps event more.

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Fixes: https://issues.redhat.com/browse/CNV-38540
Special notes for your reviewer:
Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note:

NONE

@machadovilaca @assafad please review

I could see we use 5m twice in those alerts definitions, and I'm trying to understand what it means, please correct me if I'm wrong:

In the alert expression - IIUC, the condition is met if within the past 5m at least 80% of the requests have failed.
in the For: - IIUC, this means the alert starts firing if the expression is constantly met for 5m (and before that the alert is pending).

If the above is true, it means that once such an alert is firing, there is 80% errors for at least 10 minutes.

I could see we use 5m twice in those alerts definitions, and I'm trying to understand what it means, please correct me if I'm wrong:

In the alert expression - this means the condition is met if within the past 5m at least 80% of the requests have failed.
in the For: - this means the alert starts firing if the expression is constantly met for 5m (and before that the alert is pending).

If the above is true, it means that such alert is firing when there are 80% errors within at least 10 minutes.

@assafad correct. Thank you. Updated.

/lgtm


Fix edited icon in firefox (REDU-71)

Summary
This is a temporary fix to the edited icon in firefox (without affecting it in chrome). This is a bug in mattermost (specifically the mattermost compass-icons library). For whatever reason, firefox handles the letter-spacing property differently than chrome, which causes this bug. Removing letter-spacing on the icon seems to have no effect on chrome.
Ticket Link
REDU-71
Screenshots
Before:

After:

Checklist

[x] Ran make check-style to check for style errors (required for all pull requests)
[x] Ran make test to ensure unit and component tests passed

Jordan any chance you can add before and after screenshots? I think it would help us in the future if we're not sure what this was about.

Jordan any chance you can add before and after screenshots? I think it would help us in the future if we're not sure what this was about.

Sure, I updated the description


Restructure of SpectroscopyProperties

@markus1978 I saw that this parser contains some population of results. As I am currently working on Spectra from computations (https://gitlab.mpcdf.mpg.de/nomad-lab/nomad-FAIR/-/merge_requests/1316), can I move the normalization here to the proper ResultsNormalizer, hence merging some Area B and Area C stuff?
I plan on working on the Spectroscopy properties visualizers, so it is able to allocate different provenances and show this properly.
If you are ok then, I think the 1008 should be merge into master, and the ref in gitlab be updated. I can handle updating the reference at the same time I do the changes.

There are currently no rules for the normalization. If you think it makes sense to centralize in the result normalizer, you can go ahead. But there will be some restructuring of the normalzation in the near future.

Ok, as this is a minor thing I guess it will not be a problem.
What about merging 1008 into master?

Well, now that I think maybe it makes sense to move it to the repo database, or merge them together.


preprocessed datasets are missing file points3D_withlidar.txt

in waymo_8398516118967750070_3958_000_3978_000/8398516118967750070_3958_000_3978_000/colmap/sparse/0 there is no points3D_withlidar.txt file. The same is true for the three other preprocessed datasets.
This results in the following traceback when trying to train with bash scripts/shells/train.sh waymo_8398516118967750070_3958_000_3978_000/8398516118967750070_3958_000_3978_000 0:
Traceback (most recent call last):
  File "/home/marcus/miniconda3/envs/street-gaussians-ns/bin/sgn-train", line 8, in <module>
    sys.exit(entrypoint())
  File "/home/marcus/miniconda3/envs/street-gaussians-ns/lib/python3.8/site-packages/nerfstudio/scripts/train.py", line 262, in entrypoint
    main(
  File "/home/marcus/miniconda3/envs/street-gaussians-ns/lib/python3.8/site-packages/nerfstudio/scripts/train.py", line 247, in main
    launch(
  File "/home/marcus/miniconda3/envs/street-gaussians-ns/lib/python3.8/site-packages/nerfstudio/scripts/train.py", line 189, in launch
    main_func(local_rank=0, world_size=world_size, config=config)
  File "/home/marcus/miniconda3/envs/street-gaussians-ns/lib/python3.8/site-packages/nerfstudio/scripts/train.py", line 99, in train_loop
    trainer.setup()
  File "/home/marcus/miniconda3/envs/street-gaussians-ns/lib/python3.8/site-packages/nerfstudio/engine/trainer.py", line 149, in setup
    self.pipeline = self.config.pipeline.setup(
  File "/home/marcus/miniconda3/envs/street-gaussians-ns/lib/python3.8/site-packages/nerfstudio/configs/base_config.py", line 54, in setup
    return self._target(self, **kwargs)
  File "/home/marcus/miniconda3/envs/street-gaussians-ns/lib/python3.8/site-packages/nerfstudio/pipelines/base_pipeline.py", line 254, in __init__
    self.datamanager: DataManager = config.datamanager.setup(
  File "/home/marcus/miniconda3/envs/street-gaussians-ns/lib/python3.8/site-packages/nerfstudio/configs/base_config.py", line 54, in setup
    return self._target(self, **kwargs)
  File "/media/marcus/data/marcus_data/street-gaussians-ns/street_gaussians_ns/data/sgn_datamanager.py", line 100, in __init__
    self.train_dataparser_outputs: DataparserOutputs = self.dataparser.get_dataparser_outputs(split="train")
  File "/home/marcus/miniconda3/envs/street-gaussians-ns/lib/python3.8/site-packages/nerfstudio/data/dataparsers/base_dataparser.py", line 165, in get_dataparser_outputs
    dataparser_outputs = self._generate_dataparser_outputs(split, **kwargs)
  File "/media/marcus/data/marcus_data/street-gaussians-ns/street_gaussians_ns/data/sgn_dataparser.py", line 444, in _generate_dataparser_outputs
    metadata.update(self._load_3D_points(colmap_path, transform_matrix, scale_factor))
  File "/media/marcus/data/marcus_data/street-gaussians-ns/street_gaussians_ns/data/sgn_dataparser.py", line 478, in _load_3D_points
    assert points_filepath.exists()
AssertionError

I got past the error by editing scripts/shells/train.sh argument init_points_filename from points3D_withlidar.txt to points3D.bin, but not sure if that file has lidar information.
Not sure if my change will work, because I get another error TypeError: project_gaussians() missing 1 required positional argument: 'tile_bounds', see issue #52

Hello, I have encountered the same issue. Have you managed to solve it? How should I go about resolving this problem?
TypeError: project_gaussians() missing 1 required positional argument: 'tile_bounds'


Roll Flutter Engine from 525bd7dcf7f3 to daf139b27125 (8 revisions)

https://github.com/flutter/engine/compare/525bd7dcf7f3...daf139b27125
2024-01-26<EMAIL_ADDRESS>Roll Skia from e24124912cc3 to c32aa37effcc (1 revision) (flutter/engine#50094)
2024-01-26<EMAIL_ADDRESS>[web] Do not wipe the PlatformViewManager when disposing of a view. (flutter/engine#49991)
2024-01-26<EMAIL_ADDRESS>Finish landing missing/incorrect header guards across flutter/engine (flutter/engine#50069)
2024-01-26<EMAIL_ADDRESS>Roll Skia from 32f6bff0f193 to e24124912cc3 (2 revisions) (flutter/engine#50093)
2024-01-26<EMAIL_ADDRESS>Roll Skia from cbdf09d69efc to 32f6bff0f193 (3 revisions) (flutter/engine#50092)
2024-01-26<EMAIL_ADDRESS>Roll Dart SDK from 5636e338e0b9 to 7337995bc851 (1 revision) (flutter/engine#50087)
2024-01-26<EMAIL_ADDRESS>Fix Shell::Screenshot for Impeller (flutter/engine#50072)
2024-01-26<EMAIL_ADDRESS>Roll Skia from ae73baacb793 to cbdf09d69efc (1 revision) (flutter/engine#50085)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jacksongardner@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Samples Project Cloud-Function-Aws Created Zip Causes an Error in Custom Runtime on Amazon Linux 2

Hello.
I tried to run the, cloud-function-aws-0.0.1-SNAPSHOT-java-zip.zip, that you get from following the README.md file in:
https://github.com/spring-projects-experimental/spring-native/tree/main/samples/cloud-function-aws
however after testing the lambda with this zip file in AWS Console I get the following error:

Execution result: failed Details:
{
"errorMessage": "RequestId: 449e3583-f8f5-4489-b727-5f2f8c70e806 Error: Runtime exited with error: exit status 127",
"errorType": "Runtime.ExitError"
}
LOG OUTPUT:
START RequestId: 449e3583-f8f5-4489-b727-5f2f8c70e806 Version: $LATEST
/var/task/bootstrap: line 5: java: command not found
/var/task/bootstrap: line 5: java: command not found
END RequestId: 449e3583-f8f5-4489-b727-5f2f8c70e806
REPORT RequestId: 449e3583-f8f5-4489-b727-5f2f8c70e806	Duration: 10.92 ms	Billed Duration: 11 ms	Memory Size: 512 MB	Max Memory Used: 8 MB
RequestId: 449e3583-f8f5-4489-b727-5f2f8c70e806 Error: Runtime exited with error: exit status 127
Runtime.ExitError

Have I missed something here or does the sample need some kind of update?
Many Thanks!

@dsyer Could you please provide a feedback on this one?

I think you just picked the wrong zip file. You need to build with the "native-image" profile and use the zip file from the target dir (cloud-function-aws-0.0.1-SNAPSHOT-native-zip.zip). There is a misprint in the README (wrong profile name), so that might be the problem. We can fix that.

Thank you for the fix in the POM. It appears that the "java command not found error" no longer occurs, however when I used the new ZIP file I instead got the following error in the AWS Console:
Execution result: failed Details:
{
"errorMessage": "RequestId: d352be6c-d954-471a-8833-b9144c99d667 Error: Runtime exited with error: exit status 126",
"errorType": "Runtime.ExitError"
}
Log output:
START RequestId: d352be6c-d954-471a-8833-b9144c99d667 Version: $LATEST
/var/task/bootstrap: ./cloud-function-aws: /home/linuxbrew/.linuxbrew/lib/ld.so: bad ELF interpreter: No such file or directory
/var/task/bootstrap: ./cloud-function-aws: /home/linuxbrew/.linuxbrew/lib/ld.so: bad ELF interpreter: No such file or directory
END RequestId: d352be6c-d954-471a-8833-b9144c99d667
REPORT RequestId: d352be6c-d954-471a-8833-b9144c99d667	Duration: 2.88 ms	Billed Duration: 3 ms	Memory Size: 512 MB	Max Memory Used: 7 MB
RequestId: d352be6c-d954-471a-8833-b9144c99d667 Error: Runtime exited with error: exit status 126
Runtime.ExitError
Might it be that the executable binary in the ZIP file is not compatible with Amazon Linux 2?

It would be compatible if you built it on Linux, or in a Linux container. We publish suitable containers (see docs for more details) if you need one.


[Identity] Quality improvements

Here’s a list of quality improvements I’d like to do on Identity:

Easy cleanups, naming and placement:

[x] Think through the private names and re-evaluate improving them. Like the file structure in the MSAL folder. I’m sure some things can feel better if they have a better name. (PR)
[ ] Go through the available tests and ensure they are ordered correctly. Ensure their names are meaningful, and add comments if needed.
[ ] Re-review the manual tests and improve their code / comments / docs.
[x] Cleanup the folder structure on the manual samples and manual tests. (PR)

Concrete changes with net benefits:

[ ] In a new test file (just one, if possible/if comfortable) write mocked code to trigger all of the known errors the Identity library has, including comments on why these errors may occur. This will both help us keep track of what error cases we have over time, but also will help us see all of our expected errors in a single place (which will make it easier to debug customer issues, write troubleshooting guidelines and see how to improve all of the errors together as a whole, by comparing them to one another.)

Potential improvements:

[ ] Credentials and MSIs are rather similar. In the simplest case, they represent one network request to an endpoint. They also can have synchronous and asynchronous steps to prepare the authentication, they can have a caching policy, a retry policy, and they may or may not use MSAL underneath. In more concrete terms, I feel there’s away to implement the MSAL “flows”, the non-MSAL credentials and the MSIs (Managed Identity Credential scenarios) through a common set of types in a way that it will make it even easier to implement and debug any of those in the future.

Concrete changes ordered by impact:
Here’s a list of quality improvements I’d like to do on Identity:

Task
Impact level
Impact
Cost
Done

Simplify the HTTP request mock for Node and the Browser.
High
Easier to debug tests.
2
No

Run browser tests using CasperJS.
High
Enables browser testing from node, including navigation. Azure’s interactive login can be mocked.
8
No

Write tests to verify the debugging of DefaultAzureCredential
Medium
Goes through the review of the debugging capabilities of DefaultAzureCredential and ensures this experience doesn’t deteriorate over time.
3
No

Write tests to verify the debugging of ManagedIdentityCredential
Medium
Goes through the review of the debugging capabilities of ManagedIdentityCredential  and ensures this experience doesn’t deteriorate over time.
3
No

Fix grammar on the test names.
Low
Easier to debug tests.
2
No

Note
I’m going to drop this one. I think I should revisit it after we do the deliverables of October 2022:

Credentials and MSIs are rather similar. In the simplest case, they represent one network request to an endpoint. They also can have synchronous and asynchronous steps to prepare the authentication, they can have a caching policy, a retry policy, and they may or may not use MSAL underneath. In more concrete terms, I feel there’s away to implement the MSAL “flows”, the non-MSAL credentials and the MSIs (Managed Identity Credential scenarios) through a common set of types in a way that it will make it even easier to implement and debug any of those in the future.

Closing on favor of these new issues:

https://github.com/Azure/azure-sdk-for-js/issues/19420 (February Milestone)
https://github.com/Azure/azure-sdk-for-js/issues/19421 (Backlog)
https://github.com/Azure/azure-sdk-for-js/issues/19422 (Backlog)