[SPARK-25586][MLlib][Core] Replace toString method with summarize m…

…ethod in GeneralizedLinearRegressionTrainingSummary
What changes were proposed in this pull request?
After the change in SPARK-25118, which enables spark-shell to run with default
log level, test_glr_summary started failing with StackOverflow error.
Cause: ClosureCleaner calls logDebug on various objects and when it is called
for GeneralizedLinearRegressionTrainingSummary, it starts a spark job which runs
into infinite loop and fails with the below exception.
Fix: Remove toString method and move the existing logic to a new method
"summarize". This follows the general guideline as other summary objects do not
have a toString method as well.
How was this patch tested?
Ran the python "mllib" and scala/junit tests for this module

Can one of the admins verify this patch?

Can one of the admins verify this patch?

@vanzin @squito @bersprockets

Can one of the admins verify this patch?

Jenkins, ok to test

Test build #96830 has started for PR 22604 at commit 8c162a7.

@actuaryzhang @yanboliang

This just removes toString entirely and adds a new method. I don't think we can do that.  What's the minimum change to toString that means it doesn't execute a Spark job? can the same info be preserved and presented otherwise?
Alternatively, we go back to the other JIRA and figure out why it was causing an infinite loop in the first place.

Few variables (I think there are 3) printed in toString cause a Spark Job to be started and the main reason is that those variables are lazily evaluated. I can remove those variables from toString altogether.
An alternative fix will be to change those lazily evaluated variables to instantaneously evaluated but that may cause some other issues that I am not aware of.

Test build #96830 has finished for PR 22604 at commit 8c162a7.

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/96830/
Test PASSed.

If I remove the following code, then the test succeeds and no spark jobs are started. Shall I do this instead?
`
sb.append("\n")
val nd = s"Null deviance: ${round(nullDeviance)} on $degreesOfFreedom degrees of freedom"
val rd = s"Residual deviance: ${round(deviance)} on $residualDegreeOfFreedom degrees of " +
"freedom"
val l = math.max(nd.length, rd.length)
sb.append(StringUtils.leftPad(nd, l))
sb.append("\n")
sb.append(StringUtils.leftPad(rd, l))
  if (family.name != "tweedie") {
    sb.append("\n")
    sb.append(s"AIC: " + round(aic))
  }

`

OK, backing up here, yes it's important to specify what the problem was that started this. It's exhibited in the error logs from your PR for SPARK-25118 (which is not submitted; might be worth clarifying your description).
	at org.apache.spark.rdd.RDD.map(RDD.scala:371)
	at org.apache.spark.ml.regression.GeneralizedLinearRegressionSummary.nullDeviance$lzycompute(GeneralizedLinearRegression.scala:1342)
	at org.apache.spark.ml.regression.GeneralizedLinearRegressionSummary.nullDeviance(GeneralizedLinearRegression.scala:1315)
	at org.apache.spark.ml.regression.GeneralizedLinearRegressionTrainingSummary.toString(GeneralizedLinearRegression.scala:1556)
	at java.lang.String.valueOf(String.java:2994)
	at java.lang.StringBuilder.append(StringBuilder.java:131)
	at scala.StringContext.standardInterpolator(StringContext.scala:125)
	at scala.StringContext.s(StringContext.scala:95)
	at org.apache.spark.util.ClosureCleaner$$anonfun$org$apache$spark$util$ClosureCleaner$$clean$12$$anonfun$apply$6.apply(ClosureCleaner.scala:289)
	at org.apache.spark.util.ClosureCleaner$$anonfun$org$apache$spark$util$ClosureCleaner$$clean$12$$anonfun$apply$6.apply(ClosureCleaner.scala:289)
	at org.apache.spark.internal.Logging$class.logDebug(Logging.scala:62)
	at org.apache.spark.util.ClosureCleaner$.logDebug(ClosureCleaner.scala:35)
	at org.apache.spark.util.ClosureCleaner$$anonfun$org$apache$spark$util$ClosureCleaner$$clean$12.apply(ClosureCleaner.scala:289)
	at org.apache.spark.util.ClosureCleaner$$anonfun$org$apache$spark$util$ClosureCleaner$$clean$12.apply(ClosureCleaner.scala:289)
	at scala.collection.immutable.List.foreach(List.scala:392)
	at org.apache.spark.util.ClosureCleaner$.org$apache$spark$util$ClosureCleaner$$clean(ClosureCleaner.scala:289)
	at org.apache.spark.util.ClosureCleaner$.clean(ClosureCleaner.scala:162)
	at org.apache.spark.SparkContext.clean(SparkContext.scala:2342)
	at org.apache.spark.rdd.RDD$$anonfun$map$1.apply(RDD.scala:372)
	at org.apache.spark.rdd.RDD$$anonfun$map$1.apply(RDD.scala:371)
	at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
	at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112)
	at org.apache.spark.rdd.RDD.withScope(RDD.scala:364)
	at org.apache.spark.rdd.RDD.map(RDD.scala:371)
	at org.apache.spark.ml.regression.GeneralizedLinearRegressionSummary.nullDeviance$lzycompute(GeneralizedLinearRegression.scala:1342)
	at org.apache.spark.ml.regression.GeneralizedLinearRegressionSummary.nullDeviance(GeneralizedLinearRegression.scala:1315)
	at org.apache.spark.ml.regression.GeneralizedLinearRegressionTrainingSummary.toString(GeneralizedLinearRegression.scala:1556)
	at java.lang.String.valueOf(String.java:2994)
	at java.lang.StringBuilder.append(StringBuilder.java:131)
	at scala.StringContext.standardInterpolator(StringContext.scala:125)
	at scala.StringContext.s(StringContext.scala:95)
	at org.apache.spark.util.ClosureCleaner$$anonfun$org$apache$spark$util$ClosureCleaner$$clean$12$$anonfun$apply$6.apply(ClosureCleaner.scala:289)
	at org.apache.spark.util.ClosureCleaner$$anonfun$org$apache$spark$util$ClosureCleaner$$clean$12$$anonfun$apply$6.apply(ClosureCleaner.scala:289)
	at org.apache.spark.internal.Logging$class.logDebug(Logging.scala:62)
	at org.apache.spark.util.ClosureCleaner$.logDebug(ClosureCleaner.scala:35)
	at org.apache.spark.util.ClosureCleaner$$anonfun$org$apache$spark$util$ClosureCleaner$$clean$12.apply(ClosureCleaner.scala:289)
	at org.apache.spark.util.ClosureCleaner$$anonfun$org$apache$spark$util$ClosureCleaner$$clean$12.apply(ClosureCleaner.scala:289)
	at scala.collection.immutable.List.foreach(List.scala:392)
	at org.apache.spark.util.ClosureCleaner$.org$apache$spark$util$ClosureCleaner$$clean(ClosureCleaner.scala:289)
	at org.apache.spark.util.ClosureCleaner$.clean(ClosureCleaner.scala:162)

Yes, inside toString, computing nullDeviance and deviance runs a Spark job. The problem occurs at debug log level, because in the ClosureCleaner:
      if (log.isDebugEnabled) {
        ...
        logDebug(s" + outer objects: ${outerObjects.size}")
        outerObjects.foreach { o => logDebug(s"     $o") }
      }

and that calls toString again and thus the problem.
While I don't think it's ideal to call distributed jobs in toString, they're only computed once lazily, so that's reasonable actually.
While we can remove the nullDeviance etc, that's useful info. But I wonder whether there are similar problems lurking just like this. That said, this code has existed since about Spark 1.4 without issue, I guess.
But then, the value of this debug statement goes away almost entirely, I think, in Scala 2.12, where closures aren't implemented with outer classes.
I think I favor just removing this last debug statement in ClosureCleaner, or at best logging their classes only. This seems like less loss and behavior change than removing useful info from the toString.
Any other thoughts out there -- anyone care a lot about the debug info from the closure cleaner about outer class(es)?

Makes sense and let me update the description about SPARK-25118

I have opened another PR for this, with the recommended changes: https://github.com/apache/spark/pull/22616
I had to change a few other logDebug statements as well. Please let me know if that works.


update to v4?

Do you mean Airbrake v4 API? Then gobrake already uses latest API. Gobrake versions and Airbrake API versions don't match.

sorry, https://airbrake.io/docs/#error-notification-v3
Is this version?

Yes, gobrake.v2 uses v3 Airbrake API - https://github.com/airbrake/gobrake/blob/master/notifier.go#L22

Thanks


chore: release 1.2.40

:robot: I have created a release *beep* *boop*
1.2.40 (2021-11-16)
Bug Fixes

bundles: fix werf-bundle-publish command error when --tag contains underscore chars (03e8f88)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/werf/werf/releases/tag/v1.2.40 :sunflower:


Creating an index on string attributes does not work

Waterline version: 0.12.1
Node version: v5.4.1
NPM version: 3.3.12
Operating system: OS X El Capitan 10.11.5

Hi guys,
When adding an index property to an attribute of type 'string', the value will not be indexed. Here's an attribute definition that I want to be indexed:
user: {
            type: 'string',
            index:true,
            notNull: true,
            required: true,
            uuidv4: true
        },

I'm using the sails-redis adapter, but no matter what I do I cannot get it to be indexed. Interestingly, it will index the primary key I've got, which I'd manually set to be a uuid (which is still a string):
id: {
            type: 'string',
            primaryKey: true,
            defaultsTo: uuid.v4,
            unique: true,
            index: true,
            uuidv4: true
        }

Has anyone got any idea why my string primary key will be indexed, but any other other string attribute can't be indexed?
Many thanks! 😄

