Draft - update networking between nodeagent daemonset and gameserver pods

thought a lot about #108 and this is what i have so far:

adding a network policy for the nodeagent pods allows you to control the ingress/egress traffic. there isn't a lot to it, it only lets you choose on label names for pods/namespaces/cidr blocks. the following network policy only allows traffic from any pod with the OwningOperator: thundernetes in any namespace, and from pods in the monitoring namespace. this would still allow traffic from pods in other nodes, but that is addressed below

adding a headless service in front of the nodeagent pods allows the gameservers to reach the heartbeat endpoint via a FQDN rather than the node ip address. the service also has internalTrafficPolicy: Local, meaning gameservers will always be routed to nodeagent pods on the same node. i think this is a more decoupled strategy rather than using the node ip.

using DNS to get a public IP address of the current node could (in theory) solve the problem of getting the node public IP in the gameserver pods, although i have not figured out how to do that. doing an nslookup of the node name resolves to the internal IP.

let me know what you think. I see that the setup for the game server pod creation is opinionated by using the init container to create a json file for the gsdk, so I wasn't sure at what point during the initialization was best to inject the service endpoint variable in the environment.

thanks @vachillo, this seems to be trickier than what I originally thought. In this case, we'd need to have a single service per Node, correct? That seems a bit hard to maintain unfortunately.
Yeah, the GSDK that is running on the GameServer Pod expects to find a JSON file with the necessary configuration. If this fails it will not start.
Regarding the Public IP, I was trying to find out ways on how to do that since Kubernetes does not expose the External IP in the downstream API. I've collected a simple hack here: https://playfab.github.io/thundernetes/howtos/publicipaddress.html
Not sure what is the best approach for this, let's leave this open for further investigation and discussion. Thank you!

thanks @vachillo, this seems to be trickier than what I originally thought. In this case, we'd need to have a single service per Node, correct? That seems a bit hard to maintain unfortunately.

we actually wouldn't actually need a different service per node, that's what the internalTrafficPolicy: Local does. whatever node the pod is calling from, the service would route it to a pod in its backend pool only on that node. read more about it here, i think its a relatively new feature.

Yeah, the GSDK that is running on the GameServer Pod expects to find a JSON file with the necessary configuration. If this fails it will not start.

is there a mechanism to provide your own init container to initialize that json file? I haven't tried it, but my assumption is that the default one would overwrite any changes if another one was provided in the podTemplateSpec.

Regarding the Public IP, I was trying to find out ways on how to do that since Kubernetes does not expose the External IP in the downstream API. I've collected a simple hack here: https://playfab.github.io/thundernetes/howtos/publicipaddress.html
Not sure what is the best approach for this, let's leave this open for further investigation and discussion. Thank you!
however that public IP gets retrieved, maybe it can be exposed as an endpoint on that nodeagent daemonset pod? we know that the pods asking for those IPs will always be on the same node. maybe that complicates it more than necessary, but just a thought.

we actually wouldn't need a different service per node, that's what the internalTrafficPolicy: Local does. whatever node the pod is calling from, the service would route it to a pod in its backend pool only on that node. read more about it here, i think its a relatively new feature.

Gotcha, wasn't aware of the internalTrafficPolicy, will take a look.

Yeah, the GSDK that is running on the GameServer Pod expects to find a JSON file with the necessary configuration. If this fails it will not start.

is there a mechanism to provide your own init container to initialize that json file? I haven't tried it, but my assumption is that the default one would overwrite any changes if another one was provided in the podTemplateSpec.

We actually append the Thundernetes initContainer to the existing ones provided by the user -> https://github.com/PlayFab/thundernetes/blob/c0107046dc63facff96c0f9e9e0ce64160ade0d9/pkg/operator/controllers/controller_utils.go#L230

however that public IP gets retrieved, maybe it can be exposed as an endpoint on that nodeagent daemonset pod? we know that the pods asking for those IPs will always be on the same node. an endpoint to periodically get metadata about the node could be useful. maybe that complicates it more than necessary, but just a thought.

That's a great suggestion, we could expose an extra endpoint on the NodeAgent with Node details, e.g. anything not available on the downstream API. This would solve #136
Given that this addition would need more testing, unfortunately I don't think we have time to include for 0.6. Sorry :( Additionally, YAML changes (Service etc.) would need to be included in this folder https://github.com/PlayFab/thundernetes/tree/c0107046dc63facff96c0f9e9e0ce64160ade0d9/pkg/operator/config since everything on installfiles gets overridden during testing/new release creation.
Appreciate the discussion!


Arrow-Keys navigation

Add possibility to navigate via the arrow keys.

@marcreichel I have this feature working. check out my fork


Autoupdate requires authentication fails

[gryan@localhost main]$ rhoas status
Error when updating cli: "GET https://api.github.com/repos/redhat-developer/app-services-cli/releases: 401 Bad credentials []"

Cannot replicate that


Cookie session driver causes issues with SameSite strict or lax

Laravel Version: 6.15.0
PHP Version: 7.4.0
Session Driver: cookie
Chrome 80

Description:
Using the cookie-setting SameSite=strict causes links from other domains to not send cookies on the first request. This causes Laravel to create a new session with a new identifier, but the old session data cookie is left, and passed on every request.
Follow a few links like that (or reload the page after following a link) and the number of cookies increases, until the server will start rejecting the requests due to the header size (exactly when depends on the server settings, but around 10 times is enough for me).

400 Bad Request (Request Header Or Cookie Too Large)

Steps To Reproduce:

Create a brand new Laravel application
Set SESSION_DRIVER=cookie in .env
Set 'same_site' => 'strict' in config/session.php
Create a link to your page from another domain, and follow that a few times
See the number of cookies increase for every request
There is no need to store any manual data in the session, the default is sufficient to cause a problem

Lax
A very similar issue exists for the 'lax'-setting, which I suppose is more common (and default in Chrome 80). Normal links are fine, but POST-requests to your page does not include cookies and will cause the same issue.
Additional information
I do understand that the same problem has always existed if the laravel_session cookie, which points to the actual session data cookie, is deleted and the page is reloaded. The difference here is that this issue affects users unwittingly and that browser defaults have changed.
Ideas
I have a very brief understanding of how the session cookies function in Laravel and how they are set, and I do understand that it is impossible to clean up data after the pointer is lost. However, one solution could be to name the data-cookie in a specific way, for instance laravel_session_data_SESSIONID, instead of just SESSIONID, such that dangling data can be deleted, or to always use the same cookie name for the data, since the data store is not shared between users.
I guess the reason that laravel_session is just a pointer is to be more generic and behave the same way for all session drivers, but in the case of cookies, couldn't the data be stored directly on that cookie (saving data on every request)?

I'm not sure where all those cookies come from. Unfortunately I don't have time to deep dive into this so appreciating it if anyone can help out here.

Thanks for responding.
A cookie with the session data is always created when the cookie driver is used. The SameSite setting strict or lax may cause the cookie to not be sent, even though it exists and is kept in the browser for future requests. Laravel has no way of knowing this and responds with a new data-cookie (with a new random name).

If no cookies aren't sent then Laravel will not have any way to determine anything about old sessions. There is likely no solution to this and the answer is simply to use a different session driver such as database.

I agree @taylorotwell about 'lax'. It's quite disturbing though that a post-request to any site from anywhere causes the user from that site to be logged out (regardless of session driver), since Laravel can't see the session and generates a new.
I'll see if I can try out my ideas about the original problem some day. Here's three ideas to try if anyone else wants to look at it:

Always use same (specified) name for cookie-data, which will overwrite instead of keep the old dangling.
Use a prefix for data cookies and clear old unused (the above is probably a better idea).
Put the session data directly in the laravel_session cookie. This would be nice, but will probably be harder to implement and add some special cases to the session handling.

@taylorotwell  I was able to reproduce both issues at nova.laravel.com, which uses the cookie driver.
Steps:

Force someone to make a post-redirect to nova.laravel.com, i.e. by embedding a simple script at any site the user might visit.
The CSRF-protection will respond with 419, but the user is then logged out, and the old cookie is kept (for reasons stated above). Do this a few times, and nova.laravel.com doesn't work until cookies are cleared.

Since nova.laravel.com doesn't specify any SameSite-value, it relies on the default. This will be lax in future Chrome, and this new setting can be forced today by visiting chrome://flags and searching for 'lax'.
Chrome allows lax-cookies to be sent i a post-request for 2 minutes after creation, but after waiting these two minutes, the "attack" is successful.

It's not a big problem, I agree, just wanted to clarify that it has nothing to do with bad setup of Laravel (except for choice of session-driver).

I'm not sure what you want me to do. This is simply how cookies work with these settings 😄 ... if you don't like that behavior use a dfferent session driver.

Just to clarify, using "Strict" causes issues regardless of session driver, since all drivers keep id in a cookie.
For "lax", i'll think some more about my proposed solutions above, but I'm sure someone else will figure something better out :)

@taylorotwell Regarding your previous comment: "It would not be very typical for other sites to be making full POSTs to your domain anyways."
Today I realized that this is very common using OAuth (access_token is sent back in a POST request). The solution is thankfully simple – to use an endpoint which does not use the StartSession middleware.

I know it's too late to comment but if the issue it's not yet solved the problem it's in the .env file, the line
"SESSION_DRIVER=cookie" change to "SESSION_DRIVER=file"
That's because if the session driver is set to file, stores the data  in the "app/storage/sessions" folder. Otherwise, if the session driver is set to cookie, the data will be encrypted in the user cookies.
I hope this will help you and to others who had the same problem.

Maybe Laravel should never create a new session during POST (from a different domain)?

That wouldn't work. If you're using SameSite=None, then you'd probably want new sessions created on POST.

I'll see if I can try out my ideas about the original problem some day. Here's three ideas to try if anyone else wants to look at it:

Always use same cookie name for session-data, which will overwrite instead of keep the old dangling.
Use a prefix for data cookies and clear old unused (the above is probably a better idea).
Put the session data directly in the laravel_session cookie. This would be nice, but will probably be harder to implement and add some special cases to the session handling.

The prefix idea seems to be the best approach, given how the session systems work. That'd allow easy identification of old session cookies to be removed.
Doesn't solve the SameSite=strict issue though, but if you're using that setting, you've already got some interesting requirements to work within.

That wouldn't work. If you're using SameSite=None, then you'd probably want new sessions created on POST.

That's a weird moment to start a session IMO, but you're right, it's possible. For now. Samesite=None will disappear soon, so anybody still counting on that will have to do some dev.
That's how I updated my middleware: no new session during POST from different-or-empty-referer. And everything works beautifully. Works for Strict too. Maybe that's per app, not global Laravel. I think it's reasonable: no new session during POST from unknown origin.
What a search it was. So many articles and questions, about Samesite and Larvel sessions, and this one was the most relevant. 👍


Code structure for the current file

Request feature:
Add a new button to the side-bar or invoke via shortcuts,
After invoking, show a brief of all the members in the current working file like below:
Class name A:
Method A1:
Method A2:
Class name B:
Method B1:
Method B2:
Associate with their signatures, to enable us jump through different blocks in a quicker manner.
Thanks :)

