Infinite loop if refresh token is invalid

Hi there,
If I use an invalid refresh token, it goes into an infinite loop, not throwing an exception.
It keeps trying requesting itself again and again..
This is so frustrating as refresh token can be broken many reasons(Change password, etc)
If there are some options which can raise an exception, it would be much more easy to handle these situations.
Please let me know your opinion or guide me!

Test Code

   @Test(expected = GoogleAdsException.class)
    public void infinite_loop_exception_test()  throws Exception{

        String personal_mcc_token = "1/SomeBrokenRefreshToken";
        String mcc_id = "xxxxxxx";
        String customer_client_id = "xxxxxxx";

        GoogleAdsClient googleAdsClient = testHelper.getGoogleClient(mcc_id,  personal_mcc_token);
        GoogleAdsServiceClient googleAdsServiceClient = googleAdsClient.getLatestVersion().createGoogleAdsServiceClient();
        SearchGoogleAdsRequest request = SearchGoogleAdsRequest.newBuilder()
                .setCustomerId(customer_client_id)
                .setPageSize(10000)
                .setQuery("SELECT campaign.id FROM campaign")
                .build();
        GoogleAdsServiceClient.SearchPagedResponse searchPagedResponse = googleAdsServiceClient.search(request);
    }

Error logs

2019-08-13 16:56:20.178  WARN 14560 --- [          Gax-1] c.g.ads.googleads.lib.request.summary    : FAILURE REQUEST SUMMARY. Method: google.ads.googleads.v2.services.GoogleAdsService/Search, Endpoint: googleads.googleapis.com:443, CustomerID:<PHONE_NUMBER>, RequestID: null, ResponseCode: UNAVAILABLE, Fault: Credentials failed to obtain metadata.
2019-08-13 16:56:20.180  INFO 14560 --- [          Gax-1] c.g.ads.googleads.lib.request.detail     : FAILURE REQUEST DETAIL.
Request
-------
MethodName: google.ads.googleads.v2.services.GoogleAdsService/Search
Endpoint: googleads.googleapis.com:443
Headers: {developer-token=REDACTED, login-customer-id=7987822632, x-goog-api-client=gl-java/1.8.0_161 gapic/ gax/1.45.0 grpc/1.21.0}
Body: customer_id: "5262041796"
query: "SELECT campaign.id FROM campaign"
page_size: 10000

Response
--------
Headers: null
Body: null
Failure message: null
Status: Status{code=UNAVAILABLE, description=Credentials failed to obtain metadata, cause=com.google.api.client.http.HttpResponseException: 400 Bad Request
{
  "error": "invalid_grant",
  "error_description": "Bad Request"
}
	at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1070)
	at com.google.auth.oauth2.UserCredentials.refreshAccessToken(UserCredentials.java:193)
	at com.google.auth.oauth2.OAuth2Credentials.refresh(OAuth2Credentials.java:165)
	at com.google.auth.oauth2.OAuth2Credentials.getRequestMetadata(OAuth2Credentials.java:151)
	at com.google.auth.Credentials.blockingGetToCallback(Credentials.java:113)
	at com.google.auth.Credentials$1.run(Credentials.java:99)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
	at java.util.concurrent.FutureTask.run(FutureTask.java)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
}.
2019-08-13 16:56:22.746  WARN 14560 --- [          Gax-4] c.g.ads.googleads.lib.request.summary    : FAILURE REQUEST SUMMARY. Method: google.ads.googleads.v2.services.GoogleAdsService/Search, Endpoint: googleads.googleapis.com:443, CustomerID:<PHONE_NUMBER>, RequestID: null, ResponseCode: UNAVAILABLE, Fault: Credentials failed to obtain metadata.
2019-08-13 16:56:22.747  INFO 14560 --- [          Gax-4] c.g.ads.googleads.lib.request.detail     : FAILURE REQUEST DETAIL.
Request
-------
MethodName: google.ads.googleads.v2.services.GoogleAdsService/Search
Endpoint: googleads.googleapis.com:443
Headers: {developer-token=REDACTED, login-customer-id=7987822632, x-goog-api-client=gl-java/1.8.0_161 gapic/ gax/1.45.0 grpc/1.21.0}
Body: customer_id: "5262041796"
query: "SELECT campaign.id FROM campaign"
page_size: 10000

Response
--------
Headers: null
Body: null
Failure message: null
Status: Status{code=UNAVAILABLE, description=Credentials failed to obtain metadata, cause=com.google.api.client.http.HttpResponseException: 400 Bad Request
{
  "error": "invalid_grant",
  "error_description": "Bad Request"
}
	at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1070)
	at com.google.auth.oauth2.UserCredentials.refreshAccessToken(UserCredentials.java:193)
	at com.google.auth.oauth2.OAuth2Credentials.refresh(OAuth2Credentials.java:165)
	at com.google.auth.oauth2.OAuth2Credentials.getRequestMetadata(OAuth2Credentials.java:151)
	at com.google.auth.Credentials.blockingGetToCallback(Credentials.java:113)
	at com.google.auth.Credentials$1.run(Credentials.java:99)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
	at java.util.concurrent.FutureTask.run(FutureTask.java)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
}.
2019-08-13 16:56:23.128  WARN 14560 --- [          Gax-1] c.g.ads.googleads.lib.request.summary    : FAILURE REQUEST SUMMARY. Method: google.ads.googleads.v2.services.GoogleAdsService/Search, Endpoint: googleads.googleapis.com:443, CustomerID:<PHONE_NUMBER>, RequestID: null, ResponseCode: UNAVAILABLE, Fault: Credentials failed to obtain metadata.
2019-08-13 16:56:23.129  INFO 14560 --- [          Gax-1] c.g.ads.googleads.lib.request.detail     : FAILURE REQUEST DETAIL.
Request
-------
MethodName: google.ads.googleads.v2.services.GoogleAdsService/Search
Endpoint: googleads.googleapis.com:443
Headers: {developer-token=REDACTED, login-customer-id=7987822632, x-goog-api-client=gl-java/1.8.0_161 gapic/ gax/1.45.0 grpc/1.21.0}
Body: customer_id: "5262041796"
query: "SELECT campaign.id FROM campaign"
page_size: 10000

Response
--------
Headers: null
Body: null
Failure message: null
Status: Status{code=UNAVAILABLE, description=Credentials failed to obtain metadata, cause=com.google.api.client.http.HttpResponseException: 400 Bad Request
{
  "error": "invalid_grant",
  "error_description": "Bad Request"
}
	at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1070)
	at com.google.auth.oauth2.UserCredentials.refreshAccessToken(UserCredentials.java:193)
	at com.google.auth.oauth2.OAuth2Credentials.refresh(OAuth2Credentials.java:165)
	at com.google.auth.oauth2.OAuth2Credentials.getRequestMetadata(OAuth2Credentials.java:151)
	at com.google.auth.Credentials.blockingGetToCallback(Credentials.java:113)
	at com.google.auth.Credentials$1.run(Credentials.java:99)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
	at java.util.concurrent.FutureTask.run(FutureTask.java)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
}.
Disconnected from the target VM, address: '<IP_ADDRESS>:62310', transport: 'socket'
2019-08-13 16:56:26.095  INFO 14560 --- [       Thread-5] c.m.t.c.processor.AbstractJobProcessor   : Shutting down application...
2019-08-13 16:56:26.096  INFO 14560 --- [       Thread-5] c.m.t.c.processor.AbstractJobProcessor   : Shutdown complete.

Process finished with exit code 130

@devchas please try to reproduce this issue. Check if the OAuth library allows us to detect an invalid refresh token. If so implement a check in the builder which rejects the refresh token with a new exception called LibrarySetupException which contains an enum of reasons.

Apologies for the delayed response here. I was able to reproduce the issue. Interestingly, the issue only exists for search requests. Mutate and searchStream request exhibit normal behavior. I've debugged fairly extensively and believe there is an issue with either the Gax or OAuth2 libraries because the call to GoogleAdsServiceClient.search ultimately creates a UnaryCallable instance, and that call method never returns.
I've opened an issue with the gax-java repo to see if they have any insight. I do think it's specific to the Java implementation of Gax because I tried to replicate the issue with the client library for Python, but it returned an error as expected without any infinite loop.
@nwbirnie any thoughts here?

Pinged on the bug, I agree this looks like a bug in GAX. There is a workaround possible here which is to switch the RPC from paging -> streaming (i.e. call searchStream() instead of search()). We have upcoming changes to the code generation and I'm planning to get this resolved there. Please let us know if this is infeasible for you.

Looks like we're tracking this in the upcoming microgenerator migration.

I have come here because I have seen this issue (with OAuth token) before; but also -- unsure if it is related -- I notice an issue with requests hanging when they result in an error sometimes. For instance, unspecified LoginCustomerId when it needed to be specified resulted in the program hanging. I, unfortunately, do not have a pithy case to reproduce at the moment but has there been any more information here?

Hello,
I have a similar problem. However, using searchStream() couldn't be workaround.
I tried  v10.1.0, v11.0.0.
// googleAdsServiceClient is created by invalid credentials

ServerStream<SearchGoogleAdsStreamResponse> stream =
        googleAdsServiceClient.searchStreamCallable().call(request);

// Never returns...
stream.iterator().hasNext();

and I checked logs, the retries are repeating endlessly.

I can confirm that this looks like a misbehavior of the retries. We appear to infinitely retry failed OAuth requests.
Logs here.
I'm guessing that we have the wrong settings for retries on OAuth errors. Will reach out internally to investigate and get back to you.

So, has anyone solved this problem? Here is the link to my question:
https://groups.google.com/g/adwords-api/c/bZe4omTqSIc

Yes, this is currently being worked on, was picked up a couple weeks ago. We should have an update here soon.

https://github.com/googleads/google-ads-java/issues/169

I am also waiting for a solution to this problem, I am pending for when they solve it

Can do this:
`UserCredentials credentials = UserCredentials.newBuilder()
.setClientId(clientId)
.setClientSecret(clientSecret)
.setRefreshToken(refreshToken)
.build();
    AccessToken accessToken = credentials.refreshAccessToken();

    return GoogleAdsClient.newBuilder()
            .setCredentials(credentials.toBuilder().setAccessToken(accessToken).build())
            .setDeveloperToken(developerToken)
            .setLoginCustomerId(loginCustomerId)
            .build();`

I like this as a temporary workaround until we get a fix.
On Tue, Aug 24, 2021, 11:10 PM Xiang Sun @.***> wrote:

Can do this:
`UserCredentials credentials = UserCredentials.newBuilder()
.setClientId(clientId)
.setClientSecret(clientSecret)
.setRefreshToken(refreshToken)
.build();
AccessToken accessToken = credentials.refreshAccessToken();

return GoogleAdsClient.newBuilder()
        .setCredentials(credentials.toBuilder().setAccessToken(accessToken).build())
        .setDeveloperToken(developerToken)
        .setLoginCustomerId(loginCustomerId)
        .build();`

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/googleads/google-ads-java/issues/169#issuecomment-905145900,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABCOJCGKKNJSHBE6W3OD66LT6RNKZANCNFSM4ILIFPWQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