I'm not sure how sails-redis handles indexing for arbitrary attributes (if it does at all). You can try asking over there. For adapters with auto-migrations they will get an index built when the migrations run.

sails-redis does appear to support indexes for arbitrary attributes.
Interestingly I discovered this in the docs:

There is currently an issue with adding indexes to string fields. Because Waterline performs it's queries in a case insensitive manner we are unable to use the index on a string attribute. There are some workarounds being discussed but nothing is implemented so far. This will be updated in the near future to fully support indexes on strings.

Is this still accurate @particlebanana ? If so, any ideas why, or if there are any workarounds being implemented in the near future?
Thanks again for your help I really appreciate it!


Windows Acrylic Background

Description

This PR includes background changes that make the acrylic background possible on Windows. It might work on MacOS as well if there are no unintended side-effects.

What is the purpose of this pull request?

[X] New feature
[ ] Documentation update
[ ] Bug fix
[ ] Refactor
[ ] Release
[ ] Other

I'll have a look at the layers panel background and see why it's abruptly ending as well.
As for the icons, I was wondering how I should style the header icons because the H and the layer number are coloured differently so, when the icon is active, do I colour both the H and the number active with the same colour?

I'll have a look at the layers panel background and see why it's abruptly ending as well.
As for the icons, I was wondering how I should style the header icons because the H and the layer number are coloured differently so, when the icon is active, do I colour both the H and the number active with the same colour?

I think for the case when they are selected they can both be the same color (white/active) just for maximum contrast against the color background. When they aren't selected, I like the half-tone coloring, but you tell me if that's too tough to engineer.

@drfarrell I've fixed both, the issue where in the layers panel background was too transparent and also that of layers having an abrupt ending depending on the length of the string.

Performance didn't seem to degrade on Mac though I can't tell on my version. Otherwise looks good. Deferring to @drfarrell  for the final review.

@drfarrell reminder to look at this

Just a regression test. Still working well after merging from main. There's some UI changes that will require @drfarrell to test/address

I can also see the difference on my Mac now after updating. Liking it so far.

Yeah it's a matter of styling at this point while preserving the seethrough-ness of the canvas. Instead of bg-non I'm testing with lower opacity of the original colors which is looking nice but I'll leave it to @drfarrell for this.

Gonna have to close this since I don't think we can support this while keeping existing styling/behavior


Are we really using nvlink?

I read about https://developer.download.nvidia.cn/compute/DevZone/docs/html/C/doc/html/group__CUDART__PEER_g9e5ea65a18938c2b8715a5602105c306.html and I am wondering if pytorch enables this or if it would have to be called in exllama or other multi-gpu code if you have an NvLink.
People using llama.cpp are claiming higher speeds.
The only information I found said that p2p copy was enabled but not kernel access and it's a really old post.
edit: I did printf from the kernel and peer access is enabled. Not sure if anything else has to happen for the kernel to take advantage or if the driver will do it by itself.

I was able to add enabling the p2p where it sets the other parameters for the cpp extension. Didn't get a speed boost or different behavior.


RegExpRoute + unit tests

R: @philipwalton @addyosmani @gauntface
The unit tests are ported from the v2 test suite.

Thanks—comments should be all addressed.

I had originally left this out of the index.js, so it wasn't exported anywhere public. I'm pretty sure that it's meant to be, so I've added it post-review.
If it isn't meant to be included due to size considerations or whatnot, I could remove it, @gauntface


PhpStorm, IDE helper does not recognize model methods

The IDE helper does not recognize method calls on models. For example, if I get a user via find or fail, like
$employee = User::findOrFail($id); and then call a Method, like $expiringQualifications = $employee->expiringQualifications()->pluck('name', 'id');, the IDE helper does not recognize the expiringQualifications() Method. It tells me:

Method 'expiringQualifications' not found in \Illuminate\Database\Eloquent\Collection|\Illuminate\Database\Eloquent\Model

