[SPARK-37672][SQL] Support ANSI Aggregate Function: regr_sxx

What changes were proposed in this pull request?
This PR used to support ANSI aggregate Function: regr_sxx
The mainstream database supports regr_sxx show below:
Teradata
https://docs.teradata.com/r/kmuOwjp1zEYg98JsB8fu_A/PBEW1OPIaxqkIf3CJfIr6A
Snowflake
https://docs.snowflake.com/en/sql-reference/functions/regr_sxx.html
Oracle
https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/REGR_-Linear-Regression-Functions.html#GUID-A675B68F-2A88-4843-BE2C-FCDE9C65F9A9
DB2
https://www.ibm.com/docs/en/db2/11.5?topic=af-regression-functions-regr-avgx-regr-avgy-regr-count
H2
http://www.h2database.com/html/functions-aggregate.html#regr_sxx
Postgresql
https://www.postgresql.org/docs/8.4/functions-aggregate.html
Sybase
https://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.sqlanywhere.12.0.0/dbreference/regr-sxx-function.html
Exasol
https://docs.exasol.com/sql_references/functions/alphabeticallistfunctions/regr_function.htm
Why are the changes needed?
regr_sxx is very useful.
Does this PR introduce any user-facing change?
'Yes'. New feature.
How was this patch tested?
New tests.

Test build #146353 has started for PR 34943 at commit d32c28a.

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

Test build #146353 has finished for PR 34943 at commit d32c28a.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class RegrSXX(left: Expression, right: Expression)

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

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

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

Test build #146371 has started for PR 34943 at commit 0d68f63.

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

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

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

Test build #146371 has finished for PR 34943 at commit 0d68f63.

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

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

Test build #146388 has started for PR 34943 at commit 8c4e86f.

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

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

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

Test build #146388 has finished for PR 34943 at commit 8c4e86f.

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

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

ping @cloud-fan

The test build: https://github.com/beliefer/spark/actions/runs/2182859111

thanks, merging to master!

@cloud-fan Thank you very much!


Host Live site

Host live site of the latest code.
Host Site on Netlify or Firebase.

I will work on this and will post a link to the live site in the Readme


Innapropriate self-referenced import error

The following proto generates an error (com/example/v1alpha1/example.proto):
syntax = "proto3";

package com.example.v1alpha1;

message Foo {
}

message GetFooRequest {
    Foo foo = 1;
}

2019/06/23 13:54:44 proto: reference to type com.example.v1alpha1.Foo without import of com/example/v1alpha1/example.proto

I think this is coming from protodesc.NewFile or newDescrptorSource:
// NewProtoRequest creates a linting Request for a .proto file.
func NewProtoRequest(fd *descriptorpb.FileDescriptorProto, reg *protoregistry.Files) (Request, error) {
	f, err := protodesc.NewFile(fd, reg)
	if err != nil {
		return Request{}, err
	}
	s, err := newDescriptorSource(fd)
	return Request{
		fileDesc:   f,
		descSource: s,
	}, err
}

Any ideas?
Maybe version of go.googlesource.com/protobuf is about a month behind master?

Thank you for reporting this issue!!! PR #97 should address this issue, and indeed protobuf (V2) was outdated.

We need to add more tests to catch similar issues.


Added @see inline example

The existing documentation doesn't indicate that @see may be used inline.

Thanks for the addition! I have merged it and will backport it to master as well


Removed "if" on resolving text color at "SnackBarAction"

Removed multiple "if" for "resolveForegroundColor" method at "SnackBarAction". At least one of the multiple "if" ("defaults.actionTextColor is MaterialStateColor") led to not applying a custom set color (e.g. MaterialColor "Colors.red") for the action text when using Material 3.
The second "if" ("snackBarTheme.actionTextColor is MaterialStateColor") also makes no sense then as the set color of the Theme would lead to the same blocking behaviour of manual color assignment.
The last remaining "if" ("widget.textColor is MaterialStateColor") will be unnecessary if the other "if" will be removed, as it will be resolved in the code right afterwards.
The three "if" also seems to block the usage of the custom text color or the color at all if the widget is in the "MaterialState.disabled" state.
This PR resolves following issue:

flutter/flutter/issues/120047

Hi folks - thanks to @bashor4life for discovering the issue and @MarchMore for taking it on.
There's certainly a bug here in the current implementation; the issue in the example is being caused, as you discovered, by the following chain of events:

User sets an action.textColor value (e.g: Colors.red)
resolveForegroundColor() checks if widget.textColor is a MaterialStateColor; it isn't, so we continue
resolveForegroundColor() checks if snackBarTheme.actionTextColor is a MaterialStateColor; in Material 3 defaults it is, so the function returns here and resolves the color as Material 3 defaults - purple, in this case.

Your solution fixes the issue for action.textColor as a Color value, but prevents folks from setting it to a MaterialStateColor value. You can test this by setting action.textColor to the MyColor() example in the bug.
I think a full solution will involve some more conditions in resolveForegroundColor(); perhaps checking if any value has been set for textColor, resolving it as either a Color or MaterialStateColor, then doing the same for snackBarTheme.actionTextColor and defaults.actionTextColor.
If you'd like to continue working on this, I'm more than happy to comment/review. I can also take on the bug if you would prefer to pass it on. Thanks again!

Hi @esouthren, thanks for your information - I've updated my PR!
Now the three color properties are checked in the correct order.
If one of them is set, it will be taken (if it is a MaterialStateColor). If it is not a MaterialStateColor, the standard resolution is done (and so the property with the higher priority is taken anyways).
This fixes the issue that the "default color" wins if the other 2 properties are not from type "MaterialStateColor".
The changes also enables the advatages of potential "MaterialStateColor" colors if set.

The issue is still there in  Flutter (Channel stable, 3.7.7). It is by default taking value of inversePrimary from colorScheme, and not getting overridden by either actionTextColor in Theme or textColor in the SnackBarAction widget itself.

The issue is still there in Flutter (Channel stable, 3.7.7). It is by default taking value of inversePrimary from colorScheme, and not getting overridden by either actionTextColor in Theme or textColor in the SnackBarAction widget itself.

Giving value of color like this in both theme and widget worked.
textColor: MaterialStateColor.resolveWith((states) => Colors.red),


Make blame queries nonblocking.

Previously blame queries were done blocking the connection thread, this
caused a big hit in performance when blaming a lot of connections. Now
get_applications and vuln_notify are async and take callbacks. Currently
connections still block until the blame info has come back(but not the
thread).
Also remove the threading in server/blame server. Since everything is
select based move to a single select loop over all the sockets we care
about (nogotofail.mitm.looper.Looper).
Because of the timing of blaming and handler events some events may be
called before the blame result comes back. Currently we block actually
using the connection until the blame result comes back so on_establish
and everything after that has the blame info. on_select no longer does
however.
Currently the blame client is only queried at the start of a connection,
so if the client shows up after the connection starts it wont get
blamed. Will fix this regression in a follow up commit.
Fixes #40

Been testing it over the holidays and haven't seen any issue, merging.

ابوحذيفه البشري would like to connect on LinkedIn. How would you like to respond?
Accept: https://www.linkedin.com/blink?simpleRedirect=0Md30Rdj8PdzgPdjkRcP4SdjARfkh9rCZFt65QqnpKqipAgDkJekNiqPRVpkJApn9xq7cCej5vs7xBnTpKqjRHpipOpmhKqmRBsyRQs6lzoS4JoyRDtCVFnSRJrScJr6RBfmtKqmJzon9Q9ClQqnpKimtBkClOs3Rx9zAPbnpCdSNSrzhFbmpytSQTtzRBfP9SbSkLrmZzbCVFp6lHrCBIbDtTtOYLeDdMt7hE&msgID=I5956135568780853248_500&markAsRead=
View ابوحذيفه البشري's profile: https://www.linkedin.com/blink?simpleRedirect=ej5vs7xBnTpKqjRHpipOpmhKqmRBsyRQs6lzoS4JoyRDtCVFnSRJrScJr6RBfmtKqmJzon9Q9DpMrzRQ9zAPbnpCdSNSrzhFbmpytSQTtzRBfP9SbSkLrmZzbCVFp6lHrCBIbDtTtOYLeDdMt7hE&msgID=I5956135568780853248_500&markAsRead=
You are receiving Reminder emails for pending invitations. Unsubscribe here: https://www.linkedin.com/blink?simpleRedirect=1JrSd5cylytmxQqmt5cylVr71Bsz0Q9j5yoP0MczcMpmcVdz5xczAOdjAMdm8Mcj4Mc30Mc30MpCcOejgUoPgOcPcQojtzpzANej0SoC8NpC8OcScSczdApj5CdPxAoS4VoCpypC9yczAMc48O9nBIs6lOfmNFomRB9z0Sc30OfmhF9z0Qc3kRczcSd3cRdjkPcjoRejkZp6BD9zANnT1UplZSrCAZqSkCoDlPrDkJpyRzoClJnSRJrScJr6RBfmtKqmJzon9Q9CZLpPRQ9zAPbnpCdSNSrzhFbmpytSQTtzRBfP9SbSkLrmZzbCVFp6lHrCBIbDtTtOYLeDdMt7hE&msgID=I5956135568780853248_500&markAsRead=
You received an invitation to connect. LinkedIn will use your email address to make suggestions to our members in features like People You May Know. Unsubscribe here: https://www.linkedin.com/blink?simpleRedirect=0VcORSpztItCUQqiRCoDtJdToZp6BB9CFFcAJUoTB3qBpysRxHoP9VplxaukxfhCV7hQJyd6pelj1eu6Rih4QQrCpfrANHlQBLcmNbnSwUslxVjm5qhnBajmEMh7oMp6J8l38Nc4cVrAlLozoNhBFWkR5Dd5Z5eltpljBps3wOrQ5yh3BGtSVOrSxbjnt5jmxDhzh6biRehkpUd3hfh4ZpqC8NiP5Puz55jCMNk7dlsRp6bjx1tBBcq4Jztk9Or74UsmUJsTxNin9lgk51kmgNjjxAqkxglDh5kk4Zp6BLr2oVclZMu6lvtCVFfmJB9B4ScSh5hSxmhD9JhB51fmVBqSZkp6BJ9CVRr3RQ9zAPbnpCdSNSrzhFbmpytSQTtzRBfP9SbSkLrmZzbCVFp6lHrCBIbDtTtOYLeDdMt7hE&msgID=I5956135568780853248_500&markAsRead= Learn why we included this at the following link: https://www.linkedin.com/blink?simpleRedirect=0Ue3sQfmh9pmNzqnhOoioVclZMu6lvtCVFfmJB9CNOlmlzqnpOpldOpmRLt7dRoPRx9zAPbnpCdSNSrzhFbmpytSQTtzRBfP9SbSkLrmZzbCVFp6lHrCBIbDtTtOYLeDdMt7hE&msgID=I5956135568780853248_500&markAsRead=
© 2014, LinkedIn Corporation. 2029 Stierlin Ct. Mountain View, CA 94043, USA

