Error: Cannot read property 'trim' of undefined

Hey!
Thanks for the action, it looks great. I'm trying to use it for a rather complicated use-case, and am getting the error
Error: Cannot read property 'trim' of undefined

Which comes from this line in your source code:  https://github.com/Wandalen/wretry.action/blob/master/src/Common.js#L188:
  function jobContextGet()
  {
    const context = Object.create( null );

    if( dockerExists() )
    {
      const containersIds = execSyncNonThrowing( 'docker ps --all --filter status=running --no-trunc --format "{{.ID}}"' );
      const ids = _.strSplit({ src : containersIds.toString(), delimeter : '\n', preservingEmpty : 0 });
      context.container = Object.create( null );
      context.services = Object.create( null );
      for( let i = 0 ; i < ids.length ; i++ )
      {
        const output = execSyncNonThrowing( `docker inspect ${ ids[ i ].trim() }` );  // <---- error here
        const parsed = JSON.parse( output.toString() );
        if( !context.container.network )
        context.container.network = parsed[ 0 ].HostConfig.NetworkMode;

        const service = Object.create( null );
        service.id = parsed[ 0 ].Id;
        service.ports = Object.create( null );
        for( let key in parsed[ 0 ].NetworkSettings.Ports )
        if( parsed[ 0 ].NetworkSettings.Ports[ key ] !== null )
        service.ports[ key.split( '/' )[ 0 ] ] = parsed[ 0 ].NetworkSettings.Ports[ key ][ 0 ].HostPort;
        service.network = context.container.network;

        context.services[ parsed[ 0 ].Args[ 0 ] ] = service;
      }
    }

But I've got no clue about what's happening when it comes to docker containers, so unfortunately this is an issue and not a PR.
Here's the commit where I modified the existing workflow to use your action: https://github.com/beyarkay/eskom-calendar-dev/commit/77bf6dcf4aca9aaf6994ed874cea47e7eddf6fdc
Here's the lines in the github workflow files where I'm using your action: https://github.com/beyarkay/eskom-calendar-dev/blob/main/.github/workflows/publish-calendars.yaml#L59-L111
Here's the run where I got the error: https://github.com/beyarkay/eskom-calendar-dev/actions/runs/3157204705/jobs/5137784537#step:10:56
I have a feeling that, because I've embedded a string inside the embeded string (see the body key and value in my action) that yaml might be getting confused? But this doesn't really match with the error as far as I can see.

Okay so I changed the multi-line string body to a single line, and it looks like the resulting step is working as expected.
I'm not entirely sure what to do though, because that multiline string is pretty essential.

Ah sorry you're right, it's my test environment for eskom-calendar which is the production environment. I'll send through snippets now

Here's the workflow that succeeds (maybe because body isn't a multiline string?)
name: Build and Publish Calendars

on:
  push:
    branches: [ "main" ]
    paths:
      - 'manually_specified.yaml'
      - 'src/*.rs'
      - 'src/*.py'
  workflow_dispatch:

env:
  CARGO_TERM_COLOR: always

jobs:
  build-and-publish-calendars:
    runs-on: ubuntu-latest
    steps:

    - name: Checkout repository
      uses: actions/checkout@v3

    - name: Cache dependencies
      uses: actions/cache@v3
      with:
        path: |
          ~/.cargo/bin/
          ~/.cargo/registry/index/
          ~/.cargo/registry/cache/
          ~/.cargo/git/db/
          target/
        key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}

    - name: Pip install requirements
      uses: BSFishy/pip-action@v1
      with:
        requirements: requirements.txt

    - name: Cargo build
      uses: actions-rs/cargo@v1
      with:
        command: build
        args: --release

    - name: Cargo run
      uses: actions-rs/cargo@v1
      with:
        command: run
        args: --release

    - name: Write current time stamp to GH variable
      id: date
      run: echo "::set-output name=datetime::$(date +'%Y-%m-%dT%H:%M:%S')"

    - name: List all calendars to GH variable
      run: echo "::set-output name=LS_CALENDARS::$(ls calendars/* | xargs echo | sed 's/ /,/g')"
      id: LS-CALENDARS

      # =========================
      # wretry.action STARTS HERE
      # =========================

    - name: Update latest release with new calendars, retrying if needed
      uses<EMAIL_ADDRESS>      with:
        attempt_limit: 5    # Retry up to 5 times
        attempt_delay: 5000 # Wait 5 seconds between attempts
        action: beyarkay/update-existing-release@master
        with: |
          token: ${{ secrets.GH_ACTIONS_PAT }}
          release: Latest Eskom Loadshedding Calendars
          updateTag: true
          tag: latest
          replace: true
          body: "This is the body"
          files: ${{ steps.LS-CALENDARS.outputs.LS_CALENDARS }}

And here's the action that fails, maybe because of the multiline string:
name: Build and Publish Calendars

on:
  push:
    branches: [ "main" ]
    paths:
      - 'manually_specified.yaml'
      - 'src/*.rs'
      - 'src/*.py'
  workflow_dispatch:

env:
  CARGO_TERM_COLOR: always