duplicate with #5605

Thanks @leaxoy


Create HL7 Schema for Oregon ELR

Oregon wants to onboard with us!
We will need to create a HL7 file schema in the application for Oregon. Here is the link to the spec: OPHD ELR HL7 Implementation Guide
Acceptance criteria:

There is a directory created for the OR schema in the schema folder.
The schema file is created. Typical naming convention is state abbreviation-topic.schema so or-covid-19.schema
Fill in the schema file so the records OR wants are output in the order they've requested. To see an existing HL7 schema, look at the AZ HL7 files: https://github.com/CDCgov/prime-reportstream/blob/master/prime-router/metadata/schemas/AZ/
Update quick-test.sh to generate a fake OR HL7 file via the CLI

Notes:

quick-test.sh is a bash shell script that generates fake data and then outputs it into different schemas. You should take a look at the file itself to see how to run prime on the command line. The typical way to invoke quick-test.sh is to pass it the two-letter abbreviation for the state, or ALL to run all the tests. There are examples in quick test of us doing a complete roundtrip, meaning generating a file, outputting it to the AZ and Pima formats, then ingesting it back, and then outputting the files again and comparing to make sure there are no gaps. I recommend you do the same for the OR file
at the top of each schema file is some header information, including the topic (right now just "covid-19" though that can change, and the trackingElement, which specifies which field is the unique key for this schema. The most important thing to note is that schemas can inherit from each other via two mechanisms: basedOn and extends. basedOn works like a Ruby mix-in in that you are pulling that base schema, but you have to manually specify which fields you want to include in the final output. extends on the other hand, means that ALL the fields of the base schema are automatically included. The difference is subtle, yet important
we have mappers, which are functions that get invoked during a two-pass generation of the data on the second pass. They are pure functions which take a series of arguments and return a String? value. An example would be concat(organization_name, testing_lab_name) which tells the serializer to take the values in organization_name and testing_lab_name and concatenate them into a single value. To refer back to the point about basedOn/extends, if you used basedOn and you have a mapper that refers back to a field you didn't explicitly include, the mapper will fail and so will your serialization to CSV or Hl7.
by default we have and use standard LOINC codes for certain values like race, ethnicity, gender, etc but if you look at the Pima and AZ schemas, you'll see altValues. That's a way of specifying that a code has a different display value. You normally only see these in CSV, and the OR spec is full of them.
Schema elements can have a default value that you can hardcode into the schema.

If you have any questions, reach out and let me know.
Thanks
https://app.zenhub.com/files/304423150/c3bf3f96-d6a3-4952-abb7-dbeb391d13f5/download

What's the status of this?

This has been done. Since I didn't open this I didn't know if I should close it.

I'll close it!


Upgrade to Keras 2

inner = merge([inner, repeated], mode='concat')
TypeError: 'module' object is not callable
I got this error. please help to slove

inner = merge([inner, repeated], mode='concat')
TypeError: 'module' object is not callable
I got this error. please help to slove

You can try to replace it with:
from keras.layers import concatenate
inner = concatenate([inner, repeated])

thanks for the help.
ValueError: Layer bidirectional_1 was called with an input that isn't a symbolic tensor. Received type: <class 'keras.layers.merge.Concatenate'>. Full input: [<keras.layers.merge.Concatenate object at 0x7f99ad1cf940>]. All inputs to the layer should be tensors.
now I got this error

Please refer to https://github.com/keras-team/keras/wiki/Keras-2.0-release-notes for notes how to upgrade to Keras 2. Any PR will be welcome.


Project key must be 3 - 6 lowercase alphanumeric characters

Describe the bug
terraform validate says that project keys must be 3-6 characters only. This seems to be fine for Artifactory 7.21.12 (on-premise) but on Artifactory Cloud (7.34.4) one can use 3-10 characters.
Requirements for and issue

[ ] A fully functioning terraform snippet that can be copy&pasted (no outside files or ENV vars unless that's part of the issue)
[ ] Your version of artifactory (you can curl it at $host/artifactory/api/system/version: "version" : "7.34.4",  "revision" : "73404900"
[ ] Your version of terraform: 1.1.0

Expected behavior
While creating projects against Artifactory Cloud 7.34.4 we get the info that only 3-6 characters are allowed whereas on 7.34.4 3-10 are allowed.
Additional context
Add any other context about the problem here.

@martinm82 Thanks for the report. We'll need to apply version specific validations.

Referred release notes at https://www.jfrog.com/confluence/display/JFROG/Artifactory+Release+Notes#ArtifactoryReleaseNotes-Artifactory7.27.37273. From Artifactory version 7.27.3 as part of Project-related Enhancements
Increased the number of characters supported for a Project key up to 10 chars.

@martinm82 we completed the research and can see that Artifactory's Terraform provider is supporting the Project Key validation as per the latest Artifactory release. Can you please check on which release of Provider you are on?
terraform version|grep registry.terraform.io/jfrog/artifactory|awk '{ print $4 }'
For latest version please check https://registry.terraform.io/providers/jfrog/artifactory


Exit() cheat

I was trying to solve the Playing on a chessboard kata when I stumbled upon a way to cheat the tests.
The tests could simply be passed by the code:
string game(int n)
{
    if(n == 0)
        return "[0]";
    else
        exit(1);
}

Obviously this should not be the case.
The creator of the kata says all the tests are correct so there must be something else that is wrong.
I have not tried if it works with other katas.

The "early exit" cheat is well known to the maintainers of CW and unfortunately there is no fool-proof way to prevent it from "passing" in every language.  However, there are background processes in place for detecting these cheats, and once detected, these cheat solutions are automatically "flagged" by the system and the maintainers of CW notified.  Upon review and confirmation (that it is a runner cheat), the user involved will lose honor and rank progress and repeat offenders will be permanently "banned" (i.e. their rank reset to 8 kyu / 0% and their honor reset to 0 indefinitely which is final and irreversible).  Therefore, I would strongly advise against you trying out the same cheat against other Kata.
@kazk I think this Issue Report can be closed, cheers :smiley:

Ah, ok. I understand. I just wanted to inform you of the cheat.
Thanks for informing me. I'll redo the Kata properly. :)


chore: adding sonatype central faq link

Description
The beginning of the readme did not contain a link to the Sonatype Central FAQ entry, as it does to all other entries. This PR adds said link.

Thanks in advance for R&M of this leftover from https://github.com/sbt/sbt-ci-release/pull/307. Would it be possible to cut a new release after merging this?

@eed3si9n , just want to ask again if it would be possible to cut a new release? Otherwise the docs are describing functionality that isn't actually there.

Yea. sg. I've been distracted with sbt 2.x things lately.

Many thanks! Congrats on the new sbt 2.x release, btw. Super exciting!

https://github.com/sbt/sbt-ci-release/releases/tag/v1.7.0 is out!


Finish a transaction never returns on iOS after being in background

Platform
Flutter Mobile
Obfuscation
Disabled
Debug Info
Disabled
Doctor
[√] Flutter (Channel stable, 3.19.4, on Microsoft Windows [Version 10.0.19045.4291], locale de-DE)
• Flutter version 3.19.4 on channel stable at C:\Users\Niklas\fvm\versions\3.19.4
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 68bfaea224 (5 weeks ago), 2024-03-20 15:36:31 -0700
• Engine revision a5c24f538d
• Dart version 3.3.2
• DevTools version 2.31.1
Version
7.18.0
Steps to Reproduce
How to create a reproducible example:

Create new flutter project
Add sentry packages
Initialize Sentry for instance like here: https://docs.sentry.io/platforms/flutter/#configure
Add a await Sentry.startTransaction("test", "test").finish() somewhere, for instance in the basic flutter example before counter is incremented
Go through the steps below to see the problem

Steps to Reproduce:

Run an app with Sentry in release mode on an iOS device
Optionally, enable "Fast App Termination" in the developer settings to not have to wait for so long
Put the app in the background and wait for some time (~30min with "Fast App Termination")
Open the app and somehow start and finish a transaction

If you downgrade to version 7.10.1 (there might be others, but this is the version I was using before) it works as expected.
Expected Result
The transaction.finish(...) returns after a short amount of time and the transaction is logged in Sentry.
Actual Result
The transaction.finish(...) never returns and the transaction is not logged in Sentry.
Are you willing to submit a PR?
No

Hi thanks for raising this issue, before going deeper into this: do you know if this is also reproducible with a shorter background time?

Hi thanks for raising this issue, before going deeper into this: do you know if this is also reproducible with a shorter background time?

I am not sure and do not have exact numbers, but I think sometimes it happened also for shorter background times. However, the ~30min seemed to give me the problem reliably (nearly) every time.

Got it, thanks for the issue, we'll try to reproduce. If you have any more info lmk

I believe I found the culprit, the NativeAppStartIntegration or NativeAppStartEventProcessor hangs and the future here never completes because options.autoAppStart is set to false.
I believe the NativeAppStartIntegration is incorrectly added to active integrations in some cases.

we didn't account for setAppStartEnd so we need to modify that, this should be it thx for investigating

I am still experiencing 30 sec timeouts here.
There should probably be a way to disable appStart tracking completely or the processor needs to just return null if the end time it is not set yet. The 30 secs default timeout are problematic.

hey, I'll take another look, sorry about that, I'll try to get to it today or tomorrow since next week will be a bit slower because of droid/fluttercon

No worries, see you in Berlin 👋

Not completely sure but I think the addPostFrameCallback is not triggering in my case because it is started from a background isolate (workmanager). I don't really need the appstart information but it is not possible to disable the integration.

I think you can do something like
options.integrations.removeWhere((integration) =>
      integration is IntegrationYouWantToRemove);

Which should be the NativeAppStartIntegration, I'm currently on my phone so I can't verify the correctness of the code but afaik it should be possible to remove

hey this code will help you remove/disable it:
final integration = options.integrations.firstWhere(
    (element) => element.toString().contains('NativeAppStartIntegration'));
options.removeIntegration(integration);

Yea, I restored my workaround from https://github.com/getsentry/sentry-dart/issues/2007#issuecomment-2093419042 which I removed when 8.2.0 was released. Obviously I didn't test it  🤣

To me it looks like setAppStartEnd just adds more complexity all in all. imo it should be deprecated.
the flutter sdk is also the only SDK that has this API.

https://github.com/getsentry/sentry-dart/pull/2140 I've added a fix that will not wait for getAppStartInfo if autoAppstarts is false and setAppStartEnd has not been called

ah yeah looks like it

I am also experiencing this issue on Android on some of my testings. Is a fix for it available?
The workaround is safe to use or may cause some undesirable issues?

@shinayser
the temporary workaround with disabling the app start integration is safe to use. this is only used to instrument the app start times

@buenaflor This is exactly what I was trying to do when I figured out the bug 😢

@shinayser did you successfully remove the integration?

@buenaflor So, my problem is that I am actually starting sentry in the native side and using the parameter options.autoInitializeNativeSdk=true on the flutter side.
Because of that, when removing the integration and caling the transation.fnish() throws an error on sentry saying that "Sentry sdk isn't started".
In resume, this workaround works but if you are using the native sdk startup you wil be in trouble and sentry will not be able to finish transactions.

@shinayser and you're using the SentryNavigatorObserver correct?

@shinayser and you're using the SentryNavigatorObserver correct?

Yes


Using the selector of a PageObject ?

Hey,
I want to use waitFor() with a page object, but that needs a selector (instead of the element). Some code:
import { PageObject, selector } from 'fractal-page-object';

class TestClass extends PageObject {
  button = selector('button');
  modal = globalSelector('dialog');
}
const testClassObject = new TestClass();

module('MyModule', function (hooks) {
  setupApplicationTest(hooks);

  test('should open the modal', async function (assert) {
    await click(testClassObject.button.element);
    await waitFor(testClassObject.modal.selector);  // <--- HERE

    // continue...
  });
});

Of course .selector doesn't exist as of now, but would be a naive idea to ask for it. Are there maybe already ways I'm not aware of to do that?

Aaah, thank you. Yeah, I have high hopes for that RFC, would make my testing-game/PO usage so much more chilled =)
What I was doing in the end, is to have a SELECTOR static prop on the modal and reused that one.
class TestModal extends PageObject {
  static SELECTOR = '[data-test-...]';
}

class TestClass extends PageObject {
  button = selector('button');
  modal = globalSelector(TestModal.SELECTOR, TestModal);
}

so, TestModal.SELECTOR was an enough input for waitFor() then.
PS. there is nth-child selector for the case you mentioned above.
I consider the question answered by plus having a workaround in this post. Gonna close that one.

Agreed on all counts, except the nth-child selector won't always work. For example, with the above page object you could have this markup:

      <input type="checkbox" class="checkbox"/>

      <input type="checkbox" class="checkbox"/>

fractal-page-object is aiming to provide access to the DOM in a way that is not reducible to selectors, even if in most use cases it does end up being reducible to selectors.

aaaah 💡 Yeah, that makes sense. Thanks a lot, learned something. Maybe some of the new CSS that is currently in the making is possible to help at some point in the future ^_^


[rancher-dns] Illegal UDP message size breaks name resolution for container applications

Rancher DNS server may overflow the UDP message size limit of 512 bytes in replies sent to a client when doing a recursive query.
Sending messages larger than 512 bytes over UDP is technically illegal (see RFC1035) and breaks name resolution for DNS clients that do not support EDNS0. The correct behavior would be to set the Truncated bit on these messages.
For example Golang net resolver can't deal with packets larger than 512 bytes: The lookup then fails with a generic error: "no such host"
Example:
The host has an upstream DNS server that includes additional section and extra section records.
Starting the Rancher Route53 service fails:
/ # /usr/bin/external-dns -debug
INFO[0000] CLOUDFLARE_EMAIL is not set, skipping init of CloudFlare provider
INFO[0000] DNSIMPLE_TOKEN is not set, skipping init of DNSimple provider
FATA[0000] Failed to list hosted zones: Get https://route53.amazonaws.com/2013-04-01/hostedzone/?maxItems=9223372036854775807:
dial tcp: lookup route53.amazonaws.com on <IP_ADDRESS>:53: no such host

Here is the proof that Rancher DNS overflows the UDP packet size limit. There is also another quirk:  The message has almost exactly double the byte size than when querying the upstream server directly. Some kind of duplication or missing compression?
Note: The reply has neither Truncated flag set nor does it have the EDNS0 extension. Even though 'dig' tool is still able to parse the message, but that doesn't mean that the reply is not totally illegal!
/ # dig A api.cloudflare.com
; <<>> DiG 9.10.2-P4 <<>> A api.cloudflare.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13973
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 5, ADDITIONAL: 10

;; QUESTION SECTION:
;api.cloudflare.com.		IN	A

;; ANSWER SECTION:
api.cloudflare.com.	70	IN	CNAME	api-origin.cloudflare.com.
api-origin.cloudflare.com. 70	IN	A	<IP_ADDRESS>
api-origin.cloudflare.com. 70	IN	A	<IP_ADDRESS>
api-origin.cloudflare.com. 70	IN	A	<IP_ADDRESS>
api-origin.cloudflare.com. 70	IN	A	<IP_ADDRESS>
api-origin.cloudflare.com. 70	IN	A	<IP_ADDRESS>

;; AUTHORITY SECTION:
cloudflare.com.		92749	IN	NS	ns4.cloudflare.com.
cloudflare.com.		92749	IN	NS	ns5.cloudflare.com.
cloudflare.com.		92749	IN	NS	ns6.cloudflare.com.
cloudflare.com.		92749	IN	NS	ns7.cloudflare.com.
cloudflare.com.		92749	IN	NS	ns3.cloudflare.com.

;; ADDITIONAL SECTION:
ns3.cloudflare.com.	132654	IN	A	<IP_ADDRESS>
ns3.cloudflare.com.	28829	IN	AAAA	2400:cb00:2049:1::a29f:21
ns4.cloudflare.com.	132654	IN	A	<IP_ADDRESS>
ns4.cloudflare.com.	28829	IN	AAAA	2400:cb00:2049:1::a29f:121
ns5.cloudflare.com.	132654	IN	A	<IP_ADDRESS>
ns5.cloudflare.com.	28829	IN	AAAA	2400:cb00:2049:1::a29f:209
ns6.cloudflare.com.	132654	IN	A	<IP_ADDRESS>
ns6.cloudflare.com.	7283	IN	AAAA	2400:cb00:2049:1::a29f:30b
ns7.cloudflare.com.	132654	IN	A	<IP_ADDRESS>
ns7.cloudflare.com.	132654	IN	AAAA	2400:cb00:2049:1::a29f:408

;; Query time: 12 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)     <------ Rancher DNS server
;; WHEN: Sat Dec 05 07:35:36 UTC 2015
;; MSG SIZE  rcvd: 928                                <------- 928 bytes - Overflow!

When querying the upstream server directly we get exactly the same records but with half the byte size and conforming to the 512 bytes limit.
/etc # dig A api.cloudflare.com @<IP_ADDRESS>

; <<>> DiG 9.10.2-P4 <<>> A api.cloudflare.com @<IP_ADDRESS>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27269
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 5, ADDITIONAL: 11

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;api.cloudflare.com.		IN	A

;; ANSWER SECTION:
api.cloudflare.com.	70	IN	CNAME	api-origin.cloudflare.com.
api-origin.cloudflare.com. 70	IN	A	<IP_ADDRESS>
api-origin.cloudflare.com. 70	IN	A	<IP_ADDRESS>
api-origin.cloudflare.com. 70	IN	A	<IP_ADDRESS>
api-origin.cloudflare.com. 70	IN	A	<IP_ADDRESS>
api-origin.cloudflare.com. 70	IN	A	<IP_ADDRESS>

;; AUTHORITY SECTION:
cloudflare.com.		92448	IN	NS	ns3.cloudflare.com.
cloudflare.com.		92448	IN	NS	ns4.cloudflare.com.
cloudflare.com.		92448	IN	NS	ns7.cloudflare.com.
cloudflare.com.		92448	IN	NS	ns6.cloudflare.com.
cloudflare.com.		92448	IN	NS	ns5.cloudflare.com.

;; ADDITIONAL SECTION:
ns3.cloudflare.com.	132353	IN	A	<IP_ADDRESS>
ns3.cloudflare.com.	28528	IN	AAAA	2400:cb00:2049:1::a29f:21
ns4.cloudflare.com.	132353	IN	A	<IP_ADDRESS>
ns4.cloudflare.com.	28528	IN	AAAA	2400:cb00:2049:1::a29f:121
ns5.cloudflare.com.	132353	IN	A	<IP_ADDRESS>
ns5.cloudflare.com.	28528	IN	AAAA	2400:cb00:2049:1::a29f:209
ns6.cloudflare.com.	132353	IN	A	<IP_ADDRESS>
ns6.cloudflare.com.	6982	IN	AAAA	2400:cb00:2049:1::a29f:30b
ns7.cloudflare.com.	132353	IN	A	<IP_ADDRESS>
ns7.cloudflare.com.	132353	IN	AAAA	2400:cb00:2049:1::a29f:408

;; Query time: 11 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Sat Dec 05 07:40:37 UTC 2015
;; MSG SIZE  rcvd: 462                                    <------- Half the size!

This sounds like https://github.com/miekg/dns/issues/216 .  Pretty much the entirety of requests to a recursive server is calling Exchange().  All the extra copies of the labels are 400+ bytes on that record when sent without compression.

@vincent99 That explains the larger size indeed. The problem here is that Rancher DNS just blindly passes the recursive response on to the client without making sure it conforms to the 512-byte UDP size restriction.

Steps to reproduce

Change the nameserver in one of the host's /etc/resolv.conf to <IP_ADDRESS> (This an example of a nameserver that includes additional/extra sections in the answers).
Restart the Network Agent on that host so that Rancher DNS uses that server as upstream recursor.
Deploy a new container to that host using the janeczku/dnstest-alpine image with network option set to 'managed'. This will run a Go application that does nothing but resolve some domain names using net.LookupHost() calls and print the results.
When the container has started check the logs -> the test app fails to resolve domains

@vincent99 I guess this can be closed since https://github.com/rancher/rancher-dns/pull/9 has been merged?

@janeczku did you try this out?  If it works for you, let's close this issue.

@will-chan
Confirmed fixed in Rancher v0.50.0. DNS packet returned from Rancher DNS is now within the legal limit of 512 bytes.
$ dig -t A api.cloudflare.com

; <<>> DiG 9.9.5-3ubuntu0.2-Ubuntu <<>> A api.cloudflare.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3698
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 6, AUTHORITY: 5, ADDITIONAL: 10

(...)

;; Query time: 12 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Tue Dec 22 21:17:08 UTC 2015
;; MSG SIZE  rcvd: 451

@janeczku awesome!  Closing issue.


Add measurement to collect windows node cpu usage per process

As windows server container doesn't support privileged containers, so to collect the cpu usage per process, have to install the wmi_exporter onto windows node using gcloud ssh command. As a result, this feature is only supported for GCE cluster.
Use the "Additional Scrape configs" in prometheus-operator to scrape windows node.
Add a new measurement to collect the metrics once when all pods are running, as we want to find out if there's any noticeable high cpu usage process. Later on, we may change to calculate the percentiles during the test run and put it on perf-dash board.

/cc @pjh @yliaog

This looks great, thanks Yang!
LGTM, will leave the rest of the review to the perf-tests folks :)

