Unable to get the parent of an element

Tool: WinAppdriver
Objective of my test is to get the name of 'Desktop' pane where the application is open, hence trying to get the parent of an element:
the parent of an element its returning null..
var parent = _driver.Current.FindElementByXPath("//[@RuntimeId= "+element.Id+ "]/parent::")
any solution plz.

Can you be a little more specific? more or less the runtime id are dynamic.

@anunay1
under inspect.exe the dropdown list of the application appears under the 'Desktop 1' pane, which is outside the application (GetTheList.png). Hence unable to access this dropdown list.
To achieve this, trying to use the logic : -  Get the parent/ancestors (Ancestors.png) of any element of the application, and thus fetch the desktop pane name where the application is open and then try to access  the list under desktop pane. But failed to get the parent of the element.
I am also not sure if this logic will work.
[.png attached

]

oh ok. Then you need to create a root session and jumped to the list, to select the item in the list. Based on the language binding please check the below issues.
if C# see https://github.com/microsoft/WinAppDriver/issues/1341
if python check https://github.com/microsoft/WinAppDriver/issues/1646

@anunay1 :Its not very clear to me from here #1341, if you kindly assist..
i have a driver session:
private WindowsDriver GetCurrentDriver()
{
var appiumOptions = new AppiumOptions();
appiumOptions.AddAdditionalCapability("app", _applicationNameOrPath);
appiumOptions.AddAdditionalCapability("appArguments", _applicationArg);
appiumOptions.AddAdditionalCapability("deviceName", "WindowsPC");
string appSetting = _configurationDriver.Configuration["winAppUri"];
var remoteAddress = new Uri(appSetting);
var driver = new WindowsDriver(remoteAddress, appiumOptions);
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(1.5);
return driver;
}

Look into the closed issues i have given the code.

could you please share the link of the code in c#

Search in the closed bug with Id anunay1

Check #1246

@anunay1
I made different root driver session:
private WindowsDriver GetRootDriver()
{
        var appiumOptions = new AppiumOptions();
        appiumOptions.AddAdditionalCapability("app", "Root");
        string appSetting = _configurationDriver.Configuration["winAppUri"];
        var remoteAddress = new Uri(appSetting);
        var driverRoot = new WindowsDriver<WindowsElement>(remoteAddress, appiumOptions);
         Assert.IsNotNull(driverRoot);
        return driverRoot;

        //var RSWindow = driverRoot.FindElementByName(mainWindowTitle);
        //var RSTopLevelWindowHandle = RSWindow.GetAttribute("NativeWindowHandle");
        //RSTopLevelWindowHandle = (int.Parse(RSTopLevelWindowHandle)).ToString("x");

        //DesiredCapabilities appcapabilities = new DesiredCapabilities();
        //appcapabilities.SetCapability("appTopLevelWindow", RSTopLevelWindowHandle);
        //driver = new WindowsDriver<WindowsElement>(new Uri(WindowsApplicationDriverUrl), appcapabilities);`

    }

private WindowsDriver GetCurrentDriver()
{
var appiumOptions = new AppiumOptions();
appiumOptions.AddAdditionalCapability("app", _applicationNameOrPath);
appiumOptions.AddAdditionalCapability("appArguments", _applicationArg);
appiumOptions.AddAdditionalCapability("deviceName", "WindowsPC");
string appSetting = _configurationDriver.Configuration["winAppUri"];
var remoteAddress = new Uri(appSetting);
var driver = new WindowsDriver(remoteAddress, appiumOptions);
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(1.5);
return driver;
}
and then trying to get the list :
var list=_driverRoot.Current.FindElementByXPath("//*[@LocalizedControlType='list'");
its throwing eror: error: The HTTP request to the remote WebDriver server for URL http://<IP_ADDRESS>:4723/session/A6944998-F547-42DC-BF7A-EAEF2577A9B5/element timed out after 60 seconds. (92.1s)
Any suggestion on this please?

try this _driverRoot.FindElementByName("Listname").
FindElementsByTagName("ListItem");
Try not to use the xpath it's terribly slow.

@anunay1
tried using :
var list = _driverRoot.Current.FindElementByTagName("List");
var count = list.FindElementByTagName("List item");
Console.WriteLine("Count=" + count);
but throwing message: The HTTP request to the remote WebDriver server for URL http://<IP_ADDRESS>:4723/session/4C8F5B41-F302-4F5B-96A0-755A776DE583/element timed out after 60 seconds. -> The operation has timed out.
Two screenshots from inspect.exe.
The 'List' is named as 'list' and 'List Item' as 'list item'

Can you set up a teams call?

can we do it on skype plz...

@ritusenleo Based on the communication, if you cannot show me the application, I will not be able to help now or even in future.

@anunay1 As per the communication, the suggestion which you gave solved my problem.
Thank you very much.
var list = _driverRoot.Current.FindElementByClassName("ComboLBox");
var count = list.FindElementsByTagName("ListItem").Count;
Sure will look into it from next time.

I am in the meeting start the call.
On Fri, Aug 26, 2022 at 4:55 PM Ritu @.***> wrote:

can we do it on skype plz...
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/WinAppDriver/issues/1777#issuecomment-1228375946,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB46S2VV5ZCXCCWX66O4A7DV3CSRNANCNFSM57ONJ53A
.
You are receiving this because you were mentioned.Message ID:
@.***>

Sorry Ananya,
At present I am in my office meeting... Any meeting request you got from my
end??
On Tue, Oct 11, 2022, 09:22 ANUNAYA THAKUR @.***> wrote:

I am in the meeting start the call.
On Fri, Aug 26, 2022 at 4:55 PM Ritu @.***> wrote:

can we do it on skype plz...
—
Reply to this email directly, view it on GitHub
<
https://github.com/microsoft/WinAppDriver/issues/1777#issuecomment-1228375946
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AB46S2VV5ZCXCCWX66O4A7DV3CSRNANCNFSM57ONJ53A
.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/WinAppDriver/issues/1777#issuecomment-1274293114,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMPRPMSVIFFFW55HGBUEQGTWCUPV7ANCNFSM57ONJ53A
.
You are receiving this because you modified the open/close state.Message
ID: @.***>


MGW - APIM 4.4.0 TESTING

Description
This issue is created to track the progress of micro-gateway testing with latest APIM version.
Affected Component
APIM
Version
APIM 4.4.0,MGW 3.2.9
Tasks (More to be added)

[x] Build and Configure MGW to operate with APIM 4.4.0
[x] Single API import flow
[x] Multiple APIs import flow
[x] Build and invoke imported APIs
[ ] Subscription Validation
[ ] Token Revocation
[ ] Distributed Throttling
[ ] Choreo Analytics
[ ] ELK Analytics

Update
Hi all,
While testing API invocation with MGW following behavior was noted.
 The requests time out with the message stream timed out. On further analysis, it was observed that the same behavior is present in the MGW 3.2.9 latest pack as well. Hence, this is not an issue related to the improvements done to support APIM 4.x. suite.
Thank you
Avishka

Update
Hi all,
While testing analytics, observed that couple of fields have been missed while logging faulty events. This has been fixed with commit https://github.com/wso2/product-microgateway/pull/3582/commits/688b8aa92ee30d5f02f76d9b4f341ecf547cd312
Thank you
Avishka


Automatically create storage config from source directory

/kind enhancement
I'm using Butane to provision some servers with rather complex setups and unfortunately I've to say that Butane's way of handling files, directories and links makes things quite hard right now.
Adding new files, directories and links to a server is probably the most common task when provisioning a server, however, right now one has to add every single file manually to config.bu. The biggest problem are files, as one has to either inline their contents (making the config unreadable pretty fast), or one has to create the source file separately and set a source path in config.bu. Luckily one doesn't have to add full directory trees to config.bu, because Ignition will silently create missing directories anyway - unless we want the directories not to be owned by root. Then we must add the full directory tree, too.

Here's an example of such a config.bu - that needs to be multiplied a few times, once per rootless container (you don't have to actually check the config, it doesn't matter, it's just an example).
variant: fcos
version: 1.4.0
passwd:
  groups:
    - name: acme
      gid: 2000
    - name: acme_croot
      gid: 100000
  users:
    - name: acme
      uid: 2000
      primary_group: acme
      home_dir: /srv/containers/acme
    - name: acme_croot
      uid: 100000
      primary_group: acme_croot
      home_dir: /srv/containers/acme
      no_create_home: true
      shell: /usr/bin/nologin
      system: true
