Extending localization documentation page

Feature request type
Other
Component name
No response
Is your feature request related to a problem?
I am localising an application and was refering to https://mudblazor.com/features/localization#translation-keys.
Works great and translated every key.
But please extend the page about a template json or a plain list with all keys, so it is easier to start with.
Copying every key from the page is exhausting, and a full select will also copy the values, which I dont need.__
Describe the solution you'd like
A plain list or a template .json with all the keys for MudBlazor on the localization documentation page.
A section where keys for MudBlazor are already translated by the community into othe languages.
Have you seen this feature anywhere else?
Heres my german translation for the MudBlazor keys:
{
    "MudDataGrid.!=": "Ist nicht",
    "MudDataGrid.<": "Kleiner als",
    "MudDataGrid.<=": "Kleiner oder gleich",
    "MudDataGrid.=": "Ist gleich",
    "MudDataGrid.>": "Größer als",
    "MudDataGrid.>=": "Größer oder gleich",
    "MudDataGrid.AddFilter": "Filter hinzufügen",
    "MudDataGrid.Apply": "Anwenden",
    "MudDataGrid.Cancel": "Abbrechen",
    "MudDataGrid.Clear": "Zurücksetzten",
    "MudDataGrid.CollapseAllGroups": "Alle Gruppen einklappen",
    "MudDataGrid.Column": "Spalte",
    "MudDataGrid.Columns": "Spalten",
    "MudDataGrid.contains": "enthält",
    "MudDataGrid.ends with": "endet mit",
    "MudDataGrid.equals": "Ist gleich",
    "MudDataGrid.ExpandAllGroups": "Alle Gruppen ausklappen",
    "MudDataGrid.False": "Falsch",
    "MudDataGrid.Filter": "Filtern",
    "MudDataGrid.FilterValue": "Filterwert",
    "MudDataGrid.Group": "Gruppe",
    "MudDataGrid.Hide": "Verstecken",
    "MudDataGrid.HideAll": "Alles verstecken",
    "MudDataGrid.is": "Ist",
    "MudDataGrid.is after": "ist nach",
    "MudDataGrid.is before": "Ist vor",
    "MudDataGrid.is empty": "Ist leer",
    "MudDataGrid.is not": "ist nicht",
    "MudDataGrid.is not empty": "Ist nicht leer",
    "MudDataGrid.is on or after": "Ist gleich oder nach",
    "MudDataGrid.is on or before": "Ist gleich oder davor",
    "MudDataGrid.not contains": "Enthält nicht",
    "MudDataGrid.not equals": "Ist nicht",
    "MudDataGrid.Operator": "Operator",
    "MudDataGrid.RefreshData": "Daten aktualisieren",
    "MudDataGrid.Save": "Speichern",
    "MudDataGrid.ShowAll": "Alles anzeigen",
    "MudDataGrid.starts with": "Beginnt mit",
    "MudDataGrid.True": "Wahr",
    "MudDataGrid.Ungroup": "Gruppierung aufheben",
    "MudDataGrid.Unsort": "Sortierung aufheben",
    "MudDataGrid.Value": "Wert"
}

Here is a .json template with the keys only without translation
{
    "MudDataGrid.!=": "",
    "MudDataGrid.<": "",
    "MudDataGrid.<=": "",
    "MudDataGrid.=": "",
    "MudDataGrid.>": "",
    "MudDataGrid.>=": "",
    "MudDataGrid.AddFilter": "",
    "MudDataGrid.Apply": "",
    "MudDataGrid.Cancel": "",
    "MudDataGrid.Clear": "",
    "MudDataGrid.CollapseAllGroups": "",
    "MudDataGrid.Column": "",
    "MudDataGrid.Columns": "",
    "MudDataGrid.contains": "",
    "MudDataGrid.ends with": "",
    "MudDataGrid.equals": "",
    "MudDataGrid.ExpandAllGroups": "",
    "MudDataGrid.False": "",
    "MudDataGrid.Filter": "",
    "MudDataGrid.FilterValue": "",
    "MudDataGrid.Group": "",
    "MudDataGrid.Hide": "",
    "MudDataGrid.HideAll": "",
    "MudDataGrid.is": "",
    "MudDataGrid.is after": "",
    "MudDataGrid.is before": "",
    "MudDataGrid.is empty": "",
    "MudDataGrid.is not": "",
    "MudDataGrid.is not empty": "",
    "MudDataGrid.is on or after": "",
    "MudDataGrid.is on or before": "",
    "MudDataGrid.not contains": "",
    "MudDataGrid.not equals": "",
    "MudDataGrid.Operator": "",
    "MudDataGrid.RefreshData": "",
    "MudDataGrid.Save": "",
    "MudDataGrid.ShowAll": "",
    "MudDataGrid.starts with": "",
    "MudDataGrid.True": "",
    "MudDataGrid.Ungroup": "",
    "MudDataGrid.Unsort": "",
    "MudDataGrid.Value": ""
}

Describe alternatives you've considered
No response
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

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

Copying every key from the page is exhausting

You could just extract the .resx file from source code and use translation tools that can work with this format and save to format you need like excel etc.

A plain list or a template .json with all the keys for MudBlazor on the localization documentation page.
A section where keys for MudBlazor are already translated by the community into other languages.

A pull request is welcome.

Crowdsourced translations have been available for a while now and a lot of languages have already been added by the community:

More information:

https://mudblazor.com/features/localization#crowdsourced-translations
https://github.com/MudBlazor/Translations
https://hosted.weblate.org/engage/mudblazor/

Weblate allows viewing, editing and exporting translations for all languages, so adding a json export feature to the docs doesn't make much sense now.


Document colorManipulator methods

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

Summary 💡
Today I discovered that materialui provides a set of color manipulation helpers under @material-ui/core/styles/colorManipulator.
I searched through the docs and I didn't saw any reference to any of the methods contained there, albeit they areextremelyy useful.
Motivation 🔦
I am pretty sure that there is a lot of people which are using material-ui looking for small libraries for this kind of simple tasks and having this will be very handy.

As far as I know, mui says that everything below 2nd level deep is consider as private and you shouldn't use it. Instead I would recommend to use some alternative like:
https://www.npmjs.com/package/color or https://github.com/gka/chroma.js/
ex.
import color from "color";

const backgroundColor = color("rgba(247,248,249,0.5)");
const useStyles = makeStyles((theme: Theme) => ({
  container: {
    backgroundColor: backgroundColor.string()
  },
  dragging: {
    backgroundColor: backgroundColor.darken(0.05).string()
  },
  over: {
    backgroundColor: backgroundColor.darken(0.1).string()
  }
}));

That is the thing. Why should I add 16 extra KB to an already big bundle for something that is built into the library that I'm already using?

Duplicate of #13039?


CognitoSync-Sample / Swift / DeveloperAuthenticated files are in Objective-C

All the files under CognitoSync-Sample/Swift/DeveloperAuthenticated are the same Objective-C files that are under CognitoSync-Sample/Objective-C/DeveloperAuthenticated.  These are exactly the files that should represent a Swift example of Cognito auth integration.  The files that are Swift are just standard AppDelegate and view controller files that are in every swift application.

Any possibility of added an example accessing a Lambda, such as the github project at https://github.com/danilop/LambdAuth.git ?

I managed to use the LambdAuth now but it's confusing to try and use that with this old messy code sample. See this blog post for how to integrate with a lambda back end, http://baczuk.com/2015/12/AWS-Cognito-in-Swift/
Also, you need to set up the API Gateway for the LambdAuth to be able to use it for logging in.

Any possibility you could share your APIGateway client class and usage?  I am very close to working, but still have an issue in calling my API.

Seth up resources and method as POST on AWS.
This my refresh method in my class that extends AWSAbstractCognitoIdentityProvider
    override func refresh() -> AWSTask! {
        let task = AWSTaskCompletionSource()
        let request = NSMutableURLRequest(URL: NSURL(string: "https://asdsadasdasd.execute-api.us-east-1.amazonaws.com/test/auth/login")!)
        let session = NSURLSession(configuration: NSURLSessionConfiguration.defaultSessionConfiguration())
        request.HTTPMethod = "POST"
        let params = ["email": self.email, "password": self.password] as Dictionary<String, String>
        request.HTTPBody = try! NSJSONSerialization.dataWithJSONObject(params, options: NSJSONWritingOptions())
        request.addValue("application/json", forHTTPHeaderField: "Content-Type")
        request.addValue("application/json", forHTTPHeaderField: "Accept")

        let sessionTask = session.dataTaskWithRequest(request) { (data, response, error) -> Void in
            if let data = data {
                if let json = try! NSJSONSerialization.JSONObjectWithData(data, options: .MutableLeaves) as? NSDictionary {
                    self.logins = [self.developerProvider : self.email]
                    // Get the properties from my server response
                    let identityId = json.objectForKey("identityId") as! String
                    let token = json.objectForKey("token") as! String

                    // Set the identityId and token
                    self.identityId = identityId
                    self._token = token
                    task.setResult(self.identityId)
                }
                else {
                    print("json error")
                }
            }
            else if let error = error {
                print(error.localizedDescription)
                task.setError(error)
            }
            else {
                print("error in call")
            }
        }
        sessionTask.resume()
        return task.task
    }

5 months down the road and these examples that are supposed to be swift are objective-C!  Trying to find any working example of developer authentication using cognito 2.4.0

Hello @vince-marco,
Please use AWS AppSync instead of Amazon Cognito Sync. Like Amazon Cognito Sync, AWS AppSync is a service for synchronizing application data across devices.
It enables user data like app preferences or game state to be synchronized. It also extends these capabilities by allowing multiple users to synchronize and collaborate in real time on shared data.
Please let us know if you have any questions about AppSync.

This issue has been closed because of inactivity. Please open a new issue in https://github.com/aws/aws-sdk-ios/issues if you are still encountering problems.


How to "reset" $message->getPhoto() in a Conversation?

❓ Support Question
I'm posting this here, in the hopes that it may help someone else later.
I'm trying to get several photos in row from a conversation, pretty much just replicating code from the example Conversation:
            case 4:
                if ($message->getPhoto() === null) {
                    $notes['state'] = 4;
                    $this->conversation->update();

                    $data['text'] = "Fotos 1.";

                    $result = Request::sendMessage($data);
                    break;
                }

                $photo             = $message->getPhoto()[0];
                $notes['foto_antes_1'] = $photo->getFileId();
				$notes['state'] = 5;
				$this->conversation->update();
				$message = $this->getMessage();
            case 5:
                if ($message->getPhoto() === null) {
                    $notes['state'] = 5;
                    $this->conversation->update();

                    $data['text'] = 'Foto 2';

                    $result = Request::sendMessage($data);
                    break;
                }

                $photo             = $message->getPhoto()[0];
                $notes['foto_antes_2'] = $photo->getFileId();

				$this->conversation->update();
				$message = $this->getMessage();

But I get at most two different photos out of at least four that must be sent. The remaining ones just get the same id as the second one, if not the first, like this:
{
"state": 8,
"job id": "12345",
"longitude": -43.xxxx,
"latitude": -22.xxxx,
"descricao": "Teste",
"causa": "1",
"sub_causa": "2",
"foto 1": "AgACAgEAAxkBAAIB72AYWQkjnAMnHASKygGKxNNusJ_jAALZqDEbA6nBRAABSmpBbWT01mbd6EsXAAMBAAMCAANtAAMgEgACHgQ",
"foto 2": "AgACAgEAAxkBAAIB9WAYWReaywvCdH5-ogfUhlvjfjqsAALaqDEbA6nBRAyZ_IVJtW-UXd_oSxcAAwEAAwIAA20AA1oSAAIeBA",
"foto 3": "AgACAgEAAxkBAAIB9WAYWReaywvCdH5-ogfUhlvjfjqsAALaqDEbA6nBRAyZ_IVJtW-UXd_oSxcAAwEAAwIAA20AA1oSAAIeBA",
"foto 4": "AgACAgEAAxkBAAIB9WAYWReaywvCdH5-ogfUhlvjfjqsAALaqDEbA6nBRAyZ_IVJtW-UXd_oSxcAAwEAAwIAA20AA1oSAAIeBA"
}
Do I have to somehow "reset" $message->getPhoto() for it to work?