had the same issue; fixed it by replacing the class definition of 'Eloquent extends \Illuminate\Database\Eloquent\Model' with 'class Eloquent extends \Illuminate\Database\Eloquent\Model {}'
into it's own namespace, and then moving the old definition inside a new namespace block like:
namespace Illuminate\Database\Eloquent {     class Model {         //the class definition     } }
obviously this is a static fix; and should be fixed properly in the parser

Works for me in PhpStorm with the latest version:

findOrFail is generated as:
            /**
             * Find a model by its primary key or throw an exception.
             *
             * @param mixed $id
             * @param array $columns
             * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection|static|static[]
             * @throws \Illuminate\Database\Eloquent\ModelNotFoundException
             * @static
             */
            public static function findOrFail($id, $columns = [])

The static makes this work.


Client retrieves csv data from '/data'.

Has static csv files so there is never missing data after a redeploy. The AWS component would replace it within an hour, or whenever triggered manually.


Improve JVM version too low error message

Second followup to #27858.
This adds a new ResolutionFailureDesciber that provides a custom error message and resolution suggestion when the org.gradle.jvm.version of a requested dependency is too high (higher than the current JVM):
Could not determine the dependencies of task ':consumer:compileJava'.
> Could not resolve all task dependencies for configuration ':consumer:compileClasspath'.
   > Could not resolve project :producer.
     Required by:
         project :consumer
      > project :producer requires at least a Java 18 JVM. This build uses a Java 17 JVM.

This replaces the previous more generic message, for example:
> Could not resolve all artifacts for configuration ':classpath'.
   > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.2.1.
     Required by:
         project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.2.1
      > No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.2.1 was found. The consumer was configured to find a library for use during runtime, compatible with Java 11, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.8-20240227050000+0000' but:
          - Variant 'apiElements' declares a library, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component for use during compile-time, compatible with Java 17 and the consumer needed a component for use during runtime, compatible with Java 11
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.8-20240227050000+0000')
          - Variant 'javadocElements' declares a component for use during runtime, and its dependencies declared externally:
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about its target Java version (required compatibility with Java 11)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.8-20240227050000+0000')

(continues listing all variants...)

and suggests Run this build using a Java 17 JVM (or newer).
This PR also:

Removes the core-jvm project, by migrating its code to the jvm-services project, which seems more appropriate and removes the need for a very small project.
Verifies the particular case of running Spring Boot 3+ on JDK 11- now produces the same cleaner error message.

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

Note an interesting followup - try running the declarative prototype of the unified Android plugin with JDK 11 to see another example failure.  After this is merged - confirm that situation is detected and the new clearer error message used.

That's a great improvement!

So, I'm not seeing the most important comment on my review, which makes me think I must have written it, but not saved it before I submitted the review.  It doesn't look like we have a test for when canDescribeFailure() returns false (e.g. when some, but not all candidates are incompatible because of JVM version).  Or is that test case covered elsewhere?  If not, I think we should add some coverage for it.

So, I'm not seeing the most important comment on my review, which makes me think I must have written it, but not saved it before I submitted the review. It doesn't look like we have a test for when canDescribeFailure() returns false (e.g. when some, but not all candidates are incompatible because of JVM version). Or is that test case covered elsewhere? If not, I think we should add some coverage for it.

We don't.  I figured that's what your comment meant, it's a good idea.  I'll add a unit test for this, and the Plugin application describer as well.  Also, after talking to Sterling, this needs to be restricted to the case of applying plugins for now as well, so there's more to be done here.

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

So, I'm not seeing the most important comment on my review, which makes me think I must have written it, but not saved it before I submitted the review. It doesn't look like we have a test for when canDescribeFailure() returns false (e.g. when some, but not all candidates are incompatible because of JVM version). Or is that test case covered elsewhere? If not, I think we should add some coverage for it.

I started to go down this path, but honestly, setting up all the proper inputs to create a realistic failure for the describer is a lot of code.
I think leaving the integration tests as the only means of testing this is fine.  Every test that includes a resolution failure tests the canDescribeFailure method implicitly, since if these describes return a false positive, the messaging that existing tests expect wouldn't result.

@bot-gradle test this

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

I don't feel strongly about this, but I think we might be able to drop the coordinates from the message too. This is what it looks like now:
   > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.2.4.
     Required by:
         project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.2.4
      > Dependency 'org.springframework.boot:spring-boot-gradle-plugin:3.2.4' requires at least JVM runtime version 17. This build uses a Java 11 JVM.

But this is in the context of resolving org.springframework.boot:spring-boot-gradle-plugin:3.2.4, so we could just say:
   > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.2.4.
     Required by:
         project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.2.4
      > Dependency requires at least JVM runtime version 17. This build uses a Java 11 JVM.

Yeah, good idea.  It doesn't add anything to repeat the coordinates in this case.  I'll remove them.

@bot-gradle test and merge

The merge queue build has started. Click here to see all failures if any.

Note an interesting followup - try running the declarative prototype of the unified Android plugin with JDK 11 to see another example failure. After this is merged - confirm that situation is detected and the new clearer error message used.

@big-guy FYI, I just gave this a try and it works as planned:
FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'unified-prototype'.
> Could not determine the dependencies of null.
   > Could not resolve all task dependencies for configuration ':classpath'.
      > Could not resolve project :unified-plugin:plugin-android.
        Required by:
            project :
         > Dependency requires at least JVM runtime version 17. This build uses a Java 11 JVM.

* Try:
> Run this build using a Java 17 or newer JVM.

Also note the dependencies of null language (not due to the describer).  I'm going to see if I can fix that.


help_docs: Add documentation for status emoji.

Extends existing documentation about user status to cover both potential parts of a person's status: emojis and messages.
Also, adds a link in the /help/web-public-streams article where user status is referenced.
Fixes #21369.
Testing plan: manual
Screenshot of changes to documentation:

Thanks!
For setting a status, I think we need to mention that you can click on a status to select one of the common ones.

Hmm, maybe I'll play with it. I think this page also needs a bit more structure.

Closing in favor of the copy merged in #21413, thanks @laurynmm!


Add python3.6m DllNotFoundException solution

Description

Add "System.DllNotFoundException: python3.6m" solution in Algorithm.Python/readme.md
Related Issue

https://www.quantconnect.com/forum/discussion/5235/problem-with-mac-vs-when-running-lean-system-dllnotfoundexception-python3-6m/p1
Motivation and Context

Solve a known bug of python on mac.
Requires Documentation Change

This is a documentation change.
How Has This Been Tested?

Ran python algorithms and got the same result as C# version without getting any error.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Non-functional change (xml comments/documentation/etc)

Checklist:

[ ] My code follows the code style of this project.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.
[ ] My branch follows the naming convention bug-<issue#>-<description> or feature-<issue#>-<description>

Closing in favor of path fix.


ARTEMIS-2457 implement ring queue

Don't merge this yet. I've still got a few tests to add for basic configuration stuff, and I also need to finish the docs. I'm putting this up now to get reviews/opinions.

In QPID both size in message count can be configured / or size in total bytes.  I cannot see how we can set the latter?
What's the reason to make this a brand new queue type entirely over just making it something configurable, i ask as it means cannot change an existing queue into a ring queue without deleting and recreating, where as having it a setting in QueueImpl like almost all others would give the dynamic ability.
On top of the last comment, can we dynamically update the size, e.g. increase or decrease its limit, so that if incorrectly sized it can be tuned, without need of re-creating.

This is kind of nit picky but I would prefer a different name like "FixedSizeQueue" instead of "RingQueue" or something just because the name RingQueue immediately made me think of Ring/Circular buffers where memory is re-used for performance so I thought this would be something similar to LMAX Disruptor, etc.  However, obviously the goal here is to just to maintain a max size or fix sized queue by acking the oldest message.  But I'm certainly not going to -1 over the name, if everyone wants to keep RingQueue that's fine.

I think in qpid it was ring queue, for those moving from qpid over its kind of nice to keep consistent but not strongly opinionated

@cshannon, @michaelandrepearce is right about the name coming from Qpid. I see your point, but for continuity with Qpid I think it makes sense to keep the current name.

@jbertram - Alright that's fine to keep the name then since there is some precedence on the name coming from Qpid.

In QPID both size in message count can be configured / or size in total bytes. I cannot see how we can set the latter?

Only count is supported at this point.

What's the reason to make this a brand new queue type entirely over just making it something configurable...

I was following the pattern established by the last-value queue implementation. I did consider just making it part of the queue implementation, but it seemed cleaner to separate out the ring code.

...can we dynamically update the size, e.g. increase or decrease its limit, so that if incorrectly sized it can be tuned, without need of re-creating.

There is no facility for changing the ring-size at this point. I'll look at adding that as it would be nice to have.

I resolved the conflict, updated the code per the reviews, & added some additional tests. I'm still working on the docs, though so don't merge quite yet.

Docs are done. This is ready to merge from my perspective.

@wy96f, take a look at the code now. I believe I addressed your concerns.

Is there added ability to update the size? I really would like this sorted before merge as it stands with it not being implemented inside the main queueimpl i beleive it makes it very hard to implement. Thus my original feedback / query to why have it as independent type, instead of implementing within queueimpl.

Ill try make something this weekend to show what im meaning

@michaelandrepearce, I've moved the ring semantics into QueueImpl.
@wy96f, I'm still looking at the issue you identified.

Looking better, left a number of comments, one critical bug i found was its possible to raise NPE in QueueImpl constructor, this is because its not following the same pattern as all other fields, lets keep things uniform / follow existing convention.

In LastValueQueue::addHead,
https://github.com/apache/activemq-artemis/blob/9d96dda336514d2b49e26e73f2c4c7bd83f6ea31/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/LastValueQueue.java#L152
https://github.com/apache/activemq-artemis/blob/9d96dda336514d2b49e26e73f2c4c7bd83f6ea31/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/LastValueQueue.java#L154,
if ref is replace acked due to over the ring size, we shouldn't put ref in LastValueQueue::map.


Describe the C code style in CONTRIBUTING.md

Add the description about C code style used in inclavare containers project:
indent -npro -linux -il-8 -ppi2 -nbbo -ci0 -cs -cp1 -gts foo.c

where the version of indent must be 2.2.12. Meanwhile, give the hints about using 2.2.12 as following:
wget -c https://https://ftp.gnu.org/gnu/indent/indent-2.2.12.tar.gz
tar xzf indent-2.2.12.tar.gz
cd indent-2.2.12
./configure
make
sudo make install
indent --version

In addition, give the description about using INDENT-OFF and INDENT-ON comments. For example, take inline assembly code as example to show its usage.


Folder View for Symbols (Components)

Is your feature request related to a problem? Please describe.
When reversing large binaries, I often try to group certain functions together so that I can focus on small sets of functions.
Describe the solution you'd like
A clear and concise description of what you want to happen.
It would be nice if you can create a tabs just like how it is in tags for symbols

Similar to Ida 7.5 and Ghidra folder structure:
https://hex-rays.com/products/ida/news/7_5/
https://mobile.twitter.com/rolfrolles/status/1283157239147008000
Describe alternatives you've considered
Currently I either tag or name them similarly so i can filter them.

Resolved in builds >= 3.4.4089.
Currently, the new Symbols UI is gated behind an option in settings (ui.components.enabled), and off by default. It's currently experimental and may have bugs. Try it out! Feedback and bug reports are appreciated.
Build 3.4.4089 added the new Symbols sidebar widget.
This widget replaces the old one, and allows:

Creating, organizing, and managing Folders
Displaying Addresses, Segments, Function/Datavariable sizes in neighboring columns
Built-in Scripts to automatically sort items into Folders
More options to edit attributes of functions/DataVariables directly from the sidebar.

Along with several other improvements.

Thanks to @cxnder this is now on dev in an experimental capacity. To enable it, use the setting
ui.components.enabled

@cxnder this looks awesome! i also love that its really easy to script it. One question though. Is there a way to automatically run a script when any of the symbols get changed? for example, it would be cool if i define some function as Foo::bar, it would automatically put it on Foo folder by running the script user defined.

We're working on a better way of showing off examples. What you requested could be done by setting up a BinaryDataNotification handler and moving corresponding functions/vars when symbols are added/updated/removed


Implement the Apache Pulsar Reader Interface as an alternate Consumer Interface

Describe the feature

In Pulsar, the "standard" consumer interface involves using consumers to listen on topics, process incoming messages, and finally acknowledge those messages when they are processed. Whenever a new subscription is created, it is initially positioned at the end of the topic (by default), and consumers associated with that subscription begin reading with the first message created afterward. Whenever a consumer connects to a topic using a pre-existing subscription, it begins reading from the earliest message un-acknowledged within that subscription. In summary, with the consumer interface, subscription cursors are automatically managed by Pulsar in response to message acknowledgments.
The reader interface for Pulsar enables applications to manually manage cursors. When you use a reader to connect to a topic---rather than a consumer---you need to specify which message the reader begins reading from when it connects to a topic. When connecting to a topic, the reader interface enables you to begin with:
The earliest available message in the topic.
The latest available message in the topic.
Some other messages between the earliest and the latest. If you select this option, you'll need to explicitly provide a message ID. Your application will be responsible for "knowing" this message ID in advance, perhaps fetching it from a persistent data store or cache.
The reader interface is helpful for use cases like using Pulsar to provide effectively-once processing semantics for a stream processing system. For this use case, the stream processing system must be able to "rewind" topics to a specific message and begin reading there. The reader interface provides Pulsar clients with the low-level abstraction necessary to "manually position" themselves within a topic.
Internally, the reader interface is implemented as a consumer using an exclusive, non-durable subscription to the topic with a randomly-allocated name.
( Source: Pulsar Concepts and Architecture - Pulsar Clients )
The Pulsar Reader Interface is very similar to that of a Consumer, but additional parameters to indicate where to start reading from in the cursor: a) from the start of the topic, b) from the last message ID in the topic or c) from a message ID somewhere in between and the last message ID in the topic. A PubSub component with key/value parameters for a Reader Interface could handle the basic options a) and b). For use case c) we need a practical way for the Dapr application to pass that value to the Dapr sidecar. Depending on what the application is doing, the starting message ID may change in a very dynamic manner.
Release Note

RELEASE NOTE:

For use case c) we need a practical way for the Dapr application to pass that value to the Dapr sidecar. Depending on what the application is doing, the starting message ID may change in a very dynamic manner.

I recommend making this use case C a separate issue which depends on this issue here. That is because we currently do not have a way to modify pubsub components behavior after a subscription was started. This needs to be thought out more carefully and likely requires changes to the PubSub interface impacting all components - that change would be in dapr/dapr (the runtime repo).
By separating the use case C out this issue would already be workable as is. But use case C is a lot more complex and require coordination between repos and may therefore not be prioritized, so decoupling these will increase likelihood this request can be completed.

Thanks for your feedback Bernd - I'll strikeout the text in the request for the record and simplify the request. When I wrote the request I was wondering if use case c) justifies building a pluggable component (e.g. ReaderSubscription) with API semantics for reading from an EventStore. In this case, the EventStore is Pulsar, but perhaps other EventStores built around a Write-Ahead Log (WAL) might be able to reuse the API.


Fix manifest conversion

Pull Request Test Coverage Report for Build 166

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 78.149%

Totals

Change from base Build 163:
0.01%

Covered Lines:
4242