@mm4tt Addressed your comments, can you take a look again?


Move Drawer to GestureDetector

This fixes an issue in the stocks app in horizontal mode where you could both
scroll and drag the drawer at the same time.

lgtm

Done.


Unable to build the samples on macOS

Describe the bug
Tried to build the samples for macOS desktop by running cmake in the samples directory but got this error:
CMake Error at CMakeLists.txt:83 (get_resgen_vars):
  Unknown CMake command "get_resgen_vars".

To Reproduce
Steps to reproduce the behavior:

In the samples directory run: cmake .

Expected behavior
Build scripts for the samples to be generated.
Desktop (please complete the following information):

OS: macOS 10.14.2

You cannot run CMake on the subdirectories, only in the root directory. To build a specific sample you can run make/ninja sample_name after running CMake.


The rec area seems to reload every time focus is changed

This area seems to refresh every time I switch back from another. Or at least almost every time. It's a bit odd.

Seems to work fine now. So closing

Actually still doing this. Just switch back-and-forth to the browser tab to reproduce

Yeah I see same thing, will prioritize this.

Actually, this is a broader problem. I also see it my profile page:

Actually, this is a feature of the data fetching library not a bug. This is called refreshing the stale data. There's a case can explain why this mechanism is useful.
Let's say you open two recent tabs in your browser (no matter unconsciously or deliberately). You made a rec in tab 1. And then go to tab 2. If the refetchOnWindowFocus is true (which is the default behavior and the refreshing you observed now), the tab 2 will display the rec you just made. This mechanism actually made the data in multiple tabs in sync and prevent making double recommendations.
https://github.com/user-attachments/assets/c8cdebf8-799f-47ce-9873-c75fd1dc899c
If we disable this behavior (set refetchOnWindowFocus to false), double recommendations might happen and the browser tabs won't be in sync.
https://github.com/user-attachments/assets/48e76054-6972-4e40-8b4b-02d5bbbcc123