ابوحذيفه البشري would like to connect on LinkedIn. How would you like to respond?
Accept: https://www.linkedin.com/blink?simpleRedirect=0Md30Rdj8PdzgPdjkRcP4SdjARfkh9rCZFt65QqnpKqipAgDkJekNiqPRVpkJApn9xq7cCej5vs7xBnTpKqjRHpipOpmhKqmRBsyRQs6lzoS4JoyRDtCVFnSRJrScJr6RBfmtKqmJzon9Q9ClQqnpKimtBkClOs3Rx9zASbm9Nu3xDtPhFbmpytSQTtzRBfP9SbSkLrmZzbCVFp6lHrCBIbDtTtOYLeDdMt7hE&msgID=I5956135568780853248_500&markAsRead=
View ابوحذيفه البشري's profile: https://www.linkedin.com/blink?simpleRedirect=ej5vs7xBnTpKqjRHpipOpmhKqmRBsyRQs6lzoS4JoyRDtCVFnSRJrScJr6RBfmtKqmJzon9Q9DpMrzRQ9zASbm9Nu3xDtPhFbmpytSQTtzRBfP9SbSkLrmZzbCVFp6lHrCBIbDtTtOYLeDdMt7hE&msgID=I5956135568780853248_500&markAsRead=
You are receiving Reminder emails for pending invitations. Unsubscribe here: https://www.linkedin.com/blink?simpleRedirect=1JrSd5cylytmxQqmt5cylVr71Bsz0Q9j5yoP0MczcMpmcVdz5xczAOdjAMdm8Mcj4Mc30Mc30MpCcOejgUoPgOcPcQojtzpzANej0SoC8NpC8OcScSczdApj5CdPxAoS4VoCpypC9yczAMc48O9nBIs6lOfmNFomRB9z0Sc30OfmhF9z0Qc3kRczcSd3cRdjkPcjoRejkZp6BD9zANnT1UplZSrCAZqSkCoDlPrDkJpyRzoClJnSRJrScJr6RBfmtKqmJzon9Q9CZLpPRQ9zASbm9Nu3xDtPhFbmpytSQTtzRBfP9SbSkLrmZzbCVFp6lHrCBIbDtTtOYLeDdMt7hE&msgID=I5956135568780853248_500&markAsRead=
You received an invitation to connect. LinkedIn will use your email address to make suggestions to our members in features like People You May Know. Unsubscribe here: https://www.linkedin.com/blink?simpleRedirect=0VdyRysnwUpTsQqiRCoDtJdToZp6BB9D5Jql99m4BahmYNrSpatzxWgA5MlSF8m5Z8rANpqSdnpQ5PgkBRiP17h4t3qA96lAB1k5hAc34Ni6tBh6pCi4RpqBthkRBnlkdBelp6qQtzk6dCi39vk6BdslgPlT4Jp3tcjBpfhk5nrnFhp6QTm4cMuD17oTkShjlvcAlKs4togDpqpQlUlDtpolFDl7gSlC9qemoNgSdEbllMj2RQd7BioBdUtzxep6dFlDFormxHrD9lgk51gl1kiDdkqQ9fjkl5kk4Zp6BLr2oVclZMu6lvtCVFfmJB9B4ScSh5hSxmhD9JhB51fmVBqSZkp6BJ9CVRr3RQ9zASbm9Nu3xDtPhFbmpytSQTtzRBfP9SbSkLrmZzbCVFp6lHrCBIbDtTtOYLeDdMt7hE&msgID=I5956135568780853248_500&markAsRead= Learn why we included this at the following link: https://www.linkedin.com/blink?simpleRedirect=0Ue3sQfmh9pmNzqnhOoioVclZMu6lvtCVFfmJB9CNOlmlzqnpOpldOpmRLt7dRoPRx9zASbm9Nu3xDtPhFbmpytSQTtzRBfP9SbSkLrmZzbCVFp6lHrCBIbDtTtOYLeDdMt7hE&msgID=I5956135568780853248_500&markAsRead=
© 2014, LinkedIn Corporation. 2029 Stierlin Ct. Mountain View, CA 94043, USA


feat: TLS field checks on XxxRoute

What this PR does / why we need it:

Which issue this PR fixes:
Fixes #2901

Special notes for your reviewer:

PR Readiness Checklist:
Complete these before marking the PR as ready to review:

[ ] the CHANGELOG.md release notes have been updated to reflect any significant (and particularly user-facing) changes introduced by this PR