Relevant Lines:
5278

💛  - Coveralls


fix: Product Grid Item throws TypeError if no prices are defined (#3765)

Closes: #3765

 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.Eike Schuderer seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Allows host of <IP_ADDRESS> for Burr app

Docker requires this to expose
Changes
How I tested this
Notes
Checklist

[ ] PR has an informative and human-readable title (this will be pulled into the release notes)
[ ] Changes are limited to a single goal (no scope creep)
[ ] Code passed the pre-commit check & code is left cleaner/nicer than when first encountered.
[ ] Any change in functionality is tested
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged / future TODOs are captured in comments
[ ] Project documentation has been updated if adding/changing functionality.

Probably want to expose allowed hosts too?

Not django so it's a bit more complicated but yeah


Feature Requests

Feel free to post anything you'd like to see in VR (within this mod), regardless if you think it will be possible or not (well I mean lot's of stuff won't be without major (re)work, but don't let that stop you) :)

POV mode (see issue #8)

I'd like to grab joints with touch and leap motion and pose girls in real time. no interface (or an option to hide it) to make it real.

could you add the 'Touching' to the honeyselectvr plugin too. (or a how-to for us noob programmers)


libx86emu: 2.1 -> 2.2

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/libx86emu/versions.
meta.description for libx86emu is: '"x86 emulation library"'.
Compare changes on GitHub

Checks done (click to expand)

built on NixOS
/bin/sh passed the binary check.
1 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 2.2 with grep in /nix/store/gklv6vlqpz360n26hk8jskqi39i971mk-libx86emu-2.2
directory tree listing: https://gist.github.com/a3ca66cb09c0b1347e41c66d06e9729a
du listing: https://gist.github.com/28715de95afbc36829041d503ec68f20

Rebuild report (if merged into master) (click to expand)

6 total rebuild path(s)
2 package rebuild(s)
2 x86_64-linux rebuild(s)
2 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
2 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
hwinfo
libx86emu

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/gklv6vlqpz360n26hk8jskqi39i971mk-libx86emu-2.2 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A libx86emu https://github.com/r-ryantm/nixpkgs/archive/770a6b0d037010f441059ae7e79f8098d06f7948.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/gklv6vlqpz360n26hk8jskqi39i971mk-libx86emu-2.2
ls -la /nix/store/gklv6vlqpz360n26hk8jskqi39i971mk-libx86emu-2.2/bin

cc @bobvanderlinden for testing.

@GrahamcOfBorg build hwinfo


chore: github pages -> s3

Codecov Report
Base: 80.27% // Head: 80.20% // Decreases project coverage by -0.07% :warning:

Coverage data is based on head (718eb28) compared to base (12a0c25).
Patch coverage: 80.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #125      +/-   ##
==========================================
- Coverage   80.27%   80.20%   -0.07%
==========================================
  Files          79       79
  Lines        2459     2481      +22
==========================================
+ Hits         1974     1990      +16
- Misses        485      491       +6

Impacted Files
Coverage Δ

src/cli/current.rs
73.33% <75.00%> (-0.36%)
:arrow_down:

src/cli/hook_env.rs
72.85% <83.33%> (+0.54%)
:arrow_up:

src/config/toolset.rs
84.15% <100.00%> (+1.00%)
:arrow_up:

src/plugins/mod.rs
81.68% <0.00%> (-1.00%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


请问有谁在WFLW上复现了吗？

https://github.com/HRNet/HRNet-Facial-Landmark-Detection/issues/12#issuecomment-569591646


optimize main.js bundle size

don't do
import {Form} from "antd";

awesome-typescript-loader will load everything from antd.


Configure PermitRootLogin later

Root login to the engine VM over ssh is needed
at engine-setup time because now it's executed
via an ansible role.
The user can still want to diable it so
let's temporary enable it for setup execution
and configure it via PermitRootLogin
as latest action on the engine VM before
restarting it from the shared storage.
Bug-Url: https://bugzilla.redhat.com/1752113

Failed verification

Verified together with https://gerrit.ovirt.org/103702/


Question About State Inheritance

How can I use this in a more object oriented fashion. Your book  examples reference all the code concurrently in a single CPP avoiding having to forward declare a class. If I were to organize my states into .h and .cpp files respectively and try to forward declare a class it fails the static assertion checks. Example being
`
//in State_Idle.h
class State_Ready;
class State_Idle : public AbstractState{
}
//where AbstractState inherits hsm::State
//in State_Idle.cpp
//constructors, destructors, etc
#include State_Ready.h
//in State_Ready.h
class State_Ready: public AbstractState{
}
`
Thanks for your help.

Hi,
It's true that the book shows each state machine in one single cpp file, which is not really how I normally do them. Normally, it's something like:
header file:
#pragma once
#include "hsm.h"

class Character
{
public:
	void Init();
	void Update();

private:
	struct States;
	hsm::StateMachine m_stateMachine;
};

and cpp file:
#include "character.h"
#include "character_hsm.h"

using namespace hsm;

struct Character::States
{
	struct StateBase : StateWithOwner<Character>
	{
	};

	struct Root : StateBase
	{
		Transition GetTransition() override
		{
			return InnerEntryTransition<Alive>();
		}
	};

	struct Alive : StateBase
	{
		Transition GetTransition() override
		{
			return InnerEntryTransition<Locomotion>();
		}
	};

	struct Locomotion : StateBase
	{
	};
};

void Character::Init()
{
	m_stateMachine.Initialize<CharacterHsm::Root>(this);
	m_stateMachine.SetDebugInfo("Character", hsm::TraceLevel::Basic);
}

void Character::Update()
{
	m_stateMachine.ProcessStateTransitions();
	m_stateMachine.UpdateStates();
}

Now you mention wanting to separate each state class into its own header/cpp file. However, I highly advise against doing that. This library is really a DSL that's best used in the way I present above; that is, you should define your states as fully inline classes as inner types of a struct that's forward declared within the owner class. This provides many advantages, such as:

No forward declarations because states types can refer to state types defined below
All states can be hidden in a cpp file, making iteration faster (no need to recompile more than just the cpp when making modifications
State classes can access private data from the owner class because they are inner types of an inner type of the owner

Some disadvantages of this approach are:

All dependent headers are included in one place, even if only some of the states need them.
The state machine can grow large, making for a very large single cpp file.

Trying to break up each state so that they are physically in their own header and cpp can alleviate the disadvantages, but is really annoying to work with because of the amount of boiler plate code required, and management of dependencies between states.
There is one solution that is a compromise between the two: you can break up your state machine into groups of states, each group having its own header/cpp, and you only declare the outermost state of the group in the header, and hide the inner states of the group in the cpp file. For example, you'd have a Character.h/cpp for the owner class and the root states (Root, Alive, Dead), then you could have Locomotion.h/cpp that would declare Locomotion in the header, but hide inner states like Idle, Moving, Jumping, etc. If you're really interested in seeing how this can be done, I could put together an example. However, I still highly recommend this as a last resort, and that you try to put your hsm in one cpp.

Closing from lack of activity.


improve coverage

I made some modifications on test file to improve coverage for our codes. I need to see the actual report to see whether it improves or not. So please do not merge this. I would merge this by myself if the modification works. Thanks.

Yeah~~ I did improve the coverage! Also I made some changes on Readme file on the top directory, the former one add a wrong address and I changed it into our own travis page.

Okay! So far sooooo good! However, further changes have to be made under data/data.py. As we can see from the code, we clearly don't have that 'd' file thus no valid test is made.

@rossbar I want to use $wget to get all subdirectories and files inside "https://nipy.bic.berkeley.edu/rcsds/ds115/sub001/"
I tried $wget -r --no-parent --reject="index.html*" -e robots=off https://nipy.bic.berkeley.edu/rcsds/ds115/sub001/ --no-check-certificate
but it will still get the parent folder for me(nipy.bic.berkeley.edu/rcsds/ds115), could you please help me solve the problem? Thanks!


losses keep going down but my mIOU stays the same.

I put my own data set into the ade20k folder and used "python -m segm.train --log-dir seg_tiny_mask --dataset ade20k
--backbone vit_tiny_patch16_384 --decoder mask_transformer" for training.  I set  data.ade20k.py as follow , to detection oil.
class ADE20KSegmentation(BaseMMSeg):
    def __init__(self, image_size, crop_size, split, **kwargs):
        super().__init__(
            image_size,
            crop_size,
            split,
            ADE20K_CONFIG_PATH,
            **kwargs,
        )
        self.names, self.colors = utils.dataset_cat_description(ADE20K_CATS_PATH)
        self.n_cls = 2
        self.ignore_label = 255
        self.reduce_zero_label =False

How is the.yml file set up in data?My data set has only one class of objects and backgrounds.
I set it as follows:

color:

127
0
0
id: 0
isthing: 0
name: oil

color:

0
0
0
id: 1
isthing: 0
name: background
But my losses keep going down but my mIOU stays the same. This question has been bothering me for a long time. Looking forward to your reply.

Hi, thanks for your interest! Please check #61 as this is a similar request.

I soved it， thank you


Add Option for another List and Image Assets option right in the same webpart

For this one...
Maybe focus on just a plain asset library with images and categories...
But no coordinates required:
For stuff like this:

Maybe have a way to just upload to a library and add the columns to the library item?
Then instead of having a map, have something like pivot tiles for images.


Style diffs in commit view

Currently this is roughed in. There is an indication of new, modified and deleted content but it doesn't match Stuart's design yet. See user.js for the JavaScript.


Decision: What does deleting the application mean?

does it mean deleting the infrastructure? no, because it's assumed you created that out of band. Does it mean removing everything you created? That we can do. It's the reverse of the installation. :-)
but we'll have danglers like namespaces and CRDs.

I'm going to assume that I should operationally delete everything that I install. So far, so good. Leave no waste behind. :-)


aws.sh zsh support

There seem to be some gotchas w the script in zsh
+ WHEEL='-\|/'
+ '[' 0 -ne 0 ']'
./aws.sh: line 273: @: unbound variable

I changed my mind about this. I don't think we want to support any shells. Bash is fine. Let's just update the docs to make this clear.

This just needs to be documented in the aws.sh script and/or the awe deploy docs?

Just the deploy docs. We don't know all the ways it might err in different shells, so its best just to say that we expect bash.

stale


Implement devices to devices reshard.

This PR attempts to fix some multi gpu issues.

Do full data copy when reshard device memory.
Remove calculating row_segments for gpu_hist and gpu_sketch.

Please don't merge until I got more confidence multi-gpu is actually smoothed.

@RAMitchell Ready for another review now. :)

@trivialfis Would be nice if we can add unit tests for multi-GPU code. I'm looking into adding a slave worker with multi-GPU instance (p2.8xlarge) to the CI server.

@hcho3 Cool, I will try to make more tests for multi-gpu. :)