Hi @CarlosNegrao, you are absolutely right, this is a known issue at the moment.
Take a look at the comment here that provides a solution, which is exactly what you suggest with your last question:
https://github.com/php-telegram-bot/core/issues/215#issuecomment-224381608

Thank you, I'll take a look in a couple of hours or at most tomorrow.
Sorry I can't do it sooner to close the issue.

I added both functions to /vendor/longman/telegram-bot/src/Commands/Command.php and stuck the line
$this->setObjectProperty($message, 'photo', null);

right before the "case", and it didn't work.
Every subsequent request for a photo got skipped.
Then I attempted to set "notes['state']" to the next case adn add a break, nothing.
Finally, I added
file_put_contents('/tmp/dump.txt', print_r ($ref_object->getProperties(), true ));

to setObjectProperty so I could see the reflection object and check if "photo" didn't have a different name, but it looks like setObjectProperty never gets called.
Sorry about asking what might be a basic question, but do you have any ideas? Was there a different place I should have added setObjectProperty?

@CarlosNegrao any changes you make in the "vendor" folder get lost when an update comes out. Best is to create a custom class with helper methods. Then you can include that file / class and use it anywhere in your project. The reflection method i posted should work as mentioned, so not sure why it isn't.
What version of PHP are you using?

TBH, I forgot about using a custom class, as I tired as I was of troubleshooting.
I'm currently using PHP 7.3.19, since it's packaged with the Debian install I have on my current VPS.


Array can't hold duplicates ??

Why the following code is not working ?? Array can't hold duplicate values ??
http://plnkr.co/edit/ooJJPv?p=options

