working in Germany?

I have a Ditra Heat E running at home.
In the installation process, an account was also created. However, I cannot log in to the website (https://ditra-heat-e-wifi.schluter.com/) with it. User does not exist. I cannot create an account there either.
What am I doing wrong? Or does it not work for customers from Germany? I would very much like to integrate it into Home Assistant.

Seems to be that in the European region, they are not offering the ability to login to Schluter's website so we may not be able to use this..

@rajp1503. Is there another URL they offer in Europe? I am in the US and might not be able to test agains it but I would be interested in giving it a try

Well,
I use
"https://owd5-sl003-app.ojelectronics.com/api/UserProfile/SignIn"
for my simple python tool to get the session ID.
question: How I can change the login url in [ha-schluter]
thx

@IngoS11
In europe you create your account with username (not email !) and password at your Ditra Heat device. With this we can login in the Android App called "Schlueter-HEAT-CONTROL" from Schlüter Systems KG.
A login in an other site/website from schlüter fails every time with "Wrong username/password" Error.
Do you have an idea what we can do to solve this and intigrate our Ditra Heat divices at HomeAssistant?

@SpaceTeddy : I base ha-schlueter on a async library aioschluter that I wrote. The URL is hardcoded at. Here in the US you can log into that website and see your thermostats and also control the thermostat via more or less REST based calls. There is no official API documentation but basically only what I reverse engineered from the original Schluter Integration.

@ottosax: Thank you so much for the information. Here in the US you find an app called "Schluter-DIETRA-HEAT-E-Wifi" in the iOS App store as well as the Google Play Store. Looks like Schluter has implemented different systems (Apps and Backends) for the US and the European market.
I assume the European Ditra Heat devices also works on a Cloud Polling basis. If this is true it comes down to finding the European backend equivalent to the (Schluter US Backend](https://ditra-heat-e-wifi.schluter.com/) and then reverse engineering the calls that the European App makes to that backend. I assume that this will, just like the US one, not be a public API, but require reverse engineering.
The million dollar question is, what's the URL that Schluter uses in Europe?

Hi,
What I mentioned above:
Here ist the login url for German iOS App
"https://owd5-sl003-app.ojelectronics.com/api/UserProfile/SignIn"

Hi, What I mentioned above: Here ist the login url for German iOS App "https://owd5-sl003-app.ojelectronics.com/api/UserProfile/SignIn"

Okay, sorry I missed that. But there is still no way to integrate it into Home Assistant in Europe with what is available?

@faPU1909. No, there is no way to integrate that. It would require somebody with a European Schluter heating unit and access to 240V power to run it to basically reverse engineer the API and add the integration.

Hi, What I mentioned above: Here ist the login url for German iOS App "https://owd5-sl003-app.ojelectronics.com/api/UserProfile/SignIn"

Okay, sorry I missed that. But there is still no way to integrate it into Home Assistant in Europe with what is available?

Its possible - Iam from germany and use for my Schluter bath heater this app with Home Assistant: OJ Microline Thermostat as integration. Works well, because, the Schluter system controler is the same as the one from OJ Microelektronics.
With this you can use up to 15 sensors/switches for your heater controler. :-)

I can confirm that the OJ Microline integration works fine with the German Schlüter App.
I tested it some minutes ago.
unfortunatly Energy Data is missing

Does any schluter integration have energy messurement? The app - yes, but the app is a grap.
An idea can be to use something like a shelly plug for this job if needed.
We use our Schlüter floor heater only in the month we have enough solar energy, so I can use it with a simple logic to switch on or off.

well,
sry about my bad python skills, but you may use this as example to get energy data from German Schlüter integration. But for sure, you have to get the session_id first.
'''
###----------get energy week data
def get_energy_data(viewtype, history):
#ViewType: 1= day 2= week 3= week 4= month
#History: How many of Viewtype in the past

#read session_id from cache file
session_id = get_session_id_from_file()

#get current date and time
dt_thermostat_string = now.strftime("%Y-%m-%dT%H:%M:%S")
#get number of weekday
weekday = datetime.today().weekday()

url = "https://owd5-sl003-app.ojelectronics.com/api/EnergyUsage/GetEnergyUsage?sessionid=%s" %(session_id)

headers = CaseInsensitiveDict()
headers["Content-Type"] = "application/json; charset=utf-8"

data = {
    "APIKEY": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "DateTime": dt_thermostat_string,
    "History": history,
    "ThermostatID": "xxxxxx",
    "ViewType": viewtype
}
resp = requests.post(url, headers=headers, json=data)
resp_code = resp.status_code

if resp_code == 200:
    #print("%s 3: %s HTTP POST Success - Response Code: %s" %(dt_string, application_name, resp.status_code))
    response_dict = json.loads(resp.text)

else:
    if resp_code == 401:
        print("%s 3: %s HTTP POST Unauthorized - Log in first" %(dt_string, application_name))
        resp_code, session_id = get_session_id()
        url = "https://owd5-sl003-app.ojelectronics.com/api/EnergyUsage/GetEnergyUsage?sessionid=%s" %(session_id)
        resp = requests.post(url, headers=headers, json=data)
        resp_code = resp.status_code

        if resp_code != 200:
                print("%s 3: %s HTTP POST Error - Response Code: %s" %(dt_string, application_name, resp.status_code))
                response_dict = 0

        elif resp_code == 200:
                response_dict = json.loads(resp.text)
       if args.verbose:
    print("%s 3: %s HTTP POST Success - Response Code: %s" %(dt_string, application_name, resp.status_code))
    print("%s 3: %s : %s" %(dt_string, application_name, json.dumps(response_dict, indent=4, sort_keys=True)))

    if viewtype == '2' and history == '0':
        print(response_dict['EnergyUsage'][0]['Usage'][weekday]['EnergyKWattHour'])

return resp_code, response_dict

'''

The problem is the session-id, how do yout get it from german Schlüter integration or Android app eg?

well, really easy.
Basically I traced the login from my iOS app.
my solution to receive the session ID is the following.
You need to add your APIKEY and your Login Data...
###---- Log in to OJ Electronics cloud server ------
def get_session_id():
    url = "https://owd5-sl003-app.ojelectronics.com/api/UserProfile/SignIn"

    headers = CaseInsensitiveDict()
    headers["Content-Type"] = "application/json; charset=utf-8"

    data = {

        "APIKEY": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx",
        "ClientSWVersion": 1,
        "CustomerId": 3,
        "Password": "xxxxxxxxxxx",
        "UserName": "xxxxxxxxxxx"
    }

    resp = requests.post(url, headers=headers, json=data)
    resp_code = resp.status_code
    #print(resp.status_code)

    if resp_code == 200:
        pass #dummy
        #print("%s 3: %s Success - Response Code: %s" %(dt_string, application_name, resp.status_code))
    else:
        pass #dummy
        #print("%s 3: %s Error   - Response Code: %s" %(dt_string, application_name, resp.status_code))

    response_dict = json.loads(resp.text)

    if args.verbose:
        print("%s 3: %s : %s" %(dt_string, application_name, json.dumps(response_dict, indent=4, sort_keys=True)))

    session_id = response_dict.get('SessionId')
    #print("%s 3: %s Session_ID: %s" %(dt_string, application_name, session_id))

    with open('./session_id.txt', 'w') as f:
        f.write(session_id)

    return resp_code, session_id`

need to add your APIKEY and your Login Data...

Sorry for being ignorant but how do I find my APIKEY?

Well, I traced the App login with a sniffer proxy like mitmproxy, and found the key in the logged http headers.
but probably it is not needed at all and you can simply follow the API documentation:
https://libreview-unofficial.stoplight.io/docs/libreview-unofficial/bbeb6c0f9327a-log-in

Well, guess I traced the key with a tool like mitmproxy.


fix IllegalArgumentException when re-show a disposed ComposeWindow

Proposed Changes

add ComposeWindowPanel.desktop#recreateComposeContainerIfDisposed for recreate ComposeContainer after dispose.
add private property ComposeWindowPanel.desktop#skiaLayerAnalytics for recreateComposeContainerIfDisposed.
call recreateComposeContainerIfDisposed when ComposeWindow#pack, ComposeWindow#setVisible(true), ComposeDialog#pack or ComposeDialog#setVisible(true) is invoked instead of throw an IllegalArgumentException.

Testing
Test: Added new unit tests.
Issues Fixed
Fixes: https://github.com/JetBrains/compose-multiplatform/issues/4579

Re-show a disposed compose window looks impossible right now, maybe here some other way to re-show a disposed window

Now disposed window is not able to re-show but we can change decorated state of window at runtime.
The code below works
fun main() = application {
    var undecorated by remember { mutableStateOf(false) }
    Window(onCloseRequest = {}, undecorated = undecorated) {
        Button(onClick = { undecorated = !undecorated }) {
            Text("Toggle Decorated")
        }
    }
}

Because recreating a window that has already been disposed is generally used to set the window decoration state at runtime, although it is still not possible to reshow a disposed window now, we can call setUndecoratedSafely to set the window decoration state safely at runtime.


Update ./ regex to make . optional and / always required

Fixes #171 by making . optional but / required when deciding not to prepend ./.

I'd have added tests but the machine I'm on is currently locked at fish 3.1.2 so I can't actually run/test against HEAD.  I have a fork of v6.5 that I made these same changes on and seems to be working as expected.

Thanks for the PR!

Happy to help!

I think some later changes (especially #133) makes #119 unnecessary. In other words, we no longer need to check the selected paths again because they never start with literal tilde (~) and such.

Sorry for the delay. This is on my radar but I've been busy or sick. I'll get this merged eventually

No worries, take care of yourself!  I have a fork (and am stuck on an older fish at work so I'm on v6.5 anyway) so I'm not blocked; I just wanted to contribute back.

Something is off. The plugin doesn't prepend ./ anymore when there is a commandline token. E.g. if you start typing in Doc and you select Documents, you'd expect ./Documents but it outputs Documents.

Ahh good catch!
It looks like when nothing is typed, both $commandline_tokens and $current_token are blank whereas if something is typed before activating the search $commandline_tokens contains what was typed but $current_token is still blank.  I'm not sure where $current_token is coming from.
I wonder if it might be better to do something like test -d $file_paths_selected to check if the selection is a directory rather than the current approach?

I think it might be missing set current_token (commandline --current-token) after the set commandline_tokens?  I'm pretty new to fish so I'm not fully sure what this code is supposed to be doing or if that's a correct fix.

If there are two tokens, what is the expectation of completing a directory?  Activation happens where the | is in the below examples representing the cursor position

First token: Doc| test
Subsequent token: test Doc|

Is the expectation that it should complete as ./ or no?  If yes then I think we can remove the test "$commandline_tokens" = "$current_token" check.  If no, we can probably do test (count $commandline_tokens) instead and remove $current_token.

There used to be a set current_token (commandline --current-token), which is removed in 160e862 (#119).

I wonder if it might be better to do something like test -d $file_paths_selected to check if the selection is a directory rather than the current approach?

Yeah, this was the old approach. I forgot why we changed it. I'd be open to going back and just append a / to all selected directories. It be a little un-performant if selecting tons of results, but that should be rare @kidonng any thoughts?

Is the expectation that it should complete as ./Documents in both cases or no?

I only wanted to prepend ./ to the directory for the purposes of when the user was looking for exactly one folder to cd to (if you hit enter when the only token is ./directory, it changes to directory). So no. And we can't just do test (count $commandline_tokens) = 1 because if the user has something |, and they select documents, they wouldn't be able to hit enter to cd into whatever directory was selected.

There used to be a set current_token (commandline --current-token), and was removed in 160e862 (#119), for no good reason.

Good catch! Thanks!

In other words, we no longer need to check the selected paths again because they never start with literal tilde (~) and such.

Actually, ~ can expand to /Users/me, in which case we still need the check.

I posted that comment because I did some tests by hand. But perhaps I should give it another shot and post the results here.

My previous comment is incorrect because the ./ prepending never happens due to the missing variable.
@Laptop765 sorry for the misguidance. You need to revert my suggestions.

I wonder if it might be better to do something like test -d $file_paths_selected to check if the selection is a directory rather than the current approach?

Yeah, this was the old approach. I forgot why we changed it. I'd be open to going back and just append a / to all selected directories. It be a little un-performant if selecting tons of results, but that should be rare @kidonng any thoughts?

"The old approach" never entered the codebase and stayed at the original PR. No need to revert since we have no issues with current approach (code is a little broken though).

Ok sorry for the delay. I figured out a good way to fix this. Unfortunately, it's gonna be a decent amount of work so probably better if I start a new PR.


fix benchmarking on CI

Why not just apt-get install protobuf-compiler on the benchmark job, too?

i did try that, the protobuf version on yum repositories is too old. we could probably build it up ourselves and get the right version. however that is not the only missing dependency, we have to set up the boxes for our entire list of dependencies; including onnx etc. ideally i would like to do this with nix and keep all the versions in sync between local-production-benchmarks.
self-hosted runners do something strange with the PATH, i can't seem to modify it during a run.

Closing this. To tackle as part of a wider review of our CI benchmarking


CORGI-432: Fix contention in PCR table after recent MR

@RedHatProductSecurity/corgi-devs Quick sanity check please, I've made enough oopses as it is.
Originally corgi.tasks.errata_tool.slow_load_errata used app.send_task to avoid a circular import with the slow_fetch_brew_build task:
app.send_task(
    "corgi.tasks.brew.slow_fetch_brew_build",
     args=(build_id, False),
)

In order to reprocess all builds, not just the top-level ones, I changed that hardcoded "False" arg above to the "force_process" kwarg instead. This was sort-of correct because it let us force-reprocess Brew builds linked to this erratum, if we were also reprocessing the top-level Brew build:
app.send_task(
    "corgi.tasks.brew.slow_fetch_brew_build",
     args=(build_id),
     kwargs={"force_process": force_process}
)

But that change also caused issues. The second arg to slow_fetch_brew_build (which was hardcoded to False in the old code) is actually "save_product" and not "force_process". In CORGI-21 we added the "save_product" option to avoid calling save_product_taxonomy in a slow_fetch_brew_build task.
The "save_product" option is set to True by default, and False whenever we call slow_fetch_brew_build from slow_load_errata. This fixed an issue with contention on the PCR table, when saving taxonomies for many builds linked to one erratum. The correct approach was to save all the taxonomies at once, only after we finished loading all the builds.
So I put back that "save_product": False value, this time using the kwarg name instead of just a hardcoded arg value, to make it more clear what "False" actually means in this context. I also set the "force_process" kwarg for the slow_fetch_brew_build task, based on its value in the slow_load_errata task.
I deployed this change to stage for testing, and it seems like tasks are being processed faster now. But maybe more is needed:

We now force calling save_product_taxonomy in the SCA task if force_process is set to True. Maybe this also creates contention on the PCR table. Should I get rid of the force_process kwarg in the SCA task?

If some build we're force-processing is linked to any errata (via errata_tags in the Brew data), we also try to force-process those errata (correct). But if some erratum we're force-processing is linked to any Brew builds (via relations in the PCR table), we also try to force-process those builds.

Am I misunderstanding how this code works / our data is linked together? Or if above is correct, I think this causes infinite recursion - should I get rid of the force_process kwarg in the call to app.send_task?
app.send_task(
    "corgi.tasks.brew.slow_fetch_brew_build",
     args=(build_id),
     kwargs={"save_product": False}
)

sorry I meant to comment - yes to getting rid ;)


implement plonky2 selector polynomial optimization

@vanishreerao could you set an estimate to this task?

We decided not to do this. Closing.


Introduce passion to response

In light of the emotion of the pixelfed team in this post, I suggest additional passion be introduced to the webpage.

I think I prefer the original text.  Hopefully, it's irrelevant soon anyway, but this is pixelfed we're talking about, so you never know

"I think you are the one who does not get who is providing a free service to who."


merge from template-arlac77-github

package.json

chore(deps): add ^10.1.2 remove ^10.1.1 (devDependencies.c8)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 92.807%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
436

Relevant Lines:
461

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 92.807%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
436

Relevant Lines:
461

💛  - Coveralls


Implement EitherT using ExceptT

This introduces a new package x-eithert which should be a drop in replacement for x-either from a syntactic point of view, but it is implemented using the now more standard ExceptT from transformers.
Not sure if this should maybe be x-either-t instead? or something else?

Some more context here https://github.com/ambiata/yak/issues/73

@ambiata/engineers

:trophy:

:+1: with maybe some sanity tests on some projects using it heavily

I vote for @nhibberd to upgrade mismi as a sanity test :)

Is it aimed to be a temporary solution? Any plans to migrate our code to just use ExceptT?

Even after we migrate to ExceptT, we will still have to implement some functions, like bimapExceptT etc..., so this library can be where they go after we migrate

Would it be worthwhile having another package with the correspondingly named  ExceptT functions (e.g mapExceptT) so that we can migrate function names over for individual libraries one at a time without making them incompatible with each other?

I find it confusing that we define type EitherT = ExcepT. For anyone used to Haskell but new to our code base they can't assume that the EitherT they know is still the same. Maybe, if we provide an x-except module as well and make it clear that the x-either-t module is just a temporary solution to ease the migration?

Even after we migrate to ExceptT, we will still have to implement some functions, like bimapExceptT

Will the library be renamed to x-except-t along with the current function bimapEitherT for that?
Would it be much harder to just gradually migrate our code to straight to ExceptT and put all extra functions to x-except-t straight away?

Will the library be renamed to x-except-t along with the current function bimapEitherT for that?
Would it be much harder to just gradually migrate our code to straight to ExceptT and put all extra functions to x-except-t straight away?

Thats going to be an all in change, which i guess has worked for us in the past, even if really annoying.
If we had a package that instead had type ExceptT = EitherT, and added all the ExceptT named functions and extra ones, then we could make the change one library at a time and then just add ExceptT to p when we have migrated enough of them over and flick the switch

Is it aimed to be a temporary solution? Any plans to migrate our code to just use ExceptT?

The idea was that we continue to use EitherT under a type synonym and would never migrate to ExceptT.

The idea was that we continue to use EitherT under a type synonym and would never migrate to ExceptT.

I see, well if we dropped the type synonym for now, it wouldn't force us to push the change all the way downstream in one go

kind of sucks that EitherT wont be in p from now on

I see, well if we dropped the type synonym for now, it wouldn't force us to push the change all the way downstream in one go

I think the whole idea of this is that we don't have to push the change all the way in one go, because it is a different package (x-either-t vs x-either)

kind of sucks that EitherT wont be in p from now on

EitherT isn't currently in p ?

I find it confusing that we define type EitherT = ExcepT. For anyone used to Haskell but new to our code base they can't assume that the EitherT they know is still the same.

I think they can for all intents and purposes - sure it is not from the either package, but it behaves almost exactly the same.

But if i change my library so that its using x-either-t, and one of my functions returns a value of type EitherT, then all packages downstream would be forced to change their downstream calling code to use the same EitherT type as soon as they upgrade tot he latest version of my package?
I'm just saying that if we left EitherT = EitherT initially, i can change my library to use x-either-t and the type returned by all my functions remains unchanged, it doesnt force a downstream package to migrate its code to x-either-t too when it upgrades to the latest version of my package.

EitherT isn't currently in p ?

ah whoops, sorry, its still a shame though

But if i change my library so that its using x-either-t, and one of my functions returns a value of type EitherT, then all packages downstream would be forced to change their downstream calling code to use the same EitherT type as soon as they upgrade tot he latest version of my package?

Yeah that's correct, but upgrading should only involve changing your cabal file from x-either to x-either-t, so it should be virtually painless.
The idea with the type and pattern synonyms is that no syntactic changes will be required by your code.

@jystic ah ok fair enough, sounds good :)
:+1:

In case people aren't aware, the pattern EitherT m = ExceptT m means that you can do this:
foo :: EitherT FooError IO Int
foo = EitherT bar -- the pattern synonym is used here for construction

bar :: IO (Either FooError Int)
bar = ...

I just pushed some commits which move X.Control.Monad.Catch.bracketEitherT' in to both x-either and x-either-t and the same for X.Options.Applicative.orDie.
This is required in order to remove the dependency on either and x-either from x-exception and x-optsparse.
If you are using these functions it will possibly be a breaking change, but the upgrade should be fairly straightforward, just import the function from its new location.


why throw Unhandled Exception????

Hi, i deploying in the project with chrome-dev-tools-runtime; in execute the Test project, that throw Unhandled Exception: System.Net.Http.HttpRequestException: An error occurred while sending the request.    can u tell me so why? My development environment is vs 2017 community + windows 10 Professional + .net Core 2.1 .
Exception info:
Unhandled Exception: System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.Http.WinHttpException: 无法与服务器建立连接
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult()    at System.Net.Http.WinHttpHandler.<StartRequest>d__105.MoveNext()    --- End of inner exception stack trace ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult()
at System.Net.Http.HttpClient.d__58.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult()    at System.Net.Http.HttpClient.<GetContentAsync>d__321.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter1.GetResult()    at ChromeDevToolsRuntimeCLI.Program.<GetSessions>d__1.MoveNext() in C:\Users\tyb\Desktop\chrome-dev-tools-runtime-master\ChromeDevToolsCLI\Program.cs:line 82 --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at System.Runtime.CompilerServices.TaskAwaiter1.GetResult()
at ChromeDevToolsRuntimeCLI.Program.d__0.MoveNext() in C:\Users\tyb\Desktop\chrome-dev-tools-runtime-master\ChromeDevToolsCLI\Program.cs:line 24
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at ChromeDevToolsRuntimeCLI.Program.(String[] args)

Before running the example CLI app , ensure that you've started a Chrome instance that enables remote debugging on port 9223,
C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9223


crypto/ecdsa: change hashToBytes to use copy instead of calling another function

Just reducing a double function call to a byte copy.  A TODO request.  ;)
Pull request
https://github.com/golang/go/pull/43531

This does not need to be a proposal. You wouldn't even need an issue really, since it's just an internal change that already had a TODO.
Also CC @mundaym.

This does not need to be a proposal. You wouldn't even need an issue really, since it's just an internal change that already had a TODO.
Also CC @mundaym.

Oh-- oops!  Thanks for the heads up here.  I didn't realize this.  Feel free to close it. :P

Oh-- oops!  Thanks for the heads up here.  I didn't realize this.  Feel free to close it. :P


Pod cannot communicate with itself while using a service

``I'm currently trying to understand how CiliumClusterwideEnvoyConfig works and, after few test, I found a behavior that I can't understand why it works like that.
What I wanna do is let the pod send a request to a service which will send the request to the pod that I previously send the request. In other words, I wanna do this: PodA -> SvcA -> PodA
You can reproduce what I'm doing with this:
kind: CiliumClusterwideEnvoyConfig
metadata:
 name: envoy-lb-listener
spec:
 services:
   - name: echo-service-1
     namespace: default
   - name: echo-service-2
     namespace: default
 resources:
   - '@type': type.googleapis.com/envoy.config.listener.v3.Listener
     name: envoy-lb-listener
     filter_chains:
       - filters:
           - name: envoy.filters.network.http_connection_manager
             typed_config:
               '@type': type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
               stat_prefix: envoy-lb-listener
               rds:
                 route_config_name: lb_route
               use_remote_address: true
               skip_xff_append: true
               http_filters:
                 - name: envoy.filters.http.router
                   typed_config:
                     '@type': type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
   - '@type': type.googleapis.com/envoy.config.route.v3.RouteConfiguration
     name: lb_route
     virtual_hosts:
       - name: lb_route
         domains: ['*']
         routes:
           - match:
               prefix: /api/validation-batches
               headers:
                 - name: :method
                   string_match:
                     exact: POST
             route:
               cluster: default/echo-service-1
           - match:
               prefix: /api/reports-controller
               headers:
                 - name: :method
                   string_match:
                     exact: GET
             route:
               cluster: default/echo-service-1
           - match:
               prefix: '/'
             route:
                 cluster: default/echo-service-2
   - '@type': type.googleapis.com/envoy.config.cluster.v3.Cluster
     name: 'default/echo-service-1'
     connect_timeout: 5s
     lb_policy: ROUND_ROBIN
     type: EDS
     outlier_detection:
       split_external_local_origin_errors: true
       consecutive_local_origin_failure: 2
   - '@type': type.googleapis.com/envoy.config.cluster.v3.Cluster
     name: 'default/echo-service-2'
     connect_timeout: 3s
     lb_policy: ROUND_ROBIN
     type: EDS
     outlier_detection:
       split_external_local_origin_errors: true
       consecutive_local_origin_failure: 2

and this:
apiVersion: v1
data:
  Corefile: |-
    . {
        local
        ready
        log
    }
kind: ConfigMap
metadata:
  name: coredns-configmap
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    kind: client
    name: client
  name: client
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      kind: client
      name: client
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      labels:
        kind: client
        name: client
      name: client
    spec:
      containers:
        - command:
            - /bin/ash
            - -c
            - sleep 10000000
          env:
            - name: PORT
              value: "8080"
          image: quay.io/cilium/alpine-curl:v1.5.0@sha256:7b286939730d8af1149ef88dba15739d8330bb83d7d9853a23e5ab4043e2d33c
          imagePullPolicy: IfNotPresent
          name: client
          ports:
            - containerPort: 8080
              protocol: TCP
          securityContext:
            capabilities:
              add:
                - NET_RAW
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    kind: client
    name: client2
  name: client2
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      kind: client
      name: client2
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      labels:
        kind: client
        name: client2
        other: client
      name: client2
    spec:
      containers:
        - command:
            - /bin/ash
            - -c
            - sleep 10000000
          env:
            - name: PORT
              value: "8080"
          image: quay.io/cilium/alpine-curl:v1.5.0@sha256:7b286939730d8af1149ef88dba15739d8330bb83d7d9853a23e5ab4043e2d33c
          imagePullPolicy: IfNotPresent
          name: client2
          ports:
            - containerPort: 8080
              protocol: TCP
          resources: {}
          securityContext:
            capabilities:
              add:
                - NET_RAW
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    kind: echo
    name: echo-service-1
  name: echo-service-1
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      kind: echo
      name: echo-service-1
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      labels:
        kind: echo
        name: echo-service-1
        other: echo
      name: echo-service-1
    spec:
      affinity:
        podAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            - labelSelector:
                matchExpressions:
                  - key: name
                    operator: In
                    values:
                      - client
              topologyKey: kubernetes.io/hostname
      containers:
        - env:
            - name: PORT
              value: "8080"
          image: quay.io/cilium/json-mock:v1.3.2@sha256:bc6c46c74efadb135bc996c2467cece6989302371ef4e3f068361460abaf39be
          imagePullPolicy: IfNotPresent
          name: echo-service-1
          ports:
            - containerPort: 8080
              protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 1
            periodSeconds: 1
            successThreshold: 1
            timeoutSeconds: 2
          resources: {}
          securityContext:
            capabilities:
              add:
                - NET_RAW
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        - args:
            - -conf
            - /etc/coredns/Corefile
          image: coredns/coredns:1.9.3@sha256:8e352a029d304ca7431c6507b56800636c321cb52289686a581ab70aaa8a2e2a
          imagePullPolicy: IfNotPresent
          name: dns-test-server
          ports:
            - containerPort: 53
              protocol: TCP
            - containerPort: 53
              protocol: UDP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /ready
              port: 8181
              scheme: HTTP
            initialDelaySeconds: 1
            periodSeconds: 1
            successThreshold: 1
            timeoutSeconds: 2
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
            - mountPath: /etc/coredns
              name: coredns-config-volume
              readOnly: true
      volumes:
        - configMap:
            defaultMode: 420
            items:
              - key: Corefile
                path: Corefile
            name: coredns-configmap
          name: coredns-config-volume
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    kind: echo
    name: echo-service-2
  name: echo-service-2
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      kind: echo
      name: echo-service-2
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      labels:
        kind: echo
        name: echo-service-2
      name: echo-service-2
    spec:
      containers:
        - env:
            - name: PORT
              value: "8080"
          image: quay.io/cilium/json-mock:v1.3.2@sha256:bc6c46c74efadb135bc996c2467cece6989302371ef4e3f068361460abaf39be
          imagePullPolicy: IfNotPresent
          name: echo-service-2
          ports:
            - containerPort: 8080
              protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 1
            periodSeconds: 1
            successThreshold: 1
            timeoutSeconds: 2
          resources: {}
          securityContext:
            capabilities:
              add:
                - NET_RAW
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        - args:
            - -conf
            - /etc/coredns/Corefile
          image: coredns/coredns:1.9.4@sha256:b82e294de6be763f73ae71266c8f5466e7e03c69f3a1de96efd570284d35bb18
          imagePullPolicy: IfNotPresent
          name: dns-test-server
          ports:
            - containerPort: 53
              protocol: TCP
            - containerPort: 53
              protocol: UDP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /ready
              port: 8181
              scheme: HTTP
            initialDelaySeconds: 1
            periodSeconds: 1
            successThreshold: 1
            timeoutSeconds: 2
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
            - mountPath: /etc/coredns
              name: coredns-config-volume
              readOnly: true
      volumes:
        - configMap:
            defaultMode: 420
            items:
              - key: Corefile
                path: Corefile
            name: coredns-configmap
          name: coredns-config-volume
---
apiVersion: v1
kind: Service
metadata:
  labels:
    kind: echo
  name: echo-service-1
spec:
  ports:
    - name: http
      port: 8080
      protocol: TCP
      targetPort: 8080
  selector:
    name: echo-service-1
  type: NodePort
---
apiVersion: v1
kind: Service
metadata:
  labels:
    kind: echo
  name: echo-service-2
spec:
  ports:
    - name: http
      port: 8080
      protocol: TCP
      targetPort: 8080
  selector:
    name: echo-service-2
  type: NodePort

Both yamls are examples displayed on Cilium documentation: HERE
To make the same test I did, you can go inside the pod and put this:
kubectl exec -it $CLIENT2 -- curl -X POST echo-service-2:8080/api/validation-batches
kubectl exec -it $CLIENT2 -- curl -X POST echo-service-2:8080/api/validation-bat

You will see that one is accepted and the other is not depending which pod you are inside. If you are inside the echo-service-1, the first command won't work but the second will. But if you are inside the echo-service-2, the opposite will happen

Hi there, @Sule26. It's tough to grok this entire issue. Do you think you could try and pare it down to a minimal reproducer? If you need help, feel free to reach out in the Cilium Slack.

@squeed Thanks for reply! I've already tried to ask for help in the Cilium's Slack but I got no help. And that's ok. I've just tought it would be good to send my problem here.
I tried to make it as minimal as possible:
apiVersion: cilium.io/v2
kind: CiliumClusterwideEnvoyConfig
metadata:
  name: envoy-lb-listener
spec:
  services:
    - name: incentivendasapi-worker-service
      namespace: icv-legacy
    - name: incentivendasapi-service
      namespace: icv-legacy
  resources:
    - '@type': type.googleapis.com/envoy.config.listener.v3.Listener
      name: envoy-lb-listener
      filter_chains:
        - filters:
            - name: envoy.filters.network.http_connection_manager
              typed_config:
                '@type': type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
                stat_prefix: envoy-lb-listener
                rds:
                  route_config_name: lb_route
                use_remote_address: false
                skip_xff_append: false
                http_filters:
                  - name: envoy.filters.http.router
                    typed_config:
                      '@type': type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
    - '@type': type.googleapis.com/envoy.config.route.v3.RouteConfiguration
      name: lb_route
      virtual_hosts:
        - name: lb_route
          domains: ['*']
          routes:
            - match:
                prefix: /api/validation-batches
                headers:
                  - name: :method
                    string_match:
                      exact: POST
              route:
                cluster: icv-legacy/incentivendasapi-worker-service
            - match:
                prefix: /
              route:
                  cluster: icv-legacy/incentivendasapi-service
    - '@type': type.googleapis.com/envoy.config.cluster.v3.Cluster
      name: icv-legacy/incentivendasapi-worker-service
      connect_timeout: 5s
      lb_policy: ROUND_ROBIN
      type: EDS
      outlier_detection:
        split_external_local_origin_errors: true
        consecutive_local_origin_failure: 2
    - '@type': type.googleapis.com/envoy.config.cluster.v3.Cluster
      name: icv-legacy/incentivendasapi-service
      connect_timeout: 3s
      lb_policy: ROUND_ROBIN
      type: EDS
      outlier_detection:
        split_external_local_origin_errors: true
        consecutive_local_origin_failure: 2

and this:
kind: Deployment
apiVersion: apps/v1
metadata:
  name: incentivendasapi
  namespace: icv-legacy
  labels:
    app: incentivendasapi
spec:
  replicas: 1
  selector:
    matchLabels:
      app: incentivendasapi
  template:
    metadata:
      name: incentivendasapi
      labels:
        app: incentivendasapi
    spec:
      containers:
        - env:
            - name: PORT
              value: "8080"
          image: quay.io/cilium/json-mock:v1.3.2@sha256:bc6c46c74efadb135bc996c2467cece6989302371ef4e3f068361460abaf39be
          imagePullPolicy: IfNotPresent
          name: echo-service-2
          ports:
            - containerPort: 8080
              protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
  name: incentivendasapi-service
  namespace: icv-legacy
spec:
  ports:
    - name: http
      port: 8080
      protocol: TCP
      targetPort: 8080
  selector:
    app: incentivendasapi
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt-production
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/from-to-www-redirect: 'false'
  name: incentivendasapi-ingress
  namespace: icv-legacy
spec:
  rules:
    - host: api2.incentive-me.com
      http:
        paths:
          - backend:
              service:
                name: incentivendasapi
                port:
                  number: 8080
            path: /
            pathType: ImplementationSpecific
  tls:
    - hosts:
        - api.incentive-me.com
        - api2.incentive-me.com
      secretName: api-incentive-me-tls
---
kind: Service
apiVersion: v1
metadata:
  name: incentivendasapi-worker-service
spec:
  selector:
    app: incentivendasapi-worker
  ports:
    - name: http
      port: 8080
      protocol: TCP
      targetPort: 8080
---
kind: StatefulSet
apiVersion: apps/v1
metadata:
  name: incentivendasapi-worker
  namespace: icv-legacy
  labels:
    app: incentivendasapi-worker
spec:
  replicas: 1
  serviceName: incentivendasapi-worker-service
  selector:
    matchLabels:
      app: incentivendasapi-worker
  template:
    metadata:
      name: incentivendasapi-worker
      labels:
        app: incentivendasapi-worker
    spec:
      containers:
        - env:
            - name: PORT
              value: "8080"
          image: quay.io/cilium/json-mock:v1.3.2@sha256:bc6c46c74efadb135bc996c2467cece6989302371ef4e3f068361460abaf39be
          imagePullPolicy: IfNotPresent
          name: echo-service-2
          ports:
            - containerPort: 8080
              protocol: TCP

In this case, you can use those commands:
curl -X POST incentivendasapi-service:8080/api/validation-batches
curl -X POST incentivendasapi-service:8080/api/validation

You will see that one is accepted and the other is not depending which pod you are inside. If you are inside the incentivendasapi-worker-service, the first command won't work but the second will. But if you are inside the incentivendas-service, the opposite will happen

@squeed @julianwiedmann
Does it have to do with #28123 #27798?

@Sule26 did you solve it?

@lucasfcnunes Not yet. 😢

Still no answer


Biome update latency after painting

After painting a biome, there is either a big update latency or it won't update at all and can be forced to update by painting a different area or zooming way out and back in.
The cause of this is most likely the same as described in #3

This issue is most probably the same as the previous one, however I will check the code, to see how to speed things up a little

The issue is created due to the time the PoissonGenerator takes for generating the default set of points with footprints lower than 1.0. This is a problem of the algorithm itself.


Changes specific to Appdynamics.

Thanks for your contribution! However, we can't merge your stuff in unless you sign the individual or corporate CLA as indicated by the @cfdreddbot.

Hi @jgawor the CLA is now signed and submitted to the CF org. Copying @chipchilders for confirmation.
Copying @akankshudhawan

@jgawor the CLA has been received. Feel free to merge!

Hi @jgawor, can we merge this PR if there are no roadblocks ?

I see a couple of issues here.

There is no documentation provided on how to configure and use this framework and there are no tests for the framework.
Line 200 of lib/liberty_buildpack/framework/appdynamics_agent.rb uses a hard-coded version number in the filename being extracted, this will fail if the user overrides the version number in the config using either an environment variable or by forking the buildpack and modifying the yml file.
Line 171 of lib/liberty_buildpack/framework/appdynamics_agent.rb contains a comment which talks about downloading a New Relic jar file?
Line 175 of lib/liberty_buildpack/framework/appdynamics_agent.rb will output an error message like The app-dynamics.jar  app-dynamics-3.8.4.zip  format could not be matched from ....  This doesn't make sense to mention an app-dynamics.jar file file when there is an error downloading the .zip file specified in the uri.
Line 115 of lib/liberty_buildpack/framework/appdynamics_agent.rb, what is the significance of an agent with a length >= 40?
Copyright dates in config/appdynamicsagent.yml and lib/liberty_buildpack/framework/appdynamics_agent.rb are dated from 2014/2015 instead of 2016?

@jgawor I have updated the code as par the changes asked by @degrim . Can we get this PR merged.

Thanks a lot for your contribution! I will go ahead and merge this PR but we might have some follow up changes. Also, we would love to have some tests.


Migrate away from lerna

See
https://twitter.com/tomasz_ducin/status/1519436453729734657?s=20&t=gf2YzbUwSThzRuXIJSdc0Q
Possible alternatives:

nx
npm workspaces

I would prefer to try npm workspaces first.
TODO:

[ ] Figure out dev setup
[ ] Figure out how to auto-generate changelogs from commit log
[ ] Figure out new release script

... .😢

Alternative toolchains:

Nrwl Nx
Google Wireit
Google Bazel
Microsoft Lage
Microsoft Rush.js
Turborepo
npm Workspaces
Yarn Workspaces
pnpm Workspaces

Changelog toolchains:

GitHub automated release notes
JSCutlery SemVer
Semantic Releases

Leena to Nx migration guide https://nx.dev/guides/lerna-and-nx

A nice comparaison of monorepo tools : https://monorepo.tools/
To auto-generate changelogs / release, semantic-release with some plugins ?

Monorepo.tools guide

https://github.com/lerna/lerna/issues/3121

Yep. Seems like we can keep using Lerna. I'll close this as soon as all deprecation warnings are actually gone :D


No GPU/TPU found, falling back to CPU.

Hey guys, I'm trying to run some code on an AWS server with JAX but I seem to be running into the following error:
/home/ubuntu/anaconda3/envs/python3/lib/python3.6/site-packages/jax/lib/xla_bridge.py:130: UserWarning: No GPU/TPU found, falling back to CPU.
  warnings.warn('No GPU/TPU found, falling back to CPU.')

I've followed the instructions as outlined in the installation guide and installed the appropriate JAX version with GPU support which was CUDA 10.0 in my case. I've tried manually setting the symlink and XLA_FLAGS environment variable but with no luck.
Has anyone else faced this issue and resolved it?
I'm using a deep learning image from AWS with ubuntu 16.04 and CUDA 10.0.

Can you set export TF_CPP_MIN_LOG_LEVEL=0, run your code again, and post the full output? It should be enough to just run import jax; jax.device_count() in a python shell.

>>> import jax
2020-10-14 00:38:37.574012: I external/org_tensorflow/tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.0
2020-10-14 00:38:38.159461: I external/org_tensorflow/tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.0
>>> jax.device_count()
2020-10-14 00:38:46.578107: I external/org_tensorflow/tensorflow/compiler/xla/service/service.cc:168] XLA service 0x5650e540a080 initialized for platform Interpreter (this does not guarantee that XLA will be used). Devices:
2020-10-14 00:38:46.578263: I external/org_tensorflow/tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Interpreter, <undefined>
2020-10-14 00:38:46.618461: I external/org_tensorflow/tensorflow/core/platform/profile_utils/cpu_utils.cc:108] CPU Frequency:<PHONE_NUMBER> Hz
2020-10-14 00:38:46.618861: I external/org_tensorflow/tensorflow/compiler/xla/service/service.cc:168] XLA service 0x5650e5399890 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2020-10-14 00:38:46.618904: I external/org_tensorflow/tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
2020-10-14 00:38:46.640323: I external/org_tensorflow/tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcuda.so.1
2020-10-14 00:38:46.823091: I external/org_tensorflow/tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-10-14 00:38:46.823605: I external/org_tensorflow/tensorflow/compiler/xla/service/platform_util.cc:139] StreamExecutor cuda device (0) is of insufficient compute capability: 3.5 required, device is 3.0
/home/ubuntu/anaconda3/envs/python3/lib/python3.6/site-packages/jax/lib/xla_bridge.py:130: UserWarning: No GPU/TPU found, falling back to CPU.
  warnings.warn('No GPU/TPU found, falling back to CPU.')
1
>>>

Well, that solves that. Turns out the compute capability is not the required 3.5. I'll go ahead and launch an instance with a more up to date GPU.
Helpful link for other people setting up JAX on aws and deciding what GPU to use: https://developer.nvidia.com/cuda-gpus

Thanks for reporting back and the helpful link!


Use pkgconfig in FindOpenEXR.cmake if available

Description
Inspired by the FindFFmpeg.cmake and FindLibRaw.cmake files I added similar use of pkgconfig to locate IlmBase and OpenEXR include directories.
The potentially found paths are appended to GENERIC_INCLUDE_PATHS respecting the search order that was before.

Tests
I have not added any tests, but it seems to build the way it should.

Checklist:

[x] I have read the contribution guidelines.
[ ] If this is more extensive than a small change to existing code, I
have previously submitted a Contributor License Agreement
(individual, and if there is any way my
employers might think my programming belongs to them, then also
corporate).
[ ] I have updated the documentation, if applicable.
[ ] I have ensured that the change is tested somewhere in the testsuite
(adding new test cases if necessary).
[x] My code follows the prevailing code style of this project.

This covers the header include location, but don't you also want to use the information returned by pkgconfig to also influence the finding of the libraries?

Hmm.. Yes. I took a real naive approach here so missed that after I got it working. Will update and commit changes when I get to work on Monday.
Thanks!

LGTM, merging.
I'll backport to the release branch as well.


New version: Tauri.create-tauri-app version 3.13.8

Created by 🥟 Dumplings in Run #3483.
Microsoft Reviewers: Open in CodeFlow

Hi @SpecterShell,
The package didn't pass a Defender or similar security scan. This might be a false positive and we can rescan tomorrow.
(Automated response - build 828.)

Automatic Validation ended with:

Executable C:\Users\validator\AppData\Local\Microsoft\WinGet\Packages\Tauri.create-tauri-app__DefaultSource\create-tauri-app.exe returned exit code: 1 Executable C:\Users\validator\AppData\Local\Microsoft\WinGet\Links\create-tauri-app.exe returned exit code: 1 Installation failed with exit code -1978335187 2024-02-26 17:05:53.233 [CLI ] Installer [X64,portable,Unknown,] not applicable: Machine is not compatible with X64 2024-02-26 17:05:53.233 [CLI ] Installer [Arm64,portable,Unknown,] not applicable: Machine is not compatible with Arm64 2024-02-26 17:05:58.107 [FAIL] Installer failed security check. Url: https://github.com/tauri-apps/create-tauri-app/releases/download/create-tauri-app-v3.13.8/create-tauri-app-i686-pc-windows-msvc.exe Result: 0x80004005

(Automated response - build 828.)

@wingetbot run

@wingetbot run


Issues # 7627

Fixed the Issue #7627. According the download Json data, changed the video url construct a bit.

Did you borrow codes from you-get? If so, you need to ask for explicit permission to use their codes in youtube-dl from its authors.

Fails for test_Youku_2:
$ youtube-dl -v "http://v.youku.com/v_show/id_XMTI1OTczNDM5Mg==.html"
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-v', 'http://v.youku.com/v_show/id_XMTI1OTczNDM5Mg==.html']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.12.10
[debug] Git HEAD: b6afc22
[debug] Python version 3.5.1 - Linux-4.3.0-1-ARCH-x86_64-with-arch-Arch-Linux
[debug] exe versions: ffmpeg 2.8.3, ffprobe 2.8.3, rtmpdump 2.4
[debug] Proxy map: {}
[youku] XMTI1OTczNDM5Mg: Downloading JSON metadata 1
[youku] XMTI1OTczNDM5Mg: Downloading JSON metadata 2
ERROR: An extractor error has occured. (caused by KeyError('mp4hd',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/home/yen/Executables/Multimedia/youtube-dl/youtube_dl/extractor/common.py", line 290, in extract
    return self._real_extract(url)
  File "/home/yen/Executables/Multimedia/youtube-dl/youtube_dl/extractor/youku.py", line 257, in _real_extract
    video_urls_dict = self.construct_video_urls(data1, data2)
  File "/home/yen/Executables/Multimedia/youtube-dl/youtube_dl/extractor/youku.py", line 144, in construct_video_urls
    'hd': self.get_hd(format),
  File "/home/yen/Executables/Multimedia/youtube-dl/youtube_dl/extractor/youku.py", line 176, in get_hd
    return hd_id_dict[fm]
KeyError: 'mp4hd'
Traceback (most recent call last):
  File "/home/yen/Executables/Multimedia/youtube-dl/youtube_dl/extractor/common.py", line 290, in extract
    return self._real_extract(url)
  File "/home/yen/Executables/Multimedia/youtube-dl/youtube_dl/extractor/youku.py", line 257, in _real_extract
    video_urls_dict = self.construct_video_urls(data1, data2)
  File "/home/yen/Executables/Multimedia/youtube-dl/youtube_dl/extractor/youku.py", line 144, in construct_video_urls
    'hd': self.get_hd(format),
  File "/home/yen/Executables/Multimedia/youtube-dl/youtube_dl/extractor/youku.py", line 176, in get_hd
    return hd_id_dict[fm]
KeyError: 'mp4hd'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/yen/Executables/Multimedia/youtube-dl/youtube_dl/YoutubeDL.py", line 663, in extract_info
    ie_result = ie.extract(url)
  File "/home/yen/Executables/Multimedia/youtube-dl/youtube_dl/extractor/common.py", line 296, in extract
    raise ExtractorError('An extractor error has occured.', cause=e)
youtube_dl.utils.ExtractorError: An extractor error has occured. (caused by KeyError('mp4hd',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

The KeyError('mp4hd') has fixed, and it work fine except the video protected by the password.

Thanks merged. Would you like to be listed in AUTHORS under the name Evan Lu?

No Problem.  I'm glad I can contribute to this fabulous project.

Done in 174964a7bc4b8d759a4019e366520c9121fcbf15.

Thank you!

Well I found that mp4hd3 exists in parse_ext_l and get_format_name but not in get_hd. Which value should it be?

It should be '1'. Sorry for this.

Thanks fixed in deb1e8d20e8680d8e217e2d376e05836541a46ca. Everything is done! The next time please:

Prefix commit messages with the extractor name. For example: [youku] merge data1 and data2
It's recommended (not mandatory) to check codes with flake8 before committing.

No problem. Next time I will check with flake8.


chore: bdd-spring-1575475303 to 0.0.1

chore: Promote bdd-spring-1575475303 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Workspaces  - App cmd arguments not working with space in path

Microsoft PowerToys version
0.84
Installation method
PowerToys auto-update
Running as admin
Yes
Area(s) with issue?
Workspaces
Steps to reproduce
Open excel with file SMS.xlsx with path C:\Users\KOUBA Trans\Desktop\SMS.xlsx
Tried with
"C:\Users\KOUBA Trans\Desktop\SMS.xlsx"
C:\Users\KOUBA\\Trans\Desktop\SMS.xlsx
C:\Users\KOUBAT~1\Desktop\SMS.xlsx
this not working
✔ Expected Behavior
Open excel on SMS.xlsx file
❌ Actual Behavior
File not found
Other Software
No response

Tried with "C:\Users\KOUBA Trans\Desktop\SMS.xlsx" this not working

new info : maybe the problem is NON-ENGLISH characters in the name of Workspace

In my cmd scripts i use quotation marks only around the path part with the space. Maybe thats the solution here.
Example:

START C:\"Program Files (x86)"\Steam\Steam.exe
START F:\"Riot Games"\"Riot Client"\RiotClientServices.exe --launch-product=league_of_legends --launch-patchline=live

In your case i would try this
C:\Users\"KOUBA Trans"\Desktop\SMS.xlsx

I am talking about Powertoys workspaces not cmd itself.

This is working for me on Win11, PowerToys v0.84.1 when I surround the entire path in quotation marks.

Try updating to 0.84.1 and let us know if it persists (and what Windows OS version you are on).


Use better assertions

Codecov Report

Merging #258 (0c89646) into master (a82a39e) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #258   +/-   ##
=========================================
  Coverage     72.80%   72.80%
  Complexity      529      529
=========================================
  Files            44       44
  Lines          1379     1379
=========================================
  Hits           1004     1004
  Misses          375      375

Continue to review full report at Codecov.

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


Added short MEG example, and short MEG json template

This is the last part of issue #16 resolved.

lgtm, thank you!

For the MEG short JSON example, is there a reason to include the "should be present" fields ? I assumed we'd only include the "must be present" fields, in line with the _bold.json short example. Unless we're updating both modalities ?

Yes that is true! I removed "should be present" the fields in the new commit.


Is it possible to build and run CARLA inside a virtual machine (ubuntu) on Windows ?

I tried it, there's two options. You either start with vulkan or opengl. The one with Vulkan never seems to work on my VM. The newest opelgl I can get on my Ubuntu VM is 3.1, but carla requires at least opengl 3.3.
Seems very difficult tbh.


mergeMSTs: Build fails to find tbb/parallel_sort.hh

Hi, I'm trying to build the code in the mergeMSTs branch. I am on Ubuntu 18.04. The build does not seem to find tbb/parallel_sort.hh. The log is below.
niklas@phoenix:~/code/mantis2/build$ git branch
* (HEAD detached at origin/mergeMSTs)

niklas@phoenix:~/code/mantis2/build$ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../ -DSDSL_INSTALL_PATH=/home/niklas/code/sdsl-lite ..
SAN_LIB =
Top-level source directory variable not set externally; setting it to /home/niklas/code/mantis2
-- Could NOT find TBB (missing: TBB_INCLUDE_DIRS tbbmalloc_proxy) (Required is at least version "2018.0")
Build system will fetch and build Intel Threading Building Blocks
==================================================================
TBB_INCLUDE_DIRS = /home/niklas/code/mantis2/external/install/include
TBB_LIBRARY_DIRS = /home/niklas/code/mantis2/external/install/lib
TBB_INSTALL_DIR = /home/niklas/code/mantis2/external/install
TBB_LIBRARIES = /home/niklas/code/mantis2/external/install/lib/libtbbmalloc.so;/home/niklas/code/mantis2/external/install/lib/libtbb.so;/home/niklas/code/mantis2/external/install/lib/libtbbmalloc_proxy.so;/home/niklas/code/mantis2/external/install/lib/libtbbmalloc.so;/home/niklas/code/mantis2/external/install/lib/libtbb.so
Adding /home/niklas/code/sdsl-lite/include to the include path
Adding /home/niklas/code/sdsl-lite/build/lib to the build path
-- Configuring done
-- Generating done
-- Build files have been written to: /home/niklas/code/mantis2/build

niklas@phoenix:~/code/mantis2/build$ make install
[ 25%] Built target libtbb
[ 28%] Building CXX object src/CMakeFiles/mantis_core.dir/kmer.cc.o
[ 31%] Building CXX object src/CMakeFiles/mantis_core.dir/query.cc.o
In file included from /home/niklas/code/mantis2/src/query.cc:42:0:
/home/niklas/code/mantis2/include/coloreddbg.h:38:10: fatal error: tbb/parallel_sort.h: No such file or directory
 #include "tbb/parallel_sort.h"
          ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
src/CMakeFiles/mantis_core.dir/build.make:86: recipe for target 'src/CMakeFiles/mantis_core.dir/query.cc.o' failed
make[2]: *** [src/CMakeFiles/mantis_core.dir/query.cc.o] Error 1
CMakeFiles/Makefile2:162: recipe for target 'src/CMakeFiles/mantis_core.dir/all' failed
make[1]: *** [src/CMakeFiles/mantis_core.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

Hi @jnalanko ,
Thank you for pointing out the issue.
I removed the tbb dependency. Although we had set tbb up and tested it multiple times, however, we decided to remove the dependency at some point. It seems I had forgotten to remove one last usage of it.
I compiled the code on our server and it worked.
Could you please try it again and let me know if it compiles?
Thank you

It compiled now. Thanks!


File upload generates message: "Refused to set unsafe header 'content-length'" in the browser

I suspect this header is being set because Google cloud storage requires it - https://cloud.google.com/storage/docs/json_api/v1/how-tos/resumable-upload
We'll look into whether it can be avoided.
@daniel-bsci - Does the file transfer succeed when you run into the message?
Also, please provide some additional information about the environment in which you're running this (browser type / version + Kinvey SDK version). Thanks.


[SYSTEMML-1589] Check for the empty block case

@mboehm7  can you please review this ?

LGTM - thanks @niketanpansare ; Btw, the unrelated change from isEmptyBlock() (i.e., isEmptyBlock(true)) to isEmpty (i.e., isEmptyBlock(false)) is the preferred way because it avoids unnecessary scans of allocated dense or sparse inputs with nnz=0.

Thanks @mboehm7  ... I will merge :)

Refer to this link for build results (access rights to CI server needed):
https://sparktc.ibmcloud.com/jenkins/job/SystemML-PullRequestBuilder/1450/


[Test] scripts/test.sh may not put the libcls_arrow library to correct location

When following the contribution guide, the CentOS environment in uccross/skyhookdm-arrow:v0.2.0 has the default class lookup dir set to @CMAKE_INSTALL_LIBDIR@/rados-classes, which is /usr/lib64/rados-classes. This is not the path /usr/lib/x86_64-linux-gnu/rados-classes/ the test.sh script supposes.
To make it portable, we can set the osd class dir for [osd] in the ceph.conf. This is the same way used by vstart.sh in Ceph.

@JayjeetAtGithub Would you tell me what is the purpose of step 3 in the contribution guide?

@ljishen That looks like a very bad mistake. It should be step 2 or maybe we can omit it.

@JayjeetAtGithub I see. Thanks for your response.

@YashJipkate Can you please fix the above problem  ?

I'll omit the point altogether then, just add a link to the docker page.


Restore entire directory tree

I used packr to restore files as in the examples.
Suddenly in the same project I need to restore an entire directory structure.
Would be nice to have something like
destination := "/whatever"
err := box.UnpackDirRec("assets", destination)```

I missed some details like:
https://godoc.org/github.com/gobuffalo/packr/v2#Box.Walk
and
https://blog.gobuffalo.io/introducing-pkger-static-file-embedding-in-go-1ce76dc79c65
thus closing this issue


Fix unhandled exception and magic constant. Includes some optimization.

This PR:

Fixes an unhandled exception that leads to unwanted breaks when trying to debug the full node.
Fixes a magic constant by declaring a variable to hold the constant
Replaces List<IPEndPoint> with a hash set implemented in IPEndPointSet. Instead of scanning the list with "Any" this would lead to a much faster hash based lookup / existence test.
Arrange some code according to cost to execute.

@quantumagi I've had a think about this and I'm not sure that we need a IP endpoint collection class? The AddNode and Connect collection of nodes in ConnectionManager will rarely have more than 5-10 addresses in them, so we aren't really "scoring" on performance here.
The collection of addresses in PeerAddressManager is where we can possibly benefit from such an implementation as there can be 10 000+ items in there. However, that collection is a thread-safe dictionary and already looks up addresses by a hashed version of IPEndpoint, which is quite performant as is.
What do you think?

@fassadlr, regarding the IPEndPointSet. If we are looping only 5 times (assuming this will remain unchanged) over 5 to 10 nodes we would still be converting (to IPV6) and scanning 25 to 50 addresses unnecessarily every few seconds. The class is only a few lines of code and is reducing complexity rather than adding to it.

Fixes unhandled exceptions that lead to unwanted breaks when trying to debug the full node.
@quantumagi this is not a problem with code, it's about the VS debugger. Please take a look at this issue.

@noescape00, at least this provides a convenient work-around. Let's go with this solution.

@quantumagi Ok, I don't mind. Just wasn't sure if we should implement it before most of the people voted on this in the issue.

Hi guys this is really ugly code 🦄
We should make an overload on Task that takes a cancellation.

it is ugly yes, I'd go with Task rather than using local variable outside of the scope, but ... well feel free to come with something better if you have time


bug #616 - sync TextBinding after updating it

I'm new to CoffeeScript so please excuse me for some syntactical errors below. The goal here is to indicate a solution to [bug #616]. The resulting change to View.update solves this bug.
    // Seems like its safe to call sync on all bindings but adding the following check just to be safe     if(binding instanceof Rivets.TextBinding){       binding.sync();     }

Seems like the actual fix is in sightglass as pointed out in #572


Making error string optional

Consider following error:
#[derive(Debug, thiserror::Error)]
pub enum ExactLengthError {
    #[error("Too small")]
    TooSmall,
    #[error("Too big")]
    TooBig,
}

The problem here is that Too small isn't a big improvement over TooSmall. Sometimes errors are self-explanatory and do not need additional description.
i wish it was possible to write:
#[derive(Debug, thiserror::Error)]
pub enum ExactLengthError {
    TooSmall,
    TooBig,
    #[error("Proper description (expected {expected:?}, found {found:?})")]
    ThisIsTheVariantThatNeedsProperDescription {
        expected: String,
        found: String,
    },
}

And use debug representation as string for variants that do not provide any custom string

I would prefer to keep it required.


Support for private extensible variants?

Right now it doesn't look like private constructors are respected in reason.
Original OCaml:
type foo += private C of int

Actual:
type foo +=
  | C int;

Expected:
type foo +=
  | private C int; /* Error: Unbound value pri */

Hot damn what are you trying to do

@chenglou don't worry about it 🕵🏻

Great first task and high pri because it's regarding completeness!

Should be familiar terrain for me, will look into it

@IwanKaramazow 💪

Ok, this was already implemented.
type water = ..;
type molecules = string;
type water += pri Ocean molecules;

Reason uses pri instead of private, this probably originates from @SanderSpies's new object syntax. Do we just document this? Or should I make it private in this case?

Ahh interesting - when I refmt that code I get:
type water = ..
type molecules = string
type water +=
  | Ocean of molecules

So maybe it's just an issue with refmt not handling it? It doesn't work in any direction ml <=> re or self formatting.

So it parses, but prints incorrectly. I'll fix it.

In general it would be great if we could try to convert more OCaml libraries to Reason and see if it works.

Might want to do this on top of Fred's diff.

Opened a PR that should be compatible with Fred's diff, cherry-picking the commit should suffice?


final mask

The final mask is output by the second layer GCN, but as the example in your paper, the horse mask predicted by the second layer GCN is incomplete.  According to the description in your paper, was the contour overlap predicted by GCN of the first layer and GCN of the second layer calculated as the occludee area?  Then, the final mask is to add the mask of the second  GCN to the overlapping part as a post-processing to get the final mask?  If so, where is the post-processing in the code?  Or did I misunderstand?  Thank you
最终的mask是由第二层GCN输出的，但如您论文中的实例，第二层GCN预测的马的mask是不完整的。按您论文中的描述，是通过计算第一层GCN和第二层GCN预测的contour重叠部分作为被遮挡的区域？那么的话，最终的mask是将第二层GCN的mask加上重叠部分，作为一个后处理得到最终的mask吗？如何是的话，后处理在代码中的哪一部分呢？还是我的理解有误？谢谢您

Hi, it depends on two cases. Amodal and modal, what this means is that in amodal prediction, there will be overlapping between the predicted occluder and occludee objects. But in modal prediction, we only detect the visible parts for both the occluder and occludee. Please see more discussion here.


Make set_test_scene more robust when missing self.wait()

Currently, creating test data like this will result in the following error when you don't have a self.wait() in your test in the end:
class TEST(Scene):
    def construct(self):
        dot= Dot()
        self.add(dot)

set_test_scene(
    TEST, "newnew"
)  # <module_name> can be e.g.  "geometry" or "movements"

AssertionError: Control data generated for TEST only contains empty pixels.

This can be fixed by adding a line save_last_frame in the config of set_test_scene

In principle, this looks good to me.
Question (@leotrs ?): should these modifications of config be changed to using parameter syntax, i.e., config.save_last_frame = True?

Not necessary. Dict syntax and attribute syntax are literally equivalent for all config options in ManimConfig.


android lint messages are not posted on PR

Report
What did you do?
bundle exec danger
What did you expect to happen?
post the lint result on PR
What happened instead?
danger passed but the lint violations were not posted on PR
Your Environment

Which CI are you running on?
Bitrise

Are you running the latest version of Danger?
Yes

What is your Dangerfile?
  # Sometimes it's a README fix, or something like that - which isn't relevant for
  # including in a project's CHANGELOG for example
  declared_trivial = github.pr_title.include? '#trivial'

  # Make it more obvious that a PR is a work in progress and shouldn't be merged yet
  warn('PR is classed as Work in Progress') if github.pr_title.include? '[WIP]'

  # Warn when there is a big PR
  warn('Big PR') if git.lines_of_code > 500

  android_lint.gradle_task = 'checkstyle'
  android_lint.report_file = 'app/build/reports/checkstyle/checkstyle.xml'
  android_lint.lint(inline_mode: true)

This is likely either a problem with your setup of that plugin, or you've not configured danger correctly.

I am faced with the same problem. I spent several days trying to find a reason, but without any success.  @RishabhTayal did you find a solution? May be you have working example?


Nio set default configurations

Resolves #23653

API changes have been detected in com.azure:azure-storage-blob-nio. You can review API changes here
API changes
+         public static void setDefaultConfigurations(Map<String, Object> config)

/azp run java - storage - ci


Treat UNDEFINED as empty value for BasicType

Note that this is related to this bundle-protobuf PR (and requires that PR to be merged first).
Per protobuf best practices (here's an example of the problem: http://androiddevblog.com/protocol-buffers-pitfall-adding-enum-values/), you should never use '0' as a real value in your enums.  This would prevent you from being able to determine if the value is 'empty' or 'default', as the language generated code always uses the value at 0 as the default for the field.
This is causing problems in mleap for BasicType serialization in transformers.  If the type being serialized is BasicType.BOOLEAN, the code has no way to determine if the value has been set or is the default, which is causing mleap to skip serialization of the field.
Please note that this is entirely NOT backwards compatible (as in Mleap models previously serialized as protobuf will no longer deserialize properly with regards to BasicType).  It is, however, the correct solution in this scenario (in my opinion).

@clocklear I just merged the bundle-protobuf changes in, you will have to commit the git submodule update for this PR to pass travis CI.


MWC-node v5. Tor spinner

Without TUI start with tor reports error. Looks like it is minor UI issue, but we need to test and validate.

Spinner doesn't handle broken terminal cases. Not keeping because scripts friendly is more important


[Feature] Config to expose unused typedefs

dart-lang/ffigen#224 generates only the required typedefs, which results in hacks like this:
https://github.com/Sunbreak/dynamic_load.trial/blob/56953bb6e0b5d4badffb13bf3446cd794c914d26/example/ntdll/winternl.dart#L20
// FIXME: https://github.com/dart-lang/native/issues/320
abstract class SYSTEM_INFORMATION_CLASS {
}

class SYSTEM_PROCESS_INFORMATION extends ffi.Struct {
}

SYSTEM_INFORMATION_CLASS and SYSTEM_PROCESS_INFORMATION is a usecase for https://github.com/dart-lang/native/issues/359

This feature is also useful when we want to split wrapper type definitions and functions or split the generated bindings to different files when the project becomes complicate and large.
e.g.,
// types.h
typedef void *SomeClassA;
typedef void *SomeClassB;
typedef void (*Callback)(void *);
...and many other similar typedefs.

then if we just generate this file, all typedefs will not be generated because they are not used.
I know that you may want to say: just include it in the headers that use it!
e.g.,
// moduleA.h
#include "types.h"

// return value is a status code
int create_A(Callback callback);
int A_getB(SomeClassA self, Callback callback);

// moduleA.cpp
#include "moduleA.h"

int create_A(Callback callback){
  callback(new SomeClassA());
  return 0;
}

int A_getB(SomeClassA self, Callback callback){
  SomeClassB *b = self->getB();  // here, since SomeClassB doesn't appear in moduleA.h, it will not be generated.
  callback(b);
  return 0;
}

Yes it works, but still, only those used in func.h (SomeClassA) will be included, it will be annoying to use A_getB since SomeClassB is not generated.
The above is just a simple usage, if we want to split the bindings to different modules, it will be better to also generate unused typedefs such as SomeClassB, so we can just import the generated moduleA.generated.dart to use SomeClassB instead of import another types.generated.dart to access SomeClassB.


Compatibility with 5.5.0

On Telegram 5.5.0 and later, users can choose their messages to be forwarded without linking to them, instead, showing this JSON:
"forward_from_chat": {
      "id": -1001228946795,
      "title": "a user",
      "username": "HiddenSender",
      "type": "channel"
    },
    "forward_signature": "(user name)"
    ...

Later we will add a new option to get pmcenter compatible with Telegram 5.5.0 and later.
RecordMessageLinks: Boolean. Record message ID links, is required when operating on messages that are anonymously forwarded to you.
"MessageLinks": {
    "OwnerChatID": (message ID in owner session),
    "UserID": {corresponding user's ID)
}

After checking, the anti-flood system is not affected by this change.

Fixed in commit 65da89d


rehypeUnwrapImages not working

Due to the searchAndReplace function in lib/markdown/index.js, the markdown will contain HTML code, which is treated as raw text in rehypeUnwrapImages when checking containsImage.
Maybe using rehype-raw, as mentioned in the rehype-remark documentation, to parse raw HTML into an AST first.

I missed that, thank you! 😄
I'm going to use CSS instead:
p:has(img) {
  display: contents;
}


Windows Server 2008?

A user reported an issue on Windows Server 2008:

I try to get invitation by command 'zrok invite' and get error: " unable to run interface (prepare console: set console mode: The parameter is incorrect.)" Env: WinServer2008.

Can we see if it's possible to reproduce? It might just be too old of an operating system.

https://www.browserstack.com/ ?


Spanish Translation

Hello! I would like to translate the project into Spanish! is it already translated?

Duplicate #17044?

@facaiy no, i dont know it

I really want to contribute here with the translation, I have experience in the field of translations

Yes, the idea sounds great, at least for me. However, we don't hear any plan for multiple language support. Please be patient and wait for reply from official tensorflower.

Ok great! I'll wait for the answer!: :)

We're seeing more and more people eager to contribute to translations (for example #16871).
But we don't have infrastructure to support this. We're looking into it.

I also wish this project's translated document in Korean.
I hope multiple language be supported one day :)
Thanks for the issue by the way. I was also curious about this issue.


Dynamically increase decimal precision to 2 non-zeros

Something like this, but lighter for 3rd & 4th decimal places


Remove CustomText.selectable constructor

The CustomText.selectable constructor may no longer be necessary after the new SelectionArea widget lands in the stable channel, or it needs to be removed if SelectableText becomes deprecated in the future. (https://github.com/flutter/flutter/issues/104547)
Before the removal, we need to investigate how the functionality of SelectableText can all be implemented. SelectionArea doesn't seem to have parameters like onSelectionChanged currently.

SelectionArea doesn't seem to have parameters like onSelectionChanged currently.

TextField with readOnly: true and CustomTextEditingController looks similarly from the users' point of view. It will provide the functionality equivalent to CustomText.selectable in use cases requiring it. Otherwise, SelectionArea should be sufficient.


Explicitly set minProtocolVersion

As per https://github.com/knative/serving/issues/13451, Istio does not set
minProtocolVersion to TLS v1.2.
This patch sets it explicitly as TLS v1.1 is EOL now.

/hold
Need to add unit test.
Depends on the reply of https://github.com/knative/serving/issues/13451#issuecomment-1329903540
If the issue happens only on the old Istio versions, we should rely on the Istio's default behavior.

Closing.
As per https://istio.io/latest/docs/reference/config/networking/gateway/, the default is TLS v1.2.

Hi @nak3 , the Istio verion in our company is 1.13.3 and 1.15  . I am not able to upgrade it easily.
The defaut TLS verison is not set in this Istio version, therefore I can not rely on the default being TLS_v1.2. https://istio.io/v1.15/docs/reference/config/networking/gateway https://istio.io/v1.13/docs/reference/config/networking/gateway

/cc @AngeloDanducci @psschwei @evankanderson


updated to use go-plugins-helpers

Hey, I was getting compilation errors because of a missing dependency of the github.com/calavera/dkvolume, this PR solves them by using github.com/docker/go-plugins-helpers/volume instead. The Get and List required by the volume.Driver interface are added as nop's.

awesome, thanks!


[gh-1] [Infrastructure] As a user, I can see an initialized project with AWS cloud service integrated

Close #1

What happened 👀
Add AWS Provider with Nimble's convention file structure
Insight 📝

Proof Of Work 📹
Terraform has been successfully planned

Few comments. Also does the parent branch need to be the infrastructure-document instead of develop? No big deal though.

is it possible not to rebase/amend subsequent commits so I can see what was changed in each one?

Are subsequent commits being rebased/amended? I can't see the original commits anymore

I rebased with the changes/updates on the base branch @liamstevens111


Re-add support for MEGA cloud drive

Resolved / Related Issues
Items resolved / related issues by this PR.

Closes #5946

Details of Changes
Add details of changes here.

Add support for MEGA
Fix crash in Box folder
Update Google Drive to new client app

Validation
How did you test these changes?

[x] Built and ran the app

Screenshots

@gave92 thank you!


Hydra Launcher dont open

the problem is: "nao foi possivel localizar o ponto de entrada do procedimento DiscardVirtualMemory na biblioteca de veiculo dinamico C:\Users\User\AppData\Local\hydra\app-1.1.0\Hydra.exe.

Wierd. Could give more details? I mean, where did you install Hydra Launcher? its a PC, notebook? Steam Deck?
It looks like driver problem or dependency lib/dll problem in your equipment. In this case, the problem is that you dont have the requirements to install Hydra Launcher.
Video to fix it (in Portuguese) but you can find it in English too.
https://www.youtube.com/watch?v=mU8qpYTkfaM

Closing as the problem was on a outdated version and the issue has no updates in 2 weeks


How to provide customer provided key for server side encrypted blob in azure cli?

Hello,
How can I upload/download blobs with server side encryption with customer provided key? I have not found any article that explains how to pass customer provided key and its sha256 which would be used to encrypt the blobs. If it is possible option in azure cli, would you please give an example how to pass the information in connection string?
I am using azure-cli 2.0.37.

Hi @lsong0905, for azure storage blob, there are two kinds of encryption, one is Microsoft.Storage managed key, another one is customer managed key.
At first, please find which kind of encryption is used for your storage account using az storage account show --account-name xxx  and you can find encryption information as follows:
"encryption": {
    "keySource": "Microsoft.Storage",
    "keyVaultProperties": null,
    "services": {
      "blob": {
        "enabled": true,
        "lastEnabledTime": "2020-01-21T10:48:36.539558+00:00"
      },
      "file": {
        "enabled": true,
        "lastEnabledTime": "2020-01-21T10:48:36.539558+00:00"
      },
      "queue": null,
      "table": null
    }
  },

"Microsoft.Storage" means microsoft managed key. To use customer managed key, you need to store your key in Azure Key vault first and configure your storage account encryption method using az storage account update with arguments in Customer managed key Arguments.
You can find more information according to https://docs.microsoft.com/en-us/azure/storage/common/storage-encryption-key-model-get?toc=%2Fazure%2Fstorage%2Fblobs%2Ftoc.json&tabs=portal。
If you want to use cli for the operation, can you upgrade your cli version to the latest one if no other concern? azure cli 2.0.37 is very old and misses many new features.

@Juliehzl Thank you for the reply and the link! What about SSE with customer provided key, not customer managed key as explain in the link here (https://docs.microsoft.com/en-us/azure/storage/common/storage-service-encryption?toc=%2Fazure%2Fstorage%2Fblobs%2Ftoc.json)?

@Juliehzl Any update on this?

@lsong0905 Customer provided key is used in Rest API request or Storage SDK which is used to secure the data per request. https://docs.microsoft.com/en-us/azure/storage/common/storage-service-encryption?toc=%2Fazure%2Fstorage%2Fblobs%2Ftoc.json#about-encryption-key-management
So that it is not supported in Azure CLI.

@qianwens Ok. Is there any plan that this feature will be supported in Azure CLI in future?

@lsong0905 , there is no plan to support the customer provided key in CLI now since it is designed for SDK for Rest API to use. Could you please let us know why you need this support? Does customer managed key not meet your requirements?

@qianwens It is not 'must have' feature to our organization; I would say it is rather a 'good to have' feature in CLI so that when we need to diagnose issues, it would be easier to do via CLI. Thank you for the help.


404 error of https://krew.sh/df-pv

It works fine for me.  Please reopen if necessary, but please provide more information if you do reopen.


add tentative nsi mat_pot test case

Fixes #599

First, note that development is easier if you start a task by git checkout i3os/master, then create a branch from that: git checkout -b feature_name. After we merge then delete that feature branch.
Second, produce reference files also in fp32 (you'll notice this is why unit tests are failing)

Hope creating this PR made my questions on issue #599 clearer

Yes, that does make sense! Thanks for adding these additional unit tests. Squash-merging now (so note your master branch will be even more out of sync with icecubeopensource/master than before, and next PR will look even crazier with number of commits...)


Handle constant input for scipy.stats.f_oneway

Reference issue

Ref. #11669
This PR does not closes #11669 fully, because there remains question of input which is "almost constant" e.g. up to some small epsilon
What does this implement/fix?

This PR deals with degenerated cases of input provided to scipy.stats.f_oneway. When lists on input are all of constant values, calculating F and p-value makes a little sense, and some unexpected values are being returned now (before PR).
Additional information

Would be grateful for review, @rlucas7. Hope the PR is going in the right direction

On Mar 27, 2020, at 8:03 AM, Vladyslav Rachek<EMAIL_ADDRESS>wrote:

@erheron commented on this pull request.
In scipy/stats/tests/test_stats.py:

@@ -4450,6 +4450,15 @@ def test_nist(self):
assert_allclose(res[0], f, rtol=rtol,
err_msg='Failing testcase: %s' % test_case)

def test_constant_values(self):
I thought we didn't come to common decision on warning in the discussion of #11669 , that's why I didn't add it here. In particular, I didn't investigate "numerical issue", which is for nearly constant input as I guess.

So I understood Warren’s comment to be related to the specifics of criteria for when/if to handle the nearly constant data case.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

So I understood Warren’s comment to be related to the specifics of criteria for when/if to handle the nearly constant data case.
The issue shouldn't be closed, then. I don't know, whether it's the good idea or not, but it seems to me that maybe (after small investigation with that nearly-constant input) creating a new issue and closing this one ( #11669 ) might be ok?

So I understood Warren’s comment to be related to the specifics of criteria for when/if to handle the nearly constant data case.
…

The issue shouldn't be closed, then. I don't know, whether it's the good idea or not, but it seems to me that maybe (after small investigation with that nearly-constant input) creating a new issue and closing this one ( #11669 ) might be ok?

I think this PR is a nice change and with the few minor changes I've requested this round should be good for merge from my perspective. As far as whether the PR is closing the issue, we can figure that out after this PR is merged.

One thing I noticed in the travis CI build after I posted the review comment:
https://travis-ci.org/github/scipy/scipy/jobs/668636337#L1249
the build is failing because there needs to be an entry in the string at the beginning of the file to indicate the new warning class that is created in this PR.
If you add a line with your new warning here:
https://github.com/scipy/scipy/blob/master/scipy/stats/__init__.py#L370-L378
it should stop the issue that is failing the builds.

@erheron LGTM, squashed and merged. Thanks for the nice work.
Keep the PRs coming.


Remove srun output

This is an attempt to address https://github.com/ecmwf-ifs/fiat/issues/6.  I don't know whether it would be acceptable.  I don't think I can do anything about this output so I have added some cmake code to strip it out.  What do you think?  The ctests pass now.

 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.


Connecting signal does not generate their method in C# script

Tested versions
v4.2.2.stable.mono.official [15073afe3]
System information
Windows 11 Pro
Issue description
External editor: Jetbrains Rider.
.Net installed:
> dotnet --list-runtimes
Microsoft.AspNetCore.App 8.0.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.32 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 8.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 6.0.32 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 8.0.6 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

> dotnet --list-sdks
8.0.301 [C:\Program Files\dotnet\sdk]

Connecting node signal to a non-yet-existing method does not create the method in C# scene script.
Might be related: https://github.com/godotengine/godot/issues/18721
Steps to reproduce

Create a scene of any node type;
Add C# script;
Add any child node that can produce a signal (for example Area2D);
Save .tscn and .cs files;
Select any signal and try to connect it.

Expected: method is created in C# class, signal is connected in .tscn file to that method.
Actual: method is not generated, however signal is now connected to non-existing method in .tscn file.
Minimal reproduction project (MRP)
Connecting signal issue.zip

https://github.com/user-attachments/assets/95061117-4a01-4a32-8583-f954f1c9da16

Ah, found this one: https://github.com/godotengine/godot/pull/87952
However, need to note that warning was not displayed, neither in my project, nor in MRP project.

That warning was added in 4.3, but you are using 4.2.2 and the PR hasn't been cherry-picked yet.

Thank you for reporting, closing and consolidating in:

https://github.com/godotengine/godot/issues/18721

Should be cherry picked to a future 4.2.x version, or you can use 4.3


pose question

Hi, one, I want to predict pose of kitti_odom_datasets,can I directly use the kitti_data to train not the kitti_odom_datasets?
two, what  is the estimates of the pose  the effect?
Thanks.

(1) yes
(2) I don't understand the question.

you can reopen it if you have further issues.


Suggestion - Allow to hide the map whenever you are not ready to make a guess

The map is always present which leads to terrible UX. In Ipads the game is virtually unplayable because the Map is always in first plane covering pretty much the whole screen

Pease add a button to toggle the map for guessing being visible or not.

It's an ipad thing, I will fix it soon.

The IPAD is definetely critical, but even on a laptop, the minified map is simply too big and intrusive.

As an example, The "giant on hover" makes it a bit frustrating to navigate to the right in the screenshot above

This is now added, with the buttons on the top left of the minimap when hovered


Add slider for edge distance

It would be great to be able to adjust the overall scaling of edge lengths in the nodelink diagram.  This could be accomplished by adding a slider for scaling edge length and possibly also a slider for node repulsion forces.  Overall, I want to be able to scale the nodes and the edge distances.  Similar to the Vega force directed layout example:
https://vega.github.io/vega/examples/force-directed-layout/

There is a function getForceRadii that we can modify to take a param from the UI