feat: Include scanner output in Issue body

@mmcgehee-ccc
This is still a bit of a work in progress, but it is working:

It includes the reports in the issue body
It will update the issue with the latest report on a rerun

Todo:

Decide if we want to change the Slack message.
Maybe change to link to the Issues?
Add links to the issue?

@jwatson-ccc
If the govulncheck or trivy job fails to run (e.g., trivy job fails to run due to docker build failure), then an issue will not be created/updated for the failure. However, I think this is acceptable since a Slack alert will still occur to notify us of the problem. Do you agree?

@jwatson-ccc
If the govulncheck or trivy job fails to run (e.g., trivy job fails to run due to docker build failure), then an issue will not be created/updated for the failure. However, I think this is acceptable since a Slack alert will still occur to notify us of the problem. Do you agree?

It looks to me that the only reason the issue creation would fail is because $FILE_PATH would be pointing to a non-existent file.
Are you seeing something more?

@jwatson-ccc
I was seeing the create_issues job fail at the actions/download-artifact@v2 step since no artifact named 'trivy' exists if the Build docker image step fails.

@jwatson-ccc @zredinger-ccc
The latest batch of updates for this are complete and ready for review. The Slack message now also includes links to the relevant issues (see the ccc-dev-test Slack channel).

@mmcgehee-ccc
I made the following changes:

Removed matching on the title
Used the most recent issue if multiple issues are found
Preserve the existing Title when updating an issue.

I looked over your changes and ran some tests. Everything looks good, so I will put the review back in your court since this is my PR, and I can not approve it.


Old local styles coming from cache when importing styles from node_modules

I have created reproduce steps to this repository
Overview
The problem is that when I make changes to the sass-file the changes are not in the bundle when I run the build process again.
Possible cause
I have a TSX entry file that imports styles
require('es6-promise').polyfill()
require('babel-polyfill')

import * as React from 'react'

require('./styles/index.scss')
import 'leaflet/dist/leaflet.css'

If I make changes to the index.scss file and re-build everything. I get old styles.
Everything works correctly if I remove the last line import 'leaflet/dist/leaflet.css'.

@ttamminen I investigated the issue. It turns out there is no way for SassPlugin to pick up the changes unless it's actually watched .watch()  as it gives the latest changed file. When launching fuse.js with cache : true there is this issue, indeed. When creating a build, you can just disable cache and everything will work as expected. Moreover, it's working with HMR without any problems.

FuseBox v4 Major Upgrade
As of today, the latest major version of FuseBox v4 is available in fuse-box@next. FuseBox has undergone a full re-write from scratch, learning from its mistakes in the previous versions.
There are a lot of improvements, speed and config wise.
Get started here
We are still working on the documentation and polishing before the major release. We are getting very close. And we need help testing.
npm install fuse-box@next

Most of the issues that I am closing have been resolved, however, if you find that your issue is still relevant in v4 don't hesitate to re-open or (better) create a new one with v4 configuration.


add sort as option for edit

Type: Feature Request
It can help to sort blocks of lines alphabetically so that the lines are in a canonical form.
VS Code version: Code 1.81.0 (6445d93c81ebe42c4cbd7a60712e0b17d9463e97, 2023-08-02T12:37:13.485Z)
OS version: Windows_NT x64 10.0.19045
Modes:
Remote OS version: Linux x64 3.10.0-1160.80.1.el7.x86_64

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.81.1. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

We try to keep VS Code lean and we think the functionality you're asking for is great for a VS Code extension. Maybe you can already find one that suits you in the VS Code Marketplace. Just in case, in a few simple steps you can get started writing your own extension. See also our issue reporting guidelines.
Happy Coding!


Syncing does not properly upload all images

Just for reference:
https://github.com/remotestorage/remotestorage.js/issues/1187
https://github.com/HerrZatacke/gb-printer-web/blob/173c9b59bb4be5d3ac2a1f8d833f7b2207e61b94/src/javascript/tools/remotestorage/index.js#L1

With Dropbox and GitHub storage implemented, this is no longer necessary


Fix sync validation -> _error should trigger a form level error prop

Hey @erikras
I noticed when running sync validation in the below example
const FormComponent = ({error}) => {
    console.log(error) // undefined
    return (
        <form>
        ...form fields
        </form>
    )
}

reduxForm({
    name: 'myForm',
    validate => ({ _error: 'the form is bad' })
})(FormComponent)

The error prop will always come in to the form as undefined. When I took a look a the reducer, the STOP_SUBMIT and STOP_ASYNC_VALIDATION action handlers both assign the _error key to the error key in the form's state, but the UPDATE_SYNC_ERRORS action handler didn't.
This pull request updates UPDATE_SYNC_ERRORS to process the _error key just like the other action handlers.
The other two changes are small, updating the STOP_SUBMIT and STOP_ASYNC_VALIDATION action handlers to delete the form level error key from the state if _error isn't in the error payload, but other field errors exist.
Please let me know if you have any questions.
Thanks for all your hard work on redux-form!

Closing this because it got overlooked and implemented separately in #1560.


Provide a Glossary tooltip for CustomResourceDefinition page

This is a Feature Request
What would you like to be added
Link Glossary entry on  CustomResourceDefinition page.
Why is this needed
CustomResourceDefinition page doesn't have a clear information of what actually it means. as we already have a Glossary entry for this and also i don't see anywhere we are referring this Glossary. it would be beneficial for readers to provide Glossary tool tip.
Comments
Page to update: https://kubernetes.io/docs/reference/kubernetes-api/extend-resources/custom-resource-definition-v1/

/sig docs
/language en

Looks like the reference page for CustomResourceDefinition is automatically generated.
If we decided should to pursue this then changes might be needed either in the generator code or the API definition that the generator uses as its input.

In https://github.com/kubernetes/website/issues/38682 I suggested part of a mechanism that could help. However, we did not have enough volunteers to staff the improvement.

Should we do this just for CustomResourceDefinition? (My opinion: no, we should focus on https://github.com/kubernetes/website/issues/25505)
/priority awaiting-more-evidence

My opinion: no, we should focus on #25505

Agree with this.


Question: How do you import type TreeProps?

Are you reporting a bug, or opening a feature request?
TypeScript question
What is the actual behavior/output?
Importing type throws error:

I ended up having to import the type with:
import { TreeProps } from 'react-d3-tree/lib/types/Tree/types'

What is the behavior/output you expect?
Importing type should work:
import type { TreeProps } from 'react-d3-tree'

Can you consistently reproduce the issue/create a reproduction case (e.g. on https://codesandbox.io)?
<EMAIL_ADDRESS>What version of react-d3-tree are you using?
3.5.0
If react-d3-tree crashed with a traceback, please paste the full traceback below.
N/A

@remarkablemark
try to import like this :arrow_down_small:
import { TreeProps } from 'react-d3-tree/lib/Tree/types';

@remarkablemark
try to import like this :arrow_down_small:
import { TreeProps } from 'react-d3-tree/lib/Tree/types';

Thanks @Devamchaudhari!

Thanks @Devamchaudhari!

Welcome @remarkablemark  :smile:


Error creating new registration

When creating a new certificate, I get the following error with the current released binaries:
acme: Error 500 - urn:acme:error:serverInternal - Error creating new registration
My command is lego<EMAIL_ADDRESS>--domains=gmbuell.com run
This command works successfully if run against the staging servers.

Did you run the command against staging or against live first?

Ah, I had some cached data in my docker volume. Sorry about that. Closing.


Console colors are completely broken after sdm run

I use Konsole and colors are not restored after run (right sub-window shows original console colors)

Thanks for trying sdm. Sorry to hear that you're having an issue.
Unfortunately, the problem you are seeing with konsole appears to be due to a deficiency in the konsole terminal emulator. From my testing, konsole returns the correct FG and BG colors, but does not return the cursor color. Further, when sdm presents the appropriate colors to konsole for restoring, they are not honored.
This code works correctly when using the xterm terminal emulator and others, which properly and completely honor the color escape sequences.
To avoid this unpleasant mis-colorization sdm will be updated to enable the console colorizing to be disabled using a specific  setting (--mcolors 0). In this case sdm will not modify the terminal colors and they will remain at whatever they are prior to running sdm.
Addenda: Curiously, the following bash function (which you can add to your .bashrc if desired) does work on konsole. But this is the same code that sdm uses, and I've verified that sdm is doing the right thing. I don't understand why it works with this function and not in sdm, but the above workaround will be implemented in lieu of spending time chasing down the root cause, which is likely to be some konsole oddity.
function xtset() {
    #
    # set xterm color. can specify 3 sets of pairs (e.g., fg yellow bg black cursor red)
    # $1=fg|bg|cursor
    # $2=color to set
    # if 'xtset reset' is used, the terminal colors are reset to white bg and black fg
    # Colors are listed in /etc/X11/rgb.txt (or /usr/share/X11/rgb.txt)
    #
    function xtsetx() {
        case "$1" in
            fg) printf "\e]10;${2}\a"
                ;;
            bg) printf "\e]11;${2}\a"
                ;;
            cur*) printf "\e]12;${2}\a"
                  ;;
            *) echo "Usage: xtset fg|bg|cur*sor color..."
               ;;
        esac
    }
    [ "$1" == "reset" ] && xtsetx fg black && xtsetx bg white && return
    [ "$1" != "" ] && xtsetx "$1" "$2"
    [ "$3" != "" ] && xtsetx "$3" "$4"
    [ "$5" != "" ] && xtsetx "$5" "$6"
} ; declare -fx xtset

Thanks. A switch to disable colorizing completely would be a good solution. Personally I use the sdm in an image building script for CI, so colors have no sense there.

Thanks. A switch to disable colorizing completely would be a good solution. Personally I use the sdm in an image building script for CI, so colors have no sense there.

Are you using the --batch switch on your customize command? sdm won't colorize the terminal and operates non-interactively to completion.

Yes, i use --batch but sdm uses colors anyway.

Could you provide the (appropriately redacted) command string that you are using? It shouldn't be coloring with --batch.
Thx

Yes, I added --batch later. I rechecked with unmodified sdm (I disabled color changing in the code before) — you are right, with --batch background color is changed to blue during of phase 1 but restored successfully.

OK. --batch should preclude the color from changing at all. I've modified the code in sdm to honor --batch so it won't change at all.
This will be in the next update to sdm later this week.

--ecolors 0 and --mcolors 0 added in V12.3. Please test/verify. Thx

No activity so closing issue.


Bugs with Translations of Admin UI

Bug while changing languages at CrateDB-Help-page
When changing the language at the CrateDB-Help page only one part of the description changes. When changing to another menu and opening the help-menu again, the entire text shows up in the right language. Tested with changing between English, German and Spanish.

Fix typo on German CrateDB-Help-page
Change marked sentence to: "Allerdings können in einer Produktionsumgebung bis zu mehrere tausend Datensätze pro Sekunde indiziert werden."