jobs:
  build-and-publish-calendars:
    runs-on: ubuntu-latest
    steps:

    - name: Checkout repository
      uses: actions/checkout@v3

    - name: Cache dependencies
      uses: actions/cache@v3
      with:
        path: |
          ~/.cargo/bin/
          ~/.cargo/registry/index/
          ~/.cargo/registry/cache/
          ~/.cargo/git/db/
          target/
        key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}

    - name: Pip install requirements
      uses: BSFishy/pip-action@v1
      with:
        requirements: requirements.txt

    - name: Cargo build
      uses: actions-rs/cargo@v1
      with:
        command: build
        args: --release

    - name: Cargo run
      uses: actions-rs/cargo@v1
      with:
        command: run
        args: --release

    - name: Write current time stamp to GH variable
      id: date
      run: echo "::set-output name=datetime::$(date +'%Y-%m-%dT%H:%M:%S')"

    - name: List all calendars to GH variable
      run: echo "::set-output name=LS_CALENDARS::$(ls calendars/* | xargs echo | sed 's/ /,/g')"
      id: LS-CALENDARS

    - name: Update latest release with new calendars, retrying if needed
      uses<EMAIL_ADDRESS>      with:
        attempt_limit: 5    # Retry up to 5 times
        attempt_delay: 5000 # Wait 5 seconds between attempts
        action: beyarkay/update-existing-release@master
        with: |
          token: ${{ secrets.GH_ACTIONS_PAT }}
          release: Latest Eskom Loadshedding Calendars
          updateTag: true
          tag: latest
          replace: true
          files: ${{ steps.LS-CALENDARS.outputs.LS_CALENDARS }}
          body: "# To get your load shedding schedule in your calendar:
            1. Scroll down to the blue links under `Assets`:
            ![Assets image](https://github.com/beyarkay/eskom-calendar/blob/main/imgs/assets.png)
            2. Find the `ics` calendar file corresponding to your area (use ctrl-f to search quickly).
            3. Right-click on the file and copy the link:
            ![Right click and copy image](https://github.com/beyarkay/eskom-calendar/blob/main/imgs/copy-link.png)
            4. Open your calendar app (Google Calendar, Outlook, Apple Calendar, etc)
            5. Paste the calendar link in your app's `subscribe to calendar` option.
            | [Google Calendar](https://calendar.google.com/calendar/u/0/r/settings/addbyurl)  | [Outlook](https://outlook.office.com/calendar/addcalendar) | [Apple Calendar](https://support.apple.com/en-za/guide/calendar/icl1022/mac) |
            | ----------------- | --------------- | --------------- |
            | ![google calendar subscription image](https://github.com/beyarkay/eskom-calendar/blob/main/imgs/gcal.png) | ![outlook subscripition image](https://github.com/beyarkay/eskom-calendar/blob/main/imgs/outlook.png) | ![apple calendar subscription image](https://github.com/beyarkay/eskom-calendar/blob/main/imgs/ical.png) |
            That's it!
            ### Details
            Now you've got loadshedding warnings in your calendar that tell you if the power will be off or not. This is better than apps like EskomSePush because it combines what area you're in with your area's loadshedding schedule. You'll only be notified if
            1. there's national loadshedding announced by Eskom *and*
            2. your area has loadshedding scheduled for that time.
            ### Developers
            There's also a machine-friendly csv file that contains loadshedding information. Have a look at the [`README.md`](https://github.com/beyarkay/eskom-calendar/tree/latest) for ideas!
            Last updated: ${{ steps.date.outputs.datetime }} UTC"

@beyarkay
It is restriction of the action. Each line of the field with  is interpreted as the pair key-value (see description of the field with).
Now you can use only single-line value.
I will try to extend action to handle such cases correctly.

Hmm okay, thanks for trying to fix it!

Hello, @beyarkay
I've fixed the problem with multiline strings in #65.
The new behavior is tested by the new tests.
Also, I manually test it in a test repository.
Code snippet:
      - uses : dmvict/wretry.action@fix
        with:
          action: dmvict/test.action@multiline_option
          with: |
            multiline: |
              one
              two
            string: |
          attempt_limit: 3
          attempt_delay: 2000

And the action works as I expected:

Please, use action Wandalen/wretry.action@master when PR #65 will be merged.
Do not use the dmvict/wretry.action@fix because, after the merge the branch fix will be removed.

Thanks! any idea when #65 will be merged?

I think it will be soon. I will report to the owner Wandalen that I opened PR with the fix.

The PR #65 was merged.
You can try to use new version.

I've changed my workflow to use 1.0.28, but now I'm getting the error: Error: Expects non-primitive.
Any idea what's causing this?

I think you are using invalid formatting.
Simplified example:
option: |
  first string
  second string

It is important to write vertical bare in declaration of multiline option and use indentation for each string in multiline option.

I can't see any errors in the formatting, but maybe I'm missing something? I uploaded the YAML here and it all seems to be valid. Here's the full file again:
name: Build and Publish Calendars

on:
  push:
    branches: [ "main" ]
    paths:
      - 'manually_specified.yaml'
      - 'src/*.rs'
      - 'src/*.py'
  workflow_dispatch:

env:
  CARGO_TERM_COLOR: always

jobs:
  build-and-publish-calendars:
    runs-on: ubuntu-latest
    steps:

    - name: Checkout repository
      uses: actions/checkout@v3

    - name: Cache dependencies
      uses: actions/cache@v3
      with:
        path: |
          ~/.cargo/bin/
          ~/.cargo/registry/index/
          ~/.cargo/registry/cache/
          ~/.cargo/git/db/
          target/
        key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}

    - name: Pip install requirements
      uses: BSFishy/pip-action@v1
      with:
        requirements: requirements.txt

    - name: Cargo build
      uses: actions-rs/cargo@v1
      with:
        command: build
        args: --release

    - name: Cargo run
      uses: actions-rs/cargo@v1
      with:
        command: run
        args: --release

    - name: Write current time stamp to GH variable
      id: date
      run: echo "::set-output name=datetime::$(date +'%Y-%m-%dT%H:%M:%S')"

    - name: List all calendars to GH variable
      run: echo "::set-output name=LS_CALENDARS::$(ls calendars/* | xargs echo | sed 's/ /,/g')"
      id: LS-CALENDARS

    - name: Update latest release with new calendars, retrying if needed
      uses<EMAIL_ADDRESS>      with:
        attempt_limit: 5    # Retry up to 5 times
        attempt_delay: 5000 # Wait 5 seconds between attempts
        action: beyarkay/update-existing-release@master
        with: |
          token: ${{ secrets.GH_ACTIONS_PAT }}
          release: Latest Eskom Loadshedding Calendars
          updateTag: true
          tag: latest
          replace: true
          files: ${{ steps.LS-CALENDARS.outputs.LS_CALENDARS }}
          body: "# To get your load shedding schedule in your calendar:
            1. Scroll down to the blue links under `Assets`:
            ![Assets image](https://github.com/beyarkay/eskom-calendar/blob/main/imgs/assets.png)
            2. Find the `ics` calendar file corresponding to your area (use ctrl-f to search quickly).
            3. Right-click on the file and copy the link:
            ![Right click and copy image](https://github.com/beyarkay/eskom-calendar/blob/main/imgs/copy-link.png)
            4. Open your calendar app (Google Calendar, Outlook, Apple Calendar, etc).
            5. Paste the calendar link in your app's `subscribe to calendar` option:
            | [Google Calendar](https://calendar.google.com/calendar/u/0/r/settings/addbyurl)  | [Outlook](https://outlook.office.com/calendar/addcalendar) | [Apple Calendar](https://support.apple.com/en-za/guide/calendar/icl1022/mac) |
            | ----------------- | --------------- | --------------- |
            | ![google calendar subscription image](https://github.com/beyarkay/eskom-calendar/blob/main/imgs/gcal.png) | ![outlook subscripition image](https://github.com/beyarkay/eskom-calendar/blob/main/imgs/outlook.png) | ![apple calendar subscription image](https://github.com/beyarkay/eskom-calendar/blob/main/imgs/ical.png) |
            That's it!
            ### Details
            Now you've got loadshedding warnings in your calendar that tell you if the power will be off or not. This is better than apps like EskomSePush because it combines what area you're in with your area's loadshedding schedule. You'll only be notified if
            1. there's national loadshedding announced by Eskom *and*
            2. your area has loadshedding scheduled for that time.
            ### Developers
            There's also a machine-friendly csv file that contains loadshedding information. Have a look at the [`README.md`](https://github.com/beyarkay/eskom-calendar/tree/latest) for ideas!
            Last updated: ${{ steps.date.outputs.datetime }} UTC"

Sorry, I had some important tasks.
The file is correct. The simplest parser that I implemented for the multiline strings uses vertical bar as begin token and indentations as continuation.
Please, replace the action with this code:
    - name: Update latest release with new calendars, retrying if needed
      uses<EMAIL_ADDRESS>      with:
        attempt_limit: 5    # Retry up to 5 times
        attempt_delay: 5000 # Wait 5 seconds between attempts
        action: beyarkay/update-existing-release@master
        with: |
          token: ${{ secrets.GH_ACTIONS_PAT }}
          release: Latest Eskom Loadshedding Calendars
          updateTag: true
          tag: latest
          replace: true
          files: ${{ steps.LS-CALENDARS.outputs.LS_CALENDARS }}
          body: |
            # To get your load shedding schedule in your calendar:
            1. Scroll down to the blue links under `Assets`:
            ![Assets image](https://github.com/beyarkay/eskom-calendar/blob/main/imgs/assets.png)
            2. Find the `ics` calendar file corresponding to your area (use ctrl-f to search quickly).
            3. Right-click on the file and copy the link:
            ![Right click and copy image](https://github.com/beyarkay/eskom-calendar/blob/main/imgs/copy-link.png)
            4. Open your calendar app (Google Calendar, Outlook, Apple Calendar, etc).
            5. Paste the calendar link in your app's `subscribe to calendar` option:
            | [Google Calendar](https://calendar.google.com/calendar/u/0/r/settings/addbyurl)  | [Outlook](https://outlook.office.com/calendar/addcalendar) | [Apple Calendar](https://support.apple.com/en-za/guide/calendar/icl1022/mac) |
            | ----------------- | --------------- | --------------- |
            | ![google calendar subscription image](https://github.com/beyarkay/eskom-calendar/blob/main/imgs/gcal.png) | ![outlook subscripition image](https://github.com/beyarkay/eskom-calendar/blob/main/imgs/outlook.png) | ![apple calendar subscription image](https://github.com/beyarkay/eskom-calendar/blob/main/imgs/ical.png) |
            That's it!
            ### Details
            Now you've got loadshedding warnings in your calendar that tell you if the power will be off or not. This is better than apps like EskomSePush because it combines what area you're in with your area's loadshedding schedule. You'll only be notified if
            1. there's national loadshedding announced by Eskom *and*
            2. your area has loadshedding scheduled for that time.
            ### Developers
            There's also a machine-friendly csv file that contains loadshedding information. Have a look at the [`README.md`](https://github.com/beyarkay/eskom-calendar/tree/latest) for ideas!
            Last updated: ${{ steps.date.outputs.datetime }} UTC

Thanks! Trying this out now...

Hello, @beyarkay
This PR https://github.com/Wandalen/wretry.action/pull/86 should solve the problem with skipping of empty strings.

Hello, @beyarkay
The new version is released. Please, try version v1.2.0 and give me a feedback.

Thanks! Will do when I get a minute

@beyarkay, did this fix the issue for you?
I noticed that accessing GitHub Actions secrets resulted in the mentioned Error: Expects non-primitive:
- uses: Wandalen/wretry.action@master
  with:
    action<EMAIL_ADDRESS>    with: |
      architecture: ${{ secrets.BAR }}

Hello @dominicmh
I suppose that your secret is a multiline string but the string does not keep indentations. Please, try hardcode the value using example from https://github.com/Wandalen/wretry.action/issues/64#issuecomment-1264993827

Thanks for the input, @dmvict! You're right, the secret is a multi-line string.
I wouldn't want to commit the hardcoded secret.
But just to verify your assumption, I converted the multi-line secret to single-line. And you're right, that resolved the issue.

@dominicmh I did not mean to commit real secret. I said 'try a hardcoded value to check behavior'.
It's good that the problem is solved.


Partial implementation of SharedState

Implements SharedState class.
Adds to_state_diff_storage_mapping to utils.rs (Function from utils of factr_state directory).
move state folder into business_logic to match python location.
Partially implements CarriedState.

This PR depends on PatriciaStateReader and to finish the implementation of CarriedState to be complete.

Codecov Report

Merging #61 (8fc03ad) into main (d49b502) will increase coverage by 0.18%.
The diff coverage is 25.00%.

@@            Coverage Diff             @@
##             main      #61      +/-   ##
==========================================
+ Coverage   74.36%   74.55%   +0.18%
==========================================
  Files          19       18       -1
  Lines         792      790       -2
==========================================
  Hits          589      589
+ Misses        203      201       -2

Impacted Files
Coverage Δ

src/business_logic/state/state_api_objects.rs
100.00% <ø> (ø)

src/business_logic/state/state_cache.rs
30.55% <ø> (ø)

...rc/core/syscalls/business_logic_syscall_handler.rs
70.09% <ø> (ø)

src/core/syscalls/os_syscall_handler.rs
85.71% <ø> (ø)

src/core/syscalls/syscall_handler.rs
68.61% <ø> (ø)

src/core/syscalls/syscall_response.rs
86.66% <ø> (ø)

src/utils.rs
41.17% <0.00%> (-22.46%)
:arrow_down:

src/business_logic/fact_state/state.rs
43.75% <43.75%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Is it possible to call a method of a Php::Object or even convert it to a C++ class directly?

I was trying to make a Bencode extension for PHP by PHP-CPP, so there were several classes like:
class BItem : public Php::Base {
public:
virtual std::string getType() const {
	return "BItem";
}
};

class BDict : public BItem {
public:
std::unordered_map<std::string, BItem*> BData;

std::string getType() const {
	return "BDict";
}

Php::Value getItem(Php::Parameters &params) {
	std::string key = params[0];
	...
	...
	return Php::Object(...);
}

// PHP: $a = new BDict(); $b = new BDict(); $a->addItem("key", $b);
// In fact, key itself should be a BStr but let's make it simpler in this example
void addItem(Php::Parameters &params) {
	std::string key = params[0];

	/**
	 * Here's the part confusing me
	 * Is there something like:
	 */
	BItem *toInsert = &params[1]; // However, params[1] is actually a Php::Object
	// Or something like (assuming it's a BDict):
	std::unordered_map<std::string, BItem*> data = params[1].getData();
	BDict *toInsert = new BDict(data);

	BData.insert({key, toInsert});
}
};

class BStr : public BItem {...};
class BList : public BItem {...};
class BInt : public BItem {...};

All the types except BItem can be inserted to a BDict.
So after creating an instance of one of them, how can I pass it back to the C++ part, "convert" it back to a C++ object and finally insert it into the BData?
Or, is there any way to access the member of the original C++ class, so that I can make a new instance?
I'm new to php extensions and any help or hint would be greatly appreciated.

Yes. If you have an object stored inside a Php::Value, and you know 100% sure that under the hood it has a C++ implementation, you can ask for this underlying C++ object:
void myFunction(Php::Parameters &params)
{
    // store the first parameter in a variable
    Php::Value object = params[0];

    // we want to be 100% sure that the passed in parameter is indeed one of our own objects
    if (!object.instanceOf("MySpecialClass")) throw Php::Exception("Wrong parameter passed");

    // cast the PHP object back into a C++ class
    MySpecialClass *cppobject = (MySpecialClass *)object.implementation();

    // @todo add your own code
}

Does this answer help you?

@EmielBruijntjes Thanks in advance!


About Inference Procedure

Hi,
Thanks for sharing this easy understanding codes.
Would you kindly provide the inference example when the optimal architecture is searched by decode_autodeeplab.py?
How can I load the trained weights and the corresponding searched architecture if I want to perform inference on a single input image?
Looking forward to your reply.

@MiZhangWhuer  I've just updated the readme to try to make the process more clear. Let me know if it helps you.
About inference, that will be the last step after 1. Architecture Search 2. Decode and 3. Re-train.
once you've trained your optimal model you will do inference like any other deep learning algorithm.


Contributor listing

fetching guild member using await so, add_contributor_to_list changed to async to account for this
black fmt
fixed issue where adding self as a contributor was returning a type error.
notes updating correctly in contributors.json

Merged this via merge commit  if you want or wanted rebase lmk


Migrate localBatchStore to use NBS instead of orderedPutCache

FYI @rafael-atticlabs

No need to migrate. Let's just remove it in favor of batched writing


Inconsistent ordering of reversion control and related timers

For example, in 704 we have this order, with the control first, followed by timer setpoint and then remaining time:

VarSetRvrtEna
VarSetRvrtTms
VarSetRvrtRem

But in 705 (and the other non-trip curve controls), we have this order, which places the control (reversion curve number) after its related timer settings:

RvrtTms
RvrtRem
RvrtCrv

To me, the ordering in 704 makes the most sense, but I'd at least like to see consistent ordering unless there's a strong reason for the inconsistency.

On further inspection, it seems like RvrtEna is not necessary and not consistent with the reversion state machine. We propose removing the RvrtEna points in 704.

That would work.

On second look, RvrtEna is really the enable setting on reversion, not whether reversion was enabled, so we will not be removing it


Split SecureKey into smaller SecureKeys

I want to use pwHash to generate enough key bytes to run both a secretbox and a keyed genericHash. But I also want the memory protections provided by the internal FFI functions like copy(). I've created a method split() which will create a list of SecretKeys from an existing SecretKey. I've put it in the interface, and implemented it in FFI and web.
Please check my FFI memory handling to make sure I didn't accidentally taint it by bringing it into the vm.
Additionally, I have a commit which puts the generated files into the repo. Without this I couldn't use the git syntax in my pubspec.yaml because the dart code is used as-is from the .pub-cache. I'm experienced enough to understand the tradeoffs with committing generated code. I hope you keep this so that we can rely on git if needed for future times you may have a feature you want others to try, but don't want to release it fully yet.

Hi, first, thanks for your contribution. I will address each part seperately:

Regarding the split function: You do in fact not need to extend the SecureKey to archive this, as you can operate on the lists passed to the runUnlocked* functions - these lists are mere views of the raw memory. A simply implementation, that would use these methods to copy data from one key to another would be the following:
SecureKey extract(Sodium sodium, SecureKey source, int begin, int end) {
  final out = SecureKey(sodium, end - begin);
  try {
    out.runUnlockedSync(
      (outData) => source.runUnlockedSync((sourceData) {
        outData.setRange(
          0,
          outData.length,
          sourceData,
          begin,
        );
      }),
      writable: true,
    );
    return out;
  } catch (e) {
    out.dispose();
    rethrow;
  }
}

The reason why this works is, that both sourceData and outData are simply views of the underlying raw pointers. In addition, setRange is implemented in a way that the dart vm utilizes memcpy if both lists are native data, which is the case here.
My recommendation would be for you to simply create an extension method on SecureKey with an implementation similar to this one to extract sub keys from the original one. I would be willing to merge such an extension methods, but I would like to keep the SecureKey interface as slim as possible, so it would have to be an extension.
Note: Your current implementation does indeed copy data from C to dart and back. To archive true memory efficiency, you must use the runUnlocked* methods and limit yourself to setRange (and the Uint8List.*view constructors) - anything else will lead to extra copies.

Secondly, regarding the generated build files - I am sorry to say, but I am strictly against it. Have a look at the CI pipeline - this is one of the many downsides of checked in generated files. I tend to treat them the same way as "compiled output" - they do not belong in a version control and their content is irrelevant, as it may change anytime, depending on the exact build dependencies used etc.
I do however understand your wish to be able to include the repository directly via git. However, you would not be able to do this with a C-library as well. I tend to do frequent releases even for minor changes, and if it is important for you, you can always request a new version via an issue (I might release it as pre-release, but unless the repository is broken, I will) - which leads to the last point. I don't give any guarantees on the state of the repository between releases. It might be completely broken, buggy, untested, etc. at any point. So using anything but the official releases is not recommended anyways.
Sorry for the long text, but I hope you understand my point of view. Again, if you refactor you split method to be an extension with the proposed copying mechanism, I would be happy to merge it.
Regards, Skycoder42

I love the deep explanation on both counts. When I have some time next week I’ll try to pull this info an extension using the methods you suggest (your explanation of the memory management was exactly what I hoped to get so that I could properly understand how it worked.
As for the generated outputs, I can absolutely respect differing views, each we’ll thought out. I need to test locally against my own project which depends on this code. Would you recommend a specific way to do that? I’m guess just using the path: in my project’s pubspec.yaml, but while I’m quite experienced with other languages and tooling I’m still catching up on Dart.

I am glad I could help, and I am looking forward to your contribution.
Using a path dependency is probably the only real way. The other options are hosted or git dependencies. Git won't work, because of the build files, and setting up your own pub.dev is not really something you would want to do. So, all thats left is the path. It's not optimal, but it works.
If you need to temporarily override the dependency, I suggest using the dependency-overrides for that.

@Skycoder42 would you mind reviewing the new code I've pushed? I think error handling, naming conventions, and of course memory handling could all use specific review.

I've fixed the imports, and I'd actually like to put together the unit tests for it myself. I had some trouble with the melos stuff earlier because it wanted me to upgrade libraries which couldn't actually be updated. Can you tell me how you run the unit tests?

@Skycoder42 ok, I've added some unit tests and fixed the data validation errors they exposed. I looked at the integration tests, and I wasn't clear on whether this change should be tested there. Because I didn't see the SecureKeyEquality in the integration testing I assumed that SecureKeySplit should also be skipped for that. What do you think?

Tja is for your contribution 🙂


[BUG] (.wav specific?) Keysounding in a dance chart plays sounds weirdly.

Is there an existing issue for this?

[X] I have searched the existing issues and none matched.

Operating System
Windows 10
CPU
AMD Ryzen 7 PRO
GPU
512MB ATI AMD Radeon Graphics
Storage
476GB Western Digital WDC PC SN730 SDBQNTY-512G-1001
Game Version
4.13.0
Game Mode
dance
Theme
Whichever Soundwaves comes with 4.13.0
Describe the problem
A song is playing keysounds weirdly. Specifically, it sounds like a broken NES trying to crunch out the crazy bus theme.
https://i.uguu.se/ueCkhHOv.mp4
The keysounds are all .wav files.
For reference, the song in question Happy Century from UPS 4.
Not all the sounds are broken however, there are still a lot which work fine, it's just whatever is used for most of the song is broken.
Describe what should happen
The sounds should be playing normally and not getting crusted out.
It should sound like this: https://www.youtube.com/watch?v=zSkkWdwyUGI
However, as linked above, it ends up sounding like this: https://i.uguu.se/ueCkhHOv.mp4
Relevant Log output
info.txt
log.txt
userlog.txt

fixed in 4.15, as we're reverting to the legacy sampler.


Have I been Pwned api v2 is discontinued

Expected Behavior
Should tell me whether or not I have been pwned
Actual Behavior
"This version of the API has been discontinued, please use V3: https://www.troyhunt.com/authentication-and-the-have-i-been-pwned-api/"
Proposal
Use v3 of the API

Hello @gustafholst,
Thanks for opening this issue. I will take a look at it once I'll be back.

Hi @gustafholst :wave:,
I know it has been a while. I'm finally coming back on track for Leon!
Leon now supports the API v3. Commit: https://github.com/leon-ai/leon/commit/0ca89fe32d51c80cec5f9446acf14990390a5917.
Feel free to reopen this issue if you see any trouble.

hi @louistiti!
great, thanks for the heads up!


"Detecting Kernels" spins forever

Testing #11963

Remote-SSH to a remote linux machine, from mac
Open a notebook
"Detecting Kernels" has been there for minutes

jupyter.log

Just as I filed this, it updated to show a kernel name, and still has the spinner. You can see the 10 minute gap in the logs
jupyter.log

Based on the logs

Extension loads at 15:44:46
And kernel discovery finishes at 15:44:53
At 15:53:32 the kernel selection changed (either you selected this manually or vscode selected this or other)

I.e. i don't see any issues (at least not from the logs()

I updated to get your logs. I see
debug 10:44:45.352: Start refreshing Kernel Picker<PHONE_NUMBER>352)
[snip]
debug 10:44:48.634: End refreshing Kernel Picker<PHONE_NUMBER>352)

Oddly, when I debugged the extension on the same remote, same folder, I didn't see this issue. But in normal insiders with the latest extension, I see it 100% of the time

jupyter3.log

@rebornix based on the logs we start the spinner and dispose the task,
we only do this once meaning there aren't multiple tasks created by us, the only one created gets disposed.
I.e. i think the cause for an infinite spinner must be in core


netutils/iperf/README.md: document what this is

Summary
netutils/iperf/README.md: document what this is
Impact
Testing

@cwespressif @Ouss4 can you confirm?

@cwespressif @Ouss4 can you confirm?

Hi @yamt , the description added above is completely correct, thank you.


Multiple issues in weave-net (kubernetes cni)

I'm using weave version 2.5.2 on kubernetes version 1.11.10. I've been seeing these errors in weave frequently in every hour. There are a lot of connection issues while external calls from pods. I'm unable to troubleshoot these issues. Can anyone help me understand what these errors mean and how can i remove them.
Also I'd like to understand how can I tune my MTU settings. There are multiple network interfaces in my host. How do I decide whose MTU value should be equivalent to that of weave. Would really appreciate any documentation or pointers on this.  Our prod performance is really taking a hit. Would want to eliminate weave as an issue if the logs are misleading and get to the real root of the problem
INFO: 2019/07/04 07:23:33.520512 EMSGSIZE on send, expecting PMTU update (IP packet was 60028 bytes, payload was 60020 bytes)
INFO: 2019/07/04 06:52:56.549384 sleeve ->[<IP_ADDRESS>:6783|ee:10:f8:5f:7a:b0(ip-10-11-3-170.ap-southeast-1.compute.internal)]: Effective MTU verified at 8939
INFO: 2019/07/04 07:30:13.986939 ->[<IP_ADDRESS>:6783|8e:4a:6b:b5:b5:e0(ip-10-11-3-24.ap-southeast-1.compute.internal)]: connection shutting down due to error: cannot connect to ourself
INFO: 2019/07/04 07:20:25.694554 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/07/04 07:22:47.667506 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection timed out
INFO: 2019/07/04 07:23:32.962780 ->[<IP_ADDRESS>:6783|be:25:ec:67:b2:53(ip-10-11-4-124.ap-southeast-1.compute.internal)]: connection shutting down due to error: Multiple connections to be:25:ec:67:b2:53(ip-10-11-4-124.ap-southeast-1.compute.internal) added to 8e:4a:6b:b5:b5:e0(ip-10-11-3-24.ap-southeast-1.compute.internal)

weave status
Use 'kubectl describe pod/weave-net-s7fhk -n kube-system' to see all of the containers in this pod.
/home/weave # ./weave --local status

        Version: 2.5.2 (up to date; next check at 2019/07/04 13:56:41)

        Service: router
       Protocol: weave 1..2
           Name: 8e:4a:6b:b5:b5:e0(ip-10-11-3-24.ap-southeast-1.compute.internal)
     Encryption: disabled
  PeerDiscovery: enabled
        Targets: 54
    Connections: 54 (53 established, 1 failed)
          Peers: 54 (with 2862 established connections)
 TrustedSubnets: none

        Service: ipam
         Status: ready
          Range: <IP_ADDRESS>/11
  DefaultSubnet: <IP_ADDRESS>/11

weave connections status
/home/weave # ./weave --local status connections
<- <IP_ADDRESS>:42093     established fastdp de:4e:e2:52:09:5e(ip-10-11-3-186.ap-southeast-1.compute.internal) mtu=8912
-> <IP_ADDRESS>:6783      established fastdp 2e:07:5a:86:47:db(ip-10-11-3-199.ap-southeast-1.compute.internal) mtu=8912
<- <IP_ADDRESS>:16539     established fastdp 4e:57:b6:df:bf:2e(ip-10-11-4-242.ap-southeast-1.compute.internal) mtu=8912
-> <IP_ADDRESS>:6783      established fastdp 7a:00:13:3d:7f:37(ip-10-11-3-193.ap-southeast-1.compute.internal) mtu=8912
<- <IP_ADDRESS>:55588      established fastdp f6:45:18:0f:2f:9b(ip-10-11-4-76.ap-southeast-1.compute.internal) mtu=8912
<- <IP_ADDRESS>:37937     established fastdp be:78:1e:60:68:c6(ip-10-11-3-177.ap-southeast-1.compute.internal) mtu=8912
<- <IP_ADDRESS>:20028     established fastdp 7e:d4:ca:29:3d:b6(ip-10-11-4-116.ap-southeast-1.compute.internal) mtu=8912
<- <IP_ADDRESS>:47457      established fastdp 6e:40:11:fd:69:b7(ip-10-11-4-96.ap-southeast-1.compute.internal) mtu=8912
<- <IP_ADDRESS>:63090     established fastdp 7a:34:9d:f6:4a:92(ip-10-11-3-137.ap-southeast-1.compute.internal) mtu=8912
<- <IP_ADDRESS>:17730     established fastdp 06:3c:c0:54:34:bc(ip-10-11-3-139.ap-southeast-1.compute.internal) mtu=8912
<- <IP_ADDRESS>:18892     established fastdp ca:00:4e:48:ed:7c(ip-10-11-4-225.ap-southeast-1.compute.internal) mtu=8912
<- <IP_ADDRESS>:58850     established fastdp c6:45:7e:43:1e:06(ip-10-11-3-197.ap-southeast-1.compute.internal) mtu=8912
<- <IP_ADDRESS>:43112     established fastdp ca:ff:3f:f2:d5:c2(ip-10-11-4-103.ap-southeast-1.compute.internal) mtu=8912
<- <IP_ADDRESS>:18248     established fastdp 62:27:64:05:d2:8a(ip-10-11-3-142.ap-southeast-1.compute.internal) mtu=8912

Re: connectivity issues, please see my comment #3619: https://github.com/weaveworks/weave/issues/3619#issuecomment-510569366

There are a lot of connection issues while external calls from pods.  I'm unable to troubleshoot these issues.

@monicagangwar please provide the details on the symptoms or nature of issues you are seeing. Its hard to help with a generalized description.

connection shutting down due to error: cannot connect to ourself

You can ignore this error. Weave running on each Kubernetes node connectes to rest of the nodes in the cluster. As error indicates its rejecting the connection to self.

connection shutting down due to error: Multiple connections

This could just be a trasient error. eventually all nodes can end up fully connected. Your weave --local status connections indicates all peers are connected.

Also I'd like to understand how can I tune my MTU settings.

MTU tuning is only needed for better performance. Should not result in any connection loss etc. Is this cluster a kops provisioned cluster? In which case it should have set to 8192.
You can find documentation https://www.weave.works/docs/net/latest/tasks/manage/fastdp/#packet-size-mtu

@murali-reddy thanks for clearing my doubts. Will update the comment  after debugging more for connection issues

@monicagangwar Hii Monica
Is this resolved or not?
1). I am facing the same issue. Suddenly my pods are not able to communicate mongoDB running on another host......But i am telnet from the server.
2) After restarting the weavenet pod......application pods are able to connect the mongodb
K8s version: 1.15
Weavnet Version: 2.5.2
A simple kubernetes cluster with single node(Master) acts as a worker as well.......
Can anyone please help me to resolve the issue. Thank you

@KrishnaKoppineni please open a new issue and supply the details requested.
I'll close this because everything that was specifically described was answered.


Expanded ci

Summary
Adds OSX and Windows to the CI process for the project.
This PR still needs work. The wiring for getting the builds running on OSX and Windows is in place but the project does not actually build cleanly on those platforms.
Details
Updated the Travis-CI configuration so that it runs tests against OSX and added a configuration file for running the build on AppVeyor (which provides Windows CI)
Motivation and Context
Fixes #1115
How Has This Been Tested?
It's a change to the CI process. It is inherently 'tested' with every build.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[ ] I've added tests for my code
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

@mattwynne This should be good to go now. The project now builds on Windows/Linux/OSx. The build is still red on Windows but that is a separate issue. Linux is green and OSx is green except for one JRuby sub-job but that's JRuby being flaky and timing out. That one has flickered throughout this process.


Jasmine refactor/backfill command/creating collections service2

So, this commit shows where I'm going with unit tests. There is a lot of duplicate functionality across the commands, strategies, and exchanges. I want to DRY that up, using one service function for each place we currently call that duplicate functionality.
To that end, I've created collection-service.js, and called it from the command backfill.js. Also, to the point of this whole effort, I created a unit test for the collection service.

You're completely right. There is duplicate code all over the place and it's very hard to refactor to achieve testability. Also having functions declared inside of functions is bad. It's very hard to understand the code flow in the project's current state.

@haxwell @DeviaVir I'd like to have automatic unit testing and codestyle checks using Travis CI. Do we have enough access rights to change the project settings?

@JensvdHeydt no, I do not.

@DeviaVir if we can't get hold of @carlos8f and he's the only one able to give these privileges, I think it's an option worth considering. Hard fork with credit to original author.

@tiagosiebler reached out to github support, they've been helpful in the past, maybe they have a solution for this too.

They've given me a new API endpoint that will allow me to migrate all issues. I've created https://github.com/carlos8f/zenbot/issues/1010 to track and get more opinions.


npm run init 报错

执行到_Install packages of talk-os_的时候报错如下：
npm ERR! Darwin 15.5.0
npm ERR! argv "/Users/wangchao/.nvm/versions/node/v4.6.0/bin/node" "/Users/wangchao/.nvm/versions/node/v4.6.0/bin/npm" "run" "init"
npm ERR! node v4.6.0
npm ERR! npm  v2.15.9
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>init: `./init.sh`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>init script './init.sh'.
npm ERR! This is most likely a problem with the talk-os package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     ./init.sh
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs talk-os
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!
npm ERR!     npm owner ls talk-os
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/wangchao/Design/OpenSource/talk-os-master/npm-debug.log

下面为npm-debug.log的内容：
0 info it worked if it ends with ok
1 verbose cli [ '/Users/wangchao/.nvm/versions/node/v4.6.0/bin/node',
1 verbose cli   '/Users/wangchao/.nvm/versions/node/v4.6.0/bin/npm',
1 verbose cli   'run',
1 verbose cli   'init' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'preinit', 'init', 'postinit' ]
5 info preinit<EMAIL_ADDRESS>6 info init<EMAIL_ADDRESS>7 verbose unsafe-perm in lifecycle true
8 info<EMAIL_ADDRESS>Failed to exec init script
9 verbose stack Error<EMAIL_ADDRESS>init: `./init.sh`
9 verbose stack Exit status 1
9 verbose stack     at EventEmitter.<anonymous> (/Users/wangchao/.nvm/versions/node/v4.6.0/lib/node_modules/npm/lib/utils/lifecycle.js:217:16)
9 verbose stack     at emitTwo (events.js:87:13)
9 verbose stack     at EventEmitter.emit (events.js:172:7)
9 verbose stack     at ChildProcess.<anonymous> (/Users/wangchao/.nvm/versions/node/v4.6.0/lib/node_modules/npm/lib/utils/spawn.js:24:14)
9 verbose stack     at emitTwo (events.js:87:13)
9 verbose stack     at ChildProcess.emit (events.js:172:7)
9 verbose stack     at maybeClose (internal/child_process.js:829:16)
9 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
10 verbose pkgid<EMAIL_ADDRESS>11 verbose cwd /Users/wangchao/Design/OpenSource/talk-os-master
12 error Darwin 15.5.0
13 error argv "/Users/wangchao/.nvm/versions/node/v4.6.0/bin/node" "/Users/wangchao/.nvm/versions/node/v4.6.0/bin/npm" "run" "init"
14 error node v4.6.0
15 error npm  v2.15.9
16 error code ELIFECYCLE
17 error<EMAIL_ADDRESS>init: `./init.sh`
17 error Exit status 1
18 error Failed at the<EMAIL_ADDRESS>init script './init.sh'.
18 error This is most likely a problem with the talk-os package,
18 error not with npm itself.
18 error Tell the author that this fails on your system:
18 error     ./init.sh
18 error You can get information on how to open an issue for this project with:
18 error     npm bugs talk-os
18 error Or if that isn't available, you can get their info via:
18 error
18 error     npm owner ls talk-os
18 error There is likely additional logging output above.
19 verbose exit [ 1, true ]

执行npm start    localhost:7001
{"code":404,"message":"Not Found"}

刚发现，我自己的版本不对。


Updates/tweaks to tutorial notebook for Meep S-parameters

Several updates and tweaks to the notebook tutorial demonstrating the computation of S-parameters using Meep.

Looks great. Thank you Ardavan


[fix] Enable global merge configs

Changes

Enabled global merge block label
Enabled global merge method labels
Fixed some test codes to use sub-test

Submitter Checklist

[x] Docs included if needed
[x] Tests included if needed
[x] Follows the good commit messages standard

@eddy-kor-92 @tom721 Review plz~

/test test-code


AndroidLion48 added Java

Added java section with interview questions links
fixes #113

@Olshansk please review and let me know if I need to change anything, thank you.


mods: add material ocean theme

adds material ocean theme to built-in mods

Yeah I thought the same about the extra tweaks, will add the other colors and maybe make the extra tweaks in a separate mod

@Blacksuan19 it might be better if instead of having a bunch of extensions for the tweaks, they were either all just in TWEAKS.md or all in a single extension with options to toggle them on/off... so if you do end up moving these tweaks into a separate mod it'd be great if you could put all the available tweaks in that mod (excluding block-specific ones).

That's doable, will look into it

squashing and opening new completed request


Window instantiation

I'd like to contrib to the project and extend the utility for window instantiation and control, is the project still continued?

In general, yes, I'm open to adding things. I have some requirements/requests though:

Every API needs to be documented.
I'm not a Windows user and very unfamiliar with it in general. I've learned portions of it that I needed to, but other aspects of Windows I'm less familiar with. So this probably means that the burden for documenting things is higher because ultimately I'm the one who needs to maintain the crate.
The crate should continue to have no dependencies other than winapi.
One of my goals for this crate was specifically to expose safe wrappers for Windows API routines. I'd like to continue that if possible. If unsafe is required, then it should be carefully designed.
In general, I'd like any APIs exposed to assume as little as possible and permit the full range exposed by the Windows API routines. (Or at least, make it possible to expand the crate later easily to accommodate such things.) There is often a tension between this and reducing unsafe usage, so this is really the core challenge.

Otherwise, I used the name "util" in the crate name to indicate this is an approximate dumping ground for things.

Closing this due to activity. And otherwise generally resistant to significant increases in scope here.


[FEATURE] Add subtitles support

implements: #79

created a Subtitles class which contains methods get_movie_subs() and get_tv_subs() which query api.opensubtitles.com and return a link to subtitle files for the respective movie or episode.
commented the VLC and MPV classes with --sub-file flags to show how subtitles can be added to those players.

api.opensubtitles.com docs

check on discord, this is not integrated!!

check on discord, this is not integrated!!

ah, my bad still a draft. I'm going to make some corrections.

sounds good, otherwise lemme know if there's anything I can change on my end

thanks for your changes! any ideas on how to set it up with the rest of the codebase?

thanks for your changes! any ideas on how to set it up with the rest of the codebase?

yeah, I'm going to look into it. :+1: First I need to get an API key and test this.

how is the password not the same when I copy and pasted it from my password manager :sob: WTF

I made a little test suite for this. You can run it with this command from the root directory:
python scripts/test_subtitles.py

I'll work more on this another day. Thanks for your contributions.

looks awesome, i'd love to contribute more

@Poseidon444 @r3tr0ananas Also can we remove Codacy, it's bugging me lmao.

I think if we want proper linting and type checking we should use something like ruff (which we already have). It's a hell of a lot faster and more accurate and if you want ruff to be more strict feel free to modify its toml file. Up to you guys are the end of the day though.

looks awesome, i'd love to contribute more

feel free 🙏

@Poseidon444 @r3tr0ananas Also can we remove Codacy, it's bugging me lmao.

Yeah, we can.

I still got time today to get this working if you wanna explain where I should call the subtitle methods to integrate it, I just don't really understand the way mov-cli works..

mov-cli v4 is plugin based meaning most likely the subtitles class will be called from the scraper in the plugin itself rather than mov-cli although I am still uncertain.
I'm not too good at explaining things but I'll try.
Here's a brief path of how mov-cli operates with plugins:
mov-cli -s films {query}

Results in these operations:
cli module --> plugin (films in this case) --> plugin's scraper --> Scraper.search(query) --> prompt results to user --> Scraper.scrape_metadata_episdoes(result) --> prompt episodes to user --> Scraper.scrape(result, episode) --> Player.play(media)

I'm still trying to come up with a good way to implement subtitles, I think there will be a bunch of changes that will have to be done with the codebase before subtitles can be implemented.

okay thank you for the explaination, I'll try to use the template stuff that @EbanNox sent in discord and put the subtitle functionality into some sort of plugin in the mean time

Just gonna dump my current thoughts here publically so I don't end up forgetting.
It should be the plugin's job to retrieve subtitles and pass it to the Media class, as if we do it natively (outside of the plugin's scraper) we will only have the user's query to work with in regards of determining which subtitle is actually the correct one for that media. The scraper can do a better job at this as it has the entire source to work with.
The subtitles url returned by the Subtitles class can be passed to the subtitles parameter in the Media class that the player will then handle. I say "handle" because with MPV you can pass the url as a subtitles file no problem and it just works but for VLC you will have to download the subs first then pass it; that can be done very easily from the VLC player class however.
Okay but how about if you don't want subtitles for the media you want to watch? This is where we must introduce a cli option like --subs or --subtitles. These will be boolean flags that you set whenever you want to pull subtitles. Although now we have another issue, remember that we gave the scraper control over subtitles. Now we'll need to tell the scraper when to pull subtitles and when to not.
To do this we can introduce a new parameter to Scraper.scrape() like scrape_subtitles:
def scrape(self, metadata: Metadata, episode: Optional[EpisodeSelector] = None, scrape_subtitles: bool = False) -> Series | Movie:
    ...

Now we'll need to tell the scraper when to pull subtitles and when to not.
To do this we can introduce a new parameter to Scraper.scrape() like scrape_subtitles:
def scrape(self, metadata: Metadata, episode: Optional[EpisodeSelector] = None, scrape_subtitles: bool = False) -> Series | Movie:
    ...

🎉 This pull request is what is going to make this possible: https://github.com/mov-cli/mov-cli/pull/26

I don't think this subtitles pr will do. Sadly if you don't get subs directly from the providers you will either have no subtitles or incorrect and delayed subtitles. Open Subtitles also has heavy rate limits for non developers so effecting basically every user.
I don't think this is the implementation I want to encourage in mov-cli plugins as it will lead to the problems I listed above.
Subtitles should be grabbed directly from the media provider itself, just like how the vadapav scraper does it.
I'll merge a few things from this pr though like the player subtitle args. Thanks @shinysocks for your contribution.


Does not work on Vue CLI 3

Hi, any idea on how to make this work on the new Vue CLI 3.0?
I am using Typescript on that CLI build.
Cheers and thanks for you attention.

Hi, I answered my own question. If anyone has the same problem the solution is here:
https://stackoverflow.com/questions/41292559/could-not-find-a-declaration-file-for-module-module-name-path-to-module-nam
Follow the instructions explained by Retsam

Thanks!


ci: fix release pipeline

Fixes the release pipeline.
Description
A previous commit for the integration tests switched the changes that have to be made to the values.yaml from the pipeline to the integration test script. This works for the regular developp pipeline, but not the release pipeline, where these values.yaml changes are not desired.
The integration test hast been changed, so that the script knows which branch/tag it's running on and decide whether to make the changes to the values.yaml ort not
Checklist

[x] PR is rebased to/aimed at branch develop
[x] PR follows Contributing Guide
[ ] Added tests (if necessary)
[x] Extended README/Documentation (if necessary)
[ ] Adjusted versions of image and Helm chart in values.yaml and Chart.yaml (if necessary)

Codecov Report

Merging #497 (63b2d74) into develop (29a27a5) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #497   +/-   ##
========================================
  Coverage    94.40%   94.40%
========================================
  Files           22       22
  Lines         1108     1108
========================================
  Hits          1046     1046
  Misses          62       62

Continue to review full report at Codecov.

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


Fix markers org query

Change-type: patch
Signed-off-by: Josh Bowling<EMAIL_ADDRESS>
Guess we have some missing marker tests...
Shows that we should test beta packages against consumers before merging anything even semi-serious like refactors.

@balena-ci I self certify!


shim/cli: query best block by default

Current dependencies on/for this PR:

#255
#254
#253  👈
main

This stack of pull requests is managed by Graphite.


CAMEL-14148 fix (master)

@basclaessen can you create the PR for camel-2.x too? Thanks

@oscerd Unit tests are running at the moment, the PR for camel-2.x will be ready soon

Thanks a lot


Question: How are you working with the variables as a value?

For the typography the following is happening:
./design-tokens.json
{
  "fontFamilies": {
    "font-arial": "Arial"
  },
  "typography": {
    "headers": {
      "fontFamily": "$fontFamilies.font-arial"
    }
  }
}

How are you using that in your application?
Typically json-sass (example) tools don't handle variables to generate a value do they?

Indeed, variables is not json-conform. The JSON tab in the plugin is more like an "input" than an Export tab. When we finally include a method to Export to valid JSON, all these variables should be converted to their real values.

Regarding variables as a value, can you do calculations with them? Thank you!
Example:
{
    "sizing": {
        "usr-base": "8px",
        "usr-base-2x": "$sizing.usr-base * 2"
    }
}

Regarding variables as a value, can you do calculations with them? Thank you!
Example:
{
    "sizing": {
        "usr-base": "8px",
        "usr-base-2x": "$sizing.usr-base * 2"
    }
}

Totally missed your reply @nathancooper — yes you can! What you wrote should work.


Add jsonp combinator

Adds a jsonP combinator. This is convenient for using an existing type proxy on data that arrives as a JSON-encoded string.

@andymac-2 let me know what you think


Server freezes when reloading many chunks

How to reproduce:

set mc client render distance to 32 chunks
delete server data directories
start server
join server
fly to position -2000, 2000 (45° angle)
disconnect from server
stop server
start server
join server
fly back to 0, 0 (-135° angle)

Expected behaviour:

Chunks load normally

Actual behaviour:

Chunks stop loading while flying back to 0, 0
server does not respond anymore
server uses almost 100% cpu
server runs out of memory

First bad commit:
[28d1b4268d2626359e7db853491c583a5e703435] Rework regions and add SingleRegionManager
System specs:

16 GiB memory
Intel i7-6700K (8) @ 4.200GHz

Seems to be working now, closing


ObjcOptions.headerIncludePath not used

What package does this bug report belong to?
pigeon
What target platforms are you seeing this bug on?
iOS
Have you already upgraded your packages?
Yes
Dependency versions
pubspec.lock
[Paste file content here]

Steps to reproduce

Edit objcOptions in packages/image_picker/image_picker_ios/pigeons/messages.dart and add headerIncludePath

@ConfigurePigeon(PigeonOptions(
  ...
  objcOptions: ObjcOptions(
    prefix: 'FLT',
    headerIncludePath: 'image_picker_ios/messages.g.h'
  ),
  ...
))

cd path/to/packages/packages/image_picker/image_picker_ios
Run dart run pigeon --input pigeons/messages.dart

Expected results
I would expect messages.g.m to have
#import "image_picker_ios/messages.g.h"

Actual results
Instead, messages.g.m has
#import "messages.g.h"

Code sample
Use https://github.com/flutter/packages/blob/ebd138dc43e6f306e08662f42f92d97fc9caff68/packages/image_picker/image_picker_ios/pigeons/messages.dart as code sample
Screenshots or Videos

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[!] Flutter (Channel master, 3.22.0-16.0.pre.44, on macOS 14.4.1 23E224 darwin-arm64, locale en)
    ! Upstream repository xxxx is not a standard remote.
[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcode - develop for iOS and macOS (Xcode 15.0)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.1)
[✓] VS Code (version 1.88.1)
[✓] Connected device (5 available)
[✓] Network resources

! Doctor found issues in 2 categories.

This is occurring due to a few reasons:
headerIncludePath is not mapped correctly due to it being header instead of headerIncludePath:
https://github.com/flutter/packages/blob/ebd138dc43e6f306e08662f42f92d97fc9caff68/packages/pigeon/lib/objc_generator.dart#L53
https://github.com/flutter/packages/blob/ebd138dc43e6f306e08662f42f92d97fc9caff68/packages/pigeon/lib/objc_generator.dart#L43
headerIncludePath is overwritten if objectHeaderOut is not null:
https://github.com/flutter/packages/blob/ebd138dc43e6f306e08662f42f92d97fc9caff68/packages/pigeon/lib/pigeon_lib.dart#L2247-L2252

Additional information:
From what I can tell, when messages.g.h is not within the same directory as messages.g.m and there are multiple plugins that have a messages.g.h file, it will be unable to find it and gives an error:
Lexical or Preprocessor Issue (Xcode): 'messages.g.h' file not found

This can be a problem, especially with Swift Package Manager, which usually has public headers in a different directory than source files (see "Converting an existing Objective-C Flutter Plugin to a Swift Package" step 5).
This can be resolved by either:

Renaming messages.g.h to something unique that won't conflict with other plugins
Changing the import from #import "messages.g.h" -> #import "plugin_name/messages.g.h"

I believe this works due to hmaps and must have USE_HEADERMAP be YES (the default) in Xcode settings

Related issues:
https://github.com/firebase/flutterfire/issues/9511
https://github.com/flutter/flutter/issues/111728

/cc @tarrinneal


x/tools/go/packages: cannot specify build tags in Options

AFAICT, golang.org/x/tools/go/packages does not provide any way to set what build tags are being used when finding files for the package.
/cc @ianthehat

Fixed by golang.org/cl/125302
Build tags can be passed to golang.org/x/tools/go/packages by adding the "-tags" flag to Config.Flags


1:1 1.8 PvP

Let's make sure melee combat is as 1:1 with 1.8 PvP as possible.

Combat system immunity timeframe issues:

Current timeframe feels incorrect
Suggestion: Could be around 20 (units/frames?)

Knockback mechanics:

Feels partially correct but has issues
Major problem: Allows infinite air combos on players

Sprinting-related knockback:

Knockback calculation doesn't account for sprinting state
Issue with sprinting metadata:

"IS_SPRINTING" exists in component system
Not being tracked/stored properly in metadata
Unclear if this is a bug or implementation error

Would you like me to help investigate any of these specific issues? I can assist with reviewing or modifying the combat system code to address these concerns.

@addbounty $50

Bounty Added: $50 🎉
You've successfully added a bounty of $50 to this issue. The total bounty is now $50.

Tracking the Bounty: The bounty is now tied to this issue. Contributors can submit PRs to claim it by resolving the issue.
Decay Reminder: The bounty value decreases by 3% per day if not claimed.
Completion and Payout:

Once a PR is merged, the bounty system will start a 14-day acceptance window.

Acceptance/Challenge:

The issue author can accept or contest the payout during the window.
No response? Auto-acceptance after 14 days.

Happy bounty hunting! 🚀
Signup Banner

btw still figuring the bounty components but will be distributed proportional to # of PRs that do part in fixing this after bounty was made I'm thinking... unless we want any other metric.

Bounty Added: $50 🎉
You've successfully added a bounty of $50 to this issue. The total bounty is now $50.

Tracking the Bounty: The bounty is now tied to this issue. Contributors can submit PRs to claim it by resolving
the issue.
Decay Reminder: The bounty value decreases by 3% per day if not claimed.
Completion and Payout:

Once a PR is merged, the bounty system will start a 14-day acceptance window.

Acceptance/Challenge:

The issue author can accept or contest the payout during the window.
No response? Auto-acceptance after 14 days.

Happy bounty hunting! 🚀
Signup Banner

oops 😭

BTW we fixed the metadata stuff in physics branch

BTW we fixed the metadata stuff in physics branch

what was the issue?

for some reason in hyperion/src/simulation/metadata/mod.rs
it was
observer!(world, flecs::OnSet, &T, [filter] &mut MetadataChanges,).each(|(value, changes)| {
        changes.encode(*value);
});

let register = |view: &mut EntityView<'_>| {
        view.set(T::default());
};

to
world
        .system_named::<(
            &mut (Prev, T),       //            (0)
            &mut T,               //                  (1)
            &mut MetadataChanges, //     (2)
        )>(system_name)
        .multi_threaded()
        .kind::<flecs::pipeline::OnStore>()
        .run(move |mut table| {
            while table.next() {
                unsafe {
                    let mut prev = table.field_unchecked::<T>(0);
                    let prev = prev.get_mut(..).unwrap();

                    let current = table.field_unchecked::<T>(1);
                    let current = current.get(..).unwrap();

                    let mut metadata_changes = table.field_unchecked::<MetadataChanges>(2);
                    let metadata_changes = metadata_changes.get_mut(..).unwrap();

                    // todo(perf): big optimization treating as raw bytes and SIMD
                    // or code that can easily be compiled to SIMD
                    // also can do copy_from_slice in one pass but want SIMD-optimized
                    // first
                    // todo(learn): reborrowing in-depth
                    for (idx, (prev, current)) in itertools::zip_eq(&mut *prev, current).enumerate()
                    {
                        if prev != current {
                            let metadata_changes = metadata_changes.get_unchecked_mut(idx);
                            metadata_changes.encode(*current);
                        }
                    }

                    prev.copy_from_slice(current);
                }
            }
        });

    let register = |view: &mut EntityView<'_>| {
        view.set_pair::<Prev, _>(T::default()).set(T::default());
    };
    ```

and Kump went back to the commit where it this broke it and we just set it back to what it used to be before it broke it. this also broke `/spawn` command but removing the prev and current check fixed it but broke bows

After #696 is merged, it feels like 1.8 PvP. Probably there are some more changes still left todo, but still good job so far everyone :)

After #696 is merged, it feels like 1.8 PvP. Probably there are some more changes still left todo, but still good job so far everyone :)

yea before closing this probably want to get someone on who is big into PvP and test it with them. I know one such person.

https://github.com/andrewgazelka/hyperion/issues/707 going to integrate this and then should be easier for people to join

🎯 Bounty Completed!
Time to Completion: 21h 5m (Dec 13 → Dec 13)
💰 Bounty Details

Initial Bounty: $50.00
Final Bounty: $48.69

Thank you for contributing to open source! The bounty will be transferred after the acceptance window.
Want to earn bounties too? Sign up for GHBountyBot 🤖

anyway I will consider this effectively completed :) sooooo I just need to figure out how to split the bounty up 😅

good job everyone :)

going to close this. for now


Feature request - Key to enable/disable major upgrades

Right now, I've got my MDM set up to detect the OS of a computer, and then deploy a customized json depending on what OS it finds. We do this to set the minimum-required OS to the newest version of whatever OS is on the Mac in question, and not nudge the user if they're fully-patched in 10.14 to upgrade to 10.15.
Would it be possible to simplify this logic? Perhaps if there was a key to say "If you see no updates other than a jump to a new, named OS version, consider the Mac updated and do not show nudge"? I'm hoping to get to the point where I can host a .json file online and point my devices at it so I don't have to update it across all our different fleets, but rather in one spot... the complex part comes in managing the minimum versions across macOS 10.14, 10.15, and 11.
Example json:
"minimum_os_sub_build_versions":  ["18G6020", "19G2021", "20A5343i"],
"update_major": false,
"update_minor": true,

Good news! The new design handles this. Once the read me is written I think you'll be pleasantly surprised. I do not think you will need to host multiple JSON files with this version.
I'm going to close this ticket.


[Question] sourceEvent not working properly

@dandriscoll @nwhitmont
I am trying to create a multiple button on facebook chat bot with sourceEvent use but it is not working properly.
I tried with below code,
var msg = new builder.Message(session);
        msg.sourceEvent({
            message: {
                attachment: {
                    type: "template",
                    payload: {
                        template_type: "generic",
                        text: "What do you want to do next?",
                        buttons: [
                            {
                                type: "web_url",
                                url: "https://google.com",
                                title: "Show Website"
                            },
                            {
                                type: "element_share",
                                title: "Start Chatting",
                                payload: "USER_DEFINED_PAYLOAD"
                            }
                        ]
                    }
                }
            }
        });
session.send(msg);

On FB messenger nothing displayed, and code side no exception or error thrown.

@chetanmekha
The Bot Framework support team prefers to answer questions like this on Stack Overflow.  If the issue gets closed here on GitHub, it will not be available and indexed for external search engines so others can easily find it.  We are happy to answer your question here, but would you please also post your question to Stack Overflow.  Thanks!

Above problem solved from my side, From next time will take care about this.


Add explicit namespace to all namespaced resources in Helm chart

See https://github.com/cert-manager/approver-policy/pull/170 - this is the same problem but in csi-driver rather than approver-policy!
In short: this helps with running helm template

Added in #166


useMutation onSuccess callback updates cache, but component is not re-rendered after redirect

Describe the bug
When using useMutation and updating cache in onSuccess callback, data on cache is updated but component does not get re-rendered after redirect.
To Reproduce
Steps to reproduce the behavior:

Go to https://codesandbox.io/s/vigorous-smoke-dcq8i?fontsize=14&hidenavigation=1&theme=dark
Click on Load link & then click load button.
You'll see data is updated on ReactQueryDev tools, while App shows previous data

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots

Desktop (please complete the following information):

OS: Ubuntu 20.04
Browser: Firefox 81.0

Additional context
Add any other context about the problem here.

Hi @pdambrauskas! I'm not exactly sure what is going on here but it seems to be fixed in V3: https://codesandbox.io/s/zen-bouman-gzxq8

Thanks @boschni! It really does work as expected with 2.24.0-next.5


Tools: Feature external tooling & libraries

Adds Cookbook.dev and Thirdweb to our Tools page.

@fhildeb don't you want to use the https://docs.lukso.tech/tools/partners page instead? It looks a bit duplicate imo


differences between cyclegan and discogan

(https://www.quora.com/What-is-the-difference-between-CycleGAN-and-DiscoGAN-They-both-seem-to-be-the-same-thing)

CycleGAN has a single cycle-consistency loss. Also, when comparing F(G(y)) with y, it seems that the two papers use different forms of distance measures (MSE, hinge-loss).
CycleGan has an addition hyperparameter to adjust the contribution of reconstruction/cycle-consistency loss in the overall loss function.
the generator structures used in DiscoGan and CycleGan are somewhat different.

Hey, about the first point, isn't the single cycle-consistency loss defined as a sum of the two forward cycle-consistent loss and backward cycle-consistent loss just as in DiscoGAN?

@Yash2208 yes, exactly. cyclegan uses one cycle-consistency losses by adding up the losses from each domain transfer generator (Gab + Gba) with multiplication of scale factor gamma (10 in the paper.), while DIscoGAN uses each losses respectively without summation.
I found this difference is very tirivial, though. :)


Scaffold.geometryOf() must only be accessed during the paint phase.

Steps to reproduce
Create 2 screens

Create a Screen (A) with BottomNavigationBar to have a floating action button in the centerDocked.
Create another Screen(B) and add a floating action button in the end float.
Now navigate from screen A to B, and go back.
Repeat step 3 for 5,6 times and you will see this error.

Note: Screen B should not be part of the bottom navigation bar. it should be a separate screen
Expected results
It should work fine as it's working with others with no floating actions buttons screen.
Actual results
Currently, it's giving an error with all screens that have floating action buttons.
Screenshots or Video

Screenshots / Video demonstration

https://github.com/flutter/flutter/assets/14882412/e9620a42-abf6-4eae-be7f-b7ce0a62d2e5
Logs
Logs
======== Exception caught by gestures library ======================================================
The following assertion was thrown while handling a pointer data packet:
Scaffold.geometryOf() must only be accessed during the paint phase.

The ScaffoldGeometry is only available during the paint phase, because its value is computed during the animation and layout phases prior to painting.
When the exception was thrown, this was the stack:
#0      _ScaffoldGeometryNotifier.value.<anonymous closure> (package:flutter/src/material/scaffold.dart:838:9)
#1      _ScaffoldGeometryNotifier.value (package:flutter/src/material/scaffold.dart:845:6)
#2      _BottomAppBarClipper.getClip (package:flutter/src/material/bottom_app_bar.dart:262:35)
#3      _RenderCustomClip._updateClip (package:flutter/src/rendering/proxy_box.dart:1447:25)
#4      RenderPhysicalShape.hitTest (package:flutter/src/rendering/proxy_box.dart:2098:7)
#5      RenderBoxContainerDefaultsMixin.defaultHitTestChildren.<anonymous closure> (package:flutter/src/rendering/box.dart:2861:25)
#6      BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:800:31)
#7      RenderBoxContainerDefaultsMixin.defaultHitTestChildren (package:flutter/src/rendering/box.dart:2856:33)
#8      RenderCustomMultiChildLayoutBox.hitTestChildren (package:flutter/src/rendering/custom_layout.dart:414:12)
#9      RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11)
#10     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#11     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11)
#12     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#13     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11)
#14     RenderPhysicalModel.hitTest (package:flutter/src/rendering/proxy_box.dart:1990:18)
#15     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#16     RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:173:19)
#17     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#18     RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:173:19)
#19     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#20     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11)
#21     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#22     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11)
#23     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#24     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11)
#25     RenderIgnorePointer.hitTest (package:flutter/src/rendering/proxy_box.dart:3604:31)
#26     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#27     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11)
#28     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#29     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11)
#30     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#31     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11)
#32     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#33     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11)
#34     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#35     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11)
#36     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#37     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11)
#38     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#39     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11)
#40     RenderOffstage.hitTest (package:flutter/src/rendering/proxy_box.dart:3734:31)
#41     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#42     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11)
#43     _RenderTheaterMixin.hitTestChildren.childHitTest (package:flutter/src/widgets/overlay.dart:985:81)
#44     BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:800:31)
#45     _RenderTheaterMixin.hitTestChildren (package:flutter/src/widgets/overlay.dart:986:22)
#46     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11)
#47     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#48     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11)
#49     RenderAbsorbPointer.hitTest (package:flutter/src/rendering/proxy_box.dart:3857:17)
#50     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#51     RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:173:19)
#52     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#53     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11)
#54     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#55     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11)
#56     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#57     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11)
#58     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#59     RenderTapRegionSurface.hitTest (package:flutter/src/widgets/tap_region.dart:214:28)
#60     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#61     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11)
#62     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#63     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11)
#64     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19)
#65     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11)
#66     RenderView.hitTest (package:flutter/src/rendering/view.dart:211:14)
#67     RendererBinding.hitTestInView (package:flutter/src/rendering/binding.dart:615:34)
#68     GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:391:7)
#69     GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:383:5)
#70     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:330:7)
#71     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:299:9)
#72     _invoke1 (dart:ui/hooks.dart:328:13)
#73     PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:429:7)
#74     _dispatchPointerDataPacket (dart:ui/hooks.dart:262:31)

Flutter Doctor output
Doctor output
[√] Flutter (Channel stable, 3.19.2, on Microsoft Windows [Version 10.0.19045.4046], locale en-US)
    • Flutter version 3.19.2 on channel stable at C:\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision<PHONE_NUMBER> (3 weeks ago), 2024-02-27 16:51:22 -0500
    • Engine revision 04817c99c9
    • Dart version 3.3.0
    • DevTools version 2.31.1

[√] Windows Version (Installed version of Windows is version 10 or higher)

[√] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at C:\Users\Nexgen\AppData\Local\Android\Sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: C:\Program Files\Android\Android Studio\jbr\bin\java
    • Java version OpenJDK Runtime Environment (build 17.0.9+0--11185874)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[X] Visual Studio - develop Windows apps
    X Visual Studio not installed; this is necessary to develop Windows apps.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components

[√] Android Studio (version 2023.2)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.9+0--11185874)

[√] Connected device (4 available)
    • Pixel 4a (mobile) • 16021JEC206054 • android-arm64  • Android 13 (API 33)
    • Windows (desktop) • windows        • windows-x64    • Microsoft Windows [Version 10.0.19045.4046]
    • Chrome (web)      • chrome         • web-javascript • Google Chrome 122.0.6261.129
    • Edge (web)        • edge           • web-javascript • Microsoft Edge 122.0.2365.92

[√] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

Based on the exception, it seems similar to https://github.com/flutter/flutter/issues/140733, so please follow-up in it for further updates. Closing as duplicate. If you disagree, write in comments and I'll reopen it.