you need to use a "track by" expression to make this work (eg "track by $index" in http://plnkr.co/edit/rENcz72qVyRmKVW7wwj3?p=preview). This is covered in the documentation for ngRepeat.


Copilot suggestions shouldn't show up in unfocused notebook cells

Type some python code
Quickly press esc to move focus out of the editor
An inline suggestion shows up in the editor
If I am working across multiple cells, I often leave these suggestions behind. They should be disabled in unfocused cells

Is there any way to accomplish this @hediet

Does it generally make sense to hide ghost text if the editor does not have focus anymore?
Or should this just be done for notebook cells?

Not sure - does copilot still have a mode where they open extra suggestions in a side editor? I thought that switching normal editors while using copilot might be a real use case.

+1 for hiding ghost text for blurred text editor.

Implemented.

Unfortunately, the hover used to cycle through inline suggestions also takes the focus from the editor.
Thus, we cannot hide the ghost text when the editor loses focus.
I don't know how to not hide the ghost text when the hover gets focus. Even worse, when the hover gets the focus and then loses it to something else (e.g. the sidebar), the ghost text should also hide, but this is even harder to detect.

There is, but it does not work:

https://github.com/microsoft/vscode/pull/133518 seems to fixes this, but I have no idea why.
This seems to be a different incarnation of https://github.com/microsoft/vscode/issues/133517.
It is also a time grave. I've already spent quite some time figuring out what is going on.
@alexdima had the insight that the other issue is caused by electron interpreting the two clicks as single double-click, but I have no idea why this causes focus problems.

I moved this to october, as the PR that fixes the fix for this will also be merged not before next milestone (due to vacation).


mark multi ref old as needing clean

Problem
when ancient packing runs, it can encounter a pubkey that is alive in an ancient slot, but is also alive in a newer slot. This indicates clean didn't run correctly or that the pubkey is alive in a new enough slot that clean couldn't run yet, which could also mean it is in the write cache. Some of these are temporary situations.
However, any bug in clean could mean an ancient account, when skipping rewrites, could never be cleaned again. This leads to an inability to make progress in the face of such a bug.
Summary of Changes
When ancient packing detects an alive account that is not alive at the newest slot, it marks the pubkey to be cleaned next time clean runs.
Fixes #

not doing this atm


improved docs

i have improved docs a bit please view it and accept it

This appears to be Hacktoberfest spam. This PR should be marked with the invalid label.


Waiting for popup

Description
Popup is a page event, which runs into problems with the async methods.
I'm trying to click a button that opens a popup.
After the popup opens, I'm trying to call browser.PagesAsync() to get the new page.
Complete minimal example reproducing the issue
Sorry I don't have a great example, I'm working on an internal company tool and it's hard to find a hosted page that has a similar popup.
I noticed there's a sample popup page in the repo... https://github.com/kblok/puppeteer-sharp/tree/master/lib/PuppeteerSharp.TestServer/wwwroot/popup
The code I'm working with looks something like this:
public async Task ClickThisAsync(string elementSelector)
{
	var clickTask = this.CurrentPage.ClickAsync(elementSelector);

	var waitForIdleNav = new NavigationOptions {
		WaitUntil = new[] { WaitUntilNavigation.Networkidle0 }
	};
	// doesn't work, need to wait for nav on new page
	var waitForIdleTask = this.CurrentPage.WaitForNavigationAsync(waitForIdleNav);

	// obvious race condition
	this.CurrentPage.Popup += async (sender, args) => {
		this.OpenPages = await _browser.PagesAsync();
		this.CurrentPage = this.OpenPages.FirstOrDefault();
	};

	// still a race condition
	//this.CurrentPage.Popup += (sender, args) => {
	//  	this.OpenPages.Add(args.PopupPage);
	//};

	await Task.WhenAll(waitForIdleTask, clickTask);
}

Expected behavior:
I think I actually found a solution in JavaScript, but I have no idea if there's a way to make it work in C# / PuppeteerSharp.
const [_, popup] = await Promise.all([
      page.click('a'),
      new Promise(resolve => page.once('popup', async (popup) => {
        await popup.waitFor('selector', {
          waitUnitl: ['networkidle0', 'load', 'networkidle2', 'domcontentloaded']
        })
        resolve(popup)
      }))
    ]);

(from https://github.com/puppeteer/puppeteer/issues/1412#issuecomment-465849461)
Actual behavior:
The ClickAsync completes before the Popup event.
There's no way to get a handle on the new Page.
Versions

Which version of PuppeteerSharp are you using?
PuppeteerSharp v2.0.0

Which .NET runtime and version are you targeting? E.g. .NET framework 4.6.1 or .NET Core 2.0.
.NET Core 3.1

Hey @RobertBaldini!
You will have a "translation" for that recipe here.

Awesome!  Except... now I need to wait for the popup to finish loading. (Otherwise it's just passing back an empty page.)
This is the closest I could think of, but WaitForNavigationAsync doesn't work if you've already awaited the ClickAsync.
if (requestedBehavior?.IsPopupExpected == true)
{
	var popupTaskSource = new TaskCompletionSource<Page>();
	var popupHandler = new EventHandler<PopupEventArgs>(async (sender, args) => {
		var newPage = args.PopupPage;
		// nothing to wait for, we've already clicked
		await newPage.WaitForNavigationAsync(waitForIdleNav);
		popupTaskSource.TrySetResult(newPage);
	});

	this.CurrentPage.Popup += popupHandler;
	await Task.WhenAll(popupTaskSource.Task, clickTask);
	this.CurrentPage.Popup -= popupHandler;

	this.OpenPages = await _browser.PagesAsync();
}

Task.WhenAll should wait for the click and your TaskCompletionSource.
Maybe you could use a WaitForSelectorAsync instead of WaitForNavigationAsync?

We're building up our selectors dynamically, so that wasn't an option for me. But I was trying to think of what else I could await, and looks like I found something that works.
I'm sure there's some cases where you wouldn't want to refresh the popup, but I'll cross that bridge when I come to it. :)
Thanks for all of your help! Never would have thought of the TaskCompletionSource; I definitely learned some things today.
if (requestedBehavior?.IsPopupExpected == true)
{
	var popupTaskSource = new TaskCompletionSource<Page>();
	var popupHandler = new EventHandler<PopupEventArgs>(async (sender, args) => {
		var newPage = args.PopupPage;
		await newPage.ReloadAsync(waitForIdleNav);
		popupTaskSource.TrySetResult(newPage);
	});

	this.CurrentPage.Popup += popupHandler;
	await Task.WhenAll(popupTaskSource.Task, clickTask);
	this.CurrentPage.Popup -= popupHandler;

	this.OpenPages = await _browser.PagesAsync();
}

Closing the issue, feel free to create a new one if you need more help.

Sorry, one last thing...  It tricked me. :)
When I call PagesAsync, sometimes the popup is the last page, but sometimes it's the first page.
I tried doing the event handler without the async, but same thing.
Maybe, as a workaround, is there any way to OrderBy the pages? To get them in the order they were created?
var popupTaskSource = new TaskCompletionSource<Page>();
var popupHandler = new EventHandler<PopupEventArgs>((sender, args) => {
	var newPage = args.PopupPage;
	popupTaskSource.TrySetResult(newPage);
});
_page.Popup += popupHandler;
await Task.WhenAll(popupTaskSource.Task, clickTask);
_page.Popup -= popupHandler;

var newPage = popupTaskSource.Task.Result;
await newPage.ReloadAsync(waitForIdleNav);

// newPage is sometimes first or last
this.OpenPages = await _browser.PagesAsync();

@RobertBaldini the thing is that there is lots of async stuff going on when PagesAsync is called. Long story short we are making sure that all the pages (which is a list of Targets filtered by TargetType) are initialized and ready to be interacted with.
Maybe you can filter that array by URL?
(await _browser.PagesAsync()).Where(p => p.Url.Contains(yourPopupUrl));


CDPSDX-3751: Fix upgrade failure due to backup validation error.

Jira: https://jira.cloudera.com/browse/CDPSDX-3751
Failure was introduced due to the proto files in CB not being updated to match the Thunderhead ones. This caused the error seen of the enum missing.
I am currently testing this.

I have verified that this works as expected by running this locally on 2.63.0. The error is no longer present.


Problem when running through the pipeline

Hello,
I used the Seurat pipeline encoder for Windows at https://github.com/ddiakopoulos/seurat/releases
I tried to capture the example scene at Seurat Unity Plugin Project.
But I had a error:

C:\seurat-compiled-msvc2017-x64>seurat-pipeline-msvc2017-x64.exe -input_path C:\seuratOutput\manifest.json -output_path C:\seuratResult
Reading input: [                                                                                ] 00:00:00
ERROR: Point is outside of the frustum used for binning.  Possible causes for this problem: geometry inside the headbox, incorrect matrices, incorrect depth values, other errors in the generation process. (Showing only the first error)

Does anyone have a solution? I tried many option at Capture Headbox script. But It's not working.

How did you solve the issue? Have the same isse sometimes. I do not have the issue if I use the standard scene or add a standard unity object. But adding asset store objects triggered this issue.

Hmm...
I don't remember exactly. but I think the problem in your objects, maybe the objects near your headbox.
"Point is outside of the frustum used for binning".
You can remove some objects and try again.


Multiple writes to response upon panic with gzip

This issue only occurs if you don't use the errors middleware, as errors catches panics by itself and is below the gzip directive, which allows errors to be written to gzip.
Due to the gzip directive being below the server (The one located at server/server.go), in some cases some data can be written to gzip, but then a panic could occur in a deeper directive and will be caught by the recover() in server/server.go. As a result, the error code is appended to the already written gzip data, and the HTTP status and Content-Type remain unchanged.
Here's an example conversation:
$ curl -v --compressed localhost:9001
* Rebuilt URL to: localhost:9001/
*   Trying ::1...
* Connected to localhost (::1) port 9001 (#0)
> GET / HTTP/1.1
> Host: localhost:9001
> User-Agent: curl/7.43.0
> Accept: */*
> Accept-Encoding: deflate, gzip
>
< HTTP/1.1 200 OK
< Server: Caddy
< Date: Fri, 19 Feb 2016 16:59:57 GMT
< Content-Length: 45
< Content-Type: application/x-gzip
<
?       n????Internal Server Error
* Connection #0 to host localhost left intact

Note that the HTTP status is 200 OK, and the Content-Type is application/x-gzip.
This issue does not occur if your client does not support gzip:
$ curl -v localhost:9001
* Rebuilt URL to: localhost:9001/
*   Trying ::1...
* Connected to localhost (::1) port 9001 (#0)
> GET / HTTP/1.1
> Host: localhost:9001
> User-Agent: curl/7.43.0
> Accept: */*
>
< HTTP/1.1 500 Internal Server Error
< Content-Type: text/plain; charset=utf-8
< Server: Caddy
< X-Content-Type-Options: nosniff
< Date: Fri, 19 Feb 2016 17:07:29 GMT
< Content-Length: 22
<
Internal Server Error
* Connection #0 to host localhost left intact

Hm, interesting problem. First question is, why is it panicking? I'd much rather fix that, since I think that's the real problem here.
Perhaps the server's panic handler could inspect the response header; if "Encoding" is set to something with "gzip" then maybe it should not write a response...

The panic isn't in gzip itself, I intentionally caused the panic by using a bad template for browse.
Example:
{{.Truncate "a" -4}}

However this issue can occur with any panic with a middleware whose directive is lower than gzip's.

We might have to restructure our error handling logic to fully fix this.

The reason this happened is because the gzip handler was higher in the chain than the default error handler, which is down at the server's base handler. Using the errors directive fixes the problem because the errors middleware writes the error page before the gzip's writer is closed.
So, good news @1lann, Caddy 0.9 will check for gzip in a site's configuration when it starts up. If gzip is present but not errors, then it will silently chain in errors - this has no visible side-effects except fixing the bug. This is fixed now, and I will push those changes sometime soon.
I've also added X-Content-Type-Options: nosniff to the plaintext error pages so in case this issue pops up again for some reason. Forbidding the browser to "guess" the content type (even though we have always specified it as plain text) seems to prevent the gz downloads.


Make React Notification system compatible with react 17 or 18

It works now with react 17 or 18

@igorprado Could you merge this change?


Make python deps >= instead of ==

#63  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @zhenlu and the rest of your teammates on  Graphite

Yes these will include the miner updates.

Yes these will include the miner updates.

Not major though, right?

= includes major, ~= doesn't. Which behavior do we want?

>= includes major, ~= doesn't. Which behavior do we want?

Let's not include major - ~=

updated

Merge activity

May 20, 6:42 PM EDT: Graphite rebased this pull request as part of a merge.


[1304] Fix diversities confirmation bug

Context
https://trello.com/c/2JyE3W7F/1304-fix-diversities-bug
Changes proposed in this pull request

A new helper method to compute the correct path for the "Diversity information" link on the review draft page. It ensures the user finishes what they started.
Updated the diversity forms so that they know how to wipe all the data from the DB if the user decides to change their mind and not disclose diversity information later on
Fix an unrelated Capybara warning

Guidance to review
Diversities Bug

Create a new trainee
Click the diversity information link
Choose "Yes" to share diversity information
Go back to the revew draft page
Click the diversity information link
You should now be directly taken to the last page you didn't enter and submit any information
Try this out on a number of diversity form pages

Diversities form validation

Click the diversity information link and enter all the ethnicity and disability information
Go back and change diversity disclosure to not share
All the previous data should be wiped from the DB. To confirm, enter ethnicity and disability information again and notice that forms have no preselected values anymore.

 Fix Diversities Bug


Add the python interpreter as a hidden dep of a pex file

We have a unique python setup.  We distribute it hermetically via an internal tool (similar to dotslash), then we set up our python toolchain to return a PythonToolchainInfo whose interpreter and host_interpreter fields point to a shell script called python_shim.sh that is created via ctx.actions.write(), in order to properly set up the venv and do some other things to make it hermetic.
Later, if you call python_binary, it generates a pex file which contains a line like this at the beginning:
#!/usr/bin/env buck-out/v2/gen/toolchains/48291db568f0aab5-9e2be58768776d78/__python__/python_shim.sh

Presently this is broken because the cmd_args to execute the pex file does not have an action dependency on the interpreter, and so it complains that it cannot find python_shim.h.  This PR makes it work

@JakobDegen Do you know anyone who can review this?

I'll import it and try and find someone. Sorry for letting this slip a bit, I've been traveling and so it's a bit harder to keep up with everything going on


feat: support various newline in vtt parsing

A WebVTT line terminator consists of one of the following:
- A U+000D CARRIAGE RETURN U+000A LINE FEED (CRLF) character pair.
- A single U+000A LINE FEED (LF) character.
- A single U+000D CARRIAGE RETURN (CR) character.

thx, Did all the tests pass?

Of course. Still it's probably better to run it yourself.

Added automated test for your sake.

thank u so mush!

It seems Github actions did not run. Let me know if you find out why.

seem not enable ci for the project


Android MediaRecorder.AudioSource = undefined

From @bradmartin on February 24, 2016 4:29
MediaRecorder.AudioSource -
Android Sample:
    private void startRecording() {
    mRecorder = new MediaRecorder();
    mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    mRecorder.setOutputFile(mFileName);
    mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

    try {
        mRecorder.prepare();
    } catch (IOException e) {
        Log.e(LOG_TAG, "prepare() failed");
    }

    mRecorder.start();
}

`
NativeScript JS code:
    var MediaRecorder = android.media.MediaRecorder;
    var AudioSource = android.media.MediaRecorder.AudioSource;
    var OutputFormat = android.media.MediaRecorder.OutputFormat;
    var AudioEncoder = android.media.MediaRecorder.AudioEncoder;

   var recorder;

   function startAudio(args) {
      try {
          console.log('START AUDIO');
          recorder = new MediaRecorder();
          console.log('RECORDER: ' + recorder);

         // *** FAILS with AudioSource being undefined. **
         recorder.setAudioSource(AudioSource.MIC);
         recorder.setOutputFormat(OutputFormat.THREE_GPP);
         recorder.setOutputFile("bradTest");
         recorder.setAudioEncoder(AudioEncoder.AMR_NB);
         recorder.prepare();
         recorder.start();
       } catch (ex) {
          console.log(ex);
      }
 }
 exports.startAudio = startAudio;

`
Copied from original issue: NativeScript/NativeScript#1622

From @bradmartin on February 24, 2016 6:39
Also I've added the RECORD_AUDIO permission so that's not the issue.

Hey @slavchev can you help here? It seems that this class is not exposed for some reason.

Hi @bradmartin
This is a bug in our runtime. While we have all the metadata it turned out that we don't set static members for the inner classes. As a temporary workaround I would suggest to use the constant values (e.g. MIC=1, VOICE_UPLINK=2, etc.)

@bradmartin
Your issue raised an interesting question. Suppose the following Java code
package com.example;

public class A {
   public class B {
      public int MY_CONST = 1;
   }
}

// option 1
A.B b1 = new A().new B();

// option 2
A a = new A();
A.B b2 = a.new B();

As we can see there are two options (think syntax) to create an instance of A.B class. In NativeScript this is supported as follows
// option 1
var b1 = new new com.example.A().B(); // note the two "new" operators

// option 2
var a = new com.example.A();
var b2 = new a.B();

Anyway, the point is that we attach B constructor function to an instance of A. So we don't support the following syntax (which is valid Java syntax)
com.example.A.B.MY_CONST

Proposal 1
We can attach the static members of B to A. Think of the following
com.example.A.B = { MY_CONST: 1 }
// typeof(com.example.A.B) === 'object'
// typeog((new com.example.A()).B) === 'function'

Proposal 2
We can attach the inner constructor function to the outer one. Think of the following
com.example.A.B === (new com.example.A().B) // true

However doing this will provide a new possible syntax.
//option 3
var a = new com.example.A();
var b = new com.example.A.B(a);

I am not sure which one is less confusing. In the first proposal there are two B - one object and one constructor function. In the second proposal it will be possible to create instance of B by explicitly passing instance of A. I guess the second one is not a bad solution but I would like to hear other opinions.

@slavchev thanks for confirming the bug for now. As for your proposals, I like Proposal 1. However, if using the Constants INT value works, then personally I would rarely use these alternatives. Using the INT values is much less code and cleaner to me. Might be useful to hear from some other devs who might be familiar with the inner classes to see what they think.
Ping :+1:  @NathanaelA @tjvantoll  @NathanWalker @sitefinitysteve @EddyVerbruggen

As far as syntax goes Proposal 1 looks great, but I feel it might not cover all general purpose scenarios.
I am more inclined towards implementing Proposal 2 because it's the logical thing to do in our case, and although it wont have as pretty syntax it would be logically right and it will treat the problem in a more general way. Further more java .class file do exactly that under the hood (creating instance of B explicitly passing an instance of A)

One note:
as per the current example

public class A {
public class B {
public int MY_CONST = 1;
}
}

com.example.A.B.MY_CONST
is not a valid syntax. MY_CONST should be made static final but I guess that what is meant by the name.

I don't like Proposal 2 since it does not "explain" why I need an A instance to create an instance of B. It's just not communicated well. If I have a static path to B why I need an A to create B.
Besides in Java you don't have access to the B constructor through A but through an instance of A.
@Plamen5kov

but I feel it might not cover all general purpose scenarios

Can you elaborate more.

Also in the Android Docs there will be no word of a B(A a) constructor making the developer unsure which class needs this and which class don't. Cause B may be a public static class B. Which will not require an instance of A.
public class A {
public static class B {
public static final int MY_CONST = 1;
}
}
B b = new A.B();
and then I need to check every now and then every nested class in the Android source/docs before use to be sure.

@blagoev
what I can think of right now is a simple inheritance:
public class OuterClass
{
	private class A {
		public static final int BASE_INT = 42;
	}

	public class B extends A {
	}
}

then, if we chose proposal 1, we will need to traverse the base class A of  B and find it's static members so we can attach them to OuterClass.IMO augmenting OuterClass fields with A's variables, does not seem like a generally good solution.

My understanding of Proposal 1 is to attach A and B to OutClass like so
x.y.z.OuterClass.A.B.MY_B_CONST and x.y.z.OuterClass.A.MY_A_CONST.
The exact mechanism of how it is done is not relevant to the developer even if it means more work on our side. It is the final result that matters. And the final result should be to stick with the Android docs and public API as much as possible. so having x.y.z.OuterClass.MY_A_CONST and x.y.z.OuterClass.MY_B_CONST is never good .

I have no problems with attaching all constants to the outer class. I'm worried that we might miss one or many corner cases that will be resolved by them self, if we follow the way java works. I don't believe it's a good idea to add corner cases to our original implementation, when we can have a more general solution. It's true that for now I have no particular user scenario in mind besides inherited static fields, but I believe the more general the solution the better.

One issue with  Proposal 1 is about the type equality checks
It is related to this

In the first proposal there are two B - one object and one constructor function.

I think this comes from the fact the the original suggestion was to implement the static path using an Object of type B. That has all static properties like so
com.example.A.B

and then this will need a constructor function property B of every A instance to be able to create B instances.
In the above implementation case indeed there is a problem when comparing some B instance to A.B
var b = new new com.example.A().B();
b instance of A.B // FALSE

this will be expected by the developer because A.B.MY_CONST is working fine.
The issue with Problem 1 and Problem 2 is common. If we expose static path to B through A it means someone will expect "new A.B" to work or "b instance of A.B" to work meaning that Proposal 2 Option 3 syntax for creating B instances must be supported.
In fact currently there is no way to check  b instanceof A.B without an instance of A. In Java that is possible.
So it seems that Proposal 2 and options 3 are inevitable.

Also, we have to think about .class, .extend and .null pseudo static members. ping @Pip3r4o

yes forgot about that... another reason for exposing the ctor function B directly through A for all nested classes.

Ping @tjvantoll , @EddyVerbruggen , @sitefinitysteve, @bradmartin, @AntonioCuevaUrraco, @hdeshev , @vakrilov , @PeterStaev, @alexziskind1, @emiloberg, @PanayotCankov , @TobiasHennig, @NathanaelA, @ginev
Hi all, we need you opinion on this matter, because this will affect you, as well as all other nativescript users. I'm trying to start a dialog, where everyone will be satisfied with the final result.

From reading the discussion up to this point it does seem like there is much choice and the Prop 2 is the best solution.    One thing I wasn't sure of was would MY_CONST be accessible like A.B.MY_CONST under proposition 2?    The constants are probably going to be the most used, so it should be usable as close to the Android docs as possible...

I'm not such a Java expert but since you say that inside the compiler does what Proposal 2/Option 3 will do, I also agree that this seems the best approach.
But I also agree with @NathanaelA comment above that static members (constants in most cases) should be usable by directly using A.B.MY_CONST

I'd like to give notice that the changes according to Proposal 2/option 3 will require that when instantiating inner class, a reference to the outer this be provided as the first argument, even when you have just a default, or empty, constructor.
This also means that the syntax supported up to this moment for creating instances of inner classes will be removed from the runtime.
tl;dr :
Given the following class and its inner class
public class OuterClass {
    public class InnerClass {
        public static final String NAME = "John";
    }
}

You will no longer be able to do the following
var oC = new OuterClass();
var iC = new oC.InnerClass();

// OuterClass.InnerClass == undefined

And will instead have to write it like this
var oC = new OuterClass();
var iC = new OuterClass.InnerClass(oC);

OuterClass.InnerClass.NAME == iC.NAME  // "John"

Ping @tjvantoll , @EddyVerbruggen , @sitefinitysteve, @bradmartin, @AntonioCuevaUrraco, @hdeshev , @vakrilov , @PeterStaev, @alexziskind1, @emiloberg, @PanayotCankov , @TobiasHennig, @NathanaelA, @ginev giving you a heads up, SYNTAX CHANGE that may or may not affect you.
If approved, the changes will be available in the release following Augusts's, and I need to make sure that they are well communicated. Thank you!

Proposal 1 👍

Can't we have the
com.example.A.B === com.example.A.prototype.B
and get B throwing if when called with new its this is not an instance of A?

Can't we make the com.example.A.B a constructor function that gets instance of A as first arg, but also preserve the current syntax, where instances of A have property B that can be used to instantiate B?

@Pip3r4o
One question just to clarify; how do you get access to the static items like in android you would do:
int MIC = MediaRecorder.AudioSource.MIC;
I realize in 2.1 and below this is broken, so under this change what will the equivalent in NS now?

@NathanaelA access to static items of inner classes will now be direct, and accessing MediaRecorder.AudioSource.MIC will work as expected. See the example in my previous comment

@Pip3r4o --
Thanks for the clarification; and I have no idea why I totally overlooked the last line of your example, it was there for me to see.  ;-)    So this is in 2.2?

@NathanaelA, it won't be in 2.2, because even though the implementation is done, we were hoping to hear an opinion from more people in the community, before finally deciding this is the syntax we want to use.
Up until now we supported the java syntax as much as possible to keep thins as close to the native side as possible, but this syntax is more close to javascript than java IMO.
We will probably include this feature in 2.3.


bug in scale_matrix_exp_multiply

Description
The function scale_matrix_exp_multiply (and matrix_exp_multiply) appear to be having a bug. The results of these functions are not (always) identical to what one gets by using matrix_exp and subsequent multiplication.
Example
This Stan model should reproduce the error (see the generated quantities block)
// matrix_exp.stan
data {
    int n; // number of time points
    real ts[n]; // time points

    int k; // dimension of matrix
    matrix[k,k] M;
}

parameters {
    real u; // dummy parameter
}

model {
    u ~ normal(0,1); // dummy distribution
}

generated quantities {
    // xs, ys and zs should be identical
    real xs[n];
    real ys[n];
    real zs[n];

    // compute exp(t * M) * 1, where 1 is a vector of ones
    // and use store the first element to xs, ys and zs

    for ( i in 1:n ) {
    	// method 1
    	matrix[k,1] A = matrix_exp(ts[i] * M) * rep_matrix(1.0, k, 1);
    	xs[i] = A[1,1];

        // method 2
        ys[i] = matrix_exp_multiply(ts[i] * M, rep_matrix(1.0, k, 1))[1,1];

        // method 3
        zs[i] = scale_matrix_exp_multiply(ts[i], M, rep_matrix(1.0, k, 1))[1,1];
    }
}

I used the following python script to run the model
import cmdstanpy
import numpy as np
import matplotlib.pyplot as plt

sm = cmdstanpy.CmdStanModel(stan_file="matrix_exp.stan")

ts = np.linspace(0, 50, 1000)

M = np.array([
    [-1.2,  1.2,    0],
    [0,    -0.5,  0.5],
    [0,       0, -0.3]
])

data = {
    "n" : len(ts),
    "ts" : ts,
    "k" : len(M),
    "M" : M,
}

sam = sm.sample(data=data, chains=1)

xs = sam.stan_variable("xs")[0,:]
ys = sam.stan_variable("ys")[0,:]
zs = sam.stan_variable("zs")[0,:]

fig, axs = plt.subplots(1, 3, sharey=True)

axs[0].plot(ts, xs, label="method 1", linewidth=2)
axs[1].plot(ts, ys, label="method 2", linewidth=2)
axs[2].plot(ts, zs, label="method 3", linewidth=2)

axs[1].set_xlabel("$t$")
axs[0].set_ylabel("$[\\exp(Mt) \cdot 1]_{1}$")

for i in range(3):
    axs[i].set_title(f"method {i+1}")

fig.savefig("matrix_exp.png", dpi=200)

Expected Output

The figure shows the results for the different methods. Method 1 is the expected result, Methods 2 and 3 have very weird discontinuities.
Current Version:
cmdstan 2.27.0

@chvandorp I just pushed a new implementation and add your matrix model as a test. Can you take a look?
I suspect #1146 is caused by the same implementation flaw but let's address this one first.

Hi @yizhang-yiz  yes #1146 appears to be the exact same issue. I'm afraid I can't find your PR though. Am I missing something? Thanks!

@chvandorp silly me, the PR is here https://github.com/stan-dev/math/pull/2619.


LoadError: None of the selected providers can install dependency nettle.

I just seem to not be able to instal IJulia with Pkg.add("IJulia"). If I run a notebook the kernel dies.

@FrankWessels, you should report this problem at Nettle.jl.   Make sure you indicate what Windows version you are using.


Modal for information div

@Nancy-30 look into it as per requirements

Issue completed by @Nancy-30 in the PR #19


Match feature table to ordination

The samples represented in the feature table should be the same as in the ordination. This will help with matching colors, etc.

Can this be done before porting to JS? If so, I already have a function
that does this
https://github.com/biocore/gneiss/blob/master/gneiss/util.py#L171
On Wed, Jun 24, 2020, 1:00 PM Yoshiki Vázquez Baeza <
<EMAIL_ADDRESS>wrote:

The samples represented in the feature table should be the same as in the
ordination. This will help with matching colors, etc.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/biocore/empress/issues/204, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA75VXPBA67SH3BYX57NK2TRYJEONANCNFSM4OHCYO4A
.

Yes, thanks for the heads up!


[BUG] openshift-tools-installer action takes too long when used through Github Enterprise

Version
v1
Describe the bug
Since #58 was fixed we face the issue that the openshift-tools-installer runs around 3 minutes (compared to around 16 seconds before).
Steps to reproduce, workflow links, screenshots
On a Github Enterprise instance, create and run the below action:
name: Master Workflow

env:
  REPOSITORY_NAME: ${{ github.event.repository.name }}

on:
  push:
    branches:
      - 'master'

jobs:
  build-release:
    name: 'Build new release'
    runs-on: [ self-hosted, linux, x64 ]
    steps:
      - name: 'Setup OpenShift Tools'
        uses: redhat-actions/openshift-tools-installer@v1
        with:
          oc: 4

Output
Running this action results into the below output.
Setup Job (2s)
Current runner version: '2.284.0'
Runner name: 'github-actions-runner-basic-3-4r7q5'
Runner group name: 'Default'
Machine name: 'github-actions-runner-basic-3-4r7q5'
GITHUB_TOKEN Permissions
Actions: write
Checks: write
Contents: write
Deployments: write
Issues: write
Metadata: read
OrganizationPackages: write
Packages: write
PullRequests: write
RepositoryProjects: write
SecurityEvents: write
Statuses: write
Runner is running behind proxy server 'http://egress-http-proxy-external:8080' for all HTTP requests.
Runner is running behind proxy server 'http://egress-http-proxy-external:8080' for all HTTPS requests.
Prepare workflow directory
Prepare all required actions
Getting action download info
Download action repository 'redhat-actions/openshift-tools-installer@v1' (SHA:99744decfe48e62f0304d622c34bce5f1d045858)
Setup Openshift Tools (3m 2s)
Run redhat-actions/openshift-tools-installer@v1
with:
oc: 4
github_pat: ***
source: mirror
skip_cache: false
env:
REPOSITORY_NAME: test-openshift-tools-installer
Installing oc matching version "4"
ℹ Tools will be installed from "mirror".
🔎 Searching for a version of oc satisfying the range ">=4.0.0 <5.0.0-0" that was input as "4"
Download directory for oc is https://mirror.openshift.com/pub/openshift-v4/clients/ocp/
Max oc version satisfying >=4.0.0 <5.0.0-0 is 4.9.15
Current operating system is linux
Selecting openshift-client-linux-4.9.15.tar.gz
⏩ GitHub enterprise detected; skipping cache. For more information, see https://github.com/actions/cache/issues/505
⬇ Downloading 47.12MB https://mirror.openshift.com/pub/openshift-v4/clients/ocp/4.9.15/openshift-client-linux-4.9.15.tar.gz ...
Downloaded openshift-client-linux-4.9.15.tar.gz in 1.8s
⬇ Downloading hash file https://mirror.openshift.com/pub/openshift-v4/clients/ocp/4.9.15/sha256sum.txt
sha256 verification of openshift-client-linux-4.9.15.tar.gz succeeded.
/usr/bin/tar xz --warning=no-unknown-keyword -C /home/runner/_work/_temp/730744aa-ac4a-47d3-99d5-ab1953101224 -f /home/runner/_work/_temp/ef57516c22ae02527befdc776956cc11-openshift-client-linux-4.9.15.tar.gz
Removed /home/runner/_work/_temp/ef57516c22ae02527befdc776956cc11-openshift-client-linux-4.9.15.tar.gz
Current architecture is amd64
Using temporary directory for storage
📁 CLIs will be downloaded to /home/runner/_work/_temp/openshift-bin
Added /home/runner/_work/_temp/openshift-bin to PATH
oc installed into /home/runner/_work/_temp/openshift-bin/oc
/home/runner/_work/_temp/openshift-bin/oc version --client
Client Version: 4.9.15
⏩ GitHub enterprise detected; skipping cache. For more information, see https://github.com/actions/cache/issues/505
✅ Successfully installed oc 4.9.15.
✅ Successfully installed 1/1 client:

oc 4.9.15

Wrote out installed versions to /home/runner/_work/_temp/openshift-bin/openshift-clients-installed.json
Complete Job
Cleaning up orphan processes
Summary
As you can see the download itself is quite fast (1.8s) but a lot of time (around 3 minutes) is lost somewhere after. The statement Wrote out installed versions to /home/runner/_work/_temp/openshift-bin/openshift-clients-installed.json is actually appearing in less than a second, but afterwards the action is stuck for 3 minutes.
As mentioned, the action was running in less than 20 seconds on December 15th still, so I suspect the slow-down has something to do with the fix for #58 or the underlying problem.

Wrote out installed versions to /home/runner/_work/_temp/openshift-bin/openshift-clients-installed.json
It seems this is the last step of the tools installer. Not sure why it stuck there for more than 3 minutes :thinking:
Will it be possible for you to record your screen after setting the secret ACTIONS_STEP_DEBUG to true

Setup Job (2s)
##[debug]Starting: Set up job
Current runner version: '2.284.0'
Runner name: 'github-actions-runner-basic-3-4r7q5'
Runner group name: 'Default'
Machine name: 'github-actions-runner-basic-3-4r7q5'
GITHUB_TOKEN Permissions
Actions: write
Checks: write
Contents: write
Deployments: write
Issues: write
Metadata: read
OrganizationPackages: write
Packages: write
PullRequests: write
RepositoryProjects: write
SecurityEvents: write
Statuses: write
##[debug]Primary repository: esales/test-openshift-tools-installer
Runner is running behind proxy server 'http://egress-http-proxy-external:8080' for all HTTP requests.
Runner is running behind proxy server 'http://egress-http-proxy-external:8080' for all HTTPS requests.
Prepare workflow directory
##[debug]Update context data
##[debug]Evaluating job-level environment variables
##[debug]Evaluating: github.event.repository.name
##[debug]Evaluating Index:
##[debug]..Evaluating Index:
##[debug]....Evaluating Index:
##[debug]......Evaluating github:
##[debug]......=> Object
##[debug]......Evaluating String:
##[debug]......=> 'event'
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'repository'
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'name'
##[debug]=> 'test-openshift-tools-installer'
##[debug]Result: 'test-openshift-tools-installer'
##[debug]Evaluating job container
##[debug]Evaluating job service containers
##[debug]Evaluating job defaults
Prepare all required actions
Getting action download info
Download action repository 'redhat-actions/openshift-tools-installer@v1' (SHA:99744decfe48e62f0304d622c34bce5f1d045858)
##[debug]Download 'https://api.github.com/repos/redhat-actions/openshift-tools-installer/tarball/99744decfe48e62f0304d622c34bce5f1d045858' to '/home/runner/_work/_actions/_temp_ca347818-31e1-42de-931e-cb0eae885c3b/1750b5dc-f336-4fb0-aa5a-e7fdca81b4b0.tar.gz'
##[debug]Unwrap 'redhat-actions-openshift-tools-installer-99744de' to '/home/runner/_work/_actions/redhat-actions/openshift-tools-installer/v1'
##[debug]Archive '/home/runner/_work/_actions/_temp_ca347818-31e1-42de-931e-cb0eae885c3b/1750b5dc-f336-4fb0-aa5a-e7fdca81b4b0.tar.gz' has been unzipped into '/home/runner/_work/_actions/redhat-actions/openshift-tools-installer/v1'.
##[debug]action.yml for action: '/home/runner/_work/_actions/redhat-actions/openshift-tools-installer/v1/action.yml'.
##[debug]Set step 'redhat-actionsopenshift-tools-installer' display name to: 'Setup OpenShift Tools'
##[debug]Collect running processes for tracking orphan processes.
##[debug]Finishing: Set up job
Setup Openshift Tools (3m 2s)
##[debug]Evaluating condition for step: 'Setup OpenShift Tools'
##[debug]Evaluating: success()
##[debug]Evaluating success:
##[debug]=> true
##[debug]Result: true
##[debug]Starting: Setup OpenShift Tools
##[debug]Loading inputs
##[debug]Evaluating: github.token
##[debug]Evaluating Index:
##[debug]..Evaluating github:
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'token'
##[debug]=> ''
##[debug]Result: ''
##[debug]Loading env
Run redhat-actions/openshift-tools-installer@v1
with:
oc: 4
github_pat: ***
source: mirror
skip_cache: false
env:
REPOSITORY_NAME: test-openshift-tools-installer
Installing oc matching version "4"
ℹ Tools will be installed from "mirror".
🔎 Searching for a version of oc satisfying the range ">=4.0.0 <5.0.0-0" that was input as "4"
Download directory for oc is https://mirror.openshift.com/pub/openshift-v4/clients/ocp/
##[debug]GET https://mirror.openshift.com/pub/openshift-v4/clients/ocp/
##[debug]Semantic versions of oc are 4.1.0, 4.1.11, 4.1.13, 4.1.14, 4.1.15, 4.1.16, 4.1.17, 4.1.18, 4.1.2, 4.1.20, 4.1.21, 4.1.22, 4.1.23, 4.1.24, 4.1.25, 4.1.26, 4.1.27, 4.1.28, 4.1.29, 4.1.3, 4.1.30, 4.1.31, 4.1.34, 4.1.38, 4.1.4, 4.1.41, 4.1.6, 4.1.7, 4.1.8, 4.1.9, 4.2.0, 4.2.10, 4.2.12, 4.2.13, 4.2.14, 4.2.16, 4.2.18, 4.2.19, 4.2.2, 4.2.20, 4.2.21, 4.2.22, 4.2.23, 4.2.24, 4.2.25, 4.2.26, 4.2.27, 4.2.28, 4.2.29, 4.2.30, 4.2.32, 4.2.33, 4.2.34, 4.2.36, 4.2.4, 4.2.7, 4.2.8, 4.2.9, 4.3.0, 4.3.1, 4.3.10, 4.3.11, 4.3.12, 4.3.13, 4.3.14, 4.3.15, 4.3.17, 4.3.18, 4.3.19, 4.3.2, 4.3.21, 4.3.22, 4.3.23, 4.3.24, 4.3.25, 4.3.26, 4.3.27, 4.3.28, 4.3.29, 4.3.3, 4.3.31, 4.3.32, 4.3.33, 4.3.35, 4.3.38, 4.3.40, 4.3.5, 4.3.8, 4.3.9, 4.4.10, 4.4.11, 4.4.12, 4.4.13, 4.4.14, 4.4.15, 4.4.16, 4.4.17, 4.4.18, 4.4.19, 4.4.20, 4.4.21, 4.4.22, 4.4.23, 4.4.24, 4.4.25, 4.4.26, 4.4.27, 4.4.28, 4.4.29, 4.4.3, 4.4.30, 4.4.31, 4.4.32, 4.4.33, 4.4.4, 4.4.5, 4.4.6, 4.4.7, 4.4.8, 4.4.9, 4.5.0, 4.5.1-rc.0, 4.5.1, 4.5.10, 4.5.11, 4.5.12, 4.5.13, 4.5.14, 4.5.15, 4.5.16, 4.5.17, 4.5.18, 4.5.19, 4.5.2, 4.5.20, 4.5.21, 4.5.22, 4.5.23, 4.5.24, 4.5.25, 4.5.27, 4.5.28, 4.5.29, 4.5.3, 4.5.30, 4.5.31, 4.5.32, 4.5.33, 4.5.34, 4.5.35, 4.5.36, 4.5.37, 4.5.38, 4.5.39, 4.5.4, 4.5.40, 4.5.41, 4.5.5, 4.5.6, 4.5.7, 4.5.8, 4.5.9, 4.6.0-rc.0, 4.6.0-rc.1, 4.6.0-rc.2, 4.6.0-rc.3, 4.6.0-rc.4, 4.6.0, 4.6.1, 4.6.10, 4.6.11, 4.6.12, 4.6.13, 4.6.15, 4.6.16, 4.6.17, 4.6.18, 4.6.19, 4.6.2, 4.6.20, 4.6.21, 4.6.22, 4.6.23, 4.6.24, 4.6.25, 4.6.26, 4.6.27, 4.6.28, 4.6.29, 4.6.3, 4.6.30, 4.6.31, 4.6.32, 4.6.33, 4.6.34, 4.6.35, 4.6.36, 4.6.37, 4.6.38, 4.6.39, 4.6.4, 4.6.40, 4.6.41, 4.6.42, 4.6.43, 4.6.44, 4.6.45, 4.6.46, 4.6.47, 4.6.48, 4.6.49, 4.6.5, 4.6.50, 4.6.51, 4.6.52, 4.6.53, 4.6.6, 4.6.7, 4.6.8, 4.6.9, 4.7.0-rc.0, 4.7.0-rc.1, 4.7.0-rc.2, 4.7.0-rc.3, 4.7.0, 4.7.1, 4.7.10, 4.7.11, 4.7.12, 4.7.13, 4.7.14, 4.7.15, 4.7.16, 4.7.17, 4.7.18, 4.7.19, 4.7.2, 4.7.20, 4.7.21, 4.7.22, 4.7.23, 4.7.24, 4.7.25, 4.7.26, 4.7.27, 4.7.28, 4.7.29, 4.7.3, 4.7.30, 4.7.31, 4.7.32, 4.7.33, 4.7.34, 4.7.35, 4.7.36, 4.7.37, 4.7.38, 4.7.39, 4.7.4, 4.7.40, 4.7.41, 4.7.5, 4.7.6, 4.7.7, 4.7.8, 4.7.9, 4.8.0-rc.0, 4.8.0-rc.1, 4.8.0-rc.2, 4.8.0-rc.3, 4.8.0, 4.8.1, 4.8.10, 4.8.11, 4.8.12, 4.8.13, 4.8.14, 4.8.15, 4.8.16, 4.8.17, 4.8.18, 4.8.19, 4.8.2, 4.8.20, 4.8.21, 4.8.22, 4.8.23, 4.8.24, 4.8.25, 4.8.26, 4.8.27, 4.8.3, 4.8.4, 4.8.5, 4.8.6, 4.8.7, 4.8.8, 4.8.9, 4.9.0-rc.0, 4.9.0-rc.1, 4.9.0-rc.3, 4.9.0-rc.4, 4.9.0-rc.5, 4.9.0-rc.6, 4.9.0-rc.7, 4.9.0-rc.8, 4.9.0, 4.9.1, 4.9.10, 4.9.11, 4.9.12, 4.9.13, 4.9.15, 4.9.2, 4.9.4, 4.9.5, 4.9.6, 4.9.7, 4.9.8, 4.9.9
##[debug]40 non-semantic versions were discarded
Max oc version satisfying >=4.0.0 <5.0.0-0 is 4.9.15
##[debug]GET https://mirror.openshift.com/pub/openshift-v4/clients/ocp/4.9.15/
##[debug]oc 4.9.15 files: .., changelog.html, changelog.md, openshift-client-linux-4.9.15.tar.gz, openshift-client-linux.tar.gz, openshift-client-mac-4.9.15.tar.gz, openshift-client-mac.tar.gz, openshift-client-windows-4.9.15.zip, openshift-client-windows.zip, openshift-install-linux-4.9.15.tar.gz, openshift-install-linux.tar.gz, openshift-install-mac-4.9.15.tar.gz, openshift-install-mac.tar.gz, opm-linux-4.9.15.tar.gz, opm-linux.tar.gz, opm-mac-4.9.15.tar.gz, opm-mac.tar.gz, opm-windows-4.9.15.tar.gz, opm-windows.tar.gz, release.txt, sha256sum.txt, sha256sum.txt.gpg
Current operating system is linux
##[debug]After filterByOS, 6 files remain.
##[debug]After bound filterByExecutable, 2 files remain.
##[debug]After bound filterByVersioned, 1 files remain.
##[debug]1 clients remaining; skipping filterByZipped.
Selecting openshift-client-linux-4.9.15.tar.gz
##[debug]File info for oc >=4.0.0 <5.0.0-0 resolved successfully to {"archiveFilename":"openshift-client-linux-4.9.15.tar.gz","archiveFileUrl":"https://mirror.openshift.com/pub/openshift-v4/clients/ocp/4.9.15/openshift-client-linux-4.9.15.tar.gz","clientName":"oc","version":"4.9.15","versionRange":{"options":{},"loose":false,"includePrerelease":false,"raw":"4","set":[[{"options":{},"loose":false,"operator":">=","semver":{"options":{},"loose":false,"includePrerelease":false,"raw":"4.0.0","major":4,"minor":0,"patch":0,"prerelease":[],"build":[],"version":"4.0.0"},"value":">=4.0.0"},{"options":{},"loose":false,"operator":"<","semver":{"options":{},"loose":false,"includePrerelease":false,"raw":"5.0.0-0","major":5,"minor":0,"patch":0,"prerelease":[0],"build":[],"version":"5.0.0-0"},"value":"<5.0.0-0"}]],"range":">=4.0.0 <5.0.0-0"},"mirrorDirectoryUrl":"https://mirror.openshift.com/pub/openshift-v4/clients/ocp/4.9.15/"}
⏩ GitHub enterprise detected; skipping cache. For more information, see https://github.com/actions/cache/issues/505
⬇ Downloading 47.12MB https://mirror.openshift.com/pub/openshift-v4/clients/ocp/4.9.15/openshift-client-linux-4.9.15.tar.gz ...
##[debug]Downloading https://mirror.openshift.com/pub/openshift-v4/clients/ocp/4.9.15/openshift-client-linux-4.9.15.tar.gz
##[debug]Destination /home/runner/_work/_temp/4cfac7f761abcdd906231673ce000d05-openshift-client-linux-4.9.15.tar.gz
##[debug]download complete
##[debug]Downloaded to /home/runner/_work/_temp/4cfac7f761abcdd906231673ce000d05-openshift-client-linux-4.9.15.tar.gz
Downloaded openshift-client-linux-4.9.15.tar.gz in 0.8s
##[debug]GET https://mirror.openshift.com/pub/openshift-v4/clients/ocp/4.9.15/
⬇ Downloading hash file https://mirror.openshift.com/pub/openshift-v4/clients/ocp/4.9.15/sha256sum.txt
##[debug]sha256 hashing /home/runner/_work/_temp/4cfac7f761abcdd906231673ce000d05-openshift-client-linux-4.9.15.tar.gz...
##[debug]Correct hash for openshift-client-linux-4.9.15.tar.gz is af193ec89e7416e118fee275d6a7ab4cc1b7f690f82c1706df7614295db38d56
##[debug]Actual hash for openshift-client-linux-4.9.15.tar.gz is  af193ec89e7416e118fee275d6a7ab4cc1b7f690f82c1706df7614295db38d56
sha256 verification of openshift-client-linux-4.9.15.tar.gz succeeded.
##[debug]Checking tar --version
##[debug]tar (GNU tar) 1.30
##[debug]Copyright (C) 2017 Free Software Foundation, Inc.
##[debug]License GPLv3+: GNU GPL version 3 or later https://gnu.org/licenses/gpl.html.
##[debug]This is free software: you are free to change and redistribute it.
##[debug]There is NO WARRANTY, to the extent permitted by law.
##[debug]
##[debug]Written by John Gilmore and Jay Fenlason.
/usr/bin/tar xz -v --warning=no-unknown-keyword -C /home/runner/_work/_temp/8994c8d4-1724-4c89-9f30-4e2444d4aeb7 -f /home/runner/_work/_temp/4cfac7f761abcdd906231673ce000d05-openshift-client-linux-4.9.15.tar.gz
README.md
oc
kubectl
Removed /home/runner/_work/_temp/4cfac7f761abcdd906231673ce000d05-openshift-client-linux-4.9.15.tar.gz
Current architecture is amd64
##[debug]Executable glob patterns are: oc oc-linux-amd64 linux-amd64-oc linux-amd64-oc
##[debug]followSymbolicLinks 'true'
##[debug]implicitDescendants 'true'
##[debug]omitBrokenSymbolicLinks 'true'
##[debug]Search path '/home/runner/_work/_temp/8994c8d4-1724-4c89-9f30-4e2444d4aeb7'
Using temporary directory for storage
📁 CLIs will be downloaded to /home/runner/_work/_temp/openshift-bin
Added /home/runner/_work/_temp/openshift-bin to PATH
##[debug]Move /home/runner/_work/_temp/8994c8d4-1724-4c89-9f30-4e2444d4aeb7/oc to /home/runner/_work/_temp/openshift-bin/oc
##[debug]chmod 755 /home/runner/_work/_temp/openshift-bin/oc
oc installed into /home/runner/_work/_temp/openshift-bin/oc
/home/runner/_work/_temp/openshift-bin/oc version --client
Client Version: 4.9.15
⏩ GitHub enterprise detected; skipping cache. For more information, see https://github.com/actions/cache/issues/505
✅ Successfully installed oc 4.9.15.
✅ Successfully installed 1/1 client:

oc 4.9.15

::set-output name=installed::{%0A  "oc": {%0A    "fromCache": false,%0A    "installedPath": "/home/runner/_work/_temp/openshift-bin/oc",%0A    "url": "https://mirror.openshift.com/pub/openshift-v4/clients/ocp/4.9.15/openshift-client-linux-4.9.15.tar.gz",%0A    "version": "4.9.15"%0A  }%0A}
##[debug]='{
##[debug]  "oc": {
##[debug]    "fromCache": false,
##[debug]    "installedPath": "/home/runner/_work/_temp/openshift-bin/oc",
##[debug]    "url": "https://mirror.openshift.com/pub/openshift-v4/clients/ocp/4.9.15/openshift-client-linux-4.9.15.tar.gz",
##[debug]    "version": "4.9.15"
##[debug]  }
##[debug]}'
Wrote out installed versions to /home/runner/_work/_temp/openshift-bin/openshift-clients-installed.json
##[debug]Node Action run completed with exit code 0
##[debug]Finishing: Setup OpenShift Tools
Complete Job (0s)
##[debug]Starting: Complete job
Cleaning up orphan processes
##[debug]Finishing: Complete job

@urswiss won't it be possible for you to share the screen recording, as I'm not able to find out on which step it is taking time?

I tried, but since I have a company Windows laptop the recording feature seems to be blocked. Anyway, around 90 % of the time is used after the statement Wrote out installed versions to /home/runner/_work/_temp/openshift-bin/openshift-clients-installed.json

I just found out that redhat-actions/oc-installer@v1 runs in just 2 seconds. So we are going to use this action for now, even though it's not optimal, as the binaries are from December 2020 and are no longer updated.

This is still an issue with<EMAIL_ADDRESS>and oc: 4.15.11. It takes on our side around 3 minutes. Are there any workarounds to get the latest oc version installed quickly?

We are observing the same 'slow' issue here using self-hosted github runners (github enterprise) and using it like this
    - name: Install oc and helm clients
      uses: redhat-actions/openshift-tools-installer@v1
      with:
        oc: 4
        helm: 3

This step averages 2m30 to 3m long to execute and most of the execution seems to be used on this last line:
Wrote out installed versions to /home/runner/_work/_temp/openshift-bin/openshift-clients-installed.json


Changing size of framing rectangle in BarcodeView

Hi,
We -my team- have tried to change the size of framing rectangle in the CameraPreview, and we found out it has constant logic to set the margins.
So we think it could be nice if we can set our own size for framing rectangle.
We already have the code and we can raise pull request if you are interested in this feature.

+1

+1

+1

+1

+1

Thanks @SunhoY! I moved the logic to CameraPreview, and merged into master. Will be part of the next release.


Apply dependencies constraints to deploy configuration of ear plugin

Expected Behavior
Suppose i have declared a platform mycompany-platform like this:
plugins {
    id 'java-platform'
    id 'maven-publish'
}

group = "com.mycompany"
version = "1.0.0"

dependencies {
    constraints {
        api 'com.mycompany:myproject-ejb:1.+'
        api 'log4j:log4j:1.2.17!!'
    }
}

Using the platform in a ear project, should apply the constraints and resolve the correct versions for all libraries:
plugins {
    id 'ear'
}

dependencies {

    earlib platform('com.mycompany:mycompany-platform:latest.release')
    earlib 'log4j:log4j'

    earlib platform('com.mycompany:mycompany-platform:latest.release')
    deploy 'com.mycompany:myproject-ejb'

}

Current Behavior
This works for the earlib configuration, but not for the deploy configuration.
The reported error is:
Could not determine the dependencies of task ':myproject-ear:ear'.
> Could not resolve all task dependencies for configuration ':myproject-ear:deploy'.
   > Could not find com.mycompany:myproject-ejb:.
     Required by:
         project :myproject-ear

As already noted here #11030, this happens because deploy is not transitive.
Should be useful if the constraints were applied to non-transitive configurations, just for the direct dependencies.
Context
I'm trying to build an ear without having to specify versions.
I'm using gradle version 6.8.2

This is still relevant.

We would like to see this request fixed as well.
Unfortunately I have not yet found a way to access the versions declared in the platform-subproject. Therefore we declare the versions used in the deploy-configuration in the gradle.properties. In the platform-project and for the deploy-configuration we get the version by project.property("version"). It works, but is most certainly not nice.


Installation description for users

If following the installation descriptions for users on the main page ctapipe is not installed properly, so import ctapipe in python does not work.
Instead of 'conda install ctapipe' as las step in the installation procedure, it should be 'conda install -c cta-observatory ctapipe' as described here.

I think the channel should be conda-forge since a few releases, so conda install -c conda-forge ctapipe

Well it worked with conda install -c cta-observatory ctapipe

No, it should be cta-observatory not conda-forge (I have not uploaded ctapipe to conda-forge for building).
However, if you follow the main page instructions and use the environment.yml file, it should work: you should have the cta-observatory channel added automatically by the yml file, and so conda install ctapipe should work... Can you tell me what is happening?
Perhaps some versions of conda do not add the channels listed in the yml by default... in which case  we could add "conda config --add channels cta-observatory"

just to note: conda-forge is also needed, but only for the other non-cta dependencies like the latest astropy and iminuit packages

In any case, I added the channel explicitly now on the instructions, so it should work regardless if the channels in the YML files get added to the list of defaults.

Just a minor comment: If I follow the instructions for developer and do git clone https://github.com/[YOUR-GITHUB-USERNAME]/ctapipe.git, I get a file called cta-env.yml and not environment.yml, thus conda env create -n cta-dev -f environment.yml won't work...

The current master contains a file called environment.yml
you can check that here  https://github.com/cta-observatory/ctapipe
When I look at your fork, I see indeed a file called: cta-env.yml.
The fork says: "This branch is 2388 commits behind cta-observatory:master. "
Maybe it would be a good idea to sync your fork with the upstream master again.
https://help.github.com/articles/syncing-a-fork/

Oh yes, sorry, thanks for your help!


Bank Output Memories & Write to output as soon as PE is ready

Banks the output memories and writes to SA as soon as PE is ready.
It was actually pretty simple, partially because of the more DSL-like "instructions" that we're using now. Basically we just had to add another "execute if between" instruction that tells the PEs to write to memory as soon as they're finished accumulating.
Now writing to memories takes 1 extra cycle (since we need an extra cycle after the last PE is finished to write to) instead of ll*tl extra cycles, which saves a lot of cycles (e.g., multiplying two 8x8 matrices takes 29 cycles compared to 92 before).

Wow! That's a pretty awesome win! Wondering if we should become more ambitious and support more dataflows in the systolic array. As an example, the PolySA paper has the following dataflows it supports:

@sampsyo do you know of any papers that propose "heterogenous" systolic fabrics (awfully close to a CGRA at that point). Maybe that can be another place to show off the mixed dynamic-static compilation power of Calyx since we can implement a Systolic fabric that supports both dynamic and static PE elements

I'll merge this for now, but I'll try to think about different possible systolic array implementations that we could do in Calyx.


Changing GRPC requirement from grpc-cpp to libgrpc

Description
To work with the change from MRC PR https://github.com/nv-morpheus/MRC/pull/353, we need to use libgrpc instead of grpc-cpp in our conda environments since they changed the package name.

/merge


compat='override' not documented for Dataset.merge()

It does accept it. Should be documented here:
https://github.com/pydata/xarray/blob/59c4752df33d2d08ec47352fc8143a72eb1d9c79/xarray/core/dataset.py#L4733-L4746
Can just be taken from xr.merge():
https://github.com/pydata/xarray/blob/59c4752df33d2d08ec47352fc8143a72eb1d9c79/xarray/core/merge.py#L799-L811

Also I see the xr.merge() one has a different order between the set of options and then descriptions, could fix that too.


Installation issues

Hi,
I think this could be a great deal for my dev workflow, only if I manage to get it to work. So far, nothing works as expected. Here some insights:

When opening euporie-notebook, the top bar just dissapears. And hitting enter does not work to edit cells. Plus keybindings using Ctrl or Shift do not work at all.
When using euporie-console the main problem begins

Nothing works, and this escape characters start rendering for any key that is not a letter. I'm using Kitty, and added the remaps specified in the docs.
The weirdest thing is that I can run Console and Notebook when using Floatterm within Neovim

But I still have some rendering issues.
I'm using Kitty as my terminal and I installed euporie in my conda environment since I want to make use of my packages. Is there any part of the setup that I'm missing? Any guidelines would be deeply appreciated.
Thanks,
Alfonso

Hi Alfonso,
Thanks for reporting this. It seems like the main issues here are:

Top-bar in euporie notebook disappears
Enter does not work to edit cells
Key-bindings with Ctrl or Shift do not work
Escape characters start rendering for any key that is not a letter

For the first issue (the top-bar disappearing) I'm not sure what causes this (obviously it works for me!). You can press Ctrl+L in euporie-notebook to redraw the screen, which should get the top-bar to show again.
I think the remaining issues are related to the kitty keyboard protocol. Kitty has it's own way of reporting key combinations, which it is necessary for euporie to use to detect some of its key-bindings. However, I think it's my implementation of this protocol which is causing the issues.
The reason that things work in Floatterm is because Floatterm is basically a terminal emulator which runs inside a terminal, and Floatterm does not implement kitty's keyboard protocol.
I'll see if I can get the un-recognised escape codes to stop printing to the text inputs.

What version of kitty are you using?
Do you mind sharing your kitty config?
From the escape codes in your screenshot, it looks like you have numlock enabled - does anything work with numlock turned off?

Sorry for the slow reply - I've had to take a bit of time off from euporie over the summer.
Josiah

I think the keyboard related you were experiencing should have been fixed now.
I've also finally managed to track down and fixed the bug which causes the top bar to disappear - it should be fixed by faeb8009fde13a2bdce8df5007c00f1b895b1a9c). I'll make a new release with this fix shortly.

Everything should be fixed in the latest version (v2.7.0). If you're still having problems please open a new issue


refactor(controller-k8s): collect log from k8s pod & clear finished k8s job

Description

collect offline log from k8s pod
delete k8s job after it is finished

Modules

[ ] UI
[x] Controller
[ ] Agent
[ ] Client
[ ] Python-SDK
[ ] Others

Checklist

[ ] run code format and lint check
[ ] add unit test
[ ] add necessary doc

LGTM


[Identity] Send user-assigned managed identity ID as 'clientid' with no '_'

This change fixes an issue that occurs when authenticating with a user-assigned managed identity inside of an application deployed to Azure App Service or Azure Functions.  The issue manifests as an authorization error when accessing a resource (like Blob Storage) because the wrong access token gets returned by the MSI endpoint.
There is a slight implementation difference in how App Service / Functions accepts the client ID of the user-assigned identity: it is expected to be sent as clientid rather than client_id as in other services which provide MSI authentication.
This issue was originally identified by @jianghaolu and fixed in the Java SDK in PR #5897.

Thanks for the reminder!  Added the changelog section for 1.0.1.


github-pull-requests HomePage components should be able to load more than 5 items

The HomePageRequestedReviewsCard and HomePageYourOpenPullRequestsCard within the frontend backstage-plugin-github-pull-requests plugin are currently limited to showing only 5 PRs. This can be misleading for engineers who have more than 5 open PRs or review requests.
Feature Suggestion
The maximum number of PRs should be configurable so users can view all their open PRs and review requests if they have more than 5. Increasing the number of PRs will however require some consideration in the design of the widget.
Possible Implementation
I believe this can be updated if the per_page parameter is made configurable here as the octokit docs indicate that a single request can request for a maximum of 100 PRs per page here

Hi @R-cen , what you are proposing makes a lot of sense. Would you be able to contribute this change?


Wire.reset();

In file included from C:\Users\amir\AppData\Local\Temp\arduino_modified_sketch_876811\CamToLCD.ino:24:0:
sketch\CAM_OV7670.h: In constructor 'pw_OV7670::pw_OV7670(int, int, int, int, int, int, const int*, void ()(DMABuffer), void (*)())':
CAM_OV7670.h:292:12: error: 'class TwoWire' has no member named 'reset'
   Wire.reset();           // Without this, we cannot always get XCLK clock going.

        ^

sketch\CAM_OV7670.h: In member function 'void pw_OV7670::TestSuite(char*)':
CAM_OV7670.h:372:12: error: 'class TwoWire' has no member named 'reset'
   Wire.reset();

        ^

exit status 1
'class TwoWire' has no member named 'reset'

Yeah, looks like it has been removed from the new version of Wire library
because that functionality gets taken of elsewhere.
So perhaps just comment it out and see if indeed it is now redundant with
the later version of the Wire library.
https://github.com/espressif/arduino-esp32/issues/1679
Peter
On Sun, May 19, 2019 at 4:05 PM amirjak<EMAIL_ADDRESS>wrote:

In file included from
C:\Users\amir\AppData\Local\Temp\arduino_modified_sketch_876811\CamToLCD.ino:24:0:
sketch\CAM_OV7670.h: In constructor 'pw_OV7670::pw_OV7670(int, int, int,
int, int, int, const int*, void ()(DMABuffer), void (*)())':
CAM_OV7670.h:292:12: error: 'class TwoWire' has no member named 'reset'
Wire.reset();           // Without this, we cannot always get XCLK clock going.
    ^