@hcho3 Do we split single gpu tests and multi-gpu tests, or just try to use all available gpus in the tests?

@trivialfis In #3741, I am using a separate directory python-mgpu to indicate which tests should be run with a multi-GPU machine as supposed to a single-GPU machine.


Investigate questionable repairkit behaviour

💡 Description
See OP here: https://github.com/NASA-PDS/registry-sweepers/issues/108#issue-2145296474
psa-prod repairkit completed 6m42s - questionably-round 80k products affected, then 40k the next execution, then 19786, then 0 - check this later
⚔ Parent Epic / Related Tickets
No response

Still occurring - appears to be terminating loop approximately halfway through
Query 6642d:  57%|███████████▉         | 121500/214809 [02:27<01:53, 825.18it/s]
2024-08-26 20:08:58,326::opensearch::INFO::POST https://b3rqys09xmx9i19yn64i.us-west-2.aoss.amazonaws.com:443/atm-registry/_bulk [status:200 request:0.952s]
2024-08-26 20:08:58,331::pds.registrysweepers.utils.db::INFO::Updated documents for 121500 products!

This seems almost certainly due to the fact that each (update) page writes values to documents in the query set which exclude them from the query set, breaking consistency of the pagination over the query set.  I haven't worked out the details of why this occurs, yet, but I'm not sure that's valuable.
@jordanpadams @tloubrieu-jpl there are a few options here

rely on registry-sweepers' repeated execution to get all data fixed (each run will fix ~1/2 the data until that quantity falls below the update page size of 20k, at which point it'll fix up the whole remaining portion)
have repairkit run recursively (ish) until no records require fixing (quick bandaid that eliminates the delay of waiting for repeated sweepers runs, but pretty hacky)
switch repairkit to make a fresh query for every page of 20k documents, rather than attempting to paginate, terminating when no records are returned (this is the proper fix).

@alexdunnjpl per the last option, one thing of note was something @al-niessner mentioned regarding delay time in records actually being updated in AOSS. We may need to watch that this doesn't just run continuously.

@jordanpadams there is a theoretical potential for redundant work, but no possibility of running continuously, because even if an updated-but-not-refreshed page (or portion thereof) is re-queried and resubmitted for update, it will be updated and excluded from the result-set in short order.

@alexdunnjpl copy that


Swap UI test fix

❓ Context

Impacted projects: UI tests
Linked resource(s): N/A

After migrating to Playwright 1.22.2, we can enable back animations and the tests are stable 🚀.
I also fixed the swap tests to wait for loading (rates) and changed the test design.
✅ Checklist

[ ] Atomic delivery: Depends on #203
[ ] No breaking changes: Enabling animations could impact all screenshots in other tests.

📸 Demo
Video on Slack
🚀 Expectations to reach
All tests have to pass with no flakiness.

I'll rename this branch/PR because I won't change only the swap tests.


Update GETTING_STARTED.md

Fix several pieces of code
I started to dived into orbitdb and found several lines of broken code, and fix them.
Could you please check them out?

Thanks for your contribution @hsjo12. Merged.


Calling functions on PostgreSQL

Hi,
Is there a way calling postgres functions without using knex.raw() in order to get the result parsed to an object using the knex driver?
For example, If I have a Users table and I have a pg function called get_user_by_some_field that does some work on other tables but finally returning an User object - how can I call the function (with parameters) and get the result parsed to an User object?
Thanks

knex.raw is the only way, more info here: https://github.com/tgriesser/knex/issues/2021 there are also some older issues talking about calling stored procedures.

Thank you @elhigu , I'll comment in the issue you linked to.


Textures don't render correctly on Bistro

Bevy version
b6ead2be95d8e6d955fa026a826410b640db4dbd
This appears to have started when assets v2 was merged.
Relevant system information
AdapterInfo { name: "AMD Radeon RX 6800 XT", vendor: 4098, device: 29631, device_type: DiscreteGpu, driver: "", driver_info: "", backend: Dx12 }
Also happens on linux vulkan on the same system.
What you did
Convert bistro (https://developer.nvidia.com/orca/amazon-lumberyard-bistro) to a gltf using blender, then view it with the scene viewer.
What went wrong
The textures aren't tiling correctly.
Additional information
The current incorrect texture rendering:

What export settings did you use when exporting to gltf ? I tried reproducing by exporting as glb from the fbx with the default settings in blender.  When loading the scene with the scene viewer from the bevy examples on 20ed3e0e765405ee334a44ce3c49c72bd29ab753, the textures are properly tiling but I'm getting some extreme flickering from most of the meshes.

Blender 3.6.4 is outputting broken gltfs that flicker (at least for bistro, tested in bevy and unreal 5.2). Blender 3.5.1 gltf exports work, but in bevy post assets v2 have broken texture rendering (at least for bistro).

Looks like embedded textures have their sampler descriptor set but loading via uri doesn’t: https://github.com/bevyengine/bevy/blob/20ed3e0e765405ee334a44ce3c49c72bd29ab753/crates/bevy_gltf/src/loader.rs#L634
https://github.com/bevyengine/bevy/blob/20ed3e0e765405ee334a44ce3c49c72bd29ab753/crates/bevy_gltf/src/loader.rs#L1070 that texture_sampler() function is where the address mode is set
So the two cases which handle uris need to use that function
To make the sampler descriptor


Add Hostnames to Status for HTTP and TLS Routes

What would you like to be added:
A new hostnames field in RouteParentStatus that could be used to indicate which hostnames a Route was attached with.
Why this is needed:
This could be useful if a Route was attached to different Gateways for different hostnames. For example, it could be attached to Gateway foo for foo.com and Gateway bar for bar.com. This would happen if the Route specified both hostnames but each Gateway only specified one of the hostnames.
For reference: This idea was came from a comment thread with @youngnick

Given I suggested it, I can hardly avoid a +1 here. 😄
It does seem like it would nice to have a way to know what hostnames a Route is exposed on, particularly once we add multiple TLS details, Listener hostnames, and Route hostnames.

Is this issue already in-progress? If not, I'd like to do this :).

@tokers thanks for volunteering to take this one on! I don't think anyone's working on this one. This feels a bit borderline, but it may benefit from a tiny GEP before adding it to the API.

@tokers thanks for volunteering to take this one on! I don't think anyone's working on this one. This feels a bit borderline, but it may benefit from a tiny GEP before adding it to the API.

Sure, I'll think about the GEP firstly.

Any news for this? I'm looking forward ti this feature :smile:

@tokers are you working on a GEP for this? If not, we can add a "help wanted" label to the issue.

@tokers are you still able to work on a GEP for this? If not, we can add a "help wanted" label to the issue.

I'm so sorry for the delay, I focus on other business things these days, I'm afraid the status will continue for some time, so you can help me to re-assign this issue to other friends.

/remove-lifecycle stale
/help


Make classifiers defined in setup.py show on PyPI, so people will know it supports Py3

New version released! https://pypi.python.org/pypi/xerox


Wordpress plugin installation

i get the error Abort class-pclzip.php : Missing zlib extensions when i try installing

Hi @Kenworld  this error  is related to the PHP installation on the hosting server that you are using. kindly ask your hosting provider to update your PHP version.
you can also make use of the link below for possible solutions the problem:
https://forum.infinityfree.net/t/installation-failed-abort-class-pclzip-php-missing-zlib-extensions/33187
Best Regards


Publish to a NuGet feed

Problems for PTVS:

The PLS package files are uploaded to a CDN but they're not part of a NuGet feed, so standard NuGet references don't work.
Old packages are sometimes deleted, breaking builds.

See https://docs.microsoft.com/en-us/azure/devops/artifacts/get-started-nuget?view=azure-devops for how to publish to pkgs.dev.azure.com.
FYI the division has phased out their usage of myget.org, now they're all using the above public artifacts hosting on ADO (for anything that isn't appropriate to go to nuget.org).
The ptvs branch was publishing to a storage account https://pvsc.blob.core.windows.net/vs-python-ls/index.json

Is it just for references or needs complete self-contained packages as does runtime? Complete package is per platform and each is ~30MB.

We need to use it as both an SDK and as a Runtime. The SDK needs to be the 32-bit package because that's for use inside VS process. The runtime needs to be 64-bit or 32-bit depending on the user's machine.
So what I've been doing is extracting both 32-bit and 64-bit packages in separate folders:
PTVS/LanguageServer/x64/<PLS x64 assemblies>
PTVS/LanguageServer/x86/<PLS x86 assemblies>

