Issue with flarum/akismet

Today trying to configure Akismet, I noticed that the extension had no settings, which I found quite strange, after some research it seems that the culprit is Flamoji, being this extension enabled makes the Akismet settings disappear, there is no console error to help me understand why this happens (the only message that appears is related to another extension).

After disabling Flamoji, the Akismet settings appear again.

ookay that's strange... IIRC the Flamoji was overriding the Flarum's default extension settings page, but I'm 100% sure I've added the necessary checks for not touching other extension's pages.
This extension needs to be updated eventually, but I can't promise a fix right now as I'm a little snowed these days 😳

Yeah, it's pretty weird, I would have liked to help more in describing the problem but even trying debug mode didn't get anything, as luceos said on Discord it seemed to be a typical js block rendering error that should drop errors in the console, but it doesn't seem to be the case.
I'm a bit intrigued, but probably these things end up being the dumbest bugs of all, no problem mate take your time.


Update travis password

Codecov Report

Merging #26 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #26   +/-   ##
=======================================
  Coverage   63.28%   63.28%
=======================================
  Files           4        4
  Lines         463      463
=======================================
  Hits          293      293
  Misses        170      170

Impacted Files
Coverage Δ

cornerstone_widget/_version.py
44.4% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Problem on overidding default options

When I try to override the default option "pageLength" and "lengthMenu" i have the default value instead of the value I defnied.
After some digging I found the problem is on using the underscore js function "_.defaults", the options passed through optionsObject are used only to set parameter if not already done.
So you need to do something like this :
this.options = options = _.defaults(options, {
    // Any of these can be overriden by passing an options
    // object into your ReactiveDatatable template (see readme)
    stateSave: true,
    stateDuration: -1, // Store data for session only
    pageLength: 5,
    lengthMenu: [ 3, 5, 10, 50, 100 ],
    columnDefs: [{ // Global default blank value to avoid popup on missing data
        targets: "_all",
        defaultContent: "–––"
    }],

    stateLoadParams: function ( settings, data ){
        // Make it easy to change to the stored page on .update()
        self.page = data.start / data.length;
    }
});

Or if the "stateLoadParams" function is mandatory something like this :
this.options = options = _.defaults(
    {
        stateLoadParams: function ( settings, data ){
            // Make it easy to change to the stored page on .update()
            self.page = data.start / data.length;
    } ,
    options,
    {
        // Any of these can be overriden by passing an options
        // object into your ReactiveDatatable template (see readme)
        stateSave: true,
        stateDuration: -1, // Store data for session only
        pageLength: 5,
        lengthMenu: [ 3, 5, 10, 50, 100 ],
        columnDefs: [{ // Global default blank value to avoid popup on missing data
            targets: "_all",
            defaultContent: "–––"
        }]
    }
);

I have fixed this in version 1.0.4, you can also do whatever you want in stateLoadParams now. I'm not actively developing with the reactive datatables atm, so let me know if you have any issues

is there an 'iDisplayLength' equivalent?
http://legacy.datatables.net/usage/options#iDisplayLength

@tadious sorry for the late reply – github stopped notifying me about this repo about a year ago and I can't seem to turn it back on. Anything available in the Datatables API is available here, the readme has an example of accessing the datatables API via jQuery (do it in your Template.Name.onRendered())

@ephemer , iDisplayLength=xx seems not working. It always shows 5 records.


Is SyncToy still safe to use on Win 10/11Pro machiens?

Description of the new feature / enhancement
Compatibility with latest Windows releases? Where would be the safest location to get the newest version from? Thank you.
Scenario when this would be used?
sync files and folders across devices within a home
Supporting information
No response

Synctoy is not a utility by PowerToys, sorry :(


App crashes on iOS when sharing while the app is not actively in the background

This happens on a real device on iOS 16. When sharing while the app is active, it doesn't crash. But once you close the app, then share to it, it crashes.
Update: I took a look at the crash logs from the iPhone itself, and there appears to be a EXC_BAD_ACCESS (SIGSEGV) exception. I'm not sure what to do with this info, but I feel it's worth sharing.

Closing as I was lead to believe this package was causing the problem, but it is not related.


Example notebook (brain data) plot review

Hi @jcohenadad, just wanted to double-check the plot in the second chapter. Is it okay?
Lin to notebook: https://courtois-neuromod.github.io/anat-processing-book/results/2-test.html

great! few comments

ylabel: replace "s (seconds)" by "X [y]", with X: the name of the metric (eg: T1) and y the unit.
change title for: Brain gray matter qMRI microstructure
Do another plot for the white matter

Added everything in this commit: 4eeb1d1d93e5554ef78d8d56e2ac5111bb77cf77. Looks better now

Inconsistency ("3" is missing):

I suggest to remove the number. It is useless and prone to human error.

write "a.u." instead of "a.u"

Do you want me to remove the numbers in the dropdown for all plots?

I fixed the dropdown menus for all the plots: 53ca38517a7675062e9f12df9be18a285179ade9 (sorry in advance if there are multiple changes, I already removed all the redundant numbers when I read that we need to re-arrange the table of content 😅 )


Type narrowing with assertions containing truthy literals

TypeScript Version:  4.2.0-dev.20201109

Search Terms:
type narrowing truthy
type narrowing assertion
conditional throw
Code
function test(foo?: number) {
  if (!foo) throw new Error();

  return foo.toFixed();
}

function testWithLiteralTrue(foo?: number) {
  if (!foo && true) throw new Error();

  return foo.toFixed();
}

function testWithTruthyLiteral(foo?: number) {
  if (!foo && "str") throw new Error();

  return foo.toFixed(); // Object is possibly 'undefined'.
}

Expected behavior:
In all three functions typescript would know foo is a number after the assertion.
Actual behavior:
In the last example, testWithTruthyLiteral, typescript complains foo may be undefined.  This is the same behavior for all known truthy values except for literal true.
Playground Link:
https://www.typescriptlang.org/play?ts=4.2.0-dev.20201109#code/GYVwdgxgLglg9mABFApgZygRgBTDnAfgC5EwQBbAIxQCcBKRAbwChFEZhFsBCPOBqAAsacAO6kU4gKI0RNbHQDczVohoooIGkj4A6KHABiMAB4oAJguUBfFaEiwEydFABMufMVIVq9Jqo4uXnxEADJQ5BoQFAFhMQlpWTh5JRU2dU1tRD0DYzNLVNtme2h4JFQMAGYPQhIyKloGFjZAnj4wiIAiDBpO2JFxMElEGTkrNLUNLR18fSNTC3GiksdylwAWGq963yaAzjaQ8MRMfvihxLHU1Qzp7NnchYKbO3BSpwqoAFYtup9G-wtA7BOAdJjWM6DYajZLjG5TLI5eb5JbMIA
Related Issues:
https://github.com/microsoft/TypeScript/issues/29323
It sounds like from https://github.com/microsoft/TypeScript/issues/29323#issuecomment-454548280 that determining truthiness of expressions could lead to circular dependencies between compiler passes, but that literal true has been special cased.  This should be able to be extended to truthy literals without the circular dependency concern.
And for context, like others that have brought up similar issues, this stems from wanting a truthy token that can be used for a minification hook without affecting the types or code execution.

I'm still not quite understanding why you would write if (!foo && "str") { - can you expand on that scenario?

It's definitely kind of strange.  The goal, like this comment, is to have assertions and other code that can be stripped out in a production build.
Here's a contrived example:
let list: number[] | undefined;

export function setup() {
  list = [];
}

export function append(value: number) {
  if ("DEBUG_TOKEN" && !list) {
    throw new Error("You must call `setup` before appending values");
  }
  list.push(value);
}

export function cleanup() {
  list = undefined;
}

Then, for a production build, you replace "DEBUG_TOKEN" with false using something like @rollup/plugin-replace so it gets eliminated with dead code removal:
export function append(value) {
  list.push(value);
}

I find myself using this pattern in many cases rather than the non-null assertion operator so that it's explicit why I expect the value to be non-null, and if for some reason it is null, you get a nice explanative error in development environments.
Besides non-null, we use this pattern for some assertion functions as well. One of them requires a recursive tree walk in a fairly hot codepath. It's nice that we can provide these errors during development, but not pay the cost of the check when running in production.
It would be really nice if we didn't have to sprinkle ! all over or do things like this to get the types correct:
if ("DEBUG_TOKEN" && !list) {
    throw new Error("You must call `setup` before appending values");
}
list = list!;

or
if ("DEBUG_TOKEN" && !someExpensiveAssertion(value)) {
  throw new Error("A helpful error");
}
value = value as TypeThatTheAssertionSaidItWas;

Especially because tools like terser don't remove this redundant assignment.

I don't know why, but putting the literal first makes way more sense to me 😅

I just came across something similar, but not sure whether it's the same use case:
function a ( name ?: string )
{
    let theName = name ?? '' !== '' ? name : 'foo' ;
}

In this scenario I would have expected that typescript would have limited theName to type string, but it doesn't and theName has type string | undefined.
The name ?? '' !== '' should have clued the static type analyzer that name cannot be undefined, thus ? name can only be a string that contains something or is an empty string, otherwise the : 'foo' is a string, therefore the resulting expression can never be undefined.
I have simplified this scenario, but a temporary work around is:
let theName = name ?? '' !== '' ? name ?? '' : 'foo' ;

but I really shouldn't have to add the extra ?? ''.

@houghtonap narrowing can't perform that kind of higher-order reasoning
It seems like the easier form of that is
let theName = name?.length ? name : 'foo';

Here, TS knows that only a not-undefined name can produce a not-undefined .length, and as a bonus there's the reader doesn't have to remember what JS's precedence rules are 😉

Wait, this is just
let theName = name || "foo";

since '' is falsy


changing editor to vim has no effect in osx

Settings->Edit always brings up SublimeText even though I have changed editor settings to vim in my ~/.shuttle.json
{
  "_comments": [
    "Valid terminals include: 'Terminal.app' or 'iTerm'",
    "In the editor value change 'default' to 'nano', 'vi', or another terminal based editor.",
    "Hosts will also be read from your ~/.ssh/config or /etc/ssh_config file, if available",
    "For more information on how to configure, please see http://fitztrev.github.io/shuttle/"
  ],
  "editor": "vim",
  "iTerm_version": "2.1.4",
  "launch_at_login": true,
  "show_ssh_config_hosts": true,
  "ssh_config_ignore_hosts": [  ],
  "ssh_config_ignore_keywords": [  ],
  "terminal": "iTerm",
 ...

Hello @ashee
I think the issue here is the "iTerm_version" setting... this setting can only be stable or nightly

@ashee Did changing the value of "iTerm_version": "VALUE", work for you?

Unfortunately, it seems to have no effect. I restarted shuttle a number of times - no joy.
{
  "_comments": [
    "Valid terminals include: 'Terminal.app' or 'iTerm'",
    "In the editor value change 'default' to 'nano', 'vi', or another terminal based editor.",
    "Hosts will also be read from your ~/.ssh/config or /etc/ssh_config file, if available",
    "For more information on how to configure, please see http://fitztrev.github.io/shuttle/"
  ],
  "editor": "vim",
  "iTerm_version": "nightly",
  "launch_at_login": true,
  "show_ssh_config_hosts": true,
  "ssh_config_ignore_hosts": [  ],
  "ssh_config_ignore_keywords": [  ],
  "terminal": "iTerm",

I should also mention that I have tried "iTerms_version": "stable" as well.

Are you using the latest release,1.2.6

Ok - that was the issue. I was on 1.2.2 - upgraded to 1.2.6 which works.
However, the iTerm session that it opens is not the Default profile with my
fonts and color. Any tips to launch into my preferred iTerm profile?
On Mon, Apr 18, 2016 at 11:46 AM, Matt Turner<EMAIL_ADDRESS>wrote:

Are you using the latest release,1.2.6
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/fitztrev/shuttle/issues/167#issuecomment-211439513

Thanks for the update!
Regarding your profile... in iTerm click on Apple Menu > Preferences > Profiles.

Make sure that you have a Profile called Default. If you dont have this Press the + button make make new profile called Default.

Next in your shuttle.json add below your "editor": "vim", line "default_theme": "ThemeName", Where ThemeName is the actual name of your theme.

Here is what the readme.md says on this
"default_theme": "Homebrew",
This sets the Terminal theme for all windows. (Global Setting)
Possible values are the Profile names in your terminal preferences. iTerm ships with one Profile named "Default". OS X Terminal ships with several. To see the names see the preferences area of the terminal you are using.
In iTerm the profile names are case sensitive.
Please ensure the theme names you set are valid. If shuttle passes theme "Dagobah" and it does not exist in iTerm or OS X Terminal then your command won't run. This is because the applescripts are not making any checks to see if the theme you passed actually exists within the terminal application.
This setting can be overwritten by the command level "theme" settings

@ashee Did the above help with your preferred iTerm profile issue?

I think that this is resolved... if not please reopen 😄


Batch cli stops after failure in extracting one pdf

When I use batch cli, I found the program stops after failing in extracting one of the pdfs. I wonder if there is any way to ignore the failure and skip to the next pdf?
I am trying to execute single pdf command iteratively but found the command won't save the figures to the disk.

What was your error there? I ran into a similar issue with some font missing and patched this so that it would continue after the IllegalArgumentException and basically ignoring that one document.

This was a while ago and I don't remember this anymore. I am also not really able to reproduce this anymore. If you have an example and tell me where it fails, I might be able to help you figure out the problem.


[main] Upgrade to latest dependencies

1.5 release -dprotaso
/cc knative-sandbox/eventing-writers knative-sandbox/serving-writers
/assign knative-sandbox/eventing-writers knative-sandbox/serving-writers
Produced by: knative-sandbox/knobots/actions/update-deps
Details:
bumping knative.dev/hack ccf82ad...12d3e2a:
  > 12d3e2a switch to UTC (# 176)
  > b4d4d73 Update community files (# 178)
  > f4972b4 Update community files (# 177)
  > a8076b0 Model []byte as strings (# 175)
bumping knative.dev/pkg a8b7d99...19adf79:
  > 19adf79 upgrade to latest dependencies (# 2524)
  > b0ff5ad Update actions (# 2523)
  > f907b31 Update community files (# 2520)
  > 2d8305b Update community files (# 2517)

/lgtm
/approve


Old Shader applied at random while deleted

Godot version
v4.0.stable.arch_linux
System information
Arch Linux, Nvidia GTX 1080 Ti 525.89.02-11, Vulkan
Issue description
I had a pixelize shader for my playersprite to play around. I've deleted the shader and removed the texture from the playersprite, but for whatever reason it gets applied after some time again. The only solution is to restart Godot.
While the game is running with the faulty shader pausing it and looking at the 'Remote' section doesn't reveal any applied shaders.

Please provide an MRP to help with investigating this

Closing due to lack of response, if you provide an MRP or further details this can be reopened


Persistent DB

Data persistence behavior does not seem aligned with what folks may expect given other DBs.
For example, if I make a MongoDB data/db folder for development, I can connect and use that path to load the same database information.
However using Jupyter Notebooks this does not seem to be the case with Chroma, where new DBs are created every start and they are hashed, etc. making it difficult to interpret their purpose on the filesystem.
Is there a philosophy that needs to be documented or is this a bug? Am I missing something? Thank you.

Data persistence is an option with Chroma, but it's not the default option. It even draws attention to this in the logs: Using embedded DuckDB without persistence: data will be transient.
Are you suggesting that persistence should become the default option and transient should be opt-in? Or that the getting started tutorials should highlight this more clearly? Or... ?

We changed away from del to atExit which will help here. Closing this for now, but happy to re-open.


Tuning the temperature

Is there a way to tune the temperature parameter ?

Temperature. An important parameter you may want to play with is -temperature, which takes a number in range (0, 1] (0 not included), default = 1. The temperature is dividing the predicted log probabilities before the Softmax, so lower temperature will cause the model to make more likely, but also more boring and conservative predictions. Higher temperatures cause the model to take more chances and increase diversity of results, but at a cost of more mistakes.
https://github.com/karpathy/char-rnn

I think it's a good feature to implement. Can you come up with a PR?


FCM Swift - Application does not receive message data in background - iOS 11

It was all working for me till I upgraded my iPhone to 11.0.3 and now I can only send notification messages and silent messages just won't arrive on the phone. Our app functionality includes performing some background task before notifying user with what has been done so a notification message which immediately display in the tray with data being processed only when user clicks the notification doesn't cut it. I guess its to move to APNs directly as I also read that data message are stored by FCM to be delivered when an active connection with app is made which doesn't help at all.
These are the pods we use:
pod 'Firebase/Core'
pod 'Firebase/Messaging'
pod 'Firebase/AdMob'
pod 'Firebase/Crash'
And we are sending message to a token as we target individual users. Since then I have tried every combination of message we have found on the web but nothing has worked. The one that was working earlier is:
$fields = array (
'registration_ids' => array (
$id
),
'priority'=>"high",
'content_available' => true,
'data' => array (
"message" => $message
),
'time_to_live' => 300
);

Hi @abharku the format of your message looks fine to me, so I would expect that your device would receive a silent notification in this case. Could you confirm the response you are getting from FCM when you send the message?

@kroikie it just doesn't arrive. So I am assuming it's not going pas APNs at all. At the same time if I add a notification to the message:
notification' => array (
"body" => "message",
"title" => "App Name"
),
It appears straight away but obviously nothing is done in the background which is what we want to achieve and also the notification string is worked out on the phone so we use local notification after finishing our tasks

@kroikie Sorry not your issue. Apparently my appdelegate never liked it because we were using location service and app needs two new permissions to work in IOS 11. One of the functions of notification was to access location and it was never reaching print statement:
NSLocationAlwaysAndWhenInUseUsageDescription and NSLocationWhenInUseUsageDescription
After adding these everything works as designed.

@abharku glad you got it sorted!


CollectionUtils.decodeMap 改成HashMap；

CollectionUtils.decodeMap 方法内部变量不存在线程安全问题，改成HashMap；
Ⅰ. Describe what this PR did
方法内部变量不存在线程安全问题，改成HashMap；
Ⅱ. Does this pull request fix one issue?
no
Ⅲ. Why don't you add test cases (unit test/integration test)?
no
Ⅳ. Describe how to verify it
run CollectionUtilsTest
Ⅴ. Special notes for reviews

Codecov Report

Merging #2779 into develop will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             develop    #2779   +/-   ##
==========================================
  Coverage      50.36%   50.36%
- Complexity      2919     2921    +2
==========================================
  Files            572      572
  Lines          18592    18615   +23
  Branches        2199     2213   +14
==========================================
+ Hits            9363     9375   +12
- Misses          8277     8289   +12
+ Partials         952      951    -1

Impacted Files
Coverage Δ
Complexity Δ

...ain/java/io/seata/common/util/CollectionUtils.java
98.11% <100.00%> (ø)
32.00 <0.00> (ø)

...o/seata/server/storage/redis/lock/RedisLocker.java
37.96% <0.00%> (-0.72%)
10.00% <0.00%> (ø%)

...ing/annotation/GlobalTransactionalInterceptor.java
24.00% <0.00%> (-0.61%)
7.00% <0.00%> (ø%)

...rage/redis/store/RedisTransactionStoreManager.java
36.05% <0.00%> (-0.53%)
20.00% <0.00%> (ø%)

...java/io/seata/spring/tcc/TccActionInterceptor.java
11.36% <0.00%> (-0.27%)
2.00% <0.00%> (ø%)

...a/server/storage/db/store/LogStoreDataBaseDAO.java
71.42% <0.00%> (-0.24%)
34.00% <0.00%> (ø%)

...n/java/io/seata/rm/datasource/ConnectionProxy.java
28.00% <0.00%> (-0.23%)
13.00% <0.00%> (ø%)

...a/io/seata/core/rpc/netty/AbstractRpcRemoting.java
9.28% <0.00%> (-0.16%)
5.00% <0.00%> (ø%)

...in/java/io/seata/server/session/GlobalSession.java
84.16% <0.00%> (-0.10%)
72.00% <0.00%> (+1.00%)
:arrow_down:

...protobuf/convertor/RegisterRMRequestConvertor.java
90.47% <0.00%> (ø)
3.00% <0.00%> (ø%)

... and 24 more


SDK not detected when running dotnet.exe from C# code

I am trying to execute dotnet.exe programmatically during installation of our product, and I have encountered a strange issue where the SDK doesn't seem to be detected when running from within C#.
Here is a code sample of how I'm trying to invoke the dotnet process (this is running in .NET Framework 4.7):
static void Main(string[] args)
{
    try
    {
        // Find dotnet.exe
        string dotnet = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "dotnet", "dotnet.exe");
        string dotnet_x86 = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86), "dotnet", "dotnet.exe");

        if (!File.Exists(dotnet))
        {
            if (File.Exists(dotnet_x86))
                dotnet = dotnet_x86;
            else throw new FileNotFoundException("Couldn't find dotnet.exe");
        }
        Console.WriteLine("Found dotnet.exe: {0}", dotnet);

        RunProcess(CreateProcess(dotnet, @"--info", debug: true));

        // register nuget source
        string nugetPath = @"C:\Temp\MyNugetSource";

        Console.WriteLine("Registering nuget source {0}", nugetPath);
        RunProcess(CreateProcess(dotnet, @"nuget add source -n ""MySource"" """ + nugetPath + @"""", debug: true));
    }
    catch (Exception ex)
    {
        Console.WriteLine("tasks failed : Error: {0}", ex.Message);
    }
}
public static Process CreateProcess(string exeFilePath, string args, bool useShellExecute = false, bool debug = false)
{

    if (!File.Exists(exeFilePath))
    {
        Console.WriteLine("Error : Cant locate file {0}", exeFilePath);
        return null;
    }

    Process proc = new Process();
    proc.StartInfo = new ProcessStartInfo(exeFilePath, args);
    proc.StartInfo.UseShellExecute = useShellExecute;
    proc.StartInfo.CreateNoWindow = true;
    proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
    proc.StartInfo.RedirectStandardError = debug;
    proc.StartInfo.RedirectStandardOutput = debug;

    proc.EnableRaisingEvents = debug;
    if (debug)
    {
        proc.OutputDataReceived += (sender, e) => Console.WriteLine("*OUT*" + e.Data);
        proc.ErrorDataReceived += (sender, e) => Console.WriteLine("*ERR*" + e.Data);
    }

    return proc;
}

public static void RunProcess(Process proc, bool waitForProcess = true)
{
    proc.Start();
    if (proc.EnableRaisingEvents)
    {
        proc.BeginOutputReadLine();
        proc.BeginErrorReadLine();
    }

    if (waitForProcess)
        proc.WaitForExit();

    proc.Dispose();
}

When running this program, this is the output I get:
Found dotnet.exe: C:\Program Files (x86)\dotnet\dotnet.exe
*OUT*
*OUT*Host:
*OUT*  Version:      7.0.5
*OUT*  Architecture: x86
*OUT*  Commit:       8042d61b17
*OUT*
*OUT*.NET SDKs installed:
*OUT*  No SDKs were found.
*OUT*
*OUT*.NET runtimes installed:
*OUT*  Microsoft.AspNetCore.App 5.0.17 [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
*ERR*
*OUT*  Microsoft.AspNetCore.App 6.0.16 [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
*OUT*  Microsoft.AspNetCore.App 7.0.5 [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
*OUT*  Microsoft.NETCore.App 5.0.17 [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
*OUT*  Microsoft.NETCore.App 6.0.3 [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
*OUT*  Microsoft.NETCore.App 6.0.16 [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
*OUT*  Microsoft.NETCore.App 7.0.5 [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
*OUT*  Microsoft.WindowsDesktop.App 5.0.17 [C:\Program Files (x86)\dotnet\shared\Microsoft.WindowsDesktop.App]
*OUT*  Microsoft.WindowsDesktop.App 6.0.3 [C:\Program Files (x86)\dotnet\shared\Microsoft.WindowsDesktop.App]
*OUT*  Microsoft.WindowsDesktop.App 6.0.16 [C:\Program Files (x86)\dotnet\shared\Microsoft.WindowsDesktop.App]
*OUT*  Microsoft.WindowsDesktop.App 7.0.5 [C:\Program Files (x86)\dotnet\shared\Microsoft.WindowsDesktop.App]
*OUT*
*OUT*Other architectures found:
*OUT*  x64   [C:\Program Files\dotnet]
*OUT*    registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x64\InstallLocation]
*OUT*
*OUT*Environment variables:
*OUT*  Not set
*OUT*
*OUT*global.json file:
*OUT*  Not found
*OUT*
*OUT*Learn more:
*OUT*  https://aka.ms/dotnet/info
*OUT*
*OUT*Download .NET:
*OUT*  https://aka.ms/dotnet/download
*OUT*
Registering nuget source C:\Temp\MyNugetSource
*ERR*The command could not be loaded, possibly because:
*ERR*  * You intended to execute a .NET application:
*ERR*      The application 'nuget' does not exist.
*ERR*  * You intended to execute a .NET SDK command:
*ERR*      No .NET SDKs were found.
*ERR*
*ERR*Download a .NET SDK:
*ERR*https://aka.ms/dotnet/download
*ERR*
*ERR*Learn about SDK resolution:
*ERR*https://aka.ms/dotnet/sdk-not-found
*ERR*
*OUT*
Press any key to continue . . .

Which is very strange because running the same commands in a normal command prompt gives different results:
C:\Users\Tibi>dotnet

Usage: dotnet [options]
Usage: dotnet [path-to-application]

Options:
  -h|--help         Display help.
  --info            Display .NET information.
  --list-sdks       Display the installed SDKs.
  --list-runtimes   Display the installed runtimes.

path-to-application:
  The path to an application .dll file to execute.

C:\Users\Tibi>dotnet --info
.NET SDK:
 Version:   7.0.302
 Commit:    990cf98a27

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.22000
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\7.0.302\

Host:
  Version:      7.0.5
  Architecture: x64
  Commit:       8042d61b17

.NET SDKs installed:
  7.0.302 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.16 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.16 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 6.0.3 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 6.0.16 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 7.0.5 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Other architectures found:
  x86   [C:\Program Files (x86)\dotnet]
    registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]

Environment variables:
  Not set

global.json file:
  Not found

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download

C:\Users\Tibi>dotnet nuget add source -n "MySource" "C:\Temp\MyNugetSource"
Package source with Name: MySource added successfully.

As you can see above, when running from the C# program, the SDK is not detected, but when running from cmd it is.
Am I doing something wrong here? Did I forget something? Or is this a bug? Thank you for your help.

I figured out what the problem was. It looks like the C# program had the "Prefer 32-bit" option enabled, so it compiled to a 32-bit program, which results in Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) returning the path to the 32-bit program files. I was running the 32-bit version of dotnet which can't find the 64-bit SDK installed.


Basic transaction broadcasting function and minor typo

Possible minor typo.  Not functionality impacting.
HDPublicKey.child() returns an HDPublicKey object, but the function's docstring states  "Returns the child HDPrivateKey..."

Added basic transaction broadcasting convenience function sendrawtransaction().  Leveraged the existing URLs/APIs used by TxFetcher.  Sharing in case it aligns with the functionality goals of buidl.
Followed approach taken with TxFetcher.fetch() to allow exceptions to fall through.
Limited manual testing was successful with testnet3 (haven't tested with signet or mainnet).
txid 9f5f642021774524339e7845a0848f692e487f1752e578cfe79e34d616cd9287 with blockstream.info API
txid 6593ea86f00bf92ddd708a5d9bc94cb6075773bf50c59fec23095815e99f0673 by manually forcing url to "https://mempool.space/testnet/api/tx")
Open to ideas for unit test cases (into buidl/test), since signed transaction broadcasting involves coin spending.
Example usage:
TxSender.sendrawtransaction(signed_tx.serialize().hex(), network="testnet")

Thank you @mflaxman!  Version number increased to 0.2.37.
The nudge is regarding the move from @staticmethod to @classmethod, correct?
If so, commit 1f01ffd had included the change, although in hindsight I should have kept things less cluttered (fewer and simpler commits).
Maybe I'm not seeing something?


Adjust demo parameters

I assume these should be persisted elsewhere, but locking in some "good numbers" for demo scripts


Parent pom unavailable for Directory downloads

There is an issue when downloading dependency for this library, as the parent pom is not published anywhere.

Release 0.5.1 available in Directory. Things will get fixed with 0.6.


PoolingClientConnectionManager doesn't pick up HTTPS settings

Hi,
There is a bug in PoolingHttpClientConnectionManager that ignores the SSL settings :
https://java.net/jira/browse/JERSEY-3051
Is there a way of manually picking up the SSL settings with Dropwizard?
Currently I was using:
 private ClientFactory(JerseyClientBuilder builder) {
        PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager();
        connectionManager.setMaxTotal(100);
        connectionManager.setDefaultMaxPerRoute(20);
        builder.using(new ApacheConnectorProvider());
        builder.withProperty(ApacheClientProperties.CONNECTION_MANAGER, connectionManager);
        client = builder.build(clientName);
    }

Dropwizard's Jersey client actually uses the Apache HTTP client built from a YAML configuration file rather than the Jersey internal bridge. So this bug is not relevant to us. Please, see our docs how to configure SSL.

Thanks @arteam!
I am able to create a single client, but was not aware that you can also set connection management settings to have a connection pool.


Fully local version of viewer without Internet access

Is your feature request related to a problem? Please describe.
I need to use Babylon Viewer in local network without Internet access, but it seems like BabylonJS requires many scripts/assets on the Internet, and there is no way to config a custom url for them.
I've changed 'assetsRootURL' in configuration but there are many more.
Describe the solution you'd like
I'd like to have more config/control over which domain/baseUri that Babylon Viewer loads its external scripts/assets.
Discussion
https://forum.babylonjs.com/t/is-it-possible-to-create-fully-local-version-of-babylon-viewer/19693

Feature request are now managed through the forum, can you open one there? cc @ryantrem for the requirement

The linked forum discussion is pretty old. @hu-xd maybe revive that discussion, or start a new one. It's worth revisiting in discussion because we are early in the development of a new Viewer that will replace the old one.

started a new discussion: https://forum.babylonjs.com/t/fully-local-version-of-babylon-viewer/53256


exercise 01 pt 2 contention simulation

Lack of isSetPriority declaration is stopping this project from building. You are probably debating whether to get rid of the entire priority stuff


Add mysqlclient to prod requirements.

Add missing lib in dev requirements.

@johngian building against mariadb is failing with MySQL-Python.

Coverage remained the same at 87.532% when pulling 2c9b909dc46cbcc3380d98e765096f3840ed6152 on akatsoulas:replace-mysql-python into cee9f87dd319fa61dfcad87c42cec8bb0d0c647d on mozilla:master.

Code looks OK. Why do we need to build against mariadb though?

This has its fair share of problems with local dev if you are not using docker and also the package is replacing it's not maintained for a long time. It looks like it's just a simple swap. Shall we replace it? Thoughts?


[Unsplash] ...

Extension
https://www.raycast.com/eggsy/unsplash
Description
Even if I'm registered to the website it give me the "The redirect uri included is not valid." error
Steps To Reproduce
Install extension
verifying account
error
Current Behaviour
No response
Expected Behaviour
No response

im having the same problem. it was working fine until 4 days ago. afterwards i get the same error

Go to extensions store page and check the installation steps, you need to configure it for your own app.

same problem here. It worked before. Since a few days ago it asks me to login to my Unsplash account when I search for an image. But when I click on "Sign in with Unsplash" the website that opens up says "The redirect uri included is not valid."
Could it have something to do with this Unsplash guideline? https://help.unsplash.com/en/articles/2511257-guideline-replicating-unsplash

@dennysdl @priyanshuppal please follow these steps

@dennysdl @priyanshuppal please follow these steps

Is this on the Raycast app or in Unsplash website?

Is this on the Raycast app or in Unsplash website?

Sorry, that’s in your Unsplash application’s settings.

@eggsy  thanks! worked.

@raycastbot close this issue


Not destroying invisible list elements when using without ui-scroll-viewport

I am currently facing the problem that ui-scroll is not working as expected if I don't use a fixed height with ui-scroll-viewport.
I am using the plugin for different feeds in my app. For example:
--- Top Nav ---
--- Feed ---
--- Bottom Nav ---
or
--- Top Nav ---
--- User Profile ---
--- User Feed ---
--- Bottom Nav ---
Because of this setup I need a dynamic list height. After removing ui-scroll-viewport my posts are loaded as expected when I scroll down but the DOM is growing and growing without destorying the invisible elements.
I am using version 1.3.3 with angular 1.3.2. Is there any solution for my problem?

Can you post a repro for your problem?
Michael Feingold, President
401 Huehl RD, Suite 2A,
Northbrook, IL 60062
Email<EMAIL_ADDRESS>Web: hill30.com http://www.hill30.com
On Sat, Apr 2, 2016 at 1:31 PM, moosi<EMAIL_ADDRESS>wrote:

I am currently facing the problem that ui-scroll is not working as
expected if I don't use a fixed height with ui-scroll-viewport.
I am using the plugin in different views of my app. For example:
--- Top Nav ---
--- Feed ---
--- Bottom Nav ---
or
--- Top Nav ---
--- User Profile ---
--- User Feed ---
--- Bottom Nav ---
Because of this setup I need a dynamic list height. After removing
ui-scroll-viewport my posts are loaded as expected when I scroll down but
the DOM is growing and growing without destorying the invisible elements.
I am using version 1.3.3 with angular 1.3.2. Is there any solution for my
problem?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/angular-ui/ui-scroll/issues/78

Thank you for your fast response. I created a demo for you:
https://plnkr.co/edit/OzsoQUm0Vw8bDgoDN8ro?p=preview

+1
same is happening in our code.

It defenetly can be reproduced on our Entire window scrollable demo. And the bad news is that this demo does not work for a long time. As I remember about 20 days ago we did some fix related to this demo (cause it was totally broken) but we did not check removing from DOM... Thanks @moosi.
I see that during scrolling down every item in the buffer has positive offset().top and
buffer[i+1].element.offset().top > buffer[i].element.offset().top
so clipTop() which has to remove "invisible" elements does not work.
We need to take care of this.

I solved the issue by clipTop/clipBottom refactoring. Now these pieces of logic are really unified and transparent. The code is in master and will be included in 1.4.1 release soon.

Thank you so much for the fast implementation! First tests were successful :)

Fixed in v1.4.1.


gyro_fft: improve peak detection, add start parameter

space out FFT calls (no more than 1 per cycle)
increase IMU_GYRO_FFT_MIN default

Working, but cleanly detecting and following peaks still needs work.

https://logs.px4.io/plot_app?log=9f42ec3f-ec4b-45c3-9f81-5fe9c295858f
https://logs.px4.io/plot_app?log=37481c8e-56fb-4ada-83f0-8fafc3cfab53

This is awesome!


DOCS-1480: Adds redirects for bad links from tigera.io

Product Version(s):

N/A
Issue:

https://tigera.atlassian.net/browse/DOCS-1480
Link to docs preview:

SME review:

[ ] An SME has approved this change.

DOCS review:

[ ] A member of the docs team has approved this change.

Additional information:

Merge checklist:

[x] Deploy preview inspected wherever changes were made
[x] Build completed successfully
[x] Test have passed

@girishshankaran Can you take a look?


Documentation update only

This is only a documentation update. While working with this module the lack of documentation drove me crazy. This isn't perfect but it is better.

@erinn can you rebase and squash your commits so that I can merge this?

@erinn rebased and merged


RBAC IPMatcher doesn't work expected when more than 1 IP was included in HTTP header x-forwarded-for

We test the RBAC IP filtering feature with 1.24 dev version.  Looks like the custom_match feature with [type.googleapis.com/xds.type.matcher.v3.IPMatcher]  currently couldn’t recognize the IP correctly when we have 2 or more IPs from one input.
In our use case, we retrieve the IP from the header with X-forward-for . And since we have proxies between the downstream and upstream services, the additional IP from the proxy was also included in the header when the forward the request,  so we could have 2 or more IPs rather than having only the source IP in this case.
And looks like the IP-matcher seems to be doing a strict match of the whole header and not matching the individual IPs, so it failed to perform filter feature when there’s one of the IPs is actually matched.
Here’s our envoy setting in this case.
                    http_filters:
                    - name: envoy.filters.http.rbac
                      typed_config:
                        "@type": type.googleapis.com/envoy.extensions.filters.http.rbac.v3.RBAC
                        matcher:
                          matcher_tree:
                            input:
                              name: ip
                              typed_config:
                                "@type": type.googleapis.com/envoy.type.matcher.v3.HttpRequestHeaderMatchInput
                                header_name: x-forwarded-for
                            custom_match:
                              name: ip-matcher
                              typed_config:
                                "@type": type.googleapis.com/xds.type.matcher.v3.IPMatcher
                                range_matchers:
                                  #foo ip, leave it with testing. Will add the list of blocking IPs on next step
                                  - ranges:
                                      - address_prefix: <IP_ADDRESS>
                                        prefix_len: 24
                                      - address_prefix: <IP_ADDRESS>
                                        prefix_len: 24
                                    on_match:
                                      action:
                                        name: envoy.filters.rbac.action
                                        typed_config:
                                          "@type": type.googleapis.com/envoy.config.rbac.v3.Action
                                          name: deny-request
                                          action: DENY
                          on_no_match:
                            action:
                              name: action
                              typed_config:
                                "@type": type.googleapis.com/envoy.config.rbac.v3.Action
                                name: allow-request
                                action: ALLOW

We hope that a feature for multiple IP in HTTP header x-forward-for could be supported for IP Matcher filtering.
CC: @zhxie  @kyessenov

cc @yanavlasov

This is true, we need https://github.com/envoyproxy/envoy/issues/20666 to support lists as matching data. My PR https://github.com/envoyproxy/envoy/pull/22139 went stale so if anyone wants to complete, all the pieces are ready.


Release GO SDK

Created by: @bayegan Oct 27 2021 at 19:36 CET
Last updated: Oct 27 2021 at 22:04 CET
ClickUp ID: IK-1698
To ensure that we can release the GO SDK publicly, the following tasks have to be done:
Move gRPC packages and ensure no internal dependencies
Generate proto files for SDK
Invoke buf.build in pipeline
Publish proto message files to repo, available for the public
Prepare public repo and release strategy (requires SPIKE)

Commented by: @bayegan Oct 27 2021 at 22:04 CET
cc @bradtumy @marvinkite


Adding assessment reports

swarm-learning: https://github.com/Be-Secure/Be-Secure/issues/487
PacketRusher: https://github.com/Be-Secure/Be-Secure/issues/491
cmf: https://github.com/Be-Secure/Be-Secure/issues/492
terraform-provider-oneview: https://github.com/Be-Secure/Be-Secure/issues/493

@sand-hya Please resolve conflicts


move cups service name to config

As this value changed recently, it reminded me this should be in config rather than hardcoded in application.rb

@gidsg what about manifest.yml?

@danmitchell- good point, but I think as the manifest gets read before the app starts up I don't think it can read from the ruby config.


Store /valid and /is-valid in the cache

Pre-computing /is-valid (for each dataset) and /valid (for all the datasets) and storing the responses in that cache would help reduce the latency of these endpoints and the compute load on the API service. They are the only two endpoints that are calculated on the fly.
Another benefit: it would remove the particular field required_by_dataset_viewer in https://github.com/huggingface/datasets-server/blob/main/libs/libcommon/src/libcommon/processing_graph.py because the same property could be defined as dependencies between processing steps:

/is-valid would depend on /splits and /first-rows
/valid would depend on /is-valid

Note that we would have to add a value to InputType for /valid. None? Optional?
Thanks, @AndreaFrancis, for the discussion that allowed rethinking this part.

[x] create dataset-is-valid https://github.com/huggingface/datasets-server/pull/1032
[ ] create valid

[ ] add none in InputType, and make the dataset parameter optional where it makes sense (it is currently mandatory nearly everywhere in the code)
[ ] add the valid step

[ ] deploy and fill the cache. Done for is-valid
[ ] switch the /valid and /is-valid endpoints. PR for is-valid: https://github.com/huggingface/datasets-server/pull/1160

We have to work on this to reduce the latency

I'll work on adding the step dataset-is-valid which will only depend on split-first-rows-from-streamingandsplit-first-rows-from-parquet` (if we have at least one of them working, it means that we have the list of configs and splits).

[ ] create dataset-is-valid https://github.com/huggingface/datasets-server/pull/1032
[ ] create valid https://github.com/huggingface/datasets-server/pull/1032
[ ] deploy and fill the cache
[ ] switch the /valid and /is-valid endpoints

For valid: maybe include the list of feature types, to enable filtering by feature type?
See https://github.com/huggingface/datasets-server/issues/561 and https://github.com/huggingface/datasets-server/pull/833#issuecomment-1517689866. cc @lhoestq

Oh that could be great !

keep open

keep open. I'll take care of it.

keep open

Closing this issue, as it's done for /is-valid, and we will switch /valid to Server-sent events. Sending the full list is not scalable, and we are struggling with this now.


The examples/resnet50_trainer.py example doesn't work

The examples/resnet50_trainer.py example is supposed to show how to train a network across multiple GPUs.
Unfortunately, running the example fails with a null blob:
jwatte@ripper:~/caffe2_notebooks$ python examples/resnet50_trainer.py --train_data tutorial_data/resnet_trainer/imagenet_cars_boats_train/ --test_data tutorial_data/resnet_trainer/imagenet_cars_boats_val/ --gpus 0,1 --num_epochs 10
Ignoring @/caffe2/caffe2/contrib/nccl:nccl_ops as it is not a valid file.
Ignoring @/caffe2/caffe2/contrib/gloo:gloo_ops as it is not a valid file.
Ignoring @/caffe2/caffe2/contrib/gloo:gloo_ops_gpu as it is not a valid file.
Ignoring @/caffe2/caffe2/distributed:file_store_handler_ops as it is not a valid file.
Ignoring @/caffe2/caffe2/distributed:redis_store_handler_ops as it is not a valid file.
INFO:resnet50_trainer:Running on GPUs: [0, 1]
INFO:resnet50_trainer:Using epoch size: 1500000
INFO:data_parallel_model:Parallelizing model for devices: [0, 1]
INFO:data_parallel_model:Create input and model training operators
INFO:data_parallel_model:Model for GPU : 0
INFO:data_parallel_model:Model for GPU : 1
INFO:data_parallel_model:Adding gradient operators
INFO:data_parallel_model:Add gradient all-reduces for SyncSGD
INFO:data_parallel_model:Post-iteration operators for updating params
INFO:data_parallel_model:Calling optimizer builder function
INFO:data_parallel_model:Add initial parameter sync
WARNING:data_parallel_model:------- DEPRECATED API, please use data_parallel_model.OptimizeGradientMemory() -----
WARNING:memonger:NOTE: Executing memonger to optimize gradient memory
INFO:memonger:Memonger memory optimization took 0.0162951946259 secs
WARNING:memonger:NOTE: Executing memonger to optimize gradient memory
INFO:memonger:Memonger memory optimization took 0.0155470371246 secs
INFO:resnet50_trainer:----- Create test net ----
INFO:data_parallel_model:Parallelizing model for devices: [0, 1]
INFO:data_parallel_model:Create input and model training operators
INFO:data_parallel_model:Model for GPU : 0
INFO:data_parallel_model:Model for GPU : 1
INFO:data_parallel_model:Parameter update function not defined --> only forward
Traceback for operator 2 in network resnet50_test
/usr/local/caffe2/python/helpers/conv.py:134
/usr/local/caffe2/python/helpers/conv.py:181
/usr/local/caffe2/python/brew.py:100
/usr/local/caffe2/python/models/resnet.py:234
examples/resnet50_trainer.py:302
/usr/local/caffe2/python/data_parallel_model.py:169
examples/resnet50_trainer.py:403
examples/resnet50_trainer.py:525
examples/resnet50_trainer.py:529
Traceback (most recent call last):
File "examples/resnet50_trainer.py", line 529, in
main()
File "examples/resnet50_trainer.py", line 525, in main
Train(args)
File "examples/resnet50_trainer.py", line 406, in Train
workspace.CreateNet(test_model.net)
File "/usr/local/caffe2/python/workspace.py", line 147, in CreateNet
StringifyProto(net), overwrite,
File "/usr/local/caffe2/python/workspace.py", line 166, in CallWithExceptionIntercept
return func(*args, **kwargs)
RuntimeError: [enforce fail at operator.cc:31] blob != nullptr. op Conv: Encountered a non-existing input blob: gpu_0/conv1_w
Is there any code example of an end-to-end working design-train-infer network in the caffe2 code base? Preferably with multi-GPU support?

Without --test_data tutorial_data/resnet_trainer/imagenet_cars_boats_val/ training model process works? If yes then try it.

Yes, your suggestion works -- the problem seems to be that the blobs have not been created yet when running the training network initialization. Moving the training net initialization up front fixes it. Attaching a patch.

diff --git a/caffe2/python/examples/resnet50_trainer.py b/caffe2/python/examples/resnet50_trainer.py
index c40b217d..54d6c171 100644
--- a/caffe2/python/examples/resnet50_trainer.py
+++ b/caffe2/python/examples/resnet50_trainer.py
@@ -365,6 +365,9 @@ def Train(args):
         cpu_device=args.use_cpu,
     )

+    # Run train model once to initialize blob names
+    workspace.RunNetOnce(train_model.param_init_net)
+
     # Add test model, if specified
     test_model = None
     if (args.test_data is not None):
@@ -405,7 +408,6 @@ def Train(args):
         workspace.RunNetOnce(test_model.param_init_net)
         workspace.CreateNet(test_model.net)

-    workspace.RunNetOnce(train_model.param_init_net)
     workspace.CreateNet(train_model.net)

     epoch = 0

Where i can find C++ implementation like caffe2/python/examples/resnet50_trainer.py, with approximately same API's?
I want to compare the footprint and performance of caffe2 vs tiny-dnn at training on linux based system and android/ios


first attempt to define the project config and structure

Codecov Report
Patch coverage: 42.51% and project coverage change: -8.48% :warning:

Comparison is base (9dcde5d) 76.91% compared to head (7dc74b3) 68.43%.
Report is 1 commits behind head on main.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main       #7      +/-   ##
==========================================
- Coverage   76.91%   68.43%   -8.48%
==========================================
  Files          20       22       +2
  Lines         628      735     +107
  Branches       95      114      +19
==========================================
+ Hits          483      503      +20
- Misses        135      222      +87
  Partials       10       10

Files Changed
Coverage Δ

src/yanga/commands/build.py
0.00% <0.00%> (ø)

src/yanga/ybuild/build_main.py
0.00% <0.00%> (-100.00%)
:arrow_down:

src/yanga/ybuild/config_slurper.py
0.00% <0.00%> (ø)

src/yanga/ybuild/pipeline.py
75.00% <ø> (-15.63%)
:arrow_down:

src/yanga/ybuild/project.py
46.15% <0.00%> (ø)

src/yanga/ybuild/environment.py
92.30% <80.00%> (+0.64%)
:arrow_up:

src/yanga/__init__.py
100.00% <100.00%> (ø)

src/yanga/ybuild/components.py
100.00% <100.00%> (ø)

src/yanga/ybuild/config.py
100.00% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Pipe-viewer GTK exits on right click

Arch Linux (all updates installed), XFCE 4.18, pipe-viewer-git 0.4.5.r0.g4af2b90-1.  When right clicking on an entry in list of search results, GTK pipe-viewer exits.  Right clicking on anything else in the GTK pipe-viewer window does not result in this behavior.  Uninstalled, removed config folder, installed clean, behavior persists.

It's a bug with the latest perl-glib-object-introspection, fixed on master.

Had a hunch it was because of the recent python updates - thx!

Sorry, PERL updates.  Really like this app, BTW... keep up the good work...!!!


[New Badge] User defined JSON/XML source badge

Usage
Allow people to use their own API/source of json/xml data.
Would also help to minimize the amount of new badges requested.
Format
Badge url: /{DATA-TYPE}/{SUBJECT}-{COLOR}-{PREFIX}-{SUFFIX}/{DATA=>SUBDATA}/{URL}.svg

Url Part
Usage

DATA-TYPE
either json or xml

SUBJECT
Left hand side text on badge

-COLOR
(optional) color of background on right hand badge

-Prefix
(optional) add before right side text

-Suffix
(optional) add after right side text

DATA=>SUBDATA
to get index.js from {"version": "1.6.10","background": { "scripts": [ "index.js" ] }} the url part would be background=>scripts=>0 which is equivalent to data['background']['scripts'][0]

URL
source URL for data

Example badges:
JSON
url:
https://img.shields.io/json/github-blue-v-%20dev/version/https://raw.githubusercontent.com/RedSparr0w/IndieGala-Helper/master/manifest.json.svg
badge:

XML
url:
https://img.shields.io/xml/mozilla%20addon-brightgreen-v/addon=>version=>0/https://services.addons.mozilla.org/en-US/firefox/api/1.5/addon/707078.svg
badge:

Notes:
The DATA=>SUBDATA part probably needs to be changed to some other split char like , or & or -(with -- for a single dash rather than split)?

@espadrine looks like checks are failing maybe due to updates to canvas?

@espadrine Any chance i could get this reviewed and hopefully merged? :smile:

Hi, thanks for this contribution! This is a cool feature!
We don't currently have automated tests of the vendor code. I opened #927 to discuss how to go about that. A badge like this seems complex enough that it would really benefit from that.
Related: #548

The test framework is merged. Would you be willing to add tests?
https://github.com/badges/shields/tree/master/service-tests

to get index.js from {"version": "1.6.10","background": { "scripts": [ "index.js" ] }} the url part would be background=>scripts=>0 which is equivalent to data['background']['scripts'][0]

What about using a standard syntax such as JSONPath (for JSON) and XPath (for XML) for this, rather than inventing a new one? You can use a library like https://www.npmjs.com/package/jsonpath to parse JSONPath

to get index.js from {"version": "1.6.10","background": { "scripts": [ "index.js" ] }} the url part would be background=>scripts=>0 which is equivalent to data['background']['scripts'][0]

What about using a standard syntax such as JSONPath (for JSON) and XPath (for XML) for this, rather than inventing a new one? You can use a library like https://yarnpkg.com/en/package/jsonpath to evaluate a JSONPath query.

@paulmelnikow
Will have a look at the test docs and see what i can do.
@Daniel15
Had a look at the links you posted, not quite sure how easy it would be to implement.
I agree it would be better to use some sort of existing standard syntax for it though.
But compared to the usage & 4 lines of code this uses not sure how in depth/complicated it should need to be.
var items = decodeURI(match[3]).split('=>');

items.forEach(function(item){
  data = data[decodeURI(item)];
});

For JSON, another option I just learned about is jq, which is sort of like awk for json. It could yield more power, such as conditional expressions, and counting the elements in a list.

@RedSparr0w would you have some time to address these comments? This is an awesome feature and it would be great to get it merged.
Also, if anyone would like to adopt this PR, please feel free to do so: grab the branch, add more commits addressing the comments, and open a new PR referencing this one. Will close in one month if no one has done so.

Should be able to create the test for this either today/tomorrow,
Not sure how to go about implementing the JSONPath / XPath / jq options suggested above though.

@paulmelnikow Added tests,
I have had to split it into 2 separate test due to the XML and JSON endpoints.
Is there anything else that needs to be addressed in this PR before it can be merged?

Travis seems to be failing with the following
PR: badges/shields#820
Title: [New Badge] User defined JSON/XML source badge
Services: (2 found) new, badge
Error: Unknown services: new, badge

I assume i need to change the PR title?

Thanks so much for reviving this! I will review within the next few days, and look into JSONPath/XPath/iq as soon as I can.

Any more changes needed to get this merged?

Updated to use JSONpath.
Will update the top comment soon.

1 thing i'm not too sure on,
If the array contains objects they will display as [object Object],
Should i do a .replace(/\[object Object\],? ?/g, '') on the resulting string to remove any reference to those?
Or should it stay there so the user knows they exist?
Or other options?
Other than that should be ready for merge 🤞
Let me know if there is anything else that needs to be updated/changed.

I don't think we really need to support printing objects inside of arrays. At some point it gets a little much to be showing on a badge! IMO displaying [object Object] is a reasonable way to fail. It would also be okay to check for only strings and numbers, and if anything else is found, emit an error like object too complex.

In the latest commit im having trouble with the caching,
Not sure how to fix it.
If i visit http://localhost/badge/dynamic/json.svg?url=https://github.com/badges/shields/raw/master/package.json&query=$.version
i get:
when i change the url to http://localhost/badge/dynamic/json.svg?url=https://github.com/badges/shields/raw/master/package.json&query=$.name
i get:
but it should be:

Still to-do list:

[x] Remove XML from PR
[ ] Update tests
[ ] Fix the caching (might be a seperate issue needed for another PR?)

Ah, hmmm. The caching issue is mentioned in these docs.
If we are going to start using query parameters on individual badges, which I think we should, we should try to override the cached query parameters on a per-badge basis. I could look into that if you'd like.

Got this started by opening #1142 with some baseline tests.
Could you add a failing test for the caching problem in this PR? 😄

No worries will add some test in the next couple of days. (including the failing one)
Had a look into the caching a while ago but couldn't really find where to actually look,
Still not even sure where the sendBadge() function is actually located 😕

So i have added the test for caching,
But of course it passes...
The other problem i have is that i'm not sure what to put as the id for the service test.
const t = new ServiceTester({ id: 'badge/dynamic/json', title: 'User Defined JSON Source Data' });
Could be 1 of:

badge
badge/dynamic
badge/dynamic/json

Since the badge doesn't hit any remote services, I don't think you will need intercept().
I'm fine with any of those options for the id.

#1142 is merged and added test coverage to the request handler. I'll work up a new PR to override the cache keys on a per service basis.

Cool,
If your not worried about it gathering the test data from https://github.com/badges/shields/raw/master/package.json (shouldn't fail as not using the api),
This should be ready for merge.
If you could please have another look over it @paulmelnikow

I think we need the cache keys fixed too, right? Once I get the PR open for that I'll give this another read.

I think we need the cache keys fixed too, right? Once I get the PR open for that I'll give this another read.
Yeah probably best,
Still not too sure why the test pass for the caching issue but on the browser they don't.

Ah, it's probably because the cache is reset between tests. Consequently tests stay isolated from each other and are thus easier to debug. Since caches are notoriously difficult to test and can cause weird test failures, they deserve dedicated tests, not haphazard tested amidst everything else.
Opened #1186!

That makes sense!
Is there a way to do multiple test without resetting the cache?
Maybe something like this would work (can't test it at the moment):
t.create('JSON from url')
  .get('.json?url=https://github.com/badges/shields/raw/master/package.json&query=$.name')
  .expectJSON({ name: 'custom badge', value: 'gh-badges'})
  .get('.json?url=https://github.com/badges/shields/raw/master/package.json&query=$.version')
  .expectJSONTypes(Joi.object().keys({
    name: Joi.equal('custom badge'),
    value: Joi.string().regex(/^\d+(\.\d+)?(\.\d+)?$/)
  }));

Would be good to add some separate caching tests at some point.

Ideally the tests in #1186 should satisfy you that the cache will work as intended. Would you be up for reviewing that?
Doesn't really hurt to have a test here though. I think this will work:
const frisby = require('icedfrisby');

t.create('JSON from url')
  .get('.json?url=https://github.com/badges/shields/raw/master/package.json&query=$.name')
  .expectJSON({ name: 'custom badge', value: 'gh-badges'})
  .after(() => {
    frisby.create('subsequent request with different query')
      .get('.json?url=https://github.com/badges/shields/raw/master/package.json&query=$.version')
      .expectJSONTypes(Joi.object().keys({
        name: Joi.equal('custom badge'),
        value: Joi.string().regex(/^\d+(\.\d+)?(\.\d+)?$/)
      }))
      .toss();
  });

Hey, just a heads up that I am redoing the work in #1163 and we'll need to tweak this after the merge, since try.html will be generated.

No worries, Probably wont be able to update any of my PR's till later this week also.

I merged #1186, so when you're ready, feel free to update this and merge!

If you do that on Friday it'll be the one-year anniversary! 🙄

Damn, can't believe it has been that long already! 😱
Most likely won't be able to update this for another couple of weeks unfortunately,
Will also need to look over how to do the new generating of the demo page, exciting stuff!

@paulmelnikow Think this may finally be ready for merge if you could give it another look please in case i have missed anything.

Not sure why i had to resolve the conflicts twice but seems to be fine now.

Looks good to me!

Thanks!
Glad to finally have this one closed & merged. 😄

🎃

@paulmelnikow Opened at https://github.com/badges/shields/issues/1480

https://img.shields.io/badge/dynamic/json.svg?uri=https://d8f754b0.ngrok.io/price.json/0.1&query=$.price&label=Shields.io&prefix=v&suffix=-master&colorB=10ADED&style=flat-square

@tooomm i believe it may have been: http://jsonpath.com/ , Does this look right?

No worries, will update the main post to include the link.

Is there a way to make the colorB also dynamic? Right now I think it has to be passed as hex value in URL. Loading it from the JSON/XML would solve the problem but I'm not sure that is possible. Any hints?

Not currently unfortunately, But #1525 will add something in line with what you are wanting 😄

@RedSparr0w thanks, I'll wait for it to be merged.


Compatibility with Angular 2

Is compatibility with angular 2 in the works? :) if so, perhaps it could be tracked with this issue.

@aikeru no there is nothing in the works, but lets leave this issue open for this discussion.

@kasperp I took an initial stab at this myself at HTTPS://github.com/aikeru/ReactEverything the relevant source is in /demo/Angular2.ReactComponent.js (an ES5 Angular 2 component).
I am new to Angular 2 (who isn't haha) and this is just a quick stab at it but it is functional in that it renders and updates when props are updated.
If you took a PR or something for Angular 2 functionality (which would be a component and not a directive I guess :)) what might that look like in your repo/etc?

yeah - those are good questions. Too be honest I haven't really dived into angular 2. So any suggestions on what angular2/react interop would mean are welcome.

Closed due to ina, feel free to reopen

Seems like this is worth a read: http://www.syntaxsuccess.com/viewarticle/integrating-react-with-angular-2.0


switching retry strategy

We were seeing issues running Nx Cloud with the retry github action - this PR changes the retry strategy to instead retry at the vitest cmd line argument level. (This is slightly more efficient as well, because vitest will retry at the individual test level, whereas the previous strategy would retry the entire command again).
Note that only the flaky tests have been adjusted:

react-query
solid-query
react-query-persist-client

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (f62e079) 86.35% compared to head (aa92ef2) 89.69%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6453      +/-   ##
==========================================
+ Coverage   86.35%   89.69%   +3.34%
==========================================
  Files          87       34      -53
  Lines        2880      563    -2317
  Branches      802      124     -678
==========================================
- Hits         2487      505    -1982
+ Misses        328       49     -279
+ Partials       65        9      -56

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Add default values to the service deploy modal schema

This adds default values to the Service Schema according to the marathon ui values.
{
  "id": null,
  "cmd": null,
  "cpus": 1,
  "mem": 128,
  "disk": 0,
  "instances": 1
}

Reviewer: @MatApple

@Poltergeist looks great, could you post a screenshot of the integration tests passing?

well, the 0 isn't showing up because inside of the getter of the schema, you do disk || '' and 0 will not be applied

I added also some integration tests for the defaults.


fix: update Sentry Integration

Problem
In the current version of Sentry, they have changed their Integration type. In the current state, when trying to add the Posthog Integration to Sentry it's throwing an error:
Type 'PostHogSentryIntegration' is not assignable to type 'Integration'.
  Types of property 'setupOnce' are incompatible.
    Type '(addGlobalEventProcessor: (callback: any) => void, getCurrentHub: () => any) => void' is not assignable to type '() => void'.
      Target signature provides too few arguments. Expected 2 or more, but got 0.ts(2322)

A couple other users on the PostHog integration page have also been running into this issue mentioned by Ariel and Vitor.
This is related to two breaking changes in Sentry's updated Integration:

The setupOnce() method no longer passes any functions.
getCurrentHub() is being deprecated

The PostHog sentry-integration now needs a different way to get the projectId and add events coming from Sentry, which are used in capture events in posthog.
Last thing I'll say is that this is my first open source contribution! So apologies if something is messy or not right :) Please let me know if there's anything I can improve!
Changes
Since the method setupOnce() no longer passes the current functions used for events and hub, we need to use setup() which passes the Sentry client() class. Using that class, we have access to addEventProcessor(event) function and getDsn().projectId that was previously being used. That satisfies the information needed by PostHog.
We also no longer need the specific _SentryIntegration interface.
I've also updated the tests to account for the new setup() class with the addEventProcessor() function. It's currently passing on my local machine.
Release info Sub-libraries affected
As noted in the integration, we don't import @sentry/types, but the latest ones were used to check everything in development.
Bump level

[ ] Major
[x] Minor
[ ] Patch

Libraries affected

[ ] All of them
[ ] posthog-web
[x] posthog-node
[ ] posthog-react-native

Changelog notes

Fixed the PostHog Sentry Integration to support the latest version of Sentry (v8)

@tsekiguchi there was already a similar PR
something for @PostHog/team-error-tracking

Ah I didn't see that! And I'm seeing that one has a way to differentiate for Sentry v7. I see that he submitted that PR about a month ago, is there any update on when it might be merged?

Hi @tsekiguchi, I managed to work on this today: https://github.com/PostHog/posthog-js-lite/pull/311. Just waiting on a review and then hopefully you will be able to use Sentry v8. We're also working on an error tracking product right now. Feel free to email me if you're interested in early access to that :)


infinite loop inside of live()

https://codepen.io/guyjacks/pen/eRwadE
This is probably more of a javascript issue than an issue with DJS, but I can't figure out how to prevent an infinite loop from occurring when I update the variable that I'm watching.
I don't see the difference between my example and the dog example in the docs.
I love this little framework...  Cheers!

I see 🤔, don’t worry 😉, I’ll try to fix that for you as soon as possible. The $.live() function will always have some bugs because I’m trying to implement non-standards functions (in this case, Object.prototype.watch()). I’m nearly sure that the problem comes from the function itself.
In the next week, I’ll try to fix every function to deliver the v1.0.0 of DisplayJS as soon as possible.
Thank you 🙏 for submitting this issue 😊.

Just to make sure, why are you using self in the ˋ$.live()ˋ function? I think 🤔 there is an issue here, because the ˋself’ object is not ment to be use here 😊.

For the moment, you can use:
var cart = {
  amount: 0.0,
  charge: 0.0
};

var $djs = new DisplayJS(cart);
$djs.var();
$djs.target(function () {
  var charge = calcCharge(parseInt(cart.amount));
  cart["charge"] = charge;
   $djs.var()
});

function calcCharge(goal) {
  var stripeFixed = 0.3;
  var stripePercent = 0.029;
  var numerator = goal + stripeFixed;
  var denominator = 1.0 - stripePercent;
  var charge = numerator / denominator;
  return charge;
}

I didn't mean to leave the "self" in there.  I was trying something else and forgot to remove it.  It's gone now.

@guyjacks Also, the $.live() is not a function that should be used often, especially in small projects. DisplayJS have a lot of way to dynamically update values. So, I simply used a callback in the $.target() function to update everything 😊

I just got it working with the code you shared above.  Thank you.

The problem was that you triggered 2 things in the exact moment (which is technically impossible in JavaScript, but because I'm dealing with low-level APIs, there is bugs), but because JavaScript is a working on single core, your browser that simply doesn't want to crash skip this step 😊


Fix broken layout in docs

On this page at the bottom, the markdown is breaking the layout.

/assign @onlydole

This looks to have fixed it: https://deploy-preview-20916--kubernetes-io-master-staging.netlify.app/docs/tasks/access-application-cluster/web-ui-dashboard/

I signed it

Thanks @bavedarnow for opening this pull request.
I see this as a temporary fix (adapting to new parser). The changes look okay.
/lgtm


[v4] Breaking Changes

The same idea was reflected in #4697, but that part was ignored, therefore opening a new issue to specifically address that.
I can see that v4 is coming up with the pre-releases from the past days to which I can only say congrats 👍
However, I cannot see anything about the very useful hooks that were available in v3:

onEnter
onChange
onLeave

Furthermore, I do not see anything to reflect the above decision in the change log, nor cannot find a roadmap that describes this methods are deprecated. Should I expect v4 will break all my code?
I find this hooks very useful, for example, I was using the onEnter hook to validate if the user is authenticated in a very elegant way compared to the way is illustrated in the v4 docs. In my opinion, my solution works better because I need the user to be authenticated on all pages except /login.
Another thing I cannot find with v4 is Configuration with Plain Routes, where, why did that go?
Maybe let's not close this right away and use this forum to debate as this package is essential in my projects and, hopefully, this will end in a clear roadmap for all of us.

On the topic of breaking changes: what happened to the location.query object? I see that the query string itself is there as location.search, but not the parsed object. Am I missing something or was this completely removed from v4? Seems an important feature that wouldn't make sense to remove...

@MrXyfir You can read about that decision here

v4 is a complete rewrite. As such, there is no singular breaking change. We have some similar-looking things (<Route path="/foo" component={Foo} />), but the behaviors are completely different. You should expect none of your existing react-router usage to work under 4.0.
As for the on* hooks, they were removed because they already exist in React as the lifecycle methods. We were reimplementing them inside the Router, but they didn't exactly behave like they should.
And for "plain routes", we've extracted that to a separate package: https://github.com/ReactTraining/react-router/tree/master/packages/react-router-config You can see the reasoning for this here: https://github.com/ReactTraining/react-router/issues/4410#issuecomment-276993829

re: "they were removed because they already exist in React as the lifecycle methods"
What in the world are you talking about?  Are we supposed to subclass Route and override componentDidMount and componentWillReceiveProps or something?  It sure doesn't seem like there's an easy way to implement an onEnter or onLeave hook in V4.

@johnomalley The lifecycle methods get placed on the component rendered by the <Route>.

Yeah, did a dry run of converting v3 -> v4 and it's going to be super-painful on my project.  The nice thing about the onEnter/onLeave handlers is that I would write my containers in my redux app so that they were only dependent upon the store state.  Now I have to extract the path variables (e.g. something like itemId in /items/42) from the 'match' prop and update the store that way.  On top of the lifecycle methods require that I can no longer use stateless functional components and need to implement React lifecycle methods just to make the router integration work.  I think I'm staying with v3 for the foreseeable future.  The v4 code is just a lot uglier.

@timdorr how do you prevent a route change now then? onEnter isnt the same as componentWillMount because onEnter was called before the mounting process began as far as I know.
This seems to be a large loss in functionality as far as the replace and callback pairing goes that you cant replicate with componentWillMount.

@arempe93 I bet we now have to use custom component Prompt https://github.com/ReactTraining/react-router/blob/master/packages/react-router/modules/Prompt.js

@Johnius that seems helpful for prompts, but not for what I had in mind. A pattern that I use, and I think is common, is to wrap my routes that require login in a Route, such as:
export default function createRoutes(store) {
  return (
    <Route component={App} path='/'>
      <Route component={Login} path='/login' />
      <Route component={Authenticated} onEnter={Authenticated.enter(store)}>
        <IndexRoute component={Dashboard} />
        ...
      </Route>
    </Route>
  )
}

And the Authenticated.enter(store) function might return something like:
(nextState, replace, callback) => {
  if (<logged in>) {
    if (<! store has user data>) {
      store.dispatch(fetchCurrentUser())
        .then(() => callback())
    }
  } else {
    replace('/login')
    callback()
  }
}

I assume that v4 expects me to have instead have a wrapper component in the Authenticated component's render() that implements something similar in its componentWillMount. But that still leaves me wondering about the functionality of replace and callback

We're trying to sync breadcrumbs with the router in our project and not having an event fired or a callback in the  components is very ugly. There is no way we can implement this "generic" hooks in each and every single component rendered by a route. Maybe we should try v3

@jfconde to avoid making your components "ugly" you can create a withTrailName high order components, that's how I handled that with v4

@rizedr Yes! In the end I solved this using a HoC as you suggest. My HoC might be a bit of an anti-pattern, since it makes all routed components connected to Redux. Basically, it allows each of the routed components to have a defined name, and each time one of them is mounted or unmounted, a PUSH/POP_BREADCRUMB action is automatically dispatched (we could have passed props to these components, but then IDK if we could have used the  syntax).
Each routed component also gets a unique breadcrumbId, in order for a "dynamic title" to be managed (ie: you're loading a product with id: X called "Chair" in a component with title "Product detail" and in the breadcrumbs you want to show "Chair", but you will not have this info until the server gives us this info, but since the breadcrumb has an id we can replace "Product detail" with "Chair" using such id).
I think it looks a little dirty, but for the time being (we don't have much time to refactor until our first deadline) it works. I'll paste the code in here:
`import React from 'react';
import {connect} from 'react-redux';
function withBreadcrumb(WrappedComponent, breadcrumbTitle = '') {
return class AppRoute extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            breadcrumbId: Math.floor(Math.random() * 0xFFFF) + '_' + Math.floor(Math.random() * 0xFFFF),
            title: breadcrumbTitle
        };
    }

    componentWillMount() {
        this.props.pushBreadcrumb(this.state.breadcrumbId, this.state.title);
    }

    componentWillUnmount() {
        this.props.popBreadcrumb(this.state.breadcrumbId, this.state.title);
    }

    render() {
        return ( <WrappedComponent {...this.props} breadcrumbId={this.state.breadcrumbId} /> );
    }
}

}
function withSmartBreadcrumb(WrappedComponent, breadcrumbTitle) {
let mapStateToProps = (() => {return {}}),
mapDispatchToProps = (dispatch) => {
return {
pushBreadcrumb: (breadcrumbId, breadcrumbTitle) => {
dispatch({
type: 'PUSH_BREADCRUMB',
breadcrumbId,
title: breadcrumbTitle
});
},
            popBreadcrumb: (breadcrumbId, breadcrumbTitle) => {
                dispatch({
                    type: 'POP_BREADCRUMB',
                    breadcrumbId,
                    title: breadcrumbTitle
                });
            }
        }
    }
return (connect(mapStateToProps, mapDispatchToProps)(withBreadcrumb(WrappedComponent, breadcrumbTitle)))

}
export {withSmartBreadcrumb};`

@jfconde Looks pretty good IMO - I don't see any issue in having all route components connected to redux.
You can fix the "dirty" part by using the connect directly in withBreadcrumb and exporting that afterwards:
function withBreadcrumb(WrappedComponent, breadcrumbTitle = '') {
  class AppRoute extends React.Component { ... }
  return connect(mapState, mapDispatch)(AppRoute);
}

The simple answer.
import React from 'react';

import {
  Route,
  Redirect
} from 'react-router-dom';

const RouterCreate = (props) => {
  return (
    (props.onEnter !== undefined ?
      (props.onEnter() ?
        <Route {...props} />
        :
        <Redirect to="/login" />
      )
      :
      <Route {...props} />
    )
  );
}

export default RouterCreate;

Usage:
<BrowserRouter>
    <div>
        <Navbar />
        <Switch>
            <RouterCreate exact path="/" component={HomePage} onEnter={isLoggedIn} />
            <RouterCreate exact path="/login" component={() => isLoggedIn() ? <Redirect to="/" /> : <Login />} />
            <RouterCreate exact path="/protectedroute" component={ProtectedRoute} onEnter={isLoggedIn} />
            <RouterCreate exact path="/currency" component={Currency} onEnter={isLoggedIn} />
            <RouterCreate exact path="/logout" component={Logout} onEnter={isLoggedIn} />
            <RouterCreate exact path="/about" component={About} onEnter={isLoggedIn} />

            <Route component={() => <Redirect to="/" />} />
        </Switch>
    </div>
</BrowserRouter>

@arthurhoch  you don't consider onEnter is async. onEnter should have a callback(next) to tirgger router change

@timdorr  you should see vue-router api design. so far. react-router api can't meet the demand.
for example.
router.beforeEach(async (to, form, next) => {
  if (to.meta.needAuth) {
   loading.show()
   if (await authValidate()) {
     next()
   } else {
     next('/login')
   }
  } else {
   next()
  }
})


n parameters does not work with openai as provider

Openai documentation: https://platform.openai.com/docs/api-reference/chat/create#chat-create-n

What would be the expectation here? Multiple outputs within the same table
two? Multiple table rows ?
In general, if you want to generate multiple you can use the --repeat
argument. This works for all providers including OpenAI.
On Fri, May 24, 2024, 1:38 AM harsh-writesonic @.***>
wrote:

Openai documentation:
https://platform.openai.com/docs/api-reference/chat/create#chat-create-n
—
Reply to this email directly, view it on GitHub
https://github.com/promptfoo/promptfoo/issues/814, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACLYJTY24DFKXJ6CTUD7U3ZD34AFAVCNFSM6AAAAABIHENCOOVHI2DSMVQWIX3LMV43ASLTON2WKOZSGMYTINZYHE3TANQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


[web][Flutter 3] dart:ui paintImage / canvas.drawImage not working on flutter 3.0

my code is
import 'package:flutter/material.dart';
import 'dart:async';
import 'dart:ui' as ui;
import 'package:http/http.dart';
import 'dart:typed_data';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Center(
          child: MyHomePage(),
        ),
      ),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  String url = 'https://storage.googleapis.com/cms-storage-bucket/c823e53b3a1a7b0d36a9.png';

  double x = 0;
  double y = 0;

  Image? _originalImage;
  ui.Image? updatedImage;

  @override
  void initState() {
    super.initState();

    _getThumbnail();
  }

    void _getThumbnail() async {

    updatedImage = await decodeImageFromList((await get(Uri.parse(url))).bodyBytes);

    ui.Image canvasImage = await printImageToCanvas(updatedImage!);
    final pngBytes = await canvasImage.toByteData(format: ui.ImageByteFormat.png);
    _originalImage = Image.memory(pngBytes!.buffer.asUint8List(), width: 500, height: 500, fit: BoxFit.fitWidth, filterQuality: FilterQuality.high);

    setState(() {});
  }

  Future<ui.Image> printImageToCanvas(ui.Image image) async {
    final recorder = ui.PictureRecorder();
    final canvas = ui.Canvas(recorder);

    paintImage(
      canvas: canvas,
      fit: BoxFit.cover,
      alignment: FractionalOffset.bottomCenter,
      rect: Rect.fromCenter(
        center: const Offset(155, 155),
        width: 300,
        height: 90
      ),
      image: image,
      isAntiAlias: true
    );

    final picture = recorder.endRecording();
    return picture.toImage(500, 500);
  }

  @override
  Widget build(BuildContext context) {

    debugPrint("build!!!!");
    return Scaffold(
      body: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        crossAxisAlignment: CrossAxisAlignment.center,
        children: [
          Row(
            mainAxisAlignment: MainAxisAlignment.spaceAround,
            children: [
              if(_originalImage != null)
                Container(
                  color: Colors.red,
                  width: 400,
                  height: 400,
                  child: _originalImage,
                ),

              if(updatedImage != null)
                Container(
                  color: Colors.amber,
                  width: 400,
                  height: 400,
                  child: CustomPaint(
                    painter: ImageEditor(updatedImage, x, y),
                  ),
                ),
            ],
          ),
        ],
      )
    );
  }
}

class ImageEditor extends CustomPainter {
  ui.Image? image;
  double x;
  double y;
  ImageEditor(this.image, this.x, this.y);

  @override
  void paint(Canvas canvas, Size size) {
    paintImage(
      canvas: canvas,
      fit: BoxFit.cover,
      alignment: FractionalOffset.bottomCenter,
      rect: Rect.fromCenter(
        center: const Offset(155, 155),
        width: 300,
        height: 90
      ),
      image: image!,
      isAntiAlias: true
    );
  }

  @override
  bool shouldRepaint(CustomPainter oldDelegate) {
    return true;
  }
}

this code print canvas direct to image widget, and draw with custom painter.
it shows on flutter 2.10.5,

but it shows on flutter 3.0,

there is any changed on usage for printImage method?

it looks like a bug..
this happen only appear on flutter web. ios and android are printed image well.

Hi @meamde, Thanks for filing the issue, I can confirm the above code sample works fine on stable 2.10.5 and fails to load the image on stable/master 3.0
Stable 3.0 / master 3.1

Stable 2.10.5

Adding a regression label since this works fine on older versions of flutter. Also, this is a web-only issue the image loads fine on the Desktop.
Seems like a duplicate of https://github.com/flutter/flutter/issues/103803

flutter doctor -v (mac)
[✓] Flutter (Channel stable, 3.0.0, on macOS 12.3 21E230 darwin-arm, locale en-IN)
    • Flutter version 3.0.0 at /Users/mahesh/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ee4e09cce0 (6 days ago), 2022-05-09 16:45:18 -0700
    • Engine revision d1b9a6938a
    • Dart version 2.17.0
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-32, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! CocoaPods 1.10.2 out of date (1.11.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your
        plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.66.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.40.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 12.3 21E230 darwin-arm
    • Chrome (web)    • chrome • web-javascript • Google Chrome 101.0.4951.64

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

    • Flutter version 3.1.0-0.0.pre.419 at /Users/mahesh/Documents/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 2eed8cbf93 (2 weeks ago), 2022-04-28 22:29:06 -0400
    • Engine revision dfdfe0b3b0
    • Dart version 2.18.0 (build 2.18.0-66.0.dev)
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-32, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! CocoaPods 1.10.2 out of date (1.11.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your
        plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.66.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.40.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 12.3 21E230 darwin-arm
    • Chrome (web)    • chrome • web-javascript • Google Chrome 101.0.4951.64

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

flutter doctor -v (2.10.5)
[✓] Flutter (Channel unknown, 2.10.5, on macOS 12.3 21E230 darwin-arm, locale en-IN)
    • Flutter version 2.10.5 at /Users/mahesh/Documents/flutter_dev
    • Upstream repository unknown
    • Framework revision 5464c5bac7 (4 weeks ago), 2022-04-18 09:55:37 -0700
    • Engine revision 57d3bac3dd
    • Dart version 2.16.2
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-32, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.10.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.66.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.40.0

[✓] Connected device (4 available)
    • Redmi K20 Pro (mobile) • <IP_ADDRESS>:5555                     • android-arm64  • Android
      11 (API 30)
    • iPhone 12 Pro (mobile) • 19FD0231-BFF0-441D-B584-AD94C4084525 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-15-2 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS
      12.3 21E230 darwin-arm
    • Chrome (web)           • chrome                               • web-javascript • Google
      Chrome 101.0.4951.64

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

thanks for check this issue.
i hope so fix this issuse quickly.
Web in Flutter 3.0 is noticeably better than 2.0 in all other areas. we want to release our product with 3.0 :-)

Can you please check with --web-renderer=html and separately with --dart-define=BROWSER_IMAGE_DECODING_ENABLED=false?

when run with --web-renderer=html , throw an error and nothing printed on browser.
➜  default_project flutter run -d chrome --web-renderer=html
Launching lib/main.dart on Chrome in debug mode...
Waiting for connection from debug service on Chrome...             10.0s
This app is linked to the debug service: ws://<IP_ADDRESS>:65055/UrBoT-xMJac=/ws
Debug service listening on ws://<IP_ADDRESS>:65055/UrBoT-xMJac=/ws

💪 Running with sound null safety 💪

🔥  To hot restart changes while running, press "r" or "R".
For a more detailed help message, press "h". To quit, press "q".

An Observatory debugger and profiler on Chrome is available at: http://<IP_ADDRESS>:65055/UrBoT-xMJac=
Flutter Web Bootstrap: Programmatic
build!!!!
The Flutter DevTools debugger and profiler on Chrome is available at: http://<IP_ADDRESS>:9101?uri=http://<IP_ADDRESS>:65055/UrBoT-xMJac=
Error: [object Event]

    at Object.createErrorWithStack (http://localhost:65012/dart_sdk.js:5093:12)
    at Function._throw (http://localhost:65012/dart_sdk.js:20399:18)
    at Function.throwWithStackTrace (http://localhost:65012/dart_sdk.js:20396:18)
    at async._AsyncCallbackEntry.new.callback (http://localhost:65012/dart_sdk.js:40921:18)
    at Object._microtaskLoop (http://localhost:65012/dart_sdk.js:40778:13)
    at _startMicrotaskLoop (http://localhost:65012/dart_sdk.js:40784:13)
    at http://localhost:65012/dart_sdk.js:36261:9

when run with --dart-define=BROWSER_IMAGE_DECODING_ENABLED=false , same happen on 3.0.
➜  default_project flutter run -d chrome --dart-define=BROWSER_IMAGE_DECODING_ENABLED=false
Launching lib/main.dart on Chrome in debug mode...
Waiting for connection from debug service on Chrome...              9.3s
This app is linked to the debug service: ws://<IP_ADDRESS>:49451/AYXeoo0xQgM=/ws
Debug service listening on ws://<IP_ADDRESS>:49451/AYXeoo0xQgM=/ws

💪 Running with sound null safety 💪

🔥  To hot restart changes while running, press "r" or "R".
For a more detailed help message, press "h". To quit, press "q".

An Observatory debugger and profiler on Chrome is available at: http://<IP_ADDRESS>:49451/AYXeoo0xQgM=
Flutter Web Bootstrap: Programmatic
build!!!!
The Flutter DevTools debugger and profiler on Chrome is available at: http://<IP_ADDRESS>:9101?uri=http://<IP_ADDRESS>:49451/AYXeoo0xQgM=
build!!!!

This renders as expected if I patch the engine to disable browserSupportsImageDecoder.
With the CkBrowserImageDecoder enabled, the engine calls canvaskit.MakeLazyImageFromTextureSource which returns an image backed by a WebGLTextureImageGenerator.
But WebGLTextureImageGenerator does not implement onGetPixels, so calls to Image.toByteData will fail.
(also see https://github.com/flutter/flutter/issues/104197)

Sorry, forgot to mention that with the --dart-define=BROWSER_IMAGE_DECODING_ENABLED=false option you also need to build in either --profile or --release mode. Yeah, this is an issue with reading pixels in CanvasKit.

Deduplicating into https://github.com/flutter/flutter/issues/103803


[incubator/kafka] Added helm hook annotations to delay job until kafka is ready and cleanup job

Added helm hook annotations to delay job until kafka is ready and cleanup job
Signed-off-by: Brian Dunnigan<EMAIL_ADDRESS>
Is this a new chart No

NOTE: We're experiencing a high volume of PRs to this repo and reviews will be delayed. Please host your own chart repository and submit your repository to the Helm Hub instead of this repo to make them discoverable to the community. Here is how to submit new chart repositories to the Helm Hub.

What this PR does / why we need it:
The current config Job is started immediately on an install. Chart hooks can be used in tandem with the --wait flag to delay the creation of a job until Kafka pods are ready.
The job is also left around around a successful run and install/upgrade. Annotations have been added to clean up the job on success and if a new job is slated to run after a previous one failed.
I also fixed all helm strict lint warning that are pointed out with helm lint . --strict
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

@benjigoldberg

/assign @benjigoldberg