sketch\CAM_OV7670.h: In member function 'void pw_OV7670::TestSuite(char*)':
CAM_OV7670.h:372:12: error: 'class TwoWire' has no member named 'reset'
Wire.reset();
    ^

exit status 1
'class TwoWire' has no member named 'reset'
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/cspwcspw/ESP32_CamToLCD/issues/2?email_source=notifications&email_token=AAL7LTVN2JUJTGN733FPCATPWFNDPA5CNFSM4HN4RV42YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4GUSXMTQ,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAL7LTTOVQWPVZZVXRRPQZTPWFNDPANCNFSM4HN4RV4Q
.

Thanks😁

Awesome project😁

Awesome project


Weird compiler error when using some MySQL types

When using query! to query a MEDIUMINT, it fails to compile with the error Unknown type: 9.
When using query! to query a DATETIME, it fails to compile with the error Unknown type: 12.
It's understandable if some types aren't supported by SQLx, but it took me a lot of time to realize the problem was in the data types I were using.

Fix is in #108, pending bikeshedding on the error messages (see the .stderr files at the bottom of the diff).

#108 rebased for merge into develop which is our 0.3 branch. We'll have an alpha in a couple days or so.


Displaying contents of dask variables does not work

Dear Spyder developers,
The code given below triggers the following error message in Spyder 4.2
 File "C:\Users\xxx\Anaconda3\envs\work\lib\site-packages\spyder\plugins\variableexplorer\widgets\namespacebrowser.py", line 408, in set_data
    if data != self.editor.source_model.get_data():
  File "C:\Users\xxx\Anaconda3\envs\work\lib\site-packages\dask\delayed.py", line 573, in __bool__
    raise TypeError("Truth of Delayed objects is not supported")