I use the Codebase attribute point to the assemblies in the 32-bit subfolder so VS can load them in proc.  When starting the language server runtime, I just point to either 32-bit or 64-bit executable in appropriate subfolder.
That way I am avoiding having 3 copies (one for SDK, 2 for runtime).
But that will be a problem if we want to update the language server after VS has been installed. We would have to guarantee that the new language server remains SDK compatible if we're going to drop in replace a new one.
So if we need to update the runtime after install, I think it would be safer if that doesn't update the SDK files used in VS process. So keep the SDK assemblies in the same folder as all other PTVS assemblies, separate from the runtime subfolders, which would get overwritten with the download.
PTVS/<PLS x86 assemblies>
PTVS/LanguageServer/x64/<PLS x64 assemblies>
PTVS/LanguageServer/x86/<PLS x86 assemblies>

It's kind of annoying that there's no AnyCPU build but I suppose that's not possible when you want an executable generated, as opposed to launching with dotnet.exe?

LS package is self-contained, it does not need SDK or runtime. The discovery and download pattern exists in the Python extension: https://github.com/microsoft/vscode-python/tree/master/src/client/activation/languageServer with channels, versions, installation, etc.
I assume that only parser might be loaded in-proc. Analysis engine in-proc on 32-bit platform is basically useless b/c of the memory requirements.

From Microsoft.Python.Analysis.Core, we use:
InterpreterArchitecture
ModulePath

Outside of those 2, we just need Microsoft.Python.Parsing and Microsoft.Python.Core.
They can be copied into our sources. I'd prefer not for ModulePath though.

OK. Let's see if we can move those to core or parser instead.


FTB Infinity Evolved Crash because of EnderIO/AppliedEnergistics

Issue Description:
Minecraft crashes randomly throughout the game, sometimes leaving no crash report. I tried using an older version of FTB (3.0.2) but it still doesn't work, it runs fine for some minutes but then the crashes happen more often, same on FTB 3.1.0.
What happens:
Random crashes while playing without any warning.
What you expected to happen:
I expected it to run normally without any issues
Steps to reproduce:

Open Twitch Launcher
Install FTB Infinity Evolved 3.0.2/3.1.0
Right click FTB Profile, Open Directory
Open mods folder and add HideNames Mod
Launch Minecraft
Join Server
Crash

Affected Versions (Do not use "latest"):

EnderIO: EnderIO-1.7.10-<IP_ADDRESS>9_beta
EnderCore: EnderCore-1.7.10-<IP_ADDRESS>_beta
Minecraft: 1.7.10
Forge: Yes
SpongeForge? no
Optifine? no
Single Player and Server

Your most recent log file where the issue was present:
https://pastebin.com/uAamWSri

1.7.10 forge is not supported anymore so don't except any fixes for enderio or the core bc devs have moved to latest version of mc 1.12.2

Nothing to do with enderio


Added instructions for obtaining typings for the library in Typescript.

Hi JMPerez.
Thanks for your great library.
I have worked this christmas on typings the spotify web api and this library in .d.ts-files. Both have just been merged into The DefinitelyTyped repository.
This pull request adds instruction on how to obtain these definition files.
When using these typings it becomes much easier to interact with the API.
Regards, Skovmand.

@skovmand Wow, thank you so much! Precisely I was reading about TypeScript during last week and wanted to do this at some point.

Thanks. Glad to hear that!

On 10 Jan 2016, at 11:10, José Manuel Pérez<EMAIL_ADDRESS>wrote:
Merged #28 https://github.com/JMPerez/spotify-web-api-js/pull/28.
—
Reply to this email directly or view it on GitHub https://github.com/JMPerez/spotify-web-api-js/pull/28#event-510419161.


(GH-109) Changed rule from Guideline to Requirment

Relates to #109

@ferventcoder I have already moved the entry in the wiki article.


On macOS, choosing "View > Command Palette" with all windows minimized - no visible effect

VSCode Version: 1.39.2
OS Version: macOS 10.15

Steps to Reproduce:

Start VS Code on macOS
Open one or more workspace and/or editor windows
Minimize or hide all of the windows using the "Window > Minimize" command
Note that the "View > Command Palette" option is still enabled
Choose "View > Command Palette"

Note that nothing visible has occurred. However, if you then expand your "topmost" minimized window, it will open with a command palette dropdown attached.
Ideally, this option should be disabled when there aren't any windows visible. Optionally (but not as good a solution given design norms on macOS) would be to un-minimize the window automatically when opening the command palette in it.

Does this issue occur when all extensions are disabled?: Yes

None of those are duplicates.


annotated-wl-pprint

Thanks for this fantastic library, I really appreciate how nicely your data types are laid out.
I noticed you're going to quite some trouble to have both text and ANSI pretty printing. I thought you might be interested in annotated-wl-pprint which might allow you to do that and more without all the CPP.
David Christiansen presented on how it is used in Idris at HIW 2015.

Thanks! This looks interesting. I'll consider switching over.

I've dropped wl-pprint support. Only ansi-wl-pprint is supported now. I'll switch to annotated-wl-pprint or wl-pprint-extras if a use case for semantic annotations comes up. Closing this meanwhile.


Update oms-windows.md

Changed the order of the version table to match Linux table, such that reading top to bottom it goes newest to oldest instead of oldest to newest

@aliabuckner : Thanks for your contribution! The author, @roiyz-msft, has been notified to review your proposed change.

@aliabuckner : Thanks for your contribution! The author, @roiyz-msft, has been notified to review your proposed change.

@aliabuckner : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@aliabuckner - just need you to change the word "agent" to the informal noun to be consistent with all other docs about the LA agent.  Once you do that I will sign-off on this.

@aliabuckner : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@MGoedtel I assume you mean in the table header right? Just changed. (Though it is also capitalized in the Linux version I believe)

Reviewed and #sign-off.

@MGoedtel: I'm sorry - only the author of this article, @roiyz-msft, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


[DDC] Provide metadata to help filter JS scopes for debugging

In package:dwds we manually filter out the two outer most scopes:
https://github.com/dart-lang/webdev/blob/446fb9d63875a765fa3704c71ed76ede61a51325/dwds/lib/src/debugging/dart_scope.dart#L23
This is brittle and can be broken given changes to the root bootstrap logic. I will soon update the logic to filter scopes until we find where the Dart SDK is defined. This will be done by looking for core and dart on a JS scope. Although a bit better, this too seems brittle.
It'd be great if DDC provided metadata to help determine if a scope should be considered for debugging.

We can name the library closures (all of them with some detectable from the debugger name), and   only display the scopes that come after the library one.
This requires exposing scope name in WipScope class though - see https://github.com/google/webkit_inspection_protocol.dart/pull/56


mypy: Add annotations to api/integrations/svn/post-commit.

Automated message from Dropbox CLA bot
@tommyip, it looks like you've already signed the Dropbox CLA. Thanks!

Merged, after fixing the Union[, None] -> Optional thing.  Thanks @tommyip!


"error: failed to download the file" while installing many Ansible roles in rapid succession

It seems there's either some sort of rate limiting or connection problems between GitHub and ansible-galaxy when installing a number of roles within a certain time period; generally, the first time I set up Drupal VM on a given computer, it loads up all the roles when installed with ansible-galaxy install -r provisioning/requirements.yml without issue.
However, today I've installed the ~30 roles required by Drupal VM on an Ubuntu 15.10 and Fedora 22 workstation within a short time period (a few hours) on the same home network, and on Ubuntu, some of the roles would fail to download; even if I was just downloading the individual role (in this example, the security role... but it would fail at different points when using a roles file, or if downloading many roles manually at the same time):
$ sudo ansible-galaxy install geerlingguy.security --force
- downloading role 'security', owned by geerlingguy
- downloading role from https://github.com/geerlingguy/ansible-role-security/archive/1.0.6.tar.gz
- error: failed to download the file.
- geerlingguy.security was NOT installed successfully.
- you can use --ignore-errors to skip failed roles.

Using tcpdump, it looks like I get the following response every 10s or so while Ansible is waiting for the role to downloda (prior to the - error line):
github.com.https: Flags [S], seq<PHONE_NUMBER>, win 29200, options [mss 1460,sackOK,TS val 559271 ecr 0,nop,wscale 7], length 0

KingOfDos on #ansible IRC mentioned it could also be related to paramiko flakiness, but I know this same problem also hit @arknoll today, so I'm wondering what could've caused it and whether it's a connection issue, a Paramiko issue, a general Galaxy issue, or a GitHub issue (rate limiting feels the likely culprit, but https archive downloads aren't tracked through the anonymous API rate limiting, which is easily checked (curl https://api.github.com/rate_limit).
If anyone else has similar issues, please let me know. Worst case, we could file an upstream bug report in the ansible galaxy project and see if it's something that can easily be fixed. Best case it's just a momentary flakiness and I close this in a few weeks :)

Another note; just pasting the URL to the role in my browser allowed me to download the role any time with no problem, even when ansible-galaxy was complaining about the download failing.

This isn't really a problem with Drupal VM per-se... I'm going to close this issue and can re-open if there are others affected by the same problem who might have some solution to make the role download more stable/reliable.
It could've just been some weird network issues with Galaxy and/or GitHub a few days ago.


⚠ Bofrost.de has degraded performance

In a74533d, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1144 ms

Resolved: Bofrost.de performance has improved in 03b859b.


Fix path on windows [W.I.P]

Context / purpose
See
Description
Changed Path.join usage in the metastore implementations.
We could get rid of Path in PrefixStorage but let's agree on that since this is its public API.
How was this PR tested?
tested by running instance on windows, macOS and ubuntu as well as all the integration tests
Checklist

