Slight README.md modification

in order to reflect builders usage (#116)
plus adding a section on PermissionTarget
creation thanks to @axel3rd

Thank you for this @zonArt!
Can you please join our contributors community by signing JFrog's CLA so that we can merge your pull request?

Done


Remove Signature of @DinisCruz

@DinisCruz published "Why OWASP can't pay OWASP Leaders" as an @OWASP Board Member.
@vanderaj opposed @DinisCruz's policy on the OWASP Leaders Mailing List as an @OWASP Project Leader which has been reproduced below:
Dinis,

So essentially, the only folks who can't get paid are those who do. the.
work.

No worries. Loud and clear.

I must remember that the next time I think I want to sign up to sit in my
office for months on end away from my family and friends.

thanks,
Andrew
It is unfair that @vanderaj, as an @OWASP Board Member today (2023), should be tainted by, and carry the burden of,  @DinisCruz's politics.
Therefore, @DinisCruz's signature must be removed as his position is "... OWASP can't pay OWASP Leaders" otherwise it will undermine @owasp-change

We do not accept PRs adding or removing other people's signatures unless we can confirm they have asked for the change.
Dinis' article was written in 2012, he's allowed to change his mind.
In any case the letter was published in February and things have changed.
I think we should treat this as a historical document and not accept any more PRs.


Google chrome dependency

i tried running on latest version as of today but failed
PS C:\Users<user>\Downloads\ESET-KeyGen> py.exe '.\ESET KeyGen.py'
-- Chrome Driver Auto-Installer v1.1<PHONE_NUMBER>) by rzc0d3r --
[WinError 3] The system cannot find the path specified: 'C:/Program Files/Google/Chrome/Application'
Press Enter...
I believe the previous approach was much cleaner as it did not require the user to have whole google chrome package installed. I personally don't use google chrome as they're browser is bloated af, nor anything related to infamous google. you should use instead an open source alternative like chromium or maybe firefox engine if possible

thank you for reporting the problem. I don't have any test devices I try to do the best I can.
Special thanks to alejanpa17 for trying to fix this problem!
Try re-downloading the project and running it.

My mistake.  I'll fix it.  I will find solutions on how to better determine the location of Google Chrome. Thx!

Try v1.0.8<PHONE_NUMBER>) release


plugdata: Add version 0.8.3

[x] I have read the Contributing Guide.

Resolves https://github.com/ScoopInstaller/Extras/issues/13313

Please fix manifest (log).
Add 32bit version as well.

The bin shim entry uses spaces which would be unexpected to a command line user. The user would need to quote the command as in:
> "plug data"

So maybe use plugdata.
In general I am OK with a bin shim for gui programs, but if there are no command line options then there is probably no need for one.
And thank you for contributing!

Sure thing! I modified the manifest to conform with your requirements!

/verify

/verify


More errors instead of crashes for conditional conformances that are invalid or involve hard-to-resolve recursion

Two cases go from being a crash to being a more explanatory error with locations etc.:

rdar://problem/41281406, https://bugs.swift.org/browse/SR-8019 (rdar://problem/41216423) and https://bugs.swift.org/browse/SR-8019 (rdar://problem/41216423).

https://bugs.swift.org/browse/SR-8033.

This doesn't fix the recursion itself. It also doesn't use the request evaluator, because I want to put this into the 4.2 branch.

So you are now guard against conditional requirements not being computed in the conformance logic.

@swift-ci please smoke test


Webview still active after object has been deconstructed.

✍ Bug Description
Hi,
in my program I create an object that holds both the app as well as the smartview variables.
When the app var is created with saucer::application::acquire, a ".saucer" folder is created in my current working directory. I want to delete that folder when my program gets closed, but there is an permission error because it is still being accessed (I checked with FileLocksmith).
I tried:

app->quit()
deleting the object that holds app and smartview

Before calling app->quit() there are 3 instances of webview accessing the folder, after calling it/ after deconstructing there is only one, even without anything on screen and the debugger being right on the final return. When the program returns and closes the folder can be deleted.
Maybe an argument for the saucer::application that makes it clean up after itself would be nice.
🔁 Steps to reproduce
test.hpp
#include <saucer/smartview.hpp>

class UI {
  private:
    std::shared_ptr<saucer::application> app;
    saucer::smartview<saucer::serializers::glaze::serializer> smartview;

  public:
    UI();
    ~UI();
};

UI::UI()
    : app {saucer::application::acquire({.id = "test"})},
      smartview {{.application = app}}
{
    // 3 webviews lock the folder now
    this->smartview.set_url("https://google.com");
    this->smartview.show();

    // I only call quit directly here because in my program it is called with JS and the example still works :)
    this->app->quit(); // 3 webviews still lock the folder
}

UI::~UI()
{
}

test.cpp
#include "test.hpp"
#include "Windows.h"

int WINAPI WinMain(HINSTANCE hInt, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow)
{
    if (true) {
        auto a = UI(); // deleted when out of scope
    }
    // only 1 webview locks the folder now
    // deleting at this point would lead to a crash
    return 0; // folder is not locked after return
}

❔ Expected behavior
After calling app->quit() or after deletion of the class containing app, there should be no more webviews blocking access to the ".saucer" folder.
👀 Screenshots
No response
🛸 Saucer Version
v4.2.0
🖥 Operating System
Windows 10
🧰 Compiler
MSBuild 17.10.4
📦 Environment
WebViev2 130.0.2849.80
🖥 Distribution
No response
✅ I confirm that...

[X] I have collected all the required information and read all the comments in this document
[X] I searched for an existing bug report for this issue
[X] the problem does occur with the reproduction steps I provided
[X] what I described is indeed a problem

On Windows, WebView2 is used, which uses a shared WebView, which may cause the behavior you're seeing. You can change the location of the .saucer folder being created in the Webview options to e.g. some folder in /tmp

Sweet thank you :)
While I got you here, I don't want to create a new issue but how would I set the application icon for the titlebar/window frame? (Not the .exe itself). I found saucer::icon but can't figure out how to make it work 😅

Sweet thank you :) While I got you here, I don't want to create a new issue but how would I set the application icon for the titlebar/window frame? (Not the .exe itself). I found saucer::icon but can't figure out how to make it work 😅

You can call set_icon on the webview, the saucer::icon is creatable with saucer::icon::from with either a file on the filesystem or an in-memory buffer

That'w what I tried to do, but smartview.set_icon always produces the error no suitable user-defined conversion from "std::optional<saucer::icon>" to "const saucer::icon" exists when using a path. Would I be able to use an embedded file for this?

That'w what I tried to do, but smartview.set_icon always produces the error no suitable user-defined conversion from "std::optional<saucer::icon>" to "const saucer::icon" exists when using a path. Would I be able to use an embedded file for this?
Edit: Nvm I completely overlooked the optional part of the error, sorry for that :)

Yes, it returns an optional in case the creation failed (i.e. unsupported file-format, ...) use .value() to get the actual value and make sure to check if it's empty :)


We could mark objects as Srializable

I use this library to search for movies for a bot(BotBuilder), so i need the objects to be serializable.

[ ] You can asign this to me.

What, like BinarySerializer serializable?

Like C#'s serializable

It's my impression that if I change anything in the models, the serialized objects won't be deserializable ... at least in some form..
https://stackoverflow.com/questions/30240486/how-much-does-a-class-object-have-to-change-in-order-for-binary-deserialization
I can't guarantee the models in any form. Maybe they'll get new fields or miss some, or even change the order of their properties.. Any of these changes could break your storage/transport..

Reading about BotBuilder, it seems that its using it to store state between two messages - is this correct?
If it's ephemeral storage, as in, just temporary storage between two messages - these problems above probably don't apply to you. However, if it's persistently stored on disk for a longer period, you might run into these issues.

@LordMike Thanks for your time! I will try to create my own requests and classes and deserialize jsons


Should VirtualFileRef be ${SOME_STRING}/src/bar.scala instead of ${0}/src/bar.scala?

@eatkins wrote:
Is Seq[Path] the right abstraction in rootPaths? It seems a bit strange that these are order dependent. I assume that the index into this Seq corresponds to the ${N}/path/to/file in VirtualFileRefs? It seems like it might be a bit more robust to have virtual files that look like ${base}/path/to/file instead at the cost of a modest increase in storage.

Your right about Seq-index turning into to VirtualFileRef#id. I'm open on this design space.
My thought on this was that:

VirtualFileRef only needs to be stable across a single build.
sbt should provide good enough default that works for 90% of the use cases (like Coursier cache).
Build authors should be able to append root paths easily.
Conversion between mapped VirtualFileRef#id back to java.nio.file.Path should be simple. (currently happening in https://github.com/sbt/zinc/blob/v1.4.0-M5/internal/zinc-core/src/main/scala/sbt/internal/inc/MappedVirtualFile.scala)

I thought using the order would be good enough, but maybe using String might allow for the VirtualFileRef to be more robust in the long term.
@retronym any suggestions here?

Just to expand slightly, I see two minor issues with the current situation that are related but different:

Root paths are stored in a Seq. This raises a number of questions for me. Are there assumptions about the orderings of the paths? Would I break everything if I did rootPaths := rootPaths.value.sorted? What is the use case for adding additional rootPaths? How does zinc know about them? Does zinc try to relativize every path it sees against all of the root paths until it finds a match? What happens if an analysis file has files with N root paths and the build has N-1 or N+1 root paths (especially if a new path was prepended)?
Paths displayed in warnings have the id in them, e.g. ${0}/project/Scripted.scala. I have to have knowledge of the virtual file to understand what that refers to (though I'm sure many users will at least be able to guess or deduce the meaning of ${0}).

I really am just curious about the questions asked in (1).
To further elaborate on (2), I now see warnings that look like:
[warn] ${0}/project/Scripted.scala:92:28: object ClasspathUtilities in package classpath is deprecated (since 1.4.0): internal
[warn]     val loader = classpath.ClasspathUtilities.toLoader(scriptedSbtClasspath.files, noJLine)
[warn]                            ^

I think these would be more useful if either the id had a more descriptive name like ${base} or if the path was expanded. I think this would help most for cases in which a path is displayed that isn't the in the project directory, like the coursier cache. Seeing something like ${4}/com/foo/bar/../blah.jar would be somewhat difficult to track down. I actually like having shorter warnings without the full paths, but it does make debugging harder if I want to take action by copying the path.
In general, I think VirtualFiles are more of an implementation detail that should rarely be encountered by sbt end users except for the (I'm assuming) small subset of users who are implementing analysis file sharing for their team. As a normal end user, I'd expect to only see normal paths in logging. But I may also be missing something since I haven't been following the development of this feature carefully.

In general, I think VirtualFiles are more of an implementation detail that should rarely be encountered by sbt end users

I agree.

To further elaborate on (2), I now see warnings that look like...

There's a reporter I added so for normal compilation the compiler error should display normal path. So if the VirtualFile id is leaking out that might be a bug. Also for file loading performance reason we might avoid passing VirtualFiles to Scala compiler layer as well.

Root paths are stored in a Seq. This raises a number of questions for me.
Are there assumptions about the orderings of the paths?

rootPaths is preset with a Seq(...) and the index position would be used for VirtualFileRef#id. There's no inherent meaning in ${0} etc.

Would I break everything if I did rootPaths := rootPaths.value.sorted?

It shouldn't break anything. It would shuffle the number around so it would invalidate your previous compilation, but that's about it.

What is the use case for adding additional rootPaths?

The purpose of the rootPaths is to remove machine dependence. One might add additional rootPaths if they include sources or JAR files outside of the preset places.

How does zinc know about them?

There's a preset rootPaths. Beyond that, build tools can pass that into Zinc.

Does zinc try to relativize every path it sees against all of the root paths until it finds a match?

Yes. That behavior is configurable, but in general yes.

What happens if an analysis file has files with N root paths and the build has N-1 or N+1 root paths (especially if a new path was prepended)?

If you previously created ${0}/src/bar.scala, and now it's supposed to be ${1}/src/bar.scala or something then I guess it would result to invalidation of the file.


make sure everyone in group gets same recipe; refactored code

In this commit I refactored the code a bit to nicely be able to check if we already have a recipe from the group. Then this recipe will be send out to all members. Before this was missing, and as every group member send their own GET "/groups/{groupId}/result", they got diff recipes each.
With the failing ingredient typing atm, its a pain to test. Also postman takes a while due to alle the states we now have :) I tested it with postman and attached the results here, so you can compare the outcome/token etc..

merged and informed Orestis about ToDo in team file


$channel->deleteMessages(array()) issue?

Not Working:

$channel->deleteMessages(array($message->id));

$message->id is not empty and is ok.
Working:

$channel->deleteMessages(array('2000000000000010','2000000000004444'));

--
https://github.com/teamreflex/DiscordPHP/blob/master/src/Discord/Parts/Channel/Message.php

Done with:
$channel->messages->delete($message)
$message (obj)


Discretize Low Pass Filter

Infinite impulse response low-pass-filter simulation (I have no clue what this means)
https://en.wikipedia.org/wiki/Low-pass_filter#Discrete-time_realization

This is actually the original implementation of LowPassFilter from 2020, however what we have now is actually what happens when you solve for the limit as dt -> 0.

I see.


[router] Impl radix tree and set up CI

Motivation

implement a radix tree for later use
set up CI for rust

Modifications

Checklist

[ ] Format your code according to the Contributor Guide.
[ ] Add unit tests as outlined in the Contributor Guide.
[ ] Update documentation as needed, including docstrings or example tutorials.

@Ying1123 I have

Fixed the clone() redundancy by mem::take
Replaced vector with hashmap
Added fmt check in ci

Thanks for the great feedback


Basic Build Fails

Followed the directions but the build fails.
STEP 1
$ gatsby new mysite https://github.com/fabe/gatsby-starter-deck
info Creating new site from git: https://github.com/fabe/gatsby-starter-deck.git
Cloning into 'mysite'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 192 (delta 0), reused 0 (delta 0), pack-reused 189
Receiving objects: 100% (192/192), 385.60 KiB | 1.96 MiB/s, done.
Resolving deltas: 100% (81/81), done.
success Created starter directory layout
info Installing packages...

><EMAIL_ADDRESS>install /Users/myaccount/Desktop/THESITE/mysite/node_modules/fsevents
> node install

node-pre-gyp WARN Using request for node-pre-gyp https download
[fsevents] Success: "/Users/myaccount/Desktop/THESITE/mysite/node_modules/fsevents/lib/binding/Release/node-v57-darwin-x64/fse.node" is installed via remote

><EMAIL_ADDRESS>install /Users/myaccount/Desktop/THESITE/mysite/node_modules/sharp
> (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)

info sharp Using cached /Users/myaccount/.npm/_libvips/libvips-8.7.0-darwin-x64.tar.gz

><EMAIL_ADDRESS>postinstall /Users/myaccount/Desktop/THESITE/mysite/node_modules/gatsby-telemetry
> node src/postinstall.js

><EMAIL_ADDRESS>postinstall /Users/myaccount/Desktop/THESITE/mysite/node_modules/cwebp-bin
> node lib/install.js

  â cwebp pre-build test passed successfully

><EMAIL_ADDRESS>postinstall /Users/myaccount/Desktop/THESITE/mysite/node_modules/mozjpeg
> node lib/install.js

  â mozjpeg pre-build test passed successfully

><EMAIL_ADDRESS>postinstall /Users/myaccount/Desktop/THESITE/mysite/node_modules/pngquant-bin
> node lib/install.js

  â pngquant pre-build test passed successfully
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN<EMAIL_ADDRESS>requires a peer of typescript@* but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>No repository field.

added 1931 packages from 1034 contributors and audited 26638 packages in 79.202s
found 0 vulnerabilities

info Initialising git in mysite
Initialized empty Git repository in /Users/myaccount/Desktop/THESITE/mysite/.git/
info Create initial git commit in mysite
$
$

STEP 2
$ yarn build
yarn run v1.15.2
$ gatsby build
success open and validate gatsby-configs â 0.007 s
success load plugins â 0.987 s
success onPreInit â 0.112 s
success delete html and css files from previous builds â 0.006 s
success initialize cache â 0.008 s
success copy gatsby files â 0.064 s
success onPreBootstrap â 0.005 s
success source and transform nodes â 0.088 s
success building schema â 0.336 s
success createPages â 0.152 s
success createPagesStatefully â 0.057 s
success onPreExtractQueries â 0.009 s
success update schema â 0.058 s
error GraphQL Error Encountered 2 error(s):
- Unknown field 'allSlide' on type 'Query'. Source: document `IndexQuery` file: `GraphQL request`

  GraphQL request (10:9)
   9:         }
  10:         allSlide {
              ^
  11:           edges {

- Unknown field 'slide' on type 'Query'.

      file: /Users/myaccount/Desktop/THESITE/mysite/src/templates/slide.js

error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
$

same here

Did using yarn work for you @slimandslam?

Nope
On Tue, May 14, 2019 at 9:53 AM Fabian Schultz<EMAIL_ADDRESS>wrote:

Did using yarn work for you @slimandslam https://github.com/slimandslam?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fabe/gatsby-starter-deck/issues/17?email_source=notifications&email_token=AABYBR2HDG4SVYL6VGFQAHTPVLG5VA5CNFSM4HJWNQVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVLXVQA#issuecomment-492272320,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABYBRZID2LS3NCLWPTCQATPVLG5VANCNFSM4HJWNQVA
.

Same probleme here.

I was able to get it working by copying the yarn.lock file from this repo to my local project. This should get copied on install but maybe the gatsby-cli thing ignores it or something?

I just encountered the same error, too.

Same error too, tried installing with gatsby-cli and git clone, tried use yarn and copy original yarn.lock file, nothing works, always the same error :
Unknown field 'allSlide' on type 'Query'. Source: document 'IndexQuery' file: 'GraphQL request'


lib for openvpn client

Hi,
I need to build an app with openvpn client as one of its functionalities, is there any examples that I can follow? I believe building a lib will be beneficial for everyone.
Thanks

Hey if you're still there I think I might be able to help.

Yes @otraore do you have a hint?

If you are talking about android, there's a library that we used in the past and it works quite fine.
https://github.com/schwabe/ics-openvpn


Added License

Added a License to this repository for users to know the terms of use.

Hello @saifxyzyz
Thanks for your contribution.
Let's connect ->
GitHub -> @Suryansh1720001 (Follow)
LinkedIn -> https://www.linkedin.com/in/suryanshprajapati17


Add support for alternating row styles

Overview
This PR adds support for configuring alternating row styles of tables.
Developers making use of the table plugin can configure the background for the odd and even rows of a table.
It is implemented as follows:

If background colors for odd or even rows are provided, the following variables are set in the inline styles of the table element:

--say-even-row-background
--say-odd-row-background

The following css has been added to _c-table.scss:

tr:nth-child(even){
  	background: var(--say-even-row-background);
}
tr:nth-child(odd){
  	background: var(--say-odd-row-background);
}

The serialize method of the table_row nodespec adds inline styles based on if the row is even or odd. This is only possible in serialize, not in toDOM, as only serialize has access to the state.

Additionally, this PR includes the following changes:

Addition of a constructInlineStyles utility function, which takes a css object and converts it to an inline styles string
Addition of getParent and getPos utilities. These utilities allow you to resolve a prosemirror-node in a document. (needed to check if a row is even/odd in a table)

connected issues and PRs:
Solution to: https://binnenland.atlassian.net/browse/GN-4705?atlOrigin=eyJpIjoiMzRlNzA1NzcwNDdkNGMwOGJmMzlhYzg0Y2YxYWIzNDkiLCJwIjoiaiJ9
How to test/reproduce

npm start
Open the index dummy page
Insert a table with a few rows
Notice that the rows alternate
Export to html and observe the inline styles responsible for the alternating row backgrounds.

Challenges/uncertainties
I was not able to enable the nth-child css rules in the table inline css, as inline css does not allow for setting children styles. The approach with css variables seemed the best second option.
Checks PR readiness

[x] UI: works on smaller screen sizes
[x] UI: feedback for any loading/error states
[x] Check cancel/go-back flows
[x] Check database state correct when deleting/updating (especially regarding relationships)
[x] changelog
[x] npm lint
[x] no new deprecations

It feels like a long way around, but I also can't think of a shorter way within the constraints. I'd also like to be able to use something like CSSStyleDeclaration to construct the styles, but since we don't have one and can't construct one, we can't.

Yes indeed, I also looked into another way to construct the CSS styles, but could not find any.

I just noticed that the header-row/header-column interact strangely with this feature I say strangely cause I cant quite figure out if it's wrong or not, but maybe have a look?

That should be fixed now, it was because th elements had their background-color set to white in the css.


Jest testing of index.js from Twitter scraping folder

Jest testing of index.js  from Twitter scraping folder

We're deprecating puppeteer tweet fetching for now. No tests needed.
Sorry Simrin 😅

We're deprecating puppeteer tweet fetching for now. No tests needed.
Sorry Simrin 😅


[vault-env] Inline mutation doesn't use cache

Describe the bug:
[vault-env] Inline mutation doesn't use cache
- name: DATABASE
value: "postgres://${vault:database/production/creds/user#username}:${vault:database/production/creds/user#password}@${some_ip}:5432/database"
Having configuration like this vault-env does not use cache and makes two reads two from vault. In this case process receives wrong credentials
Expected behaviour:
Vault-env uses cache and does one read from vault.
Steps to reproduce the bug:
- name: DATABASE
value: "postgres://${vault:database/production/creds/user#username}:${vault:database/production/creds/user#password}@${some_ip}:5432/database"
Additional context:
Add any other context about the problem here.
/kind bug

hello,
i have a same bug. please how did you fixed it ?


Nearly Identical Flow datasets with different flow values cause the chart to break

First of all, thanks for this great library. It's been wonderfully useful.
I think I may have found some bug in how the nodes and flows are processed. I have two nearly identical datasets. The "shape" i.e. nodes and what nodes flow into each other, of the sankey are the same. The only difference in the datasets is the values for flow between the nodes are different.
I believe I have validated that the sankey nodes are validly constructed. There are no loops, and the output for each node is strictly less than the input. I have created to test files below for you to look at. I am pretty baffled as to why one would work why one would not, I am hoping you can shed some light on whatever I am missing @kurkle. Thanks so much for your time and this library
Broken Test Case on top of Working Test Case

Broken Test Case
const data = [
  {
    flow: 19,
    from: "trailer-2",
    to: "trailer-3",
  },
  {
    flow: 93,
    from: "film-1",
    to: "tv_show-2",
  },
  {
    flow: 44,
    from: "trailer-1",
    to: "tv_show-2",
  },
  {
    flow: 36,
    from: "trailer-2",
    to: "film-3",
  },
  {
    flow: 32,
    from: "tv_show-1",
    to: "trailer-2",
  },
  {
    flow: 41,
    from: "film-2",
    to: "trailer-3",
  },
  {
    flow: 83,
    from: "film-2",
    to: "film-3",
  },
  {
    flow: 44,
    from: "tv_show-2",
    to: "trailer-3",
  },
  {
    flow: 87,
    from: "tv_show-1",
    to: "film-2",
  },
  {
    flow: 30,
    from: "trailer-2",
    to: "tv_show-3",
  },
  {
    flow: 37,
    from: "film-1",
    to: "trailer-2",
  },
  {
    flow: 78,
    from: "tv_show-2",
    to: "film-3",
  },

  {
    flow: 18,
    from: "trailer-1",
    to: "trailer-2",
  },
  {
    flow: 93,
    from: "film-2",
    to: "tv_show-3",
  },
  {
    flow: 76,
    from: "tv_show-1",
    to: "tv_show-2",
  },
  {
    flow: 46,
    from: "trailer-1",
    to: "film-2",
  },
  {
    flow: 88,
    from: "tv_show-2",
    to: "tv_show-3",
  },
  {
    flow: 88,
    from: "film-1",
    to: "film-2",
  },
];

module.exports = {
  config: {
    type: "sankey",
    data: {
      datasets: [
        {
          data,
          colorFrom: "red",
          colorTo: "green",
        },
      ],
    },
  },
  options: {
    canvas: {
      height: 256,
      width: 512,
    },
  },
};

Working Test Case

const data = [
  {
    flow: 6,
    from: "trailer-2",
    to: "trailer-3",
  },
  {
    flow: 39,
    from: "film-1",
    to: "tv_show-2",
  },
  {
    flow: 12,
    from: "trailer-1",
    to: "tv_show-2",
  },
  {
    flow: 14,
    from: "trailer-2",
    to: "film-3",
  },
  {
    flow: 13,
    from: "tv_show-1",
    to: "trailer-2",
  },
  {
    flow: 12,
    from: "film-2",
    to: "trailer-3",
  },
  {
    flow: 27,
    from: "film-2",
    to: "film-3",
  },
  {
    flow: 12,
    from: "tv_show-2",
    to: "trailer-3",
  },
  {
    flow: 35,
    from: "tv_show-1",
    to: "film-2",
  },
  {
    flow: 12,
    from: "trailer-2",
    to: "tv_show-3",
  },
  {
    flow: 33,
    from: "tv_show-2",
    to: "film-3",
  },
  {
    flow: 13,
    from: "film-1",
    to: "trailer-2",
  },
  {
    flow: 8,
    from: "trailer-1",
    to: "trailer-2",
  },
  {
    flow: 43,
    from: "film-2",
    to: "tv_show-3",
  },
  {
    flow: 30,
    from: "tv_show-1",
    to: "tv_show-2",
  },
  {
    flow: 14,
    from: "trailer-1",
    to: "film-2",
  },
  {
    flow: 33,
    from: "tv_show-2",
    to: "tv_show-3",
  },
  {
    flow: 37,
    from: "film-1",
    to: "film-2",
  },
];

module.exports = {
  config: {
    type: "sankey",
    data: {
      datasets: [
        {
          data,
          colorFrom: "red",
          colorTo: "green",
        },
      ],
    },
  },
  options: {
    canvas: {
      height: 256,
      width: 512,
    },
  },
};

Interesting, I'll take a closer look.

Thank you!


Return error if env file contains non-ascii or utf8 bytes (for windows)

- What I did
This fix tries to address the issue raised in #26179 where an env file with non-ascii or utf8 bytes will crash on windows platform.
The issue is two-fold:

Windows will adds a BOM mark at the begining with Notepad as the editor
Non-utf8 bytes can not be handled by env file parser.

- How I did it
This fix removes utf8 BOM marker if exists so that utf8 encoded env file could be processed.
This fix also returns an error (instead of a runtime CreateProcess crash) if env file contains non-utf8 bytes, thus giving users better experiences.
- How to verify it
Additional test cases has been added in unit tests.
- Description for the changelog
- A picture of a cute animal (not mandatory but encouraged)
This fix fixes #26179.
Signed-off-by: Yong Tang<EMAIL_ADDRESS>

cc @jhowardmsft @matt-richardson please take a look.

Unicode (UTF16?)
"FOO=BAR" | Out-File -FilePath .\env.list -Encoding unicode
C:\Users\matt\Downloads\docker-1.13.0-dev.exe: env file env.list contains invalid utf8 bytes at line 1: [255 254 0 0 70 0 0 0 79 0 0 0 79 0 0 0 61 0 0 0 66 0 0 0 65 0 0 0 82 0 0 0 13 0 0 0].
See 'C:\Users\matt\Downloads\docker-1.13.0-dev.exe run --help'.

-> Success, i think?
BigEndianUnicode
"FOO=BAR" | Out-File -FilePath .\env.list -Encoding bigendianunicode
C:\Users\matt\Downloads\docker-1.13.0-dev.exe: env file env.list contains invalid utf8 bytes at line 1: [255 254 0 0 70 0 0 0 79 0 0 0 79 0 0 0 61 0 0 0 66 0 0 0 65 0 0 0 82 0 0 0 13 0 0 0].
See 'C:\Users\matt\Downloads\docker-1.13.0-dev.exe run --help'.

-> Success, i think?
UTF8
"FOO=BAR" | Out-File -FilePath .\env.list -Encoding utf8
.\docker-1.13.0-dev.exe run --env-file env.list --rm microsoft/windowsservercore cmd /c set
...
FOO=BAR
...

-> success
UTF7
"FOO=BAR" | Out-File -FilePath .\env.list -Encoding utf7
.\docker-1.13.0-dev.exe run --env-file env.list --rm microsoft/windowsservercore cmd /c set
...

-> failure - no FOO variable
UTF32
"FOO=BAR" | Out-File -FilePath .\env.list -Encoding utf32
C:\Users\matt\Downloads\docker-1.13.0-dev.exe: env file env.list contains invalid utf8 bytes at line 1: [255 254 0 0 70 0 0 0 79 0 0 0 79 0 0 0 61 0 0 0 66 0 0 0 65 0 0 0 82 0 0 0 13 0 0 0].
See 'C:\Users\matt\Downloads\docker-1.13.0-dev.exe run --help'.

-> Success, i think?
ASCII
"FOO=BAR" | Out-File -FilePath .\env.list -Encoding ascii
.\docker-1.13.0-dev.exe run --env-file env.list --rm microsoft/windowsservercore cmd /c set
...
FOO=BAR
...

-> success
OEM
"FOO=BAR" | Out-File -FilePath .\env.list -Encoding oem
.\docker-1.13.0-dev.exe run --env-file env.list --rm microsoft/windowsservercore cmd /c set
...
FOO=BAR
...

-> success

@matt-richardson
For UNICODE and UNICODE BigEndian: In Windows UNICODE is UTF16 and UNICODE BigEndian is UTF16BE so they are expected behavior.
For UTF7: UTF7 is technically a subset of ASCII and will encode FOO=BAR into FOO+AD0-BAR. Since there is no =, FOO+AD0-BAR will be considered as an empty env variable. This is consistent with Linux:
ubuntu@ubuntu:~/docker$ docker run -e "FOO+AD0-BAR" -e "NOFOO" -e "BAR=FOO" busybox env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=18437d11ffb0
BAR=FOO
HOME=/root

If  FOO+AD0-BAR is appended with = then env variable will show up:
ubuntu@ubuntu:~/docker$ docker run -e "FOO+AD0-BAR=FOOBAR" -e "NOFOO" -e "BAR=FOO" busybox env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=72ce28e8f9a5
FOO+AD0-BAR=FOOBAR
BAR=FOO
HOME=/root

Design LGTM

CI failure looks like an unrelated blip. Restarted.
LGTM if green this time

@jhowardmsft I rebased the PR again and all tests passed. Please take a look and let me know if there are any issues.

LGTM

Thanks everyone for helping!

Unicode (UTF16?)
"FOO=BAR" | Out-File -FilePath .\env.list -Encoding unicode
C:\Users\matt\Downloads\docker-1.13.0-dev.exe: env file env.list contains invalid utf8 bytes at line 1: [255 254 0 0 70 0 0 0 79 0 0 0 79 0 0 0 61 0 0 0 66 0 0 0 65 0 0 0 82 0 0 0 13 0 0 0].
See 'C:\Users\matt\Downloads\docker-1.13.0-dev.exe run --help'.

-> Success, i think?
BigEndianUnicode
"FOO=BAR" | Out-File -FilePath .\env.list -Encoding bigendianunicode
C:\Users\matt\Downloads\docker-1.13.0-dev.exe: env file env.list contains invalid utf8 bytes at line 1: [255 254 0 0 70 0 0 0 79 0 0 0 79 0 0 0 61 0 0 0 66 0 0 0 65 0 0 0 82 0 0 0 13 0 0 0].
See 'C:\Users\matt\Downloads\docker-1.13.0-dev.exe run --help'.

-> Success, i think?
UTF8
"FOO=BAR" | Out-File -FilePath .\env.list -Encoding utf8
.\docker-1.13.0-dev.exe run --env-file env.list --rm microsoft/windowsservercore cmd /c set
...
FOO=BAR
...

-> success
UTF7
"FOO=BAR" | Out-File -FilePath .\env.list -Encoding utf7
.\docker-1.13.0-dev.exe run --env-file env.list --rm microsoft/windowsservercore cmd /c set
...

-> failure - no FOO variable
UTF32
"FOO=BAR" | Out-File -FilePath .\env.list -Encoding utf32
C:\Users\matt\Downloads\docker-1.13.0-dev.exe: env file env.list contains invalid utf8 bytes at line 1: [255 254 0 0 70 0 0 0 79 0 0 0 79 0 0 0 61 0 0 0 66 0 0 0 65 0 0 0 82 0 0 0 13 0 0 0].
See 'C:\Users\matt\Downloads\docker-1.13.0-dev.exe run --help'.

-> Success, i think?
ASCII
"FOO=BAR" | Out-File -FilePath .\env.list -Encoding ascii
.\docker-1.13.0-dev.exe run --env-file env.list --rm microsoft/windowsservercore cmd /c set
...
FOO=BAR
...

-> success
OEM
"FOO=BAR" | Out-File -FilePath .\env.list -Encoding oem
.\docker-1.13.0-dev.exe run --env-file env.list --rm microsoft/windowsservercore cmd /c set
...
FOO=BAR
...

-> success

This working correctly in my windows based PC


Move libriscv_settings.h to another folder

Perhaps it could be moved to src

Do you still want a pr for this?

Yes, I think de-cluttering the root folder is nice!

Fixed here: https://github.com/libriscv/godot-sandbox/pull/107/commits/f5b0133739dd77669cacb2bcfaab129d1ed3fdeb


chore(ssa refactor): Add simple constant return program

Description
Related to #1418

Problem*

Resolves
Summary*

This PR sets out to
Example

Before:

After:

Documentation

[ ] This PR requires documentation updates when merged.

[ ] I will submit a noir-lang/docs PR.

[ ] I will request for and support Dev Rel's help in documenting this PR.

Additional Context

PR Checklist*

[ ] I have tested the changes locally.
[ ] I have formatted the changes with Prettier and/or cargo fmt on default settings.

Approved, but shouldn't the test fail for this?

Approved, but shouldn't the test fail for this?

This branches off of m0 so it should pass now -- m0 was failing because of a clippy error