Added mercantile automata cores

Features implemented:
- Added "Mercantile automata core"
* receives detailed villager trade information when using "look" and "scan" (requires the "merchantData" data enricher from the Peripheralium pull request)
* has a "trade" function
* [vertical direction], first_cost_slot, [second_cost_slot]
* returns: number of items received from trade
* places results in selected slot or first available
Notes:
- I didn't add any extra features for the higher core tiers, maybe they should be able to trade with any villager in their interaction radius? (right now you can only trade with a villager directly in front, above, or below)

Thanks for you code, sorry for delay with replay. I will review it next week

Oh no worries, I hope all is well. Let me know if there's anything you need when you're doing the review

So, thanks for code, I am going to merge it.
There are some things, that I would probably change:

Receipt shouldn't consume Iron Golem .... probably. I will check my notes on this question :)
Probably some changes to API, I am not sure, as usual.
Anyway, thanks for your contribution.

Oh, as usual, I changed a lot.
Trading will also work with wandering trader, will provide XP, you will have ability to hint trade that you want to make (there is can be several trades with emerald + book, for example) and something like this.

Your changes make sense, thanks for reviewing it! I don't remember why I thought it was a good idea to chose the trade automatically, but hinting is better. Thanks again!

It will try to trade automatically, but if it founds several candidates, hint will reqbe be requested

Btw, this feature is relesed in version 0.5.3 for both 1.18 and 1.19.2

I will add documentation today or tommorow, but in general it look like this:
trade(hint?: int, direction?: Direction). Item to trade should be in selected slot and second item should be next to it if required.

And documentation is also added

That makes sense, also, the documentation looks great, and allowing starbound cores to restock is a great idea! I’m sure you don’t need my approval, but still, this is very exciting


Versions 1.9 and later changed the return value for a Mint.TransportError in Tesla.Adapter.Finch.call/2

Thank you to everyone who contributes to Tesla. Our organization really, really appreciates having it.
I wanted to bring your attention to a change that has led to a change in the return value for the Finch adapter. This occurred in the 1.9.0 update, and I'm not sure if there is anything to be done about it now. In our organization, this change will cause us to do a major version bump in an internal library we use when we upgrade Tesla in that library.
When upgrading from 1.8 in one of our libraries, tests have started failing because the return value from a Mint.TransportError has changed.
Previously, when a connection was down, it returned "connection refused".
It now returns :econnrefused.
The behaviour for Tesla.Adapter.call/2 only guarantees a return of {:error, any()} for an error, so the new value fits the contract, but it is a change from what was previously returned so any project depending on the return value for the error will need to be updated.
I believe the changes in https://github.com/elixir-tesla/tesla/commit/d488bb272939cdafc922fb7f2f8c9d2a22682e38 led to this.
It previously did this:
        {:error, mint_error} ->
          {:error, Exception.message(mint_error)}

It now does this:
        {:error, %Mint.TransportError{reason: reason}} ->
          {:error, reason}

This has led to a different return value from the Tesla.Adapter.Finch.call/2 function.
The result of calling Exception.message/1 on the%Mint.TransportError{} struct is not the same as the reason from the struct, as seen from this example in iex.
iex(1)> mint_error = %Mint.TransportError{reason: :econnrefused}
%Mint.TransportError{reason: :econnrefused}
iex(2)> Exception.message(mint_error)
"connection refused"

@cliftonmcintosh, I'm sorry for causing you some headaches. You are right; the contract changed. If you know how to have proper tooling to ensure we avoid making this mistake again, please share it. It is stressful to code review and maintain the codebase sometimes. Nobody likes to be responsible for breaking people's code.
The tricky situation is answering, "Who depends on what behavior right now?" Should we roll back the problem by now? What if others depend on the new behavior?
I don't know what is the appropriate answer. I am unsure what to do with the issue.


Type error when using CsvDataset and MLPClassifier

I'm experiencing the following error when using a CsvDataset and trying to train an MLPClassifier.
In Input.php line 26:

  Argument 1 passed to Phpml\NeuralNetwork\Node\Input::setInput() must be of the type float, string given, called in /var/www/dev-oms.lexsynergy.com/vendor/php-ai/php-ml/src/NeuralNetwork/Network/LayeredNetwork.php on line 61

If I manually train the MLPClassifier then it works as expected. Code to follow.
$mlp = new MLPClassifier(7, [2], [-1, 0, 1, 2]);

$dataset = new CsvDataset('training-data.csv', 7, true);

$mlp->train($dataset->getSamples(), $dataset->getTargets());

training-data.zip
From composer:
           "name": "php-ai/php-ml",
            "version": "0.8.0",
            "source": {
                "type": "git",
                "url": "https://github.com/php-ai/php-ml.git",
                "reference": "5e02b893e904761cd7e2415b11778cd421494c07"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/php-ai/php-ml/zipball/5e02b893e904761cd7e2415b11778cd421494c07",
                "reference": "5e02b893e904761cd7e2415b11778cd421494c07",
                "shasum": ""
            },

In order to train using the CsvDataset you need to convert the underlying sample arrays to integers:
$sample = $dataset->getSamples();

array_walk($sample, function(&$x) { $x=array_map('intval', $x);});

$mlp->train($sample, $dataset->getTargets());


0.1.4 seems to set jmh:version := 0.9

This might be something dumb in my environment, but it might also be a mistake in the 0.1,4 release.
:confused:
> jmh:version
[info] 0.9
> consoleProject
[info] Starting scala interpreter...
[info]
import sbt._
import Keys._
import dsl._
import _root_.org.sbtidea.SbtIdeaPlugin._
import _root_.net.virtualvoid.sbt.graph.Plugin._
import _root_.com.typesafe.sbteclipse.plugin.EclipsePlugin._
import _root_.pl.project13.scala.sbt.SbtJmh._
import _root_.sbt.plugins.IvyPlugin
import _root_.sbt.plugins.JvmPlugin
import _root_.sbt.plugins.CorePlugin
import _root_.sbt.plugins.JUnitXmlReportPlugin
import currentState._
import extracted._
import cpHelpers._
Welcome to Scala version 2.10.4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_25).
Type in expressions to have them evaluated.
Type :help for more information.

scala> pl.project13.scala.sbt.SbtJmh.getClass.getProtectionDomain
res0: java.security.ProtectionDomain =
ProtectionDomain  (file:/Users/jason/.ivy2/cache/scala_2.10/sbt_0.13/pl.project13.scala/sbt-jmh/jars/sbt-jmh-0.1.4.jar <no signer certificates>)
 sbt.PluginManagement$PluginClassLoader@3fc2a1d1
 <no principals>
 java.security.Permissions@130f7c25 (
 ("java.util.PropertyPermission" "java.specification.version" "read")
 ("java.util.PropertyPermission" "java.version" "read")
 ("java.util.PropertyPermission" "os.arch" "read")
 ("java.util.PropertyPermission" "java.specification.vendor" "read")
 ("java.util.PropertyPermission" "java.vm.specification.name" "read")
 ("java.util.PropertyPermission" "java.vm.vendor" "read")
 ("java.util.PropertyPermission" "path.separator" "read")
 ("java.util.PropertyPermission" "os.version" "read")
 ("java.util.PropertyP...
scala> pl.project13.scala.sbt.SbtJmh.jmhSettings.find(_.toString.contains("version")).get.init.evaluate(null)
res1: Any = 0.9

Do'h, I meant to use 0.1.14, not 0.1.4.

:smile: Yup, you want 0.1.14 :-)

I blame my fat-fingered-ness on the circles I'm circling trying to plug https://github.com/biboudis/jmh-profilers into my profiles.
Using the pre-build binary as instructed in the README, I'm unable to get past the "Please unlock commercial features" nag, even though I passed -XX:+UnlockCommercialFeatures to the SBT jvm and to the sbt-jmh jvmArgs.
I rebuilt that locally, but then needed to update it some API changes in JMH. But then the generated code still fails to compile with:
[error] }
[info] Benchmark entry {'scala.tools.nsc.JavacBenchmark.bench', Throughput, {}} already exists, overwriting
[error] (jmh:compile) javac returned nonzero exit code

But the javac error messages are swallowed.
So I'm building sbt-jmh locally to see if I can get those displayed...

JMH itself forks JVMs, that's probably the problem - not sure if we're properly passing jvm options to those - probably not. I can look into these things a bit later today, need to look at conductr things now. Let me know if you find anything more so I can continue from where you get to in my evening perhaps.