TypeError: Truth of Delayed objects is not supported

Here is the code that can be used to reproduce the problem:
import dask.dataframe as dd
import numpy as np
import pandas as pd

df = pd.DataFrame({'a':np.arange(10), 'b':np.arange(10)})
ddf = dd.from_pandas(df, npartitions=1)

ddf

The above error message can be avoided by checking "Exclude unsupported data types" in Preferences/Variable explorer.

Hey @bsesar, thanks for reporting. This is a serious bug, we'll try to fix it in our next release.

@ccordoba12 I am running into the same issue on Spyder 4.2.1, bumping this thread as the bug is still relevant.

This is a duplicate of issue #16844 and it'll be fixed in our next version (5.3.0), to be released at the end of the month.


added cursor animation to the website

hello there,
I have completed the cursor animation. pls guide me if any changes required.
:)
issue number : 23
Description
I have added cursor animation to this website. As the theme is music, I thought disco light cursor effect will be looking good.
Adding to it, I have updated the html and css file.
Checklist

[x] I am making a proper pull request, not a spam.
[x] I've checked the issue list before deciding what to submit.

Add relevant screenshot or video (if any)
Here am sharing my project gif

@niloysikdar

@manognyaa please squash all the commits in a single one

Hey, @manognyaa , please mention the linked issue and also provide the necessary screenshot or video.