Just updating this thread that the root cause seems to be caused by this issue. It looks like a design was in progress as of September 2021.

Current status is that the addition of the Retryable interface was released in google-auth-library 1.5.3, and that needs to be incorporated into grpc-java. That was attempted in https://github.com/grpc/grpc-java/pull/9102, but then reverted in https://github.com/grpc/grpc-java/pull/9118 due to other Google dependencies. We're waiting for those issues to be resolved.
Internal ref: b/231441733

you can manually shutdown after certain time
try (GoogleAdsServiceClient client = context.getLatestVersion().createGoogleAdsServiceClient()) {
    final AtomicBoolean finish = new AtomicBoolean(false);
    ResponseObserver<SearchGoogleAdsStreamResponse> responseObserver;
    responseObserver = new ResponseObserver<SearchGoogleAdsStreamResponse>() {
        @Override
        public void onStart(StreamController controller) {
        }

        @Override
        public void onResponse(SearchGoogleAdsStreamResponse response) {
            //your code after getting correct response
        }

        @Override
        public void onError(Throwable t) {
            //you may export log here
            finish.set(true);
        }

        @Override
        public void onComplete() {
            finish.set(true);
        }
    };
    client.searchStreamCallable().call(apiRequest, responseObserver);
    long callStart = System.currentTimeMillis();
    //wait stream call finish
    long expire = 15000;
    while (!finish.get()) {
        long callCheck = System.currentTimeMillis();
        if (callCheck - callStart > 15000) {
            client.shutdownNow();
            //you may add shutdown log
            break;
        }
    }
} catch (Exception e) {
}

I had the same situation, cancel the multiple threads didn't work。
 log.info("accountInfoMonitor-start-1");
        FutureTask<List<CustomerClient>> futureTask = new FutureTask<>(new Callable<List<CustomerClient>>() {
            @Override
            public List<CustomerClient> call() {
                return googleCustomer.getCustomerInfo(appConfig);
            }
        });
        ExecutorService executor = Executors.newSingleThreadExecutor();
        executor.submit(futureTask);

        List<CustomerClient> list = new ArrayList<>();
        log.info("accountInfoMonitor-start-2");
        try {
            list = futureTask.get(120, TimeUnit.SECONDS);
        } catch (InterruptedException e) {
            futureTask.cancel(true);
            log.error("InterruptedException msg:{}", e.getMessage());
        } catch (ExecutionException e) {
            futureTask.cancel(true);
            log.error("ExecutionException msg:{}", e.getMessage());
        } catch (TimeoutException e) {
            futureTask.cancel(true);
            log.error("TimeoutException msg:{}", e.getMessage());
        }
        log.info("accountInfoMonitor-start-3");

Have you tried explicitly calling refreshAccessToken() as mentioned in a previous comment? That will fail immediately if you have an invalid refresh token.

Can do this:
UserCredentials credentials = UserCredentials.newBuilder()
                .setClientId(clientId)
                .setClientSecret(clientSecret)
                .setRefreshToken(refreshToken)
                .build();

// if refresh token is invalid, throw exception
AccessToken accessToken = credentials.refreshAccessToken();

GoogleAdsClient.newBuilder()
                .setCredentials(credentials.toBuilder().setAccessToken(accessToken).build())
                .setDeveloperToken(developerToken)
                .setLoginCustomerId(loginCustomerId)
                .build();

Thank you for your answer. I have not tried this method, my problem is because I deliberately modified the token to be wrong, because the token is not permanent, so I want to test this situation.
This refresh token is used elsewhere, I am afraid that calling this function will really change the refresh token, which will affect the use of other places.
Now that I've solved it, I still have to use google client's own shutdown.

There is a fix for it?

This needs a fix in grpc-java for GRPC will keep retrying (until RPC timeout) if a user uses a bad service account key · Issue #6808 · grpc/grpc-java.
A suboptimal workaround would be to remove UNAVAILABLE from the list of retryable codes. For example, for a GoogleAdsService.search call, instead of:
    googleAdsServiceClient.search(request);

you could do:
    googleAdsServiceClient
          .searchCallable()
          .call(
              request,
              GrpcCallContext.createDefault()
                  // Overrides the list of retryable codes to exclude 'UNAVAILABLE'.
                  .withRetryableCodes(ImmutableSet.of(Code.DEADLINE_EXCEEDED)));

However, this is suboptimal because there will be occasional UNAVAILABLE errors that should be retried but are not due to invalid OAuth credentials. By removing UNAVAILABLE, the library will not retry those other types of requests.

That grpc-java change looks like it is in 1.63 which was pushed to maven central Apr 4.

@jacob-tolar-bridg , thanks for highlighting and for testing. I'm following up with my gRPC contacts on this.
-Josh, Google Ads API Team

We align the google-ads-java dependencies with those of the libraries-bom project for interoperability between this library and other Google Cloud libraries. The latest release of the libraries-bom project depends on grpc 1.62.2, but I'm checking periodically for updates.
Thanks,
Josh

Finally it is fixed. Updating grpc-java dependencies to 1.64.0 worked for me
implementation 'io.grpc:grpc-protobuf:1.64.0'   implementation 'io.grpc:grpc-stub:1.64.0'   implementation 'io.grpc:grpc-xds:1.64.0'
See here: https://github.com/grpc/grpc-java/issues/6808#issuecomment-2152966650

Thanks for confirming. I'm still waiting for libraries-bom to pick up this change, per my previous comment.

@jradcliff
Is there any ETA to release the updated library

Good news! Version 33.0.0, released earlier today, includes an upgrade to gRPC 1.65.1 where this issue has been fixed.


Two failing asserts for compare-worksheet

Commented out for now. Needs to be checked.
https://github.com/dfinke/ImportExcel/blob/master/__tests__/Compare-WorkSheet.tests.ps1#L89
https://github.com/dfinke/ImportExcel/blob/master/__tests__/Compare-WorkSheet.tests.ps1#L165

I'll check this.