At the top of my problem stack, I think the problem with jmh:compile failing when the jmh-profilers plugin is on the classpath is related to duplicate classes being created.
I set a breakpoint in the spot in SBT where javac is called, and then reconstructed the command line:
// args.txt
-d
/Users/jason/code/scala-jmh-suite/target/scala-2.11/classes
-classpath
/Users/jason/code/scala-jmh-suite/target/scala-2.11/classes:/Users/jason/.ivy2/cache/org.scala-lang/scala-compiler/jars/scala-compiler-2.11.6.jar:/Users/jason/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.11.6.jar:/Users/jason/.ivy2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.11.6.jar:/Users/jason/.ivy2/cache/org.scala-lang.modules/scala-xml_2.11/bundles/scala-xml_2.11-1.0.3.jar:/Users/jason/.ivy2/cache/org.scala-lang.modules/scala-parser-combinators_2.11/bundles/scala-parser-combinators_2.11-1.0.3.jar:/Users/jason/.ivy2/cache/org.openjdk.jmh/jmh-core/jars/jmh-core-1.8.jar:/Users/jason/.ivy2/cache/net.sf.jopt-simple/jopt-simple/jars/jopt-simple-4.6.jar:/Users/jason/.ivy2/cache/org.apache.commons/commons-math3/jars/commons-math3-3.2.jar:/Users/jason/.ivy2/cache/org.openjdk.jmh/jmh-generator-bytecode/jars/jmh-generator-bytecode-1.8.jar:/Users/jason/.ivy2/cache/org.openjdk.jmh/jmh-generator-reflection/jars/jmh-generator-reflection-1.8.jar:/Users/jason/.ivy2/cache/org.openjdk.jmh/jmh-generator-asm/jars/jmh-generator-asm-1.8.jar:/Users/jason/.ivy2/cache/org.ow2.asm/asm/jars/asm-5.0.3.jar:/Users/jason/.m2/repository/com/github/biboudis/jmh-profilers/0.1.3-SNAPSHOT/jmh-profilers-0.1.3-SNAPSHOT.jar:/Users/jason/.ivy2/cache/org.openjdk.jmh/jmh-generator-annprocess/jars/jmh-generator-annprocess-1.8.jar:/Users/jason/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.11.6.jar
/Users/jason/code/scala-jmh-suite/src/main/scala/scala/tools/nsc/JavacBenchmark.java
/Users/jason/code/scala-jmh-suite/target/scala-2.11/generated-sources/jmh/org/openjdk/jmh/infra/generated/Blackhole_jmh.java
/Users/jason/code/scala-jmh-suite/target/scala-2.11/generated-sources/jmh/org/openjdk/jmh/infra/generated/Blackhole_jmh_B1.java
/Users/jason/code/scala-jmh-suite/target/scala-2.11/generated-sources/jmh/org/openjdk/jmh/infra/generated/Blackhole_jmh_B2.java
/Users/jason/code/scala-jmh-suite/target/scala-2.11/generated-sources/jmh/org/openjdk/jmh/infra/generated/Blackhole_jmh_B3.java
/Users/jason/code/scala-jmh-suite/target/scala-2.11/generated-sources/jmh/org/openjdk/jmh/samples/generated/JMHSample_01_HelloWorld_jmh.java
/Users/jason/code/scala-jmh-suite/target/scala-2.11/generated-sources/jmh/org/openjdk/jmh/samples/generated/JMHSample_01_HelloWorld_jmh_B1.java
/Users/jason/code/scala-jmh-suite/target/scala-2.11/generated-sources/jmh/org/openjdk/jmh/samples/generated/JMHSample_01_HelloWorld_jmh_B2.java
/Users/jason/code/scala-jmh-suite/target/scala-2.11/generated-sources/jmh/org/openjdk/jmh/samples/generated/JMHSample_01_HelloWorld_jmh_B3.java
/Users/jason/code/scala-jmh-suite/target/scala-2.11/generated-sources/jmh/org/openjdk/jmh/samples/generated/JMHSample_01_HelloWorld_wellHelloThere.java
/Users/jason/code/scala-jmh-suite/target/scala-2.11/generated-sources/jmh/scala/tools/nsc/generated/CompilerBenchmark_compile.java
/Users/jason/code/scala-jmh-suite/target/scala-2.11/generated-sources/jmh/scala/tools/nsc/generated/CompilerBenchmark_jmh.java
/Users/jason/code/scala-jmh-suite/target/scala-2.11/generated-sources/jmh/scala/tools/nsc/generated/CompilerBenchmark_jmh_B1.java
/Users/jason/code/scala-jmh-suite/target/scala-2.11/generated-sources/jmh/scala/tools/nsc/generated/CompilerBenchmark_jmh_B2.java
/Users/jason/code/scala-jmh-suite/target/scala-2.11/generated-sources/jmh/scala/tools/nsc/generated/CompilerBenchmark_jmh_B3.java
/Users/jason/code/scala-jmh-suite/target/scala-2.11/generated-sources/jmh/scala/tools/nsc/generated/JavacBenchmark_bench.java
/Users/jason/code/scala-jmh-suite/target/scala-2.11/generated-sources/jmh/scala/tools/nsc/generated/JavacBenchmark_jmh.java
/Users/jason/code/scala-jmh-suite/target/scala-2.11/generated-sources/jmh/scala/tools/nsc/generated/JavacBenchmark_jmh_B1.java
/Users/jason/code/scala-jmh-suite/target/scala-2.11/generated-sources/jmh/scala/tools/nsc/generated/JavacBenchmark_jmh_B2.java
/Users/jason/code/scala-jmh-suite/target/scala-2.11/generated-sources/jmh/scala/tools/nsc/generated/JavacBenchmark_jmh_B3.java