ok sir @niloysikdar

@manognyaa please squash all the commits in a single one

okay mam @nilisha-jais

The custom cursor effect isn't working on the whole website, look into this @manognyaa , also please solve the merge conflicts.

ok sir definitely @niloysikdar

Closed the PR due to inactivity.


Every next click on Open results in a new Open Registry File dialog, even though one already exists.

Microsoft PowerToys version
0.78.0
Installation method
GitHub
Running as admin
None
Area(s) with issue?
Registry Preview
Steps to reproduce
Click [Open] and a Open Registry File dialog appears.
Click [Open] and a Open Registry File dialog appears.
Click [Open] and a Open Registry File dialog appears.
Click [Open] and a Open Registry File dialog appears.
...
Ad Infinitum.
✔ Expected Behavior
The Open Registry File dialog to be opened only once, better yet, modal.
❌ Actual Behavior
Even though there's already an 'Open...' dialog opened, each subsequent click on the Open button results in a new dialog opened, stacked on top of the previous one.
Other Software
No response

@randyrants Looks to me like this is because of https://github.com/microsoft/PowerToys/blob/f5797a065a5c2c448fd2b1780bd1353d712103c3/src/modules/registrypreview/RegistryPreviewUI/OpenFileName.cs#L9-L10
ShowDialog should ideally be replaced with a native FileOpen dialog. Or else, if possible, at least be modal.

