Discussion: Making the gateway obsolete

Since there is no other forum to discuss this I figured an "enhancement" issue might be the best idea.
So recently I was thinking why we even have to use the IB gateway client in the first place. Why not just run a headless browser to authenticate and use the cookies after a successfull auth to run against the IB client portal api?
So i just tested this really quick and as expected it actually works that easy. Open your regional IBKR site, authenticate and after the auth you grab the USERID cookie that will get responed from the server from the /sso/Dispatcher. That cookie seems to represent some kind of session since that seems to be the only thing you need to fire requests to the portal.proxy. With the cookie you essentially just do requests against the portal proxy which for my region is under https://www.interactivebrokers.co.uk/portal.proxy/v1/portal. The IB client portal runs all its requets against that and a quick check shows the same responses as the IB gateway would give you.
Going this route would make the IB gateway obsolete and we could make direct requests to the portal.proxy endpoint.
I was thinking of building something like this:

Have one application get the USERID cookie with a headless browser from IBKR
Have a webservice that proxies requets to the portal.proxy. Why a service you may ask if you can code your trading bot to go directly to the portal.proxy? Well that's an option but the service could run valdation against input and output. The output part would also help detect any changes in the IBKR portal.porxy endpoint responses which might need further investigation and updates to the service but makes things more secure.

Any toughts?

This is an awesome idea if it works reliably. Thanks for suggesting it, I'll definitely start testing on my own end (if only I had more time...).
If not in ibeam, maybe we could create a separate project.
I'm not exactly sure which cookies are required, but just to be safe I downloaded all session cookies from the IBKR website into a cookies.txt, then ran for eg the following with the proper <user-id> replaced:
curl -b cookies.txt https://www.interactivebrokers.co.uk/portal.proxy/v1/portal/portfolio/<user-id>/summary

Some observations:

It is much faster and more deterministic than routing through the gateway (Java runtime is garbege, so it's expected).

I don't think the "region" matters for anything as I login from .hu then get redirected to .co.uk anyway.

Sneaked a look into the gateway code. It is as bad as expected. Just more reason to get rid of it.

Making the gateway obsolete will also make significant parts of the docker container obsolete so it will at least decrease in size (good because VPS space is expensive). Not sure if it still makes sense to ship ibeam within a container without the gateway, but it's still a significant plus IMO.

Now that I know this works I'm tempted to just plug this authentication into my Rust + serde + reqwest codebase and do away with ibeam entirely, see how it goes. :joy:

Yeah lots of reasons to ditch the gateway. Only the USERID cookie is required. Seems to be some kind of session cookie.
Something like this would require a new project but I wanted to bounce of the general idea of this new approach on people

Good news: All endpoints (the ones which my app uses anyway :smile: ) seem to work with just two cookies: USERID and XYZAB.
USERID appears to be a constant, per-user, but different than the account UID used to identify trader accounts in the IBKR database.
XYZAB looks like a SHA-1 checksum and changes at every login. It is identical to XYZAB_AM.LOGIN. This seems to be the actual session-identification cookie.
Anyway, ibeam could be converted to this new interface and continue handling the browser (re-)auth, tickle, maybe it would even help with those annoying "Gateway running but not authenticated" errors, not sure if we need to start a new project...
If it helps, here's my session setup logic in Rust, I'm still hardcoding the cookies because I haven't yet added chromedriver communication.
pub fn get_ibkr_client() -> reqwest::Client {
    let userid = "...";
    let xyzab = "...";
    let domain = ".interactivebrokers.co.uk";

    let cookie1 = format!("USERID={}; Domain={}", userid, domain);
    let cookie2 = format!("XYZAB={}; Domain={}", xyzab, domain);

    let url = format!("https://www{}", domain)
        .parse::<Url>()
        .expect("Failed to parse IBKR URL");

    let jar = Jar::default();
    jar.add_cookie_str(cookie1.as_str(), &url);
    jar.add_cookie_str(cookie2.as_str(), &url);

    reqwest::Client::builder()
        .cookie_store(true)
        .cookie_provider(Arc::new(jar))
        .build()
        .expect("Failed to build IBKR reqwest client")
}

Then where needed I do calls like
ibkr_client
    .post("https://www.interactivebrokers.co.uk/portal.proxy/v1/portal/trsrv/secdef")
    .header("Content-Type", "application/json")
    .body(all_conid_json)
    .send()

One more thing, I think that having an intermediary web service doing validation is unnecessary, since we called these end-points directly via the gateway as well. The latency is quite decent now, why introduce a new intermediary when we just got rid of the Java gateway? :wink:

Hey @JackD111 and @10ne1 thanks for making this suggestion and already sharing progress in this area.
I will note that there has been similar attempts made by other users in the past, and I remember that IBKR has warned them such actions go against their TOC and could result in unwanted consequences from their side. I would encourage you to communicate with IBKR before proceeding with this approach and sharing your results publicly.
If IBKR would be okay to go ahead then you're making some great contribution here, I'd just double check it's okay to do so 👍

Thanks for the info @Voyz . I've stopped my research until we can get some confirmation that it's ok to call the IBKR API without the gateway.

I've also started working on an API wrapper but for .NET that can already do the headless auth and run some basic requests that I've thrown in together in the weekend.
I've opened a ticket with support and asked if it was allowed or against their ToS or anything. Will get back to you guys about this once I get an answer.
Hopefully they give a postive answer back since I'd really rather like to work indipendant of the IB gateway. I  mean in the end they wouldn't be able to distinigsh API requests from an actual browser request vs. code requests when sending the proper cookies/headers unless you run your trading bot in a data center like me and than compare the IP addresses to known data centers but I heavily doubt they'd go so far.

Thanks @JackD111 I also got auth working yesterday with the Rust fantoccini crate, but that's about it. Until we hear back from IBKR I'm stopping at this point. I also need to focus on actual work, so unfortunately I don't have much time to spend on this.

@JackD111

issues with the gateway client today

Yes, it was offline since ~02:15 UTC. I've got a lot of different errors, not only http-500.
I thought the gateway was finally dead.
The regular (not web api) IB Gateway is much more reliable but also have issues. So I second the idea of using the portal.proxy directly.

The web API, website and mobile app regularly have issues, some endpoints might not work at all, return random errors, even bogus conid data. The mobile app displays this notification:
IMPORTANT: Due to scheduled maintenance clients may be unable to connect through our web, mobile, and desktop trading platforms.

Hopefully IBKR can stabilize their platform soon.

Got a response to my ticket regarding the usage of the protal.proxy:
Thank you for contacting Interactive Brokers.
It is not recommend to use the Client Portal REST API in a manner not described in the official documentation. As this method is not officially tested or documented we are unable to provide support with any issues you may experience. Please refer to the official documentation for Client Portal API here: LINK../index.html

If you are experiencing issues getting started with the API, or have any other questions, please feel free to get in touch with us again at: LINK../clientservices

Kind Regards,
XX
Clinet Services - Technical Assistance Center, API

Sounds to me like the they are fine with it but won't help incase of issues since it's not officially supported. Looks like I'll continue developing my new library :>

@JackD111

Sounds to me like the they are fine with it
Good news!

I've tested the direct portal.proxy approach and it is much more stable than any gateway. It looks like a single auth session works for at least many hours until IBKR resets everything at the and of the day.
I implemented (partially) their homemade cryptography (https://ndcdyn.interactivebrokers.com/sso/CombineFiles) and authentication logic in Python, so now I'm able to obtain XYZAB, USERID and cp cookies without using Chrome, Selenium, Docker and anything like Wallace and Gromit style breakfast machine.

@stopdesign Nice work, mind sharing your auth code? Would save me some time :>

@stopdesign & @JackD111 That's a very interesting idea but...
The problem with re-implementing parts of IBKR custom logic is they can change it at any time and risks breaking our use case, so that is why I prefer to keep my app using the rust fantoccini crate for webdriver with their original code.
This is the kind of breakage or "unexpected consequence" they warn about, for which they cannot provide any support or guarantee, so I'd rather play it safe and keep auth via a Chrome or Firefox. Honestly the overhead is quite minimal since it's all automated in the background.

@stopdesign Can you  your auth code?

hi @JackD111 and @10ne1 , two years past, have you guys using the portal.proxy directly without the gateway ? how did it go ?

As a Individual you can use the official web api without any need for the gateway. It's a customized oauth1-process but doable any why robuster than fiddling around with a gateway or hijacking the client portal.
An introduction can be found under https://www.interactivebrokers.com/campus/ibkr-api-page/webapi-doc/#web-api-access-for-individuals-4 and https://www.interactivebrokers.com/campus/ibkr-api-page/cpapi-v1/#first-party-oauth
Needed credentials can be configured under https://www.interactivebrokers.co.uk/oauth/#/configuration
Technical Details regarding the modified oauth1 https://www.interactivebrokers.com/webtradingapi/oauth.pdf

https://www.interactivebrokers.com/campus/ibkr-api-page/cpapi-v1/#first-party-oauth

Did IBKR give you any trouble when you emailed<EMAIL_ADDRESS>Did you have to prove that you're not an individual investor?


I would like to cite your work in my Masters Thesis

Hi,
can you make a proposal how I can cite BOOBs ?
Thanks

Fixed it.


Recommending to purge_cache when large slug size

Based on https://github.com/kennethreitz/conda-buildpack/issues/16. In this case, running heroku repo:purge_cache allowed to reduce the slug size below the 300MB limit. Thus, having such recommendation in the Readme might save some future headaches.

good call. this is a useful addition.


UI integration for bandwidth limiting

This change is

UI-wise, this feels like it should not be between "Analyze NAT" and "Port control status".  Was that done for a reason?
Also, this is a partial review, files marked unreviewed are not yet fully reviewed.

Reviewed 3 of 7 files at r1.
Review status: 3 of 7 files reviewed at latest revision, 6 unresolved discussions.

src/generic_core/remote-connection.ts, line 159 [r1] (raw file):

        reproxy: globals.settings.reproxy,
      }, pc);
      RtcToNet.updateBandwidthSettings({

Is there a reason we're updating the bandwidth settings everytime you start a new connection?  Seems like this should be done only when the actual setting is changed.

src/generic_ui/locales/en/messages.json, line 1449 [r1] (raw file):

  "WHAT_IS_BANDWIDTH_LIMITING_ANSWER": {
    "description": "Answer for section of FAQ that explains bandwidth limiting",
    "message": "
uProxy allows sharers to limit the amount of bandwidth used up by users proxying through the sharer. After setting a limit, each person proxying through the sharer will never use more than the limit on the bandwidth set by the sharer.

Bandwidth is commonly measured in bits per second (bps). For conversion, 1,000,000 bps = 1 Mbps.
"

You have a space inside of one of the paragraphs after the period.
More a question for writing, but having a second paragraph sounds like a bit too much information to me, can't imagine "what unit is bandwidth measured in and how do you convert between prefixes" coming up as a frequent question.

src/generic_ui/polymer/advanced-settings.html, line 174 [r1] (raw file):

      margin-top: 0.75em;
    }
    paper-input-decorator[id=bandwidthLimitDecorator] {

Instead of [id=ABC], use #ABC

src/generic_ui/polymer/advanced-settings.html, line 175 [r1] (raw file):

    }
    paper-input-decorator[id=bandwidthLimitDecorator] {
      font-size: 1.0em;

Do all these settings definitely make a difference?

src/generic_ui/polymer/advanced-settings.html, line 204 [r1] (raw file):

              {{ "TOR_ENABLE" | $$ }}

I assume you did not intend to delete this?

src/generic_ui/polymer/advanced-settings.html, line 227 [r1] (raw file):

      margin-bottom: 0px;
    }
    .align-left{

Spaces before brace

Comments from Reviewable

Review status: 3 of 7 files reviewed at latest revision, 12 unresolved discussions.

src/generic_ui/locales/en/messages.json, line 1429 [r1] (raw file):

  "LIMIT_BANDWIDTH_PROMPT": {
    "description": "Prompt that asks user if they would like to limit the bandwidth",
    "message": "Limit bandwidth?"

nit: my preference would be to drop the "?"

src/generic_ui/polymer/advanced-settings.html, line 181 [r1] (raw file):

      padding-right: 5px;
      padding-bottom: 6px;
      padding-top: 2px;

I'd combine this to: padding: 2px 5px 6px 5px;

src/generic_ui/polymer/advanced-settings.html, line 254 [r1] (raw file):

I'm seeing spaces before and after the =

src/generic_ui/polymer/advanced-settings.html, line 331 [r1] (raw file):

            {{ 'PORT_CONTROL_NOT_SUPPORTED_INFO' | $$ }}
            <uproxy-faq-link anchor='whatIsPortControl'>
              {{ 'PORT_CONTROL_NOT_SUPPORTED_INFO_LINK' | $$ }}

Did you also want to update the message key in the messages.json file? Or can we keep this as MORE_INFO?

src/generic_ui/polymer/advanced-settings.ts, line 131 [r1] (raw file):

    } else {
      var enabledCurr = false;
    }

Could this block be simplified to the line var enabledCurr = this.$.bandwidthLimitEnabled.checked

src/lib/rtc-to-net/bandwidth-config.ts, line 3 [r1] (raw file):

import uproxy_core_api = require('../../interfaces/uproxy_core_api');

interface BandwidthConfig {

Where do you use this? Sorry I'm missing it!

Comments from Reviewable

It would be amazing if you could reverse the order of elements (Bandwidth limit, input box, save button) when we have a right-to-left language. An example would be like the stats checkbox in the settings bar, where we flip the checkbox to the right side:

Let me know if you get stuck on this though!

@jpevarnek where would you recommend I put it? After tor?
@lucyhe I'll start working on it!

Review status: 1 of 6 files reviewed at latest revision, 13 unresolved discussions.

src/generic_core/remote-connection.ts, line 159 [r1] (raw file):
Previously, jpevarnek (Jonathan Pevarnek) wrote…
> Is there a reason we're updating the bandwidth settings everytime you start a new connection?  Seems like this should be done only when the actual setting is changed.

It was only useful when the settings could not be updated mid-connection! Forgot to get rid of it. Done.

src/generic_ui/locales/en/messages.json, line 1429 [r1] (raw file):
Previously, lucyhe wrote…
> nit: my preference would be to drop the "?"

Done.

src/generic_ui/locales/en/messages.json, line 1449 [r1] (raw file):
Previously, jpevarnek (Jonathan Pevarnek) wrote…
> You have a space inside of one of the paragraphs after the period.
>
> More a question for writing, but having a second paragraph sounds like a bit too much information to me, can't imagine "what unit is bandwidth measured in and how do you convert between prefixes" coming up as a frequent question.

Got rid of it! Done.

src/generic_ui/polymer/advanced-settings.html, line 174 [r1] (raw file):
Previously, jpevarnek (Jonathan Pevarnek) wrote…
> Instead of `[id=ABC]`, use `#ABC`

Done.

src/generic_ui/polymer/advanced-settings.html, line 175 [r1] (raw file):
Previously, jpevarnek (Jonathan Pevarnek) wrote…
> Do all these settings definitely make a difference?

Unfortunately, yes, you need all these settings to make it look the way it does right now.

src/generic_ui/polymer/advanced-settings.html, line 181 [r1] (raw file):
Previously, lucyhe wrote…
> I'd combine this to: `padding: 2px 5px 6px 5px;`

Done.

src/generic_ui/polymer/advanced-settings.html, line 204 [r1] (raw file):
Previously, jpevarnek (Jonathan Pevarnek) wrote…
> I assume you did not intend to delete this?

Confused on what you mean I deleted.

src/generic_ui/polymer/advanced-settings.html, line 227 [r1] (raw file):
Previously, jpevarnek (Jonathan Pevarnek) wrote…
> Spaces before brace

Done.

src/generic_ui/polymer/advanced-settings.html, line 254 [r1] (raw file):
Previously, lucyhe wrote…
> I'm seeing spaces before and after the =

Done.

src/generic_ui/polymer/advanced-settings.html, line 331 [r1] (raw file):
Previously, lucyhe wrote…
> ![✂-1](https://files.reviewableusercontent.io/images/reviewable/8723127/ayPRNGze9eHgmwQGy-gqh9aa.png)
>
> Did you also want to update the message key in the messages.json file? Or can we keep this as MORE_INFO?

Not sure what you mean.

src/generic_ui/polymer/advanced-settings.ts, line 131 [r1] (raw file):
Previously, lucyhe wrote…
> Could this block be simplified to the line `var enabledCurr = this.$.bandwidthLimitEnabled.checked`

Done.

src/lib/rtc-to-net/bandwidth-config.ts, line 3 [r1] (raw file):
Previously, lucyhe wrote…
> Where do you use this? Sorry I'm missing it!

I use it in ```rtc-to-net.ts``` because there is no easy way to pass something from the core to that class!

Comments from Reviewable

Review status: 1 of 6 files reviewed at latest revision, 7 unresolved discussions.

src/generic_ui/polymer/advanced-settings.html, line 331 [r1] (raw file):
Previously, shilpa10kumar9 wrote…
> Not sure what you mean.

In the Port control status section, I see "PORT_CONTROL_NOT_SUPPORTED_INFO_LINK" where it used to say "More info" If you add PORT_CONTROL_NOT_SUPPORTED_INFO_LINK as a new message in the messages.json file, then it will show the message instead.

Comments from Reviewable

Review status: 1 of 6 files reviewed at latest revision, 7 unresolved discussions.

src/generic_ui/polymer/advanced-settings.html, line 331 [r1] (raw file):
Previously, lucyhe wrote…
> In the Port control status section, I see "PORT_CONTROL_NOT_SUPPORTED_INFO_LINK" where it used to say "More info" If you add PORT_CONTROL_NOT_SUPPORTED_INFO_LINK as a new message in the messages.json file, then it will show the message instead.

Weird, I think this accidentally got changed during a merge conflict. Not sure what PORT_CONTROL_NOT_SUPPORTED_INFO_LINK is supposed to be, so I changed it back to MORE_INFO.

Comments from Reviewable

it looks like this stalled and should be closed, but please reopen if there's more to do here.


Update raw-media-access-javascript.md

@sloanster
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team


show an indicator on the RFCs home page to show if the logged-in user has voted

This PR related to this issue

Important sidenote to make: if you're using auth()->user, you're retrieving a new User instance from the database. The downside is that that user doesn't have any relations loaded. That has the potential for slow performing queries. That's why it would be better to resolve the user in the controller, load the relations there (in this case it'd only be user.argumentVotes, and then use that user object. We already do this in the RfcDetailController:
        $user = auth()->user();

        $user?->load([
            'arguments',
            'argumentVotes.argument',
            'viewedArguments',
        ]);

Would you mind changing the code to doing this? So that we don't run into potential performance issues.

Important sidenote to make: if you're using auth()->user, you're retrieving a new User instance from the database. The downside is that that user doesn't have any relations loaded. That has the potential for slow performing eager load issues. That's why it would be better to resolve the user in the controller, load the relations there (in this case it'd only be user.argumentVotes, and then use that user object. We already do this in the RfcDetailController:
        $user = auth()->user();

        $user?->load([
            'arguments',
            'argumentVotes.argument',
            'viewedArguments',
        ]);

Would you mind changing the code to doing this? So that we don't run into potential performance issues.

"You're totally right. Now, I think I've come up with an even better approach by making use of the RFC arguments. Since they are already loaded, I could match them with the logged-in user without the need to eager load more arguments for the user separately. What do you think of this?

Not sure I fully understand, but I'd say go for it and let me know when the code's ready :)

I updated the PR.. you can now check the latest commit I've pushed..

Cool, thanks!

Closes #108


js-sys Math::random() will interrupt program

Steps to Reproduce

In official repo examples/add
Add js-sys dependency
Add Math::random() call in add function

use js_sys::Math;
use wasm_bindgen::prelude::*;

#[wasm_bindgen]
pub fn add(a: u32, b: u32) -> u32 {
    let value = Math::random();
    a + b
}

build the example locally with npm run serve

Expected Behavior
Browser will display a dialog
Actual Behavior
Browser not display a dialog

This looks to be another case of #3102.
TL;DR: because the function doesn't need any JS glue, wasm-bindgen passes it to the wasm binary using export const ... instead of export function .... Webpack then attempts to reference it before use because of some circular dependency weirdness, which happens to work out for functions since they get hoisted, but not for consts.


Add support for window function bindings

Which issue does this PR close?
Closes #520

@jdye64 Is there any overlap between this PR and the recently merged PR that added Window Frame bindings?
https://github.com/apache/arrow-datafusion-python/pull/509

I had missed that one. Yes, seems to be a lot of overlap. Let me rebase with main and remove the duplicate pieces.

I think I'm going to move window_frame.rs into the expr directory since that lines up with arrow-datafusion location and also rename it to just window.rs and include both window and window_frame logic in the single file. Will post the commit here shortly.

@dlovell fyi


Bug: [Windows gitbash sdk current java error: Not using any version of java]

Bug report

I receive the error "Not using any version of java" when running sdk current java on windows 11 using gitbash.
Michael@Michael-Desktop MINGW64 /
$ sdk current java
Not using any version of java
When running sdk list java all of the versions are displayed, and all of the versions I have installed. If I use the sdk use command it successfully changes  the java version, and then when I run sdk current java the version is displayed. I thought the default version was also supposed to display by running sdk current java.
Michael@Michael-Desktop MINGW64 /
$ sdk use java 11.0.12-open
Using java version 11.0.12-open in this shell.
Michael@Michael-Desktop MINGW64 /
$ sdk list java
Michael@Michael-Desktop MINGW64 /
$ sdk current java
Using java version 11.0.12-open
To reproduce

Install gitbash for windows, on windows 11 following instruction on sdkman site. Install multiple versions of java, and then select one as the default version. Try running sdk current java and error should reproduce.
System info

Windows 11 Pro 2000 Build 22000
$ bash --version
GNU bash, version 4.4.23(1)-release (x86_64-pc-msys)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Michael@Michael-Desktop MINGW64 /
$ sdk version
SDKMAN 5.14.1

I should also mention, that the java version is changed under the candidates current folder on Windows. So it is working correctly on the system, just not displaying as you would expect within gitbash sdk commands.
C:\Users\Michael.sdkman\candidates\java\current does change between versions.

Note that this probably also breaks the auto_env.
As the current list of candidate (and default is empty) sdk man fails to restore the default version.

I have the same problem. Have you solved it yet？😥

This is still an issue for me.  I just tried it again.
Installed JDK  11.0.19-amzn.
Then tried setting it as default.
mbstockm@17926WLS MINGW64 ~
$ sdk default java 11.0.19-amzn
Default java version set to 11.0.19-amzn
Then tried checking current java
mbstockm@17926WLS MINGW64 ~
$ sdk current java
Not using any version of java
However it did still actually change my Java version in windows, since my JAVA_HOME looks at the candidates current, and that is changed by this command. It just isn't showing when sdk list java is run.

yeah, it also changed my version of Java on windows, but only in git-MINGW, in the global environment my java environment still shows the version of java I installed before sdkman. Later, I found that I can use sdkman to install java in CentOS.
So I suspect that the java environment before I installed it is in conflict with the java in sdkman or other reason

问题目前依旧存在，没有解决


Disabling add-ons that aren't installed crashes the updater

If you select an add-on that wasn't installed, and press the Disable button, after confirming the action, the updater throws an "An unhandled exception occurred." can't find the file \Guild Wars 2\bin64\d912pxy.dll for example

Working on a fix, should be out in a few hours

Released a new update; after downloading it and restarting the program, see if the issue persists.
Interestingly, the text that says whether an add-on is installed or not is based on reading a section of the configuration file that's also supposed to be checked when handling the disable button, so if it doesn't say "installed" then it shouldn't be trying to move any files around....regardless, I added a quick file existence check that should prevent the problem for now; I'll keep an eye out when editing for where this issue might have sprung from. Sorry for the late response!

Yep, it disables them now instead of crashing :)
The next issue is re-enabling them... still getting the same crash.
Issue only exists when I've never installed an addon.
I can only re-enable an addon like this as follows:
Using the delete button on an addon that's never been installed/downloaded, it does something, and I can re-enable the addon again.
config.txt

Odd. It sounds like somehow the "installed" field got set somehow when they're not installed, so the application looks for files that aren't there ("delete" goes through and deletes the files if they exists and clears the relevant properties in that field, which would explain why it helps). I'll probably end up writing a verification function that just compares the actual folder to the configuration file and corrects any discrepancies and put it in places it would be useful. Interestingly, I haven't been able to reproduce the issue at all on my end (disabling and enabling add-ons that are not installed seems to work for me). I'll see if I can make a proper, conclusive fix tomorrow. Is this issue with just one or two particular add-ons or all of them?

Also, if you feel up to the hassle, you could try deleting config.ini and resetting your bin64 folder back to defaults by deleting it and then launching + closing the game, and then seeing if the issue persists. It might work. I work tomorrow (and am fast approaching sleep right now) but hopefully I'll be able to dig up the root issue that started the problem.

Tested on latest dev build and problem seems to be resolved. If after next release (1.0) the problem persists, feel free to reopen this issue.


Dedicated JupyterDay Page

So after drafting up a few solutions to creating a dedicated JupyterDay page, I came up with the page below. Not sure if we need this page yet, seeing that there aren't many meetups happening yet, but while there aren't many happening I can start building it so we can push it whenever necessary. Just feel it may get tedious to scroll through the blog when we start having news coming in as well as events planned. Anyway, I designed the page around an open source touch enabled carousel that is, apparently, easy to customize and tailor to your need. It is called "Owl Carousel" and can be found here: http://owlgraphic.com/owlcarousel/index.html#customizing
Users can easily scroll through the event schedule, find the event they will be attending, and the information will appear below. We can also add a button to redirect to an Eventbrite page, or even in the future host the RSVPing through the website.
Overall just wanted to get some feedback and wondering if we want to continue on this idea!

I am +1 on having a JupyterDay page on the website. However, there are
going to be many non-coding people who need to work with this. I am a bit
hesitant for them to have to deal with GitHub to make changes.Because of
that, I think all of the details of each individual JupyterDay should be a
blog post.
Also, a website is horrible at tracking sequeces of date/time events. That
is really much more appropriate for a blog. It would keep a nice time
ordered sequence of all our events. Again, another reason to have each
event on the blog.
We also may end up having multiple events running at the same time. With
this in mind, I think the main JupyterDay page should just link to the blog
posts and maybe haver banners for the upcoming ones.
Thoughts?
On Fri, Oct 30, 2015 at 7:53 PM, Cameron Oelsen<EMAIL_ADDRESS>wrote:

So after drafting up a few solutions to creating a dedicated JupyterDay
page, I came up with the page below. Not sure if we need this page yet,
seeing that there aren't many meetups happening yet, but while there aren't
many happening I can start building it so we can push it whenever
necessary. Just feel it may get tedious to scroll through the blog when we
start having news coming in as well as events planned. Anyway, I designed
the page around an open source touch enabled carousel that is, apparently,
easy to customize and tailor to your need. It is called "Owl Carousel" and
can be found here:
http://owlgraphic.com/owlcarousel/index.html#customizing
Users can easily scroll through the event schedule, find the event they
will be attending, and the information will appear below. We can also add a
button to redirect to an Eventbrite page, or even in the future host the
RSVPing through the website.
Overall just wanted to get some feedback and wondering if we want to
continue on this idea!
[image: jupyterday-mockup]
https://cloud.githubusercontent.com/assets/6437976/10860525/b9d25e74-7f26-11e5-825b-ae4a34d5f0f2.png
—
Reply to this email directly or view it on GitHub
https://github.com/jupyter/jupyter.github.io/issues/66.

--
Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
<EMAIL_ADDRESS>and<EMAIL_ADDRESS>

@ellisonbg — I agree with having the actual event pages on a separate platform, whether EventBrite or otherwise.
I do think we can benefit from a JupyterDay section on the website. @cameronoelsen, you can keep most of the elements on the design you made and perhaps we can create a page on our website that contains the information that Katie drafted in the event guide so that members of the community can set up their own JupyterDays, basically a how-to page.

Since this ticket has been inactive for six years, I'm going to close as stale. If you'd like to continue the discussion, feel free to chime in.


Add search/filter

When there are many accounts/tokens, it's quite hard to find one specific token. It would be very nice if there was a filter/search field in the top bar.

@sedrubal - if it's possible, can you try building the latest master and test the new search functionality? If not, we'll close this issue and wait for any bug reports.

Yes, this is working perfectly. Thanks.
But can you maybe integrate the search bar into the app bar? This might look better...
And maybe not everybody wants to use the search bar. So it might be better not to focus it by default (because if the bar is focused the keyboard pops up and this might be very annoying).

@sedrubal, can you pull again? Really appreciate your help testing. Thanks!

This is much nicer now, thanks!
But to be honest I thought of something like this but with instant filtering instead of suggesting words (like you implemented it already). I don't know how to do it and if this is easily possible.

I didn't want to spend too much time on the solution and personally I've never really liked that style of "finding" things in a list, but that's just a personal opinion. At this time, if the feature is "good enough"; I'd prefer to move on to other issues within the app.
Would you say we're at a "good enough" stage with this? (Even if it's just a "for now" solution.)

Yes definitively. Thanks :smile:

Awesome! Closing this now.


Callback metrics collection interval

Question
According to the docs:

Callback metrics, or observable metrics, are a way to create metrics that are automatically updated based on a time interval.

However, there doesn't seem to be any mentioning in the docs on how to configure this time interval. I presume it might be the export interval which can be set with otel_interval_milliseconds ?

If you're getting otel_interval_milliseconds from https://logfire.pydantic.dev/docs/integrations/airflow/?h=otel_interval_milliseconds#airflow-configuration, yes.
More generally there's the environment variable OTEL_METRIC_EXPORT_INTERVAL.

Example use cases for this would be: specifying lower intervals for metrics that require a higher resolution, or higher intervals for metrics that may consume resources (e.g. query a database)


Selection Speed is offlimits after update to 1.38.0

After update selection speed is way off limits, I can't even copy peace of code to place it elsewhere.

VSCode Version: 1.38.0
OS Version: 1.13.6
Mouse: (Magic Mouse)

Steps to Reproduce:

Start copy 3 lines of code.
Slightly move your finger on mouse up (we copying from bottom to up).
Realize you have selected half of the file (~560 lines)

Does this issue occur when all extensions are disabled?: Yes

I have a suspicion that editor.cursorSurroundingLines is affecting this behavior.

well, it is. disable this setting, in order to be able to copy anything without hassle.


Feedback about Edit Family

Issue Description
Recently with my team we were experiencing an issue in which we couldn't import one package from Family A into Family B. After some time, we realized that Family B was set up so that we couldn't import any packages from Family B into it. It was the first time we ran into this flow so it took some time to realize.
In the end, we disabled the rule temporarily, did our changes, and enabled it again. Finding a way to edit it was a bit complex, though.
Suggestions

Display the unavailable families on the bottom, and grey them out. If the user wants to import them either way, they get a confirmation pop-up but can do so anyway.
Adding a more descriptive icon to the Edit Family Feature to improve discoverability. Maybe just a plain button that says "Edit"?

Thank you for your suggestion Eric.
With the release 5.0, the dependencies sheet will display the disabled components with a small message:


engine-flutter-autoroll and fluttergithubbot alternate adding and removing "waiting for tree to go tree" label

https://github.com/flutter/flutter/pull/66157

Lamest battlebot fight ever.

This is expected, the roller failed some tests and was not closed then the autoroller updated the pr and added the label again, and continued with that cycle.

obsolete


❓ Help: Layout break

When I add Glow and an element that scrolls horizontally the layout breaks
Code:
FeatureCard
export default function FeatureCard({ className }: IProps) {
  return (
    <Glow>

          <Image src='/demo.jpg' className='aspect-[4/3] w-full object-center' width={360} height={270} alt='' />

Seaside Serenity Villa

            A stunning 4-bedroom, 3-bathroom villa in a peaceful suburban neighborhood

        <HorizontalScrollPanel className='flex flex-row gap-2'>
          <Tag />
          <Tag />
          <Tag />
          <Tag />
          <Tag />
          <Tag />
          <Tag />
          <Tag />
        </HorizontalScrollPanel>

Ціна

$500,000

          <Button>Детальніше</Button>

    </Glow>
  );
}

Features
<GlowCapture className='grid grid-cols-1 gap-8 sm:grid-cols-2 lg:grid-cols-3'>
        <FeatureCard />
        <FeatureCard />
        <FeatureCard />
        <FeatureCard className='hidden sm:block lg:hidden' />
</GlowCapture>

HorizontalScrollPanel
'use client';

import React, { useEffect, useRef, useState } from 'react';
import { useScroll } from 'react-use';
import { twMerge } from 'tailwind-merge';

interface IProps {
  children?: React.ReactNode;
  className?: string;
}

export default function HorizontalScrollPanel({ children, className }: IProps) {
  const ref = useRef<HTMLDivElement | null>(null);
  const { x: xScroll } = useScroll(ref);
  const [width, setWidth] = useState(0);

  useEffect(() => {
    const el = ref.current;

    if (el) {
      const onWheel = (e: WheelEvent) => {
        if (e.deltaY === 0) return;
        e.preventDefault();
        el.scrollTo({
          left: el.scrollLeft + e.deltaY,
          behavior: 'smooth',
        });
      };
      el.addEventListener('wheel', onWheel);
      setWidth(el.scrollWidth - el.offsetWidth);
    }
  }, []);
  return (

 10 ? 'opacity-100' : 'opacity-0'
        )}
      />
      <div
        className={twMerge(
          'absolute inset-y-0 -right-1 w-12 bg-gradient-to-r to-black from-black/0 shadow-xl duration-300 transition-all pointer-events-none',
          xScroll + 10 < width ? 'opacity-100' : 'opacity-0'
        )}
      />

        {children}

  );
}

Layouts
Only with glow or only with HorizontalScrollPanel

With glow and HorizontalScrollPanel

Is the glow capture inside the scroll panel or outside?

Outside

GlowCapture -> array of Glow components -> every Glow has HorizontalScrollPanel

It's hard to judge without a working reproduction, but it might be related to absolute positioning.
If you could create a reproduction I'd be in a better position to help.

This is really because of the absolute positioning.
Sorry for the long answer.
It's not a problem for me anymore since I ditched the tags and now everything works as it should.
I don't think it can be done in this context, because even if you fix the absolute positioning problem, the mask will not display the tag line correctly, since it is dynamic. Something similar happens to the forms when they are filled out, but the mask overlays the filled data.


Improvements for Correlation Logs

Purpose
This PR includes,

A new component to manage correlation logs
Modifications to the CorrelationLogInterceptor class which used for JDBC related correlation logs
Modifications to the RequestCorrelationIdValve class which used for HTTP related correlation logs

Modifications to the LDAPConnectionContext class which used for LDAP related correlation logs

Security checks

Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? yes
Ran FindSecurityBugs plugin and verified report? yes
Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes

@ruwanta FYI


Add InterceptorFactory

Interceptors are being accidentally misused by users.
The issue is that an Interceptor can be re-used between
multiple PeerConnections. Interceptors were designed to only be
single PeerConnection aware, so state is being corrupted.
Instead we are now going to provide InterceptorFactories. The default
API of pion/webrtc will now be safe to use between PeerConnections.
Resolves webrtc#1956

I am really happy with this!
We have API breakage in pion/interceptor, but none in pion/webrtc and solves our re-usage problems.


Add a perf-based benchmark

First step towards #90.  Depends on #91

Is there anything that needs to be done for this PR to be mergeable?

I guess my only question is, how should this be used?

@astronouth7303 I don't think this needs to be a full solution to #90 ?
Just having the ability to benchmark and compare is pretty useful, since it means we can easily check what's the performance impact of any given change (rather than me inventing a microbenchmark).
Moreover, the maintenance cost is negligible, since it's a script with less than 20 lines, which nothing depends on, and which doesn't need updating when adding new functions in Vector2 (thanks to tests.utils.*_OPS).


Getting error while trying to add a GH issue link

I'm getting:
API Error while submitting an issue on a test run. Message: Error getting issue state: Response: HTTP 404
I have no idea why. I'm adding to https://argus.scylladb.com/test/5d2da105-5a28-4320-9d86-68b12bae75be/runs?additionalRuns[]=8960783f-e3c4-4006-9591-359e0d7307cb the bug https://github.com/scylladb/scylla-enterprise/issues/4626
Could be that I'm not logged in to GH in Argus or what not - so it should just let me add the link.

I added it.
Indeed it should let you add the link even without full access.

The issue here is that Argus tries to get the initial issue state to save - we can probably omit that stage, but it would require adding fallbacks and updates to the stub issue like that.

The issue here is that Argus tries to get the initial issue state to save - we can probably omit that stage, but it would require adding fallbacks and updates to the stub issue like that.

or use gh api to get that (we shouldn't reach quota if done rarely)

The issue here is that Argus tries to get the initial issue state to save - we can probably omit that stage, but it would require adding fallbacks and updates to the stub issue like that.

or use gh api to get that (we shouldn't reach quota if done rarely)

I believe that's already what's happening, it's just we are doing it from the user's token and not from app token.

The issue here is that Argus tries to get the initial issue state to save - we can probably omit that stage, but it would require adding fallbacks and updates to the stub issue like that.

or use gh api to get that (we shouldn't reach quota if done rarely)

I believe that's already what's happening, it's just we are doing it from the user's token and not from app token.

I mean using app token instead user for this one

The issue here is that Argus tries to get the initial issue state to save - we can probably omit that stage, but it would require adding fallbacks and updates to the stub issue like that.

or use gh api to get that (we shouldn't reach quota if done rarely)

I believe that's already what's happening, it's just we are doing it from the user's token and not from app token.

I mean using app token instead user for this one

IIRC I did this way because application was not inside scylladb org at the time, which meant user token had more visibility into scylla repos than app token, but since app is now inside the org, there should be no problem changing token to instead use the application one.

since app is now inside the org, there should be no problem changing token to instead use the application one.

Let's use it and ditch 'Disable full repo access` checkbox

@k0machi is what @soyacz suggested here was done already ?

So we idendify the the failure is only when adding private repo issue, and we shouldn't fail on it
@k0machi would suggest the full example of the fix

Per discussion the issue here is that when you submit an issue, a request to github is issued to get the issue title - this can be made optional and instead updated when another user with full access tries to read that issue.
Moving from user tokens to an app token brings another issue - rate limits for API requests, with a single token they can be hit pretty quickly as the default limit is pretty low at around 1000 request if I remember correctly.

Per discussion the issue here is that when you submit an issue, a request to github is issued to get the issue title - this can be made optional and instead updated when another user with full access tries to read that issue.
Moving from user tokens to an app token brings another issue - rate limits for API requests, with a single token they can be hit pretty quickly as the default limit is pretty low at around 1000 request if I remember correctly.

https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2022-11-28
It's 5000-15000 requests per hour.
We don't want to go there, we'll for sure gonna hit it

Per discussion the issue here is that when you submit an issue, a request to github is issued to get the issue title - this can be made optional and instead updated when another user with full access tries to read that issue.
Moving from user tokens to an app token brings another issue - rate limits for API requests, with a single token they can be hit pretty quickly as the default limit is pretty low at around 1000 request if I remember correctly.

https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2022-11-28
It's 5000-15000 requests per hour. We don't want to go there, we'll for sure gonna hit it

Say 6000/hour, that's 100/min, 1.5/sec - how many GH issues do we need to handle concurrently? How many do we even have in the system?

Large releases like scylla master have a lot of issues, and if someone decides to page through all of them on the release dashboard page - they might contribute to this limit.
However I admit that I think that hitting the limit is not as easy anymore - issue widget is loaded on demand and is paged (each page caching the result until a hard refresh), so this limit should be fairly hard to hit.

Per discussion the issue here is that when you submit an issue, a request to github is issued to get the issue title - this can be made optional and instead updated when another user with full access tries to read that issue.
Moving from user tokens to an app token brings another issue - rate limits for API requests, with a single token they can be hit pretty quickly as the default limit is pretty low at around 1000 request if I remember correctly.

https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2022-11-28
It's 5000-15000 requests per hour. We don't want to go there, we'll for sure gonna hit it

Say 6000/hour, that's 100/min, 1.5/sec - how many GH issues do we need to handle concurrently? How many do we even have in the system?

Large releases like scylla master have a lot of issues, and if someone decides to page through all of them on the release dashboard page - they might contribute to this limit.
However I admit that I think that hitting the limit is not as easy anymore - issue widget is loaded on demand and is paged (each page caching the result until a hard refresh), so this limit should be fairly hard to hit (unless of course 50 people decide to open 100 issues all in the same hour)

We've been burned by this in dtest, we estimated some type of usage.
But the feature became much more popular, and we started crossing the limit on a daily basis.
There are multiple pages on Argus that just by browsing into them it would do multiple API calls to GitHub


Make sure that nils cannot appear in the active_users list

Fixes #1120 and adds test to make sure there are no nils in the users returned
Also added includes(:user) which should speed it up too.

Ah nice catch on the includes :+1:

Just invited you as a collaborator on the 24pullrequests org, thanks for all your hard work @krishandley!

@andrew My pleasure :smile:


GARS input to the CC tools are in a different spatial location/shape than ALL other inputs

When using the Table to 2point line tool with the input coordiante format/notiation as GARS, the GARS created features do not land in the same spatial location as other input coordinate formats.  See screen capture below. The red line represents GARS input/out blue line represents all other inputs/outputs from the tool.

Expected Behavior
It is expected that the input table would create an output in the same spatial location regardless of input coordinate format.  It is unknown if the spatial variation of the output is due to inherent inaccuracy/precision of the GARS format.
Current Behavior
GARS created lines land is a different spatial location other lines  created by other coordinate formats.
Possible Solution
Steps to Reproduce (for bugs)

Use the provided input table with coordinate format set to GARS
Use the provided input table with coordinate format set to anything else but GARS

Context

Your Environment
Windows 10 ArcMap 10.4.1
TableTo2PointLines_1.zip

Gars input into Table to Ellipse tool results in a different shape and spatial location than all other input coordinate formats.
Below is the input dialog

Below is the output of the GARS input table vs all other outputs.  GARS is represented as a redish polygon.

same issue seen in Table to lines of bearing

Cursory glance at the data and I think this is a GARS precison issue. Lets look at the ellipse input data TableToEllipse_single.csv as an example. The following table contains the same coordinates in MGRS, GARS, GEOREF, USNG and UTM (Bands):

What you notice is that for the non-GARS formats the coordinate values vary quite a lot, in fact there are no two that are alike. However in the GARS column there are several repeating values, e.g. 117LP35 appears 12 times.

So the question is: is this a real data problem or a limitation of the GARS notation format?

Closing As designed

More research needs to be done on whether or not GARS is correctly honoring the tool inputs. Possibly need to remove the GARS options.

@nfeuerstein @mfunk Should we remove GARS notation format support in the GP tools for this release?

If we can remove GARS, we should.

Checking it out today.

OK. So again the GARS precision is going to appear as a shift in coordinates from the other formats (eg. MGRS). I cannot reproduce the change in orientation of ellipses above. Per my own testing the ellipse orientations are parallel along the major axis.


kubernetes: Remove obsolete scheduler annotation

The scheduler.alpha.kubernetes.io/tolerations annotation was removed in Kubernetes 1.6 with kubernetes/kubernetes#38957. We have been using the new API based configuration since #6359.

This change is

Coverage decreased (-0.03%) to 44.17% when pulling 6c5de40748b274427ade5fd7d1131e246150ee61 on pr/gandro/k8s-remove-legacy-annotation into 97216619a1dc938feacd14d652360b06f4d40b53 on master.

test-me-please


Updates admin credentials used in github workflow

Description
This PR updates the occurrences of admin password in the github workflows. Coming from https://github.com/opensearch-project/security/issues/3624, the security plugin recently introduced a change to require a custom strong password to be supplied when setting up the admin user via demo configuration.
Issues Resolved

Resolves https://github.com/opensearch-project/asynchronous-search/issues/515

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

updated all instances of admin credentials. This change should not be backported to <2.12 since the admin password changes are not required in those versions.

Build failure seems to be unrelated:
* What went wrong:
A problem occurred configuring root project 'asynchronous-search'.
> java.util.concurrent.ExecutionException: org.gradle.api.GradleException: Failed to create Jar file /home/ci-runner/.gradle/caches/jars-9/6abf203a3d0[29](https://github.com/opensearch-project/asynchronous-search/actions/runs/7645086127/job/20830851711?pr=518#step:5:30)0f2fc6dc41dd82cb00d/jackson-core-2.16.1.jar.

Hi @DarshitChanpura ,
Thanks for the changes.
We needed another change which include 2.12 BWC jar to make the build pass, so we had to raise a new PR and merge the changes.
Closing this PR for now.

Sounds good @bharath-techie . I think the PR: https://github.com/opensearch-project/asynchronous-search/pull/521
added a duplicate line in README that could be fixed.


TIMESTAMP column without a default causes syntax error

Originally reported by @Dunnymeister in PR #25
TIMESTAMP column without a default would cause errors when attempting to apply the DEFAULT.
Background
Even though a default isn't present on a TIMESTAMP column, SQL Server handles updating the value behind the scenes. Since there's no need to use DEFAULT, and because SQL Server does not allow INSERT or UPDATE of TIMESTAMP/ROWVERSION columns with a specified value, such columns should probably be removed altogether from the generated MERGE statements.
Additionally, removing such columns from the tool would render the @include_timestamp parameter obsolete.

Hitting the same issue. The generated MERGE is invalid. Since most of our tables have a rowversion column, this is unfortunate for us.

@kwaclaw please take a look at #40 to see if this fixes the issue for you

Yes, it does, I fixed it locally in almost the same way, by skipping the loop when @include_timestamp = 0, but I left the second part of the CASE clause in for the scenario where the target table column is not a timestamp/rowversion type, but is intended to receive the timestamp value (@include_timestamp = 1).


Add More content to the customize page

I think there should be more mods, subgames, and texture packs added To The customize page
Like The summerfields Texture Pack It is constantly updated
https://forum.minetest.net/viewtopic.php?f=4&t=9314

@paramat ping

Not my department.

Make a full list of what you'd like the page to say, and I'll look over it
FYI: c55, @Calinou and I are the main website maintainers (although core devs may edit)

@paramat oh sorry you do so much work around here i diddent know :/ who do i speak with them

@rubenwardy Will do
I just Have To make a list of all the Community content that I think should be on the website am I right?

texturepacks
Vanilla 32x32 https://forum.minetest.net/viewtopic.php?f=4&t=15758 (made by me)
Summerfields https://forum.minetest.net/viewtopic.php?f=4&t=9314 (i help with updates)
PixelPerfection https://forum.minetest.net/viewtopic.php?f=4&t=14289
mini8x https://forum.minetest.net/viewtopic.php?f=4&t=14633
PixelBOX Reloaded https://forum.minetest.net/viewtopic.php?f=4&t=14132
mods
X-Decor https://forum.minetest.net/viewtopic.php?t=12534
Not so simple mobs v2.4 [nssm] https://forum.minetest.net/viewtopic.php?f=11&t=11813
Advanced Trains https://forum.minetest.net/viewtopic.php?f=11&t=14726
Mars Survive 6 https://forum.minetest.net/viewtopic.php?f=11&t=13913
Hoppers https://forum.minetest.net/viewtopic.php?f=11&t=12379
bows https://forum.minetest.net/viewtopic.php?f=11&t=14384
pedology https://forum.minetest.net/viewtopic.php?f=11&t=9429
gravitygun https://forum.minetest.net/viewtopic.php?f=11&t=14056
nukes https://forum.minetest.net/viewtopic.php?f=11&t=638
colored_clay https://forum.minetest.net/viewtopic.php?f=11&t=15651
pie https://forum.minetest.net/viewtopic.php?f=11&t=13285
darkage https://forum.minetest.net/viewtopic.php?f=11&t=3213
wip mods
zombies https://forum.minetest.net/viewtopic.php?f=9&t=14934
hell https://forum.minetest.net/viewtopic.php?f=9&t=15893
Chat Bubbles https://forum.minetest.net/viewtopic.php?f=9&t=15880
vehicles https://forum.minetest.net/viewtopic.php?f=9&t=15610
d00med mobs https://forum.minetest.net/viewtopic.php?f=9&t=14382

@rubenwardy here you go :D

@rubenwardy is this good?

Vanilla 32x32 https://forum.minetest.net/viewtopic.php?f=4&t=15758
PixelPerfection https://forum.minetest.net/viewtopic.php?f=4&t=14289
mini8x https://forum.minetest.net/viewtopic.php?f=4&t=14633
PixelBOX Reloaded https://forum.minetest.net/viewtopic.php?f=4&t=14132

seems fine

Summerfields https://forum.minetest.net/viewtopic.php?f=4&t=9314

absolutely

X-Decor https://forum.minetest.net/viewtopic.php?t=12534
Advanced Trains https://forum.minetest.net/viewtopic.php?f=11&t=14726
colored_clay https://forum.minetest.net/viewtopic.php?f=11&t=15651

seems fine

Not so simple mobs v2.4 [nssm] https://forum.minetest.net/viewtopic.php?f=11&t=11813
Mars Survive 6 https://forum.minetest.net/viewtopic.php?f=11&t=13913
pedology https://forum.minetest.net/viewtopic.php?f=11&t=9429

not sure about these

Hoppers https://forum.minetest.net/viewtopic.php?f=11&t=12379
nuke https://forum.minetest.net/viewtopic.php?f=11&t=638
darkage https://forum.minetest.net/viewtopic.php?f=11&t=3213

not updated for a year/longer?

bows https://forum.minetest.net/viewtopic.php?f=11&t=14384
gravitygun https://forum.minetest.net/viewtopic.php?f=11&t=14056

cc0 license can't apply to code as far as i'm aware

pie https://forum.minetest.net/viewtopic.php?f=11&t=13285

texture looks like copied from minecraft

wip mods

don't belong there IMO

I agree with sfan5

cc0 license can't apply to code as far as i'm aware

While it is not OSI-approved, code can be put under a CC0 license, like the FSF says.

@sfan5 wow you really seem to love summerfields Not that thers a Reason not to Love It :D
also in case you want to know we're already working on the new update for minetest :)

@sfan5 would it be possible to have a mod browser On The minetest website Something similar to Planet Minecraft http://www.planetminecraft.com

@tobyplowy see https://github.com/minetest/minetest/issues/3289

@est31 @rubenwardy when will this be added to the website?

@est31 @rubenwardy @sfan5 when will this be added to the website?


ffscreencast 2.0 rewrite and brainstorm proposal/discussion.

ffscreencast 2.0 rewrite and brainstorm
I have noticed that there are quite some limitations on the existing ffscreencast implementation,
some bugs that are hard to fix, options that are not as self-explanatory as I have hoped and
the code is currently hard to maintain.
That is the reason I will do a complete rewrite from scratch.
What must be done?

Separate linux and osx versions for better maintainability
Restructure command line arguments for easier usage
Address current bugs
Add more features (streaming, camera positions/resolutions, etc)

I will first work on the linux version ffscreencast-linux and once done start with osx ffscreencast-osx.
Furthermore I hope I can finally also get the BSD version done afterwards.
Get involved and give feedback
I will address features and commandline arguments below as far as I have thought them through.
Nothing is fix yet, so I rely on your feedback to suggest improvements.
The goal is to have a really easy-to-use command line version of a screen-recorder with many options
that are compatible with other GUI implementations.
So if you like this idea, do comment and let me know.
I want the rewrite to be completely thought through and planned, before I am going to start working
on it.
ffscreencast-linux proposal
Features
This is the current feature list that I have thought about. Let me know about anything else
you want to be added to the list.

record whole desktop, specific monitor, specific window or a selected area
specify to record cursor or not
have different audio input source (e.g.: pulse)
be able to align camera overlay to any desired position
be able to scale camera resolution overlay
scale output video during recording
output video to file or directly to a network stream

Command line options
This is a first draft showing the possible command line arguments:
1. Input arguments
1.1 Video
--ivideo source <string>        Either 'desktop', 'monitor', 'window', or 'area'
                                Defaults to 'desktop'

--ivideo monitor <int>          When using 'source monitor', specify the monitor
                                number to record.
                                Defaults to first found monitor

--ivideo frame <int>            Input video framerate.
                                Defaults to 30

--ivideo cursor <string>        Capture mouse cursor? 'yes' or 'no'.
                                Defaults to 'no'

1.2 Audio
--iaudio dev <int>              Will record audio with the given device number.
                                Defaults to first audio device found.
                                If this option is omitted, no audio will be recorded.

--iaudio format <string>        Audio input format (e.g.: alsa)

--iaudio source <string>        Audio input source (e.g.: pulse)

--iaudio channel <int>          Audio channels to record (e.g.: 1 or 2)
                                Defaults to 2

1.3 Camera
--icam dev <int>                Will enable camera overlay with the given camera device number.
                                Defaults to first camera device found.
                                If this option is omitted, no camera will be recorded.

--icam pos <string> <string>    Sets the camera position.
                                Supported values: <left|center|right> <top|center|bottom>
                                Defaults to 'right' 'bottom'

--icam pad <string>             Sets the camera padding from the nearest edge.
                                In case of 'center' it will pad from the right or bottom.
                                Format: --icam pad 10x10
                                Defaults to '0x0'

--icam res <string>             Scales the camera resultion to the supplied value.
                                Format:             --icam res "640x480"
                                Format keep height: --icam res "320x-1"
                                Format keep width : --icam res "-1x480"
                                Defaults to the highest supported camera resolution.

2. Output encoding
2.1 Video
--ovideo codec <string>         Video output format.
                                Defaults to 'libx264'

--ovideo res <string>           Scale down the output resolution.
                                Defaults to video input resolution.
                                Format:             --ovideo res 960x540
                                Format keep height: --ovideo res 960x-1
                                Format keep width:  --ovideo res -1x540

--ovideo args <string>          Additional output encoding arguments to pass to ffmpeg.
                                Defaults to: '-crf 20 -preset veryfast -minrate 150l -maxrate 500k'

2.2 Audio
--oaudio acodec <string>        Audio output format.
                                Defaults to 'libfaac'

--oaudio freq <int>             Audio frequency.
                                Defaults to 44100

--oaudio bitrate <int>          Audio bitrate.
                                Defaults to 96000

3. Output
--output type <sting>           Output to file or to network stream.
                                Values: 'file' or 'stream'
                                Defaults to 'file'

--output container <string>     Output container format to use.
                                Defaults to 'mkv'

--output file <string>          Output file.
                                Defaults to ~/Desktop/ScreenCast-YY-mm-dd__HH-mm-ss.ext
                                Only applicable when output type == file

--output stream-proto <string>  Stream output protocol to stream to.
                                Values: 'tcp' or 'udp'.
                                Only applicable when output type == stream

--output stream-addr <string>   Stream output IP address or hostname to stream to.
                                Format: --output stream-addr <IP_ADDRESS>
                                Format: --output stream-addr host1.example.tld
                                Only applicable when output type == stream

--output stream-port <int>      Stream output port to stream to.
                                Format: --output stream-port 5891

--output stream-meta <string>   Stream metadata to include in stream.
                                Example: 'streamName=my-twich-channel'

4. Config arguments
--config <string>               Specify to load configuration from config file instead of
                                having to specify them via command line arguments.
                                Default config with default argument values will be in
                                ~/.config/ffscreencast/default.conf
                                Let's you easily create multiple configs for different occasions:
                                ffscreencast --config ~/.config/ffscreencast/twitch-stream.conf
                                ffscreencast --config ~/.config/ffscreencast/grab-desktop.conf

5. Misc arguments
I will also include the current arguments for:
--dry                           Show ffmpeg command from specified options
--list                          List all monitor, audio and camera devices
--slist                         List monitor devices
--alist                         List audio devices
--clist                         List camera devices

Hi,
I just saw your script, it's nice. I did a similar script but it's really basic, only for casual usage.
After read your code, I thing that a better way to read arguments is something like:
    while getopts f: option
    do
	case "${option}" in
            f) FILE=${OPTARG}   ;;
	esac
    done

Which branch are you using for this topic?

There is no branch available yet. I can create a long living feature branch if you want to do some work and help out on the rewrite.

Sounds silly, rather than break apart linux / mac installations, have you considered using something like nodejs which can handle this cross platform with process.platform and it'll become more readable and maintain-able code overall. you can use something like yargs to parse the arguments and child_process to spawn all the processes. Nodejs also has a very nice piping mechanism you could use to write to file or server or any output you like. You could also look at js-ffmpeg for some inspiration.


DUPLO-18671 TF Provider - Allow duplocloud_plan_waf to accept multiple web ACLs

Overview
Modified wrokflow of duplocloud_plan_waf resource similar to duplocloud_plan_certificates
Summary of changes
This PR does the following:

Updated resource workflow of duplocloud_plan_waf resource
Updated code for data source related to duplocloud_plan_waf resource

Testing performed

[ ] Using unit tests
[ ] Manually, on my local system
[ ✓] Manually, on a remote test system

Describe any breaking changes

...

Task linked: DUPLO-18671 TF Provider - Allow duplocloud_plan_waf to accept multiple web ACLs


(Fix) Blank screen when MetaMask is not installed

Closes #386.

Can we delete no-mestamask branch?

Sure, I deleted it.

i have some problem in step 3
TypeError: Cannot read property 'addr' of undefined
new stepThree
C:/Users/ahoo_lin/ICO/wiz/src/components/stepThree/index.js:42
39 | super(props);
40 | const { contractStore, crowdsaleBlockListStore, tierStore } = props;
41 | window.scrollTo(0, 0);

42 | if (contractStore.crowdsale.addr.length > 0) {
43 |   contractStore.setContractProperty("pricingStrategy", "addr", []);
44 |   setExistingContractParams(contractStore.abi, contractStore.addr[0], contractStore.setContractProperty);

Hi @linahoo. Please create a new issue if you have a question.
That error happens when you reload the page in the third step. You need to start over (go to localhost:3000/).


[FEA] Support spark.sql.mapKeyDedupPolicy=LAST_WIN for TransformKeys

I wish we can support spark.sql.mapKeyDedupPolicy=LAST_WIN to do deduplicate of the map keys.
For example:
from pyspark.sql.types import *
from pyspark.sql.functions import *
jsonString="""{"Zipcode":704,"ZipCodeType":"STANDARD","City":"PARC PARQUE","State":"PR","Zipcode":999}"""
df=spark.createDataFrame([(1, jsonString)],["id","value"])
df.show(truncate=False)
df2=df.withColumn("value",from_json(df.value,MapType(StringType(),StringType())))
df2.collect()

spark.conf.set("spark.sql.mapKeyDedupPolicy","LAST_WIN")
df2.withColumn('newcol', expr("""transform_keys(value, (k, v) -> split(k, "code")[0])""")).collect()

Not-supported-messages:
!Expression <TransformKeys> transform_keys(value#160, lambdafunction(split(lambda k#254, code, 2)[0], lambda k#254, lambda v#255, false)) cannot run on GPU because LAST_WIN is not supported for config setting spark.sql.mapKeyDedupPolicy

I updated the title to make it clear that this is asking for support for LAST_WIN for transform_keys. We actually already support LAST_WIN for create_map so we should have everything we need from cuDF.
For create_map we call dropListDuplicatesWithKeysValues to remove duplicates and this already supports the same semantics as LAST_WIN:
    // Apache Spark desires to keep the last duplicate element.
    auto [out_keys, out_vals] =
        cudf::lists::drop_list_duplicates(keys, vals, cudf::duplicate_keep_option::KEEP_LAST);


BetamaxConfig.groovy in grails-app/conf is not recognized

I took out the grails example and will recreate it from scratch.


jarek/8131:  upgrade scala version to 2.12.8 and spark *2_12 v2.4.4

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Tested.
It works fine


[client-90051] publish error AgoraRTCException: AgoraRTCError INVALID_OPERATION: Can't publish stream, haven't joined yet!

Hi everyone!
A Bug is happening to me really suddenly. Everything worked perfectly but, in one of our test this error has to start appearing.
Token and channel are well formed and created, nothing has change in our back neither in front.
When i start the call I can see my video stream for nearly 0,5 seconds and suddenly turn to black.

Does anybody know what is happening??

From a first glance it looks like an error because of the token.
Are you updating the token? what's the validity of the token set?

We generate a new token each different call. It happens with new tokens, but in our other app we still see video stream right. We have two different frontends with same backend. Call is created exactly with same code in both. But before this error we could see two video streams with no problem and now we have this error in one of them only, no code has been changed.

Sorry bother you... it only happens in my pc. I try same code in my mobile device and other pc and works right.
I close this issue having it in mind in case happening again.


[enhancement]: on Windows, make use of the 'py' command line launcher, if available

Is there an existing issue for this?

[X] I have searched the existing issues

Contact Details
No response
What should this feature add?
On every operating system but Windows, we're able to make some assumptions about which python version we're referring to by being specific, such that we know python3.10 -V will return something along the lines of Python 3.10.x. On Windows, for whatever reason, this is not the case, as all python interpreters are named python.exe.
Currently, InvokeAI's automated installer requires a non-default option, 'Add python.exe to PATH', to be checked when installing the official package from python.org, or it'll fail. This is responsible for the vast majority of support issues that we see, and probably the popularity of the standalone version which was recently removed from itch.io. In addition, this option could inadvertently break the installation of other python-requiring software that also made this choice/requirement.
There's already a solution for this, and it's the py launcher that comes with every python installation from python.org. It accepts a version as the first argument to it, and is available in PATH without any non-default options checked. An example:
py -3.10 -V would be the same as python3.10 -V, and
py -3.10 -m pip install xformers would be the same as python3.10 -m pip install xformers.
This should hopefully be pretty easy to implement in the installer and would save many, many people a lot of time.
Alternatives
Not so much an alternative, but a counterpoint: the py launcher isn't included with the python from the microsoft store, so this proposal wouldn't help there.
An alternative might be to just require that the end user chooses the right python to launch the installer, with some documentation explaining the various ways to provide that, depending upon how python was installed.
Aditional Content
No response

Reviving this issue because I now have a Windows PC to test on once again. I've created a quick hack of install.bat (not install.bat.in) from the latest 5.0 installer.
Replacing python with py -3.11 in two places works as a proof of concept works fine:
line 45:
call py -3.11 --version >.tmp1 2>.tmp2

line 68:
call py -3.11 .\lib\main.py

My guess is that somebody that's actually familiar with .bat files could make this more elegant and check for py 3.11 and, if not found, try py 3.10.


Dialog Component

This is the initial implementation of the Primer::Alpha::Dialog component.
This takes some of the code we already have in github/github from Primer::Experimental::Dialog, however I've dropped some properties for it to avoid pulling in configurations which we may want to later remove - to avoid breaking changes. So for example this doesn't implement helpers around <include-fragment> (those helpers cause unnecessary coupling between the two components, and can be abstracted away into different helpers), nor does this support forms (we need to more carefully consider the interplay between dialogs and forms, especially with regard to how native <dialog> will play a role here).
This takes the modal-dialog web component in its entirety from github/github. While this is a re-implementation of native <dialog>, and it probably makes sense to simply implement <dialog> instead, unfortunately we've noticed some areas where <dialog> isn't quite suitable: the support is only there in newer browsers, and some browsers have buggy implementations, and we need some time to look over the polyfill to make sure it handles what we want and the trade-offs are worth it. While we haven't had time to assess this yet, the <modal-dialog> component is ready to go, and I believe a later refactor from <modal-dialog> to <dialog> should be possible without any breaking changes.
Another area we should look into as a follow-up to this initial implementation is how we can leverage the overlay component (#1143) to simplify some areas of the dialog work.

There's a little lint failure to fix here, but otherwise I think this is ready for review!

We also presumably need to use a different name because we'll be running the Experimental modal-dialog still until we've worked out how we're handling all of the bits of functionality that were added to that version. I like primer-dialog.

@owenniblock  IIRC the code is almost identical so we can ship with this as a replacement.

As a heads up @keithamus Owen is out for two weeks and will be back September 12

👋 I'm not sure familiar with the state of dialog is currently but wanted to bring this audit comment from @jscholes  to your attention in case it hasn't been surfaced yet.

👋 Documenting some tips for rolling this out to dotcom (replacing Experimental::Dialog)

Experimental param
Alpha param
note

footer_content_align
deprecated
remove param and do visual check

header_variant
deprecated
remove param and do visual check

motion
deprecated
this has a default value now

description
subtitle
name change

The height and width params are combined into a new size option. I'll try and map out how these swaps might look, but visual testing is likely required.

width
new size

:small
:small

:medium
:small

:large
:medium

:xlarge
:large

:xxlarge
:xlarge

The size param handles height and width. If there's a case where an Experimental::Dialog has a width of :large and a height set to anything above :large, set the size to medium_portrait.
For Dialogs wrapped in <form> tags, work with @keithamus on how to structure the Alpha Dialog.


LEST-26 - Implemented more equality matchers

Overview:

Implemented the scaffolds for the new equality matchers.
Added unit tests for equality.lua. 100% code coverage. (toBeNil is an alias, so it isn't in the tests.)

Questions

Are these unit tests in good style?
toBeInstanceOf is unclear. Should it act like JavaScript, scanning for multiple parent classes? Or.. should it just scan for the immediate parent class (currently implemented as such). In Lua, multiple inheritance is implemented in many ways. I don't think we could offer this functionality because the user's project might have implemented it differently.

This PR will remain as a draft until the questions are answered.

Forgot to mention, all tests are passing on my end.

Wait.. wouldn't we need to use Lua assertions for all of the matcher unit tests? Let me know what you want to do with the matcherPassed utility. Perhaps it should be split into another file?

toBeInstance should just do a direct reference equality check between the metatable of received and the passed metatable.
There is no need to worry about inheritance as Lua doesn’t really have it.  The new commits introduce an actual fucken unit test suite for equality.lua and adds the requested assert for toBeInstanceOf.


opd.datasets.summary_by_table_type returns ValueError: 'CRASHES' is not a valid TableType

This error was found when running summarize_opd_data.ipynb on mybinder.
It appears to be a versioning issue. We were pinning the OPD version in opd-examples to 0.3. However, CRASHES were adding in 0.5. I removed the specific version from the requirements file in opd-examples. However, mybinder is still running 0.3. Recommend waiting a day or so and seeing if mybinder just needs time to recognize the new requirements file. It may do some caching.

In order to have mybinder upgrade, requirements file of opd-examples must be pinned to a version.
HOWEVER, current minimum version of Python is 3.8. mybinder uses 3.7. Python version was increased to 3.8 to match pandas. However, we never had any issues with OPD for Python 3.7. Recommend updating min Python version to 3.7 and retesting code.
Code should also be updated such that old versions of code will not crash when new Table Types are added. This has been added as its own issue #154

[ ] #154
[ ] #156


[Question] How to detect current scroll position

First of all - thank you for this amazing module!
I'm programming an app, that scrolls down to the bottom, when a new item arrives.
But I want the app to not scroll down, if the user has scrolled up more than 500px.
So my question is:
How can I read the current scroll position?

Read the documentation at https://github.com/rintoj/ngx-virtual-scroller
The information you're requesting is there.
If you can't figure it out, let me know how you think the documentation could be improved.
If you find something not working, feel free to open a new issue.
Good luck with your app.

Read the documentation at https://github.com/rintoj/ngx-virtual-scroller
The information you're requesting is there.
If you can't figure it out, let me know how you think the documentation
could be improved.
If you find something not working, feel free to open a new issue.
Good luck with your app.
On Mon, Oct 22, 2018 at 1:42 AM Tobias Mücksch<EMAIL_ADDRESS>wrote:

First of all - thank you for this amazing module!
I'm programming an app, that scrolls down to the bottom, when a new item
arrives.
But I want the app to not scroll down, if the user has scrolled up more
than 500px.
So my question is:
How can I read the current scroll position?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/rintoj/ngx-virtual-scroller/issues/261, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AB6MbrmijVJdN7HLSi_vwjnTb9tBJZ5Dks5unXbVgaJpZM4Xy8qC
.


Envoy doesn't set span name, aka operation name, when using the OpenTelemetry tracing provider

Title: Envoy doesn't set span name, aka operation name when using the OpenTelemetry tracing provider
Description:

When using the OpenTelemetry tracing provider, although the decorator.operation is set, the produces spans have the default ingress and egress names.

Repro steps:

We're experiencing the issue in a relatively large cluster (+3000 routes). The opentelemetry sandbox can be used to reproduce the issue. Just run the sandbox and view the logs of the opentelemetry container.

Config:

The configuration file provided in the examples/opentelemetry directory can be used. Although it sets the decoration.operation, the logs show it's not used.

Logs:
Resource SchemaURL:
Resource attributes:
     -> service.name: Str(front-envoy)
ScopeSpans #0
ScopeSpans SchemaURL:
InstrumentationScope
Span #0
    Trace ID       : c70726f22ff543661b4cec65b6a531d1
    Parent ID      :
    ID             : a0eeb5dd051282f8
    Name           : egress localhost:10000
    Kind           : Client
    Start time     : 2024-04-29 03:48:15.683442 +0000 UTC
    End time       : 2024-04-29 03:48:15.691976 +0000 UTC
    Status code    : Unset
    Status message :
Attributes:
     -> node_id: Str()
     -> zone: Str()
     -> guid:x-request-id: Str(97637684-df5e-920e-abf3-fbf13901205e)
     -> http.url: Str(http://localhost:10000/trace/2)
     -> http.method: Str(GET)
     -> downstream_cluster: Str(-)
     -> user_agent: Str(curl/7.81.0)
     -> http.protocol: Str(HTTP/1.1)
     -> peer.address: Str(<IP_ADDRESS>)
     -> request_size: Str(0)
     -> response_size: Str(37)
     -> component: Str(proxy)
     -> upstream_cluster: Str(envoy_cluster2)
     -> upstream_cluster.name: Str(envoy_cluster2)
     -> http.status_code: Str(200)
     -> response_flags: Str(-)
	{"kind": "exporter", "data_type": "traces", "name": "logging"}

Apparently, the fix is simple. I'm accompanying the issue with PR#34062.
Kindly please let me know if not implementing the setOperation function was intentional.

cc @alexanderellis @htuch


ARC cache ?

Does it possible to create arc cache using this library?

I don't think so. For ARC cache you need LRU cache. Bigcache is simple FIFO cache.

Thanks


Have a conversation with Liz about how she found AI companies for the AI map project

I would focus the conversation on identifying AI projects in the gateway to research data. We can use company tags for CrunchBase.


added onChange prop to SideMenu component.

I have added a little bit of code to get this feature to work. So I added onChange props which will be called once Side Menu component closes or opens. I think it is useful for some scenarios. see #23

Here's an example of what this pull request can do.
So the onChange will be fired once the SideMenu opens or closes and one can access internal variable via refs.
class MyAwesomeApp extends React.Component {
  constructor(props) {
    super(props);
  }

  onChange() {
    console.log(this.refs.sideMenu.isOpen);
  }

  render() {
    return (
      <SideMenu onChange={this.onChange.bind(this)} ref="sideMenu" menu={<Menu/>}>
        <Main/>
      </SideMenu>
    );
  }
}

#23

@Kureev, Here's the PR for issue #23.

Perfect!


ui: Typo for std deviation labels on Network Latency page

PR: https://github.com/cockroachdb/cockroach/pull/50275
From release notes:

Changed the label for std deviation from < to > for positive values. [#50275][#50275] {% comment %}doc{% endcomment %}

We may want to update the screenshot on this page to fix the typo: https://www.cockroachlabs.com/docs/v20.1/admin-ui-network-latency-page.html

Hello @Amruta-Ranade @taroface I would be happy to change the screenshot. Just to clarify: this is the screenshot that needs to be changed, correct?

We may want to update the screenshot on this page to fix the typo: https://www.cockroachlabs.com/docs/v20.1/admin-ui-network-latency-page.html

 How does this look?

cc @taroface

@dgabriel123 Thanks for picking this up! This has actually changed beyond the description in the ticket:

I would suggest replacing the screenshot you linked with the above image. Note that this should be present in both the v20.1 and v20.2 docs.

@dgabriel123 Thanks for picking this up! This has actually changed beyond the description in the ticket:

I would suggest replacing the screenshot you linked with the above image. Note that this should be present in both the v20.1 and v20.2 docs.

Thank you @taroface . I created a PR with the updated screenshot, but I am getting a TeamCity error. Do you know what might be happening?

@dgabriel123 The build error in TeamCity does not make sense to me. Your update looks good. Would you be able to try pulling from master, rebasing your branch on master, and pushing your changes again? Let me know if you're not sure what that means.

@dgabriel123 The build error in TeamCity does not make sense to me. Your update looks good. Would you be able to try pulling from master, rebasing your branch on master, and pushing your changes again? Let me know if you're not sure what that means.

I'm only somewhat acquainted with rebase, would you mind elaborating please?

Fixed by #8666.


About the training on our datasets

Thansk,
we have learned a lot from your excellent work,
we train the MaskDINO on a self-built datasets containing 2000 images,
after 40000 iters,
the metrics are nearly
AP,AP50,AP75,APs,APm,APl
74.8523,92.0707,81.0479,44.8492,79.8165,77.5198
the metrics are pretty good!
however, after the visulize of prediction results,
there are much boundboxes around a same object, and there are much small areas on the big object,
Since DETR serial methods generally do not need to use NMS,
I may want to know do you meet this question in the testing phase,
how to solve this problem?
thanks again

The AP is pretty high, therefore the predictions are supposed to have very few duplicate predictions. As we are using the sigmoid focal loss, so for visualization, you need to set a threshold for the predictions, for example, the prediction with a classification score larger than 0.3. You can also change this threshold to find the optimal one.

thanks for your response,
we have tried to change the OVERLAP_THRESHOLD, OBJECT_MASK_THRESHOLD (in config file) and confidence-threshold (in demo.py) But it does not work.
where to change the classification score  and  any other threshold ?
thanks again

Meanwhile, as the output in dashboard 'detected 100 instances in 3.34s' since the query number is set as 100
there are only about 10 instances in the images, should we minimize the query numbers to obtain better results?


Update Japanese translation

Coverage decreased (-0.03%) to 39.352% when pulling ecd1079b7b475a43cd9266f2bf18aab6d67a5296 on MMP0:patch-43 into 908f20de20729b219186104eeea027ed77de4083 on NyaaPantsu:dev.

Coverage decreased (-0.03%) to 39.352% when pulling ecd1079b7b475a43cd9266f2bf18aab6d67a5296 on MMP0:patch-43 into 908f20de20729b219186104eeea027ed77de4083 on NyaaPantsu:dev.


Fix errors by linkchecker.py

This PR fixes errors which are shown by scripts/linkchecker.py on en/docs/*.
Fixed items:

change to lower case in URL
use relative paths

/assign @zparnold
Could you review this PR?

/lgtm

Page preview:
https://deploy-preview-27185--kubernetes-io-master-staging.netlify.app/docs/reference/using-api/deprecation-guide/

/approve


Bringing network back

Hi,
I'm a fan and just thought I'd drop off some version bumps.  I did make one opinionated change, which was dropping the vendor folder.
If you don't want/need this pr, feel free to close it!
<3
-J

943 files changed, sure mate..


Distribution of Jupyter Notebooks and the Example Datasets

How do we want to distribute the Jupyter Notebooks and the example datasets for use during the workshops?
The current example datasets in the folder are many megabytes or gigabytes, however they will be reduced to smaller sizes to ease processing and load.

Binder could be a possibility
Hosting notebook servers on SURF Research Cloud? Perhaps hosting many individual Jupyter servers in Docker containers with the data preloaded in each?
Technically we should not use Google Collab due to the lack of a processing agreement with Google.

For post-workshop distribution we can have a Zenodo repository for this GitHub repo, and another for the presentation and datasets.

closing this issue as we have decided on using SURF Research cloud


Update example config file with rtmp port

Found my self looking in code to find this.  Here would have helped some

Thanks, I forgot that when I added the paragraph.

Thanks, I forgot that when I added the paragraph.


ci: update lint workflow action versions

Issue
The GitHub Actions workflow .github/workflows/lint.yml is using outdated JavaScript actions.

Action
Used
Supported

actions/checkout
v2
v4

actions/setup-node
v1
v4

These actions attempt to run on node12 (end-of-life Apr 2022) and are forcefully migrated on the fly to use instead the supported node20 version.
Since there is no selection of a Node.js version in the use of actions/setup-node, it is installing Node.js v10.24.1 (end-of-life Apr 2021). This is in contrast to the default Node.js version of ubuntu-22.04 v18.20.5 or ubuntu-24.04 v20.18.1. The workflow uses ubuntu-latest which is currently in the process of migrating from ubuntu-22.04 to ubuntu-24.04.
Change
Update the action versions to the currently supported versions, and use Node.js Active LTS - at this time v22 - as most stable recommended version.

Action
Supported
Parameter

actions/checkout
v4
N/A

actions/setup-node
v4
node-version: 22

Closing this PR as I subsequently realized:

the linting module xo (JavaScript/TypeScript linter (ESLint wrapper) with great defaults) is configured using<EMAIL_ADDRESS>This causes the deprecation warning:

npm warn deprecated<EMAIL_ADDRESS>This version is no longer supported. Please see https://eslint.org/version-support for other options.

ESLint Version Support shows that ESLint 4.x entered end-of-life on Dec 22, 2018.

attempting to update xo to newer versions, causes linting errors, including code which needs a higher min engines version, such as Node.js >=4.0.0 or >=7.6.0. Significant other coding changes would need to be made as well.

This PR could be readdressed after min engines is addressed and xo is updated.


evo: Pass CCoinsViewCache instead of relying on pcoinsTip

This ensures that we are on the same page with ConnectBlock etc.
NOTE: MUST be merged together with #4015 or neither should be merged. Merging this PR only breaks backwards compatibility.

Can you explain the inspiration behind this a bit? I'm not sure I understand

Closing in fav of the atomic one (#4015)


Issue 1522: Misc: turn on verbose by default

Updated configuration.js and cli.js test to implement verbose by default.

Closing as this branch is 367 commits behind master.


Error messages for missing fields which are arguments to functions are not clear.

If you call a function in a lambda expression and the field is missing as an argument to the function you get and error message about the function not having a function signature for missing values and no mention of which field is missing is given.
See https://community.influxdata.com/t/kapacitor-shiftnode-and-join-in-stream/1401/2 for an example.

I agree that the error is super unhelpful, but I'm not exactly sure what the error should be in the  case of
|eval(lambda: max("x",float("y")))

when "x" is missing or has value of another invalid type.
Should I print out all of the arguments? Maybe something like
 E! Cannot call function "max" with args signature ("x": missing, float("y"): float), available signatures are [(float, float)].

Or I could get more fine grained and only list the parameters that are invalid. This approach would be more involved.


Creating chunks when it is not needed

Description
Example from the readme:
Example: Run eslint on entire repo if more than 10 staged files
// .lintstagedrc.js
module.exports = {
  '**/*.js?(x)': (filenames) =>
    filenames.length > 10 ? 'eslint .' : `eslint ${filenames.join(' ')}`
}

Actual code from my project:
module.exports = {
    'Spa_Source/**/*.ts': (files) => {
        if (files.length === 0) {
            return [];
        }

        return `yarn lint:ts`;
    },
    'Spa_Source/**/*.css': (files) => {
        if (files.length === 0) {
            return [];
        }

        return `yarn lint:css`;
    }
};

This results in multiple executions when many files are committed at once:
husky > pre-commit (node v14.15.0)
[STARTED] Preparing...
[SUCCESS] Preparing...
[STARTED] Running tasks (chunk 1/6)...
[STARTED] Running tasks for Spa_Source/**/*.ts
[STARTED] Running tasks for Spa_Source/**/*.css
[SKIPPED] No staged files match Spa_Source/**/*.css
[STARTED] yarn lint:ts
[SUCCESS] yarn lint:ts
[SUCCESS] Running tasks for Spa_Source/**/*.ts
[SUCCESS] Running tasks (chunk 1/6)...
[STARTED] Running tasks (chunk 2/6)...
[STARTED] Running tasks for Spa_Source/**/*.ts
[STARTED] Running tasks for Spa_Source/**/*.css
[SKIPPED] No staged files match Spa_Source/**/*.css
[STARTED] yarn lint:ts

....

So it runs full lint 6 times in this case.
Environment

OS: Windows
Node.js: 14.15.0
lint-staged: 10.5.1

I agree we should not split into chunks if this isn't necessary. Do you want to pick it up and do a PR?

Hmm, now that I thought about it a bit more: in this case how do you imagine it should be implemented?

@okonet, my current workaround looks like this:
const map = new Set();

module.exports = {
    'Spa_Source/**/*.ts': (files) => {
        if (files.length === 0) {
            return [];
        }

        if (map.has('ts')) {
            console.log('Skip execution (already done)');
            return [];
        } else {
            map.add('ts');
        }

        return `yarn lint:ts`;
    },
    'Spa_Source/**/*.css': (files) => {
        if (files.length === 0) {
            return [];
        }

        if (map.has('css')) {
            console.log('Skip execution (already done)');
            return [];
        } else {
            map.add('css');
        }

        return `yarn lint:css`;
    }
};

It sounds like in case with JS config we would need skip chunking to solve this. Which might be a good idea if we could still provide the way to do so somehow. @iiroj thoughts?

The current chunking logic is based on the length of string from joining all filenames. In this case I guess it should instead be based on the string generated from the function. It would mean moving the chunking calculation in another place.

Looking at the code in lib/runAll.js, it might be more involved... Currently we first chunk, and then generate tasks per chunk. In this case we should do it the other way around by first generating tasks, and only after that chunk.
I guess easiest would be to control chunking via a flag, since this only really affects Windows users in cases like this.

Okay, a flag would be an option I think. 99% of the time it's not used anyways

Hey, I ran into this recently on Linux.  For reference this is the config that reproduces it https://github.com/freeCodeCamp/freeCodeCamp/blob/3dc810ffb84a91825d0d38fd96724760ac162c97/.lintstagedrc.js
Thanks to @kemsky, by the way, the workaround is great.

I agree about making it an opt-in rather than doing this work for all users.


Solve the Image error msg and Category selection issue

Summary
The issue pertains to the category selection in form validation and the image url. The goal is to allow users to select 3 or more categories and trigger a validation error if fewer than 3 categories are selected.
Description
Solve the issue of Category selection in the form validation
categories: z.array(z.string()).refine((value) => value.length >= 3, {
message: 'Easy there! Select up to 3 categories.',
}),
Images
Before:-

After:-

Issue(s) Addressed
issue #83

Can you rebase this PR @MrBlackGhostt.

Closing it as it is inactive for a while now

I am on a holiday @krishnaacharyaa  that why I inactive can you tell me what things need to be update

@MrBlackGhostt, we would have to update the branch to latest changes and also make sure that there is no impact on the exisiting features

ok i check there would not be any error