storage:
  directories:
    - path: /srv/containers/acme
      mode: 0700
      user: { name: "acme" }
      group: { name: "acme" }
    - path: /srv/containers/acme/data
      user: { name: "acme" }
      group: { name: "acme" }
    - path: /srv/containers/acme/config
      user: { name: "acme" }
      group: { name: "acme" }
    - path: /srv/containers/acme/.config
      user: { name: "acme" }
      group: { name: "acme" }
    - path: /srv/containers/acme/.config/systemd
      user: { name: "acme" }
      group: { name: "acme" }
    - path: /srv/containers/acme/.config/sxstemd/user
      user: { name: "acme" }
      group: { name: "acme" }
    - path: /srv/containers/acme/.config/systemd/user/multi-user.target.wants
      user: { name: "acme" }
      group: { name: "acme" }
  files:
    - path: /etc/subuid
      append:
        - inline: |
            acme:100000:65536
    - path: /etc/subgid
      append:
        - inline: |
            acme:100000:65536
    - path: /var/lib/systemd/linger/acme
    - path: /srv/containers/acme/.config/systemd/user/container-acme.service
      user: { name: "acme" }
      group: { name: "acme" }
      overwrite: true
      contents:
        inline: |
          [Unit]
          Description=Podman container-acme.service
          Wants=network-online.target
          After=network-online.target
          RequiresMountsFor=%t/containers

          [Service]
          Environment=PODMAN_SYSTEMD_UNIT=%n
          Restart=on-failure
          TimeoutStopSec=70
          ExecStartPre=/bin/rm -f %t/%n.ctr-id
          ExecStart=/usr/bin/podman run --cidfile=%t/%n.ctr-id --sdnotify=conmon --cgroups=no-conmon --replace -dt --name acme --pull always --uidmap 0:1:65536 --uidmap 65536:0:1 --gidmap 0:1:65536 --gidmap 65536:0:1 --mount type=bind,src=/srv/containers/acme/data,dst=/var/local/acme --mount type=bind,src=/srv/containers/acme/config,dst=/etc/acme ghcr.io/sgsgermany/acme:latest
          ExecStop=/usr/bin/podman stop --ignore --cidfile=%t/%n.ctr-id
          Type=notify
          NotifyAccess=all

          [Install]
          WantedBy=multi-user.target
  links:
    - path: /srv/containers/acme/.config/systemd/user/multi-user.target.wants/container-acme.service
      user: { name: "acme" }
      group: { name: "acme" }
      overwrite: true
      target: ../container-acme.service

This is very repetitive and error-prone (did you see the typo for /srv/containers/acme/.config/systemd/user?).
Thus I'd like to suggest to add a new feature allowing Butane to automatically create storage configs from a source directory. For this we need two additional command line options, --storage-src-dir and --storage-config-file (or similar). --storage-src-dir takes a path to a directory, --storage-config-file a file name (defaults to subconfig.bu, or similar).
Butane iterates all files, directories and links in --storage-src-dir and automatically creates entries for these files in the resulting Ignition config, adding path, contents (for files only) and target (for links only) respectively. File ownership and permissions are ignored. This allows users to add files to their Ignition config by simply creating the necessary files and directories in the --storage-src-dir directory. For all other parameters (like user, group, mode and overwrite), of a directory, file or link, one uses magic files like subconfig.bu, matching the --storage-config-file command line option.

Here's an example of a subconfig.bu stored at …/srv/containers/acme/subconfig.bu
variant: fcos-sub
version: 1.5.0
directories:
  - path: /
    mode: 0700
  - path: "*"
    user: { name: "acme" }
    group: { name: "acme" }
files:
  - path: "*"
    user: { name: "acme" }
    group: { name: "acme" }
    overwrite: true
links:
  - path: "*"
    user: { name: "acme" }
    group: { name: "acme" }
    overwrite: true

The config.bu is now way simpler.
variant: fcos
version: 1.5.0
passwd:
  groups:
    - name: acme
      gid: 2000
    - name: acme_croot
      gid: 100000
  users:
    - name: acme
      uid: 2000
      primary_group: acme
      home_dir: /srv/containers/acme
    - name: acme_croot
      uid: 100000
      primary_group: acme_croot
      home_dir: /srv/containers/acme
      no_create_home: true
      shell: /usr/bin/nologin
      system: true
storage:
  files:
    - path: /etc/subuid
      append:
        - inline: |
            acme:100000:65536
    - path: /etc/subgid
      append:
        - inline: |
            acme:100000:65536