I don't think I follow.  I landed on this solution because the original file picker was crashed, per bug 2504, which is still open.
Is the suggestion to pivot to a third way to search for a file to open?

The dialogue does not block the parent window and then you can open many FileOpen dialogs after each other. It's simple to reproduce. What could be the solution?

This has been worked on during the 0.80 release cycle.
Please update to the latest release: https://github.com/microsoft/PowerToys/releases


Added toggleable guidance/comments section

Changes proposed in this PR:

Add toggleable comments/guidance section

add config to enable/disable this feature
add config to open/close by default
question/guidance divs use flexbox instead of bootstrap grid system

I wasn't sure where to put the CSS & JS code, if it's in the wrong place please tell me :)

Thanks for your feedback @briri , I push the changes you requested :)

@benjaminfaure @briri Pulled down the code on top of an up to date roadmap and it worked perfectly out of the box. Very nice! So I'm for it to get merged in.


Use Teiid logo

instead of generic Red Hat Integration one https://issues.redhat.com/browse/DESIGN-1531
when legal review has been done

Please create a FUSETOOLS2 issue for this.

moved to JIRA https://issues.redhat.com/browse/FUSETOOLS2-388


Voice is not generated by loudspeaker of device

Voice is only get generated by ear speaker but not the loud speaker any way to handle this?