javac @args.txt
/Users/jason/code/scala-jmh-suite/target/scala-2.11/classes/org/openjdk/jmh/infra/generated/Blackhole_jmh_B1.java:3: error: duplicate class: org.openjdk.jmh.infra.generated.Blackhole_jmh_B1
public class Blackhole_jmh_B1 extends org.openjdk.jmh.infra.Blackhole {
       ^
/Users/jason/code/scala-jmh-suite/target/scala-2.11/classes/org/openjdk/jmh/infra/generated/Blackhole_jmh_B2.java:3: error: duplicate class: org.openjdk.jmh.infra.generated.Blackhole_jmh_B2
public class Blackhole_jmh_B2 extends Blackhole_jmh_B1 {
       ^
/Users/jason/code/scala-jmh-suite/target/scala-2.11/classes/org/openjdk/jmh/infra/generated/Blackhole_jmh_B3.java:2: error: duplicate class: org.openjdk.jmh.infra.generated.Blackhole_jmh_B3
public class Blackhole_jmh_B3 extends Blackhole_jmh_B2 {
       ^
/Users/jason/code/scala-jmh-suite/target/scala-2.11/classes/org/openjdk/jmh/infra/generated/Blackhole_jmh.java:2: error: duplicate class: org.openjdk.jmh.infra.generated.Blackhole_jmh
public class Blackhole_jmh extends Blackhole_jmh_B3 {
       ^
/Users/jason/code/scala-jmh-suite/target/scala-2.11/classes/scala/tools/nsc/generated/JavacBenchmark_jmh_B1.java:3: error: duplicate class: scala.tools.nsc.generated.JavacBenchmark_jmh_B1
public class JavacBenchmark_jmh_B1 extends scala.tools.nsc.JavacBenchmark {
       ^
/Users/jason/code/scala-jmh-suite/target/scala-2.11/classes/scala/tools/nsc/generated/JavacBenchmark_jmh_B2.java:3: error: duplicate class: scala.tools.nsc.generated.JavacBenchmark_jmh_B2
public class JavacBenchmark_jmh_B2 extends JavacBenchmark_jmh_B1 {
       ^
/Users/jason/code/scala-jmh-suite/target/scala-2.11/classes/scala/tools/nsc/generated/JavacBenchmark_jmh_B3.java:2: error: duplicate class: scala.tools.nsc.generated.JavacBenchmark_jmh_B3
public class JavacBenchmark_jmh_B3 extends JavacBenchmark_jmh_B2 {
       ^
/Users/jason/code/scala-jmh-suite/target/scala-2.11/classes/scala/tools/nsc/generated/JavacBenchmark_jmh.java:2: error: duplicate class: scala.tools.nsc.generated.JavacBenchmark_jmh
public class JavacBenchmark_jmh extends JavacBenchmark_jmh_B3 {
       ^
/Users/jason/code/scala-jmh-suite/target/scala-2.11/classes/scala/tools/nsc/generated/JavacBenchmark_bench.java:34: error: duplicate class: scala.tools.nsc.generated.JavacBenchmark_bench
public final class JavacBenchmark_bench {
             ^
Note: Benchmark entry {'scala.tools.nsc.JavacBenchmark.bench', Throughput, {}} already exists, overwriting
9 errors

Removing /Users/jason/.ivy2/cache/org.openjdk.jmh/jmh-generator-annprocess/jars/jmh-generator-annprocess-1.8.jar from the classpath corrects this error.
sbt-jmh could guard against this mistake by adding the compiler option -proc:none (http://stackoverflow.com/questions/882295/maven-compilation-error-duplicate-classes)
I was able to workaround this with:
libraryDependencies += "com.github.biboudis" % "jmh-profilers" % "0.1.3-SNAPSHOT" intransitive()

I was then able to gather the profiling data with:
 run -jvmArgsPrepend -XX:+UnlockCommercialFeatures -i 1 -wi 1 -prof jfr

Awesome detective work, thanks a lot @retronym! I'll incorporate those hints and spin a release soon :-)

I still can't get this working with the binary release of jmh-profilers. There seems to be a forked VM running its code without -XX:+UnlockCommercialFeatures. About to add some diagnostics to a locally built copy to find that..

> set javaOptions in run += "-XX:+UnlockCommercialFeatures" does the trick.

See: https://github.com/biboudis/jmh-profilers/pull/4 for the last problem on the stack :smile:

Great to see that project is active :-)


codeunit "Cancel Issued Reminder" add event OnAfterCheckIssuedReminder

Hello,
Please add event OnAfterCheckIssuedReminder to codeunit "Cancel Issued Reminder", procedure CheckIssuedReminder:

Event Call:
 OnAfterCheckIssuedReminder(IssuedReminderHeader, SkipShowNotification, TempErrorMessage, Result, IsHandled); if IsHandled then    exit(Result);
Event Declaration:
[IntegrationEvent(false, false)] local procedure OnAfterCheckIssuedReminder(IssuedReminderHeader: Record "Issued Reminder Header"; SkipShowNotification: boolean; var TempErrMessage: Record "Error Message" temporary; var Result: Boolean; var IsHandled: Boolean)     begin     end;
Thank you in advance.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Links need contrast or underlines

The links (especially in large blocks of text) need better (3x1) visual contrast. They are currently blue but hard to pick out of the surrounding text.
The standard is to underline hyperlinks. We can use a highlight color (yet to be identified) for hyperlinks but we should also consider displaying an underline when a user hovers over the link or they tab onto the link.
Related to: https://github.com/DMPRoadmap/roadmap/issues/1457
Since we have our own customized CSS file we will likely need to address this within our own codebase

links now have underlines when you hover over them


Add cookie banner legal disclaimer text

Add legal disclaimer text, as requested by privacy advisor, to make it clear this component does not automatically make services compliant with regulations.

You can preview this change here:
Built with commit 87c10178637e52e97ea43ed5b42e1de2648dffd7
https://deploy-preview-1520--govuk-design-system-preview.netlify.app

@calvin-lau-sig7 I think there is an open square bracket in there by mistake otherwise nice!

Thanks for spotting! Fixed and re-commited.


Bug Report - Settings file is regenerated by Windows Terminal on launch

Environment
Windows build number: Microsoft Windows [Version 10.0.18362.267]
Windows Terminal version (if applicable): 0.2.1831.0

Steps to reproduce

Open the profiles.json used by Windows Terminal for settings, make formatting changes, and save them
Open a new Windows Terminal window

Expected behavior
Since the profiles.json file (appears to be) intended for user manipulation, its formatting and layout should be left as-is after a user changes it. This can be important for users who manage their settings via a git dotfiles repository, e.g. all the dupes of #1567.
Actual behavior
When a new Windows Terminal window is opened, the profiles.json file is re-written, restoring the original formatting, and in some cases changing setting values. In my settings, I had a profile's acrylicOpacity value set to 0.9; after Windows Terminal reflows the settings, the same value has changed to 0.89999997615814209.

This should be improved/fixed by #754, whenever that lands.

@zadjii-msft I read through the comments on #754, and followed that to the spec you're working on with #1258, and left a comment there. It doesn't sound like the current spec actually solves this issue, and would just make it less frequent?
If I submit a feature request for it, is it possible to have some kind of "I'm a power user, stop touching my settings file" setting that disables Windows Terminal writing to my profiles.json?

One thing we're working on with #1258 is not re-serializing the user's settings. So we're going to have both

dramatically fewer cases where we write the file back out (only when a dynamic profile is added)
When we do write the file back out, we'll write out the original json object.

The goal with 2 is that even if we need to update the settings, we won't be re-serializing things, causing the re-formatting and re-ordering. Hopefully the json will remain in the original state it was in, with only the new keys inserted into the right place.
If you really wanted, you could even disable the dynamic profile generators entirely, which would prevent anything from ever modifying the settings.
In a post #1564 world, this will obviously be harder to prevent when using the settings UI, but you could always just not use it.

The second point wasn't super clear from my reading of the spec, thank you very much for the clarification. Updating a json file without changing its formatting sounds like some complicated voodoo code, so I wish all of you good luck in making that happen. :)
The configuration documentation in here has been great so far, so I suspect I'd be fine working without the new settings UI. Even so, at least it would be expected that well okay, I touched a setting with their UI, it's probably going to reflow my settings file. Feels much nicer than it just happening constantly for seemingly no reason.


Issue with configuration file documentation build

Issue description
Something seems to be wrong with the current build of the Configuration file documentation page, it shows only the examples and not the explanations of each of the parameters.
It currently looks like this (after the merge of PR #989):

It should be (from the previous merge of PR #988)

tagging @dyt811

Odd. Just checked the page, it seems fine. I wonder if it is just a random build failure? Current page seems fine?
I wonder if subsequent PR merge resulted in the proper build and if this is a release PR specific issue?

Odd indeed!
I'm in Chrome on Windows 10.
The problematic build was from PR #989 here: https://ivado-medical-imaging--989.org.readthedocs.build/configuration_file.html, it is still not showing OK for me.
However the latest build (current doc page) is fine!
Thank you for following-up, looks like a random build failure.

Yeah, super odd. I wonder if this is a Release PR specific problem? Post subsequent PR merge, we no longer see this at ivadomed.org. So we should keep an eye out to check for the configuration page after each PR to see if this re-emerge, especially next release PR just in case. Thanks for reporting this.


Hot reload Functions Host when new trigger is added

@simonaco Mentioned from the customer study that there was an expectation that the new trigger shouldn't have to re-run the project when adding a trigger to a local project that is currently debugging.  We should be able to hot-reload the project for them.  With Mac, keep this workaround in mind: https://github.com/Azure/azure-functions-core-tools/issues/1738#issuecomment-622553961

Related: https://github.com/microsoft/vscode-azurefunctions/pull/2695


Update README.md

Typo: pronvision -> provision
Move many bash blocks to console as these are shell sessions--not Bash scripts
Put $ in front of shell lines to indicate it is for the current user and to make sure the highlighting is correct
bash for Digital Ocean block as it says it's for a script

To verify how it renders on GitHub: https://github.com/toastal/upterm/blob/patch-1/README.md

Thanks @toastal, this reads great!


Tidy Append has broken Listview in  widgets_overview_app.py

When the dialog is confirmed the key of  the selected item in dlistView is used to select the same item in listView in the main page. This relies on the same set of keys being generated for both listViews.
The code of listView needs to be the same as dlistView, but much better could new_from_list() use enumerate to generate a set of integer keys starting in zero. Integer keys starting at 0 are useful because it allows Apps to access internal arrays using the same index value  as the remi Listviews

Hi Ken, now should be fixed. I used enumeration as you suggested.


Adding support for android app bundle - Issue #17829

Implementation Details
This PR adds support for Android App Bundle . Android App bundle is a new packaging format that helps in reducing app size and enabled new features like dynamic delivery for android apps.
I added a new build command appbundle to the flutter tool and introduced bulding app bundle as another option of building APK.
To test : follow all steps to modify your build.gradle file as listed here https://flutter.io/docs/deployment/android. To generate a android app bundle run following command flutter build appbundle
In my current testing this with my app, I have not found any improvements in app size, since flutter apk build only adding arm file. But as we add support to more architectures for flutter app and add more resources, android app bundle can help in optimizing the app size significantly.
Affected Areas
Flutter tool build section.
Issue Link
https://github.com/flutter/flutter/issues/17829

I signed it!

cc @jason-simmons for detailed review
Thanks so much for this contribution!

cc @matthew-carroll @sbaranov

@jason-simmons thanks for the review. Fixed everything.

Awesome :) happy to help. Will circle back after Flutter live.

@yeshwanthvshenoy This should be an Android only thing for submission to the Google Play Store. You can read more about app bundles here: https://developer.android.com/guide/app-bundle/

@Hixie is the restriction for merging lifted? If yes can we merge the changes?

Just out of interest, is this likely to be merged in any time soon?

@vandie hoping to get this merged in a day or 2, we were waiting for flutter live to be done.

Hi,
Could you explain on how we could create the bundle and include both versions for 32-bit and 64-bit? For now, my bundle only has armeabi-v7a and I can't seem to figure it out how to include armeabi-v81.
Thanks

Unfortunately, as of now, it will only include armeabi-v7a. I am not sure if there is armeabi-v81 altogether for flutter. There is an internal code that gets only the  armeabi-v7a files for both bundle and APK. I will check if we can generate both.

@Hixie Should be flutter build appbundle --help.

@pranayairan if you could add an option to generate both 32 bit and 64 bit you would fix https://github.com/flutter/flutter/issues/23055

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
📝 Please visit https://cla.developers.google.com/ to sign.
Once you've signed (or fixed any issues), please reply here (e.g. I signed it!) and we'll verify it.
What to do if you already signed the CLA
Individual signers

It's possible we don't have your GitHub username or you're using a different email address on your commit. Check your existing CLA data and verify that your email is set on your git commits.

Corporate signers

Your company has a Point of Contact who decides which employees are authorized to participate. Ask your POC to be added to the group of authorized contributors. If you don't know who your Point of Contact is, direct the Google project maintainer to go/cla#troubleshoot (Public version).
The email used to register you as an authorized contributor must be the email used for the Git commit. Check your existing CLA data and verify that your email is set on your git commits.
The email used to register you as an authorized contributor must also be attached to your GitHub account.

I signed it!


new info

removed tag table

You can still push commits without creating new pull requests

Quickly looking at the code there are useless changes, which are confusing me
Please cleanup

Okay, that's a commit really hard to read...


Connected VMware Content Validation Issue for github.io website

Section link1:

Reason:
Link validation issue: Target Link Service not match.

Section link1:

Reason:
Link validation issue: Broken links.
Repro step:
When you open link1 and click the Module Index of the current page, it cannot display the correct page.  The error message is as shown below:

@rohit-ganguly, @lmazuel for notification.

Close this issue as we'll put it into a summarzied one.


KM 100

`Logger: custom_components.bosch
Source: custom_components/bosch/init.py:238
Integration: Bosch thermostat (documentation, issues)
First occurred: 15:15:27 (3 occurrences)
Last logged: 15:15:50
Your device is unknown null`
I use the KM 100.
2022-10-10 15:16:57.817 ERROR (MainThread) [bosch_thermostat_client.gateway.ivt] I cannot find supported device. Your devices: null
2022-10-10 15:16:57.818 ERROR (MainThread) [custom_components.bosch] Your device is unknown null

Provide Bosch scan

I cannot run the Bosch Debug Scan in Home Assistant. The service is not available. How can I create the log? Use Home Assistant OS.

try to follow wiki: https://github.com/bosch-thermostat/home-assistant-bosch-custom-component/wiki/Dev-Unsupported-firmware
https://github.com/bosch-thermostat/home-assistant-bosch-custom-component/wiki/Dev-Run-lib-with-Docker

Unfortunately I can't run the debug mode.
2022-10-10 22:38:14.668 INFO (MainThread) [custom_components.bosch] Setting up Bosch component version 0.19.3. 2022-10-10 22:38:14.669 DEBUG (MainThread) [custom_components.bosch] Initializing Bosch integration. 2022-10-10 22:38:14.669 DEBUG (MainThread) [custom_components.bosch] Checking connection to Bosch gateway as http://<IP_ADDRESS>. 2022-10-10 22:38:14.670 DEBUG (MainThread) [bosch_thermostat_client.connectors.http] Sending GET request to /gateway/uuid 2022-10-10 22:38:18.366 DEBUG (MainThread) [bosch_thermostat_client.gateway.ivt] Can't fetch data for update_info Cannot connect to host http:80 ssl:default [Name does not resolve] 2022-10-10 22:38:18.399 ERROR (MainThread) [bosch_thermostat_client.gateway.ivt] I cannot find supported device.  A Buderus heater GB192 is connected to my KM 100. I can access the heating in the app.

`Logger: custom_components.bosch Source: custom_components/bosch/init.py:238 Integration: Bosch thermostat (documentation, issues) First occurred: 15:15:27 (3 occurrences) Last logged: 15:15:50
Your device is unknown null`
I use the KM 100.
2022-10-10 15:16:57.817 ERROR (MainThread) [bosch_thermostat_client.gateway.ivt] I cannot find supported device. Your devices: null 2022-10-10 15:16:57.818 ERROR (MainThread) [custom_components.bosch] Your device is unknown null

KM100 was supportet but with the new uodate it isn't supportet anymore.

Still need Bosch scan for this firmware

Is there anyone who can run the Bosch Debug Scan for km 100

Here it is
bosch_scan.json.zip

Thanks. I hope there will be an update soon.

When do you think you will integrate the new firmware of the KM 100?

Thanks. I hope there will be an update soon.

I run Gb192i with RC300 and integrated KM100 (firmware 4.08.02) without issues.
Maybe it‘s related to the poor performance of the km100.
Just try to reset it via Buderus App (new password)
see: https://github.com/bosch-thermostat/home-assistant-bosch-custom-component/issues/171#issuecomment-1176300533

I run Gb192i with RC300 and integrated KM100 (firmware 4.08.02) without issues. Maybe it‘s related to the poor performance of the km100. Just try to reset it via Buderus App (new password)
see: #171 (comment)

Did you select IVT as device type and then http IVT protocol?
What IP, access token and password did you take?

Did you select IVT as device type and then http IVT protocol? What IP, access token and password did you take?

yes, IVT HTTP protocol and I don't think you will succeed with my KM 100 credentials ;)
Choose the IP of your local KM100 + KM100 Gateway PWD or AccessToken + the a new generated Buderus App password

Did you enter the password from the sticker without the hyphens in the access token?

yes, choose the gateway pwd from sticker without dashes as token and a new generated Buderus App password as password

I have the same problem with a Buderus Gb192i
2023-01-02 11:57:12.886 ERROR (MainThread) [bosch_thermostat_client.gateway.ivt] I cannot find supported device. Your devices: null
2023-01-02 11:57:12.889 ERROR (MainThread) [custom_components.bosch] Your device is unknown null

I've now tried again to add the integration.  I entered the correct address as the IP address.  As token I used the password without dashes.  I also changed the Buderus password (Bosch ID) from the app again.  I still get the message: unknown model.  I don't know anymore.

it's not your Bosch ID password
Here a detailed password reset procedure KM100/RC300(310):

Go to RC3x0 -> Menu - Settings - Reset Internet Password
Open Buderus App
remove connected Heater, etc. if present
Add new device by scan the 2D Code on the sticker
Buderus app ask for a new password
enter a new password (do not use special characters)
use the new password for this integration

With my heater, these steps must be repeated after each power off/on restart of the heater (Gb192i/KM100 firmware 4.08.02)

Many Thanks.  The problem is solved.  It worked.


Can we use this for molecular dynamics (MD)?

Thank you so much for the great library! Just wonder is there a way we can use this for molecular dynamics simulation? That can be so powerful.

Seems like an extension in a nonsensical direction. MD is all about proper force field usage and sampling. So it probably makes sense to extend an MD code to SPH, but does it make strategic sense to do the reverse? How do you couple MD to any of the other packages here? There are already many open source packages that are easy to run, and do from python. You can even ask chatgpt to generate the deck for you. Generate post processing visualization etc.


feat: pass ranking information in summary workflow

Currently the top-right corner of all output 2D-plots is considered the "best" corner. This has to be changed for some metrics/plots.
As there are only the two options "top-right" or "bottom-right" available, the axes of some plots might have to be reconsidered.
For all summary workflows the following files have to be adapted:

aggregation_template.json
Include optimization parameter in the visualization object as follows:

"visualization": {
            "type": "2D-plot",
            "x_axis": "expression_unmatched",
            "y_axis": "correlation",
            "optimization": "bottom-right"
        }

assessment_chart.py:
better variable is hardcoded (https://github.com/iRNA-COSI/APAeval/blob/defa466db6d6e3a52f6b30ad18dda63a3b0a6d08[…]on_dockers/q_consolidation/assessment_chart/assessment_chart.py), can be read from passed aggregation object (if changes as described in 1. have been made) as follows:

better = aggregation_file["datalink"]["inline_data"]["visualization"]["optimization"]

Change specifications and corresponding metric computations if necessary.

Thanks @ninsch3000 for pointing this out!
As @txellferret explained me, all 4 corners can be specified, so top-right, top-left, bottom-right and bottom-left.
So I don't think we need to re-consider the specifications.
The bar-plots do not have the optimisation parameter, but it could be implemented if we need it.


Create new namespace elements from foreign namespaces

This MR just returns new nodes in case the foreign element was not created within its namespace (i.e. SVG inner elements).

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
We've detected an issue with your CI configuration that might affect the accuracy of this pull request's coverage report.
To ensure accuracy in future PRs, please see these guidelines.
A quick fix for this PR: rebase it; your next report should be accurate.

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
505

Relevant Lines:
505

💛  - Coveralls

good morning @coveralls ...


assertion fail in numerics.cpp

In numerics.cpp there is a pair of lines:
// FIXME: should this fail?
assert(rand_u < 1E-10);

I just hit this assertion error. I believe the answer to the question is, no, it shouldn't fail. It should just return draw. If that is the wrong return for some reason, then it is at least better than crashing out right?

Closing as stale / will-not-fix / working-as-intended.  Please reopen if you feel like Dan's answer doesn't really address your concern.  Thanks!

We ran into this again a couple of weeks ago, on a data set that triggered several other edge cases as well.  On review of the private correspondence about it, I can't find a satisfactory analysis of the source of the problem.  So, although in the 20150709-riastradh-fixnumerics branch (merged in 5bf0ac3e7c2ea901402b8c4eb90900639dca65e8) I removed the assertion and changed it to return draw - 1 in this case -- since draw is not a valid result --, I'm reopening this until someone can investigate more closely and find what's really going on.

@fsaad what dataset were you using when you got this bug? How can we reproduce to debug?  Can you shed light on what a valid result might be, or why draw might (though invalid) still be preferable to crashing for your use case?

I guess I should clarify that there were two issues on two consecutive lines of code:
(a) that rand_u was too large to be readily attributed to numerical error, and
(b) that draw is not a reasonable result if rand_u was close enough to negative to be attributed to numerical error.
I fixed (b) in 5f54a37c67df3e8969756a94074f24b7b87acec7 by returning draw - 1 instead.
@fiendish, if you're still interested and could share your data set, we could take a closer look.

We determined that this assert error only seemed to occur for us when a
named dataset had been accidentally changed without also clearing the set
of computed models and then trying to resume model refinement with the old
models and the new data which had become misaligned. So the error message
we saw wasn't very helpful, but in these instances probable cause likely
came down to an error by our user and wasn't dependant on the data itself.
I guess I should clarify that there were two issues on two consecutive
lines of code:
(a) that rand_u was too large to be readily attributed to numerical error,
and
(b) that draw is not a reasonable result if rand_u was close enough to
negative to be attributed to numerical error.
I fixed (b) in 5f54a37
https://github.com/mit-probabilistic-computing-project/crosscat/commit/5f54a37c67df3e8969756a94074f24b7b87acec7
by returning draw - 1 instead.
@fiendish https://github.com/fiendish, if you're still interested and
could share your data set, we could take a closer look.
—
Reply to this email directly or view it on GitHub
https://github.com/mit-probabilistic-computing-project/crosscat/issues/26#issuecomment-124148381
.

draw-1 seems reasonable for small errors, overcounting the probability of the last element by only epsilon.  But if these errors are so large as to not be attributable to numerical error, then isn't that a bug worth dying over?  In @fiendish 's case, it turned out to be, and in @fsaad 's case it's unknown until he gets back to us. Unless we understand in some deeper way why the errors are happening, I'd be inclined to keep the assertion, so as to notice when something is badly wrong.

In Crosscat 0.1.18, I reintroduced a variant of the assert, which for most cases likely puts a somewhat tighter bound on the allowable numerical error.  Let's see if anyone trips on it now.

@fiendish, if you could send us a reproducible test case that would be helpful too -- if only to make the failure in the mismatched data/model case you described more obvious.

No one has tripped on this lately, and a repro dataset seems unlikely.


Webpack Fixes

Summary
Addressing a couple of the Webpack bugs we've run into.

Support Webpack v2+ configs that are still using module.loaders rather than module.rules.
Support Webpack configs that export a function rather than an object.

Closing this as it's no longer relevant with https://github.com/percy/react-percy/pull/83


More Arrivals Spawners

About the PR
Adds an atmos and chemist arrival spawner.
Also reorganizes the whole thing to be alphabetical because it was driving me mad just looking at it.
Why / Balance
I sucked at clearly defining what I wanted the first time.


How to customize the ?

How to customize the input?

From the docs

Extra props
You can pass any extra props to  and these will be passed down to the final . which means that if you give the ReactS3Uploader a className or a name prop the input will have those as well.

This makes sense. Thanks

Doesn't bootstrap use classes? Passing bootstrap classnames should work.
If you are talking about integration react-bootstrap, then that's another thing.

The docs say to style the button by passing className as prop.  When I use bootstrap class:
className="btn btn-primary"
The view styles the area around the button.  How does one style just the button?

the source looks ok
<input type="file" accept="image/*" class="btn btn-primary">
I am also curious how you customize the button text since this prop does not work
value="Click Me"

Browsers pretty much decide and control how you render an input of type file.  You don't have much control over it.  Some browsers put the button on the left, some on the right, some say "choose file", some say other things.  To fully customize a file upload field, you'll need to use some other techniques, which are outside the scope of this library.  Best of luck!

After using style, the input box after the button missing. Any help?
Thanks

On Mon, Nov 27, 2017 at 9:29 AM, Sean Kelley<EMAIL_ADDRESS>wrote:

For anyone wanting to do this, I found this link to help me style the
input button:
https://www.abeautifulsite.net/whipping-file-inputs-into-
shape-with-bootstrap-3
I wrapped my input in a label to control text on button too

      Get Photo
      —
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/odysseyscience/react-s3-uploader/issues/151#issuecomment-347217447,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADRaaW5AybseIANAq-BEg5ApTH3W_yUkks5s6tVtgaJpZM4QU-5A
.

After using style, the input box after the button missing. Any help?
Thanks

I am not sure I follow you.  The label text styles the button and provides the test on it.  The <ReactS3Uploader... component creates the input


No sensors has been created #2

Any ideas about missing (not added) sensors or upcoming-media-card configuration?
No info about movies only upcoming show

Got only 1 default entity (reinstalled trakt integration)

Got working only 1 entity and 1 card
resources:
  - url: /local/custom-lovelace/upcoming-media-card/upcoming-media-card.js?v=0.1.1
    type: js
type: custom:upcoming-media-card
entity: sensor.trakt_upcoming_calendar
title: Upcoming Episodes
image_style: fanart
hide_empty: true
title_text: $title
line1_text: $episode
line2_text: $number
line3_text: $day, $date $time
line4_text: $empty
max: 10

My configuration.yaml
trakt_tv:
  language: en
  timezone: Europe/Paris # Prefered timezone #added this but no difference
  sensors:
    upcoming:
      show:
        days_to_fetch: 30
        max_medias: 10
      movie:
        days_to_fetch: 45
        max_medias: 5
    recommendation:
      show:
        max_medias: 3
      movie:
        max_medias: 3

Cant add upcoming for movies and I dont see any other sensors even after restart ( show / movie / recommendation etc)

From documentation

There are five sensors available under the sensors > upcoming array:
show for TV Shows (actually, episodes). Creates sensor.trakt_upcoming_shows
new_show for New Shows (series premiers). Creates sensor.trakt_upcoming_new_shows

I tried a new release I am not very confident but maybe it will help.

@dylandoamaral thank you but I am afraid - nothing changed

I resolved issue but not sure what helped

edited my configuration.yaml  and replaced my trakt_tv config with default one:

trakt_tv:
  language: en # Prefered language for movie/show title
  timezone: Europe/Paris # Prefered timezone
  sensors:
    upcoming:
      show:
        days_to_fetch: 90 # How many days in the future you want to fetch
        max_medias: 3 # How many medias you want to fetch
      new_show:
        days_to_fetch: 90
        max_medias: 3
      premiere:
        days_to_fetch: 90
        max_medias: 3
      movie:
        days_to_fetch: 90
        max_medias: 3
      dvd:
        days_to_fetch: 90
        max_medias: 3
    next_to_watch:
      all:
        max_medias: 40
        exclude:
          - veep
          - the-original
          - friends
      only_aired:
        max_medias: 40
        exclude:
          - veep
          - the-original
          - friends
      only_upcoming:
        max_medias: 40

put above mentioned section almost at top of my configuration file

after restart new entities appeared

anyway thank you for help and great plugin

I don't understand what is empty based on your screen ?

Same
trakt_upcoming_new_shows
trakt_upcoming_movies
trakt_upcoming_dvd
trakt_next_to_watch_only_upcoming
Not "upcoming" works fine

Did you add show into your watchlist from : https://trakt.tv/movies/anticipated ? And did you have movies or shows that are upcoming soon enough ?

You're right. Its my fault I didn't added anything to watchlist on anticipated/upcoming pages (thought its gonna show overall recommended upcoming movies/shows).
Everything is fine now. Thank you for your work and great plugin!


Add Code of Conduct

We recommend that every repo has a code of conduct. If you don’t feel comfortable creating your own Code of Conduct from scratch we highly recommend using one of the templates provided by GitHub. If you do use a template, please read through the template and ensure that you can and will abide by the Code of Conduct.
Please follow these instructions on how to add a Code of Conduct.
Sample: https://github.com/Recode-Hive/Stackoverflow-Analysis/blob/main/CODE_OF_CONDUCT.md

@Princegupta101 Can please assign me this task under GSSoC'24?

@Ajay-Dhangar Can please assign me this task under GSSoC'24?


Popup image depth compositing

Adds support for an RGBD image which floats in front of the camera, useful for compositing NeRF in 3D with other 3js objects.

This diff has a ton of new _icons files, not sure where they came from @brentyi


vendor folder conflict

In hybrid PHP + Go applications, the vendor folder created by composer conflicts with golang modules. Starting from golang version 1.14 vendor mode will be activated automatically if near the go.mod file present vendor folder.

You can change the dir in roadrunner in componser.json.


Unresolved use of symbol with array rest operator

Using the testtapper package, one gets repeated Unresolved use of symbol testName.join warnings when compiling. The compiler complains about these lines:
let [testClass, ...testName] = test.split(":");
this.addTreeItem("not ok",that._cnt, testClass, testName.join(""), message);

which means it does not recognize yet the ...testName syntax.

  test_3: function ({param1, param2} = {}) {
    console.log(param1, param2);
  }

is not working either

fixed with https://github.com/qooxdoo/qooxdoo-compiler/pull/764


SARAALERT-1414: Add Filtered PHDC Bulk Export

Description
Jira Ticket: SARAALERT-1414
This adds support for exporting PHDCs representing Sara Alert monitorees in bulk via the API. The monitorees to be exported can be filtered via four parameters:

workflow – either isolation or exposure.
monitoring – either true or false to indicate if the Patient is actively being monitored, or if they have been closed.
caseStatus – Some combination of Confirmed, Probable, Suspect, Unknown or Not a Case. We allow filtering by several values at once, so you could send Confirmed,Probable to get all cases that are either Confirmed or Probable.
updatedAt – A date that is used to filter out records that have not been updated since that date.

And will respond with a zip file.
Important Changes
routes.rb

Add a /export/nbs/patient endpoint that routes to api_export#nbs_patients.

api_export_controller.rb

Add a controller to handle API exports, and add an nbs_patients method which will filter accessible monitorees by the given parameters, and responds with a zip file containing the PHDC files.
Authentication should work the same as the FHIR APIController, requiring the system/Patient.read and system/Patient.* scopes.

serializer.rb

Make some minor updates so that we are not regenerating the jurisdiction string for every monitoree.

api_export_controller_test.rb

Add tests for the ApiExportController.

Notes
In reviewing this, make sure to keep an eye on performance. When a lot of monitorees are exported (~7-10K), it can take as long as ~30s to respond, because all of those monitorees need to be converted to the PHDC format. I don't imagine that the numbers being exported at one time would be anywhere near that high, but it is just something I want reviewers to keep in mind.
Checklists
Submitter:

[x] This PR describes why these changes were made.
[x] This PR is into the correct branch.
[x] This PR includes the correct JIRA ticket reference.
[x] Code diff has been reviewed (it does not contain: additional white space, not applicable code changes, debug statements, etc.)
N/A If UI changes have been made, Chrome Dev Tools Lighthouse accessibility test has been executed to ensure no 508 issues were introduced.
[x] Tests are included and test edge cases
[x] Tests have been run locally and pass (remember to update Gemfile when applicable)
[x] Test fixtures updated and documented as necessary

@holmesie

[ ] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code
[ ] If applicable, you have tested changes against a large database, and considered possible performance regressions

@tstrass

[ ] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code
[ ] If applicable, you have tested changes against a large database, and considered possible performance regressions

@Bialogs

[ ] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code
[ ] If applicable, you have tested changes against a large database, and considered possible performance regressions

Do we have API documentation updates that accompany this that can be reviewed?

Good point. This does need to be documented. I will include the documentation here: https://saraalert.github.io/SaraAlert/ and separate it out from the FHIR specific API documentation.

Still looking for an answer on performance/scope question
Updates that @ngfreiter made look great
I mentioned in my first PR that I was looking at case status some more and I'm good with that now.
Still waiting for resolution on the class inheritance structure for API controllers.

Still looking for an answer on performance/scope question

With respect to performance/scope, I think you're right it makes sense not to include performance changes in the scope of this PR. And we don't expect that the people using this at first would be using it at a level that would cause major performance issues, so we can cross that bridge when (and if) we come to it.

https://github.com/SaraAlert/SaraAlert/pull/823/commits/896be0b62f19d3684447a7ff9747ca43058a9c9b adds documentation of this new endpoint. @holmesie and @Bialogs tagging you for awareness. I played around with reorganizing the documentation into a section more strictly devoted to FHIR, and a section for non-FHIR API endpoints, but in the end it just felt like going overboard given that the addition of other non-FHIR endpoints is not currently on the horizon. So in the end I kept things relatively the same, and just added a new page. Let me know if you think a different organization would be better.

Documentation looks good to me. What I wanted to see is covered.

Needs rebase

Done!


Dependencies out of date

I've just checked our dependencies, and the oldest 2 dependencies are transient from this project.
Specifically, it appears that hyper has been out of development since 2016, and superseded by h2, for which the most recent release was in the last 2 weeks.
Could this project be ported to a recent version of h2?

Sorry for a long reply,
As far as I understand h2 is not a replacement for hyper, but a core part of it.
Anyway, hyper have some outdated code which will stop work in Python 3.8 so some changes are required.
One option is to move to https://github.com/encode/httpx/ but this library doesn't support 3.5 and I don't think it's already time to drop it.
The second option is to rewrite it to direct usage of h2 lib, but it will require more work.
I'll look into this issue on next weekend

Bump! I'm also having issues with hyper and would like to know if getting rid of it (in favor of httpx or "second option") is on the roadmap?

@Pr0Ger any updates? Comments? Could you please just let us know if this is something likely to happen in the near future?

@Pr0Ger hey, friendly ping on this. Alternatively, if this library isn't being maintained anymore do you have any recommendations for alternatives?

@github-actions not stale, awaiting response from maintainer.

Any news regarding this issue?

We, along with other people, are seeing hyper hang when posting to apple notification servers as documented on the hyper issue here: https://github.com/python-hyper/hyper/issues/425
Given Python 3.5 has received its last update and is now EOL (https://endoflife.date/python) and that the reliance on hyper is literally a crashing/hanging bug, I think it'd be prudent to migrate dependencies and allow python 3.5 users to stay on the current 0.X version.
httpx is making really good strides and would be the ideal replacement.

We, along with other people, are seeing hyper hang when posting to apple notification servers as documented on the hyper issue here: https://github.com/python-hyper/hyper/issues/425
Given Python 3.5 has received its last update and is now EOL (https://endoflife.date/python) and that the reliance on hyper is literally a crashing/hanging bug, I think it'd be prudent to migrate dependencies and allow python 3.5 users to stay on the current 0.X version.
httpx is making really good strides and would be the ideal replacement.

Also pyjwt dependecy could be updated since now there is 2.0.

Ping? Any progress on this issue of deprecating hyper?
We (GoFrendly) have an issue using apns2 with python 3.8 where voip push notifications are not sent to the apns servers without raising any error or getting any response back. The issue is reproducable if anyone is interested.

@github-actions not stale, still awaiting response from maintainer I think

For those who mau concern: pyjwt on master (https://github.com/Pr0Ger/PyAPNs2/commit/064c497df028f585608e08c8516d8c9368cb0c98) now is >=2.0.0.
See also https://github.com/Pr0Ger/PyAPNs2/issues/133.

Any chance of a release?

@Pr0Ger Any updates on this? Thanks for your support of this project.

This is still an issue and needs to be addressed

Is there any update? Thanks in advance

This is still an issue and needs to be addressed

This is still an issue and needs to be addressed

Still needs addressing.


Captcha retry after X seconds

On a failed captcha entry attempt the bot just stops and waits for a captcha solution that never arrives.
The solution: Retry captcha entry if captcha not solved within X seconds.
The workaround is to just stop the bot and restart it, then it sends the captcha for another solving attempt.

Stopping bot is better than trying to solve captcha multiple times and failing which might lead to account ban


make build-kong error

hi, I need your help
params:
RESTY_IMAGE_BASE?=centos
RESTY_IMAGE_TAG?=7
PACKAGE_TYPE?=rpm
error message:
Step 24/25 : RUN /tmp/build-openresty.sh
---> Running in fa4a798ef98e
/bin/sh: /tmp/build-openresty.sh: /bin/bash^M: bad interpreter: No such file or directory
The command '/bin/sh -c /tmp/build-openresty.sh' returned a non-zero code: 126
make[1]: *** [build-openresty] Error 126
make[1]: Leaving directory `/home/code/kong-build-tools'
make: *** [actual-build-kong] Error 2

What's the host system you're running on? At a glance it looks like build-openresty.sh needs to be ran through dos2unix


BUG- on_submission_change not working in development mode

Description
The callback function is never called in development mode. It only works in standalone mode.
How to reproduce
from taipy.config import Config
import taipy as tp
from taipy.gui import Gui, notify

#Config.configure_job_executions(mode="standalone")

# Normal function used by Taipy
def double(nb):
    return nb * 2

# Configuration of Data Nodes
input_cfg = Config.configure_data_node(id="somedata", default_data=21)
output_cfg = Config.configure_data_node(id="result")

# Configuration of tasks
first_task_cfg = Config.configure_task(id="double",
                                       function=double,
                                       input=input_cfg,
                                       output=output_cfg)

# Configuration of scenario
scenario_cfg = Config.configure_scenario(id="my_scenario",
                                         task_configs=[first_task_cfg],
                                         name="my_scenario")

def notify_from_submissions(state, submittable, details):
    submission_status = details.get('submission_status')
    print(submission_status)

    if submission_status == 'COMPLETED':
        print("COMPLETED")
        notify(state, 'success', 'Completed!')
        # Add additional actions here, like updating the GUI or logging the completion.

    elif submission_status == 'FAILED':
        print("FAILED")
        notify(state, 'error', 'FAILED!')
        # Handle failure, like sending notifications or logging the error.

if __name__=="__main__":
    tp.Core().run()
    scenario_1 = tp.create_scenario(scenario_cfg)

    scenario_md = """
<|{scenario_1}|scenario|on_submission_change=notify_from_submissions|>
"""
    Gui(scenario_md).run()

Expected behavior
The callback function should be called and work.
Runtime environment
Please specify relevant indications.

Taipy version (or branch name): Develop for 3.1

Acceptance Criteria

[ ] Ensure new code is unit tested, and check code coverage is at least 90%
[ ] Create related issue in taipy-doc for documentation and Release Notes if relevant

@FlorianJacta tested with latest develop and I get COMPLETED printed twice in the console AND a notification in the browser

there's an issue when not in develop mode.

@FlorianJacta tested with latest develop and I get COMPLETED printed twice in the console AND a notification in the browser

Similar to this issue? https://github.com/Avaiga/taipy/issues/357

there's an issue when not in develop mode.

Any information about it? 🤣

there's an issue when not in develop mode.

Any information about it? 🤣

Yes, it's fixed


Add https://github.com/ArthurHub/Android-Image-Cropper

Add https://github.com/ArthurHub/Android-Image-Cropper to the list of supported libraries.

https://github.com/mikepenz/AboutLibraries/pull/297


Add cache to mitigate the iteration between fleet and systemd-dbus

Dbus cache:
Motivation: Inactive units induce an overload to systemd-dbus communication which linearly increases proportionally to the amount of existing inactive units. Therefore, we decided to research about solutions to minimize the workload of fleet caused by this issue. We decided to build a cache to reduce the amount of calls from systemd to dbus. Fleet periodically perform operation to gather the state of the units in the cluster, so for each inactive unit located in a host an read operation is triggered to obtain the state from dbus.
Nevertheless, we thought about another optimal solution during the development of this cache. This solution requires to modify the go-dbus library implementation to provide an event-driven mechanism. This event-driven mechanism would notify every time an operation affects the state of a unit. This notifications would allows to know when the state of a unit change without having to constantly query systemd to get the state.  Obviously we declined this solution as it required the modification of third party software used by fleet.
Implementation
We added a new flag enable_unitstate_cache that will activate the usage of the unit state cache and therefore to minimize the usage of the system resources.
Scenario:

3 node cluster
gs2 fleet version
CoreOS stable (835.9.0)

Metrics analyzed:

CPU usage
Memory usage
FS bytes usage
NET bytes IN
NET bytes OUT
NET bytes TOTAL
Capacity used

Savings deducted from the experiments:
A brief and quick summary:

There is a clear CPU reduction using the DBUS cache. It can be seen as approx. 10% CPU usage reduction. However this amount will increase based on the number of inactive units.
There is a clear Memory usage reduction using the DBUS cache. Approx. 100Mb Memory usage reduction. However this amount will increase based on the number of inactive units.
FS bytes used during the experiments slightly INCREASED with the DBUS implementation
NET bytes IN/OUT used during the experiments slightly INCREASED in the implementation WITHOUT cache.
Capacity used obviously dropped when using the DBUS cache

Experiment 1:
Without any iteration in the cluster, we evaluate how affects to have 3 inactive units in a host.
CPU usage of DBUS cache:

Memory usage of DBUS cache:

CPU usage WITHOUT cache:

Memory usage WITHOUT cache:

Experiment 2:
We used a benchmarking tool that starts 900 units in the cluster, stop and consequently after a timeout destroy them.
CPU usage of DBUS cache:

CPU usage WITHOUT cache:

--------------------
### Memory usage of DBUS cache:

Memory usage WITHOUT cache:

--------------------
### FS bytes used of DBUS cache:

### FS bytes used WITHOUT cache:

--------------------
### Capacity usage of DBUS cache:

### Capacity used WITHOUT cache:

--------------------
### Net bytes IN of DBUS cache:

Net bytes IN WITHOUT cache:

----------------------
### Net bytes OUT of DBUS cache:

Net bytes OUT WITHOUT cache:

Net bytes total of DBUS cache:

### Net bytes total WITHOUT cache:

Related issues:
https://github.com/giantswarm/giantswarm/issues/288
https://github.com/giantswarm/giantswarm/issues/368

I got the WFM and LGTM from Hugo in https://github.com/giantswarm/fleet/pull/11

Another experiment:
900 units scheduling with fleemmer -addr=<IP_ADDRESS>:54541 -v=12 -instancegroup-size=1 -dump-html-tar -instructions="(sleep 1s)  (start 900 100ms) (sleep 300s) (stop-all)" &>>outfile
with 6 inactive units per host (18 in all the cluster):
CPU usage WITHOUT cache:

CPU usage DBUS cache:

CONCLUSION: There is a slight increment in the CPU usage due to the innactive units around 7-8% CPU usage increment. However, the CPU usage always increases in a higher percentage when scheduling units how shown in the spikes.

Merged into master


Fix exception arguments

The three classes have the same constructor which has only three arguments, the $previous exception being the last one.

Thank you @julienfalque.


v2.0.7 and Grafana v7.1.3: Error 400 - bad request

Hi everyone.
I've got an error after plugin update from 1.9.5 to 2.0.7. My request:
  $rateColumns(
'Dir.'||toString(cgpn_dir)||', Serv.'||toString(sender_service) as key,
sum(count) as value)
FROM (
select cgpn_dir,sender_service, toStartOfMinute(event_time) as event_time,
count() as count
from $table
WHERE $timeFilter
and message_type=0
and status=1
and external_message_id=''
and (dictGetString('nodes', 'Node', tuple(host)) in ($Node) or lower(host) in lower($Node))
group by event_time, cgpn_dir,sender_service
)

On 1.9.5 generated sql request is:
SELECT t,
       arrayMap(a -> (a.1, a.2/runningDifference(t/1000)), groupArr)
FROM
  (SELECT t,
          groupArray((KEY, value)) AS groupArr
   FROM
     (SELECT (intDiv(toUInt32(event_time), 60) * 60) * 1000 AS t,
             'Dir.' || toString(cgpn_dir) || ', Serv.' || toString(sender_service) AS KEY,
                                                          sum(COUNT) AS value
      FROM
        (SELECT cgpn_dir,
                sender_service,
                toStartOfMinute(event_time) AS event_time,
                COUNT() AS COUNT
         FROM statistics.SMSC_cdr
         WHERE event_time BETWEEN toDateTime(1597039332) AND toDateTime(1597060874)
           AND event_time BETWEEN toDateTime(1597039332) AND toDateTime(1597060874)
           AND message_type=0
           AND status=1
           AND external_message_id=''
           AND (dictGetString('nodes', 'Node', tuple(HOST)) IN ('SMSUSSDC_01')
                OR lower(HOST) IN lower('SMSUSSDC_01'))
         GROUP BY event_time,
                  cgpn_dir,
                  sender_service)
      GROUP BY t,
               KEY
      ORDER BY t,
               KEY)
   GROUP BY t
   ORDER BY t)

But on 2.0.7 its different and incorrect, part of subquery is lost:
SELECT t,
       arrayMap(a -> (a.1, a.2/runningDifference(t/1000)), groupArr)
FROM
  (SELECT t,
          groupArray((KEY, value)) AS groupArr
   FROM
     (SELECT (intDiv(toUInt32(event_time), 60) * 60) * 1000 AS t,
             'Dir.' || toString(cgpn_dir) || ', Serv.' || toString(sender_service) AS KEY,
                                                          sum(COUNT) AS value
      FROM statistics.SMSC_cdr
      WHERE event_time BETWEEN toDateTime(1597039533) AND toDateTime(1597061073)
        AND event_time BETWEEN toDateTime(1597039533) AND toDateTime(1597061073)
        AND message_type=0
        AND status=1
        AND external_message_id=''
        AND (dictGetString('nodes', 'Node', tuple(HOST)) IN ('SMSUSSDC_01')
             OR lower(HOST) IN lower('SMSUSSDC_01'))
      GROUP BY event_time,
               cgpn_dir,
               sender_service)
   GROUP BY t,
            KEY
   ORDER BY t,
            KEY)
GROUP BY t
ORDER BY t)

Seems like a bug to me, but I didn't find anything similar in current open issues.

Hello @ADovgalyuk thanks for detailed report I will check it and fix ASAP

@ADovgalyuk could you check the latest master version of plugin?


Customizations are ignored

I've recently updated from AutoFixture 3.50.2 to 4.11.0
After update, Customize<>() is not used when creating object with Build()
One more thing, probably related. When there are multiple customizations on the same object, only the last is valid, and previous are ignored. (The quick fix is to chain them inside one block, but this should not be the final solution.)
See the reproductions for both issues:
using AutoFixture;
using Xunit;

namespace CustomizationDoesntWork
{
    public class ProofTest
    {
        public class Example
        {
            public string Name { get; set; }
            public string City { get; set; }
        }

        [Fact]
        public void ShouldUseCustomizationWhenBuilding()
        {
            var fixture = new Fixture();

            fixture.Customize<Example>(e => e.Without(p => p.Name));

            var exampleByCreate = fixture.Create<Example>();
            Assert.Null(exampleByCreate.Name); // ok

            var exampleByBuild = fixture.Build<Example>().With(e => e.City, "something").Create();
            Assert.Null(exampleByBuild.Name); // fails!
        }

        [Fact]
        public void ShouldRememberAllCustomizations()
        {
            var fixture = new Fixture();

            fixture.Customize<Example>(e => e.With(p => p.Name, "John"));
            fixture.Customize<Example>(e => e.With(p => p.City, "New York"));

            var exampleByCreate = fixture.Create<Example>();
            Assert.Equal("John", exampleByCreate.Name); // fails!
        }
    }
}

I can't get this working in any version. Customize is only applied when you do Create. Build is ignored and just gets whatever default things AutoFixture does. Seems like this example on some site says that it should be possible to do what you describe in the bug as well: https://docs.educationsmediagroup.com/unit-testing-csharp/autofixture/type-customization but I haven't seen any official docs for it.
This bug is over a year old though and this seems like a pretty standard use case? Is there any update on this?

@KarolStosikPowel The behavior you're seeing is by design.
The documentation for the Build<T> method says:

Note that the Build method chain is best understood as a one-off Customization. It bypasses all Customizations on the Fixture instance. Instead, it allows fine-grained control when building a specific specimen. However, in most cases, adding a convention-based ICustomization is a better, more flexible option.

In other words, Customize and Build are two mutually exclusive ways to customize the creation of a type.

@elonmallin It seems the folks at @emgdev should update their documentation regarding the type customization. The test in their second example will always fail.

@Kralizek can you check the documentation reference above? ☝

@simgu FYI :)

Thanks @ecampidoglio =)
Somehow I found these two misleading things pointing in the same direction before the docs xP
Anywho, my use case wouldn't be solved even if this worked, I'd also need a callback on Create, similar to https://github.com/AutoFixture/AutoFixture/issues/988.
Then building test data for EF Core InMemory testing would be quite nice:
// Setup
var fixture = new Fixture();

fixture.Customize<Person>(b => b
    .With(p => p.Id, () => UniqueId())
    .OnCreate((person) => {
        _efCoreInMemoryTestContext.Persons.Add(person);
        _efCoreInMemoryTestContext.SaveChanges();
    })
);

// Test
// Arrange
var person = fixture.Build<Person>()
    .With(p => p.UpdatedDate, DateTime.Now.AddDays(-8))
    .Create(); // Person has a generated id, is saved to the InMemory DB and is ready to use in EF Core InMemory testing.


Ignore scope when response_type is “vp_token”

According to
If the Response Type value is vp_token, the VP Token is returned in the Authorization Response. When the Response Type value is vp_token id_token and the scope parameter contains openid, the VP Token is returned in the Authorization Response alongside a Self-Issued ID Token as defined in [SIOPv2].
Library doesn't implement the above rule correctly
In the following code scope is being checked in case response type is vp_token.
The correct should be vp_token id_token.
Also consider checking that the scope value contains “openid” and not is equal only.

Reference to the spec
https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#response


More Familiars

Hi I'm new to occultism I'm playing in 1.16.4 I've noticed there are only 2 familiars available is there a way i can get more?

I honestly don't remember, but it is possible that 1.16 only had two.
To get all features of occultism make sure to use the recommended latest MC version of forge/neoforge, which currently is 1.20.2, although even 1.18+ has a lot more familiars


Layout/ElseAlignment incorrectly handles rescue-else

Given the synthetic minimal working example
# frozen_string_literal: true

exception = nil

error = catch(:error) do
  puts 'Hello'
rescue StandardError => e
  exception = e
else
  nil
end

puts error.nil?

Rubocop says:
Inspecting 1 file
C

Offenses:

test.rb:9:1: C: Layout/ElseAlignment: Align else with catch(:error).
else
^^^^

1 file inspected, 1 offense detected

but the example is actually correctly aligned (as explained e.g. here).
Trying to autocorrect the example yields
# frozen_string_literal: true

exception = nil

error = catch(:error) do
  puts 'Hello'
rescue StandardError => e
  exception = e
        else
          nil
end

puts error.nil?

which technically works but could be considered bad alignment.

This is still an issue. We switched from TargetRubyVersion 2.3 to 2.6 and now
# frozen_string_literal: true

def safe_fork
  pid = fork do
    0
  rescue StandardError
    1
  else
    2
  end

  pid
end

autocorrects to
# frozen_string_literal: true

def safe_fork
  pid = fork do
    0
  rescue StandardError
    1
        else
          2
  end

  pid
end


Update to Algebra pattern fails tests

The recent update to SPARQLAlgebra.js https://github.com/joachimvh/SPARQLAlgebra.js/commit/c7c1b3878de0e128d21badc74f196aa43b83dd34 makes two of the CSS unit tests fail if using the latest SPARQL algebra version 2.5.0.
Those tests fail because the SPARQLUpdatePatchHandler relies on the absence of a where operator to check whether it supports the update:
https://github.com/solid/community-server/blob/91791a0a140a9b1c80c2d7d9dde910c90b2062d8/src/storage/patch/SparqlUpdatePatchHandler.ts#L84-L88
Failing tests:
https://github.com/solid/community-server/blob/91791a0a140a9b1c80c2d7d9dde910c90b2062d8/test/unit/storage/patch/SparqlUpdatePatchHandler.test.ts#L93-L104
https://github.com/solid/community-server/blob/91791a0a140a9b1c80c2d7d9dde910c90b2062d8/test/unit/storage/patch/SparqlUpdatePatchHandler.test.ts#L124-L141
SPARQLUpdatePatchHandler needs an update.
@joachimvh, does it make sense?

Makes sense, will have to change the check to make sure there is only a bgp in op.where that does not contain variables instead.


How to save memory when loading weights?

OS: Windows 11 22631.3296
Python: 3.11.8
PyTorch: 2.2.1 (installed in conda env)
CUDA: 12.1 (installed in conda env)
NV Driver: 551.76
Gemma Model: 7b-it
I was trying to run the inference. Before I started, I have used 6GB memory and had 26GB free.
I obseved that when the code runs to the load_weights function, the memory usage went up to 98% of my total 32GB RAM, lasted for about a minute and then dropped to normal. In that time, I haven't called the to(device) function in the next line.
Form the Task Manager, at the time of high usage, I see the python.exe took about 28GB Working set, while the active private working set was about 14GB. And at that time, the page file of Windows was involved to keep the system working.

However, the 7B-it model (16bit float) should not exceed 16GB size. Allocating 28GB of memory in this process is pointless.
Remember what I said above, the memory usage eventually dropped to normal without calling to(device)? This just showed that it doesn't require that much memory.
Sorry, I don't know how Python or PyTorch manage memory. But I'm wondering if it's possible to improve this line for smoothing memory usage spikes?

My guess is when calling torch.load, it creates copies of weights as temporary variables, which doubles the memory, but evenutally get gc'ed.
https://github.com/google/gemma_pytorch/blob/cf8658c186255379194ba5b62612321eacde1b6b/gemma/model.py#L561-L566
Maybe one workaround could be loading weights layer by layer in sequence and gc weights immediately after the weight of a particular layer gets loaded. I think in this way, it will have less peak memory usage.
@michaelmoynihan you have investigated this before, do you have any insights?

Hi @KaneGreen,
Could you please confirm if this issue is resolved for you with the above comment ? Please feel free to close the issue if it is resolved ?
Thank you.

@Gopi-Uppari
This issue has not been resolved.
I just tried the 9B model (model weights file size about 17.2GB)
My computer has 32GB of memory installed. About 5.5GB was occupied by the operating system and other programs before the model was loaded. The available memory should be above 26GB.
If Windows Virtual Memory is turned on (similar to Linux Swap), I observed memory usage spikes, and almost all physical memory was used. There was noticeable writes on the disk containing the Windows page file (similar to Linux Swap File).
If Windows Virtual Memory is turned off, the model cannot be loaded.

Hi @KaneGreen,
The gemma-2-9b model size should be over 35 GB, not 17.2 GB, as shown in the attached screenshot for further details.

If virtual memory was disabled, the system couldn't load the model due to insufficient space in the physical memory. Since the system lacked enough RAM, it needed to rely on virtual memory to handle the overflow. However, disabling virtual memory caused the model to fail to load. If you enable virtual memory, the model might load, but performance could suffer because hard drive speeds (used for virtual memory) are much slower than RAM. To address this issue, one potential solution is using quantization techniques to reduce the model's size, which can help it fit into the available memory without relying heavily on virtual memory.
Thank you.

Well, I use the model download from kaggle, not from Hugging Face.
.safetensors is the file format from Hugging Face.
As far as I know, 9B mean 9 billion, and Gemma uses FP16. Even a model has 9.999 billion variables. 9.999 * (10^9) * 16bit = 18.6 GBytes
So, I think the model size cannot be over 20GB.

Hi @KaneGreen,
Actually, I was referring to the Gemma-2-9B model with a size of 35GB, not the Gemma-2-9B-IT model, which has a size of 17.23GB when downloaded from Kaggle and 18.48GB from HuggingFace. The slight difference in sizes is due to variations in file saving formats.
In your case, even though there is sufficient space, the model fails to load because, apart from the 17.2GB required for the model weights, additional memory is needed for activations, gradients, and computations during model execution. This can easily exceed the available 26GB, especially for large models. Furthermore, inefficient memory management may also be contributing, as large models are often not optimized for efficient resource usage. There are might be the reasons.
Thank you.

@Gopi-Uppari
I have tried a loading method in https://github.com/google/gemma_pytorch/pull/56, seems helpful.
But I don't know if this method has some side-effect.

Hi @KaneGreen,
Generally loading method should not cause side effects during inference.
The requires_grad attribute determines whether gradients are computed for a parameter during backpropagation. Setting it to True allows gradients to be calculated, which is essential for training.
During inference which means when you are generating text or using the model for evaluation, gradient computation is typically disabled using @torch.no_grad(), which ensures that no additional memory is used for storing gradients.
Thank you.

Closing this issue as stale. Feel free to re-open if the issue still persists.
Thank you!


Fix use strict detection.

EDIT: See current branch: https://github.com/marijnh/acorn/compare/master...jmm:use-strict2
Prevent innocuous source like "use\x20strict"; from being promoted to Use Strict directive.
How are you generating the object literal AST representations in the test fixtures? Mine are not yet properly formatted. It'd be handy to include a utility in the repo to generate those with the desired formatting.

Generally even JSON.stringify works. But please remove loc fields from tests - they are redundant here since we already have start and end and those are one-liners.

But please remove loc fields from tests - they are redundant here since we already have start and end and those are one-liners.

Ah, sorry about that. I was trying to match the fixtures I was adding to the existing ones and didn't think that through (I figured I'd have to update the PR to reformat the fixtures in any case though). That's the same reason I didn't use JSON.stringify before too -- trying to match existing style. Here is a new branch with JSON.stringify'ed fixtures without the loc props: https://github.com/marijnh/acorn/compare/master...jmm:use-strict2

Thanks. One another note: there is no need to use regex and check quotes - if literal has parsed successfully, then it's definitely a valid string and you can just do stmt.expression.raw.slice(1, -1) === 'use strict'.

@RReverser Thanks for the feedback. It's funny you mention that, because after this PR gets straightened out I want to talk to you about the possibility of extracting the string literal parsing code so that it can be used downstream in babel during the generation phase for precisely that reason (I'll explain that in detail at a later time).
You prefer the slice() approach to the regex? Why? Performance? (I'm just curious -- it's fine with me and I'll certainly change it to that if you prefer).
It's interesting that you mention that for another reason. I think it reveals additional trouble in detecting Use Strict. It made me curious to see what AST I'd get for this input:
("use strict");

Parsing that also produces an AST that will pass the test (even the updated one in this PR), e.g. raw: '"use strict"'. I imagine that's an AST vs. CST issue in most cases, but Use Strict detection is a very special case. Running this...
"use strict";

console.log(isStrict());

function isStrict () {
  return ! this;
}

...in node v0.10.32 / Chrome 42 / Firefox 37 logs true. Whereas changing the first line to this logs false in all cases (correctly, I think, but I'll have to double check):
("use strict");

Yeah, this is mostly AST vs CST issue. Luckily, this case is rare enough and raises only if you specifically try it, so we can wait until CST is properly defined.

As for slice - yes, purely performance reasons and code simplification. Performance is/was one of key benefits of Acorn, and we should try to keep it so.

Wouldn't an initial filter on the string length and maybe a charCodeAt to rule out most irrelevant strings, before allocating a string with slice, be a good thing here?

@marijnh None of modern engines allocates new string on slice, but rather create pointer to memory sub-segment, so this shouldn't be an issue.

I think these ExpressionStatements consisting of a Literal should be pretty uncommon to begin with anyway?

@jmm Yeah, I think so too.

A slice is still allocated (it just doesn't allocate its own string buffer), but your second argument is convincing -- blocks starting with a lone string literal are indeed not something that we'll see often.

Well here's a new branch with the change from regex to slice: https://github.com/marijnh/acorn/compare/master...jmm:use-strict4
If you guys decide those additional checks or any other changes are in order I'd be happy to make any other changes needed next week.

Thanks. Merged as dd71924

Awesome, thanks.
@RReverser

Yeah, this is mostly AST vs CST issue. Luckily, this case is rare enough and raises only if you specifically try it, so we can wait until CST is properly defined.

Sounds good.

As for slice - yes, purely performance reasons and code simplification. Performance is/was one of key benefits of Acorn, and we should try to keep it so when possible.

Ok, thanks.

@marijnh You didn't want the new test fixtures for this? Do you just think it's extremely unlikely to regress?

I overlooked the tests. I've merged them in reduced form (we just want to know that they don't raise an error, the actual AST isn't interesting) in 934f9de

@marijnh

I've merged them in reduced form (we just want to know that they don't raise an error, the actual AST isn't interesting)

Oh, ok, good point. Feel free to let me know if I need to fix something on a PR. (I don't mean to nitpick. I understand why you just changed it, and it's not a big deal -- I only even mention it because I just had an experience where someone completely changed what I PRed but left my name on it, which isn't good for anyone.)

Yeah, I know this is a fine line to walk. Some people really want to see their name in the commit list, and resent it when I write a fresh commit. I could merge as-is and follow up with a new commit, but I also prefer not to dump big chunks of code into the git history if they are never going to be used (since they'll be in the repository forever).

Yeah, I like to show up in the commit history when I submit something worthwhile. The situation I had yesterday on a different project was that the commit I submitted was essentially completely rewritten but still named me as the author, which I don't want and doesn't help any anyone (I'd rather just not show up in the history for those changes than to have it show that I wrote stuff I didn't). And in that case I believe my commit was actually merged when I looked the first time, then replaced with a different commit in a force push.
This case was a less significant change, and if you'd asked me to do that exact thing I would've (like I earlier cleaned up something RReverser clued me in to), so the outcome would've been the same. In this case you actually made me look better than I otherwise might've since I didn't think of omitting the AST or even realize I could in this case :)

I could merge as-is and follow up with a new commit, but I also prefer not to dump big chunks of code into the git history if they are never going to be used (since they'll be in the repository forever).

Yeah...I skew a bit toward preferring the process of merge then add fix up commits if the submission was worthwhile but not all the way there and it's impractical to get the original committer to revise it. I suppose it adds a bit of noise to the history, but I think there's probably a lot of cases where that's a good balance between recognizing people for contributing (and motivating them) and preserving the integrity of the history. But the history in this case is certainly more accurate than it was in the other case, which was too much for my tastes, although it was the same deal where they thought I'd be upset if they didn't name me as the author.


Support isDate function for task input validation

Hello,
For Task InputValidation, could you support isDate function? Because there is no control for timestamp picker, custom task need to use textbox for timestamp input.
Thanks,
Yiming

Hey, sorry this slipped through the cracks. Since this is a more general issue with the service and not a specific task, would you mind opening a ticket at https://developercommunity.visualstudio.com/spaces/21/index.html? That's the best place for issues like this that aren't for a individual task since this repo's code base doesn't include input validation.
Again, sorry for the delayed response here


Include the 'dist' directory

Hi! It looks like each time you're sending a PR here, there are commits above that aren't actually part of the intended change.
I think this is likely to be because you're sending PRs from dev, and your local dev branch is out of sync with the upstream dev (this repo).
Here's how I think you can get back in sync (may pay to check this first - apologies if you're a step or two ahead of me on this! :-))
git remote add upstream https://github.com/datalust/winston-seq
git fetch upstream
git checkout dev
git reset --hard upstream/dev

If this works, each time you start a new PR you can:
git checkout dev
git pull upstream dev
git checkout -b some-feature

Then work on the feature, commit it, then:
git push  --set-upstream origin some-feature

Your PR will then be from some-feature on your repo, to dev here.
No problem for this PR, though, I'll just squash-and-merge as soon as I've had a chance to get up to speed with it :-)

Hi @rj-xy - thanks again for this! We've done some more work on the transport in #5 and should have covered most of the basic packaging now. I'll close this one to avoid conflicts, but if you're still keen to move forward please drop us a line anytime :-)


fix: remove ip address variables

Description
We use to create security groups that would allow the Fullstory IPs to connect to Redshift ports. This is not a very nice contract because you need to know the security groups at the time you create your Redshift cluster or workgroup.
This removes the creation and transfers the power back to the caller of this module.
Checklist before submitting PR for review

[x] This change requires a doc update, and I've included it
[x] My code follows the style guidelines of this project
[x] I have ensured my code is commented and any new terraform variables have proper descriptions

:tada: This PR is included in version 0.1.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Not so sure about else

Else is just the keyword alone in the line?
If Midnight taking my world, Fire is nothing
Shout "Fizz!"
Take it to the top
Else
Shout "Else block!"

If so, it should have an alias for "Or else", it sounds a bit better given the context of the language

Closing this as a duplicate of #50 - we'll pick it up there.


Footer > Adding Lazy loading in the profile image

I'm adding lazy loading in the footer profile image as we have to the post card image as it will be out of the browser viewport on mobile.

Hey @rafaelstz, looks great! Thank you 🙂


Discarding the master and slave language

For diversity reasons, it would be nice to try to avoid 'master' and 'slave' terminology in this repository which can be associated to slavery. The master-slave terminology could be problematic for people in several countries which has the history of slavery like Romania, USA and many others. Thank you for considering the proposal. Let me know if any changes in the PR are needed, I would be happy to implement them.

Hi @bopopescu
Thank you so much for opening this PR - this is something that is important to us and we are actually discussing internally how we coordinate this approach across all of the 200+ repositories we have in the organisation + the updates in our documentation etc
This PR isn't being discarded - I just want you to know that this is something that is ongoing for us
I hope you understand the little longer this is taking due to this coordination
Paul


feat(auth): send real information on login

Description
When a person logs in, their real ip is not sent and the application specified is Axios.
So I added the correct application name and added the X-Forwarded-For header in the axios request headers during login.
To-Dos

[x] Successful build yarn build
[x] Translation keys yarn i18n:extract
[ ] Database migration (if required)

Nice liddle Feature

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

v1.9.0
GitHub release

Your semantic-release bot :package::rocket:


[Feature Request] Apache Phoenix in Dataproc

Apache Phoenix in Dataproc along with HBase: https://phoenix.apache.org/installation.html

Apache Phoenix doesn't looks like popular enough product to justify its support in Dataproc.


No support for JupyterLab 4.x.x

The latest version (0.1.7) doesn't support JupyterLab 4.x.x. Installation of both of these versions using pip fails.

Same here. Any update plan? thanks.

Yes, the upstream dependencies have been updated recently, I will work on this extension soon.

0.2.0 is released with jlab4 support


refactor: Use string_view in event filters and more

What type of PR is this?
/kind cleanup
Any specific area of the project related to this PR?
/area libsinsp
Does this PR require a change in the driver versions?
What this PR does / why we need it:
Some refactorings to try and improve the performance of event filtering. In particular the PR concentrates on avoiding string creation by passing around only std::string_view objects.
Some minor improvements have been also applied, such as creating objects controlled by a shared_ptr with std::make_shared to ensure that the control block is not allocated separate from the object, thus avoiding one allocation and making it more cache friendly.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
NONE

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: federico-sysdig
Once this PR has been reviewed and has the lgtm label, please assign lucaguerra for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Since we are a bit late for the 0.16.0 tag, i propose:
/milestone 0.17.0

/assign @FedeDP
:pray:

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: federico-sysdig
Once this PR has been reviewed and has the lgtm label, please ask for approval from fededp. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 225128f4dc00cf1a63bb56b4536a9d3039f02a77

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, federico-sysdig
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, federico-sysdig, incertum
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,incertum]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment