[SPARK-29682][SQL] Resolve conflicting references in aggregate expressions

What changes were proposed in this pull request?

This PR addresses issues where conflicting references in aggregate expressions fail to resolve.
Why are the changes needed?

val numsDF = Seq(1, 2, 3, 4, 5, 6).toDF("nums")
val cubeDF = numsDF.cube("nums").agg(max(lit(0)).as("agcol"))
cubeDF.join(cubeDF, "nums").show

fails with the following exception:
org.apache.spark.sql.AnalysisException:
Failure when resolving conflicting references in Join:
'Join Inner
:- Aggregate [nums#38, spark_grouping_id#36], [nums#38, max(0) AS agcol#35]
:  +- Expand [List(nums#3, nums#37, 0), List(nums#3, null, 1)], [nums#3, nums#38, spark_grouping_id#36]
:     +- Project [nums#3, nums#3 AS nums#37]
:        +- Project [value#1 AS nums#3]
:           +- LocalRelation [value#1]
+- Aggregate [nums#38, spark_grouping_id#36], [nums#38, max(0) AS agcol#58]
   +- Expand [List(nums#3, nums#37, 0), List(nums#3, null, 1)], [nums#3, nums#38, spark_grouping_id#36]
      +- Project [nums#3, nums#3 AS nums#37]
         +- Project [value#1 AS nums#3]
            +- LocalRelation [value#1]

Conflicting attributes: nums#38

Currently, ResolveReferences.dedupRight can handle deduping Aggregate's expressions only if they are aliases. For example, in the above example, the conflicting attributes were nums#38 and agcol#35, and you can see that alcol#35 is replaced with algo#58 because it is an alias, but num#38 is not handled because it is an AttributeReference, resulting in the analysis failure:
Aggregate [nums#38, spark_grouping_id#36], [nums#38, max(0) AS agcol#58]

This PR makes resolving conflicting references in Aggregate's expressions more robust to handle AttributeReference in addition to Alias.
Does this PR introduce any user-facing change?

Yes, the previous example now shows the following output:
+----+-----+-----+
|nums|agcol|agcol|
+----+-----+-----+
|   1|    0|    0|
|   6|    0|    0|
|   4|    0|    0|
|   2|    0|    0|
|   5|    0|    0|
|   3|    0|    0|
+----+-----+-----+

How was this patch tested?

Added new unit test.

cc: @cloud-fan @viirya

Test build #113476 has started for PR 26441 at commit b439d62.

Merged build finished. Test PASSed.

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

Test build #113476 has finished for PR 26441 at commit b439d62.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
public class DateTimeConstants
public final class CalendarInterval implements Serializable, Comparable<CalendarInterval>
case class LocalShuffleReaderExec(child: SparkPlan) extends UnaryExecNode
class ContinuousRecordEndpoint(buckets: Seq[Seq[UnsafeRow]], lock: Object)

Merged build finished. Test PASSed.

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

Merged build finished. Test PASSed.

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

Test build #113506 has started for PR 26441 at commit d815362.

Test build #113506 has finished for PR 26441 at commit d815362.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class MergeIntoTable(
sealed abstract class MergeAction(
case class DeleteAction(condition: Option[Expression]) extends MergeAction(condition)
case class UpdateAction(
case class InsertAction(
case class Assignment(key: Expression, value: Expression) extends Expression with Unevaluable

Merged build finished. Test PASSed.

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

Test build #113565 has started for PR 26441 at commit 7a295cd.

Merged build finished. Test PASSed.

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

It's better to explain why the bug happens in the PR description. I don't understand the current fix, just FYI why we only handle alias in Project: The self-join dedup logical tries to find the root which causes conflicts. Sometimes it's alias in Project, sometimes it's leaf node. For attributes in Project, there must be other nodes under Project that cause the conflicts.

Test build #113565 has finished for PR 26441 at commit 7a295cd.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Thanks @cloud-fan. I updated the PR description, and please let me know if you need additional info. Also, let me know if updating Project is not necessary.

retest this please

Test build #113601 has started for PR 26441 at commit 7a295cd.

Merged build finished. Test PASSed.

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

This issue can happen other than the cube aggregate as shown above?

Test build #113601 has finished for PR 26441 at commit 7a295cd.

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

Merged build finished. Test PASSed.

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

@imback82 thanks for updating the PR description! I see the problem now. The nums#38 attribute is conflicting and it comes from Expand. Ideally we should let Expand to re-generate its output attributes, but the Expand doesn't clearly distinguish the output attributes from its child and the output attributes of itself.
I think we should change Expand to follow Generate
case class Expand(..., additionalOutput: Seq[Attribute]) {
  override def producedAttributes: AttributeSet = AttributeSet(additionalOutput)
  def output = child.output ++ additionalOutput
}

And also follow how we dedup Generate:
case oldVersion: Generate
            if oldVersion.producedAttributes.intersect(conflictingAttributes).nonEmpty =>
          val newOutput = oldVersion.generatorOutput.map(_.newInstance())
          (oldVersion, oldVersion.copy(generatorOutput = newOutput))

Thanks @cloud-fan! Your suggested solution of updating Expand works as expected. However, I do not think the following
def output = child.output ++ additionalOutput

is always true.
For example,
Expand [List(nums#3, nums#37, 0), List(nums#3, null, 1)], [nums#3, nums#38, spark_grouping_id#36]
  +- Project [nums#3, nums#3 AS nums#37]

#37 is an output of child, but not an output of Expand.
So instead of adding additionalOutput to Expand, I just did the following:
case oldVersion: Expand if oldVersion.producedAttributes.intersect(conflictingAttributes).nonEmpty =>
  val producedAttributes = oldVersion.producedAttributes
  val newOutput = oldVersion.output.map{ e =>
    if (producedAttributes.contains(e)) { e.newInstance() } else { e } }
  (oldVersion, oldVersion.copy(output = newOutput))

where Expand.producedAttributes is updated as:
override def producedAttributes: AttributeSet = AttributeSet(output diff child.output)

Let me know if this approach is fine instead of updating Expand.

Sound good!

+1 for the proposed fix. And please also update the PR title and description accordingly.

Test build #113739 has started for PR 26441 at commit 11927c3.

Merged build finished. Test PASSed.

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

Merged build finished. Test PASSed.

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

Test build #113740 has started for PR 26441 at commit e743133.

Test build #113739 has finished for PR 26441 at commit 11927c3.

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

Merged build finished. Test PASSed.

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

Test build #113740 has finished for PR 26441 at commit e743133.

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

Merged build finished. Test PASSed.

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

thanks, merging to master/2.4!

thanks @cloud-fan @maropu @viirya @dongjoon-hyun for review and help!

Thank you so much!


Nuxt 3 Support

Hey :wave: It looks like this module hasn't been updated for Nuxt 3. In an effort to improve the developer experience of modules, I've updated the module to clarify that it only supports Nuxt 2.
If Nuxt 3 support is added it will be moved to the https://github.com/nuxt-modules organisation.
Alternatives:

https://github.com/wattanx/style-resources-module
https://github.com/nuxt-community/style-resources-module/issues/190#issuecomment-956128536

@manniL  Is Nuxt 3 support something you have planned? If not, perhaps we can deprecate this module.
Please let us know and thanks for your work!

I'm more than happy to join efforts with @wattanx's module 👍

Thanks!
I have confirmed that my module works with Nuxt 3, so it should be easy to create a PR 😄

@wattanx Awesome! A PR here would be much appreciated 🙏

@wattanx Thanks for working on this 🙏
I've started working on migrating my companies Nuxt 2 projects to Nuxt 3
@manniL Any predictions on when this can go live?

v2 has been released! Thanks a lot to @wattanx for the effort and work 🙏


NullPointerException instead of the LockException

Search first

[X] I searched and no similar issues were found

Description
I would like to report a (potential) bug for
<!-- https://mvnrepository.com/artifact/org.liquibase/liquibase-core -->
<dependency>
    <groupId>org.liquibase</groupId>
    <artifactId>liquibase-core</artifactId>
    <version>4.25.1</version>
</dependency>

In the class AbstractUpdateCommandStep exists a line (133) which leads to a null pointer exception:
        } catch (Exception e) {
            DatabaseChangeLog databaseChangeLog = (DatabaseChangeLog) commandScope.getDependency(DatabaseChangeLog.class);
            addChangelogFileToMdc(getChangelogFileArg(commandScope), databaseChangeLog);
            logDeploymentOutcomeMdc(changeExecListener, false, updateReportParameters);
            **updateReportParameters.getOperationInfo().setException(e.getCause().getMessage());**
            resultsBuilder.addResult("statusCode", 1);
            throw e;
        } finally {

The problem ist in the Throwable class:
    public synchronized Throwable getCause() {
        return (cause==this ? null : cause);
    }

You see that the result can be null when cause and this are the same object.
In case of a LockException this is true and in my application I got the NullPointerException istead of the LockException.
In version 4.25.0 the line is missing and everything works fine.
Steps To Reproduce
Set a lock in corresponding table like the following:
INSERT INTO public.databasechangeloglock (id, locked, lockgranted, lockedby) VALUES (1, true, '2023-10-28 10:53:53.811', 'DESKTOP-4711 (<IP_ADDRESS>)');
Start the application build with Liquibase 4.25.1
Expected/Desired Behavior
Make sure that a LockException is thrown and NOT a NullPointerException.
For example like this in line 133:
updateReportParameters.getOperationInfo().setException(e.getCause() == null ? e.getMessage() : e.getCause().getMessage());
Liquibase Version
4.25.1
Database Vendor & Version
All
Liquibase Integration
maven
Liquibase Extensions
No response
OS and/or Infrastructure Type/Provider
All
Additional Context
No response
Are you willing to submit a PR?

[ ] I'm willing to submit a PR (Thank you!)

@peter-broszeit thanks for the detailed issue! PR https://github.com/liquibase/liquibase/pull/5606/files should fix it.


MVP polish: Vector image support

The Learn About section currently has icons and padding. To support vector images we need to add support for them. And Cherrie needs to export the images to be imported and placed in the page.

This is pretty involved (unfortunately) but here are some notes:

There doesn't appear to be any good support for simply referencing an SVG file straight from
RN and rendering it. The built in Image component doesn't support svgs.
There is a library for loading SVG uris (https://github.com/vault-development/react-native-svg-uri)  but I couldn't actually get it to work and the project seems pretty abandoned and very buggy
react-native-svg is the library used to create svgs in react native and is shipped with Expo so we have access to it
react-native-svg allows you to create svg components which you can then render on the screen
The format of our svgs will be a file, we can convert the file to a component using https://github.com/chrisbull/svg-to-react-native-cli

I'm not very happy to find that this has been somewhat overlooked in the RN community. Currently where I'm at with this is the file -> component approach.

This looks to be a popular feature request: https://react-native.canny.io/feature-requests?sort=top (at the time of writing this was the top one)


add new functionality to ajax request

Please specify a description about the feature that you want. It's going to be implemented to the next release v2.0.0 with another new features.


Pulumi up  - too many failed attepmts to IAM/GetUser and STS/GetCallerIdentity - execution time is not stable

Community
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).
What happened?
When pulumi up happen with my stack with debug option, then I see 25 failed attempts to AWS services:
iam.amazonaws.com  - 25 failed attempts
I0527 07:43:16.149132   39596 eventsink.go:59] Accept-Encoding: gzip
I0527 07:43:16.149161   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>Accept-Encoding: gzip<{%reset%}>)
I0527 07:43:16.149424   39596 eventsink.go:59]
I0527 07:43:16.149435   39596 eventsink.go:62] eventSink::Debug(<{%reset%}><{%reset%}>)
I0527 07:43:16.149723   39596 eventsink.go:59] Action=GetUser&Version=2010-05-08
I0527 07:43:16.149737   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>Action=GetUser&Version=2010-05-08<{%reset%}>)
I0527 07:43:35.728092   39596 eventsink.go:59] [aws-sdk-go-v2] retrying request IAM/GetUser, attempt 23
I0527 07:43:35.728134   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>[aws-sdk-go-v2] retrying request IAM/GetUser, attempt 23<{%reset%}>)
I0527 07:43:35.729579   39596 eventsink.go:59] [aws-sdk-go-v2] Request
I0527 07:43:35.729617   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>[aws-sdk-go-v2] Request<{%reset%}>)
I0527 07:43:35.730440   39596 eventsink.go:59] POST / HTTP/1.1
I0527 07:43:35.730502   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>POST / HTTP/1.1<{%reset%}>)
I0527 07:43:35.731046   39596 eventsink.go:59] Host: iam.amazonaws.com
I0527 07:43:35.731074   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>Host: iam.amazonaws.com<{%reset%}>)
I0527 07:43:35.731471   39596 eventsink.go:59] User-Agent: APN/1.0 Pulumi/1.0 Pulumi/1.0 Pulumi-Aws/0.11+compatible (+https://www.pulumi.com) aws-sdk-go-v2/1.16.2 os/macos lang/go/1.17.9 md/GOOS/darwin md/GOARCH/amd64 api/iam/1.18.0
I0527 07:43:35.731519   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>User-Agent: APN/1.0 Pulumi/1.0 Pulumi/1.0 Pulumi-Aws/0.11+compatible (+https://www.pulumi.com) aws-sdk-go-v2/1.16.2 os/macos lang/go/1.17.9 md/GOOS/darwin md/GOARCH/amd64 api/iam/1.18.0<{%reset%}>)
I0527 07:43:35.731938   39596 eventsink.go:59] Content-Length: 33
I0527 07:43:35.731993   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>Content-Length: 33<{%reset%}>)
I0527 07:43:35.732345   39596 eventsink.go:59] Amz-Sdk-Invocation-Id: 399c8b1a-4271-4001-ae77-bbc4ceac1436
I0527 07:43:35.732366   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>Amz-Sdk-Invocation-Id: 399c8b1a-4271-4001-ae77-bbc4ceac1436<{%reset%}>)
I0527 07:43:35.732895   39596 eventsink.go:59] Amz-Sdk-Request: attempt=23; max=25
I0527 07:43:35.732915   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>Amz-Sdk-Request: attempt=23; max=25<{%reset%}>)
I0527 07:43:35.733300   39596 eventsink.go:59] Authorization: AWS4-HMAC-SHA256 Credential=AKIA2UAQ2YM2RBWIU73Q/20220527/us-east-1/iam/aws4_request, SignedHeaders=amz-sdk-invocation-id;amz-sdk-request;content-length;content-type;host;x-amz-date, Signature=b0c9e5cbb099fae9e4f2b4bbef0af982cef963c2a1d579bc56bb40c9b42773bb
I0527 07:43:35.733329   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>Authorization: AWS4-HMAC-SHA256 Credential=AKIA2UAQ2YM2RBWIU73Q/20220527/us-east-1/iam/aws4_request, SignedHeaders=amz-sdk-invocation-id;amz-sdk-request;content-length;content-type;host;x-amz-date, Signature=b0c9e5cbb099fae9e4f2b4bbef0af982cef963c2a1d579bc56bb40c9b42773bb<{%reset%}>)
I0527 07:43:35.744170   39596 eventsink.go:59] Content-Type: application/x-www-form-urlencoded
I0527 07:43:35.744187   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>Content-Type: application/x-www-form-urlencoded<{%reset%}>)
I0527 07:43:35.744428   39596 eventsink.go:59] X-Amz-Date: 20220527T054335Z
I0527 07:43:35.744442   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>X-Amz-Date: 20220527T054335Z<{%reset%}>)

sts.us-east-1.amazonaws.com - 25 failed attempts
I0527 07:44:45.796909   39596 eventsink.go:59] Trying to get account information via sts:GetCallerIdentity
I0527 07:44:45.796988   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>Trying to get account information via sts:GetCallerIdentity<{%reset%}>)
I0527 07:44:45.797981   39596 eventsink.go:59] [aws-sdk-go-v2] Request
I0527 07:44:45.798008   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>[aws-sdk-go-v2] Request<{%reset%}>)
I0527 07:44:45.798453   39596 eventsink.go:59] POST / HTTP/1.1
I0527 07:44:45.798478   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>POST / HTTP/1.1<{%reset%}>)
I0527 07:44:45.798812   39596 eventsink.go:59] Host: sts.us-east-1.amazonaws.com
I0527 07:44:45.798829   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>Host: sts.us-east-1.amazonaws.com<{%reset%}>)
I0527 07:44:45.799218   39596 eventsink.go:59] User-Agent: APN/1.0 Pulumi/1.0 Pulumi/1.0 Pulumi-Aws/0.11+compatible (+https://www.pulumi.com) aws-sdk-go-v2/1.16.2 os/macos lang/go/1.17.9 md/GOOS/darwin md/GOARCH/amd64 api/sts/1.16.0
I0527 07:44:45.799236   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>User-Agent: APN/1.0 Pulumi/1.0 Pulumi/1.0 Pulumi-Aws/0.11+compatible (+https://www.pulumi.com) aws-sdk-go-v2/1.16.2 os/macos lang/go/1.17.9 md/GOOS/darwin md/GOARCH/amd64 api/sts/1.16.0<{%reset%}>)
I0527 07:44:45.799505   39596 eventsink.go:59] Content-Length: 43
I0527 07:44:45.799536   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>Content-Length: 43<{%reset%}>)
I0527 07:44:45.799827   39596 eventsink.go:59] Amz-Sdk-Invocation-Id: 215d07b8-592e-4be3-b418-d297df4c6381
I0527 07:44:45.799845   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>Amz-Sdk-Invocation-Id: 215d07b8-592e-4be3-b418-d297df4c6381<{%reset%}>)
I0527 07:44:45.806537   39596 eventsink.go:59] Amz-Sdk-Request: attempt=1; max=25
I0527 07:44:45.806554   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>Amz-Sdk-Request: attempt=1; max=25<{%reset%}>)
I0527 07:44:45.806916   39596 eventsink.go:59] Authorization: AWS4-HMAC-SHA256 Credential=AKIA2UAQ2YM2RBWIU73Q/20220527/us-east-1/sts/aws4_request, SignedHeaders=amz-sdk-invocation-id;amz-sdk-request;content-length;content-type;host;x-amz-date, Signature=f8b3bcf87bb13e6c23811983a25121a00ccd5a51ea6eb8577dd624e4b588932a
I0527 07:44:45.806940   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>Authorization: AWS4-HMAC-SHA256 Credential=AKIA2UAQ2YM2RBWIU73Q/20220527/us-east-1/sts/aws4_request, SignedHeaders=amz-sdk-invocation-id;amz-sdk-request;content-length;content-type;host;x-amz-date, Signature=f8b3bcf87bb13e6c23811983a25121a00ccd5a51ea6eb8577dd624e4b588932a<{%reset%}>)
I0527 07:44:45.807190   39596 eventsink.go:59] Content-Type: application/x-www-form-urlencoded
I0527 07:44:45.807210   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>Content-Type: application/x-www-form-urlencoded<{%reset%}>)
I0527 07:44:45.807430   39596 eventsink.go:59] X-Amz-Date: 20220527T054445Z
I0527 07:44:45.807442   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>X-Amz-Date: 20220527T054445Z<{%reset%}>)
I0527 07:44:45.807681   39596 eventsink.go:59] Accept-Encoding: gzip
I0527 07:44:45.807694   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>Accept-Encoding: gzip<{%reset%}>)
I0527 07:44:45.808005   39596 eventsink.go:59]
I0527 07:44:45.808018   39596 eventsink.go:62] eventSink::Debug(<{%reset%}><{%reset%}>)
I0527 07:44:45.808275   39596 eventsink.go:59] Action=GetCallerIdentity&Version=2011-06-15
I0527 07:44:45.808287   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>Action=GetCallerIdentity&Version=2011-06-15<{%reset%}>)
I0527 07:44:47.546952   39596 eventsink.go:59] [aws-sdk-go-v2] retrying request STS/GetCallerIdentity, attempt 3
I0527 07:44:47.546988   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>[aws-sdk-go-v2] retrying request STS/GetCallerIdentity, attempt 3<{%reset%}>)
I0527 07:44:47.547906   39596 eventsink.go:59] [aws-sdk-go-v2] Request
I0527 07:44:47.547934   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>[aws-sdk-go-v2] Request<{%reset%}>)
I0527 07:44:47.548408   39596 eventsink.go:59] POST / HTTP/1.1
I0527 07:44:47.548436   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>POST / HTTP/1.1<{%reset%}>)
I0527 07:44:47.548876   39596 eventsink.go:59] Host: sts.eu-west-1.amazonaws.com
I0527 07:44:47.548905   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>Host: sts.eu-west-1.amazonaws.com<{%reset%}>)
I0527 07:44:47.549373   39596 eventsink.go:59] User-Agent: APN/1.0 Pulumi/1.0 Pulumi/1.0 Pulumi-Aws/0.11+compatible (+https://www.pulumi.com) aws-sdk-go-v2/1.16.2 os/macos lang/go/1.17.9 md/GOOS/darwin md/GOARCH/amd64 api/sts/1.16.0
I0527 07:44:47.549397   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>User-Agent: APN/1.0 Pulumi/1.0 Pulumi/1.0 Pulumi-Aws/0.11+compatible (+https://www.pulumi.com) aws-sdk-go-v2/1.16.2 os/macos lang/go/1.17.9 md/GOOS/darwin md/GOARCH/amd64 api/sts/1.16.0<{%reset%}>)
I0527 07:44:47.549709   39596 eventsink.go:59] Content-Length: 43
I0527 07:44:47.549727   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>Content-Length: 43<{%reset%}>)
I0527 07:44:47.550085   39596 eventsink.go:59] Amz-Sdk-Invocation-Id: 0dda9736-c2ae-422c-953d-6368a942ce41
I0527 07:44:47.550121   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>Amz-Sdk-Invocation-Id: 0dda9736-c2ae-422c-953d-6368a942ce41<{%reset%}>)
I0527 07:44:47.550378   39596 eventsink.go:59] Amz-Sdk-Request: attempt=3; max=25
I0527 07:44:47.550391   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>Amz-Sdk-Request: attempt=3; max=25<{%reset%}>)
I0527 07:44:47.550712   39596 eventsink.go:59] Authorization: AWS4-HMAC-SHA256 Credential=ASIA2UAQ2YM2QGTDVKGC/20220527/eu-west-1/sts/aws4_request, SignedHeaders=amz-sdk-invocation-id;amz-sdk-request;content-length;content-type;host;x-amz-date;x-amz-security-token, Signature=31284be3ce7c1ffb06b6726af35c591c49b84b8eed1818b99ccf2507d8efce0e
I0527 07:44:47.550728   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>Authorization: AWS4-HMAC-SHA256 Credential=ASIA2UAQ2YM2QGTDVKGC/20220527/eu-west-1/sts/aws4_request, SignedHeaders=amz-sdk-invocation-id;amz-sdk-request;content-length;content-type;host;x-amz-date;x-amz-security-token, Signature=31284be3ce7c1ffb06b6726af35c591c49b84b8eed1818b99ccf2507d8efce0e<{%reset%}>)
I0527 07:44:47.554222   39596 eventsink.go:59] Content-Type: application/x-www-form-urlencoded
I0527 07:44:47.554247   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>Content-Type: application/x-www-form-urlencoded<{%reset%}>)
I0527 07:44:47.554533   39596 eventsink.go:59] X-Amz-Date: 20220527T054447Z
I0527 07:44:47.554548   39596 eventsink.go:62] eventSink::Debug(<{%reset%}>X-Amz-Date: 20220527T054447Z<{%reset%}>)

Steps to reproduce
no changes in stack codebase.
git clone https://github.com/masmix/pulumister
virtualenv venv
source venv/bin/activate

Case 1
TF_TRACE=DEBUG
pulumi up --yes -v=9 --logtostderr

Status: Success
Duration: 10m35s
80% time on failed attempts
Case 2
no changes in stack codebase.
pulumi up
Duration: 5m36s
Status: Success
failed attempts - unknown (Cause I don't know a method to check it without debug mode turn on)
Case 3
change Pulumi.pulumister.yaml
from
config:
  aws:profile: developer1_pulumi
  aws:region: eu-west-1

to
config:
  aws:profile: developer1_pulumi
  aws:region: us-east-1

TF_TRACE=DEBUG
pulumi up --yes -v=9 --logtostderr

Status:
Fail with error:
Can not get IAM user
Case 4
No codebase changes. Codebase the same like Case 3.
TF_TRACE=DEBUG
pulumi up --yes -v=9 --logtostderr

Status: Success
Duration: 9m14s
Case 5
no changes in stack codebase.
pulumi up
Status: Success
Duration: 9m
Stack updates
The same codebase.
https://app.pulumi.com/masmix/pulumister/pulumister/updates/17 - 5m4s
https://app.pulumi.com/masmix/pulumister/pulumister/updates/18 - 4m11s
https://app.pulumi.com/masmix/pulumister/pulumister/updates/19 - 12s
https://app.pulumi.com/masmix/pulumister/pulumister/updates/20 - 10m34s
https://app.pulumi.com/masmix/pulumister/pulumister/updates/21 - 5m35s
https://app.pulumi.com/masmix/pulumister/pulumister/updates/22 - 9m13s
https://app.pulumi.com/masmix/pulumister/pulumister/updates/22 - 45s
Configuration
IAM User policy:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iam:*",
                "sts:*",
                "cloudformation:*",
                "s3:*",
                "kms:*"
            ],
            "Resource": "*"
        }
    ]
}

Policy relationship:
{
    "Version": "2012-10-17",
    "Statement": {
        "Effect": "Allow",
        "Principal": { "AWS": "arn:aws:iam::{tools_account_id}:root" },
        "Action": "sts:AssumeRole"
    }
}

AWS Cli Profile:
developer1_pulumi - connected with IAM user pulumi wit above policies.
Environment:
Python 3.8.9
Hardware: MacBook Pro  - Intel
OS: MacOs Monterey 12.4
region: eu-west-1
Expected Behavior
Failed attempts to IAM and STS service  does not exists.
pulumi up - without update max 1 minute
Actual Behavior
80% command is consumed on failed attempts to IAM and STS services.
Versions used
(venv)  wkacz@C02ZJ9ZYLVDL  ~/pulumister   main ±  pulumi about
CLI
Version      3.33.1
Go Version   go1.18.2
Go Compiler  gc

Plugins
NAME    VERSION
aws     5.4.0
python  unknown

Host
OS       darwin
Version  12.4
Arch     x86_64

This project is written in python (/Users/wkacz/pulumister/venv/bin/python3 v3.8.9)

Current Stack: pulumister

TYPE                              URN
pulumi:pulumi:Stack               urn:pulumi:pulumister::pulumister::pulumi:pulumi:Stack::pulumister-pulumister
pulumi:providers:aws              urn:pulumi:pulumister::pulumister::pulumi:providers:aws::default_5_4_0
aws:s3/bucket:Bucket              urn:pulumi:pulumister::pulumister::aws:s3/bucket:Bucket::my-bucket
aws:s3/bucketObject:BucketObject  urn:pulumi:pulumister::pulumister::aws:s3/bucketObject:BucketObject::index.html

Found no pending operations associated with pulumister

Backend
Name           pulumi.com
URL            https://app.pulumi.com/masmix
User           masmix
Organizations  masmix

NAME        VERSION
pip         22.1.1
pulumi-aws  5.4.0
setuptools  62.3.2
wheel       0.37.1

Pulumi locates its logs in /var/folders/3h/ctfswrrj27763jfd2z6sgqxw0000gq/T/ by default

Additional context
Please fix the problem.
No response

Thanks for the issue. If I understand the issue, are you suggesting that simply adding the debug flags automatically induces the eternal retry behavior? Would you be able to provide the debug logs? pulumi -d --logflow --logtostderr -v=9 up --yes 2>&1 | tee /tmp/log and zipping up the logs would be great. You could e-mail them to @pulumi.com or if there is concern of anything sensitive being leaked we could arrange a zoom call. I am not able to repro this on my side.

I'm going to close this as stale without repro - if this is in error, please feel free to reach out by email @pulumi.com, or back here on the issue and we can re-open.
Thank you!


Ran prettier over the entire codebase

This sets prettier's parser to typescript and runs it over the entire codebase.

Codecov Report

Merging #1749 into canary will not change coverage.
The diff coverage is 50%.

@@          Coverage Diff           @@
##           canary   #1749   +/-   ##
======================================
  Coverage    78.7%   78.7%
======================================
  Files           6       6
  Lines         263     263
======================================
  Hits          207     207
  Misses         56      56

Impacted Files
Coverage Δ

src/util/error.js
56.66% <ø> (ø)
:arrow_up:

src/util/get-files.js
79.54% <50%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Changes to Celluloid::Mailbox handling

As some of you might have read on Twitter, I have been playing around with alternative, JRuby-specific mailbox replacements over the past weekend. So far I've benchmarked the regular Celluloid::Mailbox against ArrayBlockingQueue and LMAX Disruptor. The results so far have been quite promising, with a roughly 350% increase in raw throughput when using Disruptor:
51200000 push/pop cycles
===============================================================

                         user     system      total        real
Disruptor            8.670000   0.150000   8.820000 (  8.564000)
ArrayBlockingQueue  13.040000   0.150000  13.190000 ( 12.961000)
Celluloid::Mailbox  30.090000   0.410000  30.500000 ( 29.894000)

Disruptor, due to it's lock-free nature also performs incredibly well in high-contention, multi-producer scenarios. ArrayBlockingQueue fails badly here:
9 producer thread(s), 1 consumer thread - 9000000 messages
=============================================================

                         user     system      total        real
Disruptor            9.330000   2.560000  11.890000 (  7.019000)
ArrayBlockingQueue   9.030000  10.430000  19.460000 ( 19.271000)
Celluloid::Mailbox   9.660000   4.480000  14.140000 (  9.546000)

Note that Celluloid::Mailbox and Disruptor are almost on par only because, I believe, we're hitting the limit of how fast a Ruby loop can pull messages out of the queue. Also, the performance is likely to improve (I spoke to @headius on Twitter about this yesterday) once the interaction with Disruptor is moved from Ruby to an annotated Java methods, which I didn't get around to do, yet.
Now, while it might be possible to use a Reactor class and EventedMailbox together, I think it'd be beneficial to use a regular Mailbox (sub-)class instead to minimize the amount of Ruby call frames, avoid having to buffer messages in a Ruby array and use Ruby-land mutexes. However, this is where I ran into an issue. Celluloid at the moment relies on Mailbox classes to include Enumerable to fetch messages of a certain type, which would obviously mutate the queue. From what I can see, most concurrent, lock-free queue data structures (including Disruptor) don't support this without some ad-hoc locking, which would obviously defeat the usage of a lock-free data structure in the first place.
Along with being able to use Disruptor, it would also open up other doors, like integrating with Akka mailboxes when running in a mixed Scala/Akka/JRuby environment (may be even the whole akka.dispatch infrastructure).
I wouldn't mind to get my hands dirty and implement the changes myself, but I'm not 100% sure about he best way and how feasible it is to make these changes to Celluloid.