copy from Impediment board

Hi Georg,
thanks for reporting this.

When changing the language at the CrateDB-Help page only one part of the description changes. When changing to another menu and opening the help-menu again, the entire text shows up in the right language.

I believe this has been fixed with one of my recent improvements to the translation subsystem.
Regarding your feedback about wording on the help page attaching to the Twitter import example, I believe they are obsolete because this example has been removed already.
With kind regards,
Andreas.


Implement findCollections command

Is there any spec for this one? I guess this should return only the valid jsonapi collections, right?

Yes, collections from the provided namespace. There is no spec for it yet.

@maheshrajamani How important is this? I can take, but not sure I can finish it today.. Let me try..

Spec updated in PR https://github.com/stargate/jsonapi/pull/334.  Need +1 approval to merge. cc:  @maheshrajamani


Support upto 4D array as REST input payload.

closes #5

@pvaneck Please take a look !

Thanks @ScrapCodes , I will test this out soon. Currently having issues with my workstation I need to resolve. I'm not entirely sure why the lint job is suddenly failing with that Running error: context loading failed: no go files to analyze error. That will need to be looked into.
@njhill Would be great to have your eyes on this, too. :)

@pvaneck and @njhill thanks for taking a look, I have sent another PR to fix the CI. #7

Thanks @ScrapCodes. I think there should be a way we can streamline this and support arbitrary dimensions without having to deal with them as separate cases. I updated some experiments I was making before and can push that to a different branch to illustrate.
W.r.t. to test cases, I think we want to just have a set of raw json request payload examples along with the expected protobuf equivalent, and a bunch of raw protobuf response payload examples along with the expected REST equivalent. Just testing more cases end-to-end would be more valuable and simpler imo for this than more granular tests.

@ScrapCodes @pvaneck here's my proposed approach: https://github.com/kserve/rest-proxy/compare/main...njhill:dimensions?expand=1. It does not yet handle string / BYTES values though - I think there's some ambiguity in the spec around how BYTES values should/can be represented within the data array(s) so needs a bit more investigation.

Thanks @njhill, tests are not exactly as you had asked. Please take a look!
For handling BYTES in json, are you considering base64 encoding?

Thanks @ScrapCodes the tests are going in the right direction but I would suggest the following:

Start with full REST request payload rather than just individual tensors, and test using the CustomJSONPb.NewDecoder func:

out = &gw.ModelInferRequest{}
err := CustomJsonPb{}.NewDecoder(...).Decode(out)
// verify contents of out

No need to duplicate the verification logic in separate functions, just put the jsons in an array and have the test func iterate over that to test each
No need to diff individual fields of the target protobuf struct, can just compare the entire struct
We should also test the response path in a similar way, i.e. CustomJSONPb.Marshal

For BYTES as mentioned I think the spec is currently ambiguous (to me at least). For example if strings are used then how should the encoding be determined. Also it's not clear how the byte lengths should be encoded when flattening. One option is to say that they must all be the same length and add a dimension to the shape for this. If their lengths can vary however then something extra is needed, like a corresponding integer tensor to hold them.
Previously I looked into how MLServer handles these kinds of inputs for some clues but do not recall the details now. Maybe you could look into that?

@ScrapCodes @pvaneck any thoughts/update on this? We should aim to get it in for the release right?

@njhill Yep, this should definitely be in the next release. I believe @ScrapCodes is currently finalizing the tests, then we can hopefully get this merged in. I think BYTES can be handled in a separate PR. I remember looking at some of MLServer's BYTES string tests  and base64 tests before, but yea, this needs some more investigation for how we should handle it here.

@njhill thanks for taking a look, hope this is close to what we expect. Code looks cleaner and should perform faster thanks to you.

Thanks @pvaneck, I opened an issue https://github.com/kserve/rest-proxy/issues/8 for this.
Also I noticed that the files in this repo don't have the apache license/copyright headers, do you know if these are needed?

@njhill Ah, yea, they should be added. I can do that real quick.


Facilitate building on Windows

Updates to facilitate building on Windows systems, via for instance
Git Bash.

fix: Changed use of TMPDIR to TEMPDIR in flatbuffers download.
Variable TMPDIR have special meaning in mktemp, and if set in
the environment it will be used as template for the second call
to mktemp. As the temporary directory is removed before the
second call it would fail if TMPDIR was present in the
environment.
Added download of the Windows version of GNU Arm Embedded Toolchain.
In the cortex_m target files, do not download the GNU Arm Embedded
Toolchain if a TARGET_TOOLCHAIN_ROOT is set.

Signed-off-by: Jonas Ohlsson<EMAIL_ADDRESS>This is fixing: https://github.com/tensorflow/tensorflow/issues/49142

Done!


git log no longer returns full history in post build script

Before opening, please confirm:

[X] I have checked to see if my question is addressed in the FAQ.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

App Id
d32esl1el8cxwx
AWS Region
us-east-2
Amplify Hosting feature
Frontend builds, Git providers
Describe the bug
We have a script that runs after the FE build is complete to generate a version number that will be used for the application.
A component of this version number is based on the number of commits and uses the following command:
'git log --oneline | wc -l'
This has been working for years but suddenly stopped working. Based on our recent releases it seems that this stopped working somewhere between 10/17 and 10/19.
Instead of returning the correct number of commits, it is always returning 1. "git log" only show the current commit and nothing prior.
Expected behavior
It is expected that 'git log --oneline | wc -l' continue to return the number of commits as it had been prior to 10/19.
Reproduction steps
Create a script that runs the command  'git log --oneline | wc -l'
Ensure there are more than 1 commits on the deployed branch
print out the result of the above command.
Build Settings
No response
Log output
Below is a snippet of the build log from 10/17 that shows the version number .
# Put your logs below this line
2022-10-18T01:21:01.901Z [INFO]: Update version number:  871.37c23db0

And below is a snippet of the build log from 10/19 that shows the incorrect version
2022-10-20T01:38:14.414Z [INFO]: Update version number:  1.7bc9c72
Additional information
No response

Hi @mgalanos , thank you for reaching out. All the details are very much appreciated as it helps us understand your use case. We are indeed making improvements to our build service in the interest of making builds faster, and one of the recent changes was to limit the depth of the git clone so that we don't spend time pulling old code unnecessarily. I'm sorry this affected the way you generate a version number for your application. Have you considered using the commit ID as version number instead? Or perhaps doing a git fetch origin yourself within your buildspec commands?

@calavera @ferdingler Thank you for the quick and detailed reply! I have been able to get this working again based on your input.


⬆<EMAIL_ADDRESS>

The new version of coffeestack contains a new version of fs-plus, which at the same time fixes the following deprecation warnings on Node v10 (electron v3):
The 'lstatSyncNoException' function has been deprecated and marked for removal.

I forgot to mention in the description, but coffeestack is a transitive dependency (jasmine-node is the package depending on it), so I had to remove the coffeestack entry in the package-lock to make npm upgrade its version and recreate the package-lock entry.


Error "dotnet run --configuration Release --no-build --project Tailspin.SpaceGame.Web"

Hi all,
I am working on the Microsoft course "creat a build pipeline".
The Exercise "Build and run the web application" in the chapter  "Get the sample application" does not provide the expected results.
I was able to run the following command "dotnet build -- configuration Release" (0 warnings; 0 errors), however I receive an error on the next step:
UCHHAR@LT2753 MINGW64 ~/mslearn-tailspin-spacegame-web/Tailspin.SpaceGame.Web (master)
$ dotnet run --configuration Release --no-build --project Tailspin.SpaceGame.Web
'Tailspin.SpaceGame.Web' is not a valid project file.
I really hope you can help me, since I do not seem to find the answer on Google and am not very familiair with Visual Studio Code or Bash.
Thanks in advance.

Same issue here. Dotnet Build seems to proceed correctly. But when launching Dotnet Run, the same error as mentioned above occurs for me.
Please advise. Thank you!

I'm sorry that we haven't responded to this issue. I'm closing it since the issue is older and I haven't been able to reproduce it for myself. But please feel free to reopen if this issue continues for anyone!

Correct command....
PS C:\azure\Devi_NET_WorkShop\AzureAppDevWorkshops\Azure App Service> dotnet run --configuration Release --no-build --project Tailspin.SpaceGame.Web


Non-well-formed XHTML due to unescaped brackets

Looks like brackets that are not part of XHTML tags are not being escaped as entities.
Markdown input:
3. For every triple <s p o>, M(<s, p, o>)= <M(s), M(p), M(o)>;

becomes non-well-formed XHTML:

For every triple <s p o>, M(<s, p, o>)= <M(s), M(p), M(o)>;

where well-formed XHTML should be using entity-escaping instead:

For every triple <s p o>, M(<s, p, o>)= <M(s), M(p), M(o)>;

Or should I have the escaped entities already in Markdown input? 🤔

Or should I have the escaped entities already in Markdown input? 🤔

That is the correct answer.
Check out what other parsers do, including common mark: https://babelmark.github.io/?text=3.+For+every+triple+<s+p+o>%2C+M(<s%2C+p%2C+o>)%3D+<M(s)%2C+M(p)%2C+M(o)>%3B
We'll even enter it here in GitHub and see what it gives us:

For every triple , M(<s, p, o>)= <M(s), M(p), M(o)>;


Incorrect signal handling when removing an AnimationLibrary from an AnimationPlayer

Godot version
504708ae21b9722ddbf33a2d557a6a9ed0d70855
System information
Windows 10, but not related to OS or hardware
Issue description
When removing an AnimationLibrary from an AnimationPlayer via AnimationPlayer::remove_animation_library, AnimationPlayer::_unref_anim() is called for all animations:
https://github.com/godotengine/godot/blob/master/scene/animation/animation_player.cpp#L1379
AnimationPlayer::_unref_anim() disconnects the player from the animation for signal tracks_changed.
https://github.com/godotengine/godot/blob/master/scene/animation/animation_player.cpp#L1394
However, the player is never actually connected to the animation in the first place. Supposedly, AnimationPlayer::_ref_anim() should be used to do that. However, that method is never called anywhere.
Thus, when calling AnimationPlayer::remove_animation_library(), the call to disconnect() fails for each animation in the library, as the connection was never setup.
E 0:00:01:0100   _ready: Attempt to disconnect a nonexistent connection from '[Animation:-9223372012779470470]'. Signal: 'tracks_changed', callable: 'AnimationPlayer::_animation_changed'.
  <C++ Error>    Condition "signal_is_valid" is true.
  <C++ Source>   core\object\object.cpp:1408 @ Object::_disconnect()
  <Stack Trace>  animation-unref-failure.gd:7 @ _ready()

Steps to reproduce

Open the provided reproduction project below with the Godot editor compiled from the SHA for this issue.
Run the animation_unref_failure.tscn Scene
Observe the error in the debugger log.

E 0:00:01:0100   _ready: Attempt to disconnect a nonexistent connection from '[Animation:-9223372012779470470]'. Signal: 'tracks_changed', callable: 'AnimationPlayer::_animation_changed'.
  <C++ Error>    Condition "signal_is_valid" is true.
  <C++ Source>   core\object\object.cpp:1408 @ Object::_disconnect()
  <Stack Trace>  animation-unref-failure.gd:7 @ _ready()

Minimal reproduction project
animation_unref_failure.zip

Can confirm this issue. Working on the finite state machine in the godot-project-demos for making it ready for 4.0 and I'm having the same errors.


Remove IOptions from CORS

https://github.com/aspnet/Options/issues/122
Are we happy with this Options ctor pattern?  If so I will apply these across the board.  And do something similar for the middlewares which depend on Options as well (add overload)
    public CorsOptions() : this(null) { }
    public CorsOptions(IEnumerable<IConfigureOptions<CorsOptions>> configureOptions)

cc @divega @davidfowl @lodejard

+1 to make the change across the board
Should the default ctor be used for the defaults, and the enumerable ctor assume the enumerable must not be null? In other words - change which ctor calls the other one?
public class CorsOptions
{
  public CorsOptions()
  {
    this.MyProperty = "the default";
  }
  public CorsOptions(IEnumerable<IConfigureOptions<CorsOptions>> configs) : this()
  {
    foreach(var config in configs) config.Configure(this);
  }
}

What would the middleware ctor overload look like then... Similar to this?
public class CorsMiddleware
{
  public CorsMiddleware(RequestDelegate next) : this(next, new CorsOptions())
  {
  }
  public CorsMiddleware(RequestDelegate next, CorsOptions options)
  {
    _next = next;
    _options = options;
  }
}

Yep I like your suggestion.  Options the default ctor is the main one (with the IEnumerable overload calling this()).  While its the longer with Options ctor that's the main ctor for middleware.
I'll update a repo with a middleware so we can see what that looks like sa well.

See for an example of a middleware only repo
https://github.com/aspnet/Diagnostics/pull/254

If we are more or less happy here, I'll update Security and MVC as the final test to make sure we didn't miss anything before pushing this out

:goberserk: as far as I'm concerned. who else do you think needs to weight in on green-lighting the entire change?

@davidfowl @divega are you guys happy?  I'll fire off a PR in the MVC repo as well to make sure they get a chance to see this trainwreck coming...

:boom:  :steam_locomotive: :train: :train: :train: :see_no_evil:

I am fine with this.

Very nice. Can we try this pattern with a few 3rd party DI systems? Would be good to add this to our spec tests

@davidfowl Isn't this ctor pattern already covered by this test?
https://github.com/aspnet/DependencyInjection/blob/dev/src/Microsoft.Extensions.DependencyInjection.Specification.Tests/DependencyInjectionSpecificationTests.cs#L590

Is there any DI systems other than our own and Autfac that actually run against those specification tests?


@BeforeSuite and @BeforeFeature hooks ran before context __construct()

Hi,
I am new to Behat and I was messing around with some Contexts today.
I wanted to __construct() a context and pass in some parameters from my behat.yml, then do something with those parameters in a method that was to be run @BeforeSuite.
I kept getting errors, because my constructor wasn't being run. Turns out, tagging a method with @BeforeSuite, or @BeforeFeature will cause it to be run before the constructor.
For example:
public function __construct()
    {
        echo "Third";
    }

    /** @BeforeSuite */
    public static function first()
    {
        echo "First";
    }

    /** @BeforeFeature */
    public static function second()
    {
        echo "Second";
    }

    /** @BeforeScenario */
    public static function fourth()
    {
        echo "Fourth";
    }

These functions will be run in the order of what their echo says. Furthermore, I can't tag a __construct() with a hook, because it's not a static method.
The solution would be to have a parent class with the construct and use the arguments in child classes, where they can be tagged with any hook.
Is this intentional, or should we look into it?

The Context is re-instantiated for each Scenario - this is why everything up to beforeScenario must be static

I see. So that's why the constructor is ran after the @BeforeSuite and @BeforeFeature hooks.
And this also means that everything that happens after the Scenario hooks, including that, doesn't have to be static.
Thanks!


Added CSVs for up to 100 of the top songs (per genius.com) of Eminem & xxxtentacon

Great Work! Although I have one concern. The repo is directly linked to the blog and there is a chance others might want to clone the repo as well. So it would be confusing to directly put a WIP code to display as we'll be changing the distribution of the dataset.
Do you mind making changes in a separate file and then commit as a separate notebook? Once you get satisfactory results on the test data or random data, we will then merge /replace the files. Thank you!
P.S. thanks for reminding me about the license I will do it asap.

Thank you! This is my first venture into ML for NLP.
I didn't mean the add the notebook. I need to get better at Git.
So far I haven't got good results, dispite throwing a better model & more data at the problum. I'll LMK when/if I do.

Created 2nd pull. Had issues adding a commit. Git is hard haha


Fix BVH physics project setting

Move the GLOBAL_DEF for the godot_physics/use_bvh to occur before GLOBAL_GET.
This prevents a warning occurring and the selection not being used.
Notes

Curious that this did not occur during development, it may be that flipping the default value just before merging made it exhibit.
It is interesting that the other physics GLOBAL_DEFs are able to be done in World. They must not be required during the server construction, the use_bvh being a special case.

Fixes #45142

Thanks!

Thanks!


Dummy class for win32

Added the DummyFore class that is initiated when the program detects that the platform is 'win32'.

@Olimooseman Here it is.

Great! It's merged now!


feat: add folder function

For clarity added a AddFolder() function.
Ref.: https://github.com/celestiaorg/knuu/issues/55

Overview

Checklist

[ ] New and updated code has appropriate documentation
[ ] New and updated code has new and/or updated testing
[ ] Required CI checks are passing
[ ] Visual proof for any user facing features like CLI or documentation updates
[ ] Linked issues closed with keywords

if I understand this one correctly, is to mount/copy local files to the container, isn't it?

if I understand this one correctly, is to mount/copy local files to the container, isn't it?

Yes, to add files to an instance it will add those via ADD in the Dockerfile.


Apple M1 can't open usb serial adapter. Error is "Invalid Serial Port"

When scanning (then opening the port)
Found port: /dev/cu.Bluetooth-Incoming-Port
Found port: /dev/cu.usbmodemUSB35INCHIPSV21
   USB ID     1A86:5722
   USB serial USB35INCHIPSV2
2022/02/05 01:35:16 Opening /dev/tty.usbmodemUSB35INCHIPSV21
2022/02/05 01:35:16 Invalid serial port

System Details:
Apple Macbook Pro (M1 Max)
USB "Turing Smart Screen"
go version go1.17.6 darwin/arm64
I was having problems writing to this device natively on python and pyserial (but worked via an arm win 11 vm)
and was hoping go would have a better chance at working.
I'm rather confused at the error.

I'm going to close this issue.
It seems after some investigation that the issue can only be with the USB35INCHIPSV2 software CDC-Serial device, as it doesn't like its serial speed changing, and upsets linux's usb stack after the port is closed.
So much so that the VM has to be powered off and restarted!
Of course, it plays nicely with windows and their own software!


Can't add Power Bi reports

In BC on-prem , When I clicked on, 'Get started with Power BI Reports' the wizard  came up . It asked me Azure Active directory permissions. All the permissions given but ,  can not finish the  wizard.
(can not add the screen shot)

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 0ff0aa19-50aa-c461-cd97-4be8fbe4e393
Version Independent ID: f72d929a-7fea-246f-8b2e-4f3b14c5c92d
Content: User Authentication with Azure AD for Single Sign-on - Business Central
Content Source: dev-itpro/administration/authenticating-users-with-azure-active-directory.md
Service: dynamics365-business-central
GitHub Login: @jswymer
Microsoft Alias: solsen

Hello, please contact your usual support channel for this question. This repo is used for documentation issues and bugs. Thanks.


REFER Membership

can you remove  Token Symbol.jpg and this should be good to go

Hey Viktor,
I noticed the last token image uploaded to Trust Wallet wasn't centered. My
fault, didn't have the right sized image according to your walkthrough.
I just reuploaded a better image to GitHub. Does this one work?
Thanks,
Brian
Sent on the go!
Brian Daley
Founder @Smartrefer
647-207-1122
Toronto, Canada
On Mon, Apr 9, 2018, 5:30 PM Viktor Radchenko<EMAIL_ADDRESS>wrote:

can you remove Token Symbol.jpg and this should be good to go
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/TrustWallet/tokens/pull/82#issuecomment-379900193,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AfamdtzSVdyYVeppaxEBar2Ywq5i1si9ks5tm9LpgaJpZM4TNP9m
.

yeah, just re upload it in the new PR, which ever option works for you

Great, thanks Viktor!
Brian Daley
Founder @ SmartRefer
Toronto, Canada
(647) 207-1122 <(647)%20207-1122>
On Mon, Apr 9, 2018 at 5:46 PM, Viktor Radchenko<EMAIL_ADDRESS>wrote:

Merged #82 https://github.com/TrustWallet/tokens/pull/82.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/TrustWallet/tokens/pull/82#event-1564866301, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AfamdrFj8zPHIM8c_LUfQ-4_xbosouhzks5tm9bCgaJpZM4TNP9m
.


Revert to using sub-processes

the current running process cannot reliably report the state of the
bundler config file when it's changed on disk (cfr. git.io/vnclk)
Closes #4003.

👍🏻


Removing extraneous Executor from BigtableSession.

Also

making the initial shared executor creation into an async process.
Using the non-deprecated constructor for BigtableSession in TestBigtableSession.

LGTM


fix giphy bug

bug: when you research a phrase (ex. cat => dog) wiki will update but giphy will just input new results at the bottom of the other results

I have a fix for this that will be uploaded with the localstorage branch.


Add zach.fetters.me

https://zach.fetters.me/ is 45.6 KB according to Yellow Lab Tools

Welcome to the 250kB Club. I add your page separately due to merge conflicts (and laziness).


Strange title with custom options and without name

Hi,
Using custom options and without name, header of the text version of email is like that :
Body: hermes.Body{
	Greeting:  "Bonjour",

Bonjour ,,

HTML version seems correctly formatted.

Use "Title" instead of greetings to override Greetings+Name

Thanks


Error after updating to 1.4.103

Error:
In 'OnFrame': Modules/CalcOffence-3_0.lua:184: attempt to index global 'mod' (a nil value)
stack traceback:
Modules/CalcOffence-3_0.lua:184: in function <Modules/CalcOffence-3_0.lua:128> Modules/CalcPerform.lua:934: in function 'perform'
Modules/Calcs.lua:121: in function 'buildOutput'
Classes/CalcsTab.lua:402: in function <Classes/CalcsTab.lua:384>
Modules/Build.lua:551: in function 'CallMode'
Modules/Main.lua:298: in function <Modules/Main.lua:289>
[C]: in function 'PCall'
C:\ProgramData\Path of Building\launch.lua:99: in function <C:\ProgramData\Path of Buildinglaunch.lua:96>
Press Enter/Escape to Dismiss, or F5 to restart the application.

I have this when hovering above the new Spiritual Command node that gives:
Minions deal 15% increased damage
Minions have 4% increased Attack Speed
Minions have 4% increased Cast Speed
Increases and reduction to Minion Attack Speed also affect you
20% increased Minion Accuracy Rating

For me I updated from 1.4.102 to current and got this and now when I restart it gives me this error whenever I try to open one of my builds.  Creating new build doesn't cause it until I hover Spiritual Command node like philippeop said.

Fixed in the next update.


Add a way to subscribe to feature flag changes

Test plan

This has been much more involved than I initially thought. There's still some kind of race condition in there that I don't fully understand. I think I'll refactor the feature flag provider to not mix "undefined" feature flags with the preloaded feature flag object but instead cache them in a different object. 😓  cc @valerybugakov if you have any input

not mix "undefined" feature flags with the preloaded feature flag object but instead cache them in a different object

Yes, please! Based on our recent discussion this part is tricky to reason about. Making it more transparent and robust would be great.

@valerybugakov This is ready for review now, I addressed the point I mentioned above


Composer checker should not use lazy resolver

As from checker implementation:
https://github.com/sveetch/cookiecutter-bireli/blob/2038a1cced810cbc2a208a637d2503e770fcf4e2/{{ cookiecutter.project_name }}/django-apps/project_utils/composer_check.py#L22
It should be False, because further apps listing are expected to be properly ordered after the dependencies and the push end mode.
Firstly wrongly reported in cookiecutter-bireli#13

Fixed in 0.3.3-pre.2


chore: add outline-go-tun2socks, except android

For now we're not copying the Android build over until we figure out what's going on there.
Issues

Getting this and I'm not sure why? Do we care?

# tools/find_tap_name.go

could not import golang.org/x/sys/windows/registry (no required module provides package "golang.org/x/sys/windows/registry")compiler[BrokenImport](https://pkg.go.dev/golang.org/x/tools/internal/typesinternal#BrokenImport)
error while importing golang.org/x/sys/windows/registry: build constraints exclude all Go files in<EMAIL_ADDRESS>
is it because it's also package main?

That's fine for now. Perhaps add a TODO to build windows directly without xgo when on windows.


Allow for describe to return a promise

Do you want to request a feature or report a bug?
Request a feature.
What is the current behavior?
Right now it seems like async functions (or promise-returning functions in general) can only be passed to it and the before*/after* functions for setting up tests.
What is the expected behavior?
It would be nice if describe could also allow for passing an async function for consistency.
 And to do so, I want to use await fs.readdir(path) inside describe to get a list of the fixtures, instead of having to fallback to using fs.readdirSync(path).

I don't think that makes any sense. Describe is just used for grouping, you don't need to use it and most of the time it isn't useful. You can make everything else async which is what is recommended for tests.

Happy to discuss this further, just closing to manage the queue but convince me/us and send a PR and we'll see what happens :)

I agree that it's for grouping, but I think as far as optimal developer experience goes it feels very intuitive to add "group-specific logic" inside of the describe function. And when that logic is async, it also feels intuitive to be able to use the same async-passing API as for all of the other Jest functions that are intermingled with describe.
The most obvious example to me is tests that are generated from the directory structure, usually because of the ease of creating fixtures. For example:
import fs from 'fs'

describe('transforms', () => {
  const dir = resolve(__dirname, 'fixtures')
  const transforms = fs.readdirSync(dir)

  beforeEach(() => {
    synchronousReset()
  })

  for (const transform of transforms) {
    it(transform, () => {
      const testDir = resolve(__dirname, 'fixtures', transform)
      const fn = require(testDir).default
      const input = fs.readFileSync(resolve(testDir, 'input.txt'), 'utf8')
      const output = fs.readFileSync(resolve(testDir, 'output.txt'), 'utf8')
      assert.equal(fn(input), output)
    })
  }
})

In the example, you have a series of fixture folders each with their own input.txt, output.txt and index.js transformer test function. This is a fairly common fixture-oriented testing practice.
Imagine now a developer was going to migrate that to async functions, since they heard that Jest had built-in support for promises so they can speed up their tests by not using the fs.*Sync methods...
It feels very intuitive to do this:
---import fs from 'fs'
+++import fs from 'fs-promise'

---describe('transforms', () => {
+++describe('transforms', async () => {
     const dir = resolve(__dirname, 'fixtures')
---  const transforms = fs.readdirSync(dir)
+++  const transforms = await fs.readdir(dir)

---  beforeEach(() => {
+++  beforeEach(async () => {
---    synchronousReset()
+++    await reset()
     })

     for (const transform of transforms) {
---    it(transform, () => {
+++    it(transform, async () => {
         const testDir = resolve(__dirname, 'fixtures', transform)
         const fn = require(testDir).default
---      const input = fs.readFileSync(resolve(testDir, 'input.txt'), 'utf8')
+++      const input = await fs.readFile(resolve(testDir, 'input.txt'), 'utf8')
---      const output = fs.readFileSync(resolve(testDir, 'output.txt'), 'utf8')
+++      const output = await fs.readFile(resolve(testDir, 'output.txt'), 'utf8')
         assert.equal(fn(input), output)
       })
     }
   })

Resulting in:
import fs from 'fs-promise'

describe('transforms', async () => {
  const dir = resolve(__dirname, 'fixtures')
  const transforms = await fs.readdir(dir)

  beforeEach(async () => {
    await reset()
  })

  for (const transform of transforms) {
    it(transform, async () => {
      const testDir = resolve(__dirname, 'fixtures', transform)
      const fn = require(testDir).default
      const input = await fs.readFile(resolve(testDir, 'input.txt'), 'utf8')
      const output = await fs.readFile(resolve(testDir, 'output.txt'), 'utf8')
      assert.equal(fn(input), output)
    })
  }
})

In that case, the user doesn't need to be aware that describe is "special" because it is run at the very beginning synchronously, and that even though it co-exists with all of the other Jest-related functions, it doesn't act in the same way.
That being said, I don't know the internals of Jest. To me it seems like the reason describe is currently synchronous is purely because "that's how it has always been", but there might be some valid architectural trade-off that makes it that way, which is fair if so. If there isn't anything specifically requiring it to be that way though, it seems like it would be more user-friendly not keep that limitation on it, so that it matches the other functions users are used to.
If you still disagree, I'd be curious how you'd solve my current use case. My case is slightly more complex that the example in that I have nested describe's for fixtures. I'm doing this for: https://github.com/ianstormtaylor/slate/tree/master/test/transforms

I guess put differently what I'm asking for architecturally is for the setup phase to be able to be asynchronous, which I can see might be a big ask. I just think it would be less limiting and end up with a more intuitive interface that way.
It would eliminate problems like https://github.com/facebook/jest/issues/949 potentially too, which I assume was a similar use case, except in the external files setup realm.

You can always have side-effectful setup behavior in beforeEach, like:
let foo;
beforeEach(async () => foo = await bar());

We are hoping to one day rewrite Jasmine and remove it from Jest but that is still pretty far out. If you can submit a PR to add async support to "describe" and hack Jasmine to do that, I'd welcome it.

+1 -- async consistency between describe and it is the best DX. using beforeEach or beforeAll to assign to a variable in the outer closure is sub-optimal.
Basically beforeAll becomes superfluous if you describe supports async and the result is way cleaner code. For example, a common pattern for react + redux apps is to to setup the store ahead of time using beforeAll, but ideally it's done like this:
describe('<MyComponent />', () => {
  const store = configureStore()
  await store.dispatch(loadSomething())

  it('does something', () => {
    //do something with <MyComponent /> and store
  })
})

2 cents

@cpojer can you provide me some quick direction (maybe just a list of relevant file names and functions) to look at to make describe async? Any other pitfalls you're aware of would be much appreciated.

This is inside of jest-jasmine2, inside of the vendor folder directly inside of Jasmine. As we are hoping to move away from Jasmine, feel free to try to rewrite this and send a PR :)

I think it does make sense to let describe callback be async. For example in my code there is no way to use beforeAll to achieve what's here:
for (const [testFolderName, getFactory] of transformToFolderMap) {
    describe(testFolderName, async () => {
        for (const folderName of await readDirectory(path.join(__dirname, testFolderName))) {
            const folder = path.join(path.join(__dirname, testFolderName, folderName));
            if (fs.statSync(folder).isDirectory()) {
                const inputPath = path.join(folder, 'input.tsx');
                const output = await readFile(path.join(folder, 'output.tsx'));
                const result = compile(inputPath, getFactory);
                it(folderName, () => {
                    expect(stripEmptyLines(result)).toEqual(stripEmptyLines(output));
                });
            }
        }
    });
}

Why was this closed?

@flushentitypacket it was mentioned by @cpojer upstream, closed because it's not an actionable thing right now since Jest is built on Jasmine and it would be hard to change, slash not even sure it is the right move. I think that's super said, GitHub doesn't have a great solution for long-lived discussions, so sometimes maintainers need to close issues to maintain sanity :smile:

@ianstormtaylor did you ever find a solution to your use case in the end? I also want to generate tests based on a dynamic list of fixtures, which is obtained async, and I can't think of way to do it. It seems like Jest determines that there are 0 tests in my file by the time I have the async fixture list ready.

I've found a temporary solution for this just yesterday. At the moment I've wrapped my async script in executable and im calling it sync way in my tests:
#!/usr/bin/env node
const myAsyncScript = require('../myAsyncScript')
const args = process.argv.slice(2)

myAsyncScript(...args)
	.then(data => {
		process.stdout.write(JSON.stringify(data))
		process.exit()
	})
	.catch(() => {
		process.exit(1)
	})

index.test.js
import { execFileSync } from 'child_process'
const result = JSON.parse(execFileSync(require.resolve('../scripts/bin/pathToExecutable'), [...args]))

describe('...', () => {
  for (const testCase of result) {
    test(testCase.title, () => {
      // ...
    })
  }
})

This seems like a useful feature, I think the ask is for the TESTS themselves to be defined by an asynchronous process. I have a similar use case where I need to run my Puppeteer tests against a set of different URLs, where the URLs are defined by calling a Google Sheet.

This would be nice, and totally does make sense. There doesn't seem to be a way to asynchronously define the tests themselves at the moment – but if you're loading fixtures, that's exactly what you need to do.
In my case, I want Puppeteer to hit a styleguide page, then define a Jest test for each component in our styleguide that asserts that it visually matches (using jest-image-snapshot). At the moment the only solution is to only have one single giant test case.

See #5673 for a PR. We're not sure if we're gonna pull it in, but it's the closest we've gotten :)

1 For an async describe-callback (to be able to pass async-generated data to the inner tests).

@cpojer Please consider reopening.

Why I want async describes: I'd like to make a call to an API and run several tests on the output instead of making a call to the API for every single test. Is there a way to do this without an async describe?

This would also be helpful for test.each. Unfortunately right now this throws an error:
let data;
beforeAll(async () => {
  data = await makeDataCall(); // returns test cases
});

describe('something', () => {
  test.each(data.cases)(...); // throws "cannot read property of undefined"
});

Alternative workaround: define a testCaseWithAsyncRequirement function like:
function testCaseWithAsyncRequirement(requirementPromise, callback, errorCallback) {
    return async () => {
        let argument;
        try {
            argument = await requirementPromise;
        } catch (error) {
            if (errorCallback !== undefined) {
                errorCallback(error);
            } else {
                console.log('condition not satisfied, skipping test');
                console.error(error);
            }
            return;
        }

        return callback(argument);
    };
}

and then use it in your test case:
const assert = require('assert');
const use = require('./TestUtils').testCaseWithAsyncRequirement;

const myTestObject = {
    getNameOf: async (object) => {
        return Promise.resolve(object.name);
    }
};

describe('myTestObject', () => {

    let testName = 'testName';
    const objectPromise = Promise.resolve({ name: testName });

    describe('getNameOf', () => {

        it('should get name from async object', use(objectPromise, async object => {
            // when:
            const name = await myTestObject.getNameOf(object);

            // then:
            assert.strictEqual(name, testName);
        }));

        it('should skip if promise fails', use(Promise.reject('setup error'), () => {
            assert.fail('this should never happen');
        }));

        it('should use error callback', use(Promise.reject('setup error'), () => {
            assert.fail('this should never happen');
        }, error => console.log(error)));

    })

});

By default, if your test param's promise fails, the test is skipped.
You can rethrow errors in the errorCallback if needed.
Enjoy (:

@Jezorko I tried the above solution, but it doesn't work with an async beforeXxx to grab the value generated there, cause the use(promise, ...) call takes place before the beforeAll has executed. That's the whole issue I think.

This issue is such a bummer :-(

@anodynos can you show me an example code please?

Is this dead? Ran into another use case for this.
Request some async data and setup an it block per item in a json array.
:/

You can do it in a beforeAll inside the describe

Unfortunately you cannot if the describe defines the it blocks in a loop. That’s the main issue... 🤷♀

I believe I have the simplest use case to date. If one wants to generate a Node server (or in my a case, a custom class that incorporates a Node server) then test with Supertest, you have to get the app as the first "it" in each test suite! I would love to be able to load my app & Supertest once (during the "describe") and pass the app to each test suite. I've tried "beforeAll" but as other have noted, Jest does not wait for the promise to execute before running nested describes.
desc("Run All Tests",() => {
  let o:any;
  beforeAll(async () => {o = await testServer();});
  it("init w/o errors",async () => {
    await is(o.master);
    await is(o.app);},99999); //test passes because of async/await in "it"
  baseApiTests(o); //should return nested test suite using fulfilled "o";
});

"TypeError: Cannot destructure property master of 'undefined' or 'null'"
"export const baseApiTests = ({master,app}:{master:AppMaster;app:any;}) => desc("API",() => {..."
because we need a async describe :)

Why was this closed? Is this feature "something that will never be done" or "an invalid request"? Otherwise, doesn't it make sense to keep it open to invite PRs or further discussion?

This is clearly an in-demand feature, it has been popping up again and again going on 4 years now.

Want to add my two cents for why I think this is a worthwhile feature:
I want to be able to dynamically set test timeouts (fetched asynchronously).
Here's how timeouts work now:
// Not dynamic; works fine:
const TIMEOUT = 1000;

describe('foo', () => {
  test('bar', () => {
    // ...
  }, TIMEOUT);
});

The above does not meet my use case, because I want to be able to set the timeout dynamically.
Fetching the timeout in beforeAll does not seem to be an option, because a timeout variable would live in the scope of the describe block, and would be undefined when defining the test:
describe('foo', () => {
  let timeout;

  beforeAll(async () => {
    timeout = await getTimeout();
  });

  test('bar', () => {
    // ...
  }, timeout);  // Timeout is undefined here
});

If we allow for promises in describe blocks, we'd be able to use async/await for fetching our timeouts:
describe('foo', async () => {
  const timeout = await getTimeout();

  test('bar', () => {
    // ...
  }, timeout);  // Timeout is defined 🎉
});

Thanks everyone for your hard work on Jest, and please let me know if there's a better way to configure test timeouts dynamically on a per-test basis!

Ahh, anybody looking for a workaround to ☝ the above use case might be interested to learn about globalSetup, which I didn't know about before making the above post 😅
In this case, I'm ok fetching the timeout before the entire suite is run, so I just made one of these:
// globalSetup.js
import { getMaxTestDuration } from './some/file.js';

export default async function globalSetup() {
  process.maxTestDuration = await getMaxTestDuration();
}

Then, in my jest config:
globalSetup: './globalSetup.js',

Now the timeout is available to use in my tests, like:
describe('a', () => {
  test('b', () => {
    // ...
  }, process.maxTestDuration);
});

Perhaps you can front-load some async operations globally instead of on a per-describe-block basis?  Worked for me!

Long term solution to this problem ("I need to do something async before declaring my tests") is probably top level await and using native ESM.
Former can be tracked in https://github.com/nodejs/node/pull/30370 and the latter in #9430

I mean not really, its tied to describe block. Allowing async describe is the best solution to avoid e.g. the example above: let o:any;   beforeAll(async () => {o = await testServer();});

I feel like this would be valuable to break down tests to single expect statements for better organization. For example I want to make a supertest call in describes for POST /items and be able to have a test for statusCode 200, a test for the body, a test for the headers, etc , etc... rather than having to smash them all into one test or calling supertest for each.

Just adding my $.02 that though in my case it can be worked around, having async describe would give me the nicest/cleanest way to accomplish what I want. So if you're tallying votes, count me on Team AsyncDescribe.
(In my case, I'm using a function which is basically the JS equivalent of a Python context manager, more or less like this:
describe("myClient", () => {
  const testClient = new MyClient(options);

  describe("upload", () => { ... });

  describe("download", async () => {
    await withTempDir(tempDir => {
      it("does what it should", async () => {
        await testClient.download('somefile', tempDir);
        expect(something).toHaveHappened;
        expect(somethingElse).not.toHaveHappened;
      });

      it("errors when appropriate", () => { ... });

      it("handles this edge case", () => { ... });

      it("handles this other edge case", () => { ... });

      // etc
    });
  });
});

I have to await withTempDir, or jest doesn't see my download tests at all. But then I need async on my describe callback... and that lands us back in this issue.)

Usefull feature for jest pupeteer. Especially for loading asyn data, that can be used  inside descibe.each. I think it is worth to implement


JSON Output

The Python version doesn't currently save JSON output - this needs to be added prior to the first release.

Basic output is working. Created as a zip file, to minimize the otherwize huge size.

Non-issue data capture (structure) is in place, info in application and how it was run in place, evidence improvement (structure) in place. This is close to being completed.

I think this is effectively done.


Add CommerceLayer Extension to Marketplace

Adding https://github.com/commercelayer/contentful-extension into the marketplace.

@Shy can you please update all dependencies to the latest?
Especially, create-contentful-scripts to 0.12.0 to have jest setup out of the box (see https://github.com/contentful/extensions/pull/153). Would be nice to add few unit tests as well.


Loading the correct name of the function should fix the 404 error

What do you mean by "correct name of the function"? the lambda name using the serviceName & stage prefix?
Anyway, I wanted to state that this PR also fixes an issue when running on Windows with no sls "--location" option defined.
Previous to this PR, this was the offending line, in src/index.js#L44
    const servicePath = path.join(this.serverless.config.servicePath, this.options.location);
The exception thrown was something like "can't join path with 'undefined' value" (referring to this.options.location) .
The workaround was setting the CLI location variable as an empty string like this: sls offline start --location ''
Please consider merging this PR @marconi1992

Hi @tmilar, I reproduced the issue with "can't join path with 'undefined' value" . However, we should fix that issue instead of removing the use of the location option.
I noticed the version 5 of serverless-offline already supports this invoking implementation. I'll update the readme file in favor of serverless offline.
https://www.npmjs.com/package/serverless-offline#usage-with-invoke

Ok @marconi1992, just fixing the error for undefined location value sounds fine.
Shall I submit a PR for this?

Yes @tmilar, I'll appreciate it, thanks in advance.


⚠ Bofrost.be has degraded performance

In c098540, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1150 ms

Resolved: Bofrost.be performance has improved in 8f4aa5b.


feat: Raw commands support

Is your feature request related to a problem? Please describe:

Support NFC raw commands.
Describe the solution you'd like:

Add connect, transceive and close methods.
Describe alternatives you've considered:

Additional context:

com.apple.developer.nfc.readersession.formats

NDEF
TAG

something like this also needed? To enable raw?

Hi @tpharaoh,
thank you for your interest in this issue.
This issue is already closed, but the update is not officially released yet.
With this dev build you can already test this new feature:
npm i<EMAIL_ADDRESS>

com.apple.developer.nfc.readersession.formats

Yes, you should also add the necessary iOS entitlement (see this example).

I am testing with your nfc demo first, is there a branch I can pull there?
If not, I can wait a but ... I was just hugely curious!

is there a branch I can pull there?

@tpharaoh Yes, it is actually already on the main branch.

ok, I got it working, in android. My ultimate goal is to read the data from a credit card/debit card. I'll ask more another time

@tpharaoh I'm preparing for a similar project to read PAN, track2_data, etc from a credit/debit card, kindly share feedback when you're able to read these data using this plugin.


wstunnel_9.3.0_linux_amd64.tar.gz

Everything is fine. But when running the version check command: wstunnel -V
Result: wstunnel 9.2.5 ;)

Indeed thank you :)
If you re-download the binary from https://github.com/erebe/wstunnel/releases/tag/v9.3.0 it should be good now


Use Renovate to update kube-vip static pod manifest

This PR:

adds the renovate tag to ensure the kube-vip static pod manifest is updated automatically.

Call me dumb, but this is already working: #295

yeah i realised that after i opened this PR, but i think leaving it in so that it's explicitly clear which repo we're tracking is not a bad idea

Sure! Just be aware that Retagger might not run as often as Renovate, as in: You might receive a PR here that we do not (yet) have the images for. I guess Renovate scans the registry while with the annotation it would just check the GitHub repo?

Sure! Just be aware that Retagger might not run as often as Renovate, as in: You might receive a PR here that we do not (yet) have the images for. I guess Renovate scans the registry while with the annotation it would just check the GitHub repo?

yeah that's not likely to be a problem, we won't be releasing the chart quickly enough to hit that. and any chart release we making which pulls in the new kube-vip image will then need to make it into a Release too.

Sure, I was just concerned about Renovate maybe triggering E2E tests which then will always fail in the first run. Probably.


avoid version problems for node users

There are two ways:

recommend PATH=./node_modules/.bin:$PATH so that if you are in a project directory where<EMAIL_ADDRESS>is installed, you get that version. @vsavkin suggests this. But if you're in a child directory (common for bazel users since it does a good job in this case) it doesn't work

when ibazel runs, it checks if there is a locally installed copy, and exec()s that one instead. gulp and angular-cli do it this way. @hansl suggests this

What is the current state?
On Wed, 4 Oct 2017 at 2:23 Alex Eagle<EMAIL_ADDRESS>wrote:

There are two ways:

recommend PATH=./node_modules/.bin:$PATH so that if you are in a
project directory where<EMAIL_ADDRESS>is installed, you get that
version. @vsavkin https://github.com/vsavkin suggests this. But if
you're in a child directory (common for bazel users since it does a good
job in this case) it doesn't work
2.
when ibazel runs, it checks if there is a locally installed copy, and
exec()s that one instead. gulp and angular-cli do it this way. @hansl
https://github.com/hansl suggests this
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/bazelbuild/bazel-watcher/issues/45, or mute the
thread
https://github.com/notifications/unsubscribe-auth/ABUIFzWl27rpaWcyehP3VScAkB_RW3Ixks5sosHngaJpZM4Ps6Eq
.

Reply to this email directly, view it on GitHub
https://github.com/bazelbuild/bazel-watcher/issues/45#issuecomment-334145383,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABUIFzQsVEhzUS8Fya8aKoDLc6FITHmIks5so3_QgaJpZM4Ps6Eq
.

I think this issue is a bit tricky since you can specify multiple targets for bazel to build/run
bazel build :some_target path:some_other_target
Should we only try to pick the local ibazel if they specify one target? Or maybe only if they are in a subdirectory with a local bazel installation (so running ibazel from outside the project directory would do use the global installed version)?
I think we need to think about a really easy to understand heuristic we can use so that we can communicate that to ibazel users

I don't think it matters what the target patterns are.
You just look in the cwd() where the ibazel is run. If you find a locally installed in ./node_modules or ../(../)+node_modules then you use that (following node module resolution semantics). Finally you give up and run the globally installed one.

So basically we punt on if they have a local installation but invoke ibazel
from a parent directory of their project. I think that's pretty reasonable.
On Wed, Nov 15, 2017, 4:29 PM Alex Eagle<EMAIL_ADDRESS>wrote:

I don't think it matters what the target patterns are.
You just look in the cwd() where the ibazel is run. If you find a locally
installed in ./node_modules or ../(../)+node_modules then you use that
(following node module resolution semantics). Finally you give up and run
the globally installed one.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/bazelbuild/bazel-watcher/issues/45#issuecomment-344764101,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHteO7c4Vwhl6gy5sD4JMYVukO6Vi92Eks5s23PVgaJpZM4Ps6Eq
.

Is there a good way to scan for node_modules directories other than to recurse up and see if it exists?

That's what other implementations do, I believe
On Wed, Nov 15, 2017, 6:03 PM Andrew Z Allen<EMAIL_ADDRESS>wrote:

Is there a good way to scan for node_modules directories other than to
recurse up and see if it exists?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/bazelbuild/bazel-watcher/issues/45#issuecomment-344791790,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAC5I512YxTo0PUZVPYZSMzkAzR5n4Vzks5s25gOgaJpZM4Ps6Eq
.


Fix the link to cmaps

https://github.com/adobe-type-tools/cmap-resources/

https://github.com/pdfminer/pdfminer.six/pull/117


i18n Brazilian portuguese language support 🇧🇷

This pr adds support to Brazilian Portuguese language.

There is still some work to do on the English translations, so lets hold off until those are finalized.

Got it. Lets wait


How to avoid timeout waiting for voice

I'm making my own voice bot inspired by airhornbot using bwmarrin/discordgo. But there is a bug issued in that repo https://github.com/bwmarrin/discordgo/pull/426, so my bot is broken.
One day, I found your bot and it's working fine without the error, so I just want to know how to avoid that error in your bot. I just replaced bwmarrin/discordgo to yours yagpdb branch, but my bot is broken yet.  I'm not sure but people using that library may want to know that.
If you have time, tell me that please.

i have basically rewritten the gateway implementation from scratch in my branch, that's one of the reasons things are different.
But this issue isn't really related to yagpdb, you should open an issue in the discordgo repo.

Well, i dont know where a problem, but, i found strange solution
vc, err := discord.ChannelVoiceJoin(guildID, channelID, properties.Muted, properties.Deafened)
	if err != nil {
		if _, ok := discord.VoiceConnections[guildID]; ok {
			vc = discord.VoiceConnections[guildID]
		} else {
			return nil, err
		}
	}

This works for my bot while I am looking for a normal solution.


Segmentation violation: test/regression flow

Segmentation error encountered when running test/regression flow
Flow
gcd_nangate45 pass
gcd_sky130hd pass
gcd_sky130hs pass
ibex_sky130hd pass
ibex_sky130hs pass
aes_nangate45 pass
aes_sky130hd pass
aes_sky130hs pass
tinyRocket_nangate45 pass
jpeg_sky130hs ERROR segmentation violation
jpeg_sky130hd FAIL GRT::ANT::errors 336 > 330
Errored 1/11
Failed 1/11
See /home/onur/OpenROAD/test/results/diffs for differences
See /home/onur/OpenROAD/test/results for log files

With what commit id?  On what platform?  This passes in our CI runs.


Basic Implementation

[x] Implement the Class Diagram in Python
[ ] TextBox.ConvertStr():

[x] Basic Formatting
[x] Width Limit
[x] Height Limit
[ ] Width + Height Limit
[ ] Vertical Alignment
[ ] Horizontal Alignment
[ ] ...

Back to the project >:)


Add an auto backup option

This may be better as a separate plugin.
The buildHTMLWiki message would make this relatively simple. I think that we could have it save a single file wiki version after some length of time as long as there are edits newer than the previous backup version.
Things to include:

Rolling backups, keep only the newest x versions
Configurable backup location(s) (all wikis in one place, each wikis gets its own folder, etc)

Alternately we could set it up so that it saves an archive of the tiddlers folder. That may introduce more external dependencies.

Just FYI, I prefer to use normal backup programs. I find them a better solution for me.
Though I have nothing against it I'd prefer you kept it as an extra, a plugin.

+1

This is added in the next version.


Number of selected features in the list label does not updates after adding new features in refine workflow

Repro steps:

Click Add to create a new list
Search Naperville, IL with 0.5 km buffer, 360 features will be selected
Click Done and click on the Refine tab
Remove 7 features, notice that Total Selected and Feature Removed count updates accurately.
Click on the Add tab  and add 2 features, notice that the counts are showing correct numbers
Now click on My Lists tab, notice that the unique count is showing correct number but the list is not.

Note: you will see the same incorrect number in the PDF and CSV tab

@aparveen up until step 5...should be good with the changes added for #146 along with a few other things I noticed while looking through refine again.
In regards to step 6...these can be different because items added through refine workflows are not added to any existing notification lists...even if you remove a feature from one list and add it back. We can chat more on this tomorrow.

In regards to step 6...these can be different because items added through refine workflows are not added to any existing notification lists...even if you remove a feature from one list and add it back. We can chat more on this tomorrow.
I remember talking about this, it all good, closing


buffer of points

If using well points with 0 buffer, need separate code to do simple extraction (instead of resampling with zoom)

added draft extract by point in 00d938aeab3984d98042a8bd09741e9cbb79807f.
also noticed that when buffer == 0, there still seems to be some buffer applied (maybe tiny?) - but adjusted in 87645cf64a2bcabb88fd5581a4f0671e98323aec to add a small negative buffer. hack, but need to look further.

I think we can close this. Tested a point dataset with 0 buffer, and the "error message" came up fine.


Validation skipped when using custom batch sampler

🐛 Bug
Hi, I'm trying to use the batch sampler which was implemented as below,
class BalancedBatchSampler(BatchSampler):
    def __init__(
        self, labels, n_classes_in_batch, n_samples_in_batch
    ):
        self.labels = labels
        self.label_set = list(set(self.labels))
        self.label_to_indices = {
            label: list(np.where(np.array(self.labels) == label)[0])
            for label in self.label_set
        }
        for l in self.label_set:
            np.random.shuffle(self.label_to_indices[l])
        self.used_label_indices_count = {label: 0 for label in self.label_set}

        self.n_dataset = len(self.labels)
        self.n_classes_in_batch = n_classes_in_batch
        self.n_samples_in_batch = n_samples_in_batch

        self.batch_size = self.n_samples_in_batch * self.n_classes_in_batch

    def __iter__(self):
        count = 0

        while count + self.batch_size < self.n_dataset:
            sampled_classes = np.random.choice(self.label_set, self.n_classes_in_batch, replace=False)
            indices = []

            for class_ in sampled_classes:
                pad_for_class = self.used_label_indices_count[class_]
                samples_for_class = self.label_to_indices[class_][pad_for_class: pad_for_class + self.n_samples_in_batch]
                indices += samples_for_class
                self.used_label_indices_count[class_] += self.n_samples_in_batch

                if self.used_label_indices_count[class_] + self.n_samples_in_batch > len(self.label_to_indices[class_]):
                    np.random.shuffle(self.label_to_indices[class_])
                    self.used_label_indices_count[class_] = 0

            yield indices
            count += self.batch_size

    def __len__(self):
        # step size in 1 epoch
        return self.n_dataset // self.batch_size

The sampler works well in the training stage of trainer.fit(), however, the validation stage has been skipped.
To Reproduce

I confirmed that the behavior has not occurred when using torch.utils.data.sampler.BatchSampler as below,
# train_dataloader+standard sampler * val_dataloader+standard sampler = validation not skipped
def train_dataloader(self):
    train_sampler = BatchSampler(RandomSampler(self.dataset_train), ...)
    return DataLoader(
        self.dataset_train,
        batch_sampler=train_sampler,
        ...
    )

def val_dataloader(self):
    train_sampler = BatchSampler(RandomSampler(self.dataset_val), ...)
    return DataLoader(
        self.dataset_val,
        batch_sampler=val_sampler,
        ...
    )

# train_dataloader+standard sampler * val_dataloader+custom sampler = validation not skipped
def train_dataloader(self):
    train_sampler = BatchSampler(...)
    return DataLoader(...)

def val_dataloader(self):
    val_sampler = BalancedBatchSampler(...)
    return DataLoader(...)

# train_dataloader+custom sampler * val_dataloader+standard sampler = validation skipped
def train_dataloader(self):
    train_sampler = BalancedBatchSampler(...)
    return DataLoader(...)

def val_dataloader(self):
    val_sampler = BatchSampler(...)
    return DataLoader(...)

# train_dataloader+custom sampler * val_dataloader+custom sampler = validation skipped
def train_dataloader(self):
    train_sampler = BalancedBatchSampler(...)
    return DataLoader(...)

def val_dataloader(self):
    val_sampler = BalancedBatchSampler(...)
    return DataLoader(...)

Environment

PyTorch Lightning Version (e.g., 1.5.0): 1.6.1
PyTorch Version (e.g., 1.10): 1.11
Python version (e.g., 3.9): 3.8.3
OS (e.g., Linux): Linux
CUDA/cuDNN version: 10.2
How you installed PyTorch (conda, pip, source): conda

Additional context

Unfortunately, I could not find the reason why the validation stage has been skipped, and what I'm missing in the implementation.
Is there proper practice to use a custom batch sampler?
cc @justusschock @awaelchli @ninginthecloud @rohitgr7

Hi @6gsn, thank you for the bug report! Can you please provide a full minimal working example that is illustrating the problem?
In the meantime, I think I know what is going on. While predicting, we are wrapping your BatchSampler into our wrapper to keep track of generated batches - however, we expect a custom instance that is inheriting from BatchSampler to take same arguments as stock BatchSampler and generally behave similarly.
While the core functionality of BatchSampler is to generate indices from original dataset that make up one batch (and that is totally what your implementation is doing), in the stock PyTorch, it is assumed that it takes a Sampler which generates the sequence of indices and then just groups those indices according to the batch size (https://pytorch.org/docs/stable/data.html#torch.utils.data.BatchSampler).
And since we are wrapping your BatchSampler we also try to do some more with it and in the process, I believe we break it, because it does not obey this contract of what arguments it takes. So what I expect is actually happening in there is some TypeError somewhere which maybe gets unintentionally silenced and it manifests as your validation loop not happening at all.
So, what can you do? You can try to change your implementation in such a way that it obeys similarly to stock PyTorch, i.e. create a custom Sampler, that is generating a stream of indices and then just wrap it into stock BatchSampler. From the look at your code, it should not be very difficult. However, and that falls on us, please also take a bit of time to create minimal working example with this implementation so we can debug if the error is actually wrongly silenced and correct it.
Oh, and currently, similar restrictions apply to DataLoader (we expect certain arguments, even if they do not make much sense for your custom implementation). Once the PR #12981 is closed, we will not have these restrictions for DataLoader, but we will still have them for BatchSampler. I will take a look if it would be possible to lift these restrictions also from BatchSampler

@otaj
Thank you for your explanation and advice.
Now I understood clearly how the behavior happened, and what supposed to do.
Hence, I re-implemented the feature using Sampler ( just like your recommendation 👍 ).
class BalancedRandomSamper(RandomSampler):
    def __init__(
        self,
        data_source,
        replacement=False,
        num_samples=None,
        generator=None,
        *args,
        **kwargs,
    ):
        super(BalancedRandomSamper, self).__init__(
            data_source, replacement, num_samples, generator
        )
        ....

    def _balanced_sampling(self):
         ....
    def __iter__(self):
         ....

# in data module
def train_dataloader(self):
    train_sampler = BatchSampler(BalancedRandomSamper(self.dataset_train), ...)

Also, it seems working as I expected!
Thank you so much!

Closing as it appears it is solved

See for my worked around version. https://gist.github.com/sseveran/05744f712c17c96b88c1ff04805b7097
Its an adaptation of some code I found so I am no the original author.
With this version I would wrap in a batch sampler like BatchSampler(BySequenceLengthSampler(my_dataset, batch_size, False), batch_size, False)
The only difference I want is to be able to field the whole batch myself instead of dong a yield from to the BatchSampler.

Hi @sseveran , I opened a PR (https://github.com/Lightning-AI/lightning/pull/13640) yesterday that should fix this. I cannot make any guarantees on when it gets to the master, but we're getting there :)


⚠ Bofrost.at has degraded performance

In ab978a9, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2842 ms

Resolved: Bofrost.at performance has improved in 73228e2 after 310 days, 13 hours, 46 minutes.


Add a stats API point

Torrent db size

Partially implemented here with https://github.com/Gabisonfire/torrentio-scraper-sh/pull/48/files
On my end returns a 404 and my formatter seems unhappy
JSON Formatter: JSON too large to format!


Is the temporary file avoidable?

The current conversion is process is as follows:

Create browser instance
Open browser page
Write HTML boilerplate (which includes base URL) that includes SVG to temporary file
Navigate browser page to temporary file
Derive SVG dimensions
Capture screenshot of page as PNG

Steps 1 & 2 are only performed the first time Converter#convert is called for that instance and step 5 is only performed if the width and/or height options are omitted.
The reason that we need the temporary file is to support external links (e.g. when one SVG file references another file). Without this step, such references fail to load. I believe the default page URL is chrome://newtab, which is why it fails to load URLs via the file protocol.
Ideally, I would like to be able to simply tell the browser what the base URL is and write the SVG directly to the page, however, puppeteer doesn't appear to allow that, for now, at least. That said, I would still like to try and avoid the need for a temporary file to be used. One thing I have in mind is first bundling the HTML boilerplate within the package as an HTML file and changing the process as follows:

Create browser instance
Open browser page
Navigate browser to bundled HTML page
Modify DOM to use correct base URL and insert SVG
Derive SVG dimensions
Capture screenshot of page as PNG

It still requires the same amount of steps, but I'm hoping it will be faster. Of course, this would need to be checked and benchmarked. I'm even wondering if we could then create (and destroy) a new browser page (tab) for each conversion process to allow for parallel conversion using a single Converter instance. Again, this would need to be confirmed as I'm not sure how puppeteer behaves when you destroy the last page and it could act too great a resource hog.

I did some tests and benchmarks today and, while use of a temp file is avoidable, it appears to be pointless. The time it takes the write and navigate to the temp file seems to be comparable to the time it takes to replace the DOM contents of the page, somehow.
I find this very surprising, but I can't argue with the results. I didn't look into the new-tab thing as I didn't see much point if we're going to continue using the same temp file for each converter.
If puppeteer eventually allows file URLs to be loaded while honouring the base URL on the default page, I'll revisit this, however, I'm going to leave this as-is for now.


Restructured pyiron.md, using a stepwise deployment procedure.

Gave pyiron.md a step-by-step structure much like the ontodocker page.

I made some changes @pbeckm and @muh-hassani if you are fine with these, this can be merged

I'm not in the reviewer's list, but if You ask me, looks splendid.

@schaarj @pbeckm thanks for the improvements to the guide. I made some more aesthetic changes. It is ready to be merged from my side.

Yes, looks fine, please merge.


Source control page inline diff editing

It would be nice if we could edit changes "inline" when viewing the diff for a file.
Technically, this is actually already supported. The widget used to display the diff is a fully featured editor. However you can't set the cursor position by clicking, which initially made me think it wasn't a real editor. You can use shortcuts to move the cursor down, but with the "focused diff" view, you can't see where the cursor is at, so you must guess / hit a shortcut and hope it will bring the cursor into view.
On the topic of "diff viewing and editing", I much prefer VSCode's "full side-by side" diff view:

This lets you see the full context of the diff, which is 100x more useful if you want to make inline changes. The right side of this view is a fully featured editor.

I second @cart . I myself still use (neo)vim on all platforms (Linux, Windows, macOS) mainly due to its nvim -d a.txt b.txt (aka vimdiff) functionality which shows side-by-side view of the two files and allows easy merging and saving of either of the shown files.
Once this side-by-side diff editing functionality gets implemented in Lapce, I can finally get rid of the complexities of neovim/vim.

Atom also had this functionality with the split-diff plugin. apm install split-diff
I could then press ctrl+alt+d to show the diff of the two currently side by side files. I could also edit either the left or the right pane. and the diff would update dynamically, I found it hugely useful and it was the one reason I continued to use atom long after atom was abandoned.

On the topic of "diff viewing and editing", I much prefer VSCode's "full side-by side" diff view:

Atom also had this functionality with the split-diff plugin. apm install split-diff
I could then press ctrl+alt+d to show the diff of the two currently side by side files. I could also edit either the left or the right pane. and the diff would update dynamically, I found it hugely useful and it was the one reason I continued to use atom long after atom was abandoned.

The widget used to display the diff is a fully featured editor.

u mean in a git repo in lapce? or can lapce "compare" 2 files other than those being in a git repo?

@MinusGix umh, on the label A-Git, i would say that this is not just limited to git. :smiley:

@MinusGix umh, on the label A-Git, i would say that this is not just limited to git. 😃

it pertains to source control so it is limited to just git

so, comparing arbitrary files not belonging to any VCS/SCM is not on plan then?
this is also shown in Atom's screenrecord above by @ Jieiku
Following is a screenshot from VS Codium

There is no change comparison so no, unless someone opens a feature request there is no plan to add that


Roll engine 5f8ae420c1ac..c12696cc533b (1 commits)

https://github.com/flutter/engine/compare/5f8ae420c1ac...c12696cc533b
git log 5f8ae420c1ac61bbbb26e61251d129c879fc788d..c12696cc533bde827574c15aad4d6b197c34c51f --no-merges --oneline
c12696cc5 Roll src/third_party/skia f9264bac4e99..33332f1e100c (27 commits) (flutter/engine#8275)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop
the roller if necessary.

Trybots failed. These were the failed builds: https://cirrus-ci.com/task/6507650438135808

Commit queue failed; closing this roll.


Verifier error when putting pointer in a tuple (pointer arithmetic with >>= operator prohibited)

This seems to happen when putting any BTF pointer type in a tuple prior to printing.
Example 1:
kretfunc:__skb_recv_udp
{
  print((1, retval)); // retval is a "struct sk_buff *"
}

Example 2:
kfunc:__x64_sys_read
{
  print((1, args.regs)) // args.regs is a "const struct pt_regs *"
}

Verifier error from example 1:
Kernel error log:
0: R1=ctx() R10=fp0
;  @ bpftrace.bpf.o:0
0: (79) r7 = *(u64 *)(r1 +32)
func '__skb_recv_udp' arg4 has btf_id 654 type STRUCT 'sk_buff'
1: R1=ctx() R7_w=ptr_sk_buff()
1: (b7) r6 = 0                        ; R6_w=0
2: (63) *(u32 *)(r10 -8) = r6         ; R6_w=0 R10=fp0 fp-8=????0
3: (bf) r2 = r10                      ; R2_w=fp0 R10=fp0
4: (07) r2 += -8                      ; R2_w=fp-8
5: (18) r1 = 0xffff888b82348300       ; R1_w=map_ptr(map=fmt_string_args,ks=4,vs=32)
7: (85) call bpf_map_lookup_elem#1    ; R0_w=map_value_or_null(id=1,map=fmt_string_args,ks=4,vs=32)
8: (55) if r0 != 0x0 goto pc+2 11: R0_w=map_value(map=fmt_string_args,ks=4,vs=32) R6_w=0 R7_w=ptr_sk_buff() R10=fp0 fp-8=????mmmm
11: (b7) r1 = 1                       ; R1_w=1
12: (73) *(u8 *)(r0 +16) = r1         ; R0_w=map_value(map=fmt_string_args,ks=4,vs=32) R1_w=1
13: (b7) r1 = 30007                   ; R1_w=30007
14: (7b) *(u64 *)(r0 +0) = r1         ; R0_w=map_value(map=fmt_string_args,ks=4,vs=32) R1_w=30007
15: (bf) r1 = r7                      ; R1_w=ptr_sk_buff() R7_w=ptr_sk_buff()
16: (77) r1 >>= 56
R1 pointer arithmetic with >>= operator prohibited
processed 16 insns (limit 1000000) max_states_per_insn 0 total_states 1 peak_states 1 mark_read 0

The verifier error from the second example is similar.

bpftrace: latest master
Kernel: 6.9 with BPF backports.

Hi @ajor I found I can run the example 1 without verifier error. My env is as blow:
sudo bpftrace --info
Alias tip: _ bpftrace --info
System
  OS: Linux 6.10.10-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 12 Sep 2024 17:21:02 +0000
  Arch: x86_64

Build
  version: v0.21.2
  LLVM: 18.1.8
  unsafe probe: no
  bfd: yes
  liblldb (DWARF support): no
  libsystemd (systemd notify support): no

Kernel helpers
  probe_read: yes
  probe_read_str: yes
  probe_read_user: yes
  probe_read_user_str: yes
  probe_read_kernel: yes
  probe_read_kernel_str: yes
  get_current_cgroup_id: yes
  send_signal: yes
  override_return: yes
  get_boot_ns: yes
  dpath: yes
  skboutput: yes
  get_tai_ns: yes
  get_func_ip: yes
  jiffies64: yes
  for_each_map_elem: yes

Kernel features
  Instruction limit: 1000000
  Loop support: yes
  btf: yes
  module btf: yes
  map batch: yes
  uprobe refcount (depends on Build:bcc bpf_attach_uprobe refcount): yes

Map types
  hash: yes
  percpu hash: yes
  array: yes
  percpu array: yes
  stack_trace: yes
  perf_event_array: yes
  ringbuf: yes

Probe types
  kprobe: yes
  tracepoint: yes
  perf_event: yes
  kfunc: yes
  kprobe_multi: yes
  uprobe_multi: yes
  raw_tp_special: yes
  iter: yes

Could you tell me your kernel tag? Let me find a way to reproduce it.

Same here, both the above examples work without problems on my kernel:
# bpftrace --info
System
  OS: Linux 6.10.5-200.fc40.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Aug 14 15:49:44 UTC 2024
  Arch: x86_64

Build
  version: v0.21.0-153-g6782
  LLVM: 18.1.6
[...]

Could you tell me your kernel tag? Let me find a way to reproduce it.

I run a custom kernel with a bunch of BPF features backported so it's hard to compare, unfortunately. But thanks to the two of you pointing out that it does work on your kernels, I dug into it a bit more...
Turns out that it was a bug for a short period of time, introduced and fixed between the two versions of bpftrace you guys are running! (I musn't have been on latest master myself either)
Bug introduced in: e5167acba9b833adbb11ab8225fe18bba5bb7746
Bug fixed in: 1517d1cc9b7436069412d764ae32d34c9e58afd7
cc @danobi @ryantimwilson The bug is fixed now, but it seems that this scratch map work is having a wider impact than predicted - heads up!

Ack


Create notification rules

Before submitting this PR, please make sure:
What is This

[ ] Feature
[ ] Bug Fix
[ ] Documentation
[ ] Version
[ ] Enhancement

Ticket Number Or Ticket Link
Ticket AC
How to Test

Duplicate


Allow for a start block value when doing a node rescan.

I'm submitting a…

[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report
[x] Feature request
[ ] Documentation issue or request
[ ] Support request

Expected Behavior
A user should be able to reduce the time of a rescan if they know that their wallet has no transaction below a certain block number.
Current Behavior
There is no option to limit the rescan, it starts from block zero, meaning a rescan can take hours.
Ref: https://twitter.com/dlawnroac/status/1269232935170957312
Possible Solution
If it's not possible with importmulti we may need to use rescanblockchainwhich does have a start_height parameter.

This issue has been migrated to the new caravan monorepo: https://github.com/caravan-bitcoin/caravan/issues/68


[CAMEARA] Fix Orbital Camera Mode

This PR makes the orbital camera mode work like it used to before the change to the new camera system.
I think there was some confusion that the author of the camera system had about what the orbital camera did and they just made it a copy of the third person camera. It is not that. It is a always turning camera that has no other input. You move the camera by moving the camera manually.
This PR restores that functionality using the new camera logic.
Also during the camera update the cursor was disabled in all examples that used an orbit camera, possibly because they thought it was a third person camera. This PR restores the cursor because the mouse is not used with orbital camera.
With this PR all the demos should be back to working like they used to, with the new camera logic.

@JeffM2501 Thank you very much for the review!


wonkavision execute

CRA apps use file names to ensure cache busting and since we do not delete the destination files but simply add and overwrite, old extra files will start to pile up from deployments.
It would be nice to be able to execute some code before the extract happens.
Currently there is an --extra-command on the extract method which execute after unzipping. I'm thinking we deprecate that and add a dedicated command to execute commands.
I'm thinking like wonkavision execute "commands".
If we did that then we could wonkavision execute rm ./static before extraction.
Anything that was in the --extra-command can then be move to an execute stop and ran after the wonkavision unzip
Thoughts mr @stdavis

I like the idea for a generic execute command. I wonder if it would also be useful to have a specific clean up command so that we don't have to remember which folders, etc that need to be cleaned up.

I like the idea for a generic execute command. I wonder if it would also be useful to have a specific clean up command so that we don't have to remember which folders, etc that need to be cleaned up.


[WASM][Microsoft Edge] The proper formatting is missing for the Information modal page

Steps To Reproduce:

Visit WASM Calculator on Microsoft Edge.
Click on the information button on the right top corner of the page which opens the information modal page.
Now observe the modal page.

Actual behavior:

Formatting of this page is not aligned.

Expected behavior:

All the texts and links of the modal page should be proper aligned without any extra spaces.

Attachment:

Device and Application Information:

OS Build: Windows 10
WASM Build Version: Version 0.1.0-uno.1+504
Environment: Microsoft Edge

Note:

Crosschecked with the Chrome and Firefox.
Refer the attached images to get better idea.

Changes have been applied to this issue but the extra space still does appear.
Version: 0.1.0-uno.1+512


Addressed Brakeman issues in views.

@chessbyte @dclarizio please review.

@h-kataria In this PR, you should make a change to config/brakeman.ignore to remove the warnings you are trying to address and see if Brakeman complains.


feat: translations of ample sets are ample

This was supposed to be included in #11344, as even the module docstring shows
From the sphere-eversion project.

Thanks for the good suggestions. I added two more commits; the first one uses the namespace AmpleSet (now that sufficiently many lemmas use it); the second tweaks the docs very slightly.
awaiting-review

Thanks!
bors merge


Spree 3.0.0 compatibility

When trying to use this gem with Spree 3.0.0 the following error message appears
"Bundler could not find compatible versions for gem "spree":
In Gemfile:
spree_subscriptions (>= 0) ruby depends on
spree (~> 2.4.4) ruby
spree (= 3.0.0) ruby"

Are you planning on releasing an update?

Hi @leeknowlton, I've updated the extension to be spree 3 compatible.
Please, check out the 3-0-stable branch and let us know if you find any issue! :beers:

Thanks! Will try it soon.

There seem to be some CSS problems in the admin section with strange text sizes and squished tables (I haven't used previous version...it could have just been like this)
Pic 1

Pic 2

Pic 3

@leeknowlton yes, I just let specs pass but haven't yet styled anything with new frontend and backend themes. I'll do it as soon as possible.

@leeknowlton If you have time, I'd be happy to merge some PR on this. Thanks for reporting anyway!


I tried booting it up for linux but this happened

Here is a screenshot of what it says:

No matter what I do, i dont know how to fix it. i tried spamming yes and it just kept popping up, i tried resetting and everything i could think of.

Duplicate of #62


[Snyk] Security upgrade Swashbuckle.AspNetCore.SwaggerUI from 6.2.3 to 6.3.0

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `nuget` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

src/api/xxAMIDOxx.xxSTACKSxx.API/xxAMIDOxx.xxSTACKSxx.API.csproj

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Breaking Change
Exploit Maturity

591/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 5.4
Server-side Request Forgery (SSRF) SNYK-DOTNET-SWASHBUCKLEASPNETCORESWAGGERUI-5426095
No
Proof of Concept

(*) Note that the real score may have changed since the PR was raised.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Server-side Request Forgery (SSRF)

/azp run


Add SDK SHA also to TH UI

From chip-certification-tool created by raju-apple: CHIP-Specifications/chip-certification-tool#724
Request to add the SDK SHA also in the TH UI

@raju-apple,
Currently, the "version" and "SHA" (Backend SHA) version displayed in the UI are obtained from the endpoint /api/v1/version , for adding SDK SHA in UI nav bar this backend endpoint needs to be updated to include the same.

@fabiowmm FYI ^^

Duplicate of #233


EOF packet not handled

Operating System: Linux
PHP Version:  7.1
php-mysql-replication Version: 5.0.1

Steps required to reproduce the problem.

Start example/dump_events
Restart replication server

Expected Result.

dump_events exits simply with "Disconnected by remote side" or similar exception

Actual Result.

Before "Disconnected by remote side" exception, there are a few "Warning:  unpack(): Type C: not enough input, need 1, have 0" errors

Cause

On restart the replication server sends an EOF packet is sent. The Event::consume() method simply skips the first byte, assuming it is an OK byte and tries to unpack a full OK header - this fails, since the EOF packet is much shorter.

First of all, thanks for this library.
The issue is not that severe, since the script exits anyhow, but since the unpack errors came first in our logs, we thought that the replication server sent an illegal packet, and spent a few hours investigating in that direction.

Hi tx for feedback, fix should be in new branch soon should be added to master

Thank you, that was quick.