[x] tested locally

Can we get this merged?

@evanxg852000 Closing for cleanup. Please reopen when you can resume this work.


Implement per-axis periodicity and box size

This PR allows the user to specify a periodic box length in each dimension, rather than assuming a cube.  Internally, Corrfunc already supports this, so the only necessary change was to add support for passing a Python tuple as the box size instead of a scalar.
This change is API and ABI backward-compatible.  Currently, I've only implemented it for theory.DD, but all the other modules continue to work without modification.
@johannesulf, would you be willing to test this PR? I've tested that  boxsize=L and boxsize=(L,L,L) get the same answer, but I haven't actually verified the code gets the right answer for Lx!=Ly!=Lz!
Will close #247.

Hello @lgarrison! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file Corrfunc/tests/test_theory.py:

Line 12:37: E127 continuation line over-indented for visual indent
Line 43:22: E127 continuation line over-indented for visual indent
Line 45:21: E128 continuation line under-indented for visual indent
Line 49:6: E231 missing whitespace after ','
Line 49:8: E231 missing whitespace after ','
Line 49:10: E231 missing whitespace after ','
Line 52:21: E127 continuation line over-indented for visual indent
Line 53:21: E127 continuation line over-indented for visual indent
Line 54:21: E127 continuation line over-indented for visual indent
Line 62:44: E231 missing whitespace after ','
Line 62:52: E231 missing whitespace after ','
Line 67:44: E231 missing whitespace after ','
Line 67:48: E231 missing whitespace after ','

In the file Corrfunc/theory/DD.py:

Line 227:27: E231 missing whitespace after ','
Line 227:35: E231 missing whitespace after ','

Fantastic! I'll check this PR against halotools in the next few days and report back.

I currently don't find agreement with halotools. Take the following code that counts pairs in spheres with radius of 10 in a uniformly sampled, non-cubic box.
import Corrfunc
from Corrfunc.theory.DD import DD
from halotools.mock_observables import tpcf

N = 100000
boxsize = (100.0, 100.0, 50.0)
nthreads = 4
autocorr = 1
seed = 42
np.random.seed(seed)
X = np.random.uniform(0, boxsize[0], N)
Y = np.random.uniform(0, boxsize[1], N)
Z = np.random.uniform(0, boxsize[2], N)
r_bins = np.array([1e-10, 10])
weights = np.ones_like(X)
results = DD(autocorr, nthreads, r_bins, X, Y, Z, weights1=weights,
             weight_type='pair_product', boxsize=boxsize, periodic=True)

pos = np.vstack([X, Y, Z]).T
xi = tpcf(pos, r_bins, period=boxsize)
print('Number of pairs...')
print('halotools: {:.0f}'.format(
    (xi + 1) * 4 * np.pi / 3 * r_bins[-1]**3 / np.prod(boxsize) * N**2))