Where does this stand? Is it still relevant? It's from back in 10/13.

I believe this was resolved by SystemEvent tasks moving to the front automatically. If not, reopen.


Track terminating pods

We changed the behavior so that we only set lastPodRefAt once there are
no more pods present, previously this was already set when the last pod
went into terminating state.
I added a unit test for both cases, to verify the behavior of tracking in
terminating state and lastPodRefAt setting once there are no more pods
present for that volume.
longhorn/longhorn#2874
Signed-off-by: Joshua Moody<EMAIL_ADDRESS>

Testing https://github.com/longhorn/longhorn/issues/2960 to see if this fixes that issue, will have to make some additional changes.

Added a fix for https://github.com/longhorn/longhorn/issues/2960
by adding a stopping state, the controller will transition the share-manager into stopping state, when the volume is no longer beeing used, it will then wait for the share-manager pod to be cleaned up before transitioning into stopped state.
This breaks the previous loop of:
I.E a single pod workload, we could end up in a bad loop of
starting (new workload) -> error (remount) -> stopped (cleanup sm)
Since we would transition from stopped into starting, but the old pod has been marked for deletion but not cleaned up yet. This would signal error state, so we end up in the above cycle.

/hold merge
Review please, will merge this after finishing my final test run.

@shuo-wu @innobead my testing looks good can we merge this?

LGTM


"type" pseudo field

Right now you have to use ref_type(ref) in order to get the type of a reference.
While it is a nice bonus to allow implementing this as a library function instead of a built-in,
it would be useful to allow using type in this context. Both could be achieved by having something
like a __type field/function that can be accessed using x.type. That way, the functionality can still be
implemented by using a library function. In the context of Variant types this could be used to get the actual type of the variant, while still allowing proxying of all fields and functions that exist for every variant.

This has been implemented.


285-rest-api-phase-1:code review

@ironfroggy I have made changes to resource get/delete, resource list, and get science metadata api methods based on our discussion last Thursday. Removed the custom response json format form these api methods. I have added url path to resource bag and science metadata as part of the resource list items. I have yet to make similar changes to resource create, resource file add/get/delete api methods. So if you can review those api methods where I have made the changes that would be great. Due to some merge issues I had to recreate this branch and thus lost all history of this branch.

@pkdash Can you remind us of the URL to the test server that is running this branch?  I'd like to look at the code live as I review the PR.  Thanks.

As someone who is still getting a full grasp of your infrastructure and the methodologies behind it, can you explain why adding the REST API required adding a new Dockerfile? This is more of a "my own curiousity" thing than anything else.

I tried to address most of the issues in my last commit. I had to do quite a bit of code restructuring to get there. I can start working on PUT /resource/files/{filename} endpoint once we decide when to validate a file. We may need separate endpoints for file validation and metadata extraction. I think it is a good idea to go for micro service endpoints rather than one endpoint doing multiple things.

is your latest commit a combination of a merge from develop and your iteration of changes?

Yes

In the future, I'd recommend leaving merge commits on their own. It is now difficult to see the updates you've made in isolation in order to review.

This PR needs to get merged soon, and any large features missing that can be said to be additional scope and not missing or broken should be pushed off. To do that, however, we have to define what is or isn't included in this.
Our conversations about the possible two-step validation or other options to mitigate the problems with this "upload a few gigs in one batch and cross your fingers" are important, but at the end of the day: this is already the system in place and this API just exposes it. I think that system has a lot of room for improvement, but I don't want to hold up the API moving forward to discuss them. Validation improvements do need to be addressed in the future, however.

Also, please update this branch so there is a clean diff for a final review before merge.

I am not sure what I did wrong this time in pushing my code that my changes are not distinct as part of my commit. I will try to fix that soon.

Thank @pkdash for all the hard work on this branch.  I will begin working on authentication once this PR is merged.

Sorry I could not manage to keep the previous commit of this branch. This commit however has all the changes (clean diff) I have made in this branch so far.

@ironfroggy - This thread is getting fairly large and could benefit from being brought into develop if both the functionality and code are inline with expectations. This branch gets rebuilt nightly on park.hydroshare.org if you'd like to do some testing there.

I agree. We should move forward with merging and deploying this. If there any any more issues that come up we can follow up, and nothing is using this API yet so it is pretty safe.


RESTAPIHandler should return all ids as strings

Description and expected behavior
The RESTAPIHandler returns ids as whatever the type is in the db. But json:api requires ids to be strings. The OpenAPI plugin correctly requires ids to be strings, creating a mismatch between the docs and the implementation.
Environment:

ZenStack version: 2.9.4
Prisma version: 5.22.0
Database type: Postgresql

Hi @thomassnielsen , thanks, I see the inconsistency. Changing the RESTAPIHandler will result in a breaking change. For the time being, how about changing the openapi plugin to generate id field type as defined in the schema? It'll deviate from the JSON:API spec, but we can document that.

That sounds good to me.

We could also add a note in the docs that if full JSON:API spec compliance is important, one can use strings as ids in the schema.

Sounds good. Thank you!


Differences in COCO and VOC evaluation protocol