I also need to make a small change to the tests. It turns out the order of things returned in a diff operation changes when you move between the plain shell and the ISE. So I need to insert a sort operation or two :-(

yeah, was re-running the tests locally and they failed in on other asserts, but it worked with Appveyor. This is unfortunate.


Generic return type (T[K]) is intersection among all properties of T instead of union

Bug Report

🔎 Search Terms
conditionally generic return type, union vs intersection, valueof etc
🕗 Version & Regression Information

This changed between versions 3.3.3 and 3.5

⏯ Playground Link

Playground link with relevant code
💻 Code

export interface ConfigA {
  user: string
}

export interface ConfigB {
  [key: string]: number | string | boolean
}

export interface Config {
  A?: ConfigA
  B?: ConfigB
}

export class ConfigClass {
  config: Config = {}
  get(key: keyof Config) {
    return this.config[key]
  }
}

type ValueOf<T> = T[keyof T]

const config = new ConfigClass()

function a<K extends keyof Config>(key: K): Config[K] {
  return config.get(key)
}

🙁 Actual behavior

Type 'ConfigA | ConfigB | undefined' is not assignable to type 'Config[K]'.
Type 'ConfigA' is not assignable to type 'Config[K]'.
Type 'ConfigA' is not assignable to type 'ConfigA & ConfigB'.
Type 'ConfigA' is not assignable to type 'ConfigB'.
Index signature for type 'string' is missing in type 'ConfigA'.
🙂 Expected behavior

I would expect no error of returning config.get(key) within function a

get needs to be generic; otherwise, the return type is essentially Config[keyof T].

get needs to be generic; otherwise, the return type is essentially Config[keyof T].

thanks! But even with Config[keyof T], should not it be ConfigA | ConfigB instead of ConfigA & ConfigB ?

But even with Config[keyof T], should not it be ConfigA | ConfigB instead of ConfigA & ConfigB ?

It’s a side effect of #30769.


[logger] Add method WithEntryProperties

There is an use case, where it is required to tag a specific log entry for post-processing by hooks. The problem is to make a hook to differentiate an entry to process and an entry not to process. And it is required to avoid initializing a hook late (while already sending a debug message), and it is required to avoid by-string-comparison in the hook. We already had by design a thing to handle such things, it was called EntryProperties. Up until now it was used only internally (despite being a public entity), and apparently I forgot to add a method, which would control EntryProperties from the outside. Fixing it.

No feedback provided for about a month, merging as is. Feel free to provide feedback afterwards, though: I'll try to address it.


Not an issue. How can I change the color of the unselected TextField to #232323?

Sorry about that awful question, but I've tried to change on the project and build using netbeans but it gives me an error when I put the jar on my project.
I can't find a way to do this.

Exception in thread "main" java.lang.ExceptionInInitializerError
at mdlaf.MaterialLookAndFeel.initComponentDefaults(MaterialLookAndFeel.java:148)
at javax.swing.plaf.basic.BasicLookAndFeel.getDefaults(BasicLookAndFeel.java:148)
at javax.swing.plaf.metal.MetalLookAndFeel.getDefaults(MetalLookAndFeel.java:1577)
at javax.swing.UIManager.setLookAndFeel(UIManager.java:539)
at MainClass.MainClass.main(MainClass.java:29)
Caused by: java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(ImageIO.java:1348)
at mdlaf.utils.MaterialImages.loadImg(MaterialImages.java:36)
at mdlaf.utils.MaterialImages.(MaterialImages.java:30)
... 5 more
Java Result: 1

Hello @khadapps ,
I was thinking about how to make personalization easier, while I give you a hand in personalization, try the following piece of code after setting the look and feel.
UIManager.put("TextField.inactiveBackground", new Color(35, 35, 35);
I hope to be proved helpful

Many thanks Vincenzo!
But I can't make it work...
I've tried to change "inactiveBackground" to "unfocusedBackground" but neither of them works.

@khadapps Can you post the code ?? and above all the complete exception?

Wait I'm a bit confused. Is the issue that Netbeans doesn't load the jar or does it have to do with the text field?

@atarw The problem is not netbinse 'cause I test the look and feel I always do it with him, rather I think his jar is corrupt.
Yesterday I was fixing a few things on my fork and I got a similar error, very similar so I think the JtextField is ok
ps: Excuse the intrusion

Hello, my problem is just that I can't change the color of the unfocused background of the JTextField.
So far I've tried things like the code UIManager.put("TextField.inactiveBackground", new Color(35, 35, 35); code but it didn't works.

Fixed!
To change the active color of a JTextfield, change JTextfield.selectionColor, or for the unfocused background, changing UIManager.put("TextField.inactiveBackground", ...) should work.
You can also change JTextField.selectionTextColor and UIManager.put("TextField.inactiveForeground", ...) for more customization


bug fix for #1274

Fix https://github.com/kubernetes-sigs/aws-alb-ingress-controller/issues/1274
Only ignore hostHeader when decide whether its unconditional redirect if no additional hostHeader is introduced by annotation.

/lgtm


open source

Author, I want to ask, is the project open source?  Thank you !

Hi, yes the project is open source. Code will be released within the next two months!

Ok, thank you very much.


Remove tolerance for @wip scenarios in build

Summary
Clean up @wip scenarios from the default profile config, and avoid them being allowed again.
Details
When I merged in #920, I missed the fact that the scenarios in that PR still had a @wip tag and were in fact still failing. This was actually expected, as we'd already discussed in that PR that the summary output is currently unable to handle retried scenarios.
Motivation and Context
We want our build to fail if there are any @wip tagged scenarios that are failing, so we don't build up technical debt.
To do

[ ] change the two @wip scenarios to match the current output
[ ] remove the @wip tags
[ ] create a new issue to specify the right output for retry (and link it to #920 because it will be much easier to implement once that is done)

Closed in c253b06e6c2fa77c245ae8787dc5812c693d8e00


Consider consistency for the exercises

Is there a style guide for Delphi?
Are these styles encouraged or enforced?
Are there any conventions that we should adopt on this track for the sake of consistency?
Can we enforce these?
Is there a linter? Are there many? Should we use one?
Is there a common convention for filenames? If not, what should our convention be?

Note that this is about the exercises (the test suites and code examples), not people's solutions.

Embarcadero has this style guide.  This is a guide consisting of suggestions, they are not enforced by the Delphi IDE.

Is there a linter for it, based on that guide?  (Is this closed prematurely? It does not seem like the points are really answered yet.)

I am not aware of any linter.  The style guide is only a suggestion on how one should style their code.  It is not enforced.

It is not enforced.  Can it be set to be enforced?  I don't think we should aside from the 'very strongly adopted' styles, if even that.  It is something that can limit communication, at times.  If so, it should be easy to communicate that the style was deviated from and disable the check for that(those) statement(s).
Should there be a link to that style guide in the documentation, for the development notes?

I know of no way to enforce a particular style.  I know the IDE has the
ability to format your code, I've never used it and it is voluntary.
A link to the guide is not a bad idea.  Where in the documentation should
it be mentioned?

Could be delivered in the first exercise, or in the documentation for the track.  Perhaps mentioned in first exercise, but stored in the documentation for the track more fully.

I see no problem providing it in the first exercise (I presume this is hello-world).  Where would it be stored in the documentation?  How would it be provided in the first exercise?  I know there is a readme file supplied with each exercise fetched, but I recall off the top of my head how to affect what goes in that file, and specifically on an exercise by exercise basis.

In the Ruby track, we use a GETTING_STARTED.md file in the exercise folder.  This has instructions for the student to help get started.

I'll check it tomorrow.   Thanks

See you then!

Here's the documentation about exercise READMEs: https://github.com/exercism/exercism.io/blob/master/docs/fixing-exercise-readmes.md

Yes, that one, thank you very much @kytrinyx ...

I'm kind of stuck here until the revamped hello-world changes fall out.  I think this discussion no longer applies to hello-world, but I am not yet sure which exercise is taking over the roll the H-W once filled.  Are we getting a new exercise, perhaps a greeter or should bob pick up the reigns?

I've suggested a replacement for the old hello-world here: https://github.com/exercism/x-common/issues/548 I hope we can land on a spec for it in the next few days.

Putting the Object Pascal Style Guide here so I can find it easier later.  This document is pretty old.  Will have to test all the links and remove the ones that are broken.

@kytrinyx said:

Here's the documentation about exercise READMEs: https://github.com/exercism/exercism.io/blob/master/docs/fixing-exercise-readmes.md

@kytrinyx the above link is broken.  I am trying to figure out where the file has gone to (assuming /docs repo) and what the file's name is.  Thanks.

Ah, sorry! https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/exercise-readmes.md

No worries.  Thanks @kytrinyx

In active development for formatting.  Taking advantage of github support for org files.

It sounds like the most useful next step here, then, would be to document in the README or contributing file the conventions that are in place, and then not worry about automation.

It sounds like the most useful next step here, then, would be to document in the README or contributing file the conventions that are in place,

I agree.  I have ignored the README for this repo.


Basic website to render README.

Uses GH actions to render the README with Zola.
#12

Addresses #12

closes #12


Angular Custom Elements & Angular 8 Material: MatDialog and MatMenu not working

I am using angular custom elements to build an application in which a MatDialog is part of the custom element. I have a MatMenu in the host application as well. Problem is, when I open the mat-dialog on page load and then open the mat-menu, the mat-dialog is not working afterwards, otherwise if I open the menu first and then the mat-dialog, then the menu doesn't work anymore.
You can find the stackblitz at : https://stackblitz.com/edit/angular-nr58ab-tbu38h
I have added the main.js code of the MatDialog application in the index.html itself. The main.js was generated after building the app with ngx-build-plus in prod mode with output-hashing none and single-bundle true.
The MatDialog app code is like this:
app.module.ts
import { BrowserModule } from "@angular/platform-browser";
import { BrowserAnimationsModule } from "@angular/platform-browser/animations";

import { NgModule, Injector } from "@angular/core";

import { AppRoutingModule } from "./app-routing.module";
import { AppComponent } from "./app.component";
import { createCustomElement } from "@angular/elements";

import { MatDialogModule, MatButtonModule } from "@angular/material";

@NgModule({
  declarations: [AppComponent],
  imports: [
    BrowserModule,
    AppRoutingModule,
    MatDialogModule,
    BrowserAnimationsModule,
    MatButtonModule
  ],
  providers: [],
  bootstrap: [AppComponent],
  entryComponents: [AppComponent]
})
export class AppModule {
  constructor(private injector: Injector) {
    const myCustomElement = createCustomElement(AppComponent, {
      injector: this.injector
    });
    customElements.define("app-test-data", myCustomElement);
  }
  ngDoBootstrap() {}
}

app.component.ts
import { Component, Input, TemplateRef } from "@angular/core";
import { MatDialog } from "@angular/material";

@Component({
  selector: "app-root",
  templateUrl: "./app.component.html",
  styleUrls: ["./app.component.css"]
})
export class AppComponent {
  constructor(private dialog: MatDialog) {}
  openModal(temp: TemplateRef<any>) {
    this.dialog.open(temp, { width: "100px", height: "100px" });
  }
}

and the app.component.html
<button mat-raised-button (click)="openModal(modal)">Open</button>

<ng-template #modal>
  <mat-dialog-content>
    Hello
  </mat-dialog-content>
</ng-template>

This is the app I have built and put inside the index.html of the app in the stackblitz.
I am stuck with this for some time now, I have tried running the dialog.open() inside NgZone.run() also, but no luck there either. Thanks.
Angular Setup:
Angular CLI: 8.3.21
Node: 13.6.0
OS: win32 x64
Angular: 8.2.14
... animations, common, compiler, compiler-cli, core, elements
... forms, language-service, platform-browser
... platform-browser-dynamic, router
Package                           Version
@angular-devkit/architect         0.803.21
@angular-devkit/build-angular     0.803.21
@angular-devkit/build-optimizer   0.803.21
@angular-devkit/build-webpack     0.803.21
@angular-devkit/core              8.3.21
@angular-devkit/schematics        8.3.21
@angular/cdk                      8.2.3
@angular/cli                      8.3.21
@angular/material                 8.2.3
@ngtools/webpack                  8.3.21
@schematics/angular               8.3.21
@schematics/update                0.803.21
rxjs                              6.4.0
typescript                        3.5.3
webpack                           4.39.2

I think I am having the same issue, seems that there's something wrong the with animations defined in mat-menu in my case. First time always works, any attempt thereafter does seem to create everything but the css on the mat-panel is wrong. (It seems to be stuck after the first step of the transFormMenu animation)

@wesselvdv Can you please elaborate. My problem is also on mat-menu, however mat-tooltips also doesn't work.

@wesselvdv Can you please elaborate. My problem is also on mat-menu, however mat-tooltips also doesn't work.

Can you show the code in question that isn't working? Also any parent element with directives on it might be useful.

@wesselvdv  The code that I've given above doesn't work. You can check this stackblitz out https://stackblitz.com/edit/angular-nr58ab-tbu38h. Thanks.

@yash0412 Oh apologies, didn't realise that. Seems a quite different case than what I had. I had an issue with it not showing up, but it was rendered. This doesn't seem to fire at all?

@wesselvdv In my case the elements are showing up, but after clicking they stop working, as in the matDialog doesn't open

Did you find a way out of it ?

Did you find a way out of it ?

I have upgraded to angular 9, this issue is fixed in it.

any updates on this issue?

any updates on this issue?

Use the latest angular version and latest material version.

Issue was fixed after upgrading to later versions of angular cli and material.


fix: drop calendar small visual things

PR Type

[x] Bugfix
[ ] Feature
[ ] Refactoring

Context
can be tested after https://github.com/kodadot/private-workers/pull/96

[x] calendar cards: v2 update provide supply
[x] add placeholder image when no  calendar items are set
[X] calendar preview: only show carousel if  calendar has  calendar_items
[x] make twitter handle nullable

Needs QA check

@kodadot/qa-guild please review

Did your issue had any of the "$" label on it?

[x] Fill up your DOT address: Payout

Screenshot 📸

[x] My fix has changed something on UI;

now that we have https://github.com/kodadot/private-workers/pull/96 can someone populate the db with some  calendars
cc @yangwao  @vikiival
thanks

can someone populate the db with some calendars

https://github.com/kodadot/private-workers/pull/96#issuecomment-2017688392

can someone populate the db with some calendars

feat: Add to calendar API  private-workers#96 (comment)

yes I could add them myself.
but I meant someone who access full access to the list of scheduled drops can add them (I can't see ops-internal) ,  since beta and prod use the same DB , we will need real data

Calendar table is here: https://www.notion.so/metaprime/4253b4dc2d9d49e0ab1ac095cd1619a6?v=670ccd6a45f84fcb955a9633509bc6fe

the only relevant info that I can see are twitter_handle and date
can't see , name, description  and I'd need more details  (if present) like
{
 "name": "calendar name",
 "description": "calendar description",
 "address": "",
 "content": "",
 "date": "2024-04-21",
 "time": "15:00:00",
 "holder_of": "44",
 "location": "Spain, Barcelona",
 "price": "5000000000",
 "royalty": 10,
 "supply": 500,
 "twitter_handle": "KodaDot"
}

plus  images

time will only show in the last 24h like we were talking or will it always show(i prefer the last one)?

now that we have kodadot/private-workers#96 can someone populate the db with some calendars
cc @yangwao @vikiival

I can add that later today

@hassnian there should be two entries in calendar + one image each

time will only show in the last 24h like we were talking or will it always show(i prefer the last one)?

for calendar cards if time is provided , it  always will be visible

@hassnian there should be two entries in calendar + one image each

now we've got some calendar drops 🚀
@prury let me know if you find anything

@hassnian here it still won't show me the full time (date/time)

and when i open the card it shows me the full date/time but not in my timezone/locale

@prury test again

Thanks!
pay 30 usd

😍 Perfect, I’ve sent the payout
💵 $30 @ 9.61 USD/DOT ~ 3.122 $DOT
🧗 16faLfsywwNATaEfbH2ah75dn6ZmctQWpMS5G4KFhbmj5hnD
🔗 0x29c0b387ac951a1dbb1fc1fcc9d26b0b38fceaea8253cb2cf3322859a651ef47
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues


[ServiceBus] az servicebus namespace authorization-rule keys renew: Add --key-value parameter

Description
This PR has code changes to add key_value to cmdlet az servicebus namespace authorization-rule keys renew
Testing Guide

History Notes

[ServiceBus] az servicebus namespace authorization-rule keys renew: Add --key-value parameter

This checklist is used to make sure that common guidelines for a pull request are followed.

[X] The PR title and description has followed the guideline in Submitting Pull Requests.

[X] I adhere to the Command Guidelines.

[X] I adhere to the Error Handling Guidelines.

ServiceBus

@evelyn-ys , I added the testcase for the new parameter , could we merge this now ?

Can @zhoxing-ms help review as you are the code owner?


fix: Fix typo in JS MIME type (9.x) (#349)

9.x version of #349 fix.
Test plan:

Run gulp watch
Run curl -I http://localhost:9080/o/theme-name/js/main.js
See Content-Type: text/javascript in output

Thanks for this (and doing it on both branches too!).


Hotkey

Hey Ehsan,
I'd like to add a save hotkey for my first release to your project if that's okay.

Sure, have fun!

Thank you for the additional feature!


Correctly suppress Bars legend in bokeh>0.12.2

Simple fix addressing #958, along with unit test.

Looks good and the tests are passing. Merging.


https://morpheus-graphql-slack-invite.herokuapp.com/ is down

In the docs https://morpheus-graphql-slack-invite.herokuapp.com/ the invite link is down, can you please send me an invite<EMAIL_ADDRESS>thanks

https://github.com/morpheusgraphql/morpheus-graphql/blob/144a98ad7fd5022bbd890de92564d9ad286b7c00/morpheus-graphql-server/README.md?plain=1#L9

i think you can use new link on readme. its public you don't need manual invitation from me


[v1.12] Truncate version label to the k8s maximum of 63 when appropriate.

This will be required when the version label is based on an image version that is a SHA.

molecule test added and shows it working


Add the quantity for each ingredient so the preview will display properly

Fixes #46

Pull Request Test Coverage Report for Build 355

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

Totals

Change from base Build 351:
0.0%

Covered Lines:
115

Relevant Lines:
161

💛  - Coveralls


[typescript] title, tabIndex, style... are missing from most TS types

Basically while porting from the old version I get lots of errors while using standard react HTML element properties. For example, whenever I try to add a title property to a button (to get a native tooltip) I get an error. While using tabIndex={-1} on it to avoid focusing via the tab key I get an error. While creating my own component that uses ButtonProps as a base I get that the style property is not defined and so on.
v0.xx types were ok in this regard since they extend their props with extends React.HTMLAttributes<{}> to get this behavior right (although it also meant that it got lots of potentionally invalid properties inserted into the type).

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior
TS should not complain if we try to use standard html properties such as title and so on.
Current Behavior
TS complains that these properties do not exist.
Steps to Reproduce (for bugs)
As an example:
  <IconButton title='asdf' tabIndex={-1}/>

Your Environment

Tech
Version

Material-UI
latest beta

React
15

browser
Chrome 60

TS
2.5.2

For reference, react TS defines that extends as this one:
    interface HTMLAttributes<T> extends DOMAttributes<T> {
        // React-specific Attributes
        defaultChecked?: boolean;
        defaultValue?: string | string[];
        suppressContentEditableWarning?: boolean;

        // Standard HTML Attributes
        accessKey?: string;
        className?: string;
        contentEditable?: boolean;
        contextMenu?: string;
        dir?: string;
        draggable?: boolean;
        hidden?: boolean;
        id?: string;
        lang?: string;
        slot?: string;
        spellCheck?: boolean;
        style?: CSSProperties;
        tabIndex?: number;
        title?: string;

        // Unknown
        inputMode?: string;
        is?: string;
        radioGroup?: string; // <command>, <menuitem>

        // WAI-ARIA
        role?: string;

        // RDFa Attributes
        about?: string;
        datatype?: string;
        inlist?: any;
        prefix?: string;
        property?: string;
        resource?: string;
        typeof?: string;
        vocab?: string;

        // Non-standard Attributes
        autoCapitalize?: string;
        autoCorrect?: string;
        autoSave?: string;
        color?: string;
        itemProp?: string;
        itemScope?: boolean;
        itemType?: string;
        itemID?: string;
        itemRef?: string;
        results?: number;
        security?: string;
        unselectable?: boolean;
    }

Thanks for opening the issue!
We're doing this already 🙂  but of course may missed some. BaseButton is a prime example for that. If I remember correctly we were unsure from what to extends since it can basically be any HTMLElement.
The issue with just inheriting from HTMLAttributes is that attributes, which a <button> has, are missing (type for example).
I already wrote about a possible solution here: https://github.com/callemall/material-ui/issues/8063#issuecomment-328431666
What do you think?

@sebald I am not sure what is going on here. I was using beta.8 and switched to beta.9 to see if anything would break so I could leave an issue if possible. I get this error, I did not change anything and don't use Chip anywhere in my project.
ERROR in /Users/marcuswhelan/work/Client/node_modules/material-ui/Chip/Chip.d.ts
(4,18): error TS2430: Interface 'ChipProps' incorrectly extends interface 'HTMLAttributes<HTMLDivElement>'.
  Types of property 'tabIndex' are incompatible.
    Type 'string | number | undefined' is not assignable to type 'number | undefined'.
      Type 'string' is not assignable to type 'number | undefined'.

@marcusjwhelan having same issue here..


#7 Improved error handling and testing

Improved error handling and testing
Description
This PR fixes #7
It brings a differenciation between the errors that can arise when calling the authentication endpoint.
It also brings testing to the JwtUserDetailsService class
Type of change

[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested?
This has been tested using the new unit testing class JwtUserDetailsServiceTest
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

LGTM


docs: move contributing guide

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (ccb890c) 42.80% compared to head (34219e4) 42.44%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #40      +/-   ##
==========================================
- Coverage   42.80%   42.44%   -0.36%
==========================================
  Files           8        8
  Lines        1119     1119
==========================================
- Hits          479      475       -4
- Misses        640      644       +4

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


GET myUrl//main.min.js 404 (Not Found)

Excuse me, I've got some problem when build and learn your project.
After I run the project by "gulp serve" at local, nether can asking from desktop web or app web got the camera.
Error is like:
GET http://my-url/scripts/main.min.js 404 (Not Found)
my-url/:1 Uncaught (in promise) DOMException: Only secure origins are allowed (see: https://goo.gl/Y0ZkNV).
What can be the result?Thanks!

Well...I‘d find the fire main.min.js and drop it into the 'script' folder....
It works.But I'm not sure is this method correct.

I would suggest using gulp serve:dist
On Tue, 11 Oct 2016 at 09:52 Tunan<EMAIL_ADDRESS>wrote:

Closed #17 https://github.com/PaulKinlan/qrcode/issues/17.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/PaulKinlan/qrcode/issues/17#event-819142632, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AACxxk6qVdmudQv4y-iNX5Y8jkIPi7c8ks5qy04zgaJpZM4KTYiL
.


Map some BeeEntity constants

field_30284 is related to the minimum chance of being hurt because the bee has stung (this.random.nextInt(MathHelper.clamp(1200 - this.ticksSinceSting, 1, 1200)) == 0 in #mobTick, 1200 is the field), but I can't think of a good name for it.
One of either field_30274 and field_30275 is the pollination delay and the find hive (FindHiveGoal) delay, but we won't be able to know which is which until a value changes.
The names of 30291 and 30293 don't convince me, open to suggestions

field_30284 is more or less death timer (after bee's attack succeeds)


Implement Display for Point and Size

This PR implements the Display trait for Point and Size, as discussed in #601.
I've slightly changed the output for Sizes: 123 x 456 instead of 123x456, because it makes the output more readable IMO.
Closes #601

I guess this doesn't need any new beta releases for core/e-g, right?

No it doesn't.


MERC-701 - Firefox fix for featured products partial.

MERC-701 - Firefox fix for featured products partial.

@bc-ejoe

👍  LGTM


(FACT-1449) Fix YAML external facts to respect string types.

Facter was converting quoted scalars in YAML external fact files that could be
converted to integers, doubles, and booleans.  For example, 'true', '123', and
'123.456' would convert to boolean, integer, and double respectively, despite
being quoted in the YAML.
This fix makes use of a node's tag to determine if the scalar value in the YAML
was quoted (has a tag value of "!").  If the scalar was quoted, Facter does not
attempt to do a conversion and respects the fact that it is a string.

👍

CLA signed by all contributors.


Update USERS.md

in my  company,it is used by schedul spark batch task
Checklist:

[ ] Either (a) I've created an enhancement proposal and discussed it with the community, (b) this is a bug fix, or (c) this is a chore.
[ ] The title of the PR is (a) conventional, (b) states what changed, and (c) suffixes the related issues number. E.g. "fix(controller): Updates such and such. Fixes #1234".
[ ] My organization is added to USERS.md.
[ ] I've signed the CLA.
[ ] I have written unit and/or e2e tests for my change. PRs without these are unlikely to be merged.
[ ] My builds are green. Try syncing with master if they are not.

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

have signed the CLA.

@wuminsure can I ask how to verify your relationship with your org please?

Bump! Close or continue?

Closing pending reply from PR creator. Can always re-open.


[Feature Request]: Add gfg prblm-solution "find-duplicates-in-an-array"

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Given an array arr of size n which contains elements in range from 0 to n-1, you need to find all the elements occurring more than once in the given array. Return the answer in ascending order. If no such element is found, return list containing [-1].
Note: Try and perform all operations within the provided array. The extra (non-constant) ) space needs to be used only for the array to be returned
Use Case
Add gfg prblm-solution "find-duplicates-in-an-array"
Benefits
Add gfg prblm-solution "find-duplicates-in-an-array"
Add ScreenShots

Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@Ajay-Dhangar Please assign me this issue


413 Request Entity Too Large

I have setup nginx-proxy in front of my Flask app.
The app allows people to upload short video clips.
However, I get the following error when doing so:
413 Request Entity Too Large

Is there any way to increase nginx limit?

I RTFM, solved by mounting custom config into /etc/nginx/vhost.d/default.


fix for multisig redeemscript

Solution found by dabura667 in #6

how do we access the solution for this issue?

It was merged in the main (Cash) branch.  So, do a git pull or git clone to get the changes.


SNOW-781480: group_by and groupBy methods add undesired cols to select

Expected behaviour:
The following Python code
from logging import getLogger, INFO, FileHandler
from snowflake.snowpark.session import Session
from snowflake.snowpark.functions import col, count, to_date

# set logger to info, and save queries to log-file
getLogger("snowflake.connector.cursor").setLevel(INFO)
getLogger("snowflake.connector.cursor").addHandler(FileHandler("cursor.log"))

# start session, change query length such that full query is displayed
session = Session.builder.configs(
    dict(
        authenticator="externalbrowser",
        account="",
        user="",
        role="",
        warehouse="",
        database="",
        schema="",
        log_max_query_length=1000000,
    )
).create()

# run query
session.table("table").group_by(col("col_a")).agg(count("*").as_("num")).collect()

Should result in the first query shown below, but actually results in the second (see generated log-file), note how col_a is added to the select, which is undesired.
SELECT count(1) AS "NUM" FROM ( SELECT  *  FROM table) GROUP BY "COL_A"
SELECT "COL_A", count(1) AS "NUM" FROM ( SELECT  *  FROM table) GROUP BY "COL_A"

Why this is a problem
Because of this, it is not possible to rename a column. The following Python code, for example:
session.table("table").group_by(col("event_day")).agg(
    to_date(col("event_date")).as_("event_day"), count("*")
).collect()

Would ideally result in the first query shown below, but actually results in the second query, which gives an error, because the first select statement (EVENT_DAY) is undefined. It is also not possible to rename the column in the group_by as this is not allowed.
SELECT to_date("EVENT_DATE") AS "EVENT_DAY", count(1) AS "COUNT(LITERAL())" FROM ( SELECT  *  FROM table) GROUP BY "EVENT_DAY"
SELECT "EVENT_DAY", to_date("EVENT_DATE") AS "EVENT_DAY", count(1) AS "COUNT(LITERAL())" FROM ( SELECT  *  FROM table) GROUP BY "EVENT_DAY"

Work-around
The way to circumvent this is to start with a select statement:
session.table("table").select(
    to_date(col("event_date")).as_("event_day")
).group_by(col("event_day")).agg(count("*").as_("num")).collect()

but this results in a nested select statement, which is slower
SELECT "EVENT_DAY", count(1) AS "NUM" FROM ( SELECT to_date("EVENT_DATE") AS "EVENT_DAY" FROM table) GROUP BY "EVENT_DAY"

thanks for your feedback, at a glance the field EVENT_DAY  is not needed in the generated sql.
@sfc-gh-yixie @sfc-gh-jdu do you think it's a case that we can improve?

My understanding is usually when we group by a column the result has the group by column and the aggregate column.
Your workaround is a good workaround. Another way to do it is:
session.table("table").group_by(col("event_day")).agg(
    to_date(col("event_date")).as_("event_day"), count("*")
)

# rename
session.table("table").group_by(col("event_date")).agg(
    to_date(col("event_date")), count("*")
).with_column_renamed("event_date", "event_day")


Restore XP compatibility

Downgrade C/C++ syntax to VC2010
Dynamic loading of Wow64 functions
Create wrapper of RegGetValue

I don't think this should be merged into master, it significantly holds back the rest of the codebase from using features in C++ that would increase safety and produce a faster better result.

We should combine efforts and use this on a separate retro branch, as others noted.
See issue #3
That way that specific branch can be dedicated to work on as many legacy versions of Windows as possible.
Perhaps we can call it Version 9.x

You don't need to downgrade to VS2010, because you can still use VS2017 to compile XP applications.

@Azarien because I want to dogfood in XP and VC2010 is last version working on XP.

@Azarien Using older versions of VS will not only help @roytam1 help with XP dogfooding but using older libraries makes it easier for it to support even older versions of Windows, such as 2000, and 9x, which is the aim for a retro branch.

Should this PR be merged into the retro branch? Currently the solution in the retro branch is still using VS2015. Or do we want to use versions of visual studios that are older than 2010, such as VS2008 or VS2005.

@roytam1 yes, exactly. The idea is to those changes into the retro branch. That's why the branch was created.

Has anyone tried the Win XP support in VS 2017?  Perhaps that's a way to get an XP build?

Still wondering...

@craigwi this PR may need to be closed in favor of retro branch instead?

OK; thanks for responding.


Connectivity Loss & Safety

User Story:
As a driver I want my vehicle to slow down and park in a safe place when the MQTT connection has tried and failed to connect and can not reestablish the connection, in order to avoid being involved in or causing any accidents.
Acceptance Criteria:
3.1 The vehicle should slow down and park in a safe place when the MQTT connection can not be reestablished once connection has been lost.
3.2 The vehicle should slow down and and move to the right hand side of the "road" in order to park safely.
3.3 The vehicle should park once it has moved off the "road".

3.2 The vehicle should slow down and and move to the right hand side of the "road" in order to park safely.

How do we avoid hitting people/ objects as we park onto the curb?  If we're relying on sensors but have no knowledge of position, how do we know when we've reached the curb?


You requested a model that is not compatible with this engine

Describe the bug
You requested a model that is not compatible with this engine
To Reproduce
i meet a error: "You requested a model that is not compatible with this engine" yesterday, but it can run normally before
Code snippets
const response = await openai.createCompletion({
      model: 'text-davinci-003',
      prompt: prompt,
      temperature: 0.7,
      top_p: 1,
      max_tokens: 4000,
      frequency_penalty: 0.0,
      presence_penalty: 0.6,
      stop: [' Human:', ' AI:'],
    })

OS
macos
Node version
node v18
Library version
openai 3.1.0

I have the same error but with python

I change paramer "model" to "engine", it is ok.  I use python api. @gzgogo

In your code snippet, you're trying to use the text-davinci-003 model.
But looking at the code, it appears the currently only gpt-3.5-turbo and gpt-3.5-turbo-0301 models are supported.
https://github.com/openai/openai-node/blob/0363de20747e272a92e41da4a4c4293104aa9461/dist/api.d.ts#L261-L266
The solution would be to make requests directly yourself, instead of using the openai-node package - here's how.


[feature]: Add more samples integrated with Keploy #26

Is there an existing feature request for this?

[X] I have searched the existing issues

Summary
Hello,
I noticed that you have posted an issue on GitHub regarding a problem you are facing with one of the features. I would like to offer my assistance in helping you resolve this issue.
Please let me know how I can help and what steps you have already taken to troubleshoot the issue. I will do my best to provide any guidance or support needed to find a solution.
Thank you for considering my offer to help.
Best regards,
Pritesh Rai
Why should this be worked on?
Keploy is a deployment tool that helps automate the process of deploying software applications to servers or cloud environments. By integrating the samples with keploy, it means that the code examples will be configured to work with keploy and can be easily deployed using this tool.
Including more samples integrated with keploy would make it easier for developers or users to understand how keploy works and how it can be used to deploy their own applications. It would also provide them with practical examples to help them get started using the tool.

Duplicate of https://github.com/keploy/samples-java/issues/26, hence closing.


feat: bump @shapeshiftoss/chain-adapters

Description

Notice

[ ] Have you followed the guidelines in our Contributing guide?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)

closes #
Risk

Testing

Engineering

Operations

Screenshots (if applicable)

Current dependencies on/for this PR:

develop

PR #3176   👈

This comment was auto-generated by Graphite.


Dragonbane: v1.9 fix multiple bugs

Submission Checklist
Required

[x] The pull request title clearly contains the name of the sheet I am editing.
[ ] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[ ] The pull request makes changes to files in only one sub-folder.
[ ] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

New Sheet Details

The name of this game is: <   >  (i.e. Dungeons & Dragons 5th Edition, The Dresden Files RPG)

The publisher of this game is: <   > (i.e. Wizards of the Coast, Evil Hat)

The name of this game system/family is: <   > (i.e. Dungeons & Dragons, FATE)

[ ] I have followed the Character Sheets Standards when building this sheet.

[ ] This sheet has been made on behalf of, or by, the game's publisher.
[ ] This game is not a traditionally published game, but a copy of the game rules can be purchased/downloaded/found at: <   >
[ ] This sheet is for an unofficial fan game, modification to an existing game, or a homebrew system.

Changes / Description

Bug Fixes

tokens for drag and dropped monsters/NPCs will now show bars for their hp/wp
NPCs with spells now properly import the spells and associate them with their casting skill
Drag and dropped Monsters/NPCs now default to not being able to push

Character Sheet Info Roll20 Internal Use only.


Issues with switch to typescript

I can't get any methods to show up when I switch the test files to typescript. I have:
1.) Added hardhat.config.ts to "include" in tsconfig.json
2.) passed (args, hre) into the describe fallback function
3.) Use import instead of require
My tests all pass, but the tool doesn't show any methods or gas stats. When I convert the exact same test to javascript, the gas stats do appear. What else should we look out for?
I am on ubuntu 20.04

Hi. It's hard to tell without seeing your repo.
A simple working TS example can be seen at sushiswap/hardhat-foundation.
$ git clone https://github.com/sushiswap/hardhat-foundation.git
$ yarn
$ npm run test:gas

Output:

Closing, not enough info here to debug and the plugin seems to work w/ TS based on the example above.
Please just ping if you want to pursue this and I will re-open.

Here is the repo if you can still take a look:
https://github.com/YannyD/PandiFiPrototypeWithHardhat/tree/master

@YannyD
I think waffle's not being pulled into the project correctly - see the relevant plugin docs.
Instead of importing directly from ethereum-waffle, you have to import waffle from hardhat and use its methods. This ensures that the tests run on the hardhat network instead of a ganache-core provider (which the reporter can't connect to).
The gasReporter option enabled should be set true (instead of false) and url should be deleted.

Ya that makes sense.  Everything is working now.  Great plugin.  Thanks so much!


Re: missing 'en-US' locale in cldr-data

Regarding this issue: https://github.com/rxaviers/cldr-data-npm/issues/27
I would expect to be able to do Globalize.locale('en-Latn-US') or Globalize.locale('en-US'), which refer to perfectly valid locales, and have globalize understand internally to use en. As it stands, if I do Globalize.locale('en-US') having loaded 'en' data, I get an error (this.xxxFormatter is not a function) when trying to use a formatter e.g. Globalize.formatNumber(5.55). Similarly, I'd like to pass those locales to globalize-compiler without error.
Right now, In order to load a locale like en-US in globalize I need to know ahead of time that en maps to en-Latn-US and that en-US maps to en-Latn-US.
Note that I'm compiling my formatters ahead of time using globalize-compiler so maybe this isn't an issue when loading CLDR and creating formatters at runtime. Either way, it would be handy if globalize added locale normalization at compile time so users of precompiled formatters who don't know about default content could still use them when specifying en-US as the locale, for instance.

That should work, please could you share your complier code too?

Looks like this:
import formattersModuleTemplate from './formattersModuleTemplate'
import codeStringWIthFormatters from './myCode'

export default locale => {
  const globalizeExtracts = globalizeCompiler.extract(codeStringWithFormatters);
  return globalizeCompiler.compileExtracts({
    extracts: globalizeExtracts,
    defaultLocale: locale,
    template: formattersModuleTemplate
  });
};

and the compiled output looks like this:
import Globalize from 'globalize/dist/globalize-runtime';
import 'globalize/dist/globalize-runtime/number';
import 'globalize/dist/globalize-runtime/plural';
import 'globalize/dist/globalize-runtime/currency';
var validateParameterTypeNumber = Globalize._validateParameterTypeNumber;
var validateParameterPresence = Globalize._validateParameterPresence;
var numberRound = Globalize._numberRound;
var numberFormat = Globalize._numberFormat;
var numberFormatterFn = Globalize._numberFormatterFn;
var pluralGeneratorFn = Globalize._pluralGeneratorFn;
var currencyNameFormat = Globalize._currencyNameFormat;
var currencyFormatterFn = Globalize._currencyFormatterFn;

Globalize.b468386326 = numberFormatterFn(["",,1,0,3,,,,3,,"","#,##0.###","-#,##0.###","-","",numberRound(),"∞","NaN",{".":".",",":",","%":"%","+":"+","-":"-","E":"E","‰":"‰"},]);
Globalize.a340063086 = numberFormatterFn(["",,1,,,,,,3,,"%","#,##0%","-#,##0%%","-","%",numberRound(),"∞","NaN",{".":".",",":",","%":"%","+":"+","-":"-","E":"E","‰":"‰"},]);
Globalize.a860983140 = numberFormatterFn(["",,1,2,2,,,,3,,"","#,##0.###","-#,##0.###","-","",numberRound(),"∞","NaN",{".":".",",":",","%":"%","+":"+","-":"-","E":"E","‰":"‰"},]);
Globalize.b957349717 = numberFormatterFn(["'$'",,1,2,2,,,0,3,,"","'$'#,##0.00","-'$''$'#,##0.00","-'$'","",numberRound(),"∞","NaN",{".":".",",":",","%":"%","+":"+","-":"-","E":"E","‰":"‰"},]);
Globalize.b581200589 = numberFormatterFn(["'€'",,1,2,2,,,0,3,,"","'€'#,##0.00","-'€''€'#,##0.00","-'€'","",numberRound(),"∞","NaN",{".":".",",":",","%":"%","+":"+","-":"-","E":"E","‰":"‰"},]);
Globalize.a1662346136 = pluralGeneratorFn(function(n) {
  var s = String(n).split('.'), v0 = !s[1];
  return (n == 1 && v0) ? 'one' : 'other';
});
Globalize.b1223214380 = currencyFormatterFn(Globalize("en").numberFormatter({"raw":"'$'#,##0.00"}));
Globalize.b1162560488 = currencyFormatterFn(Globalize("en").numberFormatter({"raw":"'€'#,##0.00"}));
export default Globalize

If I import this code and then do Globalize.locale('en'); Globalize.formatNumber(123.5) it works fine. If I do Globalize.locale('en-US'); Globalize.formatNumber(123.5), that's an error. Also, if I pass in en-US as defaultLocale to the compiler, it errors out. Thanks for your help!

I also recently had troubles loading the en_US locale, not sure if it's related:
Problem was, the directory in the cldr-data package is named en-US-POSIX.
After creating a symbolic link to en-US, loading the locale now works fine...

@ray007 en is the same as en-US, so you could really link en-US -> en as well, but en-Latn-US should also then link to en, fr-Latn-CA to fr-CA, etc etc as it stands. This approach doesn't scale very well as locale support is added and possibilities multiply. Perhaps some additional CLDR data must be leveraged to determine the correct default?

I have the problem only with en-US.
All others locales seem to have a directory name without the script/variant in it unless necessary - which then works fine for loading.

If I import this code and then do Globalize.locale('en'); Globalize.formatNumber(123.5) it works fine. If I do Globalize.locale('en-US'); Globalize.formatNumber(123.5), that's an error. Also, if I pass in en-US as defaultLocale to the compiler, it errors out. Thanks for your help!

@casey-speer, when you're using regular globalize, any given locale is processed and normalized (via cldrjs): deducing bundle, minLanguageId, etc. On the compiled version, that result is kept in the compiled data (processed during compilation) and therefore if you import the compiled code, that will only work for the locale string you used during compilation. It isn't able to normalize different locale strings.
If you use regular globalize,

After creating a symbolic link to en-US, loading the locale now works fine...

@ray007, you shouldn't need to create any symlinks. Please, what globalize and cldrjs version are you using?

As I read this issue, I don't see anything that needs to be fixed or improved. If you believe so, please propose a solution :). Thanks

EDIT: please explain the problem briefly and optionally/ideally propose a solution.

@rxaviers I'm using the cldr-data npm package version 31.0.2.
So at least my problem is no fault of your package here.

@ray007 what about globalize and cldrjs versions? :)

@rxaviers currently installed modules:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

@ray007 I could not reproduce your issue...
npm install<EMAIL_ADDRESS><EMAIL_ADDRESS># Note you don't need the extra packages listed above

var Globalize = require( "globalize" );
Globalize.load( require( "cldr-data" ).entireSupplemental() );
Globalize.load( require( "cldr-data" ).entireMainFor( "en" ) );

Globalize('en-US').formatNumber(Math.PI);
// > '3.142'

Globalize('en').formatNumber(Math.PI);
// > '3.142'

PS: Note I loaded the en locale, which is the default for en-US. Is figuring this out the issue for you?

@rxaviers I see what you're saying. But this is what happens if I pass 'en-US' as the locale to the compiler:
Error: ENOENT: no such file or directory, scandir '/Users/cspeer/repos/i18n/node_modules/cldr-data/main/en-US'

Would it be possible to add a compiler step to map the given locale, e.g. en-US, to the normalized locale? My concern is that clients of my compiled formatters are able to use a consistent format for the locale string across locales.

It may have to do with the fact I don't use .entireSupplemental() and .entireMainFor(), but cldrdata() calls for data subsets. Where the localeId is used to construct the file path.
Since I'm still in the experimentation phase, I didn't invest too much energy beyond making it work for now...

@casey-speer Ok, I see the issue you're saying too, which is related to this https://github.com/globalizejs/globalize-compiler/issues/30. This needs fix

Where the localeId is used to construct the file path.

@ray007 Ok, got it. Basically, it's not localeId you should use, but a bundle id.
@ray007 and @casey-speer, please read https://github.com/rxaviers/cldrjs/blob/master/doc/bundle_lookup_matcher.md
We need to come up with a way to make this process easier, probably by improving the documentation and API. This is somehow related to https://github.com/rxaviers/cldrjs/issues/30.
Any thoughts?

I'm dealing with this exact issue myself and have resorted to using a lookup table. Was frustrated in that I could not understand why there was not a pt-BR /cldr-data/main/ folder until I read this:

American English [en_US] is the default content locale for English [en]
German (Germany) [de_DE] is the default content locale for German [de].
Portuguese (Brazil) [pt_BR] is the default content locale for Portuguese [pt]
Serbian (Cyrillic) [sr_Cyrl] is the default content locale for Serbian [sr].
Serbian (Cyrillic, Serbia) [sr_Cyrl_RS] is the default content locale for Serbian (Cyrillic) [sr_Cyrl].

Makes logical sense but is not machine friendly. +1 for a more flexible interface.

Now that I think about it, I am finding the setting of default locales for a language based on the number of speakers to be especially troubling. If locale YY is assigned as default for lang xx, then due to conflict, environmental or economic collapse, or choice there is a mass migration of xx speakers to locale ZZ, then would the default locale assignment change? I would suggest always defining CLDR data under locale specific folders (xx_YY) and then aliasing them internally. Locale aliasing could be extended to allow aliasing by number of speakers, locale of origin, or utilisation context such as colloquial or corporate.


[Feedback request] Orphan arrangement report

@JustinAiken
Justin,
Could I make a low priority request for some feedback on an Orphan arrangement report I've got (I hope) working in 0.3.1. The report checks arrangement ids in a profile against arrangement ids/persistent ids/ids in songs, session mode, and guitar psarc files. It then reports any profile arrangement ids that it can't match against these sources. In effect, it's trying to find profile CDLC data that has become detached from source files.
I'd be interested: to hear what you think from running it against your profiles; if you can think of other sources of arrangement data (persistent ids?) that I may have missed; and in any ideas/suggestions on taking this further.
The report can be accessed by running songlists (depending on the size of your library it may take a minute or two to scan your dlc), selecting the utility menu, then database reports and choosing option (10). (Apologies for the very ugly formatting).
I've run this, found about 10 or 12 unattached arrangements and deleted them without impacting either song progress or lesson progress (I have no idea how to assess session or guitar impact, or if there are other places persistent ids might be used).
Anyhow, it's not urgent, but as and when you have some time, it'd be good to get your thoughts.
Cheers,
Larry

I installed the 0.3.1 beta:
$ pip3 install -U rsrtools
Collecting rsrtools
  Downloading https://files.pythonhosted.org/packages/26/1b/937dde675a43f422ff5a78929e4fd167cd0e99670d33b51a7faf1c584e65/rsrtools-0.3.1-py3-none-any.whl (119kB)
    100% |████████████████████████████████| 122kB 862kB/s
Requirement already satisfied, skipping upgrade: pydantic>=0.23 in /usr/local/lib/python3.7/site-packages (from rsrtools) (0.24)
Requirement already satisfied, skipping upgrade: pycryptodome>=3.7.3 in /usr/local/lib/python3.7/site-packages (from rsrtools) (3.8.1)
Requirement already satisfied, skipping upgrade: simplejson>=3.16 in /usr/local/lib/python3.7/site-packages (from rsrtools) (3.16.0)
Requirement already satisfied, skipping upgrade: toml>=0.10.0 in /usr/local/lib/python3.7/site-packages (from rsrtools) (0.10.0)
Installing collected packages: rsrtools
  Found existing installation: rsrtools 0.2.2
    Uninstalling rsrtools-0.2.2:
      Successfully uninstalled rsrtools-0.2.2
Successfully installed rsrtools-0.3.1

Went to my working directory and tried to run songlists:
$ songlists .

No arrangement data in database. Running full scan to load data.
Arrangement 10, The Cribs, We Share the Same Skies
.... <more stuff> ...
Arrangement 840, Steel Panther, Eyes of a Panther
Traceback (most recent call last):
  File "/usr/local/bin/songlists", line 10, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.7/site-packages/rsrtools/songlists/songlists.py", line 887, in main
    main.song_list_cli()
  File "/usr/local/lib/python3.7/site-packages/rsrtools/songlists/songlists.py", line 572, in song_list_cli
    self._cli_full_scan()
  File "/usr/local/lib/python3.7/site-packages/rsrtools/songlists/songlists.py", line 559, in _cli_full_scan
    mtime = self._arr_db.scan_arrangements(last_modified=None, show_progress=True)
  File "/usr/local/lib/python3.7/site-packages/rsrtools/songlists/database.py", line 809, in scan_arrangements
    for sql_values in Scanner().db_entries(last_modified=last_modified):
  File "/usr/local/lib/python3.7/site-packages/rsrtools/songlists/scanner.py", line 497, in db_entries
    for arrangement in self._arrangement_rows(scan_path, False):
  File "/usr/local/lib/python3.7/site-packages/rsrtools/songlists/scanner.py", line 446, in _arrangement_rows
    psarc.arc_data(index), expect_name, last_modified
  File "/usr/local/lib/python3.7/site-packages/rsrtools/songlists/scanner.py", line 378, in _arrangement_data
    arrangement[ListField.TUNING.value] = self._get_tuning(sub_dict)
  File "/usr/local/lib/python3.7/site-packages/rsrtools/songlists/scanner.py", line 203, in _get_tuning
    raise ValueError(f"Invalid or unknown tuning: {tuning}.")
ValueError: Invalid or unknown tuning: -8-6-6-6-8-8.

Looks like it doesn't like very low tunings... Or might be a cdlc bass track using guitar as 5 string bass? Not sure which song it's crashing on..

Ah added some prints to debug - it's the staisofa_rhythm2 for Staind - So far Away.
Relevant bit:
        "Tuning": {
          "string0": -8,
          "string1": -6,
          "string2": -6,
          "string3": -6,
          "string4": -8,
          "string5": -8
        },

Which is an odd Ab,Db,Ab,Db,Eb,Ab tuning
Could maybe change https://github.com/BuongiornoTexas/rsrtools/blob/a7c81a5376bf6ebfeda311b899fd64d56c98d076/rsrtools/songlists/scanner.py#L200-L203 to just return "Oddball Tuning" for an else instead of the raise

Blast! - I thought I had implemented exactly that after adding all of the CFSM tunings. I'll get that sorted and push a new release later today or tomorrow. I might use "Custom Tuning" to be consistent with RS.
Thanks for picking it up.

I had time over a coffee - 0.3.2 reports Unknown Custom Tuning for this case now.

@JustinAiken Sorry - I just realised you may not be following this actively (I'm come from the paper, pen  and phone call generation, so I'm still getting used to the "ats").
Anyhoo, I'm hoping 0.3.2. has addressed the issue. No hurry on feedback - I'm happy not doing too much development at the moment - new drop pedal yesterday, so I'm having fun experimenting and enjoying being able to play low tunings without spaghetti strings!

Sorry for the delay! I get @s (github's my homepage), I've just been slowing compiling feedback.  There's a bit list of arrangement ids the report gives, and I'm trying to track down which ones are true orphans, and which ones are for ones I'd temporarily removed from the library.

No more tuning errors...
I do see ValueError: Arrangement FullName in JSON does not match JSON arrangement name in file on some CDLC, which is probably the bad CDLC's fault, but it blocks the process instead of skipping over

Hmmm - I can do a couple of things with this.

Make the error message a bit more informative - I hadn't been expecting it to trigger at all, but you are probably right about it being a CDLC issue, and it may also be a case matching issue (which will bring it's own complications!).

I'll add in details to the error dialogue to allow trapping of the specific file/arrangement.

As you suggest, I can trap and exclude the arrangement from the database - though I'm not sure if this is the right thing to do or not? (If the CDLC works, is it a problem if it doesn't follow the Ubisoft standard?) - probably worth holding off on this until we understand the underlying cause?

Also, if you have the CDLCs that you have temporarily removed from Rockmsith parked in a single directory tree, I think it I could put together a quick and dirty script to dump all of the arrangement ids pretty quickly.

I've done a quick and dirty update to the exception. If you can do a github install, we can get some more information on the problem before I do a full fix and rollout to pypi:
pip install git+https://github.com/BuongiornoTexas/rsrtools --upgrade
This should tell us if it is a case folding problem or something else, and give me a better handle on implementing a fix.

Hi @JustinAiken, I'm not sure if you have played around with this any further - the fix is now in the 0.3.4 release, and gives information on the odd tunings so that they can be added to the database in due course.

Closed due to lack of activity.


CI improvements and fixes

WHAT is this pull request doing?

[x] Adjust the build, tsc, and lint steps in the PR CI job to run concurrently (faster feedback in PRs).
[x] Disable selective execution through the affected flag until this work is done and each project accurately declares what are their input and output files. Otherwise we'll continue to see green PRs that might turn main red.
[x] Use --skip-nx-cache when invoking Nx for the same reasons as the point above.
[x] Remove tsc because type-checking is happening as part of the build action.

I'm continuing the work in this PR


Snap version doesn't work on Fedora 31

AppImage works great but Snap version on Fedora 31 returns: "WARNING: cgroup v2 is not fully supported yet, proceeding with partial confinement \n
(electronplayer:7762): Gtk-WARNING **: 22:36:08.690: cannot open display: :0"

Are you able to run any other snap packages? This seems like an issue with snapcraft. It looks like the process confident used by snaps doesn't fully support cgroup v2. Your version of Fedora has made the move to cgroup v2 as talked about here.
You could fix this by adding the kernel command-line arguments systemd.unified_cgroup_hierarchy=0 to revert to cgroup v1.

Thanks, you are right. There is a problem with all Snap packages.


Add support for custom type converters to override default implementations.

DBFlow Version: 4.+
Issue Kind (Bug, Question, Feature): Feature
Description:
At current DBFlow 4 ships with default converters for types such as java.util.Date, java.util.Calendar, and java.util.UUID.
In my work flow we have a case where there is a "magic number" for all of these types that specify that the value should be treated as null but it still needs to be sent to the server. Due to limitations with protocols outside of our control we must send any parameter being set as null as a string "-NULL-".
So it would be great to be able to customize the UUID converter implementation so that the database entries read as "-NULL-". This sort of thing helps with debugging sessions since any direct monitoring of database values results in a human readable format.
As always I would be glad to implement, just want to spur a discussion about how to proceed.
Ideally I think we should make the general structure of the configuration portions injectible to allow for more advanced configurations. Also there are quite a few other options exposed by the android DB system that are not exposed and you have to do some not so friendly things to hook into the underlying API's. Maybe a good time to revisit some of the config and holder structuring.

try it now. in develop. sorry it took sooo long.

try it now. in develop. sorry it took sooo long.


Prepare release for 0.3.0-beta.6

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
API changes are not detected in this pull request.


feat: add core interfaces

Add the core interfaces that constitute an SGHI ETL workflow. Those are:

sghi.miniETL.core.Source
sghi.miniETL.core.Processor
sghi.miniETL.core.Sink
sghi.miniETL.core.WorkflowDefinition

:tada: This PR is included in version 1.0.0-rc.1 :tada:
The release is available on:

v1.0.0-rc.1
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

v1.0.0
GitHub release

Your semantic-release bot :package::rocket:


Cherry-pick tests into develop

https://github.com/gchq/Gaffer/issues/2696

Closed as duplicate of https://github.com/gchq/Gaffer/issues/2705


Page refresh bug

Environment
package.json
{
  "name": "nuxt-app",
  "private": true,
  "type": "module",
  "scripts": {
    "build": "nuxt build",
    "dev": "nuxt dev",
    "generate": "nuxt generate",
    "preview": "nuxt preview",
    "postinstall": "nuxt prepare"
  },
  "dependencies": {
    "@prisma/nuxt": "^0.1.2",
    "@vueuse/core": "^12.0.0",
    "@vueuse/nuxt": "^12.0.0",
    "nuxt": "^3.14.1592",
    "vue": "latest",
    "vue-router": "latest"
  },
  "devDependencies": {
    "@nuxt/devtools": "npm:@nuxt/devtools-edge@latest",
    "@nuxtjs/tailwindcss": "^6.12.2",
    "@prisma/client": "^6.0.1",
    "prisma": "^6.0.1"
  }
}

Reproduction
https://stackblitz.com/edit/nuxt-starter-uquybs?file=nuxt.config.ts,app.vue
Describe the bug
I have this code that should submit a form but I added submit.prevent="handleSubmit()" so this should stop from refreshing.
I tried to reproduce it on stackblitz however everything is working there (including the devtools) but on my local upon clicking create button the page refreshes.
<template>
<form @submit.prevent="handleSubmit()" class="w-full">

		<input
			v-model="form.email"
			type="email"
			id="email"
			class="w-full p-3 border border-gray-300 rounded mt-1"
			placeholder="Email address"
		/>

		<input
			v-model="form.password"
			type="password"
			id="password"
			class="w-full p-3 border border-gray-300 rounded mt-1"
			placeholder="Password"
		/>

		<input
			v-model="form.confirm_password"
			type="confirm_password"
			id="confirm_password"
			class="w-full p-3 border border-gray-300 rounded mt-1"
			placeholder="Password Confirmation"
		/>

	<button
		type="submit"
		class="w-full bg-blue-600 text-white p-3 rounded hover:bg-blue-700"
	>
		Create
	</button>
</form>
</template>


Decouple API and presentation code

Currently FixTweet sets headers and stuff directly within the code, which is problematic in terms of developing an open API for it.
This work will happen in the api branch (https://github.com/dangeredwolf/FixTweet/tree/api) and won't be deployed until it is stable. FYI canary.fxtwitter.com is used for the test version of the worker, zero guarantees about it working at any given time though.

this is done so closing now!


Fix damaged page

Problem
This page ("GetVolumePathNameW function") is so severely damaged that even disrupts the functionality of the Microsoft Docs website. I am including a screenshot as proof.
Screenshot_2020-10-21 GetVolumePathNameW function (fileapi h) - Win32 apps.zip
Caveats
The "Examples" section of the document is missing the actual code. I've been unable to locate them on the past commits, although I'm not exactly a Git guru.

@skycommand : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Thanks very much for your contribution! I've merged your changes and they should be live soon.


pydantic error at initialization of dataset

I tried to load the dataset following the provided code to initialize the dataset.
Following for example explore_data.ipynb the code
from cesnet_datazoo.datasets import CESNET_QUIC22, CESNET_TLS22, CESNET_TLS_Year22
from cesnet_datazoo.config import DatasetConfig

dataset = CESNET_QUIC22(data_root="data/CESNET-QUIC22/", size="XS")

produces a fatal error
PydanticUndefinedAnnotation: name 'CesnetDataset' is not defined

Hi, thanks for reporting this issue. There was a problem with the newest version of Pydantic. I fixed the version to pydantic<=2.8.2
There is a new cesnet-datazoo version 0.1.8. Recreate the venv to install the correct dependencies.

I can confirm it works now, thank you.
I just uninstalled and reinstalled the cesnet-datazoo package using pip and I no longer have the same error.


<IP_ADDRESS> - Certain servers causing redirect loop on logout, theme activation

Can you explain in more detail "certain servers"? Did you find what it was in the server environment that caused this?

If your server automatically decoded URL parameters in the server variable that Symfony's request object uses to get path info, you'd have this problem – because our URL library didn't automatically decode the parameters, so the URL that we detected and the URL the server gave would never match, and our redirection to handle trailing URL slashes would continue infinitely.


Help to get this working in VS2019 with XUnit Tests

Hi
I would like to use the versioning in my ASP net core project, however each time I reference the ASP MVC site in an XUinit test project, with versioning included in the web project I can no longer compile.
I create a new MVC Web App, Select net core 2.1 in VS2019.  Then I add a new XUnit test Project  (.net core) but as soon as I add the code var a = new ValuesController() the solution no longer compiles with a version reference error:
Error	CS1705	Assembly 'WebApplication1' with identity 'WebApplication1, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' uses 'Microsoft.AspNetCore.Mvc.Core, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60' which has a higher version than referenced assembly 'Microsoft.AspNetCore.Mvc.Core' with identity 'Microsoft.AspNetCore.Mvc.Core, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60'	XUnitTestProject1
I have tried Nuget Packages (3.1.2 / 2.0/2.1/2.2 and 3.0) - any help / thoughts hugely appreciated.
thanks

Sorry, please ignore this.
For anyone else that seems to hit this issue it looks as though if you add a reference to Microsoft.AspNetCore.MVC directly to the XUnit project then the versioning issue disappears and it all works as it should.   I don't understand why but it seems entirely unrelated to aspnet-api-versioning.


58 coveralls fixes

Coveralls now correclty determines the functions that are tested. A level of abstraction was added to accomplish this. Please use accordingly


how to use ssl with iisplatformhandler for aspnet core (rc2) ?

is there a document or sample application for this (rc2 version : 1.0.0-rc2-20100)?

cc @Tratcher

@endink what have you tried? Did something not work? BTW IIS Platform Handler has been replaced with the new AspNetCoreModule, see https://github.com/aspnet/Announcements/issues/164.

@Eilon  I tried use client x509certificate, but always get http 403.7 error, can u determine client certificate was supported or not for version 1.0.0-rc2-20100?

@blowdart you are being invoked.

a plume of smoke appears
I believe you need the new core module for this and the IIS integration stuff turned on, but @Tratcher would know best.

@endink it sounds like you're trying to use an invalid client certificate. The 403.7 is coming from IIS, not Asp.Net. Do you have IIS configured to 'accept' or 'require' client certs?
Unrelated, but 1.0.0-rc2-20100 is a very old version. We're up to 20682 now. Set your dependencies to 1.0.0-rc2-* and see what you get.

@Tratcher OK, thanks, i will check my code , We decided to stay in this version 20100 until the VS CLI tooling released.


Missing capability to convey mobile device specific properties

v0.1.0 currently does not define any properties to convey mobile device specific properties such as IMEI.
Properties should be added to convey this information.

Suggestions provided by Eoghan Casey via email:
DEVICE:

ClockSetting - The date and time that the mobile device clock was set to when the phone was observed/documented.

Vendor - organization that produced/manufactured the device.

Model - name or label given by manufacturer.

StorageCapacity - How many bytes of data the mobile device can store.

Network - type of telecommunications network the mobile device connects with (GSM, CDMA, Satellite, etc.)

IMEI - An International Mobile Equipment Identity (IMEI) is a unique number assigned to each mobile device, typically engraved on a device under the battery.

ESN - An Electronic Serial Number (ESN) is the unique identification number embedded or inscribed on the microchip in a wireless phone by the manufacturer.

MSISDN - A Mobile Station International Subscriber Directory Number (MSISDN) is a number used to identify a mobile phone number internationally. MSISDN is defined by the E.164 numbering plan. This number includes a country code and a National Destination Code which identifies the subscriber's operator.

BluetoothAddress - The unique address of the Bluetooth device

WiFiAddress - The unique Media Access Control (MAC) address of the WiFi network interface of a mobile device.

KeypadUnlockCode - The code to unlock a locked phone.

From the list of properties suggested above, I believe that "vendor" and "model" are already covered by the "manufacturer" and "model" properties within the Device property bundle so we don't have to worry about implementing those here. I do agree with the value of listing all the relevant properties out together in order to discuss necessary coverage.
Since BluetoothAddress and WiFiAdress are not immutable we may want to consider capturing them in their own separate property bundles.

It seems like MSISDN would be more appropriately a property of a MobileAccount property bundle.
See Issue 33

Some other potentially relevant properties to consider for a MobileDevice property bundle that come from one of the mappings I am doing are:

BluetoothDeviceName

Revision (I am not sure what exactly this refers to. Related to Model in some way?)

MockLocationsAllowed (Not sure what this means)

MSISDNType (Not sure what this means)

PhoneActivationTime

Completed and merged to master Dec 12, 2018


Remove dirty check for custom events; unnecessary after #3678. Fixes …

Reference Issue

Follow-on to #3678, fixing #3677.

LGTM


Fire event before query execution

Ability to listen query before execution.
It's possible to modify the query before execution.
->listen(QueryBeforeExecution::class, function ($event) {
});

isn't this what you are looking for? https://laravel.com/docs/11.x/eloquent#events

I need this with the query builder. I can't use Eloquent.

I need this with the query builder. I can't use Eloquent.

Then I suggest using similar naming here.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If applicable, please consider releasing your code as a package so that the community can still take advantage of your contributions!


Using line highlighting on a source block when source-highlighter=pygments crashes converter

The following test stopped working in asciidoctor-pdf, in asciidoctor it is  still working.
= Test
:lang: de
:source-highlighter: pygments
:pygments-css: class
:source-linenums-option:

== Test

[source,cpp,highlight=3]
----
#include <iostream>
int main() {
std::cout << "Hallo!!!\n";
}
----

~/.gem/ruby/2.7.0/gems/asciidoctor-pdf-1.5.3/bin/asciidoctor-pdf --trace -o test00_r.pdf test00.adoc
Traceback (most recent call last):
28: from /home/lmeier/.gem/ruby/2.7.0/gems/asciidoctor-pdf-1.5.3/bin/asciidoctor-pdf:27:in `<main>'
27: from /usr/lib/ruby/gems/2.7.0/gems/asciidoctor-2.0.12/lib/asciidoctor/cli/invoker.rb:113:in `invoke!'
26: from /usr/lib/ruby/gems/2.7.0/gems/asciidoctor-2.0.12/lib/asciidoctor/cli/invoker.rb:113:in `each'
25: from /usr/lib/ruby/gems/2.7.0/gems/asciidoctor-2.0.12/lib/asciidoctor/cli/invoker.rb:130:in `block in invoke!'
24: from /usr/lib/ruby/gems/2.7.0/gems/asciidoctor-2.0.12/lib/asciidoctor/convert.rb:189:in `convert_file'
23: from /usr/lib/ruby/gems/2.7.0/gems/asciidoctor-2.0.12/lib/asciidoctor/convert.rb:189:in `open'
22: from /usr/lib/ruby/gems/2.7.0/gems/asciidoctor-2.0.12/lib/asciidoctor/convert.rb:189:in `block in convert_file'
21: from /usr/lib/ruby/gems/2.7.0/gems/asciidoctor-2.0.12/lib/asciidoctor/convert.rb:117:in `convert'
20: from /usr/lib/ruby/gems/2.7.0/gems/asciidoctor-2.0.12/lib/asciidoctor/document.rb:936:in `convert'
19: from /home/lmeier/.gem/ruby/2.7.0/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:138:in `convert'
18: from /home/lmeier/.gem/ruby/2.7.0/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:214:in `convert_document'
17: from /home/lmeier/.gem/ruby/2.7.0/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:596:in `indent_section'
16: from /home/lmeier/.gem/ruby/2.7.0/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:267:in `block in convert_document'
15: from /home/lmeier/.gem/ruby/2.7.0/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:155:in `traverse'
14: from /usr/lib/ruby/gems/2.7.0/gems/asciidoctor-2.0.12/lib/asciidoctor/document.rb:1005:in `content'
13: from /usr/lib/ruby/gems/2.7.0/gems/asciidoctor-2.0.12/lib/asciidoctor/abstract_block.rb:84:in `content'
12: from /usr/lib/ruby/gems/2.7.0/gems/asciidoctor-2.0.12/lib/asciidoctor/abstract_block.rb:84:in `map'
11: from /usr/lib/ruby/gems/2.7.0/gems/asciidoctor-2.0.12/lib/asciidoctor/abstract_block.rb:84:in `block in content'
10: from /usr/lib/ruby/gems/2.7.0/gems/asciidoctor-2.0.12/lib/asciidoctor/abstract_block.rb:75:in `convert'
9: from /home/lmeier/.gem/ruby/2.7.0/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:138:in `convert'
8: from /home/lmeier/.gem/ruby/2.7.0/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:586:in `convert_section'
7: from /home/lmeier/.gem/ruby/2.7.0/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:155:in `traverse'
6: from /usr/lib/ruby/gems/2.7.0/gems/asciidoctor-2.0.12/lib/asciidoctor/abstract_block.rb:84:in `content'
5: from /usr/lib/ruby/gems/2.7.0/gems/asciidoctor-2.0.12/lib/asciidoctor/abstract_block.rb:84:in `map'
4: from /usr/lib/ruby/gems/2.7.0/gems/asciidoctor-2.0.12/lib/asciidoctor/abstract_block.rb:84:in `block in content'
3: from /usr/lib/ruby/gems/2.7.0/gems/asciidoctor-2.0.12/lib/asciidoctor/abstract_block.rb:75:in `convert'
2: from /home/lmeier/.gem/ruby/2.7.0/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:138:in `convert'
1: from /home/lmeier/.gem/ruby/2.7.0/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:1707:in `convert_listing_or_literal'
/usr/lib/ruby/gems/2.7.0/gems/asciidoctor-2.0.12/lib/asciidoctor/substitutors.rb:978:in `resolve_lines_to_highlight': wrong number of arguments (given1, expected 2..3) (ArgumentError)

This was already resolved by 2329d7aaaa1ad8cdd213d7dc1c51e0b938bdd9b7. We're just waiting on the release of 1.5.4.

Since the fix didn't have an issue number associated with it, I've linked it to this one.


Cannot run aws-shell on OSX 10.12.2

I am using pyenv for python.
Python version 2.7.12. Pip version 9.0.1
Get this error http://pastebin.com/2WF6WuTz
Saws runs fine with the same config

Had it installed on the system python as well. Removed aws-shell from there and it works fine.


fix your spelling on everything

simpel -> simple (correct spelling)
don't make me make a pr on your entire README.md, and PLEASE use branches for different Minecraft versions

working on it, hey i'm not the best speller my guy. brain don't spell good lol. but will work on it. and the naming is on prepose that is how i wanted it to be spelt my guy.