DataGridRow FontSize does not work

When attempting to set the FontSize property on a DataGridRow in , the change does not take effect. Other properties, such as Opacity, FontWeight etc work as expected when set on the DataGridRow. However, the FontSize property only seems to work when set on individual DataGridCell elements, not on the entire row.
Steps to reproduce the behavior:

In your control Styles section, declare style

<Style Selector="DataGridRow">
		<Setter Property="FontSize" Value="16"/>
</Style>

Whereas when you apply the same style to Datagridcell etc, everything works as charm. Other properties of DataGridRow do work, although I have not tested them all
OS: Windows,
Version :11.0.4

DataGridCell overrides FontSize here https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Controls.DataGrid/Themes/Fluent.xaml#L84
Not sure if it's a bug. But this FontSize definition probably can be moved to DataGridRow style or even DataGrid style.

DataGridCell overrides FontSize here https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Controls.DataGrid/Themes/Fluent.xaml#L84
Not sure if it's a bug. But this FontSize definition probably can be moved to DataGridRow style or even DataGrid style.

Thank you for your reply!
I am moving my app from WPF and I wanted to achieve the same functionality - Increasing the size of the font in the row that user is hovering mouse over :
<Style Selector="DataGridRow:pointerover">
		<Setter Property="FontSize" Value="20"></Setter>
</Style>

It's pretty useful on systems with large screens. But as this is not working, it can't be done. The same code will work for other properties (FontWeight, Opacity), or for FontSize with different controls such as DataGridCell, etc., hence my "bug" label.
If that definition was moved to DataGrid, would setting FontSize work for each individual DataGridRow?
again, thanks for you answer and for the work,

it can't be done

It can.

But as this is not working

I explained why and how.
Try this:
<Style Selector="DataGridRow:pointerover DataGridCell">
		<Setter Property="FontSize" Value="20"></Setter>
</Style>

@plant666 clone the source of Avalonia, move the setter to DataGrid and see if it would solve your issue. If you feel confident it is the better place, a PR is welcome 🤗.
In the meantime, copy that style that Max suggested.

I'm struggling with this issue, too. In my App the global font size can be adjusted by the user. I implemented this by setting the "ControlContentThemeFontSize" value.
This woks almost perfect. Only the DataGrid elements ignores this value and I can't even fix it by setting the font size manually.
So if you fix this issue please ensure also that the "ControlContentThemeFontSize" will be respected by the DataGrid,


Hardcoded to RN50?

https://github.com/Zasder3/train-CLIP-FT/blob/6fc671efe4a98008c79a10c48b0f797dc005e76b/models/wrapper.py#L164
I assume this needs to be changed to the correct config if you are finetuning e.g. ViT-B/32 - is that correct?

That line is just there for OOP purposes it's my hacky way of initializing an "empty" model so to speak. All model-specific variables are overridden in the train_finetune.py. Luckily no need to worry the string you specify in the main file is what you will be training!


Salsa not working with require('path') with src folder

From @SteveALee on February 10, 2016 13:7
I can't reopen #2850 but the original problem still stands and I can reproduce it

Enable Salsa
create a new npm module project (npm init -y)
Install node typings
Create a src sub folder and add the basic src\jsconfig.json
Add the following to src\test.js - var p = require('path').

Intellisense does not work correctly on the .
Everything works with the files in the project root.
Copied from original issue: Microsoft/vscode#2887

Moving to salsa for investigation

Note moving jsconfig.json to project root seems to resolve the problem.
Note the docs for the old javascript intellisense explicitly suggest having this file in src, client, server etc. folders if they exist

Another observation: with a js file that is 2 folders below the root then when I enter . the menu does eventually appear. After 17 seconds!! I have Surface Pro 4 i7 with nothing else going on