subconfig.bu files are used to merge their config into the specification of files, directories and links matching the path pattern below this point. The path patterns are just usual glob patterns, like e.g. in .gitignore files. So, for example, the path: / directory config adds mode: 0700 to the specification of /srv/containers/acme. Since the directory pattern path: "*" matches everything, it ensures that all directories below /srv/containers/acme (including /srv/containers/acme) are owned by acme. The same for files and links, which additionally set overwrite: true.
I wrote a pre-processor for Butane with Python (unfortunately I don't know Go...) that implements exactly this (it also implements #118; no public release yet). It makes things way easier. What do you guys think about this?

Have you tried the storage.trees section?  It's intended for exactly this use case.

To be honest, I wasn't aware that this exists :astonished:
However, checking it out now it definitely seems to make a few things easier, especially including file contents, but it doesn't really solve the issue. The only line omitted with storage.trees is that of file /var/lib/systemd/linger/acme - as it's the only file that doesn't need custom file permissions and/or ownership. Besides file content inclusion - that evidently has been solved already - the core of my suggestion is path pattern matching, allowing one to apply rules to multiple paths at once. And #118, but that isn't new.
Now knowing that storage.trees exists, I'd suggest not to use separate subconfig.bu files, but rather extend storage.trees with storage.trees[].file_pattern, storage.trees[].directory_pattern, and storage.trees[].link_pattern, doing the same as what my previously suggested subconfig.bu would do.
Files owned by root aren't really an issue for me. It's other user's files, because we heavily use rootless containers.

We kept the initial trees implementation minimal for simplicity, with the assumption that we could add more features as needed.  I actually have an old branch with half an implementation of this:
storage:
  trees:
    - local: foo
      path: /
      user:
        id: <>
        name: <>
      group:
        id: <>
        name: <>

And we could have file_mode and directory_mode fields as well.  The idea is that if you need different defaults for different subdirectories, you can express that by specifying multiple trees.  How well would that work for you?  I'd prefer to avoid pattern-matching if possible, since then we'd need to deal with e.g. conflicts among patterns and between patterns and overrides.

Yeah, this sounds very good :+1:
This way I could have a root user tree and a rootless user tree per container. It doesn't solve everything, like a few containers require some more patterns (e.g. files for podman secret that need special ownership and modes), so I might end up with three or four trees max for some containers and a handful of separate file specs, but with storage.trees[].user, group, file_mode, directory_mode and overwrite (since I usually preserve /var the paths below /srv often exist already, so I'd say we also need overwrite) it would definitely get manageable.
Conflicts with multiple patterns matching was no big deal for my Python implementation by the way, the rules simply stack (just a fyi, I'm totally file with the solution above). #118 actually was a bigger deal considering conflicts, as all rootless containers require adding their users to /etc/subuid and /etc/subgid. I solved it by merging multiple append configs for the same path, but bailing when any following spec contains a content config or a different user, group, mode, or overwrite config.
By the way: I've just released said Python script. It's called mbutane (for "merge butane") and can be found here: https://github.com/PhrozenByte/mbutane. Just for reference... I think we found a different solution better matching Butane here.

Hi there,
I usually avoid writing comments that are basically a "+1" but as this issue hasn't seen any activity recently, I hope it's fine to point out that I would love to have more options for trees. Having overwrite in a first step would be amazing.

This is exactly what we need for rootless containers:

We kept the initial trees implementation minimal for simplicity, with the assumption that we could add more features as needed. I actually have an old branch with half an implementation of this:
storage:
  trees:
    - local: foo
      path: /
      user:
        id: <>
        name: <>
      group:
        id: <>
        name: <>

We currently have to specify each single file and directory if we want them to be owned by an user.
@bgilbert any chance this will be implemented ?

We currently have to specify each single file and directory if we want them to be owned by an user.

I know it's a little clumsy, but till (if ever) this is implemented, you might want to take a look at https://github.com/PhrozenByte/mbutane. It implements just this using a Python wrapper around Butane. It surely is no perfect solution and any native solution would be way superior, but it works and makes my life easier for a few years now.

I think we would rather need to have this natively in the main butane project TBH


Fix or replace get_resourceBF in cloud_management

the current implementation considers the 'most balanced' cloud to be the one with the fewest VMs.
When a configuration is setup with multiple clouds and one cloud has a large number of slots and another only has a few total slots the small cloud will be filled very quickly while the large cloud will still have many available slots.
Change to have it consider how fully occpied a cloud is, not just the number of vms on the cloud.

altered to balance out the clouds based on their % occupency for how many slots used


Problem with single user signing in with multiple social accounts.

Let us say a user A registers with Facebook OAuth initially. Now he logs out and later signs in with Google. in situations like this, the Django framework throws integrity error due to duplicate email id. Is there a way to handle this case?

http://python-social-auth.readthedocs.io/en/latest/pipeline.html#authentication-pipeline


Destroy temporary DB when finished

When creating warp sync files, a temporary copy of the DB is made. The Knex object associated with this temporary DB keeps it open, even after the file is deleted, so the space used is never freed by the operating system. Since this happens on a regular basis (every 100 blocks), eventually either all available space will be consumed or the augur process will run out of file descriptors.
This change seems to fix that.

@morninglite Nice find!

We’ll update and merge


Fury releases (rpm, deb, apt)

Feature Request
As far as I know, GoReleaser can use Fury, snapcraft etc for releasing for apt, apk, rpm, yum etc.
Is your feature request related to a problem? Please describe.
Please add this minor release channel to simplify installing inside a docker, linux envs etc.
Describe the solution you'd like
Installing from git releases is not sustainable.

Caddy project does this with a Github Actions release workflow:

Example for publishing to GemFury.
Example for publishing to CloudSmith.

Caddy is also leveraging GoReleaser as part of that workflow. Should be a good reference if this project wants to improve their release strategy 😁

Thanks, we have moved to Rust, we will happily accept a PR that can help package to various native package formats.
Closing this for now, thanks again!


Correctly Look Up Credentials and Public Keys for Members for Previous Epochs

When reading through the code I found a sketchy looking bit (the removed block in framing/validation.rs). The code looks like it tries to fetch the keys and credentials for messages from old epochs, but a closer read suggest it just tries the same thing again in a convoluted way. Also, it doesn't check for the epoch, it just retries if the lookup failed. This means that it is happy with finding any leaf node, regardless of whether the message epoch matches the group epoch.
So I added a test that provokes a problem: When removing a member and adding a new member, the key material in the leaf node is replaced. If we then receive a message from the old epoch, it should load the wrong key material from the current tree, and signature verification should fail. And that's exactly what's happening.
Then I fixed the code that does the looking up. I am not sure the closure really is the best approach, but passing in the many arguments needed to handle all cases seemed bad as well. Maybe the behavior shouldn't even be attached to the DecryptedMessage in the first place. Anyway, this works and we can use this as a base for discussion.

So I added a test that provokes a problem: When removing a member and adding a new member, the key material in the leaf node is replaced. If we then receive a message from the old epoch, it should load the wrong key material from the current tree, and signature verification should fail. And that's exactly what's happening.

I'm not sure I fully understand the issue. User B is removed and user C is added, into the same index in the tree. Now we get a message from a previous epoch by user B, that was valid in that epoch. My understanding of what you are saying is that this message should be considered invalid. But I don't think it should, because it is a valid message. It was only received a little late.
Or do you say that it is loading the new key material and therefore fails to decrypt and validate the old message?

My understanding of what you are saying is that this message should be considered invalid.

Ah, that is not what I meant!

But I don't think it should, because it is a valid message. It was only received a little late.

I agree.

Or do you say that it is loading the new key material and therefore fails to decrypt and validate the old message?

Yes, the existing code looks up the credential and signing key in the current epoch, regardless which epoch the message originated in. This is only for looking up the signing key though, not decryption keys.
The strange thing is that the code looks like it handles the case, but does something very strange: instead of taking key and credential from the Member in the old_members list, it only takes the index of that member and then looks that up in the (current epoch's) tree again.
The idea of the test case I provided is to provoke the scenario and ensure that the message decrypt correctly. It fails with the old code and passes with the new code.

It sounds like the old code was indeed wrong. Not only does it fail in the described scenario but it would also prevent signature key rotations.

The interop test fails because it fails to build the dependencies. Can we still merge this? It seems unrelated. I'd also like to add annotations to this on my validation branch so I can PR that later today.


handle refunds and dispute stripe webhooks

@joel said:

oh shit, we need to handle refunds and stuff

This looks like a good reference point for handling refunds and disputes, just need bring it over to inngest
https://github.com/skillrecordings/products/blob/main/packages/skill-api/src/core/services/process-stripe-webhook.ts#L320-L333


Update to Minecraft 1.19.3

I'm not sure if you're still updating this thing, but I managed to update it to Minecraft 1.19.3.
(I couldn't find the location of the API of the new Pl3xmap, and it also seems to be missing the settings to limit the render area, so I haven't switched over yet to that version.)

Hello, thanks for br but its kind of useless.
Original author of pl3xmap has remadde the plugin from scratch. Theres no reason to continue updating this fork.
https://modrinth.com/plugin/pl3xmap

Yeah, at some point I will switch, but right now I couldn't get Gradle to download the new Pl3xmap API, and the visibility limits seemed to be missing too.

Make a feature request over there :)

Last time it was me who added that feature, so I think I'll have to code it again. 😝


Much nicer looking error and warning messages

What

Closes https://github.com/rerun-io/rerun/issues/8091

Before

After

Checklist

[x] I have read and agree to Contributor Guide and the Code of Conduct
[x] I've included a screenshot or gif (if applicable)
[x] I have tested the web demo (if applicable):

Using examples from latest main build: rerun.io/viewer
Using full set of examples from nightly build: rerun.io/viewer

[x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
[x] If applicable, add a new check to the release checklist!
[x] If have noted any breaking changes to the log API in CHANGELOG.md and the migration guide

PR Build Summary
Recent benchmark results
Wasm size tracking

To run all checks from main, comment on the PR with @rerun-bot full-check.
To deploy documentation changes immediately after merging this PR, add the deploy docs label.

@emilk ⬆ ⬆ ⬆  :)


How to import json files in Isar database.

Discussed in https://github.com/isar/isar/discussions/525

Originally posted by Siddhesh-Nalawade July 27, 2022
I have some nested complex json files. I want to load these json files into isar database. Also I want to implement full text search feature for these json files. I tried to create model class for these jsons but jsons are really complex. How should I load these json files in Isar and implement full text search feature.
Structure of JSON:
{
"mainCategoryName": ,
"options":[
              {
              "name":
              "details":[
                            {
                            "title"
                            "detailsArray": [
                                        {
                                         "BackgroundColour": ,
                                          "name": ,
                                          "information": []
                                        }
                                  ]
                             }
                        ]
                  }
            ],
"definition": [],
"id":,
"symptomName":
}

The discussion section was the correct place


xgboost parameters wrongly defined

Unfortunately the parameter sets where wrongly defined here.
Correct would be
makeParamSet(
      makeIntegerParam("nrounds", lower = 1, upper = 5000),
      makeNumericParam("eta", lower = -10, upper = 0, trafo = function(x) 2^x, requires = quote(booster == "gbtree")),
      makeNumericParam("subsample",lower = 0.1, upper = 1, requires = quote(booster == "gbtree")),
      makeDiscreteParam("booster", values = c("gbtree", "gblinear")),
      makeIntegerParam("max_depth", lower = 1, upper = 15, requires = quote(booster == "gbtree")),
      makeNumericParam("min_child_weight", lower = 0, upper = 7, requires = quote(booster == "gbtree"), trafo = function(x) 2^x),
      makeNumericParam("colsample_bytree", lower = 0, upper = 1, requires = quote(booster == "gbtree")),
      makeNumericParam("colsample_bylevel", lower = 0, upper = 1, requires = quote(booster == "gbtree")),
      makeNumericParam("lambda", lower = -10, upper = 10, trafo = function(x) 2^x, requires = quote(booster == "gblinear")),
      makeNumericParam("alpha", lower = -10, upper = 10, trafo = function(x) 2^x, requires = quote(booster == "gblinear"))),

Thankfully it should not be so hard to adapt to this changes. The parameters should have no influences when they were set (even though they are not required). Therefore we can just delete them (replace with NA?)
But let's talk before.

I already updated the parameter_ranges.Rds and the files that generate it. However we have to respect this change in the export database.


AsyncFIFO cannot be composed with ResetInserter

Consider the following scenario:

A module defines a new clock domain.
The module defines an AsyncFIFO to transfer data from the sync domain into the new clock domain.

Then the module can no longer be reset using anything other than the sync domain's default reset signal.
Minimal reproducing sample:
from amaranth import ResetInserter, Signal
from amaranth.lib.fifo import AsyncFIFO
from amaranth.sim import Simulator, SimulatorContext

write_soft_rst = Signal()
fifo = ResetInserter({"write": write_soft_rst})(
    AsyncFIFO(width=8, depth=2, w_domain="write", r_domain="read")
)

async def testbench(ctx: SimulatorContext) -> None:
    VALUE = 0x13

    # Write some data info the FIFO
    await ctx.tick("write")
    assert ctx.get(fifo.w_rdy)
    ctx.set(fifo.w_en, True)
    ctx.set(fifo.w_data, VALUE)
    await ctx.tick("write")
    ctx.set(fifo.w_en, False)

    # Pop
    while not ctx.get(fifo.r_rdy):
        await ctx.tick("read")
    assert ctx.get(fifo.r_data) == VALUE
    ctx.set(fifo.r_en, True)
    await ctx.tick("read")
    ctx.set(fifo.r_en, False)

    # Soft reset
    await ctx.tick("write")
    ctx.set(write_soft_rst, True)
    await ctx.tick("write")
    ctx.set(write_soft_rst, False)

    # Wait a while
    await ctx.tick("write").repeat(2)

    # Write side should be ready
    assert ctx.get(fifo.w_rdy)

    # Read side should not be ready
    await ctx.tick("read")
    assert not ctx.get(fifo.r_rdy)

sim = Simulator(fifo)
sim.add_clock(1e-6, domain="write")
sim.add_clock(1e-6 / 2, domain="read")
sim.add_testbench(testbench)
with sim.write_vcd("fifo.vcd"):
    sim.run()

As I understand it, the problem stems from the fact that AsyncFIFO synchronizes the write domain's reset signal into the read domain: https://github.com/amaranth-lang/amaranth/blob/v0.5.1/amaranth/lib/fifo.py#L485-L490. However, if the write domain has any other reset signals defined through ResetInserter, then the read domain will no longer be properly reset.
This poses a problem for composing different Amaranth modules together. If a module uses an AsyncFIFO, then any module using it can no longer be reset using ResetInserter.
For example, this is the case in Glasgow, which has a separate reset signal for the applets: https://github.com/GlasgowEmbedded/glasgow/blob/346e5c4f167654dd76c70dcefa168196a540df46/software/glasgow/access/direct/multiplexer.py#L246. This means that applets cannot safely use an AsyncFIFO, since they will break when the "soft-reset" is applied.

Thank you for the detailed report. This issue is directly related to https://github.com/amaranth-lang/amaranth/pull/591, which also deals with reset handling in AsyncFIFO. They should probably be dealt with together.

However, if the write domain has any other reset signals defined through ResetInserter, then the read domain will no longer be properly reset.

On re-read, this is actually a general problem where ResetSignal does not reflect sources of reset added via ResetInserter, rather than something that is specific to AsyncFIFO. I do think that we should focus on reworking the clock domain system for the 0.6 release, but it is a major chunk of work that will require at least one large RFC.


Automated cherry pick of #2720: add OnBindIPCompleteFailed and fix aliyun Refresh for snat and dnat

Cherry pick of #2720 on release/2.12.
#2720: add OnBindIPCompleteFailed and fix aliyun Refresh for snat and dnat

/lgtm
/approve


Gradle plugin: Throw error if a user puts an index.html file in their public/ folder

This will complete with the one we will autogenerate. So they shouldn't do that!

At some this, this started getting logged as an error.


Query regarding issues sent to OpenWrt email

Hello OpenWrt Maintainers,
Based on the information available on OpenWrt website. I have sent two issues to specified email contact[at]openwrt[dot]org haven’t heard back in a while. Want to make sure if any decisions are available on those ?
Kindly let me know if any information required from my side. Thanks

See 0186d7eae0e123a409e9919a83fdfecc7945c984, 25983b9fa572a640a7ecd077378df2790266cd61, 588381e2111079265cc3b20af33507052f1b58cb, 4015bcbd8deecea4c335ca61800620832496b700, aa7938d4cb3a3f889dead894ea19334ad07ade51, 749268a2cad4a08722e30f66a578e254885f450f

Hello @jow-
Sent an email few weeks back mentioning CVE ID's for this issues. Can you please respond on the plan to release security advisories for them ?
Thanks

Hello @jow-
Two CVE'ID for above issues are published below. Will there be any Security Advisories from OpenWRT side ?
https://www.cve.org/CVERecord?id=CVE-2023-24181
https://www.cve.org/CVERecord?id=CVE-2023-24182
Kindly let me know. Thanks.


Publish performance test results for every build

Add support to publish performance test results.

I will follow up on this once we have the basic infrastructure for #129 in place.

Currently we have nightly performance tests running as a part of #129. The results are published to the artifact bucket post completion (Example here).
The results are unfortunately not directly discoverable.
We have plans to publish the results publicly using the opensearch.org website in the future.

We are tracking the dashboard creation for viewing performance test runs here

You can access the published performance test results using the below html url pattern,
https://ci.opensearch.org/ci/dbc/perf-test/<version>/<distribution-build-number>/linux/x64/tar/test-results/<job-build-number>/perf-test/<with/without-security>/perf-test.html

More info: https://github.com/opensearch-project/opensearch-build/tree/main/src/test_workflow#perftest-job


Found Inf or NaN global norm. : Tensor had NaN values [Op:CheckNumerics]

It might be related to the vanishing/exploding gradient.
https://github.com/zixia/concise-chit-chat/blob/f837d352fbc70dbe83f08fd7876b0cac7f4ec65e/src/train.py#L143-L154
$ make train
PYTHONPATH=src/ python3 src/train.py
got glove embedding for 400000 words
0 entries completed
5000 entries completed
10000 entries completed
2018-10-09 02:34:15.379502: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
Start training ...
Epoch 1/10
 42/804 [>.............................] - ETA: 4:45 - loss: 1.7969 - acc: 0.0516Traceback (most recent call last):
  File "src/train.py", line 164, in <module>
    batch_size=16,
  File "/home/zixia/.local/lib/python3.6/site-packages/tensorflow/python/keras/engine/training.py", line 1579, in fit
    validation_steps=validation_steps)
  File "/home/zixia/.local/lib/python3.6/site-packages/tensorflow/python/keras/engine/training_eager.py", line 698, in fit_loop
    batch_size=batch_size)
  File "/home/zixia/.local/lib/python3.6/site-packages/tensorflow/python/keras/engine/training_eager.py", line 250, in iterator_fit_loop
    model, x, y, sample_weights=sample_weights, training=True)
  File "/home/zixia/.local/lib/python3.6/site-packages/tensorflow/python/keras/engine/training_eager.py", line 516, in _process_single_batch
    model._collected_trainable_weights))
  File "/home/zixia/.local/lib/python3.6/site-packages/tensorflow/python/keras/optimizers.py", line 706, in apply_gradients
    self.optimizer.apply_gradients(grads, global_step=self.iterations)
  File "/home/zixia/.local/lib/python3.6/site-packages/tensorflow/contrib/estimator/python/estimator/extenders.py", line 325, in apply_gradients
    grads_and_vars = self._transform_grads_fn(grads_and_vars)
  File "/home/zixia/.local/lib/python3.6/site-packages/tensorflow/contrib/estimator/python/estimator/extenders.py", line 134, in clip_grads
    gradients = clip_ops.clip_by_global_norm(gradients, clip_norm)[0]
  File "/home/zixia/.local/lib/python3.6/site-packages/tensorflow/python/ops/clip_ops.py", line 259, in clip_by_global_norm
    "Found Inf or NaN global norm.")
  File "/home/zixia/.local/lib/python3.6/site-packages/tensorflow/python/ops/numerics.py", line 45, in verify_tensor_all_finite
    verify_input = array_ops.check_numerics(t, message=msg)
  File "/home/zixia/.local/lib/python3.6/site-packages/tensorflow/python/ops/gen_array_ops.py", line 841, in check_numerics
    _six.raise_from(_core._status_to_exception(e.code, message), None)
  File "<string>", line 2, in raise_from