This is a feature of some major data fetching library:

https://swr.vercel.app/docs/revalidation#revalidate-on-focus
https://tanstack.com/query/latest/docs/framework/react/guides/window-focus-refetching#window-focus-refetching

While I think we should retain the default refreshing behavior, we can actually disable the refreshing at the profile page if you want since, on that page, the data fetching only involves READ operation. The edge case I mentioned above won't happen. And even if multiple tabs aren't in sync, that doesn't really matter and hurts too much (users need to manually refresh the page).

This makes a lot of sense. Let's disable this for readonly pages, but keep it for input pages.
This probably happens more seamlessly in other websites though. Right?
I am worried about the logic for the recommendation entry panel area though. It's really an edge case, but I could be in the  entry page in two tabs (after pressing "recommend a paper") and then submit two recs. I don't know what this will cause. Didn't try it.


Review Test suits and enable it for 5.1.1

We have added test integration for

forms-flow-web
forms-flow-webapi
forms-flow-bpm
forms-flow-documents

Needs to enable that once merge latest code from 5.1.1 into main branch.
Task:

[ ] Enable git action for "main" branch on PR creation.
[ ] PR should run test cases and allow user to merge if test suits pass successfully.

Currently we have unit test cases that are run n deployment. If they were to run automatically when we push our code it would help us identify issues earlier. There is a manual way of running these test cases on local before we push. There is no major risk because of this. Its a nice to have to improve developer productivity.
Ice Boxing


⚠ T:Riza Docs has degraded performance