As I found the solution we can achieve this by using react-native-incall-manger library
Just need to add
InCallManager.setSpeakerphoneOn(true)
On an particular event as per need
In node modules/react-native-webrtc-simple/UIKit/GlobalCallUI/index.tsx


⚠ Bofrost.at has degraded performance

In bc15943, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1292 ms

Resolved: Bofrost.at performance has improved in f5cb954.


feat: add super tile experiment

Description
In collaboration with the Virtuoso team, we would like to run an A/B test with the following:

Show the <IOBanner> component for 50% of users --- this is the control/off treatment
Show the individual <SuperTile> tiles for 50% of users --- this is the on treatment

Code changes

Create a shared src/experiments/ folder where all existing and future experiments can be stored
Create a <SuperTile> component
Create a <GuidedInstallTile> and <CodeStreamTile> component
Create a wrapper component, <SuperTilesExperiment> that will either render the <IOBanner> or individual super tiles

Split.io
A new experiment/split has been added in Split.io, titled super_tiles in the GPE workspace.
Tessen events
The following Tessen events have been attached to the CTA buttons for the super tiles:

tessen.track('clickSuperTile', 'QuickstartLanding', { tile: 'codestream' });
tessen.track('clickSuperTile', 'QuickstartLanding', { tile: 'guided' });

Reviewer Notes
Simply run yarn start when pulling down this branch.
Related Issue(s) / Ticket(s)
If there are any related GitHub Issues or JIRA tickets, add links to them here.

[Public Catalog] A/B Test: Guided Install & Feature Quickstart Tile

Screenshot(s)
On treatment - 50%
Light mode

Dark mode

Control/off treatment - 50%

I was unable to get this to show me both treatments (I always get the banner). I've tried deleting the id that controls this but I keep seeing the same treatment. Any suggestions for how to test this without viewing it locally?

I was unable to get this to show me both treatments (I always get the banner). I've tried deleting the id that controls this but I keep seeing the same treatment. Any suggestions for how to test this without viewing it locally?

You can modify the gatsby-config.js:
          env: {
            development: {
              features: {
                'developer-website_global-header-gh-buttons': 'on',
                'developer-website_right-rail-buttons': 'outline',
                super_tiles: 'on', // Change this to 'off' to view the control treatment (IOBanner)
              },
            },
          },

@abrunner94 set the split traffic so this renders now on the preview build, ready to merge 🚢 🇮🇹


Range values in reference data

In ReferenceDataFilter in the following code
                if (key != null) {
                    LOGGER.trace("Putting key {} into map {}", key, mapDefinition);
                    refDataLoaderHolder.getRefDataLoader().put(mapDefinition, key, stagingValueOutputStream);
                } else if (rangeFrom != null && rangeTo != null) {
                    if (rangeFrom > rangeTo) {
                        errorReceiverProxy.log(Severity.ERROR, null, getElementId(),
                                "Range from '" + rangeFrom
                                        + "' must be less than or equal to range to '" + rangeTo + "'",
                                null);
                    } else if (rangeFrom < 0) {
                        // negative values cause problems for the ordering of data in LMDB so prevent their use
                        // when using byteBuffer.putLong, -10, 0 & 10 will be stored in LMDB as 0, 10, -10
                        errorReceiverProxy.log(Severity.ERROR, null, getElementId(),
                                LogUtil.message(
                                        "Only non-negative numbers are supported (from: {}, to: {})",
                                        rangeFrom, rangeTo), null);

                    } else {
                        // convert from inclusive rangeTo to exclusive rangeTo
                        // if from==to we still record it as a range
                        final Range<Long> range = new Range<>(rangeFrom, rangeTo + 1);
                        LOGGER.trace("Putting range {} into map {}", range, mapDefinition);
                        refDataLoaderHolder.getRefDataLoader().put(mapDefinition, range, stagingValueOutputStream);
                    }
                }

we should be logging an error if there is no key or a complete range.
ALSO, I'm not sure if from==to we still record it as a range is right.  If from==to then we may as well store it in the keyDb as we always do a lookup in the keydb first.  This needs checking along with the implications of changing behaviour on existing data.

Relates to https://github.com/gchq/stroom/issues/2488


Make Language methods more resilient to non-String input

The erroring test in 3e594a58ed70c278b0a5aa299dea45c18f40e531 shows the exception that we're seeing when using Linguist on GitHub.com and GitHub Enterprise when calls like Language.find_by_alias(true) end up being made:
  1) Error:
TestLanguage#test_does_not_blow_up_with_non_string_lookup:
NoMethodError: undefined method `downcase' for true:TrueClass
    /home/travis/build/github/linguist/lib/linguist/language.rb:128:in `find_by_alias'
    /home/travis/build/github/linguist/test/test_language.rb:274:in `test_does_not_blow_up_with_non_string_lookup'

Instead of raising an error, this handles non-String input so that nil is returned instead.
The problem can be recreated by creating a .gitattributes file that sets linguist-language to true, rather than a String.
So like this:
*.rb linguist-language

Rather than using the documented instructions like this:
*.rb linguist-language=Ruby

From the docs for the Set state at https://git-scm.com/docs/gitattributes:

The path has the attribute with special value "true"; this is specified by listing only the name of the attribute in the attribute list.

How soon do you think we should make a new release for this @jdennes?

@lildude: Soon would be good. There was a closed issue about this, which I reopened because of noise being generated again by repositories that have .gitattributes files that cause this problem.


[kong] initContainer for job

What this PR does / why we need it:
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #390

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] PR is based off the current tip of the next branch and targets next, not main
[x] Title of the PR and commit headers start with chart name (e.g. [kong])

Hey @ttony, pinging on this again, had you had a chance to review the previous comment?

hi @rainest, sorry for late reply. has been busy with work recently.

regarding the commit, i will use feature branch later. not sure why syncing the next branch to my fork branch causing the issue.
for the tpl parts, the reason i am using tpl is to reduce amount of yaml which i can copy and paste. for example, we have few different tube cluster setup within the org -- EKS and Openshfit. each of the clusters contains dev, staging and prod env setup which required separate docker registry to work with.

with the setup above, example:
common open shift values:
kong:
  secretVolumes:
  - ocp-kong-secret

dev Openshift for example:
global:
   docker_registry: dev.docker.company.registry.com

staging:
global:
   docker_registry: staging.docker.company.registry.com

common EKS values:
kong:
  secretVolumes:
  - eks-kong-ssm

common for both platform eks and openshift values.yaml:
deployment:
  initContainers:
  - name: secret-to-kong-conf
     image: {{ .Values.global.docker_registry }}/agp/kube-base-image:1.0.0
     ....
     ....
     volumeMounts:
     - name: "{{ .Values.secretVolumes | first }}"
        mountPath: "/etc/kong"

Wihout the tpl magical function, i guess i have to copy and paste all these big chunk of yaml into individual values.yaml  which difficult to maintain in the future as so many repeatable fields.
I  hope that helps to clear out why the reason.
Cheers,
-Y


Add Nong Song:

Song Name
Time Leaper (Low Pitch)
Artist Name
Hinkik
Source
Youtube
Youtube Link
https://www.youtube.com/watch?v=pgKFU1tmO1Y
Direct File Link
No response
Song ID
683996
Start Offset [ms]
No response
Extra
No response

Please re open and add this song! it's epic

accept

Thanks 🙏


Invariant prediction

I used batch to train a conv neural network, however when I used:
result = model.predict(x=data, batch_size=batch_size, verbose=True)
to predict results based on data, the results(has the shape of (18000,  4)) are just 18000 same tuples(shape (4,)).
What's odd is that, data fed to the neural network consists of different images,
and when I inspected the weights of the network, there are no NaNs, meaning it should be impossible for the network to produce same results.
Any idea what could be wrong?
Or how to debug it?
Edit:
I used softmax as the last activation function and binary_crossentropy as the loss function.

I found out what's wrong, not Keras's fault.


Bar Chart Value Labels missing

What did you do?
Create a Bar Chart view. Create a data set where all values are negative.
What did you expect to happen?
Expect the value labels to be rendered.
What happened instead?
Value labels do not always render. They may show up or disappear depending on the size of the chart view or containing view/window.
Easy to see when running in a Mac app and dragging the window size bigger or smaller.
Only seems to happen when all values are negative. With positive bar charts seems to be fine.
DGCharts Environment
DGCharts version/Branch/Commit Number: Current and any previous
Xcode version: 15.x and 14.x
Platform(s) running DGCharts: iOS 15+ and macOS 12+

Same issue here.
It happens randomly. I've tried changing constraints, font sizes, leftAxis spaceTop/spaceBottom and nothing consistently works.
Charts 3.2.2
iPhone 11 Pro Simulator
iOS 14.5
XCode 12.5
Swift 4

Please help us. Thanks @danielgindi

are you able to debug a little? it seems you could do this. normally just search for the value labels and see whether it goes into drawText. is it only happens on mac?

Hi @liuxuan30
I  may find some time to debug. But not in the near future.
But it happens in iOS as well. Like I said it's easier to replicate on Mac.
Mac Catalyst in my case. Labels disappear randomly depending on the chart view frame size.
It's really easy to see on Mac as you can freely resize the app window.
On iOS it's a lottery. They can disappear depending what negative values you have. May disappear in portrait but not landscape and vice versa.
You should be able to replicate quite easily.

Same issue here.
It happens randomly. I've tried changing storyboard constraints, font sizes, leftAxis spaceTop/spaceBottom and nothing consistently works.
Charts 3.2.2
iPhone 11 Pro Simulator iOS 14.5 XCode 12.5 Swift 4

Upgraded to version 4.1.0 and the issue still remains.
It seems to only happen when all values are negative, and it is still random.
Expected result:

Actual result:

iPhone 15 Pro Simulator
iOS 17.4
XCode 15.3
Swift 4

are you able to debug a little? it seems you could do this. normally just search for the value labels and see whether it goes into drawText. is it only happens on mac?

Thank you for the suggestion. This actually helped!
Starting from drawText,
I was able to determine that the bug is actually caused by the following line of code inside of the drawValues(context: CGContext) method in the BarChartRenderer.swift class:
`
Swift
                    guard viewPortHandler.isInBoundsY(rect.origin.y),
                        viewPortHandler.isInBoundsLeft(x)
                        else { continue }

`

And when I comment that code out, it displays the values as expected:

Before:

After:

If someone could shed some light on this code, and tell us what its doing (and why it is causing this bug) that would be appreciated. Otherwise, its working fine without this code and hopefully it is fixed in the future.