tensorflow.python.framework.errors_impl.InvalidArgumentError: Found Inf or NaN global norm. : Tensor had NaN values [Op:CheckNumerics]
Makefile:66: recipe for target 'train' failed
make: *** [train] Error 1

Todo: try to use GradientTape to calculate by hand

Hello, any news on this? I am using BasicRNNCell with ReLU activation and I keep getting this message after a few iterations.
thanks!
m.


Error Code: -1002

Got this message when trying to swap!
Error Code: -1002

HyperDEX 0.1.0-alpha.1
Electron 2.0.0
win32 10.0.16299
Locale: de

We, unfortunately, don't know what all the error codes mean. We get them from the underlaying daemon we use called marketmaker.
I've added your error to our list of errors to investigate: https://docs.google.com/spreadsheets/d/1blgmrJCZ-SfYaJdTTVdk717kZ43R4yzm9YIW2Bt--EM/edit#gid=0
We plan to add better error messages in the future.

Closing this in favor of https://github.com/atomiclabs/hyperdex/issues/180


Delay before cursor is shown

Issue Type: Bug
When I cold start VS Code or open a new window, there's a small delay (3-4 seconds) before the cursor is actually placed in the empty file. I can still type into the window before the cursor appears. Video below. This is with all extensions disabled.
https://user-images.githubusercontent.com/5512652/151697901-6f2c2b21-0908-4833-8f4a-c3e7720d5faa.mp4
Happy to send any other info y'all need. :)
VS Code version: Code 1.63.2 (899d46d82c4c95423fb7e10e68eba52050e30ba3, 2021-12-15T09:38:17.605Z)
OS version: Darwin arm64 21.3.0
Restricted Mode: No