COCO and VOC use different protocols for assigning tp / fp labels for predicted boxes.
VOC uses "greedy" strategy, i.e. finds best match (using IoU criteria) for current pred box and if it is already matched it marks the current pred box as false: https://github.com/weiliu89/VOCdevkit/blob/master/VOCcode/VOCevaldet.m#L94
While in COCO the search continues if the current best match already matched: https://github.com/cocodataset/cocoapi/blob/master/PythonAPI/pycocotools/cocoeval.py#L280
Also, there are other categories for gt boxes: "crowd" (which look like VOC's "difficult") and "ignore". There might be other differences as well.
Your code implements only VOC-style evaluation, while README suggests to use it for both flavors.

There is implemented COCO evaluation protocol in actual release version.
https://github.com/bes-dev/mean_average_precision/releases/tag/<IP_ADDRESS>


Delete DATA-SCHEMA.md in 3box-js

Redundant now that this information lives in https://github.com/uport-project/3box/blob/master/ARCHITECTURE.md

this is merged into a branch (not the master), should I not close this issue until this has been merged into master? Or how do we handle this?

Hm, it should have been merged to develop I think?
Once it's merged to develop it could be closed


Autorest Regen Preview to 3.0.0-alpha.20240307.5 by Michael Nash from refs/pull/4364/head

Triggered from https://github.com/Azure/autorest.csharp/pull/4364

API change check
API changes are not detected in this pull request.


Fix the master Subscribe() RecordIO reader.

There were a couple of small bugs in the Master.Subscribe() implementation. The first commit minimally fixes the bugs, and the second does some refactoring so that we can add a simple RecordIO parsing test.

cc @miroswan

Would you mind submitting this PR against the dev branch. I'll look into the token issue.

Token issue should be cleared up on dev now.

Coverage increased (+2.2%) to 68.304% when pulling 8979ffd00aeafa2c6de8a5178bcfca8acdaa599f on jpeach:fix-subscribe-reader into 95dbdfd0b141639541c76aba36dc6cd2006493ed on miroswan:dev.


Added Algorithms=>Graph-Algorithms=>DSU python

Assigned Issue Number ?
#1686
Language(s) Opted ?
Python
Number of file(s) added or updated ?
1
Name and location of the file(s) ?
Algorithms=>Graph-Algorithms=>DSU=>dsu.py
Checklist

[x] I've followed the contributing guidelines
[x] The content added isn't directly copied from any sources like gfg, tutorialpoint, etc.
[x] Input has been taken dynamically.
[x] I've referred the correct issue number.
[x] Comments have been added
[x] I've  synced-up my forked repo.
[x] Ain't pushing from the main branch.

@ahampriyanshu Sorry for the ping, should I add the c++ solution in the same PR, or in a separate one?
Contribution guidelines say:

Do not commit multiple files.


Missing python on clean install?

Am I going nuts or did something change? Clean install of WSL on Insider Build 14986 no longer includes python?
lxrun /uninstall /full
lxrun /install

After starting bash, doing python doesn't bring me into the default REPL anymore. Instead I get this
The program 'python' can be found in the following packages:
 * python-minimal
 * python3
Try: sudo apt install <selected package>

I'm also noticing that the dbus fix command no longer works on clean installs either.
sudo sed -i 's$<listen>.*</listen>$<listen>tcp:host=localhost,port=0</listen>$' /etc/dbus-1/session.conf

This is because no session.conf can be found anymore. I swore these all used to work out of the box on clean WSL back in Anniversary Update as well as few days ago on Insider Build.

Probably because you're on Ubuntu 16.04 now and some things got moved about

A proper solution:
sudo ln -s /usr/bin/python3 /etc/alternatives/python
sudo ln -s /usr/bin/python /etc/alternatives/python


Can't give permission with LuckPerms

When i tried install your mod and that: https://luckperms.net/
I can't login in game. Server return me "No Permission".
Have Your mod  permission settings?
How i can configure that?

I was wrong and problem was not in luckperms. It was in cardboard mod.
Anyway i get "No Permission" and idk how to fix it.

I'm not sure how Bukkit's permissions.yml works.
I tried this but doesn't work:
default:
  description: default
  default: true
  permissions:
    minecraft.command.login: true

Maybe you can use some perms plugin to configure /login and /register perms. You can also use a bukkit/spigot login plugin.

Can you update the forbidding players to click on the taskbar? @Londiuh


Rename _vagrant to vagrant

Apparently the idea to prefix a package with an underscore is not that
smart as I thought. Yes go test does not run it by default when you
run go test ./... but also other commands like go mod tidy do not
work consistently.
Nothing changes in practice. By default only unit tests run. Setting the
new environment variable: TEST_WITH_VAGRANT you include the test who
uses vagrant.

@gianarb I imagine you want to run the vagrant action in this PR too right?

yes but for some reason the runner is not up, so I am looking at it first. But yes! I will merge only when vagrant on packet workflow is happy as well

Hmm I added the label to see if GH will then block the PR until the runner is back and tests pass.

Yep looks like it does, now you can't hit merge by mistake :p

Also curious to see how this ends up failing.

I am merting it manually because Mergify can't merge PRs who changes workflows


Hydro timeseries Bayern

Hi all,
If I am not mistaken the BY capacity factor timeseries for hydro run-of_river results in around 18 full load hours for each of the years 2016, 2030, 2050. Is this really conceivable?

Hi Soner, I will look into it.

Hello Soner, there was an error in the script for calculating the full load hours. The quotient of generation and installed capacity of hydropower was formed from two lists, which were not correctly sorted by federal state. That is where the error came from. Thank you for discovering this. It will be corrected in the next ID.

It is fixed in ID31.


Misc fixen

Fix blast damage from assert removal
Whitespace cleanups

Coverage decreased (-12.4%) to 65.92% when pulling 5f2a31c7f0a18e7276c6c99ab702908d740941f1 on CyberiaResurrection:master into 0676dde8fe5b970768e41dde83168ba7fbf16077 on Algo-Web:master.

Coverage decreased (-11.9%) to 66.454% when pulling b97c7b5dae399da900edd7cb083fe42ad7656b8e on CyberiaResurrection:master into 0676dde8fe5b970768e41dde83168ba7fbf16077 on Algo-Web:master.

Coverage as at commit 20725e6 was 66.7%

Coverage decreased (-10.4%) to 67.949% when pulling 1eef74bfb4cf31752466f16f58f75c3f2c574105 on CyberiaResurrection:master into 0676dde8fe5b970768e41dde83168ba7fbf16077 on Algo-Web:master.


add events: view_opened and view_closed

Add more events.
This allows the following behaviour (notice the up/down arrow pointing to the direction of the menu (top_down or bottom_up):

Here is the code needed to implement it, assuming you are using the custom view, and setting selection_order to near_cursor:
local ns_id = vim.api.nvim_create_namespace('arrows')
local function remove_marks()
    local all = vim.api.nvim_buf_get_extmarks(0, ns_id, 0, -1, {})
    for _, mark in ipairs(all) do
      vim.api.nvim_buf_del_extmark(0, ns_id, mark[1])
    end
end

cmp.event:on('view_closed',
  function()
    remove_marks()
  end
)

cmp.event:on('view_opened',
  function(evt)
    if vim.api.nvim_get_mode().mode:sub(1, 1) == 'c' then
      return
    end
    local character
    local cursor = vim.api.nvim_win_get_cursor(0)
    local row = cursor[1] - 1
    local col = cursor[2]

    remove_marks()

    if evt.window.bottom_up then
      character = "↑"
    else
      character = "↓"
    end
    local opts = {
      id = 1,
      virt_text = {{character, "IncSearch"}},
      virt_text_pos = 'overlay',
      priority = 10005,
    }

    vim.api.nvim_buf_set_extmark(0, ns_id, row, col, opts)
  end
)

I think one usual convention is to UpperCase for vim events. Like CmpViewOpened, etc.

I think one usual convention is to UpperCase for vim events. Like CmpViewOpened, etc.

All the other events in cmp are lower_case.

I'm considering the view naming convention.
entries or menu is better, I think. (But we didn't use menu in other places...)

docs -> documentation window
menu -> completion menu window
ghost_text -> ghost text
If we choose this, I think we should refactor the internal codes as well.

I don't really have an opinion here...
And what would you want to refactor?

OK. I understand what you don't have strong opinion here.
Could you rename the view  as menu? (e.g. view_opened -> menu_opened).

@hrsh7th
Can we merge this?

LGTM.


Add help system

The dirp command/alias needs a help printout. The problem this presents is that commands and aliases might be overridden by the user.

Possible resolutions

register all commands in an array with the respective help.

probably kills the ability to use aliases.

add a generic help printout at user's own peril if they change stuffs
each function has it's own help option

marking this as fixed for now. the system is being revamped for a larger project otherwise.


Code generation that deduplicates validation logic

Use-case
Imagine you're building validator codecs for a set of inter-related schemas that define $refs on each other. The (awesome) code generation results in these being treated as totally isolated IIFE-enclosed validators. These validators duplicate the validation logic of all referenced schemas.
Request
It would be really interesting to have a facility whereby a set of inter-related schemas could be compiled as a unit and thereby produced smaller validation logic by referencing each other appropriately. I suspect that this would require major changes to how errors are collected as we would now have N validator functions instead of 1 on which errors may be added.
Anyway, schemasafe is a fantastic bit of work. Really appreciate the rigour, speed and comprehensiveness. I'm using it with https://github.com/ggoodman/json-schema-to-dts to build codegen typed validation codecs.

Sorry for the late reply on this.
This is an interesting question.
One of the core reasons for using separate functions is that they might call each other:
{
  "$defs": {
    "a": {
      "type": "object",
      "properties": {
        "value": { "$ref": "#/$defs/b" }
      }
    },
    "b": {
      "type": "array",
      "items": { "$ref": "#/$defs/a" }
    }
  },
  "$ref": "#/$defs/a"
}

Even for schemas without cyclic refs, if a ref is used multiple times, that can lead to more compact code.
That said, in some situations inlining refs could be both possible and beneficial (i.e. lead to smaller generated code size).

Ah, disregard the previous comment, I misunderstood.
Compiling several schemas into one object to avoid duplication is an interesting request, this should definitely be viable.
Will require some some API changes though, I will need to think about this.

https://github.com/ExodusMovement/schemasafe/compare/chalker/multi-schema implements this as a draft
The API will likely be different though
Also, untested yet

This also works now:
const schemas = [
  {
    $id: "https://example.com/a",
    "type": "object",
    "properties": {
      "value": { "$ref": "https://example.com/b" }
    }
  },
  {
    $id: "https://example.com/b",
    "type": "array",
    "items": { "$ref": "https://example.com/a" }
  },
  {}
]
const validates = validators(schemas)
console.log(validates[1]([]))
console.log(validates.toModule())

The API will likely change though.

The API has changed to validate(schemas, { multi: true }) instead of validators(schemas).
That'll likely be the one that will get landed.

Implemented in https://github.com/ExodusMovement/schemasafe/commit/12727746f92a2f649a72d23d2c83a44864b723d4, now both parser() and validator() have a new { multi: true } option that allows compiling an array of schemas at once to a single module.
See example in tests.
Not properly documented for now.

Released in v1.0.0-rc.9


Cannot load resource "/var/www/html/custom/plugins/xxx/src/Storefront/Controller/AbstractPaymentController.php". Make sure there is a loader supporting the "annotation" type.

PHP Version
8.3.2
Shopware Version
v6.6.0-rc2
Expected behaviour
controller to be loaded
Actual behaviour
controller are not loaded, error in the page after runing /bin/console cache:clear : Cannot load resource "/var/www/html/custom/plugins/xxx/src/Storefront/Controller/AbstractPaymentController.php". Make sure there is a loader supporting the "annotation" type.
How to reproduce
follow https://developer.shopware.com/docs/v6.6rc/guides/plugins/plugins/storefront/add-custom-controller.html

update your plugin to use Attributes not annotation

like @lxregistry said


Use new UI styles

Still left to go are:

flashes
run button
hint, format, and reset buttons (use vertical buttons with icons)

I want to call out these imports:
    <link rel="stylesheet"<EMAIL_ADDRESS>    <script<EMAIL_ADDRESS>    <link href="https://fonts.googleapis.com/icon?family=Material+Icons"
          rel="stylesheet">

We are loading these files from Google's CDNs. If we want to be super-safe we could create a Dart package and host the files ourselves

I trust google’s CDN more than I trust unpkg. So if we are packaging stuff, start there. There is a very real maintenance cost to spinning up our own packages.

@RedBrogdon comments have been addressed - PTAL


Add introduction sentence to visualizing repository data with graphs

Why:
Closes #6320

What's being changed:
Add a sentence long introduction to Visualizing repository data with graphs.
Check off the following:

[X] I have reviewed my changes in staging (look for the deploy-to-heroku link in your pull request, then click View deployment).
[X] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

Thanks so much for opening a PR @Perkles! I'll get this triaged for review ⚡


🌱 Bump Helm version to v3.11.0

What this PR does / why we need it: Bump Helm version to v3.11.0. This gives us access to the --show-resources flag which will allow us to include more fine grained information about the resources created by a Helm install operation.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #10 (partially)

/assign @CecileRobertMichon


Immutable attribute handling

Please describe the problem you're trying to solve
Some files can have the immutable attribute.
Presently, if we try to rename or remove a file like this, nothing happens.
Would you be willing to contribute this feature?

[ ] Yes, I'll give it a shot

Describe the solution you'd like
Ideally, Yazi should give an option to remove that attribute and go on with the operation.
Just notifying that that attribute is set would work too.
Additional context
Removing this attribute on Linux:
sudo chattr -i filename
On Macos:
sudo chflags nouchg filename

(I probably should have created this issue as a bug but not sure)

Can you provide more details please? e.g. the steps to reproduce?

If it's a bug, it's best to re-submit it as a bug report and fill out the template. This way, I can capture all the necessary information.

I wouldn't say it's exactly a bug, just an unhandled case.
Steps to reproduce:

Create a file touch test
Set the immutability attribute. Linux sudo chattr +i test, Macos sudo chflags uchg test
Open Yazi and try to delete or rename the file

Behavior:
Nothing happens
Expected behaviour:
Show a warning/error to let the user know that it is impossible to delete that file due to the attribute being set. Ideally, give the user an option to remove the attribute and repeat the previous command.

I repeated your steps and observed:

The progress bar turned from blue to red, indicating a task failure.
I opened the task manager, pressed Enter to inspect the task, and got detailed reasons for the failure.

https://github.com/sxyazi/yazi/assets/17523360/f9bb2946-3d02-46ed-8c5d-ec63a0d7f77f
Closing as something did happen, and this is the expected behavior.


macos release seems broken

Hi folks!
I was trying to troubleshoot HIE for somebody who reported issues getting it to work (for vscode) at https://github.com/alanz/vscode-hie-server/issues/126
Downloading the compiled release (yay for having that option now btw) will not work, seemingly some places have @bubba s path compiled in (/Users/luke/Source/haskell-ide-engine/.stack-work/install/x86_64-osx/...). See attached 4-Haskell HIE (pboy).log
I ran into some other smaller issues as well, I think polishing those up could make the installation experience accessible to a lot more people. I volunteer to work on documentation if we can agree on what to improve.

it wasn't obvious to me how I can peek into the logs between hie and vscode. What's the recommended way? Found the logs nicely accessible in a dropdown under the output pane of vscode. Maybe we could put this in the Readme under the troubleshooting section at the bottom?
it seems the hie executable is used instead of hie-wrapper, despite my impression that the latter would be used preferentially. On that note: Why have the hie executable there in the first place?
I saw a complaint in the logs about hlint.yaml not being found, it's unclear if that was a warning or an error.

I tried to install v<IP_ADDRESS> over v<IP_ADDRESS> using the instructions under "Installation with stack" and something broke on this recommended instruction (after using brew to upgrade stack):
stack install cabal-install
Got "ExitFailure 1" trying to install GHC 8.6.2 but no indication of where to look for a log to explain it, so I gave up. Also, I broke HIE on my machine. I may try to start from scratch but will follow along here to see if anything develops.

Hi @Rhywun! Let's split this into a separate issue since the cause will be different from the one affecting the precompiled binary release. I'll then try to redo my installation step by step and see if I can help your case!

@2mol
Done, thanks

The specific error message I got from make was:
dyld: Library not loaded: /usr/local/opt/gmp/lib/libgmp.10.dylib
  Referenced from: /Users/jasoncole/.stack/programs/x86_64-osx/ghc-8.6.2.temp/ghc-8.6.2/libraries/base/dist-install/build/libHSbase-<IP_ADDRESS>-ghc8.6.2.dylib
  Reason: image not found
make[1]: *** [install_packages] Abort trap: 6
make: *** [install] Error 2

Installing gmp with brew install gmp , then re-running stack ./install.hs build-all proceeded without issue.

@jasonmcole that's known issue with ghc on osx. See README and ghc bug

Running the 8.6.4 install script attempts to install ghc 8.6.2 on mac OSX
$ stack ./install.hs hie-8.6.4
stack ./install.hs build-doc-8.6.4

Installing GHC ...
Received ExitFailure 2 when running
Raw command: /usr/bin/make install
Run from: /Users/drew.boardman/.stack/programs/x86_64-osx/ghc-8.6.2.temp/ghc-8.6.2/

Installing GHC ...
Received ExitFailure 2 when running
Raw command: /usr/bin/make install
Run from: /Users/drew.boardman/.stack/programs/x86_64-osx/ghc-8.6.2.temp/ghc-8.6.2/

Yes, the install script uses ghc 8.6.2.
If this causes troubles for you, you can change the resolver in shake.yaml and in install.hs.
That problem, that you have to update two places for this, is currently being worked on and will be resolved soon.

@fendor could you please tell where in install.hs is the dependency on ghc-8.6.2? I could not find it.

Here are some logs from failed runs. Help would be greatly appreciated.
cabal-build-all.txt
cabal-hie-8.6.4.txt
cabal-hie-8.6.4a.txt
cabal-hie-8.6.4b.txt
$ ghcup debug-info
Script version: 0.0.7

Script variables:
  GHC install location:     /Users/ur20980/.ghcup/ghc
  Binary install location:  /Users/ur20980/.ghcup/bin
  Tarball cache location:   /Users/ur20980/.ghcup/cache
  Downloader:               curl --fail -O <url>
  Script update url:        https://raw.githubusercontent.com/haskell/ghcup/master//ghcup
  GHC download baseurl:     https://downloads.haskell.org/~ghc
  Meta download url         https://raw.githubusercontent.com/haskell/ghcup/master//.download-urls
  Meta download format      1
  Meta version url          https://raw.githubusercontent.com/haskell/ghcup/master//.available-versions
  Meta version format       1

Detected system information:
  Architecture:   x86_64
  Distribution:   Darwin
  Distro alias:   darwin
  Distro version: 18.5.0
$ ghc -V
The Glorious Glasgow Haskell Compilation System, version 8.6.4
$ cabal --version
cabal-install version <IP_ADDRESS>
compiled using version <IP_ADDRESS> of the Cabal library
$ stack --version
Version 1.9.3, Git revision 40cf7b37526b86d1676da82167ea8758a854953b (6211 commits) x86_64 hpack-0.31.1
$ haddock --version
Haddock version 2.22.0, (c) Simon Marlow 2006
Ported to use the GHC API by David Waern 2006-2008
$

The install.hs depends implicitly on ghc-8.6.2 via its resolver in shake.yaml. You can safely bump it to a newer snapshot.

@fendor thanks. Edited shake.yaml, and got the build succeed on one machine (so far).
Could you explain the purpose of stack-8.6.x.yaml files vs. stack.yaml? Are they actually used? If so, how? I mean - do I need to adjust resolver in those that are version-relevant to my installation?
Here's config from the successful build - since two different resolvers seem specified, can you please tell me which one was actually used?
$ head stack-8.6.4.yaml
resolver: lts-13.15 # GHC 8.6.4
packages:
- .
 . . . . .

$ head stack.yaml
resolver: nightly-2019-04-05 # GHC 8.6.4
packages:
- .
 . . . . .

$ head shake.yaml
# Used to provide a different environment for the shake build script
#resolver: nightly-2018-12-15 # GHC 8.6.2
resolver: lts-13.15 # GHC 8.6.4
packages:
- .
 . . . . .

$ type hie
hie is hashed (/Users/ur20980/.local/bin/hie)
$ hie --version
Version <IP_ADDRESS> (2579 commits) x86_64 ghc-8.6.4
$

The different stack.yaml files are used to build hie with different ghc versions. stack.yaml is used to run install.hs in an isolated snapshot.
At what version does the cabal build still fail? You could run the command manually with cabal new-install exe:hie -w <ghc-path> and check if any error is reported. (ghc-path used by install.hs can be found by calling stack install.hs cabal-ghcs)

The different stack.yaml files are used to build hie with different ghc versions...

So, if (for example) I use only ghc-8.6.3 or ghc-8.6.4, how should I run the build?

At what version does the cabal build still fail?

Please see the complete logs I posted a couple of messages up - they're from yesterday's failed builds. Cabal build failed with the current (latest stable) Cabal, stack, and GHC-8.6.4 (and I think - 8.6.3 too). I haven't tried running Cabal manually (yet).
$ stack ./install.hs cabal-ghcs

******************************************************************
Found the following GHC paths:
ghc-8.6.4: /Users/ur20980/.ghcup/bin/ghc-8.6.4
ghc-8.6.3: /Users/ur20980/.ghcup/bin/ghc-8.6.3

******************************************************************

Build completed in 0.00s

P.S. As of now, I have successful builds of the current master on three machines, two with GHC-8.6.4, and one with GHC-8.6.3. All - via stack only (no cabal yet).

Also, I want to thank the developers/maintainers of this repo, whose hard work made the build (at least in one form) succeed now, when the previous versions failed.

I have never seen your errors before. Please ensure a fresh repository:
git clean -Xdf && git pull # or do a fresh clone
git submodule sync && git submodule update --init

So, if (for example) I use only ghc-8.6.3 or ghc-8.6.4, how should I run the build?

The officially supported method to install these two versions only is stack install.hs hie-8.6.4 && stack install.hs hie.8.6.3 && stack install.hs build-doc.
if these fail with a similar error message I am interested in the output of stack build --stack-yaml=stack-8.6.4.yaml and cabal new-install --symlink-bindir=$HOME/.local/bin, which are the main commands to build hie, which the install.hs wraps.

I have never seen your errors before. Please ensure a fresh repository...

Thanks. Will try later, and report.

The officially supported method to install [for 8.6.4] ... is stack install.hs hie-8.6.4 ...

OK, thanks. Got it. In fact, that's how my installation succeeded.

stack install.hs build-doc

This doesn't work:
$ hie --version
Version <IP_ADDRESS> (2483 commits) x86_64 ghc-8.6.4
$ stack ./install.hs build-doc
Error when running Shake build system:
  at want, called at src/Development/Shake/Internal/Args.hs:83:69 in shake-0.17.6-CIDPVLgp7pwBLb5kEJCmoZ:Development.Shake.Internal.Args
* Depends on: build-doc
  at error, called at src/Development/Shake/Internal/Rules/File.hs:180:58 in shake-0.17.6-CIDPVLgp7pwBLb5kEJCmoZ:Development.Shake.Internal.Rules.File
* Raised the exception:
Error, file does not exist and no rule available:
  build-doc

$ stack ./install.hs build-docs
# stack (for build-doc-8.2.1)
Downloaded nightly-2017-11-24 build plan.
Compiler version mismatched, found ghc-8.6.4 (x86_64), but expected minor version match with ghc-8.2.1 (x86_64) (based on resolver setting in /Users/ur20980/src/haskell-ide-engine/stack-8.2.1.yaml).
To install the correct GHC into /Users/ur20980/.stack/programs/x86_64-osx/, try running "stack setup" or use the "--install-ghc" flag.
Error when running Shake build system:
  at want, called at src/Development/Shake/Internal/Args.hs:83:69 in shake-0.17.6-CIDPVLgp7pwBLb5kEJCmoZ:Development.Shake.Internal.Args
* Depends on: build-docs
  at need, called at install.hs:80:25 in main:Main
* Depends on: build-doc-8.2.1
* Raised the exception:
user error (Development.Shake.command_, system command failed
Command: stack --stack-yaml=stack-8.2.1.yaml install hoogle
Exit code: 1
Stderr:
Downloaded nightly-2017-11-24 build plan.
Compiler version mismatched, found ghc-8.6.4 (x86_64), but expected minor version match with ghc-8.2.1 (x86_64) (based on resolver setting in /Users/ur20980/src/haskell-ide-engine/stack-8.2.1.yaml).
To install the correct GHC into /Users/ur20980/.stack/programs/x86_64-osx/, try running "stack setup" or use the "--install-ghc" flag.
)

$ stack ./install.hs build-doc-8.6.4
# stack (for build-doc-8.6.4)
Copying from /Users/ur20980/src/haskell-ide-engine/.stack-work/install/x86_64-osx/lts-13.15/8.6.4/bin/hoogle to /Users/ur20980/.local/bin/hoogle

Copied executables to /Users/ur20980/.local/bin:
- hoogle
# stack (for build-doc-8.6.4)
Starting generate
Reading Cabal... 7.58s
[156/2343] data-ordlist... 0.01s
[284/2343] network-house... 0.05s
[414/2343] regex-applicative... 0.03s
. . . . .
[2232/2343] hledger-web... 0.53s
[2271/2343] hoogle... 0.00s
Packages missing documentation: abstract-deque-tests al array-memoize base-noprelude bin-package-db bno055-haskell bytestring-builder doctest-discover either-both ghc-heap h2c haskell-gi-overloading hfsevents inliterate interpolator io-manager ipython-kernel lame lens-simple linux-file-extents modular pattern-arrows proto-lens-protobuf-types rocksdb-haskell rocksdb-query rts secp256k1-haskell telegram-bot-simple tensors ucam-webauth ucam-webauth-types Win32-notify zeromq4-patterns
Found 48063 warnings when processing items

Reordering items... 0.28s
Writing tags... 2.29s
Writing names... 1.64s
Writing types... 9.38s
Took 1m45s
Build completed in 1m48s

$

Any idea why the successful doc build above complains about missing documentation?

stack build --stack-yaml=stack-8.6.4.yaml
Also, to clarify the use of stack-8.x.x.yaml: does install.hs actually use them when a specific GHC version is requested? What's the relationship between stack.yaml and stack-8.6.4.yaml?

You seem your repository could benefit from git pull

You may not believe me, but I'm doing "git pull" and "git submodule update --init" every time I start doing anything on this repo. Good hygiene, y'know...

hie --version hints to an old version of hie, since the current version is <IP_ADDRESS>. Or there is an old hie version on the PATH.
The target build-docs does not exist on HEAD anymore.
Thus, your repository is either not up-to-date or you are not following the master branch.
To the relation, they are not related. stack.yaml is just using the nightly stackage snapshot. It is used for development and CI. The install script does afaik not use it at all.

Thank you - I just noticed that on one machine indeed it built (or used) an old version (0.7 instead of 0.8). I'll take care of that.
So, it I'm using "stack install.hs ..." and want to ensure the build users a specific resolver and GHC-8.6.4, I need to edit shake.yaml and stack-8.6.4.yaml?

 If you use stack install.hs hie-8.6.4 the correct stack*.yaml will be automatically used for the hie executable.

Great! But do I need to make sure stack-8.6.4.yaml doesn't pull a different resolver?

No, the only additional resolver is pulled in by shake.yaml. Everything else should work as expected.

...or you are not following the master branch...

Indeed. That machine was on a different branch. Thanks for pointing that out. Just fixed.
$ hie --version
Version <IP_ADDRESS> (2589 commits) x86_64 ghc-8.6.4
$

This seems to be fixed, closing


Minor fixes, Meteor version bump

Package name doesn't have '-' in name - fixed this inside Readme.
Bumped Meteor version to <IP_ADDRESS>.

fixed this separately - thanks anyways!


Updates for Centos and publishing to Ansible Galaxy.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Missing conf file for 1dgtl?

I can't find any place that sets the conf information for the 1dgtl. What 1D model is supposed to be used for the 1dgtl?

path location to 1d is set in install_dir/conf/ucvm.conf,
1d models are in install_dir/model/1d
and data/conf files are also in there
mei

From: Brad Aagaard @.>
Sent: Tuesday, January 25, 2022 10:23 AM
To: SCECcode/ucvm @.>
Cc: Subscribed @.***>
Subject: [SCECcode/ucvm] Missing conf file for 1dgtl? (Issue #10)
I can't find any place that sets the conf information for the 1dgtl. What 1D model is supposed to be used for the 1dgtl?
—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/SCECcode/ucvm/issues/10__;!!LIr3w8kk_Xxm!7cJ4iklAjatmSiSNN6ZefPVSq3cdl9LvYv6AtPJPrEeOBQgMOJXCcIiOvys$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ACE7UF7Q2ROLOO6SN2XJUT3UX3TC3ANCNFSM5MZAEBDA__;!!LIr3w8kk_Xxm!7cJ4iklAjatmSiSNN6ZefPVSq3cdl9LvYv6AtPJPrEeOBQgMOJXCeFHY7gY$.
Triage notifications on the go with GitHub Mobile for iOShttps://urldefense.com/v3/__https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675__;!!LIr3w8kk_Xxm!7cJ4iklAjatmSiSNN6ZefPVSq3cdl9LvYv6AtPJPrEeOBQgMOJXCk_UUegw$ or Androidhttps://urldefense.com/v3/__https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign*3Dnotification-email*26utm_medium*3Demail*26utm_source*3Dgithub__;JSUlJSU!!LIr3w8kk_Xxm!7cJ4iklAjatmSiSNN6ZefPVSq3cdl9LvYv6AtPJPrEeOBQgMOJXCypDHr2Y$.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

I see 1d.conf and bbp1d.conf in the model/1d directory. Is one of these supposed to be used with the 1dgtl model?

Looking at the source code in ucvm, 1dgtl has its own model code within.
model/1d is  for when user select it specifically with -m  parameter.

From: Brad Aagaard @.>
Sent: Tuesday, January 25, 2022 11:11 AM
To: SCECcode/ucvm @.>
Cc: Mei-Hui Su @.>; Comment @.>
Subject: Re: [SCECcode/ucvm] Missing conf file for 1dgtl? (Issue #10)
I see 1d.conf and bbp1d.conf in the model/1d directory. Is one of these supposed to be used with the 1dgtl model?
—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/SCECcode/ucvm/issues/10*issuecomment-1021519277__;Iw!!LIr3w8kk_Xxm!62Qe7UfebdBHwNk6I3mnk5nARPop3iwGQdmjLYBCXmqEbbNO_RduzS2vPzU$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ACE7UF3L7F3GHLA4OM23VZ3UX3YWNANCNFSM5MZAEBDA__;!!LIr3w8kk_Xxm!62Qe7UfebdBHwNk6I3mnk5nARPop3iwGQdmjLYBCXmqEbbNO_RduDBTTde8$.
Triage notifications on the go with GitHub Mobile for iOShttps://urldefense.com/v3/__https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675__;!!LIr3w8kk_Xxm!62Qe7UfebdBHwNk6I3mnk5nARPop3iwGQdmjLYBCXmqEbbNO_RduHnplaJc$ or Androidhttps://urldefense.com/v3/__https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign*3Dnotification-email*26utm_medium*3Demail*26utm_source*3Dgithub__;JSUlJSU!!LIr3w8kk_Xxm!62Qe7UfebdBHwNk6I3mnk5nARPop3iwGQdmjLYBCXmqEbbNO_RduqdDULig$.
You are receiving this because you commented.Message ID: @.***>

It looks like there is no default 1dgtl_modelpath set in ucvm.conf.
I will have to  search  into earlier versions.

From: Brad Aagaard @.>
Sent: Tuesday, January 25, 2022 11:32 AM
To: SCECcode/ucvm @.>
Cc: Mei-Hui Su @.>; Comment @.>
Subject: Re: [SCECcode/ucvm] Missing conf file for 1dgtl? (Issue #10)
Lines 120-169 of ucvm_model_1dgtl.chttps://urldefense.com/v3/__https://github.com/SCECcode/ucvm/blob/main/src/ucvm/ucvm_model_1dgtl.c*L120__;Iw!!LIr3w8kk_Xxm!6uAsNQOhjrs1GV1UMxCMYzmXruSoCeauWIcnmvhpVC_-KKMpEwNupCNIuO0$ read in a conf file with layer information. Which conf file is this supposed to be?
—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/SCECcode/ucvm/issues/10*issuecomment-1021536206__;Iw!!LIr3w8kk_Xxm!6uAsNQOhjrs1GV1UMxCMYzmXruSoCeauWIcnmvhpVC_-KKMpEwNui4WjpmQ$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ACE7UF25Q5NJPOSJEGHMXOTUX33ENANCNFSM5MZAEBDA__;!!LIr3w8kk_Xxm!6uAsNQOhjrs1GV1UMxCMYzmXruSoCeauWIcnmvhpVC_-KKMpEwNuM6n5KDA$.
Triage notifications on the go with GitHub Mobile for iOShttps://urldefense.com/v3/__https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675__;!!LIr3w8kk_Xxm!6uAsNQOhjrs1GV1UMxCMYzmXruSoCeauWIcnmvhpVC_-KKMpEwNu-Kr87oY$ or Androidhttps://urldefense.com/v3/__https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign*3Dnotification-email*26utm_medium*3Demail*26utm_source*3Dgithub__;JSUlJSU!!LIr3w8kk_Xxm!6uAsNQOhjrs1GV1UMxCMYzmXruSoCeauWIcnmvhpVC_-KKMpEwNuywDqzVI$.
You are receiving this because you commented.Message ID: @.***>


jwt.verify fails to throw error for expired tokens

I am creating a jwt like this:
    return jwt.sign({        some_key: some_value     }, Authentication.secret, { expiresIn: '1s'});
And verifying it like:
jwt.verify(token, Authentication.secret, (err, result) => {                 if (err) {                 return res.status(400).send('Failed');             }                 return next();             });         }
When I log the decoded results, I can see something like:
iat:<PHONE_NUMBER>,   exp:<PHONE_NUMBER>
which looks fine I suppose, I have checked whether the token I am sending to the client is the same as the one I am verifying, all looks good..but the middleware proceeds with next(), am I missing something here?

I used the following line:
jwt.verify(token, secret, (err, result) => { return res.status(200).send({ err: err, result: result, }); });

on an expired token and got this result:
{
    "err": {
        "name": "TokenExpiredError",
        "message": "jwt expired",
        "expiredAt": "2017-07-19T17:08:44.000Z"
    }
}

On a non-expired token, I got this result:
{
    "err": null,
    "result": {
        "data": "data",
        "iat":<PHONE_NUMBER>,
        "exp":<PHONE_NUMBER>
    }
}

which is the expected result. Maybe try logging your err object and seeing what's happening? Perhaps the next() is being called later in your code?

I am using the next() ... snap! this is how it looks like
        return jwt.verify(token, Authentication.secret, (err, result) => {                 if (err) {                     console.log("Auth error", err);                 return res.status(400).send('Failed on second middleware');                 }                 return next();             });
I guess putting the next() in an else would cut it? thank you...

If wrapping the call to next() in an else works then it is a fine solution, but I would imagine that the return statement should stop execution. Maybe there is something I'm missing, however? Give the else a try and see if that fixes it for you.

@z2oh the return was not needed, thanks

Still not sure if this is resolved
jwt.verify(keyToken, publicKEY, verifyOptions, (err, result)=>{
  console.log('testToken:',
    result,
    result.exp - Math.floor(new Date().getTime() / 1000 ),
    err );
});

testToken: { username: 'fakeuser',
iat:<PHONE_NUMBER>,
exp:<PHONE_NUMBER>,
aud: 'sampleaudience.com',
iss: 'Sample issuer',
sub: 'Sample Subject' } -3 null

node version: v11.4.0
"dependencies": {
"jsonwebtoken": "^8.5.1"
}

I hope this help someone. If you use try catch method, you need to put next() in the try. Ex:
try {     jwt.verify(token, "your secret", (err, decode) => {       if (err) {         if (err instanceof TokenExpiredError) {           return res.status(401).send({ message: "Access token denied!" });         }         if (err.name === "UnauthorizedError") {           return res.status(401).json({ error: err.name + ": " + err.message });         }         return;       }       req.user = decode;       return next(); // !important, you need this here to run.     });   } catch (err) {     return res.status(500).send({ message: err.message });   }


[Feature] Modify the layout of assertions result

Signed-off-by: Kent Huang<EMAIL_ADDRESS>Co-authored-by: Wei-Chun, Chang<EMAIL_ADDRESS>
** PR checklist **

[x] Ensure you have added or ran the appropriate tests for your PR.
[x] DCO signed

What type of PR is this?
Refactor the layout of input/output
What this PR does / why we need it:
TBD...
Which issue(s) this PR fixes:
sc-27300
Special notes for your reviewer:
Does this PR introduce a user-facing change?:


[raycamera] Should Camera3D.type also be renamed into Camera3D.projection, as it is done in raylib.h?

Please, before submitting a new issue verify and check:

[x] I tested it on latest raylib version from master branch
[x] I checked there is no similar issue already reported
[x] My code has no errors or misuse of raylib

Issue description
In raylib.h the field was renamed, in raycamera.h it wasn't.

@KOLANICH Renamed that variable, note that rcamera module is being completely redesigned on #2563


[added] Option to show trace on warn

Using this in a pre-existing application it can be difficult to tell
where each of the warnings come from. This adds an option to show the
stack trace along with the warning without needing to throw an error.
Optional suggestion based on issue #4.

+1


compile error k4a-calibration undefined reference open3d & opencv

Step
git clone https://github.com/stytim/k4a-calibration.git
cd k4a-calibration
mkdir build && cd build
cmake ..
make

After make, it shows error that camera_extrinsics.cpp is undefined reference
CMakeFiles/calib_k4a.dir/src/camera_extrinsics.cpp.o: In function `ExtrinsicsCalibration::CalculateExtrinsics(std::vector<FrameInfo, std::allocator<FrameInfo> > const&, std::vector<AlignmentTransform, std::allocator<AlignmentTransform> >&)':
camera_extrinsics.cpp:(.text+0x2b30): undefined reference to `open3d::io::WritePointCloudToPLY(std::string const&, open3d::geometry::PointCloud const&, open3d::io::WritePointCloudOption const&)'
camera_extrinsics.cpp:(.text+0x33e3): undefined reference to `open3d::io::WritePointCloudToPLY(std::string const&, open3d::geometry::PointCloud const&, open3d::io::WritePointCloudOption const&)'
CMakeFiles/calib_k4a.dir/src/camera_extrinsics.cpp.o: In function `cv::MatConstIterator::MatConstIterator(cv::Mat const*)':
camera_extrinsics.cpp:(.text._ZN2cv16MatConstIteratorC2EPKNS_3MatE[_ZN2cv16MatConstIteratorC5EPKNS_3MatE]+0xf3): undefined reference to `cv::error(int, std::string const&, char const*, char const*, int)'
CMakeFiles/calib_k4a.dir/src/camera_extrinsics.cpp.o: In function `cv::Mat_<float>::operator=(cv::Mat const&)':
camera_extrinsics.cpp:(.text._ZN2cv4Mat_IfEaSERKNS_3MatE[_ZN2cv4Mat_IfEaSERKNS_3MatE]+0x189): undefined reference to `cv::error(int, std::string const&, char const*, char const*, int)'
collect2: error: ld returned 1 exit status
CMakeFiles/calib_k4a.dir/build.make:191: recipe for target 'calib_k4a' failed
make[2]: *** [calib_k4a] Error 1
CMakeFiles/Makefile2:82: recipe for target 'CMakeFiles/calib_k4a.dir/all' failed
make[1]: *** [CMakeFiles/calib_k4a.dir/all] Error 2
Makefile:90: recipe for target 'all' failed
make: *** [all] Error 2

I'm getting the same errors while trying to build under Ubunutu 18.04. I'm using the latest Version of Open3D (0.15).
@stytim Could you specify which Open3D version you used ?

So I saw your response in the other post and downgraded Open3D to version 0.12. This solved some errors, but there are still some remaining
CMakeFiles/calib_k4a.dir/src/camera_extrinsics.cpp.o: In function `cv::MatConstIterator::MatConstIterator(cv::Mat const*)':
camera_extrinsics.cpp:(.text._ZN2cv16MatConstIteratorC2EPKNS_3MatE[_ZN2cv16MatConstIteratorC5EPKNS_3MatE]+0xf3): undefined reference to `cv::error(int, std::string const&, char const*, char const*, int)'
CMakeFiles/calib_k4a.dir/src/camera_extrinsics.cpp.o: In function `cv::Mat_<float>::operator=(cv::Mat const&)':
camera_extrinsics.cpp:(.text._ZN2cv4Mat_IfEaSERKNS_3MatE[_ZN2cv4Mat_IfEaSERKNS_3MatE]+0x189): undefined reference to `cv::error(int, std::string const&, char const*, char const*, int)'

@stytim Could you specify which OpenCV version you used ?

This error has nothing to do with the version of Open3D, it is a problem with the version of OpenCV used.
I tried to run OpenCV4 with Open3D and got the same error, presumably because of a conflict between the two libraries.
I am using OpenCV version 3.4.16 (almost the latest) and Open3D version 0.16.1. It works successfully.
Solution
Downgrade Opencv4 to 3.


Luxembourg marriage abroad

https://trello.com/c/I7ROTtfO/1217-getting-married-abroad-luxembourg-change-request-amend-to-links
I've fixed the link to the consular appointments service for both the opposite and same sex outcome.

I'm closing this PR as it has been open for a considerable amount of time and we're trying to cut down the number of orphaned PRs in alphagov.


vSphere Cloud Provider not working

Rancher versions:
rancher/server or rancher/rancher:  v2.0.6
Docker version: (docker version,docker info preferred)  Docker version 1.12.6, build 3e8e77d/1.12.6
Operating system and kernel: (cat /etc/os-release, uname -r preferred).   RHEL 7.5 3.10.0-862.9.1.el7.x86_64
Type/provider of hosts: (VirtualBox/Bare-metal/AWS/GCE/DO). VMWare vSphere
Setup details: (single node rancher vs. HA rancher, internal DB vs. external DB). Single Node
So I'm trying to deploy clusters with vSphere Cloud Provider so that I can create persistent volumes.
When I bring up the cluster after editing the yaml, all machines are stuck Registering - Waiting to register with Kubernetes
I see the following in the Rancher logs.  The really strange one is why is it looking for the datacenter as a uint?
2018/08/01 19:32:33 [ERROR] cluster [c-hlnt5] provisioning: [workerPlane] Failed to bring up Worker Plane: Failed to verify healthcheck: Failed to check https://localhost:10250/healthz for service [kubelet] on host [<IP_ADDRESS>]: Get https://localhost:10250/healthz: dial tcp [::1]:10250: getsockopt: connection refused, log: F0801 19:32:20.783951    7019 server.go:233] failed to run Kubelet: could not init cloud provider "vsphere": failed to parse "Latham-Colo-DC" as uint: expected integer
[workerPlane] Failed to bring up Worker Plane: Failed to verify healthcheck: Failed to check https://localhost:10250/healthz for service [kubelet] on host [<IP_ADDRESS>]: Get https://localhost:10250/healthz: dial tcp [::1]:10250: getsockopt: connection refused, log: + umount /var/lib/docker/overlay/92e64d20058ccfab51ab2f4e374b797e330d9c5b09761f33a7b4b51e849864e3/merged/opt/rke/var/lib/kubelet
Failed to create Certificates deployer container on host [<IP_ADDRESS>]: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
I'm using the following Cloud Provider yaml:
cloud_provider:
  name: vsphere
  vsphereCloudProvider:
      global:
        insecure-flag: 1
        user: svcaccount
        password: password
        port: 443
      virtual_center:
        <IP_ADDRESS>:
            datacenters: Latham-Colo-DC
      workspace:
        server: <IP_ADDRESS>
        datacenter: Latham-Colo-DC
        folder: pvols
        default-datastore: /Latham-Colo-DC/datastore/vmware_kube1
        resourcepool-path: /Latham-Colo-DC/host/Production-Cluster
      disk:
        scsicontrollertype: pvscsi

Any ideas?  Thanks!

I tracked this one down after looking at a separate K8 cluster I brought up by hand.  You have a typo in your documentation:
https://rancher.com/docs/rke/v0.1.x/en/config-options/cloud-providers/vsphere/
The key under virtual_center should be datacenter, not datacenters
As soon as I changed it and deployed a new cluster, it started working perfectly.

@MaxDiOrio can you update/respond to indicate what k8s documentation you used to create your YAML file?  I'm in a similar boat here, except my vmware enterprise cluster is using SDRS on a storage cluster and I'm having trouble getting the options correct.

I'm ooo until Thursday, but as long as you follow the Rancher doc I linked to, including setting up the service account it works fine. Just drop the S from the datacenters like I mentioned. I still am unable to create persistent disks however. They never get created.

I notice that if choosing vsphere, then there's no way to set cloud provider to vsphere. The only two options are None and custom, and after choosing custom, there's no way to input parameters.

That's correct. They changed it to manually editing cloud provider settings in the yaml only.
Sent from Ninehttp://www.9folders.com/

From: Ethan Lynn<EMAIL_ADDRESS>Sent: Tuesday, August 7, 2018 12:36 PM
To: rancher/rancher
Cc: Max DiOrio; Mention
Subject: Re: [rancher/rancher] vSphere Cloud Provider not working (#14889)
I notice that if choosing vsphere, then there's no way to set cloud provider to vsphere. The only two options are None and custom, and after choosing custom, there's no way to input parameters.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/rancher/rancher/issues/14889#issuecomment-411121170, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AYqGJHT6-9gMKJDO0rnfSRWxlTKtYqJhks5uOcIfgaJpZM4VrHvd.

After reading #13115 , now I understand how to setup it correctly.

According to https://github.com/kubernetes/kubernetes/blob/release-1.10/pkg/cloudprovider/providers/vsphere/vsphere.go#L90, the key should be datacenters. I think you are hitting https://github.com/rancher/rke/commit/6b7ab838992b1202f26285a534f4b797cbc3fb70#diff-e2a140aff74f8d1d81845bb3e858ae95 which is fixed in v2.0.7. Can you try with that version and let us know if it doesn't work?