print('Corrfunc: {:.0f}'.format(results['npairs'][0]))
print('Expectation: {:.0f}'.format(
    N**2 * 4 * np.pi / 3 * r_bins[-1]**3 / np.prod(boxsize)))```

I get agreement with halotools and the expectation value (within error) for cubic boundary conditions. For the above code with a non-cubic box, Corrfunc currently does not agree with halotools. However, if I only consider points with Z<40, there is agreement with halotools. So it seems that the periodicity along the z-axis might not be taken into account by Corrfunc in the above code.

Awesome! Just tested the updated version and everything looks good. Is it possible to implement non-cubic boundary conditions also for the other functions in Corrfunc.theory, especially DDsmu?

Great! And yes, I haven't ported this feature to the other modules yet. It's not too bad, just involves echoing the _countpairs.c change to each module in that file (and updating the docstrings), and then updating each theory/*/*impl.c.src with the snippet from theory/DD/countpairs_impl.c.src. The last bit is updating the Corrfunc/theory/*.py interfaces (and docstrings).
@manodeep, can you review the change to DD before we proceed to the other modules?

I took one quick look and noted some comments, but I need to look more closely. Different boxsizes per dimension might impact the min-separation + periodic features, particularly in the calculation of the cell-pairs.

I agree, if you could check those areas of the code, that would be great. Fortunately, there were few places in the code that used boxsize—most functions take xdiff, ydiff, and zdiff separately. And Corrfunc has always supported non-cubic periodic boxes whenever boxsize=0 was used, although that code path was probably less tested.  It's also reassuring that non-cubic DD agrees with halotools exactly!

I've implemented the semantics from https://github.com/manodeep/Corrfunc/pull/276#discussion_r882985310. Specifically, a boxsize of -1 along any dimension now means that dimension is not periodic.  The surface area of the change was pretty minimal; it just affected the generation of the cell pairs.
I've tested that turning off periodicity per-dimension works by comparing to the periodic answer where the boxsize along that dimension has been extended beyond the particle distribution, such that it is effectively non-periodic. The answers agree exactly.
@manodeep, can you take a look?

Hey @manodeep, can you take a look at this when you get the chance?

I had looked at the comment and it seems fine. (Realised just now that I never "submitted" the comment - so it was pending ...)

Great! The code now uses the spatial extent instead of the boxsize, and all the tests are passing, so I think we're ready to port to the other modules. Will work on that next week.

We could leave the C command line as is but change the shared library to use options->boxsize. This does result in a divergence of supported options from the command-line vs the shared library.
The other route would be to remove the boxsize argument from the command-line. In which case, perhaps it would call for a major release rather than a minor.
(We have accumulated quite a few upgrades - so a major release could be in order)
Not sure if this answers your question - happy to discuss further to refine

I am fine with that - cubic periodic boxes should be the most common and the intended target for wp and xi anyway.
Just so I understand properly - we will keep wp and xi as is and only add the non-cubic feature to the other pair counters

Yes, exactly!

I performed some initial tests of DDsmu against halotools using per-axis periodicity and the results look good.

Excellent, thanks. @manodeep, good to merge?

I did some more in-depth tests and now I get some errors but only sometimes. Let me see whether I can find out what exactly triggers it.

@lgarrison I get errors when the number of tracers is very small. For example, if I take my code above and set N=2, it'll crash for me. I'm not sure whether this is supposed to happen. In principle, with a maximum search radius of 10 and box dimensions of 100, 100 and 50, no tracer should be counted twice.
../../utils/gridlink_utils_double.c> ERROR:  nlattice = 2 is so small that with periodic wrapping the same cells will be counted twice ....exiting
../../utils/gridlink_utils_double.c> Please reduce Rmax = 10.000000 to be a smaller fraction of the particle distribution region = 13.333546
../../utils/gridlink_utils_double.c> ERROR:  nlattice = 1 is so small that with periodic wrapping the same cells will be counted twice ....exiting
../../utils/gridlink_utils_double.c> Please reduce Rmax = 10.000000 to be a smaller fraction of the particle distribution region = 0.001206
Received xstatus = 0 ystatus = 1 zstatus = 1. Error

@johannesulf Corrfunc requires a minimum of 3 cells per dimension and so will crash based on the calculated number of cells -- check is here. It looks like the actual particle extent is significantly smaller than 100 (or 50) - e.g., the two tracers are separated by ~13 Mpc in Y (-> only 2 cells) and ~1e-3 in Z (-> only 1 cell).
You can avoid this crash by explicitly passing the boxsize.

I just checked, the crash still happens if the boxsize is passed (as Johannes' above example does). But this makes sense, because we changed the gridding to only span the particle extent, whereas before it was using the boxsize. So now, regardless of the boxsize, we may have few cells if the particle extent is narrow.
I think the fix is actually pretty simple: only apply the 3 cell minimum if any pairs can be counted across the wrap; that is, if xdiff + Rmax <= xwrap. This is actually a little conservative, but I think will cover almost all practical cases.

Works much better. But I'm getting an out-of-bounds error when calculating an auto-correlation function with e.g. Corrfunc.theory.DD  using just 1 particle, even if the particle is within the bounds.

Wonderful! Everything looks good now.

Great! @manodeep do you want to check my last two commits?

Thanks @manodeep, I've added the warning and the parentheses as you suggested.
I'm not sure I follow the suggestion about the inverse xdiff. Wouldn't using the boxsize when xdiff is zero just create a lot of empty cells to process? And if the user requested automatic detection of the particle extent, then we don't even have a sensible non-zero value of the boxsize to use.
I think the code handles the planar case fine: once all the particles are gridded, it no longer matters that they were in a plane, or even what the size of their containing cell is.  The binsize calculation will still raise an error if the user tries to apply periodicity in that dimension that could cause repeat counts.

Thanks @manodeep, I've added the warning and the parentheses as you suggested.
I'm not sure I follow the suggestion about the inverse xdiff. Wouldn't using the boxsize when xdiff is zero just create a lot of empty cells to process? And if the user requested automatic detection of the particle extent, then we don't even have a sensible non-zero value of the boxsize to use.

Agree that we need a single cell (i.e. cell index == 0) and the easiest way to do that is by setting inv_xyzdiff to 0. However, that might be confusing to read - may be add some lines of comments to show why inv_xyzdiff is being set to 0. That way, other users and later developers will not be confused.
Yup - agree that when the particles are co-planar (or worse), we have a meaningful boxsize only in the periodic cases and not in the non-periodic ones.

I think the code handles the planar case fine: once all the particles are gridded, it no longer matters that they were in a plane, or even what the size of their containing cell is. The binsize calculation will still raise an error if the user tries to apply periodicity in that dimension that could cause repeat counts.

If there is only a single cell, then I am not sure what conditions needs to be checked - (xdiff + rmax) >= xwrap or (xdiff + rmax) >= 0.5*xwrap. Did you have a simple unit-test added that can check?

I merged the large-rmax changes into this branch; it was pretty clean.  That branch removed the minimum cells-per-dimension requirement, so now the only requirement is that the user-specified Rmax is less than half the boxsize (in each dimension).  This is expressed here: https://github.com/manodeep/Corrfunc/blob/d30e59a4487e8196d9ca71e34fc6539ba7f68814/utils/gridlink_utils.c.src#L37
The only other thing was to add tests that simultaneously checked the large Rmax and non-cubic boxsize features, which is in the last commit. Everything looks fine.
@manodeep Ready to merge? The only check failure is the unrelated CircleCI.

I've significantly expanded the brute-force test; it now tests almost all combinations of options for DD, DDrppi, and DDsmu.  I actually think that if we wanted to reduce the test runtime, we could just use this instead of the gals_Mr19 tests.  But that can be a PR for another day.
The expanded tests did catch one or two regressions in supported configurations, namely Rmax > L/2 for non-periodic, and boxsize=None in the Python API.  Nothing special popped up related to DDrppi or DDsmu.

@lgarrison Is this ready to merge? And then (after the readme), release v2.5 with this per-axis periodicity and R ~ Lbox/2 features?

Yes, ready for merge. I think it's a good time for v2.5 too.
Related to v2.5, I see the milestone has some issues (#192, #210) that are related to gridlink/Rmax and can likely now be closed. I will try to test them this week and close them if appropriate.


UriHandler / Launcher

Let's have the relevant parts of the blog below in the docs. Probably need to figure out a good name for this.
https://runme.dev/blog/runme-blog-launcher

@sourishkrout what about this section: https://docs.runme.dev/features#run-with-runme-deep-linking ?

Oh! Must have overlooked it. Sorry. Let's be sure it's up to date and close the ticket.

Yes, the docs are still up to date. Closing.


Lazy branch does not compile

I'm submitting a ...  (check one with "x")
[X] bug report => search github for a similar issue or PR before submitting

Current behavior
Lazy branch does not compile.
npm run build.prod.exp results
Error: Error at .../angular-seed-lazy/node_modules/@types/jasmine/index.d.ts:40:38: A parameter initializer is only allowed in a function or constructor implementation.
Expected behavior
Should run :)
Minimal reproduction of the problem with instructions
Check out the branch,
npm install
npm run build.prod.exp
What is the motivation / use case for changing the behavior?
Having lazy loading AOT multimodule prod build.
Please tell us about your environment:
N/A

Angular Seed Version: 7d2175b

Node: node --version = 6.10

I will remove the lazy branch. It's not maintained.


User Reporting/Metrics #139

I can not add @Nandeesh82?
He answered me with this answer about if it is possible to see how much people pressed pause in a Teams Ice Breaker Bot:
go-to icebreaker analytics and select the user notified count, it will provide details about how many pairs identified. it will not give exactly how many user press pause, but if your team have 100 team members and pair notified count is 40, then assume that 10 users pressed the pause button.
Can you please tell me where is the icebreaker analytics? and how to get the details?
And is there a overview with all bots in one view? or should i select every time a new ice breaker bot?
And the last question were can i sett this up in Azuyre?
https://github.com/OfficeDev/microsoft-teams-apps-icebreaker/wiki/Telemetry
Thanks in advance!

Hi @LindaSchaar
Thank you for posting your query, there are 2 ways where you can identify how many users pressed pause the match, you refer to Azure Cosmos DB table as mentioned in the below image to see how many users have false for optedIn field.

You can also refer to Azure App Insights to get the metrics on how many users notified based on which you can determine the users count who paused the match.

Hi @LindaSchaar, I hope we've answered your question, closing this issue, if you still have any questions, please open a new issue.


Move mindependency and latestdependency common dependencies to a file

Process that file as part of CI to ensure we re-use the same wheel (instead of hitting issues when multiple tox environments try to build it at once)
In mindependency or latestdependency we only use use default tool install + your package reqs. NO dev_requirements are used.

This is the piece that I forgot when merging the the other PR. We need it to work both with a default tox install, but also in CI where parallelism comes into play.
This PR should meet the needs of both.

Confirmed on internal run.

Confirmed on internal run.


Fix read bytes count

read attempts to read up to chunk_size bytes. So real chunk length can be less than chunk_size.

@kxepal would you see the PR in 0.17.2 bugfix release?

Would be nice to have.

@asvetlov, @kxepal I've added test function for the case.

Not sure about Travis failure reason. Locally test passes with Python 3.4.3. I'll rewrite stream object without inheritance later.

Fixed in 0.17 branch.
@z2v thanks!


Implemented a "dry run"

This is in preparation for implementing dry-run #128.

LGTM, untested.

For some reason, doing the dry run with the docker hosts attempts a connection over ssh.

Also the dry-run should generate an inventory before executing because it does rely on that. For some reason it seems to be ignoring the connection=docker on the dry run part.

Having some trouble while testing this:
molecule test
Traceback (most recent call last):
  File "/home/conor/gits/molecule/venv/bin/molecule", line 10, in <module>
    sys.exit(main())
  File "/home/conor/gits/molecule/venv/local/lib/python2.7/site-packages/molecule/cli.py", line 72, in main
    CLI().main()
  File "/home/conor/gits/molecule/venv/local/lib/python2.7/site-packages/molecule/cli.py", line 68, in main
    sys.exit(c.execute()[0])
  File "/home/conor/gits/molecule/venv/local/lib/python2.7/site-packages/molecule/commands.py", line 527, in execute
    command = getattr(sys.modules[__name__], task.capitalize())
AttributeError: 'module' object has no attribute 'Check-syntax'

Here's the full command history leading up to that error. Commands are run in the git repo with this PR branch checked out.
virtualenv venv && source venv/bin/activate && pip install -r requirements.txt && python setup.py install
molecule --version # shows "1.6.4.dev3"
molecule init dummyrole
cd dummyrole
molecule test

Looks like the changes to capitalize and constantize could use a bit of refinement.

@conorsch yeah I need to give this PR some love.
Btw we have a sample role in the repo for just this purpose. tests/demo/molecule/.

@conorsch I have update the PR to simply rename check to syntax to make way for the proper check command.  Tests are currently passing.
Mind giving a +1/-1 review?

:-1:
Perhaps I'm missing something, but it appears the dry-run option is missing for me:
$ molecule syntax

playbook: playbook.yml
$ molecule check
Usage:
    molecule [-hv] <command> [<args>...]
$ molecule -h
Usage:
    molecule [-hv] <command> [<args>...]

Commands:
    syntax        check playbook syntax
    create        create instances
    converge      create and provision instances
    idempotence   converge and check the output for changes
    test          run a full test cycle: destroy, create, converge, idempotency-check, verify and destroy instances
    verify        create, provision and test instances
    destroy       destroy instances
    status        show status of instances
    list          show available platforms, providers
    login         connects to instance via SSH
    init          creates the directory structure and files for a new Ansible role compatible with molecule

Options:
    -h --help     shows this screen
    -v --version  shows the version
$ molecule --version
1.6.4.dev3

This is after destroying and recreating the virtualenv as described above. Installation and attempted test run were executed under git hash 2a85239ce2611023af24c840175b8b039184337c.

Perhaps I'm missing something, but it appears the dry-run option is missing for me:

Dry option is not yet implemented.  Simply renamed check to syntax to make room for the check feature, in a PR to come.

Need to update docopt string in cli.py.

👍

Need to update docopt string in cli.py.

?  Isn't it?


Dashboard example and check current page

Hi @SchabanBo,
When I am in one of the dashboard pages (for example, orders), how could the corresponding option be illuminated in the sidebar?
Also, if I am in one of the pages (for example, orders) and I click on the same option I would not want the page to be recreated again.
Can you do all this with qlevar_router?
Thanks for your help.
Regards,
Jose

Hi @Josua2012 ,

When I am in one of the dashboard pages (for example, orders), how could the corresponding option be illuminated in the sidebar?

to do so you could check QR.currentPath or QR.navigator.currentRoute to get the current active QRoute.

Also, if I am in one of the pages (for example, orders) and I click on the same option I would not want the page to be recreated again.

For this, I have added in V1.5.8 QR.QR.IsSamePath and QR.IsSamePath to check if a route is currently active.
Otherwise QR.to and QR.toName have ignoreSamePath that ignore the route if it is the same as the current.
Happy to help.

For this, I have added in V1.5.8 QR.QR.IsSamePath and QR.IsSamePath to check if a route is currently active.
Otherwise QR.to and QR.toName have ignoreSamePath that ignore the route if it is the same as the current.

I have tried to use the new features (QR.QR.IsSamePath and QR.IsSamePath) that you have added in the new version 1.5.8, but they are not recognized in my project.
Also, how ignoreSamePath can be used with:
QR.navigatorOf('/dashboard').replaceAll('/info');
Again, thanks for your help. 👍

Sorry the function names are QR.isCurrentPath and QR.isCurrentName i changed them brfore releasing.
ignoreSamePath is used just with QR.to and QR.toName


fix(security): fix security issues closes #1

Hei,
trying to close #1 with this PR.
For the main code, shelljs was replaced with execa to use exec file behavior.
Also, there was a need to fix some linter errors reported by the last xo package. Due to that most of the code was moved to es6.
Currently, I don't know which node version ranges should be supported, maybe we need to transpile the code then.

CC @lirantal @caioluders

Left a small comment but other than that looks ok. Things like the prettier config and lockfile config should be reviewed by the package author.
Thanks @kbshl 👏

@stevemao is there any progress on this?