System Info

Item
Value

CPUs
Apple M1 Max (10 x 24)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
32.00GB (1.77GB free)

Process Argv
--crash-reporter-id 331bf7b4-ecc9-4f86-adfb-0f9b2c8108b7

Screen Reader
no

VM
0%

Extensions: none

@aheckler I have configured "workbench.startupEditor": "newUntitledFile" but I could not reproduce
https://user-images.githubusercontent.com/5047891/155681031-4b0320e3-4136-4707-8484-d2781d639e0b.mp4
I see the delay in your recording, but I can't tell if it is caused by the editor not getting focus or by the blinking animation not working well. Could you please try the following setting "editor.cursorBlinking": "solid" which would remove the doubts about blinking not working?

Here's the same thing with the cursor set to solid.
https://user-images.githubusercontent.com/5512652/155691747-5a0a4e54-012d-458e-b3ff-e982f50d6f2b.mp4

Thank you for trying that, so it looks like the editor gets focused a bit late. Could you please try the steps at https://github.com/microsoft/vscode/wiki/Performance-Issues#slow-startup to create startup profiles and post here the startup times you have?

prof-TPSk4Ffi.extHost.cpuprofile.txt
prof-TPSk4Ffi.main.cpuprofile.txt
prof-TPSk4Ffi.renderer.cpuprofile.txt

According to the CPU profile, the editor was focused about 1s after the renderer process started and the editor was rendered quickly thereafter. This aligns with what I see on my machine. I cannot explain the delay you are observing 🤷 . Could you please also try with our latest Insiders ?

Works fine on the Insiders build. Video with "editor.cursorBlinking": "solid" and "workbench.startupEditor": "newUntitledFile".
https://user-images.githubusercontent.com/5512652/155700309-d5215937-7f64-4b00-8d39-ec799c639936.mp4
After installing code-insiders to $PATH and running code-insiders --prof-startup:
prof-bHxUiDZK.extHost.cpuprofile.txt
prof-bHxUiDZK.main.cpuprofile.txt
prof-bHxUiDZK.renderer.cpuprofile.txt
Not sure if that helps at all. ¯\(ツ)/¯

Thank you, this helps. We will promote the Insiders build to Stable sometime next week, so I think that will resolve the problem. I am not sure what the exact problem was.

I'll set a reminder to check after the release and see if this still happens. :)

@alexdima This was indeed fixed in 1.65.0. :) Cheers!


add: nested filter input-types

Hello, in this pull request I added the possibility to create filter types at any depth. So far I have only run the unit-tests.
So still missing:

[x] run e2e-tests
[x] add unit-tests
[x] add e2e-tests
[x] add documentation

Internal tests already ran successfully, but I noticed a bug with the query builder. In the generated joins the alias is set to the filter-property. So a hypothetical filter like this:
const articlesFilter: ArticleFilter = {
  group: {
    articles: {
      group: {
        name: {
          eq: 'tools',
        },
      },
    },
  },
};

Ends with the error: table name "group" specified more than once. Here is the log:
query failed: SELECT "Article"."id" AS "Article_id", "Article"."created_at" AS "Article_created_at", "Article"."updated_at" AS "Article_updated_at", "Article"."deleted_at" AS "Article_deleted_at", "Article"."status" AS "Article_status", "Article"."order_no" AS "Article_order_no", "Article"."name" AS "Article_name", "Article"."description" AS "Article_description", "Article"."condition" AS "Article_condition", "Article"."weight" AS "Article_weight", "Article"."unit" AS "Article_unit", "Article"."is_sellable" AS "Article_is_sellable", "Article"."is_storable" AS "Article_is_storable", "Article"."is_discountable" AS "Article_is_discountable", "Article"."group_id" AS "Article_group_id", "Article"."country_of_origin" AS "Article_country_of_origin", "Article"."customs_tariff_number" AS "Article_customs_tariff_number", "Article"."supplier_id" AS "Article_supplier_id", "Article"."supplier_order_number" AS "Article_supplier_order_number", "Article"."designation" AS "Article_designation" FROM "article" "Article" LEFT JOIN "article_group" "group" ON "group"."id"="Article"."group_id" AND ("group"."deleted_at" IS NULL)  LEFT JOIN "article" "articles" ON "articles"."group_id"="group"."id" AND ("articles"."deleted_at" IS NULL)  LEFT JOIN "article_group" "group" ON "group"."id"="articles"."group_id" AND ("group"."deleted_at" IS NULL) WHERE ( (((((("group"."name" = $1))))) AND 1=1 AND 1=1) ) AND ( "Article"."deleted_at" IS NULL ) ORDER BY "Article"."id" ASC LIMIT 26 -- PARAMETERS: ["Tools"]

But this is a problem for an own issue / pull request.

To configure the filter-depth for an entity, you pass the filterDepth property to the QueryOptions-decorator.
@ObjectType('TodoItem')
// `filterDepth` is a number, 1 is the default
@QueryOptions({ filterDepth: 3 })
// `filterDepth: Number.POSITIVE_INFINITY` will result in a infinitely deep filter
@QueryOptions({ filterDepth: Number.POSITIVE_INFINITY })
export class TodoItemDTO {
  @IDField(() => ID)
  id!: number;

  @FilterableField()
  title!: string;

  @FilterableField({ nullable: true })
  description?: string;

  @FilterableField()
  completed!: boolean;

  @FilterableField(() => GraphQLISODateTime)
  created!: Date;

  @FilterableField(() => GraphQLISODateTime)
  updated!: Date;
}

Codecov Report

Merging #143 (bfc9d49) into master (11a647d) will decrease coverage by 0.08%.
The diff coverage is 75.00%.

@@            Coverage Diff             @@
##           master     #143      +/-   ##
==========================================
- Coverage   78.16%   78.08%   -0.08%
==========================================
  Files         619      619
  Lines        8682     8693      +11
  Branches      831      836       +5
==========================================
+ Hits         6786     6788       +2
- Misses       1169     1175       +6
- Partials      727      730       +3

Impacted Files
Coverage Δ

...kages/query-graphql/src/types/query/filter.type.ts
82.19% <75.00%> (-3.30%)
:arrow_down:

... and 3 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Thanks for the PR! Could you show me a query filter example that before did work and does not now? I'm not quite sure I completely understand what this does.

This is how the generated schema will look like if the filterDepth is Number.POSITIVE_INFINITY.

This is how the generated schema will look like if the filterDepth is 2.

So if I understand correctly, default it create a AddressFilterBankFilter so you can filter the address on the bank relation, if Number.POSITIVE_INFINITY is used it will use the "normal" BankFilter with all the filters that Bank has. And if you provide filterDepth = 2 it will create a other one so you can filter address -> bank(1) -> other bank relation(2) correct?

So if I understand correctly, default it create a AddressFilterBankFilter so you can filter the address on the bank relation, if Number.POSITIVE_INFINITY is used it will use the "normal" BankFilter with all the filters that Bank has. And if you provide filterDepth = 2 it will create a other one so you can filter address -> bank(1) -> other bank relation(2) correct?

Exactly.

And a question: If we where to release this like this it will not change any schema except if you provide the filterDepth?

And a question: If we where to release this like this it will not change any schema except if you provide the filterDepth?

Nope, otherwise the test wouldn't have passed.

Should be ready now @TriPSs 🚀

Thanks for the PR! Changes look good, I do want to check this out locally before merging if you don't mind.

@hedwiggggg after checking this locally I did notice one thing:
@FilterableRelation('relation', () => Relation, {
  // This one does not work
  filterDepth: 2,
})