In 377e720, T:Riza Docs (https://docs.triza.dev) experienced degraded performance:

HTTP code: 200
Response time: 2010 ms

Resolved: T:Riza Docs performance has improved in 3b50ab9.


Removing runtime overhead

First off, I just want to say that Webpack is amazing!
Webpack 2 looks great, and tree shaking is really nice. But I can't find anything on removing runtime overhead. That's something that Rollup does nicely where it removes the need to a wrapping function around every module. It has a real impact on startup time when you have hundreds of modules or more.
Just wanted to see if this was on the roadmap?

It's on the roadmap...

Great to hear, thanks!

What is the roadmap entry listed as. I'm having trouble spotting in the google doc.


[Fix #8996] Fix a false positive for Style/MultipleComparison

Fixes #8996.
This PR fixes a false positive for Style/MultipleComparison when comparing two sides of the disjunction is unrelated.

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.
[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

Thanks!


Change the Container name from 'Container' to Collection

Finally it will be named as 'Collection'

Resolved by #1643 and https://github.com/Azure/azure-sdk-for-net/pull/24835


Create test

test

Please don't test on public repos!  Not helpful to anyone 😟


Update exsiting genesis file on the private network for compatible istanbulForkBlock and berlinForkBlock and londonForkBlock

Because I found on my private chain it can't compatible the opcode for  selfbalance  , so  how can we update the contents on my existing genesis for compatible istanbulForkBlock and berlinForkBlock and londonForkBlock by "transitions" ?
My existing  genesis file
{
"config" : {
"chainId" : 2021,
"constantinoplefixblock" : 0,
"contractSizeLimit":<PHONE_NUMBER>,
"ibft2" : {
"blockperiodseconds" : 2,
"epochlength" : 30000,
"requesttimeoutseconds" : 10,
"blockreward": "5000000000000000",
"miningbeneficiary": "0xe0275e0cf831d5a74089e1a66c810b57891c2d85"
}
},
"nonce" : "0x0",
"timestamp" : "0x58ee40ba",
"gasLimit" : "0x1fffffffffffff",
"difficulty" : "0x1",
"mixHash" : "0x63746963616c2062797a616e74696e65206661756c7420746f6c6572616e6365",
"coinbase" : "0x0000000000000000000000000000000000000000",
"alloc" : {
"01a6d1dd2171a45e6a3d3dc52952b40be413fa93" : {
"comment" : "private key and this comment are ignored.  In a real chain, the private key should NOT be stored",
"balance" : "0xad78ebc5ac6200000"
},
"4f0d0ed3755381f703f385a2c2ec5508e0b7e5da" : {
"comment" : "private key and this comment are ignored.  In a real chain, the private key should NOT be stored",
"balance" : "80000000000000000000000"
},
"5c28178b275657c0b71f1513a239705605988bd4" : {
"comment" : "private key and this comment are ignored.  In a real chain, the private key should NOT be stored",
"balance" : "90000000000000000000000"
}
},
"extraData" : "0xf8d2a00000000000000000000000000000000000000000000000000000000000000000f8a8944f0d0ed3755381f703f385a2c2ec5508e0b7e5da94bf48277a2700bbd5c107f4a8317fe960bf25e02494fc638101f646aef1fc921478bce1f35e9071bf7b949c4893a042a3968448d4f074f65a1b13216121ec9471313d00ea729de47e1c288d9e39e8af990f3e5c9401a6d1dd2171a45e6a3d3dc52952b40be413fa93945c28178b275657c0b71f1513a239705605988bd49486cc50976da37da2e83092e695d0cc9133153b2f808400000000c0"
}
Can I using transitions to update the my genesis block as following input
{
"config" : {
"chainId" : 2021,
"constantinoplefixblock" : 0,
"contractSizeLimit":<PHONE_NUMBER>,
"ibft2" : {
  "blockperiodseconds" : 2,
  "epochlength" : 30000,
  "requesttimeoutseconds" : 10,
  "blockreward": "5000000000000000",
  "miningbeneficiary": "0xe0275e0cf831d5a74089e1a66c810b57891c2d85"
},
"transitions" : {
  "config": [
  {
    "block": 9701480,
    "istanbulForkBlock": "0x9701480"
   "berlinForkBlock" : "0x9701481"
   "londonForkBlock" : "0x9701482"
  }
  ]

}
},
"nonce" : "0x0",
"timestamp" : "0x58ee40ba",
"gasLimit" : "0x1fffffffffffff",
"difficulty" : "0x1",
"mixHash" : "0x63746963616c2062797a616e74696e65206661756c7420746f6c6572616e6365",
"coinbase" : "0x0000000000000000000000000000000000000000",
"alloc" : {
"01a6d1dd2171a45e6a3d3dc52952b40be413fa93" : {
"comment" : "private key and this comment are ignored.  In a real chain, the private key should NOT be stored",
"balance" : "0xad78ebc5ac6200000"
},
"4f0d0ed3755381f703f385a2c2ec5508e0b7e5da" : {
"comment" : "private key and this comment are ignored.  In a real chain, the private key should NOT be stored",
"balance" : "80000000000000000000000"
},
"5c28178b275657c0b71f1513a239705605988bd4" : {
"comment" : "private key and this comment are ignored.  In a real chain, the private key should NOT be stored",
"balance" : "90000000000000000000000"
}
},
"extraData" : "0xf8d2a00000000000000000000000000000000000000000000000000000000000000000f8a8944f0d0ed3755381f703f385a2c2ec5508e0b7e5da94bf48277a2700bbd5c107f4a8317fe960bf25e02494fc638101f646aef1fc921478bce1f35e9071bf7b949c4893a042a3968448d4f074f65a1b13216121ec9471313d00ea729de47e1c288d9e39e8af990f3e5c9401a6d1dd2171a45e6a3d3dc52952b40be413fa93945c28178b275657c0b71f1513a239705605988bd49486cc50976da37da2e83092e695d0cc9133153b2f808400000000c0"
}

Transitions are only used to modify configuration on the consensus mechanism for IBFT, IBFT2 or QBFT. They cannot be used to change the network protocol.
To change network protocol you need to add the milestone blocks to the config section https://besu.hyperledger.org/en/latest/Reference/Config-Items/#milestone-blocks
This page has more details on how to upgrade the protocol for a private network https://besu.hyperledger.org/en/latest/HowTo/Upgrade/Upgrade-Protocol/

But we are using a private network , and the last block no is 9702187 , so we just add following content to update the protocol  ?
"istanbulForkBlock" : 9702188,
"berlinForkBlock" : 9702190,
"londonForkBlock" : 9702195,

That looks correct. You just need to ensure that this is for a future block and that all nodes are restarted to get this config before the block is reached.

But we still encode a problem when call selfbalance . Here is the contract we using .
pragma solidity =0.6.6;
contract ChainID {
function get() external pure returns (uint256) {
uint256 chainID;
assembly {
chainID := chainid()
}
return chainID;
}
function getWithGas() external returns (uint256) {
    uint256 chainID;
    assembly {
        chainID := chainid()
    }
    return chainID;
}

function bal() external view returns (uint256) {
    return address(this).balance;
}

function balWithGas() external returns (uint256) {
    return address(this).balance;
}

}
The Output
34/35) JUMPDEST
PC = 109 = 0x6d
4978594 gas remaining
ChainID.sol:
22:     }
23:
24:     function balWithGas() external returns (uint256) {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
debug(dev:0x38bb825b...)>
Stack:
00000000000000000000000000000000000000000000000000000000224312f5 (1 from top)
0000000000000000000000000000000000000000000000000000000000000051 (top)
(35/35) SELFBALANCE
PC = 110 = 0x6e
4978593 gas remaining
ChainID.sol:
23:
24:     function balWithGas() external returns (uint256) {
25:         return address(this).balance;
^^^^^^^^^^^^^^^^^^^^^
debug(dev:0x38bb825b...)>
Transaction halted with a RUNTIME ERROR.
There was no revert message.  This may be due to an in intentional halting expression, such as assert(), revert(), or require(), or could be due to an unintentional exception such as out-of-gas exceptions.
Please inspect your transaction parameters and contract code to determine the meaning of this error.

I found the root case for above issue , because I mistyped the protocol name as above
"istanbulForkBlock" : 9702188,
"berlinForkBlock" : 9702190,
"londonForkBlock" : 9702195,
it should be
"istanbulBlock" : 9702188,
"berlinBlock" : 9702190,
"londonBlock" : 9702195


Tiny fixes for the converter

Codecov Report
Attention: Patch coverage is 65.00000% with 7 lines in your changes missing coverage. Please review.

Project coverage is 71.25%. Comparing base (3a78278) to head (b2ababe).

Files with missing lines
Patch %
Lines

...al_experiment/torch_interpreter/_aten_functions.py
63.15%
7 Missing :warning:

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #310   +/-   ##
=======================================
  Coverage   71.25%   71.25%
=======================================
  Files         181      181
  Lines       30772    30787   +15
=======================================
+ Hits        21926    21938   +12
- Misses       8846     8849    +3

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[FLINK-28774][hive] Allow user to configure whether to enable sort not when it's for dynamic partition writing for HiveSource

What is the purpose of the change
To enable user to configure whether to enable sort not when it's for dynamic partition writing for HiveSource
Brief change log

Add a configuration table.exec.hive.dynamic-grouping.enabled for enable dynamic grouping or not
In HiveTableSInk#requiresPartitionGrouping, only both  table.exec.hive.dynamic-grouping.enabled and passed parameter are true,  return true and set dynamicGroupingEnabled = true.

Verifying this change
The test in HiveTableSinkITCase
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

@flinkbot run azure

CI is passed: https://dev.azure.com/imjark/Flink/_build/results?buildId=576&view=results


Implement computation of G = folding combiner polynomial

Closed by https://github.com/AztecProtocol/aztec-packages/pull/2436


Updating README.md information

Adding authors and updating licence

There's more to come, I'm refining the GitHub workflow

I need to get used to the fact that we have 2 branches permanently. :baby_chick:

Whoops! 🙃
Lol, just did exactly the same, wow this is going to be tough!!


Gem must have lib with gem name

The primary file in lib are named the same as gem. A developer can easily jump in and call require 'webpack-rails' with no problems.
That's why added the primary file in lib are named the same as gem. If some one uses this gem in engines and he is loading dependencies dynamically using gem name in that case its giving error.
like following
Gem.loaded_specs[engine_name].dependencies.each do |dependancy|
  require dependancy.name
end

Cheers.


Do not include oniguruma in stable releases

It looks like oniguruma introduces additional unstability (panics), let's not include it in the final release. Also, if we're distributing binaries with it linked, it should be clear both in the name of the artifact as well as the release notes / README that it is experimental.
See https://github.com/src-d/gitbase/issues/544

@ajnavarro Maybe we can close this, since we're not distributing binaries with oniguruma in stable releases anymore?


Expose and Support registrationCompleted=True for HTTP PATCH

fixes #1232

User Profile registrationCompleted should support PATCH'ed to true
but PATCH to false should not be supported.

Initial discussion :
https://github.com/almighty/almighty-core/issues/1225

Codecov Report

Merging #1233 into master will increase coverage by 0.02%.
The diff coverage is 57.14%.

@@            Coverage Diff             @@
##           master    #1233      +/-   ##
==========================================
+ Coverage    60.2%   60.22%   +0.02%
==========================================
  Files         119      119
  Lines       10383    10404      +21
==========================================
+ Hits         6251     6266      +15
- Misses       3478     3482       +4
- Partials      654      656       +2

Impacted Files
Coverage Δ

controller/users.go
75% <57.14%> (+0.84%)
:arrow_up:

controller/workitem.go
78.71% <0%> (-0.69%)
:arrow_down:

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 62af46f...452118e. Read the comment docs.

Can this be merged please? There is a blocking issue with the getting started page that needs this fix.

Done @dlabrecq :)


Udemy - "Course nnnn is not free." on paid-for course, after partial download

Checklist

[X] I'm reporting a broken site support
[X] I've verified that I'm running youtube-dl version 2019.09.28
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs & arguments w/ special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones

Verbose log
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', '--restrict-filenames', '--cookies', '.\\cookies.txt', '-f', 'best', '-o', './Dload_p2/%(playlist)s/%(chapter_number)s - %(chapter)s/%(playlist_index)s - %(title)s.%(ext)s', '--add-metadata', '--ffmpeg-location', 'F:\\xfers-progs\\ffmpeg_81462\\bin\\ffmpeg.exe', '--postprocessor-args', '-id3v2_version 3', 'https://www.udemy.com/comptia-security-certification-sy0-501-the-total-course/', '--playlist-start', '36']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, pref cp1252
[debug] youtube-dl version 2019.09.28
[debug] Python version 3.6.4 (CPython) - Windows-7-6.1.7601-SP1
[debug] exe versions: ffmpeg N-81462-gbcd1153, ffprobe N-81462-gbcd1153
[debug] Proxy map: {}
[udemy:course] comptia-security-certification-sy0-501-the-total-course: Downloading webpage
ERROR: Course 1596138 is not free. You have to pay for it before you can download. Use this URL to confirm purchase: https://www.udemy.com/cart/checkout/express/course/1596138/
Traceback (most recent call last):
  File "c:\program files\python36\lib\site-packages\youtube_dl\YoutubeDL.py", line 796, in extract_info
    ie_result = ie.extract(url)
  File "c:\program files\python36\lib\site-packages\youtube_dl\extractor\common.py", line 530, in extract
    ie_result = self._real_extract(url)
  File "c:\program files\python36\lib\site-packages\youtube_dl\extractor\udemy.py", line 444, in _real_extract
    self._enroll_course(url, webpage, course_id)
  File "c:\program files\python36\lib\site-packages\youtube_dl\extractor\udemy.py", line 97, in _enroll_course
    expected=True)
youtube_dl.utils.ExtractorError: Course 1596138 is not free. You have to pay for it before you can download. Use this URL to confirm purchase: https://www.udemy.com/cart/checkout/express/course/1596138/

Description
I have purchased a few courses from Udemy.  I have downloaded 1 course fully, needing to restart it about 1/3 the way through.  I split that d/l into two sessions for the remaining lessons, and it finished fine.
This last course started downloading, and I got through 35 of the lessons and then the process died.
I have tried restarting the full playlist download, re-specifying using --playlist.
I have tried using --username and --password as well as --cookies with a fresh export of all cookies.
The download errored out with the same message that I get with every new try:
Course 1596138 is not free. You have to pay for it before you can download. Use this URL to confirm purchase: https://www.udemy.com/cart/checkout/express/course/1596138/
I succeeded in downloading the first 35 lessons.
I can see the course in my account using the browser, and can play lessons from it.
I exported cookies from the same session.

The course view from my account:

The lessons view, from my account:

You must provide account credentials for any work on this.

Sergey,
I understand.  At the same time, I would like to:

transmit the credentials confidentially, and,
limit the amount of time that those credentials are valid,

to protect my account.
How can I do that?


Add 503 error handling and fix test

Intuit uses this status code for a variety of login problems, primarily wrong bank credentials. Return a proper error when this is the case.

@hellodigit/engineering ready for review

I added support for the other HTTP codes that need to be handled specifically, ready for review again @hellodigit/engineering

+1


Add Skyscanner and BSC logos

What this PR does / Why we need it
Adds Skyscanner and BSC logos, copy command in package.json also changed as it created a new folder inside img instead of copying the content to img.
Which issue(s) this PR fixes (optional)
Fixes #214, #218
Some questions

[X] I have read the contributing guidelines
[X] I abide by this repository Code of Conduct

At least in mobile devices, BSC looks fine but the Skyscanner one is too close of the other Mega ones imo.


Strip sensitive URL parameters from provider log output

Resolves #291
After searching through the providers package manually, I determined the GitHub provider and validateToken helper function were the only areas at risk here. Other providers, like Google, encode their sensitive parameters as a form-encoded body, and they are never logged.
@jehiah

For the record, I'm not tied to the name stripToken - naming these little helper functions can be tough sometimes. I'm happy to change it if something else seems more appropriate.

perfect. and a test for bonus points!
Can you squash down to a single commit?

🎉

@jehiah When should we expect a new release to be cut? Was having some trouble trying to build locally


Allow dynamic adjustment of policy and validator configuration

Describe the feature
Currently, a change of validators requires a restart of all pods. Ideally, this should be possible by dynamically fetching updated configuration as it does not actually change Connaisseur itself.
Optional: Implementation ideas
Could be done via CRDs. However, it needs a mechanism to mount updated configuration into Connaisseur.

We started an Architecture Decision Record in #280 on how to update the configuration (ConfigMap vs. CRD). Feel free to share your opinions. We'd be happy to get some external input on this.
FYI @jackalsh @ressetkk


Multi-select: Implement expandable and collapsible options groups, and searchable nested options

Detailed description of what you want to happen
Implement expandable and collapsible option groups, and searchable nested options. At the moment, only group parent is searchable
Upload a screenshot or reference an example if possible

Why do you need this feature?
This feature is required when there are multiple users within a group and user has to scroll all the way down to iterate to next group
Do you have a deadline?
Would be required by mid of next month
Additional information
No response

Your issue has been approved! You can follow the latest status on our public backlog board. Thank you for your contribution!


Life in the village | crashing - (Open terrain loader)

OTG Plugin or Mod
[Please specify if it's about Forge Mod or Spigot server Plugin placing "x" into []]

[x ] OTG Mod for Forge
[ ] OTG Plugin for Spigot

OTG Version
[Please specify the full OTG version that you are running by placing "x" into []]

[x ] 1.12.2_v8_r1
[ ] 1.12.2_v7_DEV_r26
[ ] 1.12.2-v6
[ ] 1.12.2-v5
[ ] 1.11.2-v8
[ ] 1.11.2-v9
[ ] 1.10.2-v21
[ ] Other - specify here

Forge or Spigot Versions
[The full Spigot Server or Forge versions that you are running]
OptiFine_1.12.2_HD_U_C5
Server/Client Log
[The full latest.log file from your server or game client, especially important if you have a stack trace]
Loaded coremods (and transformers): Do not report to Forge! (If you haven't disabled the FoamFix coremod, try disabling it in the config! Note that this bit of text will still appear.) (foamfix-0.10.8-1.12.2.jar)
pl.asie.foamfix.coremod.FoamFixTransformer
RBLoadingPlugin (RealBench-1.12.2-1.3.3.jar)
pw.prok.realbench.asm.RBTransformer
CTMCorePlugin (CTM-MC1.12.2-<IP_ADDRESS>.jar)
team.chisel.ctm.client.asm.CTMTransformer
Quark Plugin (Quark-r1.6-177.jar)
vazkii.quark.base.asm.ClassTransformer
AppleCore (AppleCore-mc1.12.2-3.2.0.jar)
squeek.applecore.asm.TransformerModuleHandler
ForgelinPlugin (Forgelin-1.8.4.jar)
                                  OTGCorePlugin (OTG-Core.jar)
                                    com.pg85.otg.forge.asm.excluded.OTGClassTransformer
                                  LoadingPlugin (BetterWithLib-1.12-1.5.jar)
                                    betterwithmods.library.core.ClassTransformer
                                  llibrary (llibrary-core-1.0.11-1.12.2.jar)
                                    net.ilexiconn.llibrary.server.core.plugin.LLibraryTransformer
                                    net.ilexiconn.llibrary.server.core.patcher.LLibraryRuntimePatcher
                                  Inventory Tweaks Coremod (InventoryTweaks-1.63.jar)
                                    invtweaks.forge.asm.ContainerTransformer
                                  FutureMC (future-mc-0.1.13.jar)
                                    thedarkcolour.futuremc.asm.CoreTransformer
                                  VanillaFixLoadingPlugin (VanillaFix-1.0.10-99.jar)

                                  LoadingPlugin (ResourceLoader-MC1.12.1-1.5.3.jar)
                                    lumien.resourceloader.asm.ClassTransformer
                                  CharmLoadingPlugin (Charm-1.12.2-1.3.6.jar)
                                    svenhjol.charm.base.CharmClassTransformer
                                  ItemPatchingLoader (ItemPhysic Lite 1.3.7 mc1.12.2.jar)
                                    com.creativemd.itemphysic.ItemTransformer
                                  RandomPatches (randompatches-1.12.2-<IP_ADDRESS>.jar)
                                    com.therandomlabs.randompatches.core.RPTransformer

GL info: ERROR RuntimeException: No OpenGL context found in the current thread.
Pulsar/inspirations loaded Pulses: - InspirationsShared (Enabled/Forced)
- InspirationsBuilding (Enabled/Not Forced)
- InspirationsUtility (Enabled/Not Forced)
- InspirationsTools (Enabled/Not Forced)
- InspirationsRecipes (Enabled/Not Forced)
- InspirationsTweaks (Enabled/Not Forced)
- InspirationsShared (Enabled/Forced)
- WailaPlugin (Enabled/Not Forced)
Suspected Mods: Open Terrain Generator (openterraingenerator)
Profiler Position: N/A (disabled)
Player Count: 0 / 8; []
Type: Integrated Server (map_client.txt)
Is Modded: Definitely; Client brand changed to 'fml,forge'
Client Crashes Since Restart: 0
Integrated Server Crashes Since Restart: 1
What other plugins are you running?
[List of your Mods or Plugins installed, ideally with versions]
Modpack : Life in the village
Description
[What is happening? - Explain what happens and what steps should be done to reproduce the issue. Ideally with pictures;)] When loaded into my server i will crash within 5 sec to 3 minutes happens faster when i try to load new chunks
[What did you expect to happen? - Explain what you expected to happen after performing the previously described steps] The game freezes for a second and quickly closes
[And Delete the lines in square brackets!]

Hey @DuckZ69 , thanks for reporting this. I'll need to see a log file attached before I can say anything about this though :o.


Genesis / Network Launch Params

PoA Admin(s)
StakingParams 0% min rate
Permissioned wasmd? or none? (remove from tokenfactory if so)
No inflation (see tests/interchaintest/setup.go, have to set minter and mint.params values)
Set BankMetadata for 'MFX' (umfx) token
Address prefixes of manifest
6s block times
stable and efficient params (i.e. bonding, voting, etc). Copy from the hub/osmosis mostly
Tokenfactory param

No wasm

@chalabi2 I figured, thanks. Currently have it as itMs a dependency of Tokenfactory. Will mock that out

#14 also is handling this, left overs are required information on the manifest side


Update readme

[x] add Arch installation instructions (package names, needed step after pacman'ing mariadb)
[x] correct Ubuntu package name: mariadb -> mysql
[x] make -j 4 -> make -j $(nproc)
[x] explain what should one write when "It will ask for MySQL credentials" (or at least write the default options)
[x] change git clone command to clone develop branch
[x] server.conf file -> sim.conf

Ubuntu 18.04 has mariadb and Sim uses mariadb rather than mysql.
Develop branch is a develop branch, master should be more stable, so it stays as is.


Makyen: Watch documentswindows10.com

Makyen requests the watch of the watch_keyword documentswindows10\.com. See the Metasmoke search here and the Stack Exchange search here.

documentswindows10.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Coverage remained the same at 65.308% when pulling 032010b5c8995667b6f802368aef709ef28afd5b on auto-blacklist-1521702313.57024 into 6cc25240ece0ffb739d1acff2c2e51ab8f2355a6 on master.

This is already covered by "bad NS", is there a specific reason to force a watch?

!!/approve

Bad NS, just means that the NS which was used is one which tends to have a considerable number of spam domains. Effectively, that's just "This might be a bad domain. You need to investigate." Specifically watching a domain means we've seen this domain is actually being used for spam.

https://chat.stackexchange.com/transcript/message/43554105#43554105


backend: add inherited_tags as prefix attribute

inherited_tags was simply missing..
Fixes #790.

:thumbsup:

Haha, you fail! Well, so did I. I accidentally added this to the _pool_spec and not the _prefix_spec :P
It's all good now though, I fixed it in a subsequent commit... :)

Haha, yeah, I noticed. Double-doh :P


8.7.0. SwipeGov implementation

Release severity: Major
Release version: 8.7.0
Release notes:
8.7.0 SwipeGov & Governance Improvements

Added SwipeGov - a simplified way to vote in OpenGov. Swipe right to Aye, left to Nay, up to Abstain
Added Short summaries for referendums in SwipeGov
Added Translated Summaries for referendums in SwipeGov
Added batch voting in SwipeGov — swipe first and confirm all at once later to submit the votes.
Added support for custom assets in SwipeGov and regular voting UI — now USDT/USDC/other tokens will be displayed when requested in treasury refs


Add ability to create a "rest" client

Codecov Report

Merging #43 (9a24611) into main (bc75f2c) will decrease coverage by 1.42%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main      #43      +/-   ##
==========================================
- Coverage   51.10%   49.68%   -1.43%
==========================================
  Files          17       18       +1
  Lines        1712     1761      +49
==========================================
  Hits          875      875
- Misses        742      791      +49
  Partials       95       95

Impacted Files
Coverage Δ

client_rest.go
0.00% <0.00%> (ø)

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 bc75f2c...9a24611. Read the comment docs.

Needs tests
Once released we should update CLI to use this


Update readme.html

Add YOURLS installation link for Ubuntu 20.04 version.

Please merge my pull request


Marathon restarts app in POST /v2/apps

Marathon creates deployment and restarts tasks in POST /v2/apps api endpoint even if configuration didn't change.
I think end user shouldn't care if PUT /v2/apps/{appId} should be used or POST /v2/apps. User describes desired state, it's for marathon to decide what to do.

Isn't that also fixed with #1007. Have you checked latest master or 0.7.6?

I checked my PR rebased agains master where a9bccfa6f619984eed4145f22f1960e8cb78ec3f was on the top. Looks like #1007 made it into my version.

Aha, I found an app that wasn't restarting and managed to make it restart.
The following ansible play generates new deployment on each run, but if I uncomment "cmd", no deployments happen if no changes were made. Looks like missing cmd is to blame.
- hosts: web488
  roles:
    - role: topface.marathon
      marathon_url: http://web488:8080
      marathon_app:
        id: /topface/test/wtf
        # cmd: /app -listen <IP_ADDRESS>:$PORT
        container:
          type: DOCKER
          docker:
            image: docker.core.tf/scruffy:2015-01-18.1
        cpus: 0.2
        mem: 64
        instances: 3
        ports:
          - 15002
        constraints:
          -
            - hostname
            - UNIQUE

@bobrik So can we close this?

@drexin it's still a bug in marathon, why close?

@bobrik Sorry, I misread your last comment.

This is actually a bigger problem than I expected. Converting an AppDefinition to a protobuf seems to change the object, so:
AppDefinition.fromProto(app.toProto) != app

What changes?

The problem lies here: https://github.com/mesosphere/marathon/blob/master/src/main/scala/mesosphere/marathon/state/AppDefinition.scala#L139-L142
It actually returns Some(Seq()) if there is no cmd and no args, but a container. I think the whole semantics of xor(cmd, args) || container should not be encoded in this function.

Maybe the larger problem is that POST behaves like PUT.  IMO POST should refuse to accept an app that already exists.

@ConnorDoyle, are you trying to say that "create app" and "update app" should be different endpoints/methods and "update app" should not create app that does not exist?

PUT should create apps that don't exist (what it currently does) but POST should reject entities with existing ids (what it does in master).

@drexin I deployed master this morning and POST with existing id works just fine. It looks pretty sane to me: "I want app with this id look like this, do whatever you need to do to achieve this".
web489 ~ # curl -H "Content-type: application/json" -X POST http://web488:8080/v2/apps -d '{"mem": 16, "cmd": "sleep 60", "cpus": 0.1, "instances": 1, "id": "/come/on"}'
{"id":"/come/on","cmd":"sleep 60","args":null,"user":null,"env":{},"instances":1,"cpus":0.1,"mem":16.0,"disk":0.0,"executor":"","constraints":[],"uris":[],"storeUrls":[],"ports":[0],"requirePorts":false,"backoffSeconds":1,"backoffFactor":1.15,"maxLaunchDelaySeconds":3600,"container":null,"healthChecks":[],"dependencies":[],"upgradeStrategy":{"minimumHealthCapacity":1.0,"maximumOverCapacity":1.0},"labels":{},"version":"2015-02-11T08:30:17.996Z"}

web489 ~ # curl -H "Content-type: application/json" -X POST http://web488:8080/v2/apps -d '{"mem": 16, "cmd": "sleep 61", "cpus": 0.1, "instances": 1, "id": "/come/on"}'
{"id":"/come/on","cmd":"sleep 61","args":null,"user":null,"env":{},"instances":1,"cpus":0.1,"mem":16.0,"disk":0.0,"executor":"","constraints":[],"uris":[],"storeUrls":[],"ports":[0],"requirePorts":false,"backoffSeconds":1,"backoffFactor":1.15,"maxLaunchDelaySeconds":3600,"container":null,"healthChecks":[],"dependencies":[],"upgradeStrategy":{"minimumHealthCapacity":1.0,"maximumOverCapacity":1.0},"labels":{},"version":"2015-02-11T08:30:37.778Z"}

Oops, you're right. The merged PR was about conflicts in service ports.

On 11.02.2015, at 09:32, Ian Babrou<EMAIL_ADDRESS>wrote:
@drexin I deployed master this morning and POST with existing id works just fine. It looks pretty sane to me: "I want app with this id look like this, do whatever you need to do to achieve this".
web489 ~ # curl -H "Content-type: application/json" -X POST http://web488:8080/v2/apps -d '{"mem": 16, "cmd": "sleep 60", "cpus": 0.1, "instances": 1, "id": "/come/on"}'
{"id":"/come/on","cmd":"sleep 60","args":null,"user":null,"env":{},"instances":1,"cpus":0.1,"mem":16.0,"disk":0.0,"executor":"","constraints":[],"uris":[],"storeUrls":[],"ports":[0],"requirePorts":false,"backoffSeconds":1,"backoffFactor":1.15,"maxLaunchDelaySeconds":3600,"container":null,"healthChecks":[],"dependencies":[],"upgradeStrategy":{"minimumHealthCapacity":1.0,"maximumOverCapacity":1.0},"labels":{},"version":"2015-02-11T08:30:17.996Z"}
web489 ~ # curl -H "Content-type: application/json" -X POST http://web488:8080/v2/apps -d '{"mem": 16, "cmd": "sleep 61", "cpus": 0.1, "instances": 1, "id": "/come/on"}'
{"id":"/come/on","cmd":"sleep 61","args":null,"user":null,"env":{},"instances":1,"cpus":0.1,"mem":16.0,"disk":0.0,"executor":"","constraints":[],"uris":[],"storeUrls":[],"ports":[0],"requirePorts":false,"backoffSeconds":1,"backoffFactor":1.15,"maxLaunchDelaySeconds":3600,"container":null,"healthChecks":[],"dependencies":[],"upgradeStrategy":{"minimumHealthCapacity":1.0,"maximumOverCapacity":1.0},"labels":{},"version":"2015-02-11T08:30:37.778Z"}
—
Reply to this email directly or view it on GitHub.

Fixed in https://github.com/mesosphere/marathon/commit/6cc9722c67d29c7359743a53070d9c4d8176bca7


New version of quantized models do not work in opencv

Hi, I have tried two versions of neural-compressor to quantized the same palm detection model from OpenCV Model Zoo. One is version 1.10.1 and another is 1.13.1.
I use the same quantized code:
model = onnx.load(self.model_path)
quantizer = Quantization(self.config_path)
quantizer.calib_dataloader = common.DataLoader(self.custom_dataset)
quantizer.model = common.Model(model)
q_model = quantizer()
q_model.save(output_name)

And the same config file:
version: 1.0

model:                                               # mandatory. used to specify model specific information.
  name: mp_palmdet
  framework: onnxrt_qlinearops                       # mandatory. supported values are tensorflow, pytorch, pytorch_ipex, onnxrt_integer, onnxrt_qlinear or mxnet; allow new framework backend extension.

quantization:                                        # optional. tuning constraints on model-wise for advance user to reduce tuning space.
  approach: post_training_static_quant               # optional. default value is post_training_static_quant.
  calibration:
    dataloader:
      batch_size: 1
      dataset:
        dummy:
          shape: [1, 256, 256, 3]
          low: -1.0
          high: 1.0
          dtype: float32
          label: True

tuning:
  accuracy_criterion:
    relative:  0.02                                  # optional. default value is relative, other value is absolute. this example allows relative accuracy loss: 1%.
  exit_policy:
    timeout: 0                                       # optional. tuning timeout (seconds). default value is 0 which means early stop. combine with max_trials field to decide when to exit.
  random_seed: 9527                                  # optional. random seed for deterministic tuning.

It is weird that the old version of the quantized model can be run, but the new version of the quantized model cannot be run with the script demo.py from opencv_zoo/models/palm_detection_mediapipe.
Actually, I don't know why this happened. Is there any update to the relevant interface after the version update?
Thank you for your help!

Hi, could you offer the error info?


3D effect doesn't work with clip-path property

Hi, your library is great!!
I only had an incompatibily with the CSS property "clip-path".
The move for elements inside my data-tilt doesnt work and 3D effect is lost... ¿could I change anything or add something else for have both effects (clip-path and transform)?
This is my demo site: http://test.1simplegame.com/

Yes this is a limitation in browsers. You could however try this:
<a href="#"> // tilt element (so everything is clickable)
  <img /> // main image (clip path)
  <img /> // logo image
  <button type="button">cta</button>
</a>

It works! I still have some issues in safari, but it's about the "clip-path" ....
Thanks!! You rock!

Awesome! Love the site site btw!


create environment name text box deletes typed characters

Describe the bug
When creating an environment and typing the name, the text box with automatically backspace characters after 1-2 seconds.
To Reproduce
Steps to reproduce the behavior:

Go to My environments
Click on Add environment
Click on Create environment
Type in the name text field.
Characters get automatically deleted

Expected behavior
Name persists
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: Mac
Browser Chrome

Smartphone (please complete the following information):
NA
Additional context
Add any other context about the problem here.

Thanks @rowen we're on it! sorry about the late reply


Clean up some inheritdoc tags

Overview
Looks like when running the latest docfx (our pipeline was recently updated) with VS 2019 (our pipeline was recently updated), some in-box overridden methods aren't able to have their docs inherited. This cleans those tags up.

/azp run mrtk_docs


[Bug] Partition cache not work

Search before asking

[X] I had searched in the issues and found no similar issues.

Version
2.1.2
What's Wrong?
When open partition cache config, sql result cannot be cached in BE which lead to cache miss.
I've read the FE code, the reason seems as following:

setTooNewByID() been called in PartitionCache#getCacheData() for PartitionRange#partitionSingleList;
RowBatchBuilder#cachePartMap empty when calling PartitionCache#buildPartitionIndex() due to single.isTooNew();
Empty cachePartMap lead to InternalService.PUpdateCacheRequest#values_ empty in PartitionCache#updateCache()
PUpdateCacheRequest#values_ empty, FE would not update cache in BE.

So, partition cache also miss for same sql.
What You Expected?
Partition cache hit for same sql.
How to Reproduce?
set is_report_success=true;
set enable_nereids_planner=false;
set global enable_sql_cache=false;
set global enable_partition_cache=true;
select date,
city,
sum(cost)
from demo.example_tbl
where date >= '2017-10-01'
and date <= '2017-10-01'
group by 1,
2;
Test table is from doris document.
Anything Else?
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

Duplicate for this pr: https://github.com/apache/doris/pull/10319


Fixes for utilities

Pull Request
Title
Add utility functions to check missing packages, display server and debian bug fixes
Type of Change

[x] Bug fix
[x] Refactoring
[x] Hotfix

Issue related to PR

Resolves https://github.com/ChrisTitusTech/linutil/issues/164

Description

Refactor bash to sh -e
Implement checks for packages xrandr, bluetoothctl, and nmcli
Add installation of missing packages
Include display server check (X11 vs Wayland)
Warn users if running on Wayland
Improve error handling and user feedback
Fix bug in monitor-utility

Testing
Tested on arch linux, Fedora 40, Ubuntu 22 and debian 12 .
Impact
Resolves errors that occur when packages are not found. Warns the user if they are in wayland when using monitor utility.
Additional Information

The PR https://github.com/ChrisTitusTech/linutil/pull/169 fixed the issue partially. I think he/she forgot to change the fix in monitor-utility.
Added fix for monitor utility not working in debian systems.

Checklist

[x] My code adheres to the coding and style guidelines of the project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generate no errors/warnings/merge conflicts.

@ChrisTitusTech changed source function to .


Fix wrong GH download URL

Description of the change:
Motivation for the change:
The original link leads to 404 page.
Checklist
If the pull request includes user-facing changes, extra documentation is required:

[ ] Add a new changelog fragment in changelog/fragments (see changelog/fragments/00-template.yaml)
[ ] Add or update relevant sections of the docs website in website/content/en/docs

@mmuzikar You are correct that using the exact link https://github.com/operator-framework/operator-sdk/releases/download/v1.23.0 results in a 404.
However we use that as a base url for specifying which binary to download using that link. For example, curl -LO https://github.com/operator-framework/operator-sdk/releases/download/v1.23.0/operator-sdk_linux_amd64 will result in downloading the binary named operator-sdk_linux_amd64 while curl -LO https://github.com/operator-framework/operator-sdk/releases/tag/v1.23.0/operator-sdk_linux_amd64 will download the HTML contents of the page https://github.com/operator-framework/operator-sdk/releases/tag/v1.23.0/operator-sdk_linux_amd64
Due to this, we should not merge this as it actually breaks the installation steps in the docs by installing the HTML of the release page instead of the actual binary.
/hold

CC @varshaprasad96 see: https://github.com/operator-framework/operator-sdk/pull/6043#issuecomment-1261174508

good catch @everettraven!
@mmuzikar as @everettraven mentioned OPERATOR_SDK_DL_URL is the base URL, and the specific OS and ARCH are further used to determine which binary is to be downloaded. As this is what is expected, I'm closing this PR. Please feel free to create an issue/PR if you find anything unexpected in docs. Thanks for your contribution, we do appreciate it!


Unable to create new project using npx command on 0.65.0

Please provide all the information requested. Issues that do not follow this format are likely to stall.
Description
Im creating fresh project using command npx react-native init MyTestApp  after 0.65.0 stable release.
But i'm getting npm install error. See the below image.

But when i'm running npx react-native init AwesomeProject --version 0.64.2 , i'm not getting any error and the project created successfully.
React Native version:
System:
OS: macOS 11.5.2
CPU: (8) arm64 Apple M1
Memory: 141.88 MB / 8.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 16.4.0 - /opt/homebrew/bin/node
Yarn: Not Found
npm: 7.18.1 - /opt/homebrew/bin/npm
Watchman: 2<IP_ADDRESS> - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.10.1 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 14.5, DriverKit 20.4, macOS 11.3, tvOS 14.5, watchOS 7.4
Android SDK:
API Levels: 29, 30
Build Tools: 28.0.3, 29.0.2, 30.0.3
System Images: android-25 | Google APIs ARM 64 v8a, android-29 | Google APIs Intel x86 Atom, android-30 | Google APIs Intel x86 Atom
Android NDK: Not Found
IDEs:
Android Studio: 2020.3 AI-203.7717.56.2031.7583922
Xcode: 12.5.1/12E507 - /usr/bin/xcodebuild
Languages:
Java: 1.8.0_302 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: Not Found
react-native: Not Found
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found
Steps To Reproduce
Provide a detailed list of steps that reproduce the issue.

Run npx react-native init MyTestApp on your terminal.

Expected Results
Fresh new project should be successfully created with latest verison of react-native(0.65.0)

I just tried and it works fine on my machine - I wonder if it's because I'm still on npm v6? 🤔

Tried the same, not failing but its giving old version
npx react-native init AwesomeProject is giving package.json having react-native version as 0.64.1
npx react-native init AwesomeProject --version 0.65.0 is giving package.json having react-native version as 0.64.1

Same. I solved that problem with manually install dependencies with --legacy-peer param.

Same. I solved that problem with manually installing dependencies with --legacy-peer-deps param.

Can you please share the steps, how to resolve it.

Same. I solved that problem with manually installing dependencies with --legacy-peer-deps param.

Can you please share the steps, how to resolve it.

Of course.

npx react-native init MyProject
(Get the error and let it break installation)
cd MyProject
npm install --legacy-peer-deps
npx react-native start
npx react-native run-android

and it's done.

4. npm install --legacy-peer-deps

Thank you @efefurkankarakaya now i'm able to create new project with the steps you have mentioned.
Their is one more issue that my .xcworkspace is not generating now in 0.65.0

Thank you @efefurkankarakaya now i'm able to create new project with the steps you have mentioned.
Their is one more issue that my .xcworkspace is not generating automatically now in 0.65.0. I have to generate it manually.

Thank you @efefurkankarakaya now i'm able to create new project with the steps you have mentioned.
Their is one more issue that my .xcworkspace is not generating automatically now in 0.65.0. I have to generate it manually.

You're welcome.


Reduce storage for wundergraph generated config, current amplification is 1000x+ when generated from Prisma

Problem
While consuming a Prisma file of around 140Kb with 1500 schemas, the wundergraph config is generated to consume 900GB of disk space. Not only this makes extravagant use of disk and heap memory, but it also makes the queries very slow.
Suggested solution
These are just some of the suggestions, more can be added by the community

Introduced schema with dynamic operations
Store the non-repeating data fragments in a KV store and use the same for loading operations
Expose an entity annotation to mark what operations we want to generate out of the box.

Alternatives
Not aware
Additional context
We should create an RFC for this, this may have a bigger impact on the way wundergraph handles Graphql. Also, I am not sure how these are optimized in scenarios of schema stitching or Graphql mesh

This should have been improved by a significant margin in https://github.com/wundergraph/wundergraph/pull/1070, which was first available in SDK 0.166.1. Could you please give it a try and let us know? Thanks!

Considering this as fixed by #1070. If that's not the case, please let us know and we'll reopen it. Thanks!


Positional field names should begin with '$'

I can fix this in the Flutter plugin, but it should probably be done in the VM.

See also #51451
Edit: I think this change would allow the VM service protocol to be slightly simplified. Currently, BoundField has a name property that can be either int or String. After this change, it would only be String.

It says in the spec that "Positional fields are not merely syntactic sugar for fields named $1, $2, etc. The records ('a', 'b') and ($1: 'a', $2: 'b') expose the same members, but have different shapes according to the type system."
While it is highly unlikely for someone to use named fields with names like '$1' and '$2', they are still permitted to do so by the spec. Therefore, I think the response should be kept the way it is, because the type of a BoundField's name property can indicate whether a field is positional or named, for any field that is permitted by the spec.


vagrant docs: specify restart command

Add a specific command to restart Vagrant to adopt the new
configuration.
(When naïvely using only vagrant halt + vagrant up --provision,
external devices remained unable to connect; per netstat -nltp, the
host IP of forwarded ports remained <IP_ADDRESS>.)

Testing Plan:
Connecting from a phone to a Linux dev box. A trivial Python webserver on the host was reachable, but the guest's run-dev server was not (until the reload was done).
I've only tested successfully on Linux at present, but the Mac-hosted dev server was also unable to be connected to, presumably for the same reason.

(And of course, only now do I see that this command is listed in every section except the one I was referencing. Feel free to close without action if you think it's fine as-is.)

Merged, thanks @ray-kraesig!  I think when the command is that short, we should list it every time; if it were longer/more complex, I'd have recommended we just make "restart the server" a link to common code.  In either case, definitely something to fix here.
I definitely appreciate this sort of improvement to the docs; it's very hard for me (who knows the answers) to see where we can save significant trouble/confusion for folks following the docs around details like this.


Empty SOAPAction header

Bug Report

Q
A

BC Break
no

Version

Summary
See https://github.com/phpro/soap-client/issues/398
Current behaviour
Soap action headers are not quoting the action.
Expected behaviour
Soap action headers are not quoting the action.
This also happens in ext-soap : https://github.com/php/php-src/blob/1f183792c1cf056fd45c03befbd49a60dec08bb4/ext/soap/php_http.c#L642
When this issue is fixed, we can deprecate the QuotedSoapActionMiddleware

IIUC quoting is generally safe as per protocol spec? But if anything, it should be opted out from in userland?

I think quoting it is fine, but have to look it up again in the 2 soap specs.
In any case, that is how it works in php-src (see linked code), so it should be fine. I don't think you should be able to opt-out on the behavior: we rather provide correct behavior


Allow output to be inferred from a section after the example instead of stated explicitly

This allows us to test that the claimed output in the standard is really the output. In various cases, this wasn't actually the case...
We still need ExpectedOutput at the moment for cases where the standard doesn't have the expected output in a triple-backtick-fenced block, but we could potentially aim to improve that over time.
@RexJaeschke: I've added you to the review list just to make you aware of the functionality :)

@jskeet. Once this PR has been merged, I'll update the user guide and grammar (in my pending PR) to reflect this new option.


Assert on no owner property returned in ListPaths call

Describe the bug
DataLakeFileSystems ListPaths assert on file to have owner property in its return, but in my test case, it doesn't return "owner"
Exception or Stack Trace
* thread #1, queue = 'com.apple.main-thread', stop reason = hit program assert
    frame #4: 0x000000010148e350 NebulaServer`Azure::Core::Json::_internal::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, Azure::Core::Json::_internal::adl_serializer, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > const& Azure::Core::Json::_internal::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, Azure::Core::Json::_internal::adl_serializer, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >::operator[]<char const>(this=0x0000600000018160, key="owner") const at json.hpp:19460:9
   19457              // at only works for objects
   19458              if (_az_JSON_HEDLEY_LIKELY(is_object()))
   19459              {
-> 19460                assert(m_value.object->find(key) != m_value.object->end());
   19461                return m_value.object->find(key)->second;
   19462              }
   19463
Target 0: (NebulaServer) stopped.

To Reproduce
N/A
Code Snippet
  std::vector<FileInfo> fileInfos;
  auto dirClient = std::make_shared<DataLakeDirectoryClient>(
    client_->GetDirectoryClient(path));

  // azure datalake will throw if the path not exists
  // different behavior from S3/GCS, wish there is a quick method like `Exists`
  try {
    // opts may contain continuation token since azure return maximum 5K results per request
    ListPathsOptions opts;
    while (true) {
      auto res = dirClient->ListPaths(false, opts);
     ...

Expected behavior
clear requirement or not assert, after all, we don't need "owner" info anyways
Screenshots
If applicable, add screenshots to help explain your problem.
Setup (please complete the following information):
"GIT_TAG azure-storage-files-datalake_12.2.0"
Additional context
should be straightforward, not sure why "owner" is not returned though.
    frame #5: 0x000000010148ea24 NebulaServer`Azure::Storage::Files::DataLake::_detail::DataLakeRestClient::FileSystem::PathItemFromJson(node=0x0000600000018160) at datalake_rest_client.hpp:716:26

Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Bug Description Added
[x] Repro Steps Added
[ ] Setup information Added

FYI. I used this simple change to unblock Nebula integration with Azure, but if you think it's worth to merge this PR let me know, otherwise, I'll drop it. https://github.com/Azure/azure-sdk-for-cpp/pull/3038

Hi @shawncao , are you running your application against Azure Storage service? I don't understand why the "owner" field was not returned.

Hey @Jinming-Hu thanks for looking into this issue.
FYI. the code where we use azure SDK is here https://github.com/varchar-io/nebula/blob/master/src/storage/azure/DataLake.cpp#L94-L132
The storage we're using is DataLake Gen2, not sure how much we can share since it may contain company data. I think it's safe to share the endpoint which is https://testnebula.dfs.core.windows.net/, like usually, just create a container, upload a file, and use above code to list the folder. I don't think we did anything special.

@ritvik-statsig

Please check if you have enabled HNS for your storage account

it is disabled.

DataLake clients only work for storage accounts with HNS enabled. Please use blob clients instead


chore: bdd-spring-1574166277 to 0.0.1

chore: Promote bdd-spring-1574166277 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


Update go-live-faq.md

Fixed the right retention days for production DB

:x: Organization membership check failed
Members of the MicrosoftDocs organization should use the private repo. Please move your changes to https://github.com/MicrosoftDocs/Dynamics-365-Operations, and close this pull request.


Question: How to use the sdk without "Will Ink SDK"

It is advertised that the "WILL Ink SDK" is optional but I don't see how to start the capture dialog as StuCaptDialog is dependant on digital-ink-min.js
The reason I don't want to use "WILL Ink SDK" is because it uses js-ext-min.js which is modifying the prototypes of some core JS objects and messing with our core web app.
Thank you.

Hello, we have updated the complete demo sample to show how to use it withoud WILL Ink SDK

Hello, we have updated the complete demo sample to show how to use it withoud WILL Ink SDK.

Thank you very much, I will have a look later this week.
In the mean time I figured out the issue with js-ext-min.js
Currently after you load that file the Object methods added/edited appear in the prototype as enumerable thus being taken into account in operation such as https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in in the Array Object
I fixed it with the following code:
for (let prop in Array.prototype) Object.defineProperty(Array.prototype, prop, { enumerable: false });

You can easily reproduce the issue by comparing the result of the following in a browser debug terminal with and without js-ext-min.js loaded.
const arr =[{val:1}];
for (let i in arr) console.log(i);

Most likely all the method patched by js-ext-min.js shouldn't appear as enumerable.

Hello, I have tried the new version of the complete demo and unselected "use WILL" in the settings
It is working on the demo page when using the button "Capture signature from Generic device"
But with the button "Capture signature from STU tablet" it freezes when I click OK on the tablet after drawing the signature.
I am using a STU-430/G tablet.
Thank you for your help.


Silent with syntax error

For following code, Trealla exit silently (superfluous , after b):
:- initialization(main).

main :- atomic_list_concat([a, b,], A), write(A), nl, halt.

yes:
X = [a,b,].
will segfault it seems.
On Fri, Jun 16, 2017 at 10:02 PM, Xin Wang<EMAIL_ADDRESS>wrote:

For following code, Trealla exit silently (superfluous , after b):
:- initialization(main).
main :- atomic_list_concat([a, b,], A), write(A), nl, halt.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/trealla-lang/trealla/issues/168, or mute the thread
https://github.com/notifications/unsubscribe-auth/AVqpEnfeWqvTnurFl8DldHU1dst7_h21ks5sEm7FgaJpZM4N8X__
.

Fix confirmed, thanks.


[Ansible-hub] Remove local postgresql

Remove local postgresql

Wait to merge until we have all the services ready


Hack support IJ 2018.3

Changes:

Use newer IJ 2018.3. Maybe not required. I was confused by compile error for golang and scala.
Use newer scala plugin. Uninformed hack because https://github.com/JetBrains/intellij-scala/commit/526787ba75 deleted getTruncedQualifiedName
Copy/paste 2018.2 entires to 2018.3 in other languages: golang, javascript, python. Just aiming for "it compiles" and works for java.

Cherry picked as https://github.com/uri-canva/intellij/commit/bc4a99f5355ccb68d7d8bba17e58bd3438842961 and released with https://github.com/uri-canva/intellij/commit/50e9edef2e58efa904869ccd5fb2f95f7a1902da.

Looks like this hack can be replaced with a rebase to get official support 🎉


on setting open={isDateOpen}, Inline datepicker does not open on click

I tried setting open props for Inline DatePicker, it is working fine on on state change, but when i am trying to click on the DatePicker box it is not opening. I think It is hard bounded to the open props.
will you please look into this.

https://material-ui-pickers.dev/guides/controlling-programmatically
Please read documentation first

yes I checked the docs. but for fixing this I need to set onOpen event on date picker. i already bound onChange onClose now i need to add onOpen also Why?

Because you have choosen manual control of the open/close state

Ok no issue