reverting this PR to draft as there are upstream inconsistencies that need to be resolved (see #2901 for more details).


[New Port Request] Cinder

Library name: Cinder
Library description: Cinder is a library for 2d/3d graphics, computational geometry, and media i/o that is often used for graphical multimedia applications.
Source repository URL: https://github.com/cinder/cinder
Project homepage (if different from the source repository): https://libcinder.org/
Anything else that is useful to know when adding (such as optional features the library may have that should be included): None that I'm aware of at this time.

If you wish to add this port in the future, you can reopen this issue, but we're closing it for now.

No problem -- any particular reason / anything I could do to make it easier to port in the future?

For supporting new ports, we're happy to answer any questions we can to support this effort, but for now we prefer to support contributors as a mainainer than to take ownership ourselves, none of our core team is very familiar with cinder, we feel the contributors do a much better job than we could, so if you're failmilar with cinder, you can draft a PR, we're happy to review and accept the PR.


Add dismissProgress and hitThreshold to Dismissible Widget

Use case
Currently, the Dismissible widget has DismissThresholds, but no way of triggering eg. Haptic Feedback or an animation in the containers.
Proposal
Add properties/variable like dismissProgress or hitThreshold that either other widgets can work with or that can trigger functions, like haptic feedback or updating animation controllers.
Reasoning
Dismissibles can be a very powerful UI pattern, and the official widget should be a lot more powerful.

Hi @welfvh, can you give a little bit more detail as to how the properties you're requesting for would work and what their actual purpose may be?


fix naming convention

there is a warning reported in CVP check for 4.12
Warning: Value : (aws-efs-csi-driver-operator.4.12.0-202211081106) csv.metadata.Name aws-efs-csi-driver-operator.4.12.0-202211081106 is not following the recommended naming convention: <operator-name>.v<semver> e.g. memcached-operator.v0.
http://external-ci-coldstorage.datahub.redhat.com/cvp/cvp-redhat-operator-bundle-image-validation-test/ose-aws-efs-csi-driver-operator-bundle-container-v<IP_ADDRESS>211081106.p0.gcc89dfb.assembly.stream-1/f50f2262-fd52-45b2-9c30-5ef17893ef1b/operator-metadata-linting-bundle-image-output.txt
I think this could be a common issue, so pr against master can cherry-pick to 4.12 branch later.

/assign @gnufied
Can it break our upgrade path?
Does skipRange need to be updated too?

/lgtm
/approve

/label docs-approved
/label px-approved
/label qe-approved
(this needs to be tested post-merge)


Use a custom dialect to add MySQL full text search support

This will allow us to test the full text search support on H2 with backend-independent code. In addition, we don't need to check for support at runtime anymore by probing the current dialect.
Reference documentation: https://docs.jboss.org/hibernate/orm/5.6/userguide/html_single/Hibernate_User_Guide.html#hql-user-defined-functions
Note that overriding dialects might not be the best approach to this.

Ok, this can be done easily through a MetadataBuilderInitializer.


[Bug] Openshift - Database import doesn't work when the database is created by yaml.

Documentation

[x ] I acknowledge that I have read the relevant documentation.

Describe the bug

In mariadb-operator. After creating a mariadb.
Inside the mariadb I can execute create database test1; then mysql -u root -p test1 < dumpfromold.sql
This import works perfectly.
If the database is created with a yaml file with the create Database function in the gui, eg test2. Then executing: mysql -u root -p test2 < dumpfromold.sql hangs halfway completely.
Comparing the 2 databases all variables are the same.
Executing eg SHOW ENGINE INNODB STATUS\G gives a result:
---TRANSACTION 2367, ACTIVE 626 sec
mysql tables in use 1, locked 1
1 lock struct(s), heap size 1128, 0 row lock(s), undo log entries 155
MariaDB thread id 2491, OS thread handle<PHONE_NUMBER>26368, query id 17556 localhost root Waiting for certification
INSERT INTO `cg.....
....---TRANSACTION (0x7efe5d91ab80), not started
Expected behaviour

Importing the dump should work with databases created with the Create Database / yaml.
Steps to reproduce the bug

Create the dump from a database.
Create a database inside the mariadb with create database command.
Create a database with the gui function of the operator.
Import into the command created database.
Import into the yaml created database.

Operator is
ClusterServiceVersion
CSV
[mariadb-operator.v0.29.0]

Hey there @pKary86 !
The whole point of this operator is not performing manual commands inside the container. Instead we offer CRDs to deal with, backup, restore and create database:

https://github.com/mariadb-operator/mariadb-operator/blob/main/examples/manifests/backup.yaml
https://github.com/mariadb-operator/mariadb-operator/blob/main/examples/manifests/restore.yaml
https://github.com/mariadb-operator/mariadb-operator/blob/main/examples/manifests/database.yaml

I encourage you to give it a try! Cheers!

Yes. We have an old helm rolled out mariadb-galera cluster. That is not managed by an operator.
So I can't call
spec:
mariaDbRef:
name: mariadb
on it bc there is no mariadb resource for it.


PWD editor misses some bytes when opening a file

Following the Docker 101 tutorial, when the editor is used to make some changes to a file (app.js), it leaks some bytes at the end, so when the file is saved without noticing the issue, it become corrupted

thx for reporting this.

I can't seem to repro. Would you mind recording and share a quick video to double check? thx. cc @mikesir87

It is more evident if you make some change
El jue, 6 oct 2022 a las 10:56, Marcos Nils @.***>)
escribió:

I can't seem to repro. Would you mind recording and share a quick video to
double check? thx. cc @mikesir87 https://github.com/mikesir87
—
Reply to this email directly, view it on GitHub
https://github.com/play-with-docker/play-with-docker/issues/553#issuecomment-1270318963,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANYOQJOFIFUPN36BH6VCVIDWB3ZEVANCNFSM6AAAAAAQ6YETNE
.
You are receiving this because you authored the thread.Message ID:
@.***>

I've tried doing multiple changes and still could not repro
sent from mobile
Em qui., 6 de out. de 2022 13:53, AndresFelipeVA @.***>
escreveu:

It is more evident if you make some change
El jue, 6 oct 2022 a las 10:56, Marcos Nils @.***>)
escribió:

I can't seem to repro. Would you mind recording and share a quick video
to
double check? thx. cc @mikesir87 https://github.com/mikesir87
—
Reply to this email directly, view it on GitHub
<
https://github.com/play-with-docker/play-with-docker/issues/553#issuecomment-1270318963
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/ANYOQJOFIFUPN36BH6VCVIDWB3ZEVANCNFSM6AAAAAAQ6YETNE
.
You are receiving this because you authored the thread.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub
https://github.com/play-with-docker/play-with-docker/issues/553#issuecomment-1270405586,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMBLWSNCRSRVPYHF3BYRMLWB37Y5ANCNFSM6AAAAAAQ6YETNE
.
You are receiving this because you commented.Message ID:
@.***>

😐....In the attached image I show you the end of the file (packaje.json)
on the command line and open it in the editor without making any changes,
but you can see a bracket that is missing.
In the video I made some changes and progressively more characters are lost
El jue, 6 oct 2022 a las 12:04, Marcos Nils @.***>)
escribió:

I've tried doing multiple changes and still could not repro
sent from mobile
Em qui., 6 de out. de 2022 13:53, AndresFelipeVA @.***>
escreveu:

It is more evident if you make some change
El jue, 6 oct 2022 a las 10:56, Marcos Nils @.***>)
escribió:

I can't seem to repro. Would you mind recording and share a quick video
to
double check? thx. cc @mikesir87 https://github.com/mikesir87
—
Reply to this email directly, view it on GitHub
<

https://github.com/play-with-docker/play-with-docker/issues/553#issuecomment-1270318963

,
or unsubscribe
<

https://github.com/notifications/unsubscribe-auth/ANYOQJOFIFUPN36BH6VCVIDWB3ZEVANCNFSM6AAAAAAQ6YETNE

.
You are receiving this because you authored the thread.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub
<
https://github.com/play-with-docker/play-with-docker/issues/553#issuecomment-1270405586
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AAMBLWSNCRSRVPYHF3BYRMLWB37Y5ANCNFSM6AAAAAAQ6YETNE
.
You are receiving this because you commented.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub
https://github.com/play-with-docker/play-with-docker/issues/553#issuecomment-1270417499,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANYOQJMY2ZANWL5GRWLYL4LWB4BBZANCNFSM6AAAAAAQ6YETNE
.
You are receiving this because you authored the thread.Message ID:
@.***>

In the attached image I show you the end of the file (packaje.json) on the command line and open it in the editor without making any changes, but you can see a bracket that is missing. In the video I made some changes and progressively more characters are lost

I don't see any attachments?

Sorry, it was my mistake, I was replying from the email and the attachments did not load here
https://user-images.githubusercontent.com/57731109/194381803-2f799c67-26aa-4a62-a293-49aac90311b0.mp4

Np. looking forward for the video :pray:

https://user-images.githubusercontent.com/57731109/194383572-3db52ae8-9788-4736-a1f7-f33bdb6be9f6.mp4

I see what you mean now, it also happens to me. I'll take a look :eyes:

Found and fixed the issue, deploy coming soon. Thx again for reporting

deployed and fixed upstream :raised_hands:


LookupError: No gradient defined for operation type: ResizeNearestNeighborGrad or ResizeBilinearGrad

System information:

OS Platform and Distribution: Linux Ubuntu 16.04
TensorFlow installed from (source or binary):binary
TensorFlow version:1.10.0
Python version:2.7.x
CUDA/cuDNN version:9.0.x
Have I written custom code (as opposed to using a stock example script provided in TensorFlow):Nope
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:N/
Bazel version (if compiling from source): N/A
GCC/Compiler version (if compiling from source):N/A
GPU model and memory: Geforce 940mx
Exact command to reproduce: N/A

Describe the problem
I want to the gradient of any of these image resizing operations inside the neural network. But seems to be any of these does not define the gradient ops for them. I see there is a similar issue  which has not been answered yet. I also asked in the SO but still, I did not get an answer for this.
Source code / logs
	differences = tf.subtract(images_fake, images_real)
	alpha_shape = [params.batch_size] + [1] * (differences.shape.ndims - 1)
	alpha = tf.random_uniform(shape=alpha_shape, minval=0., maxval=1.)
	interpolates = images_real + (alpha * differences)
	d_model = Model(params, args.mode, interpolates, reuse_variables, images_fake, 1)
	gradients = tf.gradients(d_model.logistic_linear, [interpolates])[0]
	slopes = tf.sqrt(tf.reduce_sum(tf.square(gradients), reduction_indices=[1]))
	gradient_penalty = tf.reduce_mean((slopes - 1.) ** 2)
	_gradient_penalty = 10 * gradient_penalty

Inside my model, it uses  tf.image.resize_bicubic(). But I see there are some exisiting implementation for this. But not sure how those things get it them working. Please let me know how this can be achieved. These image resizing cannot be done as preprocessing it needs to be done inside a model. Any help would be really appreciated.

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Have I written custom code
Bazel version
GPU model and memory
Exact command to reproduce
Mobile device

Any update on this

I think the patch 3331c574b will be released with r1.11. Would you mind taking a try on

1.11-rc: pip install tensorflow==1.11.0rc0
or nightly version: pip install tf-nightly

yeap, I will try and let you know. Thanks

@GPrathap Hi, any update if you tried ?

Sorry for the late reply, I was on my vacation.
Still I am getting this error.
LookupError: No gradient defined for operation 'discriminator/gradients/discriminator/decoder/ResizeBilinear_grad/ResizeBilinearGrad' (op type: ResizeBilinearGrad)
I installed pip install tensorflow-gpu==1.11.0rc0

Could you provide a minimal example?

As I explained in the above, to find the total loss I calculate the gradient of the model. When the model is going through backpropagation stage it is trying to calculate the gradient of gradient where this error comes from. I guess in the tensorflow gradient of the gradient is not defined for these image resizing operations. That is why I am getting this error. I guess you can close this issue because I might try to calculate the loss in a different way where it is not required to calculate the gradient of  gradient.
Thanks

Yes, ResizeBilinearGradGrad is missing, unfortunately. I think contribution is welcome if you'd like to implement it.

@GPrathap how did you fix it?

Nope, I haven't fixed it, I changed the loss function

@GPrathap can you provide the loss function that you did? I want to implement WGAN-GP loss and I have the same problem

You may find it here, I am not sure which will help you or not.
https://github.com/GPrathap/monodepth/blob/master/monodepth_main_new_loss.py#L222
https://github.com/GPrathap/monodepth/blob/master/monodepth_model_gan.py#L381
Just have a look :)

Contributions welcome!

Has there been any progress in this issue? If someone has implemented or knows how to implement this, can you post it here please?

Hi, I may be wrong but I'm quite confident that second derivative of a linear op should be zero (None).
I checked this numerically by looking at the output of the gradient of tf.image.resize (or keras UpSampling2D ) vs changing its input and I found out (as expected) that the output depends only on resize factor. So as a quick fix I used:
@tf.RegisterGradient("ResizeBilinearGrad") def _ResizeBilinearGrad_grad(unused_op, grad):     return None,None
Can someone confirm my thoughts?

@gtanzi . I too think that the second gradient is zero So you can return None w.r.t the original image. But is it correct to return None for the second argument as well?

@SNMS95 I'm not sure becasue I'm still confused about what exactly needs a definition (i.e. the second order gradient of op Vs the "the first order gradient of grad_fn with respect to dy " here) If I understood correctly from here , for an op with m inputs and n outputs, the gradient function should return m objects. The first derivative of op defined here returns [something,None] so I guess op takes two imputs but only use one? I've never dealt with custom gradient before

@gtanzi
I found that the gradient function for the ‘ResizeBilinearGrad’ op is not implemented in Tensorflow and that this is causing the said error. Also,custom gradients for nonexistant ops can be registered using @tf.RegisterGradient(“ResizeBilinearGrad”), but I don’t know what exactly it should return. The required gradient function should have the form as given below:
@tf.RegisterGradient(“ResizeBilinearGrad”)
def _ResizeBilinearGradGrad(op, grad):
return (A,B)
Where,
grad - gradients w.r.t to the outputs of ResizeBilinearGrad op
op - ‘ResizeBilinearGrad’
A - gradients w.r.t first input to the op
B - gradients w.r.t input image
The inputs to the ‘ResizeBilinearGrad’ op are:
A - gradients calculated till that point (Not sure!!)
B - the original input image

@SNMS95
After some thoughts on your comments I now think my first naive answer was completely wrong. The main reason being that tf is not asking the second derivative of ResizeBilinear, but rather the first derivative of ResizeBilinearGrad with respect to its inputs ( from which it can later perform second order derivative with chain rule).
The upscaling op should take an image X with shape   and return a scaled image Y with shape (i x j) like:

where the c coefficients (in bilinear interp) do not depend on X but only on the scaling factors.
Now, as you suggest,  ResizeBilinearGrad inputs are indeed:

G1 - gradients calculated till that point of shape (ixj) (-> I too think it's right looking at the code)
X - the original input image

i.e.
ResizeBilinearGrad( ,X):
   return:
and ResizeBilinearGradGrad ( op= ResizeBilinearGrad , grad=G2):
   return:[A,B]
I believe ResizeBilinearGrad uses X only to determine the output shape (? I'm not sure why ResizeBilinearGrad needs X), I assume the second outputs of _ResizeBilinearGradGrad must be None.
However this is not true for the first output (as I wrongly suggest before) and should be (including the backprop of grad G2):

Which is just the upscaling of G2.
Sooo my second guess is:
@tf.RegisterGradient("ResizeBilinearGrad")
def _ResizeBilinearGrad_grad(op, grad):
    up = tf.image.resize(grad,tf.shape(op.inputs[0])[1:-1])
    return up,None

I did perform a simple test:
import tensorflow as tf
import numpy as np
@tf.RegisterGradient("ResizeBilinearGrad")
def _ResizeBilinearGrad_grad(op, grad):
    up = tf.image.resize(grad,tf.shape(op.inputs[0])[1:-1])
    return up,None

a = np.zeros((1, 2, 2, 1), dtype=np.float32)
a[0, 0, 0, 0] = 2.0

x = tf.constant(a)
up=  tf.keras.layers.UpSampling2D((2,2), data_format='channels_last', interpolation='bilinear')
with tf.GradientTape() as g_tape:
    g_tape.watch(x)
    with tf.GradientTape(persistent=True) as g_tape2:
        g_tape2.watch(x)
        y = x
        y = up(y)
        t = (y**2)

    up1 = g_tape2.gradient(y,x)
    g1 = g_tape2.gradient(t,x)
g2 = g_tape.gradient(g1,x)

print('######################')
print('x',x[0, :, :, 0])
print('up(x)',y[0, :, :, 0])
print("up'(x)",up1[0, :, :, 0])
print('g1',g1[0, :, :, 0])
print('g2',g2[0, :, :, 0])

And checked these with Wolphram Mathematica. It may be useful to perform more checks.
what you think?

@gtanzi  I am not really an expert in this but if the calculated gradients are the same in Mathematica as well, I do hope that this might be correct.

@SNMS95 After some thoughts on your comments I now think my first naive answer was completely wrong. The main reason being that tf is not asking the second derivative of ResizeBilinear, but rather the first derivative of ResizeBilinearGrad with respect to its inputs ( from which it can later perform second order derivative with chain rule). The upscaling op should take an image X with shape  and return a scaled image Y with shape (i x j) like:  where the c coefficients (in bilinear interp) do not depend on X but only on the scaling factors.
Now, as you suggest, ResizeBilinearGrad inputs are indeed:

G1 - gradients calculated till that point of shape (ixj) (-> I too think it's right looking at the code)
X - the original input image

i.e.
ResizeBilinearGrad( ,X):    return:
and ResizeBilinearGradGrad ( op= ResizeBilinearGrad , grad=G2):    return:[A,B]
I believe ResizeBilinearGrad uses X only to determine the output shape (? I'm not sure why ResizeBilinearGrad needs X), I assume the second outputs of _ResizeBilinearGradGrad must be None. However this is not true for the first output (as I wrongly suggest before) and should be (including the backprop of grad G2):    Which is just the upscaling of G2. Sooo my second guess is:
@tf.RegisterGradient("ResizeBilinearGrad")
def _ResizeBilinearGrad_grad(op, grad):
    up = tf.image.resize(grad,tf.shape(op.inputs[0])[1:-1])
    return up,None

I did perform a simple test:
import tensorflow as tf
import numpy as np
@tf.RegisterGradient("ResizeBilinearGrad")
def _ResizeBilinearGrad_grad(op, grad):
    up = tf.image.resize(grad,tf.shape(op.inputs[0])[1:-1])
    return up,None

a = np.zeros((1, 2, 2, 1), dtype=np.float32)
a[0, 0, 0, 0] = 2.0

x = tf.constant(a)
up=  tf.keras.layers.UpSampling2D((2,2), data_format='channels_last', interpolation='bilinear')
with tf.GradientTape() as g_tape:
    g_tape.watch(x)
    with tf.GradientTape(persistent=True) as g_tape2:
        g_tape2.watch(x)
        y = x
        y = up(y)
        t = (y**2)

    up1 = g_tape2.gradient(y,x)
    g1 = g_tape2.gradient(t,x)
g2 = g_tape.gradient(g1,x)

print('######################')
print('x',x[0, :, :, 0])
print('up(x)',y[0, :, :, 0])
print("up'(x)",up1[0, :, :, 0])
print('g1',g1[0, :, :, 0])
print('g2',g2[0, :, :, 0])

And checked these with Wolphram Mathematica. It may be useful to perform more checks. what you think?

Thanks，This is very helpful to me


Issue with DHD 52/SX

Hi,
I have a customer using a DHD 52/SX.
When using the old legacy Ember+ Viewer 1.6.2 from Lawo (which used https://github.com/Lawo/ember-plus), he can see all nodes and parameters just fine!
Now we are trying to connect to the DHD with THIS library, but this always generates errors. The client actually can connect fine, but the retrieval of the consumer always fails at a certain point... see below.
So it seems, that there is a fundamental different behavior between THIS lib and https://github.com/Lawo/ember-plus.
This is especially annoying, as I now have build a whole set of products around THIS lib,
DHD and the customer now insist, that all is fine on their side, as they have proven via the legacy Ember+ Viewer 1.6.2 from Lawo, that all is fine!
So where is the effective issue within THIS lib?
Why can all nodes be retrieved fine with the Ember Viewer 1.6.2, but not with this lib?

We tried the standard approach to sync the database at once:
_consumer =  await Consumer<MyRoot>.CreateAsync(_client, 20000);
This however resulted in a TimeoutException:
"The provider failed to send the children for the element with the path /Device/Channels/Channel 58"
I have attached a full Glow Payload Message Log, so hopefully you can spot anything:
DHD 52SX payload.txt

Then we tried the dynamic mode (using ChildrenRetrievalPolicy.DirectOnly):
So we retrieved the nodes 1 by 1 and traversed down the tree.
In this mode, we could get all nodes, up until the path: /Device/Channels/Channel 58
As soon as we tried to retrieve that node, again we got a TimeoutException!
From then on all was broken and we could not get any further nodes, e.g. /Device/Channels/Channel 59 or /Device/Channels/Channel 60 etc.

Any idea what is causing this issue?
Please note, that this issue is highly critical for me.
Thanks in advance,
Bernd

Hi Bernd
Could you please use GlowAnalyzerProxy to produce the log and attach the file unaltered? GlowAnalyzerProxy has the advantage that it also logs decoded payload besides everything else.

I assume you mean the provided tool which comes with this lib?!
Can you quickly explain what options to set?
I assume, I need to:

specify as the 'Listening Port' any free local port, e.g. 8999
specify as the 'Provider Host and Port' the DHD address
specify a log folder
then connect from my app to the local GlowAnalyzerProxy instead of the DHD...

specify as the 'Listening Port' any free local port, e.g. 8999
specify as the 'Provider Host and Port' the DHD address
specify a log folder
then connect from my app to the local GlowAnalyzerProxy instead of the DHD...

Yes.

Thanks, I have a remote session at 19:00 where we can perform further tests...using the Proxy.

Here comes the results of the GlowAnalyzerProxy ... see attached zip.
We performed 3 tests (as such LOG1..3 are in the zip)
LOG1: Using your lib in the classic 'get all' mode, as explained above.
Same result, we got an exception:
"The provider failed to send the children for the element with the path /Device/Channels/Channel 58"
LOG2: Using your lib with the ChildrenRetrievalPolicy.DirectOnly:
Same result all Channels are visible, but starting with Channel 58, there are no Children reported anymore!
I also made a screenshot, its attached in the zip.
LOG3: Using the legacy EmberViewer 1.6.2:
All fine, everything is visible. A screenshot, is also attached in the zip.
I also inspected with the EmberViewer 1.6.2 the different nodes, to see, if there is anything different, but no all channel nodes look 100% the same, all attributes and properties are identical.
So I assume it is NOT a DHD issue.
The different behavior must be within your lib and the legacy lib - which is rather odd, as it means, so far it is not reliable and usable - at least not with DHD devices.
So help is urgently needed ;-)
Many Thanks in advance!
Bernd
LOG.zip

In the file LOG1_20170405_170024_YourLibGetAll.xml if you search for "Channel 57", you'll find that it has the path 0.3.56 and was announced in provider message number 6. If you search for elements with the same path further down, you'll see that a GetDirectory request was sent in consumer message number 4 and its children were subsequently announced in provider message number 35. So far so good.
Now, if you do the same for "Channel 58", you'll find that both the initial provider announcement and the consumer GetDirectory request were made in the same respective messages yet the provider never announces the children. In fact, all GetDirectory requests after 0.3.56 sent in consumer message number 4 remain unanswered.
There's almost no material difference between LOG1_20170405_170024_YourLibGetAll.xml and LOG2_20170405_170248_YourLibDynamic.xml. It appears you've set ChildrenRetrievalPolicy on multiple nodes without awaiting SendAsync() in between, as described in #39.
Given the above evidence, it seems that the provider runs into some kind of overflow, after which it "forgets" to answer still pending GetDirectory requests. I would further speculate that if you retrieved children as described in #39 (and implemented in Bug40Test) you'd get all of them.
BTW, doesn't your viewer also implement a mode where it only gets from the provider those nodes that the user expands?

I am not fully sure I understand you are saying, except, that it looks like a DHD issue.
Note, that in your lib I resp. the user cannot control in what message what request is made or not made - this is under the control of your lib I am afraid.
I can only tell, that DHD claims; we are complient, as we tested all with the EmberViewer 1.6.2 and all is fine!
I now looks you are telling me, that DHD is forgetting to send outstanding replys ?!
Sounds like a typical deadlock to me. So who is resolving the deadlock?
However, here is the source code for both scenarios:

Get All:
_consumer =  await Consumer<MyRoot>.CreateAsync(_client, 10000);
Nothing more to add.

Why this is failing is still unclear to me?
Is it because ember messages are unfortunately constructed in 'unlucky' message numbers?
Or is it because DHD didn't implement all fully correctly?
Let us assume it is a DHD fault and DHD expects single messages?
What can I do?
Is there any option to deal with 'imperfect' Ember+ implementations?
Note, that I am writing a generic software which should be able to 'talk' with any Ember+ device, not only DHD! So I need a generic solution - and I had the impression, that the goal of Ember+ was to be generic?!

Get Dynamically:
Initially I call:
_consumer = await Consumer<MyRoot>.CreateAsync(_client, 10000, ChildrenRetrievalPolicy.DirectOnly);
and then right after:

foreach (var child in _root.Children)
{
    if (child is INode && ((INode)child).Children.Count == 0)
         ((INode)child).ChildrenRetrievalPolicy = ChildrenRetrievalPolicy.DirectOnly;
}
await _consumer.SendAsync();

Then for each retrieved child node (when it is expanded resp. displayed - the 'element' below) I do call again::
if (element is INode)
{
    foreach (var child in ((INode)element).Children)
    {
        if (child is INode && ((INode)child).Children.Count == 0)
              ((INode)child).ChildrenRetrievalPolicy = ChildrenRetrievalPolicy.DirectOnly;
    }
    await _consumer.SendAsync();
}

So the I always retrieve all childs of a nodes at once...this is needed in order to display all sub-nodes of the tree.
But as you said: also this is also not working.
Being honest, I still have no idea why this is ?!
But I believe it is again because some messages are 'unluckily' constructed or send resp. becasue DHD forgets something it should not forget.
And yes, as written I was using the very latest version incl. the #40 fix.
Conclusion:
This library currently cannot handle various device implementations (e.g. the ones from DHD), which are out there and deployed to customers.
In the end I don't care who's fault it is - I need a working solution.
Lawo defined Ember+. If certain vendors are not compliant, I guess you either need to talk to those vendors yourself, establish a clear certification process and make sure they are complient.
Or you have to live with an imperfect world, but then your libs must do the same.
I would be glad, if you can offer me a clear and generic solution, which ALWAYS works with any Ember+ device, so that I can build a reliable interface to it.
As I don't want to implement a specific solution for each vendor - since then Ember+ is useless.
I hope you understand my point and frustration at this time.
But lets cross the fingers, we find a good working solution.
If you need a contact at DHD, please let me now.
Many Thanks in advance,
Bernd

Note, that in your lib I resp. the user cannot control in what message what request is made or not made - this is under the control of your lib I am afraid.

Incorrect, if you use INode.ChildrenRetrievalPolicy in combination with Consumer.SendAync, you can control to a very fine degree what is sent in the consumer messages.

So the I always retrieve all childs of a nodes at once...

Why don't you try to call SendAsync within the loop, as described in #39? I bet that it'll work then.

Being honest, I still have no idea why this is ?!

Have you had a closer look at the log files? Did you see that the provider fails to answer many GetDirectory requests? Do you dispute that the log files are accurate?

I would be glad, if you can offer me a clear and generic solution, which ALWAYS works with any Ember+ device, so that I can build a reliable interface to it.

Have you had a look at the other Ember+ libraries? They only provide serialization and deserialization of Ember+ messages but leave networking and protocol implementation to client code. If client code fails to answer requests or goofs up otherwise, what do you propose should I do?
In this specific situation however, as I've already told you, please follow the process outlined in #39.

I am sorry, if I sounded frustrated, but...
...it seems, that the 1st approach (get all at once) will ALWAYS fail, because of an error on the DHD side.
How should we deal with this?
I can only go back to DHD and tell them: sorry guys your Ember+ implementation is buggy, this is proven here and if you want, please start the discussion with Lawo.
In the end, they might be happy, since we discovered this bug!
And yes, this leaves me with the only option to always call for each and every single element:
await _consumer.SendAsync();
This doesn't sound right to me, as it:
a) might span really a lot of threads
b) is the absolute slowest solution
c) utilizes the network with a maximum number of messages
But is probably the only way to currently go.
So let us turn all this into something good, as we have learned a lot:

Lawo has implemented a great Ember+ standard with a lot of options
unfortunately many vendors have not implemented this correctly or only partially
this now leads to issues in the field, if someone expects a standard, which was never one
the legacy Ember+ Viewer 1.6.2 cannot be used to validate full Ember+ compliance
there is no real quality assurance or Ember+ certification process in place for vendors

In essence there is great room for improvements and I suggest, that Lawo is getting in contact with DHD to overcome the current shortcomings in their implementation.
I can even believe in a simple test tool which we can provide to make a fully automated test, if a device is really 100% Ember+ compliant or a greater certification process.
See, if vendors are allowed to always only implement a bit of the standard, you will end up in a huge mess of vendors all implementing pieces of Ember+, but in the end not being able to 'talk' to each other. And if this happens, this is against all your marketing effort.
Many Greets,
Bernd

And yes, this leaves me with the only option to always call for each and every single element:
await _consumer.SendAsync();

No, that would only be a first step. If that makes the DHD provider work correctly, then you could return to requesting children of multiple nodes, e.g. 20 at a time and see whether that still works. E.g. in your viewer you could make this a setting.

a) might span really a lot of threads

The Ember+ Sharp Library doesn't create any threads whatsoever. Everything is done on the thread that calls Consumer.CreateAsync.

Thanks!
This is exactly what I already did: I changed the 'Dynamic Load' parameter to an integer, which now specifies how many elements might be combined (0=no dynamic load, get all at once; 1=get each single element separately; 2=combine up to 2 elements; 3=combine up to 2 elements; etc.)
A new version is available here:
www.proppfrexx.radio42.com/download.html#EmberViewer
I also informed DHD about their bug and pointed them to this thread.

Thanks!

I am afraid, we must re-open this issue. After I had the chance to test it again against the DHD...
I changed the code to retrieve all nodes with the following code:
_consumer = await Consumer<MyRoot>.CreateAsync(_client, 10000, ChildrenRetrievalPolicy.DirectOnly);
await RetrieveAllChildrenAsync(_consumer);
...
public static async Task RetrieveAllChildrenAsync(Consumer<MyRoot> consumer)
{
    INode root = consumer.Root;
    List<INode> nodes = new List<INode> { root };

    while (nodes.Count != 0)
    {
        INode node = nodes[0];
        nodes.RemoveAt(0);

        node.ChildrenRetrievalPolicy = ChildrenRetrievalPolicy.DirectOnly;
        await consumer.SendAsync();

        foreach (IElement child in node.Children)
        {
            if (child is INode)
            {
                nodes.Add((INode)child);
            }
        }
    }
}

Please find attached the new GlowAnalyzerProxy log files:
NewLOG.zip
This time it looks, like the 'Channel' nodes children are never received.
Meaning all channel nodes cannot be expanded. From the logs I cannot even see, that those are requested from the Provider - I have no idea why?!
Testing the same code against the 'TinyEmberPlus.exe', e.g. using the Saphire.EmBER; or the 'TinyEmberPlusRouter.exe' works just fine!
So could it somehow be, that once 'await consumer.SendAsync();' returns, the 'node.Children' are NOT populated?
If yes, why?
Else I cannot explain and would have no clue how to get the entire DHD ember tree with all nodes and all children.
Any idea?
Many Thanks in advance,
Bernd

Hi,
DHD was able to reproduce the reported Ember+ protocol issue with the ProppFrexx Ember+Viewer.
The issue only occurs when a (multi-packet) message with a size near to the allowed maximum (1024 byte Ember+ payload) is recieved.
The last GetDirectory requests within such packets got lost due to a wrong RxBufferSize and remained unanswered.
Thanks for the provided GlowProxy logs that helped to reproduce und find the issue here.
Next firmware release will contain a fix for it.


When sending multilple events in succession, alloy only seems to send the first.

Expected Behaviour
All events sent via alloy("event",{...}) get sent.
Actual Behaviour
Only first event is sent - OR - maybe only the 1st is logged?
Reproduce Scenario (including but not limited to)
After configuration call, make several event calls.  Watch logs.
Steps to Reproduce
Platform and Version
Alloy alpha.3 - MacOS Chrome
Sample Code that illustrates the problem
Logs taken while reproducing problem
VM3306:8 alloy configure success undefined
VM3306:27 In edgeAlphaEventBridge(alloy). Sending : Product Viewed {type: "Product Viewed", data: {…}}
VM3306:27 In edgeAlphaEventBridge(alloy). Sending : User Detected {type: "User Detected", data: {…}}
VM3306:27 In edgeAlphaEventBridge(alloy). Sending : Page Loaded {type: "Page Loaded", data: {…}}
alloy.js:2258 [alloy] Sending network request (response will be ignored): {events: Array(1), meta: {…}}
VM3306:32

@stewartschillingsdi
Can you please attach the code snippet?
I tried reproducing the same behavior using the Alpha 3 build, but I'm seeing all the events in the console:
[alloy] Runtime configuration:
 {
  "propertyID": 9999999,
  "log": true,
  "edgeDomain": "edgegateway.azurewebsites.net",
  "shouldStoreCollectedData": 1,
  "device": "Chrome-Mac",
  "idSyncsEnabled": true,
  "destinationsEnabled": true,
  "context": [
    "web",
    "device",
    "environment",
    "placeContext"
  ]
}

alloy.js:2258 [alloy] Sending network request: {events: Array(1), meta: {…}, identityMap: {…}}
alloy.js:2258 [alloy] Sending network request (response will be ignored): {events: Array(1), meta: {…}, identityMap: {…}}
alloy.js:2258 [alloy] Sending network request (response will be ignored): {events: Array(1), meta: {…}, identityMap: {…}}

alloy.js:2258 [alloy] Received network response: {handle: Array(3), requestId: "764207dc-f225-49a1-aee4-38aab3694951"}

Here's my code:
      alloy("configure", {
        propertyID: 9999999,
        log: true
      });

      alloy("event", {
        // NOTE: `viewStart` is a special type of events.
        // View docs for more info.
        type: "viewStart",
        data: {
          "xdm:URL": [location.href],
          "xdm:name": [location.pathname.substring(1) || "home"]
        }
      }).then(function(data) {
        console.log("Sandbox: View start event has completed.", data);
      });

      alloy("event", {
        type: "random event 1",
        data: {
          name: "Joe"
        }
      });

      alloy("event", {
        type: "random event 2",
        data: {
          lastname: "khoury"
        }
      });

SO... My code snippet is going to need a little explaining.  I'm running on a site that has Launch, has an event based data layer (window.appEventData), and is using the Data Layer Manager Launch Extension.    I am setting up listeners to catch each event as it is pushed onto the Data Layer.  In the event handler, I reshape the event payload and send it on to Platform Edge via an alloy("event", {}...}) call.
alloy("configure", {
    "propertyID": "sdi-orbital",
    "collectionUrl": "",
    "log": true
  })
  .then(function(value) {
    console.log("alloy configure success", value);
  })
  .catch(function(error) {
    console.log("alloy configure error", error);
  })

function edgeAlphaEventBridge(dlmEvent) {
  //console.debug("Edge Alpha(alloy) : Bridge Event - dlmEvent", dlmEvent);
  var dlmEventCopy = JSON.parse(JSON.stringify(dlmEvent.detail))
  //console.debug("Edge Alpha(alloy) : Bridge Event - dlmEventCopy", dlmEventCopy);

  delete dlmEventCopy.event;
  delete dlmEventCopy.__meta;

  var alloyPayload = {
    "type": dlmEvent.detail.event,
    "data": dlmEventCopy
  }

  console.debug("In edgeAlphaEventBridge(alloy). Sending :", dlmEvent.detail.event, alloyPayload);

  alloy("event", alloyPayload)
  .then(function(_res) {
    var requestBody = _res.requestBody
    var responseBody = _res.responseBody;
    console.debug("(alloy) requestBody, responseBody",requestBody, responseBody);
  })
  .catch(function(error) {
    console.log("alloy error", error);
  });

}

_satellite._container.extensions["data-layer-manager-search-discovery"].settings.eventNames
  .forEach(function(evt) {
    var subscribedEvent = ["SDI-DLM", evt.eventName].join(":");
    window.removeEventListener(subscribedEvent, edgeAlphaEventBridge, false);
    window.addEventListener(subscribedEvent, edgeAlphaEventBridge, false);
    console.debug("Edge Alpha(alloy) : Listener added for " + subscribedEvent);

  })

You can see this on https://orbitalprovisions.searchdiscovery.com/ . ( use password - "astp" )

Enable Verbose logging and filter on "alloy"

Thanks for this @stewartschillingsdi. If you can keep that site available in its current state for the next couple hours, that would be helpful. I'm going to start debugging this right now

@stewartschillingsdi, here's what happening. Before the first request goes out, we check to see if we already have an ECID stored in local storage. If we don't, we let the first request go out, but we queue up subsequent requests until we received an ECID back in the response from the first request. In your case, though, neither of your requests had a type value of viewStart. Therefore, we hit an endpoint that intentionally does not send a response. Because there was not ECID in the response, the subsequent requests remained queued up inside Alloy and never sent.
I believe the solution in your case is that your first event command needs to have a type value of viewStart.
We need to discuss internally as a team whether what you've currently done in your page is something we want to support and how to want to handle it more appropriately.
Thanks for bringing this to our attention.

BTW, you can do what you need to do with your demo site now. Thanks for letting me use it!

You bet.  I'm glad it was helpful

That looks better


TAJO-1321: Cli prints wrong response time.

As I commented on https://issues.apache.org/jira/browse/TAJO-1321, I made the Tajo master to set the start time and the finish time.

@jinossy thanks for your review.
I fixed it.

+1 LGTM!
I've verify on cluster.


Decorators cause unwanted warnings about = vs == when code is run in gjs

TypeScript Version:  3.6.0-dev.20190604

Search Terms:
test for equality (==) mistyped as assignment (=)?
test for equality (==) mistyped as assignment (=)? decorator
Code
// A *self-contained* demonstration of the problem follows...
// Test this by running `tsc` on the command-line, rather than through another build tool such as Gulp, Webpack, etc.
// Requires --experimentalDecorators=true

function deco(klass: Function) {
}

@deco
class TestClass {
}

Expected behavior:
When the transpiled script is run it should not print any warnings.
Actual behavior:
When run in gjs (which is based on Mozilla Spidermonkey) it causes a warning like this:
Gjs-Message: 13:59:43.346: JS WARNING: [index.js 4]: test for equality (==) mistyped as assignment (=)?
It's because the generated code includes this if clause: if (d = decorators[i]). I don't think this is an error, but I think it would be better to write it as if ((d = decorators[i]) != null) to make its intention clear and prevent false alarms which end users won't want to see.
Playground Link:
Related Issues:
No, but it would probably be a good idea to test at least other types of decorator to check that they don't independently cause the same issue.

Hmm, while I see your point, the question with this kind of thing is, where do you draw the line?  What you’re essentially seeing is a lint warning, and TypeScript can’t possibly satisfy every linter and lint configuration in the world.  At the end of the day, tsc is a compiler; as long as the code it produces isn’t misbehaving at runtime, you shouldn’t need to care what the generated code looks like.
That being said, it’s unfortunate that in this particular case, some kind of linting is being done at runtime, which IMO is pretty bizarre, especially in this day and age of transpilers and minification everywhere.

Linting generated code seems doomed to failure.  But, the TS team has accepted such changes before:  https://github.com/microsoft/TypeScript/issues/27312

@natthebear Yeah, the thing here is, there’s some runtime (this “gjs”) which automatically lints the code it runs - so it’s a different case than a developer choosing to lint the generated code.  The user actually has no choice in the matter (which is misguided on gjs part but what can you do).
Alas, the complexities inherent in JS being both “the assembly language of the web” and “source code” simultaneously...

gjs provides interoperability between SpiderMonkey and gobject-introspection, so you can write applications in JS using libraries like GTK and GStreamer. The warnings come from SpiderMonkey, so  I suspect they would also appear in Firefox's developer console if TS decorators were used in a web app, but I haven't verified that.
I turns out gjs does have a way I can disable these warnings so I don't mind personally if you want to close this, but I'll leave the final decision up to you.

The code is correctly written, and is written in a way to be as short as possible to minimize download size. A runtime that errors on a legal assignment isn't a JS runtime and we're not capable of forming our output to conform to all third-party opinions.


Pipedrive

What is the vendor's name?
Pipedrive
What is the vendor's pricing site?
https://www.pipedrive.com/en/pricing
What is the base pricing? Use the lowest tier that looks sane for a small business customer, not free or personal tiers.
$12.50 per user/month
What is the minimum pricing for SSO support?
$49.17 per user/month
Does this pricing info come from a quote or other non-public source?
N/A
Are there any caveats we should list in the footnotes?

Given this is now unmaintained, there is now a fork that we're hoping to keep maintained via community participation.  If this is still the case with this vendor, would you please submit a fresh issue with current pricing details to that repository?


Migrate to arm64 instances

Hetzner offers arm64 VPS instances that are basically double the specs of amd64 for the same price. Where possible, I'd like to upgrade the servers. So far, the only dependency that needs amd64 is Ocelot, as it must be built from source.

The good news is, this can be done gradually because only the Falkenstein location supports arm64and it's part of the same eu-central network zone as Helsinki, so the existing LAN can work with both locations. As part of this migration, I want to make sure each instance is a full Redis and WireGuard peer in addition to whatever else it's doing.
The first thing is to set up a new master database server. Then, the host running Manticore is an obvious next target because it currently does nothing else. That may be a good database slave. Out of the original three servers, at least two of them aren't expendable right now.
It's also a great opportunity to take a hard look at various root scripts, firewall stuff, server configurations, etc., and update things as needed.

Cool, almost everything is brand new and the old database server is gone. We're set up to query the replica for reads, everything is nice and tight, dual IPv4 and IPv6 natively supported throughout, everything that happens on the LAN happens over WireGuard. The web servers need to be amd64 due to the blake3 dependency but that's fine.
The last thing in this this space is to replace the two remaining legacy servers with one for Docker containers and another for miscellaneous daemons like IRC, email, etc. That should give two web servers, two database servers, two trackers, two app servers, and like six cache servers.
This is all about positioning the site for scale so there's nothing to worry about down the line or probably ever if we're being honest. There's already Redis cluster support and database replication already exists, but the Gazelle codebase doesn't support replica reads yet.

This has been done for a couple weeks.


[doc] Add an OTBN introduction page.

This page is intended to be a starting place for people with some level of technical background to understand what OTBN is and why it's designed the way it is. Most of the details are still on other pages, but I wanted something that will cover the main ideas and get people oriented and interested in learning more. I requested reviews from everyone I thought might have an opinion on documentation style and OTBN, but feel free to add anyone else who might have feedback if I left someone off!
Right now the benchmarks are missing RSA and X25519; I'll add those once https://github.com/lowRISC/opentitan/pull/20136 and https://github.com/lowRISC/opentitan/pull/20137 are merged, so they're properly reproducible.
Because it's annoying to read docs pages as git diffs, here's a printout of the page as a PDF (the links don't work and the formatting is a bit weird, so if you want to see the non-text elements in all their glory you can always check out this branch and build the docs locally for the proper interactive version):
otbn_intro.pdf

Because it's annoying to read docs pages as git diffs

FYI, GitHub's "rich diff" works quite good for the markdown here, not sure when they added that feature
https://github.com/lowRISC/opentitan/pull/20140/files?short_path=5538186#diff-5538186acef0e9ec434b91d4882d55777e253d7f6106e4963bd5277317cd1d6e

I know very little about the OTBN but I just want to say this is really great that you took the time to write this introduction, it's definitely very useful!

FYI, GitHub's "rich diff" works quite good for the markdown here, not sure when they added that feature

Oh, this is cool, didn't know about that feature!

Thanks for all the detailed feedback, @hcallahan-lowrisc ! The latest push should have addressed all of it :slightly_smiling_face: In some places I rephrased the sentences a little differently than the suggestion just to match my own writing style -- hopefully that's OK.

One more overarching comment I have is that this doc describes OTBN in the context of the Ibex processor only. While this is the only meaningful context in OT, it certainly could be used differently elsewhere.

Good point -- I added a sentence to the beginning that says: "The OTBN hardware block could also run as part of a different system and interact with a different main processor, but this page will focus on the OpenTitan context."

Latest commit adds the RSA benchmarks now that https://github.com/lowRISC/opentitan/pull/20136 is merged. These numbers should improve significantly once https://github.com/lowRISC/opentitan/pull/19755 and a couple planned follow-ups are merged; the RSA code is functional but slow at the moment.

I'll merge now, but if anyone has post-merge comments feel free to post them here and I'll make a follow-up!


poor 404 error in provision verify

Apigee returns a web page for 404 errors. The verify code is incorrect attempting to parse and we end up with an error like:
Unable to verify proxy endpoint(s). Errors:

  invalid character '<' looking for beginning of value
  invalid character '<' looking for beginning of value

It should display a user-understandable error instead.

This turned out to be an issue with Edge. Cannot recreate.


Bootcommerce child - css not working

hello,
I have used this child theme in my other projects and never had an issue with this. But this time, I have installed the freshly downloaded version of your theme and I can't seem to make any changes in CSS.
The simplest example:
here is what I have in my bscore.custom.scss
h1 {
color: $primary;
}
and that is what I have in my bscore.variables.scss:
$primary: #00FF00;
obviously I have tried using just the "red" color etc - the CSS is not getting loaded in any way, my H1 is black as it was.
In my console I can see:
GET https://mydomain.pl/wp-content/themes/bootcommerce-child-main/css/main.css?ver=197001010000 net::ERR_ABORTED 404
By default this file is called "main.scss" and it is in the correct folder, so I have attempted to change the name of this file, to "main.css" but it did not help.

Solved? However it seems that is scssphp stops workíng for whatever reason. Use dev_mode https://github.com/bootscore/bootscore/issues/228

Hey, yes, solved :)
I was going to post the solution - so it seems like I had to change "bootstrap.min.css" to "bootstrap.min.scss", I also tried with the dev_mode, but after the above change I have switched it off and it all seems to work correctly now.

Changing main.scss to bootstrap.min.scss means that you are downgrading your 5.2 child to bootScore <IP_ADDRESS> or older.  When starting a new project, you should always latest release https://github.com/bootscore/bootscore/releases, https://github.com/bootscore/bootcommerce-child/releases. Actual <IP_ADDRESS> is much more stable than <IP_ADDRESS> and has a lot updated WC templates.


Update single.html to fix TAG link generation

Currently, tag link generation is broken when the tags are cased or have spaces.  This fixes the URL generation to match the tag directory structure.

lgtm


Fix REST docs

Move asciidoctor-maven-plugin to post-integration-test phase to make sure that snippets were generated before

Refers to https://github.com/Activiti/Activiti/issues/1802


Update common_scenes.py

"specific_patrons" misspelt on line 105

active_project old_project are not maintained as part of the manim project though. I would assume for_3b1b_videos to be so as well.

All of the projects of 3b1b has been removed from this repository, so closed this.


feat: set evm block number so we can do multiple transactions in diff…

…erent blocks

Could you also update this part of the README to explain the new scenario when passing different block numbers? Thanks!
https://github.com/EnsoFinance/transaction-simulator/blob/main/README.md?plain=1#L86

Lgtm, thanks for the contribution!


Additional study management controls

Description
Over the last while, we've received several feature requests around study management from @jwrcoleman and various users.  This task captures the lowest-hanging fruit among that feedback.
Acceptance Criteria

[x] users with the given permissions:

[x] can change the requester of a study request... (STUDY_REQUESTS_ADMIN)

[x] the REST API permits this for non-bulk requests;
[x] the REST API permits this for bulk requests, in which case it changes the requester of all sub-requests as well;
[x] this is added as a test case in relevant test suites;

[x] can group several study requests into a single "project" (i.e. bulk request)... (STUDY_REQUESTS, STUDY_REQUESTS_ADMIN)

[x] a new REST API method for grouping requests into a bulk request is added (e.g. to StudyRequestBulkController);
[x] a new DAO method is added for this (e.g. in StudyRequestBulkDAO);
[x] this is added as a test case in relevant test suites;
[x] the frontend offers a way to do this (e.g. in Track Requests).

[x] can add one or more study requests to an existing "project" (i.e. bulk request)... (STUDY_REQUESTS, STUDY_REQUESTS_ADMIN)

[x] a new REST API method for adding requests to a bulk request is added;
[x] a new DAO method is added for this;
[x] this is added as a test case in relevant test suites;
[x] the frontend offers a way to do this (e.g. in Track Requests);

[x] in all above cases, users without given permissions:

[x] cannot perform relevant REST API actions;
[x] cannot see relevant frontend UI in MOVE.

time permitting:

[x] users with STUDY_REQUESTS scope:

[x] can change the location of a study request...

[x] the REST API permits this for requests;
[x] this is added as a test case in relevant test suites;
[x] the frontend offers a way to do this (e.g. in Edit Request).

Additional Notes
This might require a bit of design work from @shinechaudhuri - main concern here is interface clutter from adding these functions.  If we do want to allow users to edit locations (unclear right now), we'll need design there as well.
This new functionality will likely mean no longer being able to show a "location selection" for bulk requests - we'll either have to get rid of that part of the bulk request, or change the map to just show a collection of points where study requests are taking place.

One other improvement data collection asked for:

Can I edit an assigned request?

Apparently sometimes data collection will change the request details after discussing with the contractor.

Updated slightly to remove requirements around watch / unwatch UI, requester change UI - breaking those out into separate issues, since this one already has 4 PRs (and will soon have a fifth!)


Question about ES6+ support/willingness to accept PRs

Hey there, I know you don't currently support ES6+ (or ES7) features, since they're still under development/review. However, I've run into issues where using these new features causes esdoc to fail silently. Would you be amenable to a pull request to opt-into, or to ignore, ES6+ features, so that other files can still be processed? I've looked into this already, and it may also require a fix to espree (which I would submit prior to any PR for this project).
Thanks,
Murray

@mmoss Thanks question!
I welcome pull-request that is ignore ES6+ features :smile:
However, Espree does not seem to support ES6+.
So, this work is hard for me :sweat:
And, for now, I am not going to merge ES6+ feature pull request. Sorry.

Actually, espree supports ES7 Rest/Spread Properties (stage 1) experimentally.
But currently espree seems to have no plan to support more. :cry:

@mysticatea oh...
ES7 support is very hard for everyone.
(Babel and @sebmck is special!)

I'll take a stab at adding the ability to ignore ES7 features (at least decorators), or at the very least try and figure out a way to output a warning if a file is ignored due to ES7 syntax preventing parsing.

FWIW, babel-eslint is essentially an Esprima-/Espree-compatible parser that uses Babel under the covers, but returns an Espree-like AST. (it's intent is only to support ESLint, but I suspect it might be generally useful as a mostly-Esprima-compatible parser)
One option: provide a setting to configure an alternate parser (like ESLint does) and let users attempt to use ES7+ features at their own peril. You can then continue to default to (and only officially support) Espree, but users/potential committers can play around on the bleeding edge.
Pending your tolerance for non-ESTree/SpiderMonkey node types (things like ExportNamespaceSpecifier from Lee Byron's import/export symmetry proposal: export * as ns from 'module'), it may be as simple as dropping in the parser config option.

@mmoss @benmosher Thanks :smile:
I am considering plugin feature #27 . The plugin provides onHandleCodeParser to use own JavaScript parser. The parser must be compatible with Espree.
exports.onHandleCodeParser = function(event) {
  var code = event.code;
  var ast = yourParser.parse(code);
  event.ast = ast;
}

And, with this feature, it becomes possible with TypeScript and other transpile language not only ES7.

i tried to use esdoc, but it fails on files with es7 syntax (i am using async/await + decorators + property initializers), so i was forced to switch on yuidoc. It will be nice to see possibility to use another js parsers, such babel.

@PinkaminaDianePie Thanks for comment! I will try to provide the plugin feature :rocket:

@h13i32maru let me know if I can help out in any way :)

@mmoss Thank you!

@mmoss @benmosher @PinkaminaDianePie @mysticatea Hi!
I published ESDoc ES7 Plugin :smile:
This plugin enables to generate documentation from source code including ES7.
You can use this plugin with<EMAIL_ADDRESS>

@h13i32maru, cool, thx! Ill try it tomorrow, i hope ill move out from yui. One more question: esdoc supports markdown? Or maybe custom templates, where i can switch from html to markdown? its usefull feature for easier integration to github-pages site, created from markdown via jekyll. I can use same styles for manual docs and for auto-generated.

@PinkaminaDianePie ESDoc does not support markdown documentation. However, you can perhaps generate it by using plugin feature. But I think that it is very hard work...
On the other hand, I have been developing ESDoc Hosting Service.
In there, you can generate your documentation and host it. Please try it if it is good for you :smile:

I was tried to use esdoc with es7 plugin, but it does not help T_T I thought what only es7 features will be ignored or maybe async functions will be parsed like es5 functions but... any code uses es7 will be ignored, so if i use async function in my class - entire class will be ignored. So almost nothing was generated. Sad. And some code still crushes esdoc, i dont know exacly where for now

@PinkaminaDianePie The plugin requires ESDoc version 0.2.1. Do you use the version?
If it is ok, please tell me your code or repository url.
The plugin supports async/await of ES7 following code.
export class ES7AsyncFunctions {
  async method(){
    await Promise.revole(1);
  }
}

FYI: https://doc.esdoc.org/github.com/esdoc/esdoc-hosting-safe-plugin/class/src/ES7/ES7AsyncFunctions.js~ES7AsyncFunctions.html

@h13i32maru, oh, im sorry, thx for answer! There was something with my global modules, even after install v0.1.2 was used. For now everything is ok. Ok, ill see what can i use for my docs, maybve it will be better than yui

@PinkaminaDianePie :+1:


Resource Pack Breaks Leaf Textures

I installed this to add to my modpack and after putting it in every single leaf texture is now broken. Even after removing the resource pack, every leaf is just a missing texture. No clue what could've caused this, I've tried everything I can think of.

Nevermind was something completely different ignore me please


Feature/cicd android deployment

Testing the Android pipeline for deployment to the Play Store

Image showing that the application has been deployed to the play store for internal testing.


Unable to install dependencies

Hi Rudrakh,
I don't see package.json here so if I see in init.js, only 3 dependencies are required?
Because when I am trying to install the web3 manually it gives below error
npm ERR! Error while executing:
npm ERR! C:\Program Files\Git\cmd\git.EXE ls-remote -h -t git://github.com/frozeman/WebSocket-Node.git
npm ERR!
npm ERR! fatal: unable to connect to github.com:
npm ERR! github.com[0: <IP_ADDRESS>]: errno=No such file or directory
npm ERR! github.com[1: <IP_ADDRESS>]: errno=No such file or directory
npm ERR!
npm ERR!
npm ERR! exited with error code: 128
Though I am not sure, if it is because of some firewall issue or something else.
Do you have any insights on above issue?
Details: Windows10, 64 bit, npm 6.4.1, node 10.14.2

Im getting this issue
npm WARN deprecated<EMAIL_ADDRESS>ethereumjs-testrpc has been renamed to ganache-cli, please use this package from now on.


AnotherFlowerGenerator-supamikko

I heard about this blot thing from a friend and thought I would give it a go. Took about a week to make. It was fun to make and I hope it gets accepted.

I'm going to close this for housekeeping but feel free to resubmit again later.


feat: Support non-complicated x86_64 builds.

Post-merge feature after #14:
If we can find a way to give the TARGETPLATFORM build argument a default value of linux/amd64, we can make the build process simpler.
From: https://github.com/dogecoin/docker/pull/14#r754617790

The idea is to detect the architecture inside the Dockerfile, right ? Not to enable the user to use --build-arg with some trick ?
Possible dpkg may let us do the job. I would love to see output of command like:

dpkg --print-architecture
dpkg-architecture --query DEB_BUILD_GNU_TYPE
dpkg-architecture --query DEB_BUILD_MULTIARCH
dpkg-architecture --query DEB_BUILD_ARCH

For architectures amd64, arm64, armv7 & i386.

Architecture
--print-architecture
DEB_BUILD_GNU_TYPE
DEB_BUILD_MULTIARCH
DEB_BUILD_ARCH

amd64
amd64
x86_64-linux-gnu
x86_64-linux-gnu
amd64

arm64

armv7
armhf
arm-linux-gnueabihf
arm-linux-gnueabihf
armhf

i386

Not sure how I can get other value, if anyone has any missing arch and can share some outputs, I will also try to investigate with Docker and with Internet if I could find it.
Idk if there are any other commands who can retrieve architecture, if someone has a suggestion.

With the research result, what comes to my mind is using dpkg --print-architecture and doing something like that:
RUN apt install -y dpkg-dev

RUN set -ex && TARGETPLATFORM=$(dpkg --print-architecture) && \
    if [ "${TARGETPLATFORM}" = "amd64" ]; then TARGETPLATFORM=x86_64-linux-gnu; fi \
    && if [ "${TARGETPLATFORM}" = "arm64" ]; then TARGETPLATFORM=aarch64-linux-gnu; fi \
    && if [ "${TARGETPLATFORM}" = "armhf" ]; then TARGETPLATFORM=arm-linux-gnueabihf; fi \
    && if [ "${TARGETPLATFORM}" = "i386" ]; then TARGETPLATFORM=i686-pc-linux-gnu; fi \
    && wget https://github.com/dogecoin/dogecoin/releases/download/v${VERSION}/dogecoin-${VERSION}-${TARGETPLATFORM}.tar.gz


Update Terraform Provider to v5.38.0

Description of your changes

Fixes #577
I have:

[x] Read and followed Crossplane's contribution process.
[x] Run make reviewable to ensure this PR is ready for review.
[ ] Added backport release-x.y labels to auto-backport this PR if necessary.

How has this code been tested

Hey @turkenf,
thanks for the detailed explanation, I hope I got everything right this time.

thanks for the detailed explanation, I hope I got everything right this time.

@mauricewittek, I haven't checked it in detail, but the changes you made seem proper. But we may have to wait for this PR for a while due to the problem mentioned in this comment, which we should fix.
We also need to investigate why the v1beta2 versions of the Table.bigtable and Dataset.healthcare resources, which we noticed in this PR, were created. We may need to remove these versions if necessary.
I will keep you informed, thank you 🙏

Hi @mauricewittek,
After this fix, we should no longer generate v1beta2 versions for the resources I mentioned above. Could you please reset your branch to main, make changes in Makefile and go.mod, and run make generate again?

@turkenf I messed this up somehow. :see_no_evil:
I opened up a new PR here, hope this is ok: https://github.com/crossplane-contrib/provider-upjet-gcp/pull/593


[BUG] Module augmentation causes import to be tree-shaken (is removed from output)

I'm not certain this is a ts-macros bug or a ts-patch bug, but my perception would be that:

ts-patch shouldn't be doing anything except allowing patching (unless that's incorrect)
ts-macros is the only transformer I'm using

The bug and all its details are here.
To re-summarize:
// chevrotain.d.ts
declare module 'chevrotain' {
  interface CstParser {
    // things that augment this type
  }
}

// cssParser.ts
import { CstParser, EOF } from 'chevrotain'

class CssParser extends CstParser {
 // class implementation
}

// outputs
import { EOF } from 'chevrotain'

Someone on the TypeScript team investigated and said that disabling ts-patch (which disables ts-macros) solves this bug.

Hello! Yes, the issue is definitely coming from this library, thanks for the bug report!


ImportError: /usr/local/lib/python3.10/dist-packages/transformer_engine_extensions.cpython-310-x86_64-linux-gnu.so: undefined symbol: _ZN5torch3jit17parseSchemaOrNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE

I installed vllm and proceeded with import vllm, but the error occurred as above. i dont know how to solve this problem.
installation environment is as follows.

vllm : 0.3.3
cuda : 12.1
python : 3.10.6
torch : 2.1.2
transformers : 4.38.2
transformer-engine : 0.10.0
accelerate : 0.23.0
xformers : 0.0.23.post1

Please help out if anyone solved this issue.

Why do you need to import transformer_engine, I believe vllm does not use it.

Why do you need to import transformer_engine, I believe vllm does not use it.

When i uninstall transformer_engine, it causes error.
pip uninstall transformer_engine
ModuleNotFoundError : No module named 'vllm._C

Can you install vllm in a fresh new environment? e.g. conda create -n myenv python=3.9 -y
I don't find any public library named transformer_engine . You might have a complicated environment.

If you installed vllm using pip, building from source could be a solution.
https://github.com/vllm-project/vllm/issues/3630#issuecomment-2024820015

Why do you need to import transformer_engine, I believe vllm does not use it.
ImportError: /home/pangpangxuan/anaconda3/envs/vllmenv/lib/python3.9/site-packages/vllm/_C.cpython-39-x86_64-linux-gnu.so: undefined symbol: _ZN2at4_ops15to_dtype_layout4callERKNS_6TensorEN3c108optionalINS5_10ScalarTypeEEENS6_INS5_6LayoutEEENS6_INS5_6DeviceEEENS6_IbEEbbNS6_INS5_12MemoryFormatEEE
环境：
nvidia-cublas-cu11        <IP_ADDRESS>
nvidia-cublas-cu12        <IP_ADDRESS>
nvidia-cuda-cupti-cu11    11.8.87
nvidia-cuda-cupti-cu12    12.1.105
nvidia-cuda-nvrtc-cu11    11.8.89
nvidia-cuda-nvrtc-cu12    12.1.105
nvidia-cuda-runtime-cu11  11.8.89
nvidia-cuda-runtime-cu12  12.1.105
nvidia-cudnn-cu11         <IP_ADDRESS>
nvidia-cudnn-cu12         <IP_ADDRESS>
nvidia-cufft-cu11         <IP_ADDRESS>
nvidia-cufft-cu12         <IP_ADDRESS>
nvidia-curand-cu11        <IP_ADDRESS>
nvidia-curand-cu12        <IP_ADDRESS>
nvidia-cusolver-cu11      <IP_ADDRESS>
nvidia-cusolver-cu12      <IP_ADDRESS>
nvidia-cusparse-cu11      <IP_ADDRESS>
nvidia-cusparse-cu12      <IP_ADDRESS>
nvidia-nccl-cu11          2.19.3
nvidia-nccl-cu12          2.19.3
nvidia-nvjitlink-cu12     12.4.99
nvidia-nvtx-cu11          11.8.86
nvidia-nvtx-cu12          12.1.105
tokenizers                0.15.2
torch                     2.2.2+cu118
torchaudio                2.2.2+cu118
torchvision               0.17.2+cu118
tqdm                      4.66.2
transformers              4.39.2
triton                    2.2.0
typing_extensions         4.10.0
urllib3                   2.2.1
uvicorn                   0.29.0
uvloop                    0.19.0
vllm                      0.2.4+cu118
xformers                  0.0.25.post1+cu118
python=3.9
清华哥  我也遇到了相似的问题 这个怎么解决呢？

If you installed vllm using pip, building from source could be a solution.
#3630 (comment)

Thank you for your advice. In my case, I didn't install vllm as a pip. (environment building at local)
However, it was confirmed that it  was a conflict of various libraries (e.g., pytorch, vllm, cuda).
In conclusion, I downgraded the vllm version to build the environment (0.3.3 to 0.2.2) and solved it!

I have updated the build from source section in installation document: https://docs.vllm.ai/en/latest/getting_started/installation.html#build-from-source
The most important thing: install cudatoolkit, start in a fresh new conda environment. Then all you need would be just pip install -e . or python setup.py develop .
You can have a try with the latest code or the newly released 0.4.0 version. Hope it helps.


Web Api with IS3 authenticate with IS4 Server

Hi,
I have created my authentication server with IS4, by architecture our web api can not be developed in Net Core, so our web api is with Net Framework 4.7 will have AccessTokenValidation of IS3; my question is how should I configure my web api with IS3 to be authenticated in IS4. I searched the internet and found nothing, I would appreciate your help (example).
Thanks and excuse my English

We have cross-version tests to show some of this: https://github.com/IdentityServer/CrossVersionIntegrationTests

Hi,
Thank you very much, it was what I needed; I already tested it and it works correctly.


Is there a version 3.0 coming out?

Is there a version 3.0 coming out? A few months ago you (Chris) said you're busy working on another FOSS project. Should we expect a version 3.0 sometime this year?

Is there a version 3.0 repository that can be hacked on?

Version 3 probably won't be out this year, but it has been started. The emphasis for version 3 is .NET core on Docker, so that updates to Roadkill can be done effortless. Right now updates are a complete pain, particularly any settings migration.
To migrate to version 3 I need to convert a few of the dependencies over to newer libraries:

HtmlSanitizer (done)
MongoDB (trivial)
Remove Lightspeed, move to Repositories with SQL inside (done)
Remove Creole (In progress)
Move from MarkdownSharp to Markdig (in progress)
Lucene.net (todo)

Once these are done, it's then a case of converting the projects to xproj and project.json which should be fairly straightforward. There's probably going to be Microsoft tooling for this in the new year though, which will make it even easier.
There's going to be no new versions until version 3 - so master is being used for these new changes. If you need the last version 2.x there's still a tag for that.
Once version 3 is out, master will be stable and Roadkill will move to feature-branches.


dynamic HamburgerButtonInfo navigate/highlighting bug

hey,
when i create the HamburgerButtonInfo items in code-behind file, then the navigation on tap navigates twice to the view and on back, the button is not marked correctly, example on github:
https://github.com/crazycreak/Template10Hamburger/compare/dynamic_navigation
build with nuget 1.1.3 Template10 Hamburger Template
is the usage correct or is there a better solution?

And i have a second question, is it possible to outsource the StackPanel/Template to an xaml file (for example as an Datatemplate) and bind it to the HamburgerButtonInfo (or as ItemTemplate for the MyHamburgerMenu.PrimaryButtons)?

I think the second question is the same i reported here
It would be nice if we could get HamburgerButtonInfo content bindig.
Thanks

my solution for the HamburgerButtonInfo Template is to use an usercontrol, for example
https://github.com/crazycreak/Template10Hamburger/tree/dynamic_navigation_workaround

Sorry, I cannot reproduce this.
Template10.Services.LoggingService.LoggingService.Enabled = false;
var stackPanel = new StackPanel
{
    Orientation = Orientation.Horizontal
};
stackPanel.Children.Add(new SymbolIcon
{
    Width = 48,
    Height = 48,
    Symbol = Symbol.UnSyncFolder
});
stackPanel.Children.Add(new TextBlock
{
    Margin = new Thickness(12, 0, 0, 0),
    VerticalAlignment = VerticalAlignment.Center,
    Text = "UnSync Folder"
});
var button = new HamburgerButtonInfo
{
    Content = stackPanel,
    ButtonType = HamburgerButtonInfo.ButtonTypes.Toggle,
    ClearHistory = false,
    PageType = typeof(Views.DetailPage)
};
button.Tapped += (s, args) =>
{
    System.Diagnostics.Debug.WriteLine(">> Tapped <<");
};
MyHamburgerMenu.PrimaryButtons.Add(button);

@JerryNixon when you clone my example project, check out "dynamic_navigation" branch, run it and click on an "ItemPage" in the navigation, then the bug occurs (breack point in ViewModels/ItemPageViewModel -> OnNavigatedToAsync)
https://github.com/crazycreak/Template10Hamburger

and on back navigation, the button is not marked correctly


fix: Rename DEBUG to DEBUG_FLAGS

This avoids issues with environments where DEBUG is set to an arbitrary
value to force debug mode in other tools.
BREAKING CHANGE: This breaks builds that explicitely set DEBUG to
some value (even the empty value).
To get back the old behaviour change the DEBUG_FLAGS
variable now.
Cloes #381

@not-a-robot r+

@not-a-robot r-

@not-a-robot r+

@badboy funny that I bumped into this issue only a few days ago.
Any chance of a hiredis-rb release with this fix too?

I try to get this out ASAP with updates to hiredis-{rb,node,py}

That'd be great, thank you


Inaccurate results for sentence count

Using the following text as example

Disagree with the light-rail fare increases? You can join the noise barrages and “selfie protests” slated > for Monday, the first working day of the new year.The commuter group Riles Laan sa Sambayanan
(Riles Network) and the Nagkaisa labor coalition will be leading the protest actions at various stations > of the Metro Rail Transit (MRT) and Light Rail Transit (LRT).‘Clap 2 Stop’The Riles Network said it would > hold the “Clap 2 Stop” protest at the MRT North Avenue Station, the LRT-1 Monumento Station and
the LRT-2 Recto Station, from 7 a.m. to 9 a.m. Monday.Commuters will be asked to clap or make noise > inside the stations to express their opposition to the fare hikes.Nagkaisa, meanwhile, urges the riding > public to take selfies or “groufies” Monday holding mini-posters expressing their opposition.The
photos could then be posted on social networking sites with the #MRTprotest hashtag.People’s
rightNagkaisa members Partido Manggagawa and the Philippine Airlines Employees Association will
lead the Monday protest at the MRT Pasay-Taft Station, while the Sentro ng Nagkakaisang
Manggagawa will lead the protest at the MRT North Avenue Station.“Let us make our voices heard:
Safe, efficient and affordable mass transportation is a right of the people and should not be turned
into a business of a few,” Riles Network spokesperson Sammy Malunes urged the
public.‘Treachery’Malunes decried the government’s “treachery” in approving the fare hikes without
public consultations.Nagkaisa said the fare hikes were an “assault on workers’ living conditions” by the > government.It said workers and students made up the bulk of regular train riders.“The Aquino
administration has not only failed to address the traffic mess, it is shamelessly adding a three-fold
burden to workers who will have to shell out more for their own train fare and that of their children
who go to school,” said Julius Cainglet of the Federation of Free Workers.The coalition said the “87
percent” fare increase was not even for the improvement of train services, but only to pay debts to a
private concessionaire.‘Dagger to workers’ income’One of the worker groups protesting the fare hikes > is the BPO Industry Employees’ Network (BIEN), as most business process outsourcing (BPO) hubs and > call centers are located within the radius of both the MRT and LRT train systems.“The MRT and LRT fare > hike is like a dagger to workers’ income as this will cut 10 to 15 percent of workers’ income for
transportation alone,” BIEN president Ian Porquia said.“The average income of a BPO worker ranges
from P12,000 to P21,000 a month. On a daily basis, a worker already has to set aside P28 a day or P560 > a month for MRT fare. But with the increase, the cost for MRT fare will become P48 a day or P960 a
month. For a minimum wage earner in the BPO industry, that is equivalent to 10 percent of his or her > income going to MRT fare alone,” he said.#StrikeTheHikeThe protests started on Sunday, the first day > of the fare hikes’ implementation, with the #StrikeTheHike Network going on a selfie protest at LRT-
2.The militant youth group Anakbayan also held a lightning sitdown protest at the MRT North Avenue > Station at noon Sunday.The protest actions Monday will coincide with a plan by militant groups to file > a petition in the Supreme Court to suspend the fare hikes."

The ARI it scores is 48 while the sentence count is only 6.

Hi alxwrd!
Sorry for getting back to you late. This is what I did for temporarily, although I've just spot checked the results, so far its pretty accurate:
def preprocess(text):
    text = re.sub(r'[,:;()\-]', ' ', text)            # Override commas, colons, etc to spaces/
    text = re.sub(r'[\.!?]', '.', text)               # Change all terminators like ! and ? to "."
    text = re.sub(r'^\s+', '', text)                  # Remove whites pace
    text = re.sub(r'[ ]*(\n|\r\n|\r)[ ]*', ' ', text) # Remove new lines
    text = re.sub(r'([\.])[\. ]+', '.', text)         # Change all ".." to "."
    text = re.sub(r'[ ]*([\.])', '. ', text)          # Normalize all "."`
    text = re.sub(r'\s+', ' ', text)                  # Remove multiple spaces
    text = re.sub(r'\s+$', '', text);                 # Remove trailing spaces
    return text

def count_sentence(text):
    text = preprocess(text)
    return max(1, len(re.sub(r'[^\.!?]', '', text)))

I don't think these metrics mean a lot out of textbook reading difficulty domain. The final values are also very dependant on the preprocessing on the input text.

Could adding https://github.com/jfilter/clean-text help with this?

I've just merged #171 which includes a new sentence count. It addresses some issues that have been raised in this issue. I am also working on a new regex for textstat/textstat-core to address the edge cases.

Any update?


Update Composer dependencies (2024-07-17-00-19)

Visual regression test passed!
View the visual regression test report


Prepare the old site for after the switch

After we switched to the rewrite, we'll keep the old site running:

at old.metaculus.com
with a large visible banner saying "this is an old obsolete version, any action you take here will not be migrated to the new version".
not sending any emails.
anything else?

The banner, and email suppression, should only apply to the main subdomain (currently at www), not to any subdomains like eurasiagroup.metaculus.com or forpol.metaculus.com.

cc @casens5 do you think you could do the changes here ? @hlibowski can help with the DNS

We should point old.metaculus.com to it already and have the banner announcing the release date

Notes from rewrite sync just now:

There will be some amount of time when the site is unavailable while we make the Final Db Dump - prob around two hours
Tentative Plan: Once we've closed the high-priority issues that are open right now, we'll do one more round of concerted internal QA and then put up the banner saying "we're launching the new site on x day, site will be ... from [time] etc"
@hlibowski suggests make DB read-only during transition?
@hickman-santini to ask Ryan or Christian what time zones people visit the site from so we can choose best time for site to be "down"
@George3d6 what time zone are you in?

@ncarazon create the PR, don't merge it until new site is launched. Thank you!

@hickman-santini just confirming what should be done from my side in terms of this task: I should add a banner with a similar UI that we have on production with a text, mentioned in the description. The PR should be created for the rewrite repo, not for the production one. Is this right?

@ncarazon no, this is for prod which is going to continue to be available at old.metaculus.com. There are a few more pieces of this task in the top description. We just made this issue here rather than on the other repo so we wouldn't forget to track it.

@hickman-santini I don't have access for the prod repo, so it probably faster for @lsabor to do the banner as well.

@hlbmtc subdomains that should still use the old codebase for now:

ai-forecasts.metaculus.com
ai.metaculus.com
algebraic-geometry.metaculus.com
alt-meat.metaculus.com
bain.metaculus.com
bethlehem.metaculus.com
bridgewater.metaculus.com
colorado.metaculus.com
covid.metaculus.com
czea.metaculus.co
delphi.metaculus.com
demo.metaculus.com
ea.metaculus.com
eurasiagroup.metaculus.com
ev.metaculus.com
forpol.metaculus.com
fortnightly.metaculus.com
intranet.metaculus.com
kitson.metaculus.com
Onebrief.metaculus.com
pandemic.metaculus.com
prague1.metaculus.com
prague2.metaculus.com
prague3.metaculus.com
seattle.metaculus.com
tom2test.metaculus.com
tomtest.metaculus.com
uva.metaculus.com

done


fix: log properly connection error from vertx

Issue
https://gravitee.atlassian.net/browse/APIM-484

Gravitee.io Automatic Deployment
🚀 A prerelease version of this package has been published on Gravitee's private artifactory, you can:

use it directly by updating your project with version: 2.0.10-apim-484-http-connector-log-connection-error-SNAPSHOT
download it from Artifactory here

:tada: This PR is included in version 2.0.10 :tada:
The release is available on:

2.0.10
GitHub release

Your semantic-release bot :package::rocket:


Global cache support

This was not an easy add... as, we have added quite a lot of specific per-package cache optimizations that a "global target" cache cannot take advantage of. So, we've had to go to the drawing board a bit and find the fastest way to hash globs. The answer came in the form of a rust-based solution.
changes in detail

target-graph needs to not override cache settings - allowing global targets to take cache
added glob-hasher as dependency
made glob-hasher an external dependency of lage itself so that the right version can be installed correctly
updated some snapshots since the we switched from sha1 for env hash -> git hash (which is sha1 over an extra header)

hasher.ts empty file


Adding issue forms for the repo

I want to add a few issue Forms so that it will be convenient for new contributors to open issues. I plan to create  Bug Report and Feature Request Forms. You can read more about issue forms here
The Bug Report issue form will have the following fields

Description of the bug
How to Reproduce
Expected behavior
Urgency indicator
Desktop Info (OS, Version, Browser etc):

The Feature Request issue form will have the following fields

Is your feature request related to a problem? Please describe.
Describe the solution you'd like
Describe alternatives you've considered

Timeline- I can complete this task by 3 March

Sure @MonarchGitHub  go ahead

Thanks, I'm on it.


Make owners API cache configurable

Closes #718

Coverage remained the same at 88.278% when pulling f19c5a97807116281ec1b9c6d0e36f3cf74a9009 on make-owners-cache-configurable into 5f363b63d91e3fd3c1c5d8f05bf90baae7e6dbb0 on master.


Pk/armor points

#23 Issues

I'm approving because you made suggested changes in PR #48 [Implement types of attack in fight module]