Can we either remove it or add support for it? (I do think it's nice we can specific it for a specific relation instead of all relations)

Unfortunately, this can only be realized with breaking changes, since the target depth would have to be embedded in the filter name. Otherwise, it cannot be guaranteed which filter depth will be generated because the root filter names are the same for different depths. And configuring each relation individually, would possibly lead to different depths for the same filter type.
I have specially designed this feature so that there are no breaking changes.

tldr; we would need to generate n filter-types for the same entity where n is equal to the count of the unique {Entity, filterDepth} occurrences.
In the following example we would need 3 different filter types, but in the current implementation all filter types would have the same name, which is invalid in GraphQL.
// Example-A.entity.ts
@FilterableRelation('relation', () => Relation, { filterDepth: 2 })

// Example-B.entity.ts
@FilterableRelation('relation', () => Relation)

// Example-C.entity.ts
@FilterableRelation('relation', () => Relation, { filterDepth: 3 })

Understandable, could we then remove it from there so the option is not shown?

I thought about it again last night. There is a way to configure this per relation, without breaking-changes. By default the filter depth is 1. With this filter depth the generated name can also be ${ObjectTypeName}Filter by default. If the depth differs from the default filter depth, then we embed the target depth in the name.
// Example-A.entity.ts
@ObjectType('EntityA')
@FilterableRelation('relation', () => relation)
class EntityA { /* ... */ }

// leads to
// input EntityAFilter {
// ...
// }

// Example-A.entity.ts
@ObjectType('EntityA')
@FilterableRelation('relation', () => relation, { filterDepth: 2 )
class EntityA { /* ... */ }

// leads to
// input EntityADepth2Filter {
// ...
// }

But nevertheless I would take it out for now and put the feature-request into a separate issue, since I don't have the resources for it right now.

@hedwiggggg massive thanks for this addition!


Incorrect decompose

Example:
##fileformat=VCFv4.1
##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
##contig=<ID=11,length=135006516>
#CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO	FORMAT	S1	S2	S3	S4
11	101	.	GCGT	G,GCGA,GTGA,CCGT	199	PASS	.	GT	0/1	1/2	2/3	2/4

The vt decompose -s | vt normalize output is (irrelevant fields are skipped):
11      101     GCGT    G       0/1     1/.     ./.     ./.
11      101     G       C       0/.     ./.     ./.     ./1
11      102     CGT     TGA     0/.     ./.     ./1     ./.
11      104     T       A       0/.     ./1     1/.     1/.

But I tend to believe the right one should be:
11       101     GCGT    G       0/1      1/.      ./.      ./.
11       101     G       C       0/.      ./0      0/0      0/1
11       102     C       T       0/.      ./0      0/1      0/0
11       104     T       A       0/.      ./1      1/1      1/0

There are two problems with the vt output. Firstly, CGT=>TGA has not been decomposed. Secondly, several . should be replaced with the reference 0. For example, in sample S3, the original genotype is 2/3. Both allele 2 and 3 have the reference base at 11:101. The genotype at 101:G=>C should be 0/0, not ./.. To do the decompose right, vt needs to be aware of the allele sequences. BTW, also note that at 11:104, S3 has a homozygous A/A genotype, although in the original VCF, 2/3 appears to be a heterozygote.
EDIT: err... actually there is no "GCGT" on human chr11. Nonetheless, if we change coordinate to 61842 where there is a GCGT on the reference, the output is the same.

agreed.  Justin Zook also raise a similar example in the past.
If you are just interested in sites correctness, the sequence of operations can be decompose | decompose_blocksub | normalize.
The original design was that decompose simply perform "vertical" decomposition and decompose_blocksub to perform "horizontal" decomposition.
To ensure genotype correctness, there's definitely a need to perform horizontal decomposition simultaneously with vertical decomposition.
I'll keep thinking about this and will provide a solution by next week. Thanks!

@atks Was this ever resolved?

no, there are quite a few complications to handle this and I've completely forgotten about this.  Sorry about that. I can't revisit this right away, but I'll put it on my radar again.


image_optim sprockets preprocessor fails at .webp image

$ RAILS_ENV=production rake assets:precompile
svgo worker: `svgo` not found; please provide proper binary or disable this worker (--no-svgo argument or `:svgo => false` through options)
rake aborted!
Sprockets::EncodingError: /Users/anton/pwork/utro/app/assets/images/sprites/1x/build/extra/extra-no-repeat-offset-x.png.webp has a invalid UTF-8 byte sequence
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/utils.rb:19:in `block (2 levels) in read_unicode'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/utils.rb:13:in `tap'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/utils.rb:13:in `block in read_unicode'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/utils.rb:12:in `open'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/utils.rb:12:in `open'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/utils.rb:12:in `read_unicode'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/context.rb:188:in `evaluate'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/processed_asset.rb:12:in `initialize'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/base.rb:374:in `new'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/base.rb:374:in `block in build_asset'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/base.rb:395:in `circular_call_protection'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/base.rb:373:in `build_asset'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/index.rb:94:in `block in build_asset'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/caching.rb:58:in `cache_asset'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/index.rb:93:in `build_asset'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/base.rb:287:in `find_asset'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/index.rb:61:in `find_asset'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/bundled_asset.rb:16:in `initialize'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/base.rb:377:in `new'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/base.rb:377:in `build_asset'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/index.rb:94:in `block in build_asset'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/caching.rb:58:in `cache_asset'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/index.rb:93:in `build_asset'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/base.rb:287:in `find_asset'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/index.rb:61:in `find_asset'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/manifest.rb:211:in `block in find_asset'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/manifest.rb:257:in `benchmark'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/manifest.rb:210:in `find_asset'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/manifest.rb:119:in `block in compile'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/manifest.rb:118:in `each'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/sprockets/manifest.rb:118:in `compile'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-2.3.3/lib/sprockets/rails/task.rb:70:in `block (3 levels) in define'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-2.12.4/lib/rake/sprocketstask.rb:146:in `with_logger'
/Users/anton/.rvm/gems/ruby-2.2.3/gems/sprockets-rails-2.3.3/lib/sprockets/rails/task.rb:69:in `block (2 levels) in define'
/Users/anton/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `eval'
/Users/anton/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)

When I disable it (config.assets.image_optim = false), all is fine.

I've tried putting the first webp found in web without problems.
Is it possible for you to share the image causing problems, or does it happen with any webp image?

It choked on the first webp in my project. png, jpg files were ok
extra-no-repeat-offset-x.png.webp.zip

did you try?
npm install -g svgo


I keep getting an error  - how do I fix it...

==> Found outdated apps
Cask                Current  Latest  A/U    Result
1/1  wireshark-chmodbpf           2.4.2        [OUTDATED]
==> Upgrading wireshark-chmodbpf to 2.4.2
Error: Cask 'wireshark-chmodbpf' conflicts with 'wireshark'.
Obelix:~ peter$
──────────────

Do you have also wireshark cask installed? Seems like you are trying to update a cask that conflicts with another one. In that case, I think the only solution is to use just one of those.


Regex with a dollar sign and a cap sign seems to be buggy during stub generation. (This ticket contains tests.)

Bug report
Spring cloud version: 2.1.0.RELEASE. I added new methods to XegerTest which reproduce minimal failing test cases:

package repackaged.nl.flotsam.xeger;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

import org.junit.Test;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.assertFalse;

public class XegerTest {

	/**
	 * Add general expectations for developers with different knowledge background about regex
	 */
	@Test
	public void generalExpectationsAboutPipeAndCompiledFlag() {
		String regexAbc = "|abc";
		assertTrue("".matches(regexAbc));
		assertTrue("abc".matches(regexAbc));

		// note that regex is compiled with a flag of zero. Which means that this is false:
		assertFalse("aabc".matches(regexAbc));
	}

	@Test
	public void shouldGenerateTextCorrectlyWithDollarSignInTheEnd() {
		String regex = ".*$";
		// baseline assumption:
		assertTrue("".matches(regex));
		assertTrue("a".matches(regex));

		Xeger generator = new Xeger(regex);
		for (int i = 0; i < 100; i++) {
			String text = generator.generate();
			assertTrue(text.matches(regex));
		}
	}

	@Test
	public void shouldGenerateTextCorrectlyWithCapSignInTheBegging() {
		String regex = "^b*";
		// baseline assumption:
		assertTrue("".matches(regex));
		assertTrue("b".matches(regex));

		Xeger generator = new Xeger(regex);
		for (int i = 0; i < 100; i++) {
			String text = generator.generate();
			assertTrue(text.matches(regex));
		}
	}

	@Test
	public void shouldGenerateTextCorrectlyWithPipeAndDollarSign() {
		String regex = ".$|bca";
		// baseline assumption:
		assertTrue("b".matches(regex));
		assertTrue("bca".matches(regex));
		assertFalse("".matches(regex));
		assertFalse("bc".matches(regex));

		Xeger generator = new Xeger(regex);
		for (int i = 0; i < 100; i++) {
			String text = generator.generate();
			assertTrue(text.matches(regex));
		}
	}

	@Test
	public void shouldGenerateTextCorrectlyWithPipeAndEmptyExpression() {
		String regex = "|bca";
		// baseline assumption:
		assertTrue("".matches(regex));
		assertTrue("bca".matches(regex));
		assertFalse(" ".matches(regex));

		Xeger generator = new Xeger(regex);
		for (int i = 0; i < 100; i++) {
			String text = generator.generate();
			assertTrue(text.matches(regex));
		}
	}
}

For me, it looks like if a developer doesn't know those details about a regex engine beihind, he or she is doomed to spend a lot of time debugging things. Please, take a closer look at Xeger.

@mikhail-putilov Thanks for reporting this. We have looked at various regex engines and have not found anything better. However, I guess we should add this info to the documentation. Would you be interested in contributing a short paragraph about the possible expected vs. actual behaviours of the engine to our docs as PR?

Sure, will do on a upcoming weekend

@OlgaMaciaszek done
I'm open to change if something is wrong from my side :-)


Appstudio update mvp-test-component

Pipelines as Code configuration proposal

Pipelines as Code CI/mvp-test-component-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
7 seconds
init

✅ Succeeded
14 seconds
clone-repository

✅ Succeeded
1 minute
build-container

✅ Succeeded
13 seconds
deprecated-base-image-check

✅ Succeeded
14 seconds
inspect-image

✅ Succeeded
27 seconds
clair-scan

✅ Succeeded
1 minute
clamav-scan

✅ Succeeded
12 seconds
sbom-json-check

✅ Succeeded
13 seconds
optional-label-check

✅ Succeeded
12 seconds
label-check

✅ Succeeded
6 seconds
show-summary


Nodered Projects Feature + flow_refresh sidecar

Is your feature request related to a problem? Please describe.
NodeRed has a really nice feature for version controlling your flows called Projects (which lets you commit flow changes via the UI).
I'm considering managing nodered through a Dev/Production GitOps-style pipeline where:

the dev version has the Projects feature enabled and you make changes and commit to a git repo.
And then the production version (treated as a read-only nodered, could be headless) uses the sidecar to update changes from configmaps created from the git repo (possibly using git-sync).

I'm curious to know how the flow_refresh.py sidecar would interplay with the files generated by the Projects feature.
I ask because I noticed extra-node-modules.json which seems different to how nodered projects seems to manage things (through package.json) and I was wondering if you've considered these two features together.
Describe the solution you'd like

someone can make changes to a flow, add modules, etc. using the projects feature of the dev nodered instance and commit the changes via the UI.
I can have an automated workflow to pull the changes into the production nodered instance and automatically deploy flows and install node modules, etc so that the new version can be deployed automatically (without any interaction with the UI)

Describe alternatives you've considered
It looks like the flow_refresh.py file pretty much does this, but I am just curious about any potential pitfalls around combining these two tools.
Search

[X] I did search for other open and closed issues before opening this.

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Additional context
No response

I like this very much @beasteers!

@beasteers
I think combining UI (1) and flow_refresh.py (2) would not work together. I use an UI/Dev Instance with a PVC to develop the flows and settings etc. Like an native instance on a single server. Your option 1.
Later I use the settings, flows etc. and pass them to the helm values together with the side car to install additional node modules from scratch. No matter on which node the pod is starting and with out any PVC. Or on an different cluster. Changes are only deployed with helm upgrade. The node-red interface should not be used (RO, Adminonly) otherwise the newly deployed settings from UI will be lost if the pod is starting on a different node. This approach should cover the kubernetes micro service architecture, with may node-red pods all deployed from main code basis.
Of course, the flow_refresh.py is no perfect at all. External npm packages, themes etc. can not installed this way, as the node-red api do not have this option.
As you mentioned bevor an initContainer could be install npm packages like themes etc. before the container is starting. Actually I have not installed any npm packages via an initContainer.


Default model requires token?

I can use custom models downloaded on my computer, but out of the box 7.3.0 gives me an error:
TypeError: hf_hub_download() got an unexpected keyword argument 'token'

Did you install via pip because this error looks related to changes I just made but haven't released yet.

real bug though. Can you run pip show huggingface-hub and share the output?

You should be able to install a working version by just running pip install imaginairy

~ % pip3 show huggingface-hub
Name: huggingface-hub
Version: 0.9.1
Summary: Client library to download and publish models, datasets and other repos on the huggingface.co hub
Home-page: https://github.com/huggingface/huggingface_hub
Author: Hugging Face, Inc.
Author-email<EMAIL_ADDRESS>License: Apache
Location: /opt/homebrew/lib/python3.10/site-packages
Requires: filelock, packaging, pyyaml, requests, tqdm, typing-extensions
Required-by: diffusers, open-clip-torch, transformers

I'm installing locally with pip -e mainly because I've made modifications to cmds, some shortcuts such as -s for steps etc. and I have created a UI which stores and uses these shortcuts. Also some modifications to the way the file is named so the arguiments and the imagine string are easier to split apart later on (in the UI)

I think I fixed this in just-realeased 7.4.1. let me know if it's still broken please

Doesn't work in 7.4.3. Tried a customised version as well as out of the box downloaded version
Downloading https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/889b629140e71758e1e0006e355c331a5744b4bf/v1-5-pruned-emaonly.ckpt from huggingface Traceback (most recent call last):   File "/opt/homebrew/bin/imagine", line 33, in <module>     sys.exit(load_entry_point('imaginAIry', 'console_scripts', 'imagine')())   File "/opt/homebrew/lib/python3.10/site-packages/click/core.py", line 1130, in __call__     return self.main(*args, **kwargs)   File "/opt/homebrew/lib/python3.10/site-packages/click/core.py", line 1055, in main     rv = self.invoke(ctx)   File "/opt/homebrew/lib/python3.10/site-packages/click/core.py", line 1404, in invoke     return ctx.invoke(self.callback, **ctx.params)   File "/opt/homebrew/lib/python3.10/site-packages/click/core.py", line 760, in invoke     return __callback(*args, **kwargs)   File "/opt/homebrew/lib/python3.10/site-packages/click/decorators.py", line 26, in new_func     return f(get_current_context(), *args, **kwargs)   File "/Users/tknuutil/AIstuff/imaginAIry-master/imaginairy/cmds.py", line 317, in imagine_cmd     imagine_image_files(   File "/Users/tknuutil/AIstuff/imaginAIry-master/imaginairy/api.py", line 76, in imagine_image_files     for result in imagine(   File "/Users/tknuutil/AIstuff/imaginAIry-master/imaginairy/api.py", line 135, in imagine     model = get_diffusion_model(   File "/Users/tknuutil/AIstuff/imaginAIry-master/imaginairy/model_manager.py", line 138, in get_diffusion_model     return _get_diffusion_model(   File "/Users/tknuutil/AIstuff/imaginAIry-master/imaginairy/model_manager.py", line 196, in _get_diffusion_model     model.num_timesteps_cond  # noqa   File "/Users/tknuutil/AIstuff/imaginAIry-master/imaginairy/model_manager.py", line 59, in __getattr__     model = load_model_from_config(   File "/Users/tknuutil/AIstuff/imaginAIry-master/imaginairy/model_manager.py", line 86, in load_model_from_config     ckpt_path = get_cached_url_path(weights_location, category="weights")   File "/Users/tknuutil/AIstuff/imaginAIry-master/imaginairy/model_manager.py", line 274, in get_cached_url_path     return huggingface_cached_path(url)   File "/Users/tknuutil/AIstuff/imaginAIry-master/imaginairy/model_manager.py", line 334, in huggingface_cached_path     dest_path = hf_hub_download(   File "/Users/tknuutil/AIstuff/imaginAIry-master/imaginairy/model_manager.py", line 321, in hf_hub_download     return _hf_hub_download(*args, **kwargs) TypeError: hf_hub_download() got an unexpected keyword argument 'token'

also models available in the help fail, e.g. imagine --model SD-2.1 "testing"

Edit: now also fails with custom models
FileNotFoundError: [Errno 2] No such file or directory: '/Users/tknuutil/AIstuff/imaginAIry-master/imaginairy/None

tried reinstalling rust and setuptools, and more (different) errors occur
File "/opt/homebrew/lib/python3.10/site-packages/pkg_resources/init.py", line 617, in _build_master
ws.require(requires)
File "/opt/homebrew/lib/python3.10/site-packages/pkg_resources/init.py", line 956, in require
needed = self.resolve(parse_requirements(requirements))
File "/opt/homebrew/lib/python3.10/site-packages/pkg_resources/init.py", line 815, in resolve
dist = self._resolve_dist(
File "/opt/homebrew/lib/python3.10/site-packages/pkg_resources/init.py", line 861, in _resolve_dist
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (setuptools 66.0.0 (/opt/homebrew/lib/python3.10/site-packages), Requirement.parse('setuptools<60'), {'numba'})

reverting back to 7.2.0 sovels the issue for me (but leaves out all the fun new features :)

Please try a vanilla install and see if the issue persists: pip uninstall imaginairy && pip install imaginairy ---upgrade

Need to rule out that it's the modifications you made

this one at least starts to load the model… my modifications have been quite small but I guess there was something that got upset the thing. I'll come back to this if after downloading the model it fails

The default model works, but custom models don't anymore

Traceback (most recent call last):
File "/opt/homebrew/bin/imagine", line 8, in
sys.exit(imagine_cmd())
File "/opt/homebrew/lib/python3.10/site-packages/click/core.py", line 1130, in call
return self.main(*args, **kwargs)
File "/opt/homebrew/lib/python3.10/site-packages/click/core.py", line 1055, in main
rv = self.invoke(ctx)
File "/opt/homebrew/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/opt/homebrew/lib/python3.10/site-packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
File "/opt/homebrew/lib/python3.10/site-packages/click/decorators.py", line 26, in new_func
return f(get_current_context(), *args, **kwargs)
File "/opt/homebrew/lib/python3.10/site-packages/imaginairy/cmds.py", line 304, in imagine_cmd
imagine_image_files(
File "/opt/homebrew/lib/python3.10/site-packages/imaginairy/api.py", line 76, in imagine_image_files
for result in imagine(
File "/opt/homebrew/lib/python3.10/site-packages/imaginairy/api.py", line 135, in imagine
model = get_diffusion_model(
File "/opt/homebrew/lib/python3.10/site-packages/imaginairy/model_manager.py", line 138, in get_diffusion_model
return _get_diffusion_model(
File "/opt/homebrew/lib/python3.10/site-packages/imaginairy/model_manager.py", line 196, in _get_diffusion_model
model.num_timesteps_cond  # noqa
File "/opt/homebrew/lib/python3.10/site-packages/imaginairy/model_manager.py", line 54, in getattr
model_config = OmegaConf.load(f"{PKG_ROOT}/{self.config_path}")
File "/opt/homebrew/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 183, in load
with io.open(os.path.abspath(file), "r", encoding="utf-8") as f:
FileNotFoundError: [Errno 2] No such file or directory: '/opt/homebrew/lib/python3.10/site-packages/imaginairy/None'

Confirmed bug

fix on the way

I have a similar bug, on Linux, Pop_OS @brycedrennan :
Downloading https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/889b629140e71758e1e0006e355c331a5744b4bf/v1-5-pruned-emaonly.ckpt from huggingface
Traceback (most recent call last):
  File "/home/evilscript/.local/bin/imagine", line 8, in <module>
    sys.exit(imagine_cmd())
  File "/usr/lib/python3/dist-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3/dist-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python3/dist-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/evilscript/.local/lib/python3.10/site-packages/imaginairy/cmds.py", line 265, in imagine_cmd
    return _imagine_cmd(
  File "/home/evilscript/.local/lib/python3.10/site-packages/imaginairy/cmds.py", line 701, in _imagine_cmd
    imagine_image_files(
  File "/home/evilscript/.local/lib/python3.10/site-packages/imaginairy/api.py", line 84, in imagine_image_files
    for result in imagine(
  File "/home/evilscript/.local/lib/python3.10/site-packages/imaginairy/api.py", line 159, in imagine
    model = get_diffusion_model(
  File "/home/evilscript/.local/lib/python3.10/site-packages/imaginairy/model_manager.py", line 145, in get_diffusion_model
    return _get_diffusion_model(
  File "/home/evilscript/.local/lib/python3.10/site-packages/imaginairy/model_manager.py", line 203, in _get_diffusion_model
    model.num_timesteps_cond  # noqa
  File "/home/evilscript/.local/lib/python3.10/site-packages/imaginairy/model_manager.py", line 60, in __getattr__
    model = load_model_from_config(
  File "/home/evilscript/.local/lib/python3.10/site-packages/imaginairy/model_manager.py", line 95, in load_model_from_config
    ckpt_path = get_cached_url_path(weights_location, category="weights")
  File "/home/evilscript/.local/lib/python3.10/site-packages/imaginairy/model_manager.py", line 284, in get_cached_url_path
    return huggingface_cached_path(url)
  File "/home/evilscript/.local/lib/python3.10/site-packages/imaginairy/model_manager.py", line 344, in huggingface_cached_path
    dest_path = hf_hub_download(
  File "/home/evilscript/.local/lib/python3.10/site-packages/imaginairy/model_manager.py", line 331, in hf_hub_download
    return _hf_hub_download(*args, **kwargs)
TypeError: hf_hub_download() got an unexpected keyword argument 'token'

@federicotorrielli can you tell what version of huggingface_hub you have installed so I can debug further? probably fixed by just updating to a newer version of huggingface_hub

@federicotorrielli can you tell what version of huggingface_hub you have installed so I can debug further? probably fixed by just updating to a newer version of huggingface_hub

Doing pip install -U --force-reinstall imaginairy fixed everything, tell the others!

Great good to know - thanks


Two Sided Marketplace?

Hello. Thanks so much for all of the work that you have all done with Saleor. I am relatively new to Django programming and am writing to respectfully ask if it is possible to modify Saleor for a two-sided marketplace. If so, I would greatly appreciate it if you could please shared advice with me about how to do this. Thank you.

It's on our radar for 2019 to think how to add marketplace features to Saleor, but it's a big change and I can't give any estimates when would that happen. I'm closing the issue for now, since this is not a priority at the moment.


Don't work properly with Cemu

For some reason this software don't works well with Cemu. Tested in Cemu 1.25.5b. I can even put some buttons with a little patience, but most of the time the buttons don't work. Tested with Cemu's own method of input DSUClient.

I gotta second with that as well. Not sure why but when connected to 5Ghz wifi network, the "buttons" are unresponsive. Not happening with 2.4Ghz tho. Also, I have to manually switch to Wiimote & Wii U gamepad input option in between navigation which is inconvenient... Tested on latest Cemu (1.25.6) with Just Dance 2019.

Closing in favor of #68.


Allow omitting package name when diffing against crates.io

So instead of --diff-published<EMAIL_ADDRESS>you can now just do --diff-published @1.2.3. The crate-name part will be taken from Cargo.toml (or --package ... arg).

I think for this to make more sense the @ should be optional too

Good point, I agree that makes sense to support for --diff-published 👍
But what do we do with --diff in that case? Does cargo public-api --diff 1.2.3 diff against the git tag or against the published crate? In theory it will not matter, but I don't think we can rely on that.
I do think it might make sense to consider "published diffing" to be the default, because it is both very relevant and less intrusive than than doing git checkouts.
I am contemplating changing to cargo public-api diff .... Maybe that would be a good opportunity to change the default interpretation.

if there's an ambiguity, then it could error that it can't decide what to do. you'd then use @ for crates.io/crate registry version, unsure what symbol tags would use

if there's an ambiguity, then it could error that it can't decide what to do. you'd then use @ for crates.io/crate registry version, unsure what symbol tags would use

Sounds good to me :+1:
In the spirit on doing many small incremental steps, would you be OK with us merging this, and then someone can at some point do the "without @" simplification as future follow-up PR?


FIX-#6582: avoid FutureWarnings in bfill/backfill/ffill/pad unless necessary

What do these changes do?

~Blocked on #6582~

[x] first commit message and PR title follow format outlined here

NOTE:  If you edit the PR title to match this format, you need to add another commit (even if it's empty) or amend your last commit for the CI job that checks the PR title to pick up the new PR title.

[x] passes flake8 modin/ asv_bench/benchmarks scripts/doc_checker.py
[x] passes black --check modin/ asv_bench/benchmarks scripts/doc_checker.py
[x] signed commit with git commit -s
[x] Resolves #6582
[x] tests added and passing
[x] module layout described at docs/development/architecture.rst is up-to-date

@mvashishtha do you agree to merge it?

Ideally, I would like to see the warnings removal by re-routing the bfill/... calls from the public version of .fillna() method (that raises warnings on the 'method' parameter) to the private ._fillna() (that doesn't do so)
def bfill(...):
    return self._fillna(method="bfill")

def _fillna(self, value=None, method=None, ...):
    # doesn't raise warnings on the 'method' parameter
    return self._query_compiler.fillna(...)

def fillna(self, value=None, method=None, ...):
    if method is not None:
        warnings.raise("...")
    return self._fillna(...)

this way we wouldn't silence any warnings and won't need to change anything after the 'method' parameter will be finally removed from the public .fillna()

Ideally, I would like to see the warnings removal by re-routing the bfill/... calls from the public version of .fillna() method (that raises warnings on the 'method' parameter) to the private ._fillna() (that doesn't do so)
def bfill(...):
    return self._fillna(method="bfill")

def _fillna(self, value=None, method=None, ...):
    # doesn't raise warnings on the 'method' parameter
    return self._query_compiler.fillna(...)

def fillna(self, value=None, method=None, ...):
    if method is not None:
        warnings.raise("...")
    return self._fillna(...)

this way we wouldn't silence any warnings and won't need to change anything after the 'method' parameter will be finally removed from the public .fillna()
UPD: but since the changes are already merged... I think the current approach is also good, to quickly silence the warnings before the release

Makes sense