For the first problem, this is by design. If you have your jsconfig.json file below where you installed the Node typings, then the typings are not part of the project (unless you explicitly reference them somehow by climbing above the root, e.g. /// <reference path="../typings/node.d.ts/>.
For the second issue, I've not seen any performance issues unless you have a lot of Node modules installed and are scanning all the JavaScript under here. Do you have node_modules listed in the excludes property (e.g. this value)? Else Salsa is trying to read and analyze all the JavaScript for every node module installed (and all their dependencies, etc...).

For the first problem, this is by design

So the docs will need updating when Salsa becomes the default

For the second issue, [snip] Do you have node_modules listed in the excludes property (e.g. this value)

Doah! Of course. Having moved the jsconfig up node_modules becomes relevant.
I'll move typings down to %projroot%\src along with jsconfig. That's should solve both issues.
Thank you!

Interesting that this issue is closed but there is no audit entry say who closed it. Is this a git bug?

This issue we're typing in right now?? It's still open as far as I can see. I was waiting to here back before closing. (Note this issue was originally logged under the VSCode project, and that was closed/moved to this new TypeScript issue).
We have an issue active somewhere to exclude node_modules by default if no excludes or files is provided, so that should alleviate the need to add this manually for every project.
Thanks! (Will close now).

@SteveALee regarding the docs

Note the docs for the old javascript intellisense explicitly suggest having this file in src, client, server etc. folders if they exist

This is still correct also the jsconfig.json semantics hasn't changed between the old JS infrastructure and Salse. Having said this. I now see that we should add a hint in the docs that the typings folder needs to be inside the folder with the jsconfig.json.
This is tracked in issue microsoft/vscode-docs#152.

Yes, adding a note on typings folder location will fix the confusion I experienced.


Clarification on license - Apache 2.0 or GPL 3.0 ?

Description
https://github.com/typesense/typesense-java?tab=readme-ov-file#license says:

typesense-java is distributed under the Apache 2 license.

https://github.com/typesense/typesense-java?tab=readme-ov-file#installation says:

The client is available on Maven central

On Maven central https://mvnrepository.com/artifact/org.typesense/typesense-java/0.9.0 , it says the license is GPL-3.0, as the pom.xml file says so:
<modelVersion>4.0.0</modelVersion>
<groupId>org.typesense</groupId>
<artifactId>typesense-java</artifactId>
<version>0.9.0</version>
<name>typesense-java</name>
<description>Typesense Java Client</description>
<url>https://github.com/typesense/typesense-java</url>
<licenses>
<license>
<name>GNU General Public License v3.0</name>
<url>https://www.gnu.org/licenses/gpl-3.0.en.html</url>
</license>
</licenses>

Steps to reproduce
n.a.
Expected Behavior
Consistent licensing information between GH repo and Maven Central.
Actual Behavior
Inconsistent licensing information.
Metadata
n.a.
Typesense Version: 0.9.0
OS: n.a.

Thank you for catching that. typesense-java should be Apache 2.0 licensed. Only Typesense Server is GPL 3.0.
We'll fix the license in Maven Central.

Thanks for looking into this!

Fixed in v1.0.0 release.


Need FAQ: relative imports are not supported

Although relative imports are supported in the go toolchain, for various reasons, they are not supported by dep. Let's add a FAQ entry under Behavior, like "Does dep support relative imports?".
Not sure if there's an example of an error message that clearly points to relative imports being the culprit. Seems like the error is kind of vague and confusing right now, but I haven't dug into that. If there it's let's include it to make it more likely for searches to find the faq.

Hi @carolynvs, I'm new to Go, but I'll take a crack at this!

YAY! 💖

Should this issue get closed?


Cost estimates

This issue is for a: (mark with an x)
- [ ] bug report -> please search issues before submitting
- [ ] feature request
- [X ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Is there anyone who could estimate what this would cost to run in production? Before we dive into the technical aspects of getting this to work, we wanted to know if it is even financially feasible for what we want to do. I know there will be a large range but maybe a site with 100 unique documents and 100 queries per day and another with up to 10,000 documents and 10,000 queries per day.

With the deployment as-is, the Azure cognitive search cost seems to dwarf the OpenAI service cost by 10x. It doesn't help that the example as-is sends queries to cognitive search for every query.
Wild guess based on my usage so far but a standard Cognitive search is about 300$CAD/month and the OpenAI service is an extra 10% of that. Pretty confident it should cover your 100 unique docs and 100 queries per day.
https://azure.microsoft.com/en-ca/pricing/details/search/#pricing
...says that the standard plan covers up to 250K semantic queries a month and 25GB worth documents so I'd guess it could also cover your upper case?

With the deployment as-is, the Azure cognitive search cost seems to dwarf the OpenAI service cost by 10x. It doesn't help that the example as-is sends queries to cognitive search for every query.
Wild guess based on my usage so far but a standard Cognitive search is about 300$CAD/month and the OpenAI service is an extra 10% of that. Pretty confident it should cover your 100 unique docs and 100 queries per day.
https://azure.microsoft.com/en-ca/pricing/details/search/#pricing
...says that the standard plan covers up to 250K semantic queries a month and 25GB worth documents so I'd guess it could also cover your upper case?

Thanks for that. Does this include the server costs too?

If you use Azure deployment, it uses the application service for the app deployment. The cost of that is 20x times less than the search... so it's not the main driver of cost. again, I just deployed a trivial example and i'm reading it up based on the current computed costs.

One tool to help watch cost of a deployed environment: https://github.com/mivano/azure-cost-cli

I can give you an anecdotal answer here. I deployed this project as-is. I had a "Visual Studio Professional" subscription with $50 in free credits for Azure services.
I deployed the app with close to 200 sample PDFs, totaling about 8700 pages. Doing a "chat with your documents" setup using OpenAI's API and its embedding model always resulted in costs below $1.
Running this demo on Azure (configured as-is), racked up over $200(!) in less than 12 hours. The main cost came from the ingest/embedding process because it charges by the page. Only myself and one other developer briefly played with the app before shutting it down the next morning when I saw the costs. Even after shutting down the web server it kept racking up costs for the other (idle) services. I had to delete the whole resource group to stop it from generating more costs. Azure support promised to refund me (which I appreciate). The refund has been reflected in an invoice, but it hasn't showed up on my credit card yet. We will see.
Here are some screenshots:

As you can see, the bulk comes from Azure Form Recognizer, which is used in the ingest/embedding process. Surely this project can somehow be configured to use cheaper resources. I imagine that it would also be possible to not use Azure Form Recognizer for the ingest process and save a considerable amount. But if you try to deploy and run this demo as-is with more than a couple of PDFs: better stock up on some Top Ramen, because it will cost you.

Hi all, I'm working on putting more details in the cost estimation in this PR:
https://github.com/Azure-Samples/azure-search-openai-demo/pull/537
It includes a link to the Azure pricing estimation calculator. That link puts ACS as the more costly part, but it will depend on how many documents you analyze and how many users issue OpenAI queries. The README also contains tips for reducing costs.

The cost estimation is now in the README, so I'm closing this issue. Comment or open a new issue if more details are needed.

I can give you an anecdotal answer here. I deployed this project as-is. I had a "Visual Studio Professional" subscription with $50 in free credits for Azure services. I deployed the app with close to 200 sample PDFs, totaling about 8700 pages. Doing a "chat with your documents" setup using OpenAI's API and its embedding model always resulted in costs below $1. Running this demo on Azure (configured as-is), racked up about $200(!). The main cost came from the ingest/embedding process because it charges by the page. Only myself and one other developer briefly played with the app before shutting it down the next morning when I saw the costs. Even after shutting down the web server it kept racking up costs for the other (idle) services. I had to delete the whole resource group to stop it from generating more costs. Azure support promised to refund me (which I appreciate). The refund has been reflected in an invoice, but it hasn't showed up on my credit card yet. We will see.
Here are some screenshots:
As you can see, the bulk comes from Azure Form Recognizer, which is used in the ingest/embedding process. Surely this project can somehow be configured to use cheaper resources. I imagine that it would also be possible to not use Azure Form Recognizer for the ingest process and save a considerable amount. But if you try to deploy and run this demo as-is with more than a couple of PDFs: better stock up on some Top Ramen, because it will cost you.

I'm also quite shocked with the cost of the "Azure Applied AI Services" (which I assume is the form recognizer as well). I have simple pdfs too, with nothing but plain text. Help?

If the form recognizer costs are too high for your budget, there's also a local PDF parser parser you can try. To use it, modify the final command in prepdocs.sh or prepdocs.ps1 to pass --localpdfparser to the prepdocs.py script.
Also, make sure you aren't repeatedly calling prepdocs.py for the same docs. Once you've successfully indexed them, you should disable the prepdocs script either deleting the postprovision hooks from azure.yaml.

Great documentation!
I still have a question in terms of the pricing, especially for the Azure openai service.
When I check metrics and pull the consumption chart, I notice there are prompt vs inference, and count vs sum.
When I ask 1 question, I get 3 prompt and 3 inference. It was quite confusing as I believe from the chat approach there are only 2 ChatCompletion calls. I used hybrid so I guess the embedding counts as 1 for both prompt and inference?
Also the sum of tokens in the metrics is kind of weird, the prompt and the inference are very close. Since there are token limit for output, it just doesn't make sense. Perhaps my understanding for the metrics is incorrect...

Where do you get that chart from? Is that in Azure OpenAI Studio? I'll need to find whatever team is responsible and ask them. Thanks!

Where do you get that chart from? Is that in Azure OpenAI Studio? I'll need to find whatever team is responsible and ask them. Thanks!

It is in the Azure OpenAI dashboard, in the Azure Portal before you click into the studio. The studio itself doesn't have any management tool as I observe.
Thank you for following up! I believe the cost is calculated correct based on the consumption, just confusing with the metric reports.


Multiple values passed with separation of comma

https://github.com/Kononnable/typeorm-model-generator/blob/b70aba10c8baa4e373e86d3e4fdd2ab464f351ae/src/index.ts#L105
It would be helpful to add this in the documentation. Had to look through the code base to figure it out. Thank you.

https://github.com/Kononnable/typeorm-model-generator/blob/master/README.md#usage
Seems to be a fixed issue


Batch Calculation Possibility?

Nice work!
Is there a way (possibly an approximation) to calculate Vendi score in this library in batch manner e.g. if dataset is too large to load into memory?

Thanks!

If the similarity score is the inner product between explicit feature embeddings $\phi(x)$, you can calculate the Vendi Score of the non-centered covariance matrix, $\frac{1}{n}{\sum}^{n}_{i=1} \phi(x_i)\phi(x_i)^{\top}$. This matrix can be calculated in a batch manner.
You could report the average Vendi Score of smaller subsets of the dataset.


[#9597] add inspector api for application stat : heap, cpu, transaction, activeTrace, responseTime, fileDescriptor, totalThreadCount, directBuffer, loadedClass

[#9597] add inspector api for application stat : heap, cpu, transaction, activeTrace, responseTime, fileDescriptor, totalThreadCount, directBuffer, loadedClass

 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.minwoo.jung seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Upgrading to null safety?

Thanks for creating this package. We have been using this version package in the upgrader package and now are migrating to null safety. I see there are 12 total packages using this package, and noted on pub.dev. Are you planning to upgrade this package to null safety?

When I have the time to do so, yes. I would also accept a pull request.

Created PR https://github.com/dartninja/version/pull/6

This is available in the 2.0.0-nullsafety pre-release. It can be depended on with ^2.0.0-0. I'm leaving this ticket open until null safety is in the stable SDK, then I'll create a stable update and deploy.

The latest null safety version looks good and I've published a pre-release of upgrader using it. Thanks.
Now, I am getting this error as I attempt to publish a normal release of upgrader:
Packages dependent on a pre-release of another package should themselves be published as a pre-release version. If this package needs version version 2.0.0-nullsafety, consider publishing the package as a pre-release instead.
When the version package has a normal release of null safety, we can then publish our own packages as a normal release.

@sanmadjack Any plans to release a final null safety update so we can use it?

Yeah, I'm downloading latest dart now to run some final checks.

2.0 final has been pushed with null safety. Please open another ticket if you encounter any issues.


Added organization model. Updated login/register APIs for organization

Created the model schema for organization and also wrote out functions specific to the model.
Also updated the register/login APIs to allow for this role.

 Create model and functions for organization and modify register/login for role 5


[RemoteWiring] Pinmode uses firmata constructs instead of wiring

Should be pinMode(A1, OUTPUT);, not pinMode(A1, PWM);

@turkycat Were you able to resolve this by providing multiple signatures for pinMode()?

I believe this issue represents the fact that pinMode accepts an enum type which includes ANALOG, PWM, SERVO, IGNORED, etc rather than just INPUT and OUTPUT. As it currently exists, these constructs are necessary to attach servos, differentiate between digital and analog input, etc

I don't think the ability to use additional (more descriptive) pinmodes is the problem. I believe the issue was raised because Conner was not able to use pinmode() in the way it would be used with Arduino, therefore the library was unintuitive.

If the new overloads for pinMode accepting strings like "A0" solves this problem, then that's great, and we can close the issue. I assumed the "construct" in question was the extra (firmata-defined) "modes"

You have a better grasp of the new library functionality than I do, and I was with Conner when he posted the issue. Let's whiteboard it to verify, but I think this solution may be sufficient.
------ I'll update the issue and respond below with the result of our meeting -------

@zafields ping


return the FULL poster url (instead of just the relative path) set to…

… the smallest size

Closing in favor of returning the tmdb config as a part of user login response. Or possibly caching it somehow -- maybe as a static file on our server. Or maybe just bundling the config in with the frontend app.
The main thing is that the frontend needs some flexibility in creating the URLs for sizing and it's not necessary to return a full poster path URL.


Prevent external client from making requests other than the ReRouted ones.

I'm probably misunderstanding the excellent documentation.
From what I could get, the same token is used to authenticate both my gateway and my API. Problem is, if someone using the client finds out my API address, since he is asking for a token which allows it to get through my protection, he could potencially make any request.
One possible solution would be to release a token managing authentication between the client app and the gateway. Whenever someone makes a request, the gateway obtains another token regulating access to my API (which won't be available to the client).
I'd like some direction in terms of best practice about this issue. Thank you so much for your work.

@fablacky the authentication scenario only works if your services are in a trusted private network. It does not work if they are public. If you want public services I suggest just forwarding the auth token to them. This is what Microsoft do.

@TomPallister
I don't understand. I thought my gateway was already forwarding my token (since my api are protected and are still accessed through the api gateway). I could set up my gateway as both an apiresource and a client asking for a token: my client app requests a token to use my gateway and the gateway itself asks another token to converse with my apis. Let me know what you think.

@fablacky yes Ocelot does forward the headers so your service will get the auth token. Yes you can have authentication / authorisation between the gateway and your services that is fine.
I was just explaining that when I built Ocelot it was to access private services so no authentication is required between Ocelot and services in this scenario.

@TomPallister thank you for your answer.
I have a related request but perhaps it's better to discuss it here:
what if I want to configure the gateway to either ignore or not the querystring on the upstreampath? Or force the user to only put allowed parameters in my querystring? Would that require much effort to implement?

@fablacky I'm not exactly sure what you want to achieve but you might be able to do this with either http://ocelot.readthedocs.io/en/latest/features/middlewareinjection.html or http://ocelot.readthedocs.io/en/latest/features/delegatinghandlers.html im not sure which one would be better.


Small Bug in GenerateSignatureBase causes failure in LTI Conformance Tests

Hey Andy,
First of all, thanks for your excellent work on LTI and support for .NET. Great stuff.
I believe that I found a small bug in your implementation for generating your OAuth signature. I believe that IMS recently changed their LTI Test Suite and it now exposes the (uncommon) scenario that exposes the bug. If there are Query String parameters, they must be included in the NameValueCollection when generating the Signature.
This was a quick fix that worked and allowed me to pass the test suite. I think it would have been better for me to clone the NameValueCollection, but since I don't think this will happen in the real world often, I didn't bother.
Just thought I'd let you know! Once again, thanks!
    public static string GenerateSignatureBase(string httpMethod, Uri url, NameValueCollection parameters)
    {
        // RFC 5849 <IP_ADDRESS>
        var signatureBase = new StringBuilder();
        signatureBase.Append(httpMethod.ToRfc3986EncodedString().ToUpperInvariant()).Append('&');

        // RFC 5849 <IP_ADDRESS>
        var normalizedUrl = string.Format("{0}://{1}", url.Scheme.ToLowerInvariant(), url.Host.ToLowerInvariant());
        if (!((url.Scheme == "http" && url.Port == 80) || (url.Scheme == "https" && url.Port == 443)))
        {
            normalizedUrl += ":" + url.Port;
        }
        normalizedUrl += url.AbsolutePath;
        signatureBase.Append(normalizedUrl.ToRfc3986EncodedString()).Append('&');

        // Add URL Parameters
        if (!string.IsNullOrEmpty(url.Query))
        {
            // According to the OAuth 1.0 specification, all Query String parameters should be
            // added into the set of the name/value pairs so they are included in the
            // signature.
            //
            // This is a rare, edge case; however, the latest LTI Certification actually tests
            // for this. The following code fixes this problem.

            string[] queryParts = url.Query.Substring(1).Split('&');

            foreach (string part in queryParts)
            {
                string name;
                string value;

                int indexOfEquals = part.IndexOf('=');

                if (indexOfEquals == -1)
                {
                    name = part;
                    value = "";
                }
                else
                {
                    name = part.Substring(0, indexOfEquals);
                    value = part.Substring(indexOfEquals + 1);
                }

                name = Uri.UnescapeDataString(name);
                value = Uri.UnescapeDataString(value);

                parameters.AddParameter(name, value);
            }
        }

        // Per RFC 5849 <IP_ADDRESS>, do not include the OAuth signature or realm in the signature base string
        var excludedNames = new List<string> {OAuthConstants.SignatureParameter, OAuthConstants.RealmParameter};

        // Construct the signature string
        signatureBase.Append(parameters.ToNormalizedString(excludedNames).ToRfc3986EncodedString());

        return signatureBase.ToString();
    }

Bill

@wkfry Can you verify this test case? Is the url being asserted indeed correct (it is the result of the above code)
        [Fact]
        public void GenerateSignatureBase_WithParametersAndQueryString()
        {
            var parameters = new NameValueCollection();
            parameters["key1"] = "value1";
            parameters["key2"] = "value2";

            string result = OAuthUtility.GenerateSignatureBase("POST", new Uri("http://example.com/test/1?id=5"), parameters);

            Assert.Equal("POST&http%3A%2F%2Fexample.com%2Ftest%2F1&id%3D5%26key1%3Dvalue1%26key2%3Dvalue2", result);
        }

Interesting development. I had to explicitly remove them in the past to pass the test...which I always thought was weird. I even brought that up at an IMS meeting years ago and was told we should not be passing querystring parameters in the LTI URL.
I'll verify and make the change permanent (or let you know if I discover something different).

@wkfry I just tried your code, but the first certification test failed because the OAuth signature was invalid. Then I removed your code, and the test passed.
Here is a screenshot (ignore 2 and 3...the certification server cannot reach my local machine).

That's weird. I had been passing the test suite without a problem and then one day, it started to fail until I added this code. I wonder if they had a temporary problem with the test suite. I'm very sorry for the confusion.

Andy, if your code is excluding any query parameters on a launch URL from the OAuth signing process, then this should be changed.  All parameters (GET and POST) must be included when signing a message as per the OAuth spec.

Hello Stephen,
The querystring parameters are being added to the OAuth signing process,
https://github.com/andyfmiller/LtiLibrary/blob/master/LtiLibrary.Core/OAuth/OAuthRequest.cs#L211
My memory was faulty when I wrote my comment above. I don't know what happened to wkfry or why his code worked for him. It would have resulted in the params being added twice unless Parameters eliminates duplicates (which it may...I can't remember offhand).
Thanks for checking in. http://lti.tools was invaluable over the last few days shaking bugs out of my Outcomes-2 implementation. I could not track down the latest for 3 days before I finally noticed I forgot the "p1" in the LISResult media type.

Hello Stephen (@spvickers), Andy (@andyfmiller),
Yesterday we actually hosted a meeting between two LMS vendors and one Exam (LTI) provider about this very topic.
For the LTI launch the spec is unambiguous: add query string parameters during OAuth signing.
However, for the Outcomes 1.0 callback unfortunately the spec is not that clear and unequivocal (OAuth bodyhash):
LTI Implementation Guide v1.14.- 3 Security for application/xml Messages
"All of the OAuth parameters, HTTP method, and URL are signed like any other OAuth signed request.  Other than in producing the body hash value, the actual POST data is not involved in the computation of the oauth_signature."
Leading to two questions to you both:

When posting the Outcomes 1.0 message should the URL parameters be included during OAuth signing or not? (I've been informed Andy's library released version does not, as attested by the creation of this issue #14)

If so (the answer I would expect), and the LTI certification test does not correctly handle it, it should be fixed. if it currently fails for consumers including the parameters in the OAuth signature [Wrong: should succeed], and succeeds for consumers failing to include them [Wrong: should fail]
Andy's last comment makes it unclear for me, what is currently implemented in the certification  suite.

Plus one question to @andyfmiller if your implementation was indeed incorrect when will a fix for both Outcomes 1.0 and 2.0 become available?
NOTE: Our question is for Outcomes 1.0 but we also support Outcomes 2.0 so I assume the same applies there.
Kind regards,
Jeroen Habets

With regard to the signing of any LTI message (or requests), the LTI specification has currently adopted the OAuth 1 specification, including the revision for body hashing messages which are not of an application/x-www-form-urlencoded type.  In all cases the signature is based on the complete URL of the endpoint (including the query string), the HTTP action (e.g. POST) and the body (either as POST data parameters or a hash of the body if XML or JSON, for example).  I am not aware of any problem with the IMS LTI certification suite failing to follow this procedure - please let me have more details if you have experienced an issue here.  Thanks.

See https://github.com/andyfmiller/LtiLibrary/blob/master/LtiLibrary.Core/Outcomes/v1/OutcomesClient.cs#L296
It doesn't add the querystring parameters to the OAuth signing process, it misses the
var querystring = new UrlEncodingParser(Uri.UnescapeDataString(Url.Query));             parameters.Add(querystring);
The outcomes client uses a different code path to get to the OAuthUtility.GenerateSignature than the one Andy mentions in https://github.com/andyfmiller/LtiLibrary/blob/master/LtiLibrary.Core/OAuth/OAuthRequest.cs#L211

Thanks MountyMartin, I suspect your comment is intended for Andy's benefit.  I am not aware that this code has been certified by IMS so assume it does not represent an issue with the IMS certification process.  But please let me know if I have this wrong.

@spvickers thank you for your clarification. After my post I also found your answer at the IMS forum (https://www.imsglobal.org/forum/learning-tools-interoperability-public-forum/137206)
Because @andyfmiller had written that he had to omit the request parameters from the hash in order to succesfully test against the IMS Certification Suite, I am still not certain if the suite does this correctly but for now let's wait on @andyfmiller's take  on this.

@spvickers  The IMS forum post was from me. I wanted to reply on the forum but it gives me an error "We're sorry, but you can't post comments here!". Weird because I was logged in. Anyway, thanks for the reply.
Regards,
Martijn van den Berg

I'll re-open this issue to make sure I test it thoroughly.

Thank you @MountyMartin for finding the problem...it will not surprise you that I could reproduce it at will. I just checked in a fix which actually simplified the code (I love it when that happens). Initial testing looks good and it will be included in the next NuGet package.
I won't actually close this issue until the whole package is tested thoroughly.

Fixed in 1.6 (now available on NuGet).


Common platform

changing the common mobile platform to support both platforms with only one class make it easier to maintenance + normally the functions that are required for automation are common and dont need any specific driver commands.

@mach6 the first 3 commits are the pull requests i made. can you check the last commit and give me your opinion on this change?

@alizelzele I took a look at the last commit in this PR. I have concerns about the approach/changes but don't want to abandon the idea. Let's please focus on getting your other PR's in before proceeding with the "common platform" changes proposed here. Afterwards, we will circle back.
looping in @sebady

@alizelzele @sebady  due to the size of the "common platform" changes, does it make sense to work them on common branch?

I think we need to segregate the "common platform" commit from the others in this PR.

@alizelzele can you please follow-up on this now?

@alizelzele bumping this.. Do you still see these changes as something you want to see merged? if so, will you please update the PR? I'd like to get this closed out.

@mach6 I completely forgot about this one. will work on it again, and update the code

@alizelzele Will you please look into the CI failure.. it seems the archetype build is broken due to this change set.

Please update copyright for changes files to include the year 2016

@mach6 Fixed all the issues from checkers, updated copyrights, and move appium driver methods out of Grid. As discussed earlier, this will remove 2 different platform and try to make both of them work as one. That was the reason archytype generator was failing.
It still needs lots of Updates to remove the old ones completely out of it, But I need approve on the overall approach and if it needs to be changed in another way.

@mach6 I am closing this one since it is super trouble to rebase it to latest. I'll try my best to make separate smaller pull requests and not to touch core components (as much as possible) :-)


Message Extensions message result only works when in the message context

When using message extensions that returns simple message results, it only works if the message extension is using the message context and it gives a JavaScript error when in compose or commandBox.
Compose extension result used:
{
    "composeExtension": {
        "type": "message",
        "text": "Some text...."
    }
}

JavaScript error:
TypeError: Cannot read property 'attachments' of undefined

Is this by design? Is this documented?

Can you clarify in what scenario you are returning this result?

If I return that message from a message extension command that is executed from the compose box or the command box I get that error, but not when it's an action on a message

Thanks @wictorwilen! The exception is definitely not expected, we will have a bug to fix it on our side. However, it may or may not achieve what you are planning to do.
Do you intend to drop a text into compose box, or show a message as the search result?

We are tracking this internally. Closing this from documentation issues.


Want to make sure I understand the update sarama client wrt Errors -> RefreshTopicMetadata

With the old client (with QueueMessage) I had patched sarama producer to return the "Failed Messages" similar to what you are doing now.  The big difference is that I was returning a batch via *[]*sarama.ConsumerEvent.  In my handling for the error batch I would call RefreshTopicMetadata, and re-enqueue the failed messages.
While updating to the new client I noticed you are returning a failed message on a per-message basis.  That initially had me concerned as that could mean (with my current implementation) that I would be refreshing the topic metadata N times where N = number of failed messages.
However, upon further inspection, it appears sarama client (producer) already does this now.  I am looking specifically at doUpdate in Producer.leaderDispatcher.  Am I correct in assuming I can remove this logic on my end now and that the producer will take care of the metadata refreshes before sending down the failed messages on the Errors() channel?

Yes, the new producer will only deliver errors if it retries the message (including refreshing the metadata if necessary) and it fails a second time. There's also an experimental PR at #234 to permit it to retry an arbitrary number of times before giving up.
I thought the old producer did this too, so I'm not sure why your patch was ever necessary, but perhaps I'm mistaken.


Use /dev/urandom to generate pseudorandom passwords

This PR removes the dependency on the pwgen apt package, using /dev/urandom to generate pseudorandom 64 character strings for xpack.security.encryptionKey and xpack.reporting.encryptionKey in Kibana

Merging this in for 7.4.0


Cardano-serialization-lib documentation missing

Documentation for cardano-serialization-lib was previously hosted on the old documentation website, but it seems to be no longer included since the new launch. What needs to be done to get it added again?

@h0rhay @olgahryniuk @martinseanhunt - Could you please address this on priority? The component does have wide userbase, and given that google crawler links still show results for docs.cardano.org, it would be nice to be able to direct users to final links

Thanks for pointing this out, Sebastien!
We'll add cardano-serialization-lib as part of Cardano components on the new docs site. It will provide an overview of what the library is and redirect users straight into the repository.
See an example here: https://docs.cardano.org/cardano-components/cardano-rosetta
Creating a ticket for this now.
cc @nahern

@SebastienGllmt @rdlrt
The PR is ready here for the new section: https://github.com/input-output-hk/cardano-documentation/pull/47
The only thing I'd like to note is that we try not to use code/instructions in the overview, as it might change. Thus, best to redirect people to constantly-managed repos. Your doc folder has all the instructions, however, I can't spot the 'building-testing-publishing' bit anywhere. I can see it only in the web archive.
Therefore, I suggest merging an overview PR with provided info and links, and also adding a new file within 'cardano-serialization-lib/doc/getting-started/' which will contain building-testing-publishing instructions.
If you agree, let's merge my PR(47) first, and then, I'll create a new PR in your docs folder with those instructions.

Building & testing is documented at the root of the repository and not in the getting-started folder. You can find it here: https://github.com/Emurgo/cardano-serialization-lib/blob/master/README.rst

Oh, I guess that's why I couldn't find it. Thanks so much for sharing the exact link. I'll add it to our overview and then we'll be all set.
Will share the live link when ready.

@SebastienGllmt, we're now live here:
https://docs.cardano.org/cardano-components/cardano-serialization-lib
Can you please replace the last link in this README file>> https://github.com/Emurgo/cardano-serialization-lib#readme


Unable to add more than one custom field with Helm

Describe the bug

How to reproduce it

Install Falcosidekick with Helm and add more than one custom fields.

Expected behaviour

Screenshots

Environment

Falco version:

System info:

Cloud provider or hardware configuration:
OS:

Kernel:

Installation method:

Additional context

Thanks @Rajakavitha1
This issue comes from helm templating, to solve it, you have to escape the comma: --set falcosdeikick.config.customfields="environment:production\,datacenter:mumbai"
I already added in my WIP PR for next helm chart release.
👍


Text field vertical align

Description
TextFields currently vertically center their text when they have an outline border.  The difference between this and top alignment is almost nothing in most cases except when the input is very tall (see issue).  We need to decide if we need that vertically centering functionality at all, and if so, when exactly.
Currently, this PR is just an exploration of how we could force top alignment, since according to https://github.com/flutter/flutter/issues/29927#issuecomment-476446043, we may not need this vertical centering at all.
Related Issues
Closes https://github.com/flutter/flutter/issues/29927
Reopened from https://github.com/flutter/flutter/pull/31079

TODO:

[ ] Ensure compatibility with labels and hints.
[ ] Ensure compatibility with alignLabelWithHint (https://github.com/flutter/flutter/issues/18081#issuecomment-487926914).
[ ] Ensure that the default cases of the tests added in this PR pass on master.

This PR adds a parameter textAlignVertical that determines text's vertical position within the field.
No border
TextField(
  textAlignVertical: TextAlignVertical.top, // default
)

TextField(
  textAlignVertical: TextAlignVertical.center,
)

TextField(
  textAlignVertical: TextAlignVertical.bottom,
)

TextField(
  textAlignVertical: TextAlignVertical(y: -0.5),
)

Border
Previously, when the TextField had a border, the text would be centered.  This behavior is preserved by default, but it's also possible to position the text within a bordered TextField in the same way:
TextField(
  decoration: InputDecoration(
    border: OutlineInputBorder(),
  ),
)

alignLabelWithHint
The behavior of alignLabelWithHint in existing cases shouldn't change with this PR.  This was previously used to place the label at the top of the input when it would otherwise be centered.
However, textAlignVeritcal does affect the position of the hint, and so now alignLabelWithHint can be used to place the label in places not possible before:
TextField(
  alignLabelWithHint: true,

)

I confirmed that this address the problem mentioned in https://github.com/flutter/flutter/issues/18081#issuecomment-487926914.


kuttl: fix repo cloning, fetch the locally built operators

When running kuttl tests using install_yamls, operators code are cloned before running the job.
All credits to Douglas Viroel who investigated and fixed a similar issue downstream.
Also, make sure that locally built operator (for example, thanks to the openstack-k8s-operators-content-provider job, or anything else which populates cifmw_operator_build_output) are used.
This is a bit more complex than what EDPM jobs do (see the edpm_prepare role), where only the openstack-operator-index is overridden, likely because here there may be more operators being built.

recheck

/retest

(and please don't squash when merging)

For the record, this is being tested in https://github.com/openstack-k8s-operators/manila-operator/pull/339

/approve


[3.x] Fix race condition on script_binding in C#

I believe this simple change fixes #37652 by fixing a race condition on script_bindings. I have a version of this change for master but I can't reproduce the issue in 4.0 so I think something else was changed that covers the issue up; that's why I'm opening this as 3.2-specific. I'm hoping someone with more knowledge about this can tell if this should also have a lock in v4.0. I suspect it would still be a problem in 4.0 to allocate C# wrapper objects from multiple threads at once without this lock, but I haven't verified that.

Please, follow our rules and merge all commits into one:  https://docs.godotengine.org/en/latest/community/contributing/pr_workflow.html#modifying-a-pull-request Thanks!

Please, follow our rules and merge all commits into one: https://docs.godotengine.org/en/latest/community/contributing/pr_workflow.html#modifying-a-pull-request Thanks!

Have no idea why a one line change became three commits, oops. Should be one now.

What's preventing this from getting merged?
Because this is a showstopper.

What's preventing this from getting merged?
Because this is a showstopper.

I've had other commitments and I haven't been able to find out the right way to move the scoped mutex. @neikeq indicates the mutex needs to be locked by the calling function instead, but I doubt the language_bind_mutex is exposed to GDMonoInternals so it needs to be added as a friend class, or the mutex needs to be extracted completely out. Hoping someone more familiar with these details knows the right way to do it. I doubt this is the only race condition in the C# script instancing system.

@omegachysis I honestly don't know anything about this stuff, sorry.
The only thing I know is that without this my app crashes after a few minutes while with it
it ran for 48 hours without end. But from what you've said it seems like there's much more to it.
Thnx for the quick reply!

I have to ask, because right now I'm stuck between a rock and a hard place,
is there anything I can do to prevent these race conditions in 3.2.3?

I have a gdscript version of my app which leaks memory
I have a csharp version which does not leak memory but crashes because of this issue
I cannot build a custom version because godot-mono-builds fails to build

Just encountered this error as well. If it was beneficial, I volunteer to test if these commits solve the issue.

This is still pending my requested change. Putting the scoped lock in the line I linked instead of inside the method should be enough:
https://github.com/godotengine/godot/blob/0a54dcb54f7e7855c7eb0b63b3cccf5d9d0251ea/modules/mono/mono_gd/gd_mono_internals.cpp#L71

@neikeq I'll have this in pretty soon, I just defended a thesis and had some other life events that have gotten in the way. I'll have time to set my environment up again to make these changes and get them in.

Sure, no hurries. I commented again because I was re-requested a review so I thought there could have been a confusion.

@neikeq Should be done now. I haven't tested this with the latest version of 3.x since my branch is a bit out of date. I tested it with the state of Godot when this was originally raised and it still works there.

There are some style issues: https://github.com/godotengine/godot/pull/43889/checks?check_run_id=2161611504
And it doesn't build, it's based on a too old 3.2 branch which is not compatible with current 3.x / upcoming Godot 3.3.

There are some style issues: https://github.com/godotengine/godot/pull/43889/checks?check_run_id=2161611504
And it doesn't build, it's based on a too old 3.2 branch which is not compatible with current 3.x / upcoming Godot 3.3.

Done, please ignore the 3.2 base branch name on my fork, this is integrated with 3.x now. Thank you for bringing the issues to my attention

Thanks! And congrats for your first merged Godot contribution :tada:
Could you do the matching PR for master? The Mutex code is similar there so it likely needs the same change.

It works! No more crashing with 3.3 rc7. Thanks a lot @omegachysis 🙏.


Version bump 0.33+

Marking this as 0.33.1 for now, but have to still check that there isn't anything breaking here.

I can't see anything breaking here, so I think 0.33.1 is good.

Here's the relevant diff: https://github.com/TuringLang/Turing.jl/compare/v0.33.0...master


Plugin Questions: Quick Contest Module

Hello, everyone,
I have written my first module for Foundry, called Gurps Quick Contest, the name says it all :)
I used some of GGA's methods and tried to get a feel for its functionality by looking at the code.
The repo can be found here https://github.com/giggioz/gurps-quick-contest
It is currently possible to drag and drop rollables (attributes, skills...) into the dialogue box to trigger a quick contest.
The module works but there is a lot of room for improvement, for example I would like to be able to give modifiers to each actor involved in the QC:

Can you give me some guidance on how to do this by specifying the methods to call of GCA?

Another question:

How is it possible to read the current value of a skill or an attribute of an actor?

Thank you

You can get the Skill object by calling:
s = GURPS.findSkillSpell(actor, skillname, true, false)
console.log("The skill level is " + s.level)

You can get the attribute levels with:
actor.system.attributes.DX.value
actor.system.attributes.HT.value
actor.system.attributes.ST.value
actor.system.attributes.IQ.value
actor.system.attributes.PER.value
actor.system.attributes.WILL.value

Unfortunately, we don't have a unified way of building up modifiers.    We do, however, support drag and drop of the modified bucket itself.    You code just needs to listen for drop events.


Idea: StringMap - hash collision resistant, don't coerce stringified integers to integers (for json, query params, etc)

php > var_export(json_decode('{"0":1,"\u0000":2}', true));
N_ERROR));
array (
  0 => 1,
  '' . "\0" . '' => 2,
)
php > var_export(json_decode('{"0":1,"\u0000":2}', false, JSON_PARTIAL_OUTPUT_ON_ERROR));
NULL
php > var_export(json_last_error_msg());
'The decoded property name is invalid'

parsers such as in userland may benefit from preserving string keys, types, etc, and using less memory.

Related to https://github.com/TysonAndre/pecl-teds/issues/47


test: cleanup workaround

There are more workarounds to be cleaned up but I forget which.

@koivunej still relevant?


Android automatic refactor - ObsoleteLayoutParam

Hi,
I am developing a tool to automatically refactor Android applications with the goal of improving energy efficiency.
This pull request has the changes generated while applying the rule "ObsoleteLayoutParam".
While developing your application's views you might be specifying attributes in a view's artefact that are not necessary due to the nature of its parent. In this PR, those attributes were replaced by a comment.
I have made a previous validation of the changes and they seem correct.
Unfortunately, this tool is not able keep the original whitespace of the files, so comparison without ignoring whitespace might be confusing.
Please consider the changes and let me know if you agree with them.
Best,
Luis

Hi Luis
Thanks for your patch. Your headline states that the refactoring is in the light of improving energy efficiency. Can you elaborate on how the patch achieves said goal?
Also, if you could fix the whitespace generation to not cause a change of style and an unnecessarily large diff we might consider it.

@abrauchli I think @luiscruz  actually updated his patch to not apply unnecessarily large whitespace diff.

True @rnestler, sorry I missed it @luiscruz - It's merged now, thanks for your contribution.


Add CMake support

I really love your work and I want to use it in my project. Could you add CMake support for it so that everyone can use it in their CMake projects?

Well, as the description, this is just a collection of some code snippets. I think only the argparse , inifile and range are useful, and all of them are head-only packages. Just copy the head file to your include directory, and #include it in your code. Other codes are not well designed, and I don't want to improve them recently. So I think CMake is not needed currently.

Well, okay. I'll use it in my code under license


Fix lsf_provider's error status caused by incomplete line

Description
For parsl's lsf provider, the list indexing error (out of bounds) appears in the _status function when the bjobs stdout is incomplete.
Take a real case at SUSTech's Taiyi Cluser ( LSF managed cluster) as an example.
JOBID      USER    STAT  QUEUE      FROM_HOST   EXEC_HOST   JOB_NAME   SUBMIT_TIME
3909009    cse-liy RUN   debug      login01     40*r13n44   *0.8569713 Jul 15 11:14
                                                                            40*r13n45
3909010    cse-liy PEND  debug      login01                 *80.888154 Jul 15 11:14
One job can be executed by two hosts. There will be a newline which only contains the id of exec_host.
The original code my occurs list indexing error. Because the length of parts is 1, but there is a indexing of parts[2].
How to Fix
I only add a line to check if the length of parts list is greater than 2.
What about check len(parts) == len(Attributes at the first row)?
The length of the attributes at the first row is not equal to the length of the parts. Because the SUBMIT_TIME contains multiple blankSpaces.
Type of change
Bug fix (non-breaking change that fixes an issue)

@benclifford Looking forward to your review


WIP: fast-import: change postgres database to neondb

Problem
postgres is system database at neon, so we need to do pg_restore into neondb instead
https://github.com/neondatabase/cloud/issues/22100
Summary of changes
Changed fast_import a little bit:

After succesfull connection creating neondb in postgres instance
Changed restore connstring to use new db

Closing in favor of https://github.com/neondatabase/neon/pull/10251


Tailwind CSS v4.0 support

issue
resolve #104
description
The main fix for this PR is to eliminate errors that occur in tailwindcss v4.
The following changes were made.

added toColorValue to utilities.js since toColorValue in tailwindcss was removed.
since featureFlags in tailwindcss is probably gone, require is now enclosed in try-catch to support both versions.
changed peerDependencies to 4.x || 3.x.

Confirmed to work with<EMAIL_ADDRESS>in the environment at hand

I created this PR for the purpose of fixing some errors, but through owner comments and some fixes I found that it is not so easy to deal with the new version. If you do not need this PR for your response, please feel free to close it.


Calculating Quantum Volumes

We want to calculate metrics on different backends, under which the QI backends. We created an implementation based upon qiskit-experiments package to calculate quantum volume. Running this on QI backends gives errors.

This minimal example program should run (as it does on other similar backend from IBM)
# *** Necessary modules
from qiskit_experiments.framework import BatchExperiment
from qiskit_experiments.library import QuantumVolume

from quantuminspire.qiskit import QI
QI.set_authentication()

# *** Choose actual backend
backend_id = QI.get_backend('QX single-node simulator')

# *** Choose min and max qubits
min_qubits = 2
max_qubits = 4

# *** Compute Quantum Volume
exps = [QuantumVolume(range(1,i+1), trials=100) for i in range(min_qubits, max_qubits+1)]
batch_exp = BatchExperiment(exps)
batch_exp.set_transpile_options(optimization_level=3)

# Run
batch_expdata = batch_exp.run(backend_id).block_for_results()

qv_values = [
    batch_expdata.child_data(i).analysis_results("quantum_volume").value
    for i in range(batch_exp.num_experiments)
]

print(f"Quantum volume is: {max(qv_values)}")

Acceptance criteria

if this feature is available the code example above runs correctly

Solution is merged to dev-branch and will be part of the next release


The nvarchar data type not working for me.

Hello there, I was following the example to use the Decrypt function. But I was getting the result in a different language or at least with symbols and not with letters. I had to change the nvarchar data type to a varchar data type and it worked perfectly.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: cc9c48d3-9c69-6897-c547-d0e7b4a76126
Version Independent ID: cb28d268-9d47-c049-229f-23591dc69c1b
Content: DECRYPTBYPASSPHRASE (Transact-SQL) - SQL Server
Content Source: docs/t-sql/functions/decryptbypassphrase-transact-sql.md
Product: sql
Technology: t-sql
GitHub Login: @VanMSFT
Microsoft Alias: vanto

@MoisesGonzaga -- Moises, thank you for your feedback.  I am looking into this article.

@MoisesGonzaga -- Moises, I was able to reproduce that behavior and have updated the article.
@VanMSFT -- Van, please review private PR 15555.

@MoisesGonzaga You didn't include the code you were testing with. That would be extremely helpful as it wouldn't require guesswork on anyone else's part to figure out exactly what you are doing.
I suspect that you encrypted a string in the form of 'string' instead of N'string'. Without the N it is VARCHAR. With the N prefix it is NVARCHAR. This needs to be clarified on both this page and the page for ENCRYPTBYPASSPHRASE. I had planned on submitting a PR to fix both pages at the same time. I see now that @WilliamAntonRohm has already made some update. Sorry I didn't respond sooner (been busy). Should I still submit my updates?

@srutzky - Hi Solomon! Thanks for the clarification. I believe the string being encrypted/decrypted in the example is this:
USE AdventureWorks2012;
-- Get the pass phrase from the user.
DECLARE @PassphraseEnteredByUser nvarchar(128);
SET @PassphraseEnteredByUser
= 'A little learning is a dangerous thing!';

-- Decrypt the encrypted record.
SELECT CardNumber, CardNumber_EncryptedbyPassphrase
    AS 'Encrypted card number', CONVERT(nvarchar,
    DecryptByPassphrase(@PassphraseEnteredByUser, CardNumber_EncryptedbyPassphrase, 1
    , CONVERT(varbinary, CreditCardID)))
    AS 'Decrypted card number' FROM Sales.CreditCard
    WHERE CreditCardID = '3681';
GO

That's probably why @WilliamAntonRohm can reproduce the issue. I'll approve his PR, which the changes should take place tomorrow morning.
Please go ahead and submit your PR after tomorrow if you wish. We appreciate your assistance!

@srutzky -- Solomon, my update should be live in a few hours, after which you are most welcome to touch it up.


Configuration management strategies

I've tried various ways to structure configuration of projects where I used Webpack. I then trigger Webpack against specific configuration through NPM scripts. Example: "gh-pages": "webpack --config ./config/webpack.gh-pages.js". This allows sharing of configuration if I set up a module to contain the common bits and point at that from these specialized files. You can see this approach in action at reactabular.
The problem with this approach is that you'll quickly end up with a heap of separate configuration files which makes maintaining them harder than it should be. One alternative would be to push the configuration to a single file and deal with specialization there. The module would then export each (say config.dev, config.ghPages and so on). Then these bits could be wrapped into files that Webpack can consume. You would end up with something like this:

/config/common.js - Main bits + specialization happens here. Single file so easy to see what's going on.
/config/webpack-gh-pages.js - Just exports the specialized bit so Webpack can consume it
/config/webpack. ... .js - And so on

Even though an improvement, those Webpack specific wrapper modules feel like a kludge here. This made me to think. What if it was possible to extend Webpack's --config syntax a little bit? What if you could point to a specific export of a file directly? Ie. you would have webpack --config config.js:ghPages where the part after ":" would point at the specific module export.
The primary advantage of this is that it would allow you to maintain whole configuration in a single file while exposing the specialized versions of configuration easily for Webpack to consume.
Of course this can be solved with a little bit of user land tooling. Just need to write a small adapter between.

I've figured out a nice approach for this in react-component-boilerplate. The idea is simply to vary env and return correct configuration from webpack.config.js. Only problem is that this isn't cross-platform but you can't get everything...

@bebraw Have you looked at https://www.npmjs.com/package/webpack-config?

@SimenB Thanks for linking! I haven't seen that before. I've thought about pushing some utils of mine to a library but perhaps that won't be needed after all.

@bebraw Yeah, I just came over it as it's much of the magic I enjoyed behind what I like in gulp-webpack-build. It might be nice if it was featured in the docs, as managing multiple webpack configs with common parts quickly becomes unwieldy.

@SimenB Yeah. I've set up a smart merge (recursive for objects, concat for arrays) just for that in my configurations. It's simple to understand what's going on.
It would be better to find something cross-platform (ie. pass params to Webpack) but I think that'll have to wait for Webpack 2.0. I recall something is coming just to address this.


No max length limit of --query or multiple line layout support

Category

[x] fzf binary
[ ] fzf-tmux script
[ ] Key bindings
[ ] Completion
[ ] Vim
[ ] Neovim
[ ] Etc.

OS

[x] Linux
[ ] Mac OS X
[ ] Windows
[ ] Windows Subsystem for Linux
[ ] Etc.

Shell

[x] bash
[ ] zsh
[ ] fish

It seems that the --query switch can pass a very long content, but it will be truncated.
The interactive query length also limited by the terminal/window size.
So if it can be a solution with multiple line layout support for the query?

I don't think it's worth the effort. What would be the point of allowing exceptionally long query strings? Also, the time complexity of the search algorithm of fzf is proportional to the length of the query, so having some limit makes sense in that regard as well.

this is my scenario,  I'm using cmux (https://github.com/kakao/cmux) to operation a huge cluster, which filter the node by fzf.
The cluster  consist of 2000 machines, when I need filter 3 nodes out of them by hostname, it is very easy by a query "node111 | node293 | node123 ".  But it's very hard to filter more than 10 nodes because the length limit of query.
A long query will effect the search efficiency indeed, but my case is:  to accurately describe a result set from condicates, the length limit of query may be a little bigger.
Thank you very much.

Interesting, thanks for the clarification. I think I'm going to make the query prompt horizontally scrollable, so that longer queries can be typed in. But I'm still going to put some limit on the maximum length of a query. How long do you think your query will grow? Is 300-char limit enough?

@junegunn can we just provide a switch to set the maximum length of a query, 300 char works at most of times, but it should have the ability to work at 3000 or 30000.
Thank you.

Can you describe what you're trying to achieve with such a long query on tmux in detail? Typing in tens or hundreds of hostnames doesn't sound like an elegant solution. I happen to be one of the maintainers of cmux, so if your use case sounds valid, I can consider adding features to cmux that might allow you to achieve the same without having to type in such a long query string on fzf prompt.

@junegunn My case is rolling restart hundreds or thousands roles(like datanode, nodemanager). I just add a switch for rolling restart just like

cmux rrr -q "node111 | node293 | node123"

Then I can restart these roles without typing and choosing, and the query contains a lot hostnames which are not easy to describe by regex. The query are generated by a script.
So I just want restart a lot roles from command, in non-interactive way.
Thank you for your patience.

I see. I'll discuss the issue with the main author of cmux.


isEqualTo has broken semantics for NPM type (is not symmetric)

The changes in #36 resulted in quite unexpected isEqualTo semantics:
final Semver v1 = new Semver("2.10.1", Semver.SemverType.NPM);
final Semver v2 = new Semver("2.99", Semver.SemverType.NPM);

System.out.println(v1.isEqualTo(v2)); // --> true
System.out.println(v2.isEqualTo(v1)); // --> false

This violates basic symmetric requirement on the equality operation.

I second that.
Issue seems to be here:
https://github.com/vdurmont/semver4j/blob/master/src/main/java/com/vdurmont/semver4j/Semver.java#L360
If version being checked against does not have patch (fx. 1.0 instead of 1.0.0) then the result is always true.

@broglep-work if you are still interesting, I've made copy of this lib and fix bug reported by you. Look for version 2.0.1


Updated docker to newer version.

I merged dockerhub-publish feature and it worked nicely. I guess this can be merged too


Flickering Black Boxes on Mario Party 2 Backgrounds when Animated

When I use more than one frame on my board, there are black flickering boxes that sometimes appear depending on where the player is on the board, particularly in the top-left in this case, but not sure if there are more areas. I'll send you the board through email.

Closing since there is no apparent way to fix this issue.

Don't you have a wontfix tag?


Greenkeeper/coveralls 3.0.5

fixes #145

Pull Request Test Coverage Report for Build 436

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 100.0%

Totals

Change from base Build 435:
0.0%

Covered Lines:
43

Relevant Lines:
43

💛  - Coveralls


Random floating-point errors in GitHub Actions

Copied from https://github.com/dsgibbons/shap/issues/98
We have seen GitHub Actions randomly fail occasionally due to floating-point precision issues. See, for example:

https://github.com/dsgibbons/shap/actions/runs/5085485586/attempts/1 (EDIT: py3.8, tests/explainers/test_deep.py::test_pytorch_mnist_cnn)
https://github.com/dsgibbons/shap/actions/runs/5135384415/attempts/1 (EDIT: py3.11, tests/explainers/test_deep.py::test_pytorch_single_output)

In both cases, the tests passed after being re-run with no source code changes. We should consider either increasing some of the floating-point tolerances, or investigate why we are seeing such large random deviations in test_deep.py.

Another example, this time from test_tree.py: https://github.com/slundberg/shap/actions/runs/5163671345/attempts/1

I came across a tip that is helpful in debugging this, for those interested in tackling this. https://calmcode.io/pytest-tricks/flaky-tests.html
For the tests/explainers/test_tree.py::test_xgboost_direct test, I managed to reproduce the failing test for seed=28.
def test_xgboost_direct(i=28):
    np.random.seed(i)  # <----------------------------------
    xgboost = pytest.importorskip('xgboost')

    N = 100
    M = 4
    X = np.random.randn(N, M)
    y = np.random.randn(N)

    model = xgboost.XGBRegressor()
    model.fit(X, y)

    explainer = shap.TreeExplainer(model)
    shap_values = explainer.shap_values(X)

    assert np.allclose(shap_values[0, :], _brute_force_tree_shap(explainer.model, X[0, :]))

A seed is a good idea. Let's start implementing this whenever we notice random failures.

Apart from the xgboost failures, the test_deep.py tests (e.g. test_pytorch_mnist_cnn) are also failing quite frequently.
https://github.com/slundberg/shap/actions/runs/5373998736/jobs/9748916641
>       assert d / np.abs(diff).sum() < 0.001, "Sum of SHAP values does not match difference! %f" % (d / np.abs(diff).sum())
E       AssertionError: Sum of SHAP values does not match difference! 0.003544
E       assert (1.0529657197111408e-05 / 0.0029708666) < 0.001
E        +  where 0.0029708666 = <built-in method sum of numpy.ndarray object at 0x7fa011a522b0>()
E        +    where <built-in method sum of numpy.ndarray object at 0x7fa011a522b0> = array([6.20380044e-04, 1.16837524e-04, 2.74385005e-04, 3.91309470e-04,\n       3.74433905e-04, 6.30353868e-04, 8.25027601e-05, 2.51042336e-04,\n       9.09467562e-05, 1.38675168e-04], dtype=float32).sum
E        +      where array([6.20380044e-04, 1.16837524e-04, 2.74385005e-04, 3.91309470e-04,\n       3.74433905e-04, 6.30353868e-04, 8.25027601e-05, 2.51042336e-04,\n       9.09467562e-05, 1.38675168e-04], dtype=float32) = <ufunc 'absolute'>(array([-6.20380044e-04, -1.16837524e-04, -2.74385005e-04, -3.91309470e-04,\n        3.74433905e-04,  6.30353868e-04, -8.25027601e-05,  2.51042336e-04,\n        9.09467562e-05,  1.38675168e-04], dtype=float32))
E        +        where <ufunc 'absolute'> = np.abs

tests/explainers/test_deep.py:335: AssertionError

We have already set the np random seed for this test, so probably it's some other random seed we need to keep fixed. E.g. torch seed?

Here's a list of all the flaky tests we know of so far (feel free to edit). I propose we tick them off once we know the test passes reliably for any random seed.

[ ] test_tf_keras_linear with seed 256
[ ] test_single_tree_nonlinear_transformations with seed 116
[ ] test_pytorch_mnist_cnn
[ ] test_pytorch_single_output
[ ] test_xgboost_direct

I think perhaps that in some cases, fixing the seed might be the best long-term way forward - it probably depends on the nature of the test.

I think the default should probably be to have completely deterministic tests: that's a usual "best practice" for testing, and it's most developer's default assumption when running a suite.
Fuzz-testing (i.e. changing inputs on each run) can be helpful to get better coverage. But, it should only be used for tests that ought to pass for any possible value of the randomised inputs.

Tests that evaluate the accuracy of a sampling-based estimation (e.g. checking an accuracy to within a floating-point tolerance) may not have any guaranteed upper bound on the error. In that scenario fuzz testing isn't really helpful, as a fuzzed test will fail with a nonzero probability.
An overarching principle is that any test should pass reliably, as flaky tests are annoying, hard to debug, and impede productivity. In terms of priorities, IMO "having a reliable CI suite" >> "slightly better coverage on some tests".

Yep, I don't disagree with any of your points. I won't insist on fuzz testing for coverage, that's not my intended purpose.
As long as we are sure that the failing tests are NOT because of an algorithm/implementation error but just something we expect will arise from sampling, then I'm okay putting this issue to rest.
In which case, we can be confident replying to all of the prior bug issues (about addivity checks failing) that it's just a sampling issue and they can safely ignore the checks. And maybe we could also phrase the error / warning message a little more clearly to convey this point slightly better.

One way to investigate could be to record the magnitude of the discrepancy for a range of seeds, and look at the histogram. It would be interesting to see if its like say a Gamma distribution, or if it's multimodal or very fat tailed


Serializable lock

And use in dask.array.from_array and for eventual use with distributed xarray.
cc @shoyer @pwolfram

@shoyer how does XArray handle locking many from_array calls with the same lock?  Do you create an external lock for HDF5 and then apply that same lock each time?

how does XArray handle locking many from_array calls with the same lock? Do you create an external lock for HDF5 and then apply that same lock each time?

Indeed, we default to a single global lock for all HDF5 read/write (currently just called _global_lock):
https://github.com/pydata/xarray/blob/2a17af77955a11e93fafccdc8bc619adfc9e402a/xarray/backends/api.py#L50

So, if we use this PR then you would change
_global_lock = threading.Lock()

to
from dask.utils import SerializableLock
_global_lock = SerializableLock()

or
from dask.utils import SerializableLock
_global_lock = SerializableLock('hdf5')  # if we want to have a consistent lock across projects

Yes, something like SerializableLock('hdf5') seems ideal.

Merging soon if no further comments.  @shoyer does this suffice?

In [1]: from threading import Lock
In [2]: lock = Lock()
In [3]: lock.acquire(blocking=True)
TypeError                                 Traceback (most recent call last)
 in ()
----> 1 lock.acquire(blocking=True)
TypeError: acquire() takes no keyword arguments
On Thu, Nov 10, 2016 at 1:07 PM, Stephan Hoyer<EMAIL_ADDRESS>wrote:

@shoyer commented on this pull request.
In dask/utils.py https://github.com/dask/dask/pull/1766:

lock, and collide as appropriate.

This is useful for consistently protecting resources on a per-process
level.

The creation of locks is itself not threadsafe.
"""
def init(self, token=None):

   self.token = token or str(uuid.uuid4())

   if self.token in SerializableLock._locks:

       self.lock = SerializableLock._locks[self.token]

   else:

       self.lock = Lock()

       SerializableLock._locks[self.token] = self.lock

def acquire(self, *args):

It doesn't work to write lock.acquire(blocking=True) on Python 2.7?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/pull/1766, or mute the thread
https://github.com/notifications/unsubscribe-auth/AASszOdEPPQSOOOv4sOR8FmqBRzczAJOks5q811WgaJpZM4Ksczu
.

wtf python 2!
fine, let's merge as is.


Bug in Docile gem?

Hi @eropple! My name is Marc, I'm the author of the Docile gem. I noticed in your codebase mentions that it caused you problems with regard to instance variables.
Might I trouble you for a bug report or other explanation of the issue, so that a fix might be possible?
Thank you!
-Marc

Hi Marc--it's been a few years since I ran into it, sorry - I recall that @seanedwards ran into similar in the past with Cfer, maybe he remembers?

Hey @ms-ati - I worked around it in my own project by reverting to Docile 1.1. It's been a while since I looked into it, but here's the original bug report. https://github.com/seanedwards/cfer/issues/50
If I recall correctly, the issue is reproducible with something like
a = true

my_dsl do
  some_value a
end

@seanedwards Thanks -- unfortunately this, and the linked issue, don't provide enough information to know if this bug exists. Would it be possible to help me understand? If so I can find a docile version that fails (has the bug in question), it would become much more likely that we can find a fix?

@seanedwards @eropple Hi, just pinging again to see if the observed issues still exist in current Docile? I'd really appreciate the chance to reproduce the issue if it still exists, so that it can be fixed.
Thanks,
-Marc

Sorry, I'm out of the Ruby ecosystem almost entirely and don't have an
environment with which to test anything.
On Tue, Oct 22, 2019 at 1:38 PM Marc Siegel<EMAIL_ADDRESS>wrote:

@seanedwards https://github.com/seanedwards @eropple
https://github.com/eropple Hi, just pinging again to see if the
observed issues still exist in current Docile? I'd really appreciate the
chance to reproduce the issue if it still exists, so that it can be fixed.
Thanks,
-Marc
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/modern-project/modern-ruby/issues/3?email_source=notifications&email_token=AAA2VTUJMLHKFJWZERYBC3LQP43ADA5CNFSM4IYNTQUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEB6SP7I#issuecomment-545073149,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAA2VTR6J6R7OHR7YK5ROW3QP43ADANCNFSM4IYNTQUA
.

--
Ed Ropple
Twitter: https://twitter.com/edropple
Github: https://github.com/eropple

@ms-ati I spent a little time digging into this, and it appears that the root of the issue is that my project implements a DSL using method_missing and respond_to?. tl;dr background, the DSL takes ruby statements that look like some_key "some_value" and transforms them into JSON objects that look like {"SomeKey": "some_value"} to assist in writing AWS CloudFormation templates.
Because my DSL allows any method to be called as part of teh DSL, the DSL object will always say it responds to a method name, and so when Docile asks if __docile_undo_fallback__ is supported, my object says "Sure, send it over!". https://github.com/ms-ati/docile/blob/def1671ce4993cac32cbc329be3d4c7685b7a1d4/lib/docile/fallback_context_proxy.rb#L86-L88
If I add :__docile_undo_fallback__ to my own list of "non-proxied methods" (i.e. methods which are explicitly not supported by the DSL) then my project appears to play nice with the latest version of Docile.
If you have any documentation or advice on how to best handle this case, where a DSL is implemented using method_missing that would be helpful. But it appears to not actually be a Docile bug after all, just a strange edge case between the two projects.

Thank you so much @seanedwards. This is not a use case I had anticipated, but it does make sense. Let me see if I can engineer a guard for this on the Docile side


chore(next): ssr list view

Description
Wires up the list view so that it can be injected with server components and rendered in a drawer. Extends the buildFieldMap function (now called buildComponentMap) by server rendering all list-related components like BeforeList, BeforeListTable, AfterList, AfterListTable, etc. as well as all Cell and Heading components for fields (see #4924). The column reducer is much simper now because we no longer have to rebuild these components every time columns are toggled or moved. But like the new "slots" pattern on fields, custom cell components are passed as render props as therefore cannot be given extra props during render, i.e. rendered as {Cell} instead of <Cell />. This means that a new TableCellContext is needed to wrap each cell so that you can continue to access cellData and rowData, etc. like before, but through a new useTableCell hook. Still a long way to go with the list view, though. Need to wire up prefs and much more, but that is out of scope for this PR. This is more a proof of concept to prove that this pattern will work going forward.

[x] I have read and understand the CONTRIBUTING.md document in this repository.

Related: #4957


dual vs simple random read tests

Hi,
I do not understand the short message stating
Note 2: Dual random read means that we are simultaneously performing ==
==         two independent memory accesses at a time. In the case if    ==
==         the memory subsystem can't handle multiple outstanding       ==
==         requests, dual random read has the same timings as two       ==
==         single reads performed one after another.                              ==
Why the memory subsystem does not optimize two consecutive "simple" reads on random_read_test() while dual random read call gives the same latency for two readings together instead of one?
Just because zerobuffer[] reads from v1 and v2 indexes are lined one next each other? (at lines 342 and 343 in main.c)
I'm asking this since on a i5 laptop random read latency is only slightly (15%) better than dual random read latency.
Thanks

The memory subsystem can't optimize two consecutive "simple" reads because the address used by the second read is calculated from the value obtained from the first read. So the second read can't start before the first read is completely done.
And the latency difference between these two methods is exactly what the test is trying to measure. Here is an example of a primitive processor which can't handle multiple outstanding requests: https://github.com/ssvb/tinymembench/wiki/Samsung-N220-(Intel-Atom-N450)
Your i5 processor is doing just fine.

Ok, that makes sense.
I changed the second array index to depend on input from first and it
can't optimize anymore.
Thanks.
On 11/8/18, Siarhei Siamashka<EMAIL_ADDRESS>wrote:

The memory subsystem can't optimize two consecutive "simple" reads because
the address used by the second read is calculated from the value obtained
from the first read. So the second read can't start before the first read is
completely done.
And the latency difference between these two methods is exactly what the
test is trying to measure. Here is an example of a primitive processor which
can't handle multiple outstanding requests:
https://github.com/ssvb/tinymembench/wiki/Samsung-N220-(Intel-Atom-N450)
Your i5 processor is doing just fine.
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/ssvb/tinymembench/issues/19#issuecomment-436872633


Use BatchApexErrorEvent for logging batch failures

Winter '19 release introduced ability to subscribe to batch error platform event to better capture job failures. Refactor the current batch jobs to not include their own error handling and move it to the event subscription.
https://releasenotes.docs.salesforce.com/en-us/winter19/release-notes/rn_apex_platformEvents_from_batchApex.htm
https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_batchapexerrorevent.htm

Release 2.3 is now available per #99, please see the release notes for full details. Thank you!


Open webpage centered at location

When using Sondehub on Android, the webpage centers on the location provided by the phone.  However, when I open it on my Win10 laptop (using the webapp or on sondehub.org inside of Chrome), the proper lat/lon shows in the upper left but the page is actually centered about 50N 0E.  For me and perhaps others, this wastes several database requests over Europe before I can recenter the page over my location in the central US.  Can this be modified to open over the user location?

The page can only get your location after it loads.
The best way to handle this problem is to pan to where you are interested in, then copy that URL, which will have the view coordinates in it.
As for 'wasting database requests' - you get all the data, regardless of location. It doesn't matter where you are panned to when the page loads,.

Thanks for the info.  I was thinking the database request mechanism knew about the view domain.


Local development - https requirement

When working locally if you visit http://localhost:3000/ then the app doesn't display. Can be fixed easily by going to https instead so: https://localhost:3000/
The Contributing part in the readme probably needs to be updated to show this (happy to do this - just let me know).
I think this is due to the extra -e "HTTPS=true" added to the Docker command.

Yeah you can just pull -e "HTTPS=true" out too
It relates to this:
https://github.com/austintgriffith/burner-wallet/pull/33/commits/4e9cbebecaae58deae59402d7ffa0100e19ee391


fix: customer id not needed for retrieving customer payment methods

Type of Change

[x] Bugfix
[ ] New feature
[ ] Enhancement
[ ] Refactoring
[ ] Dependency updates
[ ] Documentation
[ ] CI/CD

Description

Currently, In order to list customer payment methods. We need to hit a get request to {{base_url}}/customers/:customer_id/payment_methods. With ephemeral key in api-key header
In this PR, the get call is made to {{base_url}}/customers/payment_methods. This way, customer_id need not be sent, only ephemeral key in api-key header is enough while listing customer payment methods.
Additional Changes

[x] This PR modifies the API contract
[ ] This PR modifies the database schema
[ ] This PR modifies application configuration/environment variables

How did you test it?

Manual
Valid Ephemeral key

Invalid Ephemeral key

Checklist

[x] I formatted the code cargo +nightly fmt --all
[x] I addressed lints thrown by cargo clippy
[x] I reviewed submitted code
[ ] I added unit tests for my changes where possible
[ ] I added a CHANGELOG entry if applicable

Build checks are failing for migration checks, please have a look.

It’s due to a new diesel_cli release that happened on Friday. Merging this PR by @SanchithHegde would fix that.
https://github.com/juspay/hyperswitch/pull/1287

Build checks are failing for migration checks, please have a look.

It’s due to a new diesel_cli release that happened on Friday. Merging this PR by @SanchithHegde would fix that.
#1287

@hrithikesh026 Change it to just ephemeral_key
https://github.com/juspay/hyperswitch/blob/545c240cd5f08be8eae4fc9c52cb4698bff70530/crates/router/src/routes/payment_methods.rs#L116


Where is the current syntax reference?

I'm trying to define syntax highlighting in Atom, and to that end I need to know which keywords are reserved, and whether or not they are positional.
For example, consider
private let my_var' = 7
one needs to know that let precedes a function name, and may itself be preceded by the modifier private.
src/parser and src/syntax both seem to define a syntax. Which should I use?

We unfortunately don't have a syntax reference, but we would love to have one.
The concrete syntax is defined in src/parser/parse.fsy; the rest is just ASTs that don't encode the specific grammar of F*.

This shouldn't be closed. It seems we do want to have such a reference.

... although personally would prefer for such documentation to be kept in sync automatically with the code if possible

+1, I'd like to see this happen too!


Set the default crush rule in ceph.conf

Currently the default crush rule value is added to the ceph config
on the mon nodes as an extra configuration applied after the template
generation via the ansible ini module.
This implies two behaviors:
1/ On each ceph-ansible run, the ceph.conf will be regenerated via
ceph-config+template and then ceph-mon+ini_file. This leads to a
non necessary daemons restart.
2/ When other ceph daemons are collocated on the monitor nodes
(like mgr or rgw), the default crush rule value will be erased by
the ceph.conf template (mon -> mgr -> rgw).
This patch adds the osd_pool_default_crush_rule config to the ceph
template and only for the monitor nodes (like crush_rules.yml).
The default crush rule id is read (if exist) from the current ceph
configuration.
The default configuration is -1 (ceph default).
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1638092
Signed-off-by: Dimitri Savineau<EMAIL_ADDRESS>

bien ouéj maggle!

jenkins test pipeline


Oauth2 keyclock self-hosted

We are trying to connect to self hosted camunda 8.
Here is my piece of code:
ZEEBE_CLIENT_ID = "..."
ZEEBE_CLIENT_SECRET = "..."
ZEEBE_AUTHORIZATION_SERVER_URL = "..."
ZEEBE_AUDIENCE = "..."
ZEEBE_ADDRESS = "..."

data = {
    # "audience": ZEEBE_AUDIENCE,
    "client_id": ZEEBE_CLIENT_ID,
    "client_secret": ZEEBE_CLIENT_SECRET,
    "grant_type": "client_credentials",
}
response = requests.post(
    ZEEBE_AUTHORIZATION_SERVER_URL,
    data=data,
)
token = response.json()["access_token"]
auth_creds = grpc.access_token_call_credentials(token)
ssl_creds = grpc.ssl_channel_credentials()
channel_creds = grpc.composite_channel_credentials(ssl_creds, auth_creds)
secure_channel = grpc.secure_channel(ZEEBE_ADDRESS, channel_creds)
zeebe_client = ZeebeClient(secure_channel)

And i get next Exception:
Task exception was never retrieved
future: <Task finished name='Task-2' coro=<main() done, defined at ... exception=<_InactiveRpcError of RPC that terminated with:
	status = StatusCode.UNAVAILABLE
	details = "DNS resolution failed for https://x.x.x.x:26500: UNAVAILABLE: WSA Error"
	debug_error_string = "UNKNOWN:Error received from peer  {created_time:"2024-02-06T19:59:13.3648089+00:00", grpc_status:14, grpc_message:"DNS resolution failed for https://x.x.x.x:26500: UNAVAILABLE: WSA Error"}"
>>
  File "...\.venv\lib\site-packages\grpc\_channel.py", line 1003, in _end_unary_response_blocking
    raise _InactiveRpcError(state)  # pytype: disable=not-instantiable
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
	status = StatusCode.UNAVAILABLE
	details = "DNS resolution failed for https://x.x.x.x:26500: UNAVAILABLE: WSA Error"
	debug_error_string = "UNKNOWN:Error received from peer  {created_time:"2024-02-06T19:59:13.3648089+00:00", grpc_status:14, grpc_message:"DNS resolution failed for https://x.x.x.x:26500: UNAVAILABLE: WSA Error"}"
>

So I have two questions:
1) Is there any appropriate method to connect to self-hosted zeebe with pyzeebe and token?
2) What am I doing wrong?

It's looks like working with exceptions???????
import asyncio
import collections

import grpc
import requests
from pyzeebe import ZeebeClient

ZEEBE_AUTHENTICATION_MODE = ""
ZEEBE_CLIENT_ID = ""
ZEEBE_CLIENT_SECRET = ""
RESOURCE_AUTHORIZATIONS_ENABLED = ""
ZEEBE_AUTHORIZATION_SERVER_URL = ""

ZEEBE_ADDRESS = ''

data = {
    "grant_type": "client_credentials",
    "client_id": ZEEBE_CLIENT_ID,
    "client_secret": ZEEBE_CLIENT_SECRET
}
response = requests.post(
    ZEEBE_AUTHORIZATION_SERVER_URL,
    data=data
)
token = response.json()["access_token"]

auth_creds = grpc.access_token_call_credentials(token)

class _ClientCallDetails(
    collections.namedtuple(
        "_ClientCallDetails", ("method", "timeout", "metadata", "credentials")
    ),
    grpc.ClientCallDetails,
):
    pass

class MetadataClientInterceptor(
    grpc.UnaryUnaryClientInterceptor,

):
    def __init__(self, key, value):
        self._key = key
        self._value = value

    def _add_metadata(self, client_call_details):
        if client_call_details.metadata is not None:
            client_call_details.metadata.append((self._key, self._value))
        else:
            metadata = list()
            metadata.append(
                (
                    self._key,
                    self._value,
                )
            )
            client_call_details = _ClientCallDetails(
                client_call_details.method,
                client_call_details.timeout,
                metadata,
                client_call_details.credentials,
            )

        return client_call_details

    def intercept_unary_unary(self, continuation, client_call_details, request):
        client_call_details = self._add_metadata(client_call_details)
        response = continuation(client_call_details, request)
        return response

secure_channel = grpc.insecure_channel(ZEEBE_ADDRESS)

interceptor = MetadataClientInterceptor("authorization", "Bearer " + token)

insecure_channel = grpc.intercept_channel(secure_channel, interceptor)

zeebe_client = ZeebeClient(insecure_channel)

asyncio.run(zeebe_client.cancel_process_instance(process_instance_key=1234))

But I got exception:
Traceback (most recent call last):
  File "...\zeebe_test.py", line 81, in <module>
    asyncio.run(zeebe_client.cancel_process_instance(process_instance_key=1234))
  File "C:\Python311\Lib\asyncio\runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\asyncio\runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\asyncio\base_events.py", line 653, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "...\venv\Lib\site-packages\pyzeebe\client\client.py", line 104, in cancel_process_instance
    await self.zeebe_adapter.cancel_process_instance(process_instance_key=process_instance_key)
  File "...\venv\Lib\site-packages\pyzeebe\grpc_internals\zeebe_process_adapter.py", line 74, in cancel_process_instance
    await self._gateway_stub.CancelProcessInstance(
TypeError: object CancelProcessInstanceResponse can't be used in 'await' expression

Process finished with exit code 1


Add Matrix to social networks

Matrix logo does not load correctly at this time. I'm learning how to write in the SVG in code correctly.

Finally got the matrix logo to load correctly. Not sure why there is blank space between it and Telegram on my page however.


Fix Honor Android 14 devices --turn-screen-off failed

Only fix Honor devices running Android 14. #4823
Android 14 framework.jar: https://github.com/Genymobile/scrcpy/pull/4822#issuecomment-2041359942

Honor devices running Android 13 and below still have SurfaceControl.getPhysicalDisplayIds().
Android 13 framework.jar: https://github.com/Genymobile/scrcpy/issues/3885#issuecomment-1492890154

Merged :+1: 9d1d79b004ed7171f481225993d54c3b100411a7


ADS 1.33.1 won't update over 1.32.0 on Linux with DEB file

Issue Type: Bug

Have V1.32.0 of ADS installed.
Download the azuredatastudio-linux-1.33.1.deb file.
Double click the downloaded file to have it open in the Package Manager.
Note red error banner on Package Manager stating "Error: Breaks existing package 'azuredatastudio' conflict: azuredatastudio()"

Azure Data Studio version: azuredatastudio 1.32.0 (4a45ba7cf20dd4129f1a08e5e776dfb33e3d1d1e, 2021-08-16T18:00:41.235Z)
OS version: Linux x64 5.13.0-21-generic (Linux Mint 20.2)

System Info

Item
Value

CPUs
Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz (12 x 2900)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onrasterization: disabled_softwareskia_renderer: enabled_onvideo_decode: disabled_softwarevulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
1, 2, 2

Memory (System)
31.02GB (0.89GB free)

Process Argv
--no-sandbox --unity-launch

Screen Reader
no

VM
0%

DESKTOP_SESSION
cinnamon

XDG_CURRENT_DESKTOP
X-Cinnamon

XDG_SESSION_DESKTOP
cinnamon

XDG_SESSION_TYPE
x11

Extensions: none

@craigs100 I was able to upgrade from 1.34.0. to 1.35.1 with the below command sequence on Mint Linux.  You may try to uninstall the azuredatastudiopackage and then reinstall it to workaround the issue.  Please let us know if you are still impacted by this issue on the latest release.
# -- install to 1.34.0
user@user-Virtual-Machine:~/Downloads$ sudo apt install ./azuredatastudio-linux-1.34.0.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'azuredatastudio' instead of './azuredatastudio-linux-1.34.0.deb'
The following NEW packages will be installed:
  azuredatastudio
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/121 MB of archives.
After this operation, 478 MB of additional disk space will be used.
Get:1 /home/user/Downloads/azuredatastudio-linux-1.34.0.deb azuredatastudio amd64 1.34.0-1639602013 [121 MB]
Selecting previously unselected package azuredatastudio.
(Reading database ... 315334 files and directories currently installed.)
Preparing to unpack .../azuredatastudio-linux-1.34.0.deb ...
Unpacking azuredatastudio (1.34.0-1639602013) ...
Setting up azuredatastudio (1.34.0-1639602013) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
Processing triggers for shared-mime-info (1.15-1) ...
Processing triggers for desktop-file-utils (0.24+linuxmint1) ...
user@user-Virtual-Machine:~/Downloads$ azuredatastudio

# -- update to 1.35.1
user@user-Virtual-Machine:~/Downloads$ sudo apt install ./azuredatastudio-linux-1.35.1.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'azuredatastudio' instead of './azuredatastudio-linux-1.35.1.deb'
The following packages will be upgraded:
  azuredatastudio
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/125 MB of archives.
After this operation, 62.6 MB of additional disk space will be used.
Get:1 /home/user/Downloads/azuredatastudio-linux-1.35.1.deb azuredatastudio amd64 1.35.1-1647367587 [125 MB]
(Reading database ... 319445 files and directories currently installed.)
Preparing to unpack .../azuredatastudio-linux-1.35.1.deb ...
Unpacking azuredatastudio (1.35.1-1647367587) over (1.34.0-1639602013) ...
Setting up azuredatastudio (1.35.1-1647367587) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
Processing triggers for shared-mime-info (1.15-1) ...
Processing triggers for desktop-file-utils (0.24+linuxmint1) ...

# confirm OS and distro
user@user-Virtual-Machine:~/Downloads$ uname -a
Linux user-Virtual-Machine 5.4.0-107-generic #121-Ubuntu SMP Thu Mar 24 16:04:27 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
user@user-Virtual-Machine:~/Downloads$ cat /etc/debian_version
bullseye/sid

Thanks.
With version 1.34.0 installed, I removed it with: sudo apt-get remove azuredatastudio
I then installed version 1.35.1 by double clicking on the .deb file to initiate the package manager and clicked "Install". The installation proceeded apparently correctly but gives the final result as shown in the screenshot below. Note the error message at the top, which I guess is due to the package manager now being in a position to do a re-install, which it cannot do safely unless the package is first removed. A bit of a vicious circle.  The package itself appears to be correctly installed and working:-

This has been the case with every version of ADS that I have ever installed; when its checks for an existing version, it finds a conflict. As @craigs100 noted above, this even applies to the version just installed.
Despite the message, the version installed works fine.
'Remove'ing the older version and then installing the .deb is/has been a valid work-around. It is just an annoyance, as Code and Codium never do this.
Version: 1.43.0
Commit: b790d700898b1095d83e62f0de14678a58222520
Date: 2023-04-10T23:08:07.209Z
VS Code: 1.67.0
Electron: 19.1.8
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Linux x64 5.15.0-69-generic


Eks error message

This change makes EKS error messages more descriptive when an EKS cluster
fails to create or a VPC fails to provision. It does this by forwarding
the errors from AWS to the user.
Issue:
rancher/rancher#14064

LGTM


chore: Update btp terraform provider version to 1.5.0

Purpose

Replaced the terraform provider latest version.
Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[ ] Feature
[ ] Documentation content changes
[ ] Other... Please describe:

Other Information

closing this PR due to the fmt errors on the files updated.


PDF: Remove the play title preceding chapter headings and running headers

The play title is prepended to paratext titles, including the Acknowledgements, and appears in running headers; presumably it should be removed from all such contexts.

Yes, it should be removed from all such contexts. We could do something with the <titleStmt> that would allow us to indicate the title of the component in the print environment. Right now, we have <title type="main"> for the online title and <title type="short"> for the mobile title. Could we add <title type="print">?

@JackWilton1594: We'll need to discuss, make a decision, and then assign the ticket back to Martin if there's anything we need him to do.

Related to #256

Let's get rid of the URL on the verso. Put the play title on the verso and the critical paratext title on the recto. The <head> element in the critical paratext does not include the play title, so the action required here is removing the instruction to add the play title to ther paratext title.

Done in rev 19221. @JackWilton1594 @JanelleJenstad Can you check you're seeing what you want to see once all the builds have completed?

Since no objections have come in, I'm going to close this.


added support for SQLite

Description of changes

New functionality

Added support for SQLite + Persistence
as per issue #400

Test plan

Same as DuckDB

Documentation Changes

TODO

This is amazing.

Closing this out as this is landing in the refactor