Bringing Fluent Design to Flutter for additional Mobile design options and Desktop nativity

We already have Material and Cupertino for Flutter, having redmond too can be a value addition while we get ready for Desktop.
I would love to start writing up the code but I just wanted to make sure if someone is already doing it. Even better, if someone on the Flutter team is doing it.
Is it even good or do we have the need to have Fluent design? For the most part, it's a wrap around Material Design.
I'm open to further discussions on this.

Someone started a project a few hours ago https://github.com/SKLn-Rad/fluent_design_flutter

I'd love to contribute

Hey @phanirithvij. Thanks for looping me into this. Seems like the entire project was started hours ago. I think its better if we follow up on this. I'm keeping this issue open for further updates regarding this.

@sampathbalivada I say let's create an organization and start our own repo. That would allow us to maintain a name in the flutter community. So if many people start using this plugin and if we decide to build more plugins or other things together we'll have the namespace to help us get more contributors.
The https://github.com/SKLn-Rad/fluent_design_flutter is a plugin template with just a readme anyway. (And they seem to have created it after reading your issue or it might be just a coincidence.)
I have a few more ideas for plugins that I'd like to implement. I've started working on a few of them.

CC @csells in case he has any thoughts/input here.

Certainly there's room for the Fluent design language for Flutter, just as there is room for Material and Cupertino. This has been on the Flutter team's radar for a while but we don't have any plans to tackle it anytime soon. I'd love to see the community take the lead here; I'm happy to help support your efforts.

This would also benefit people after the upcoming UWP support https://github.com/flutter/flutter/issues/14967

@SKLn-Rad started this https://github.com/SKLn-Rad/fluent_design_flutter

Thank you for sharing your thoughts @csells
I think it's good to start an organisation and work as we go. I'll setup one ASAP.
Please email me at<EMAIL_ADDRESS>if you're interested to be a part of the organisation as an owner or editor.

Count me in :)
I'd love to contribute.

Following up with the updates on this, we are starting off by creating a package here. Any contributions are welcome. The repo will be completely set up to accept contributions in a few days.

Count me in too. I was between making it a top level component like MaterialApp or whether to just make it a component library. Would be nice to get your thoughts.

Literally started with flutter two days ago and are looking forward to a fluent design option, I just love that design language. Awesome!

@stuartmorgan any flutter team members who are familiar with Fluent design and can give us a headstart?

I'm not sure what you are asking exactly, but as mentioned above this is not something the Flutter team is currently working on, or plans to work on in the near future.

I'd love to see the community take an active part in building this before or along the flutter team! So definitely count me in on this!

I'm genuinely sorry for commenting this late but here are the things that stopped the efforts.

Fluent Design is not well documented. I was confused about a lot of things in their system.
The entire system is just redundant and is built around the existing design systems and the desktop design system seems ever-changing
Part of the UI is icons and I would argue, they're primary for any Design System but as it is a fact, Microsoft icons are restricted for use in Office Apps only and they cannot be used by anyone or anywhere else. PS: No one wants to be a part of a lawsuit.

Thanks for the support. I'll be closing the issue now and I would like everyone to take into account the above points I mentioned before building anything with Fluent.
I have no hate or false feelings towards Microsoft or their design language, these are just some facts and restrictions. Hope Microsoft clears them soon

Re-opening since this is still a valid feature request, with accumulated votes, even if the specific implementation effort above was abandoned.

This could be a possibility with Project Reunion (Windows-only tho)

Microsoft is developing a Fluent UI Pipeline using Design Tokens.  It will come with a Figma plugin for designing UIs.  Perhaps this would be where a Flutter Implementation of Fluent Design could be added?
Edge uses Microsoft's Fluent Design System Provider for Fast to handle it's web UI.  So that could also be another avenue.

I came across this package, which is being developed by Microsoft. https://pub.dev/packages/fluentui_system_icons Leaving it here for those who came to the thread and want to know what has happened.

I came across this package, which is being developed by Microsoft. https://pub.dev/packages/fluentui_system_icons Leaving it here for those who came to the thread and want to know what has happened.

I started building my own library to support fluent ui: https://pub.dev/packages/fluent_ui. It's built based on the official documentation

To my belief, its kinda stupid to ask for components that "look like native".
Flutter is a completely custom engine/embedder & not using native components at all. It is like the main reason of its versatility in design. One can very easily implement the design one wants without having to deal with limitations of native widgets/components.
Every famous application follows its own brand's design language to make experience more "personalised". Take Spotify, Snapchat, Discord or Twitter all look so different (Are they Fluent? Are they Material? Are they Cupertino? And Microsoft even doesn't have something like "Material Theming" to make apps look more personalized. Stick to those exact same boring UI components everywhere). So, why is everyone interested in asking for widgets "look like native", when at the end of the day those will not even end up being used by most apps or will be modified by developers to personalised.
Now, if one decides to stick with the bare "Fluent design" while leaving all the design versatility that Flutter offers behind to make their app "look native", I don't know what to say.
On the other hand, let's not talk about Microsoft's design language, they haven't still not settled on one. Windows 11 is again different in terms of design. Not just Microsoft, the new "Material You" is also completely different from existing Material design.
Design is ever changing. And, I feel currently implemented widgets are really really already enough to build any kind of custom design & UI.
Community efforts from @bdlukka in his fluent_ui are really appreciated & his work is great.

@alexmercerind the thing is that developers are not designers. I have no idea how to design an app that looks good without following a design system telling me exactly what to do or not.

@bdlukaa I never asked a developer to a designer's work, a developer is already offered a design system to implement by the organization or brand. I'm not sure what you understood.

To my belief, it is kinda wrong to ask for components that "look like native".
Flutter is a completely custom engine/embedder & not using native components at all. It is like the main reason of its versatility in design. One can very easily implement the design one wants without having to deal with limitations of native widgets/components.
Every famous application follows its own brand's design language to make experience more "personalised". Take Spotify, Snapchat, Discord or Twitter all look so different (Are they Fluent? Are they Material? Are they Cupertino? And Microsoft doesn't even have something like "Material Theming" to make apps look more personalized. Stick to those exact same boring UI components everywhere). So, why is everyone interested in asking for widgets "look like native", when at the end of the day those will not even end up being used by most apps or will be modified by developers to make experience personalised.
Now, if one decides to stick with the bare "Fluent design" while leaving all the design versatility that Flutter offers behind to make their app "look native", I don't know what to say.
On the other hand, let's not talk about Microsoft's design language, they haven't still not settled on one. Windows 11 is again different in terms of design. Not just Microsoft, the new "Material You" is also completely different from existing Material design.
Design is ever changing. And, I feel currently implemented widgets are really really already enough to build any kind of custom design & UI.
The default widgets & themes (Material, and that's great for Flutter as its a Google product) in Flutter are great to build everything ever needed & and a great starting point for higher order of customization. All are very very customisable in nature.
Community efforts from @bdlukaa in his fluent_ui are really appreciated & his work is great. And that's how I believe this goal is meant to be done.

The thing here is, Material and Material You are designed for touch devices, not for desktop PCs. Remember when no one wanted to use Windows 8 because of its design? We are in the same situation. Creating a Fluent clone, just like the cupertino theme,will potentiate flutter apps on desktop. Or a win32 theme is also acceptable.

The thing here is, Material and Material You are designed for touch devices, not for desktop PCs. Remember when no one wanted to use Windows 8 because of its design? We are in the same situation. Creating a Fluent clone, just like the cupertino theme,will potentiate flutter apps on desktop. Or a win32 theme is also acceptable.

Except that Google uses Material Design for web apps as well as Touch devices, so there are affordances for hover states there as well.

@dragonDScript

The thing here is, Material and Material You are designed for touch devices, not for desktop PCs.

A random screenshot from material.io.

@alexmercerind if Flutter supports both Material and Cupertino (the design languages for the devices it firstly targeted, Android and iOS), why couldn't it support the macos_ui and win_ui design system? Because Windows and MacOS are now officially supported

@bdlukaa I do not want to say anything about mac. For Windows, the reasons you asked are given by the person who opened this issue, just before he closed this issue himself.

I believe one particular design system not being well defined isn't a reason for us to abandon design systems altogether. Microsoft design system is evolving and takes time. It is being architected to support both 2D and 3D spaces.
A design system is not just another button with a style. It's more of the way things work. It also defines how a menu just expands in Material vs how it slides into view in Fluent. The motion, interaction, shape and other things make a play in defining the character of the UI elements.
I earlier closed this issue by giving a series of reasons and yes they held true at the time of writing the comment. As of the date of writing the comment, Fluent was only defined for Windows, Web and Android. I closed this issue as I was intending to use this issue to track the progress of my effort to create a Fluent Design System implementation for Flutter. But it's now being used to track Fluent's Implementation in Flutter and that's good.

a developer is already offered a complete design system to follow within the app by the organization or brand.

Not all apps on the store are built with a huge organisation backing them. Also, a lot of huge orgs actually use these design systems.

at the end of the day those will not even end up being used by most apps or will be modified by developers to make experience personalised.

The Lyft app has a very personalised UI and guess what, it uses Material. The goals of Material Design in the first place kept a lot of decisions in the hands of the developers/designers and make the experience unique while keeping harmony with the OS.  And with Material You, the goal is to allow the user to make some of those decisions.
For me personally, it's not a question of whether we want to get an additional design system to Flutter, it's about when? When do we make the call if a certain design system is stable enough to allow an entire ecosystem of developers to build on it?

@sampathbalivada agreed.

The thing here is, Material and Material You are designed for touch devices, not for desktop PCs. Remember when no one wanted to use Windows 8 because of its design? We are in the same situation. Creating a Fluent clone, just like the cupertino theme,will potentiate flutter apps on desktop. Or a win32 theme is also acceptable.

Except that Google uses Material Design for web apps as well as Touch devices, so there are affordances for hover states there as well.

A web app is very different from a "native"-like app.

good work has been done here https://github.com/bdlukaa/fluent_ui any plans to introduce it to the main repo here?

@richard457 I don't think it'll ever be merged

@bdlukaa why? is it by design? I would love to only install flutter and have fluent design shipped with it. but if technically not possible with good reason that I would understand.

@bdlukaa why? is it by design? I would love to only install flutter and have fluent design shipped with it. but if technically not possible with good reason that I would understand.

I would like to know it too, I have used the fluent_ui package, I like it but I would like an official support for that.

@dragonDScript

Or a win32 theme is also acceptable.

Which last app you used uses win32? VLC (I know its Qt, still looks "native")? notepad++? All look terrible.

Remember when no one wanted to use Windows 8 because of its design?

I'm almost 100% certain, if Flutter launched during that era, people would have opened issue like this for Windows 8's metro UI.

The thing here is, Material and Material You are designed for touch devices, not for desktop PCs.

A random screenshot from material.io. (Not just web but Chrome OS)

It doesn't look native, that is the problem, if the flutter group would decide to implement the Fluent UI, I am new to Flutter, but I would like to collaborate in the project.

@omensight tho Flutter is a UI framework. It's not made to look native, you can have whatever design you want. It's not Flutter's job to add nativety to the apps. If you want something native, go with native or with react native or with react native

@omensight tho Flutter is a UI framework. It's not made to look native, you can have whatever design you want. It's not Flutter's job to add nativety to the apps. If you want something native, go with native or with react native or with react native

Sorry if I sound rude or something, I just was saying, I would like to have a fluent_ui incorporated to flutter framework,

I hope there will be official support so that I can migrate my work to flutter.

For people who are happy with fluent_ui but would still like it to be integrated with the core Flutter framework, I'm curious if you could talk more about what problem that would solve for you. Is it a matter of hoping that if it's part of the core Flutter team's efforts it's more likely to be maintained over time? Is it because you would like the core Flutter team to bless this package to indicate that we believe it is worth using? Is it so that the Material widgets with adaptive constructors (like Switch.adaptive) can automatically use the fluent_ui variants on Windows? Is it for some other reason? It would be very helpful for us to learn what exactly you are lacking from the fluent_ui package.

For people who are happy with fluent_ui but would still like it to be integrated with the core Flutter framework, I'm curious if you could talk more about what problem that would solve for you. Is it a matter of hoping that if it's part of the core Flutter team's efforts it's more likely to be maintained over time? Is it because you would like the core Flutter team to bless this package to indicate that we believe it is worth using? Is it so that the Material widgets with adaptive constructors (like Switch.adaptive) can automatically use the fluent_ui variants on Windows? Is it for some other reason? It would be very helpful for us to learn what exactly you are lacking from the fluent_ui package.

Depending on third parties for something so fundamental to an application is not good

For people who are happy with fluent_ui but would still like it to be integrated with the core Flutter framework, I'm curious if you could talk more about what problem that would solve for you. Is it a matter of hoping that if it's part of the core Flutter team's efforts it's more likely to be maintained over time? Is it because you would like the core Flutter team to bless this package to indicate that we believe it is worth using? Is it so that the Material widgets with adaptive constructors (like Switch.adaptive) can automatically use the fluent_ui variants on Windows? Is it for some other reason? It would be very helpful for us to learn what exactly you are lacking from the fluent_ui package.

Sends a message to companies that Microsoft is just as important as Apple and Google and they can rely on first class UI support for Windows apps.
Official documentation can then include Fluent examples as well.
Authors are more likely to include it in their books and posts.
Plugin developers are more likely to support Windows in addition to Android and iOS because of the above.

All of this leads to better adoption and feature parity.

tl;dr: it doesn't scale for the Flutter team to own everything that the community might want it to own.
If you take the top 10 or 100 or 1000 packages on pub.dev, you can make the same set of arguments that they should be baked into Flutter. However, there's only so much that the Flutter team itself can own and maintain. The best way to use their limited resources is to spend them on things that only they can do, eg regular launches, fixing high priority bugs, heavy duty optimizations, maintaining pub.dev, enabling a rich programming and plugin model, etc.
The rest can be handled by the Flutter community as a whole. In this particular case, the Windows design language implementation for Flutter is very well done by the community today and there's nothing blocking the community from using and improving it as they see fit.

@csells by that logic then shouldn’t  the Apple stuff be moved into the community?  IMO, once the core team took on Cupertino it sent a signal that it was supporting the UI paradigms of the platforms it was available on.  Not supporting Fluent says Windows is not as important and will reduce adoption.

Maintaining a whole new UI design is expensive, takes time and a lot of effort. I don't think it's worth supporting Windows UI into the core framework. There are many other things that should be prioritized

@csells by that logic then shouldn’t the Apple stuff be moved into the community?

At this stage of the Flutter lifecycle, I'd say that's a viable option for sure.

The Flutter community has many amazing, high quality packages and plugins on pub.dev, far more than the Flutter team could ever hope to build and maintain on their own.

Has the team ever approached Apple and Microsoft about owning these features themselves?  My guess is Microsoft might be open to it and Apple would laugh at you.

Folks, the Flutter team is just a part of the larger Flutter community, and anyone can join the core Flutter team just by contributing (see our contributing guide), there's really no meaningful distinction.
@dragonDScript

Depending on third parties for something so fundamental to an application is not good

Integrating the fluent_ui package into the Flutter repository would not change who works on it. You would be depending on exactly the same people either way.
@scottkuhl

Sends a message to companies that Microsoft is just as important as Apple and Google and they can rely on first class UI support for Windows apps.

To be clear, there's been discussion of moving the material and cupertino packages out of the core repository as well. The main reason we have not split out the material package is that we want the default template to use the Material widgets, because that's the highest-quality platform-neutral widget set we have. The main reason we haven't split out cupertino is that material depends on it. You can see more discussion about this in https://github.com/flutter/flutter/issues/101479. In practice this is largely just the result of historical accident. Originally all of flutter was just a package on pub and we happened to build material and widgets at the same time (and later added cupertino). When we changed how the SDK was distributed we didn't really think through the implications and that's why they're not in pub now. (There's also a lot of momentum behind having those packages in the main repo, like how our test infrastructure would have to change a lot if we changed this, and the minimal value we see in changing it.)
Please do not interpret the presence of material and cupertino in the main SDK repository as meaning that Apple's mobile UI language and Google's UI language are any more important to the Flutter team than the many other UI languages out there (like macOS, fluent, Ubuntu's, etc). Also please don't assume that because it's in the main SDK it's better maintained than a package. Looking at the git history, I would say fluent_ui is actually under more active development than cupertino.

Official documentation can then include Fluent examples as well.

Nothing is stopping anyone from contributing documentation that uses fluent_ui. We have no policy that prevents documentation, whether on docs.flutter.dev, api.flutter.dev, YouTube, or anywhere else, from using packages, especially those marked Flutter Favorite!. Indeed I would definitely recommend that Windows-specific documentation use fluent_ui at least as much as material. Please send PRs!

Authors are more likely to include it in their books and posts.

I can't speak to that, except to encourage people to use packages in their works.

Plugin developers are more likely to support Windows in addition to Android and iOS because of the above.

I suspect that the main thing that would help plugin developers to support Windows is patches to their plugins to implement the features on Windows, not anything about whether fluent_ui is in the main repo or not.

I'd think holding material in main repo is fine, a framework can have its own preferred design language after all (even if you claim otherwise)
But keeping both apple and material design in the main repo, while "communities can do" fluent, gnome, KDE etc designs just looks like double standard.

@thomassth There is no meaningful distinction between "communities" and the team who works on this repo. This is an open source project with a very open contributor policy. The fluent_ui repo is also an open source project with a very open contributor policy. Indeed glancing through the commits I see at least one person who has contributed to both repos.

Just popping in as a flutter newbie checking out flutter for the first time. I'm actually interested in using flutter for windows desktop because I cant really find a native alternative from microsoft that is any good.  See Here for a humorous opinion on the matter.
I dont even care about cross platfrom, or what repo my widgets come from. But these docs signal to me as a newbie - hey, make your desktop app look like an phone app. Theres no docs on Windows wigets so I'm using material widgets on my windows app. The docs seem offical and there is no windows widgets on there. Its as simple as that.
Sorry for any pings. Blame GitHub. (or microsoft!) hahaha - full circle here amirite

@TomzBench Yes, but that's not all docs right? There's also docs that tell you what pub.dev is and that there's Flutter Favorite packages which are favorite because they are well documented, have high platform support, are well maintained, and so on.
Why would we actually need official Flutter support when there is this: https://pub.dev/packages/fluent_ui (which is Flutter favorite).
It's very complete, both used and maintained by numerous people (even people that contributed to Flutter itself). I myself use it for multiple projects.

@h3x4d3c1m4l
Thanks for responding to my comment!
I'm working with flutter for the first time and thought I would simply share my first impression on how this looks from an "outsiders" perspective.  Is my perspective as valid as compared to a seasoned flutter developer like your self? of course not!
But I thought perhaps first impressions have some importance to the flutter team and what their main doc pages are signaling. Digging deeper I did come across fluent_ui.  But, I'm still skinning my windows app like an android phone because I'm not venturing off the main doc pages because I'm a newb and flutter seems to have a steep learning curve IMO.  And the main docs are solid, and the fluent_ui docs are not. Perhaps with some more experience I may venture into less documented territory. (One could only hope I make it that far).

团队是否曾与苹果和微软洽谈过是否自己拥有这些功能？我猜微软可能会对此持开放态度，而苹果会嘲笑你。

i think you are right


Text doesn't render anymore

Before you fixed the simulator issues, I created a build of the library, which worked great on device ("before" image below), but in the process of fixing the simulator issues, something about the text rendering must have broken, because it now only renders the text i converted to curves rather than leaving it font-based ("after" image below).
before:

after:

Here's the example I used here, which might come in handy for you; it's also the sample embedded in SimplePDFKit, in case you've been using that (I only converted the "such vector" text to curves in the most recent revision, though).

Hi,
The updated binaries is here:
https://github.com/prsolucoes/mobile-pdfium
It works with your sample in simulator and device.
Get prebuilt library on end of file README.md at my repository.
Thanks.

Hi,
Also, can you test it?
Thanks.

That worked perfectly! Love it. Will try building for myself now, but that shouldn't have any issues.

Just built it myself and that worked too; very nice.


NED link search needs a larger fixed radius

Easy fix
On each object page there is a link to NED to allow users to check the Sherlock cross-match.
The link provides a search radius of only 4.8". Hence often null result returned.
Can you increase this to 2 arcmins = 120 arcsecs.
Even better if could have a separate link to NED that had a box for user input e.g.
NED search : click here to search [free text box] arcsecs around the transient position
And default that to 60 arcsecs but allow user to choose.

I changed it to 2 arcmin. Will do the other suggestion at a later time.

06/JUL/22

@RoyWilliams reported that this has been changed to 2 arcmin and works


WIP: Allow self-referential generic type parameters in interface list

PR Summary

Delay type parameter-binding of unclosed  (self-referential) type references in generic interface declarations
PR Context

We currently support implementing typed generic interfaces, but only if the type parameters can be resolved in the defining scope prior to defining the new type.
This makes the following implementation impossible in PowerShell:
    class SortableThing : IComparable, IComparable[SortableThing]
    {
        [int]Value

        [int]
        CompareTo([SortableThing]$obj)
        {
            return $this.Value.CompareTo($obj.Value)
        }

        [int]
        CompareTo($obj)
        {
            if($obj -isnot [SortableThing]){
                throw [ArgumentException]::new()
            }
            return $this.CompareTo([SortableThing]$obj)
        }
    }

To this end, the following changes have been made to the DefineTypeHelper in PSType:

For declared interfaces, GetBaseTypes now outputs a list of late-binding InterfaceExpression's rather than a list of Type instances describing concrete interfaces
We add the interfaces to the new type after defining the type builder, allowing us to resolve self-referential type parameters against the still-unclosed-type instead of throwing TypeNotFound

At some point we will need to re-think how we resolve generic type arguments, perhaps refactor GenericTypeName completely to natively support late binding against unclosed types, but I'll leave that an exercise for the future for now.
PR Checklist

[X] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[X] Summarized changes
[X] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[ ] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[X] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[ ] Not Applicable
OR
[X] Documentation needed

[ ] Issue filed:

Testing - New and feature

[ ] N/A or can only be tested interactively
OR
[X] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[X] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and enumerated concerns in the summary. This may include:

Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode (which runs in a different PS Host).
Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.
Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).
Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

Although some of there errors are surely mine, HEAD of master seems broken at the moment, please advice on how to proceed.
Build from clean clone of master at e93381e73e16a0d55ceab879ccaa58456800371d

You should be able to build in release mode in the meantime to bypass the debug assert and test things, but we do need https://github.com/PowerShell/PowerShell/pull/12840 fixed so we don't need to do that. 🙂

You should be able to build in release mode in the meantime to bypass the debug assert and test things, but we do need #12840 fixed so we don't need to do that. 🙂

see start-psbuild -configuration


Create Account Link

When creating a new user account from the admin panel, occasionally the "copy" button for the Browser Link and App Token won't actually copy the text displayed.

Someone else reported this as well, but I couldn't reproduce. Could you give me a bit more context:

How frequent is the miss copy? (1 out of 10 times?)
What browser are you using?
Do you happen to notice the button animation when the mis-copy happens?

Thanks for your feedback on this bug!

issue still persists.

thanks for your patience on this. I'll bump the priority on this now.

If you get a chance can you update to the latest container 0.1.7 and see if the issue is still present?
I've made a small change with out the data is copied to the clipboard as well as adding a tooltip for when the data is copied. I am not confident this will fix anything yet, as I still struggle to reproduce on any of my browsers.
Thanks for helping improve this project!

I was informed this issue arises when you use 'http' instead of 'https' in your browser URL.
I'll research how to handle this properly, but at least now I understand the cause.


release v1.7.0 develop

… 2024 20:00:00
Purpose

How does the solution address the problem

Changes made

prnet cleaned-up successfully


Async/await support

Could probably do with someone trying to convert some existing promise code to make 100% sure it's working.
I'll do at some point if nobody else wants to.

Okay, so you're not using the rollup nodent plugin?


spec: potential issue with pattern properties in the context of additional properties

What version of CUE are you using (cue version)?

$ cue version
cue version +aa61ee7f linux/amd64

Does this issue reproduce with the latest release?
Yes
What did you do?
In the course of looking at https://github.com/cuelang/cue/discussions/893 I found myself referring to previous discussion about pattern properties and additional properties.
In f52a0ed82c425a7266e016e4d5ad5ee8fb5cb56b we concluded that the semantics of pattern constraints ([k]: v) should remain as is, namely further constraining existing fields that match pattern k by value v. For example:
// case 1
package x

_#X: {
	test:     string
	[string]: "test"
}

a: _#X & {
}

results in:
a: {
    test: "test"
}

It also correctly restricts the value of the test field:
// case 2
b: _#X & {
	test: 5
}

gives:
b.test: conflicting values string and 5 (mismatched types string and int)

However, the [string] form of pattern also allows additional fields:
// case 3
c: _#X & {
	tap: "test"
}

gives:
c: {
    test: "test"
    tap:  "test"
}

Whereas:
// case 4
_#Y: {
	test:   string
	["^t"]: "test"
}

d: _#Y & {
	tap: "test"
}

results in:
d: field not allowed: tap

The behaviour of [string] in case 3 seems to agree with the following part of the spec:

A closed struct c is a struct whose instances may not declare any field with a name that does not match the name of field or the pattern of a pattern constraint defined in c.

Therefore, I think case 4 is a bug according to the spec.
But ignoring this for one second, I think this definition of closedness with respect to pattern properties is a problem. Because in f52a0ed82c425a7266e016e4d5ad5ee8fb5cb56b we also talked about adding support for the equivalent of JSON schema additional properties, in the form [...k]: v. As things stand today according to the part of the spec quoted above, pattern properties not only apply to existing fields but also open a closed struct to allow further fields that match that pattern, fields that are then constrained by the value associated with that pattern (case 3 above).
So whilst the current implementation might suggest we don't need to support additional properties (because that can be done by pattern properties, like case 3 demonstrates above), it hides a different problem. Namely that it's impossible to define constraints that only apply to existing fields, or only apply to additional fields: with [string] is as it is implemented today, the constraints applies to both sets.
Unless I'm missing something here?
Assuming I am not, I think we need to:

add support for additional properties, e.g. [...string]: v and friends
"fix" [string]: v to only apply to existing properties

I think this is a breaking change, and a relatively significant one at that because wherever people use [string]: v today, it's more than likely the case they mean [...string]: v.
Something to discuss at least.

I agree that we need some way differentiate between existing and additional property constraints. My opinion is that the [...<>] prefix is better for additional.
Does the following define a closed struct with no fields or a set of potential fields (while still also being closed)?
#A: {
  ["^t.*"]: string
}

where I think this ought to be valid (aligning with the RHS of the or above)
ok: #A & { tap: "test" }

badKey: #A & { foo: "bar" }
badVal: #A & { tap: 1 }

My opinion is that the [...<>] prefix is better for additional.

Per https://github.com/cuelang/cue/commit/f52a0ed82c425a7266e016e4d5ad5ee8fb5cb56b, that remains the plan from my perspective.

Does the following define a closed struct with no fields or a set of potential fields (while still also being closed)?

I think the answer has to be "yes, it is closed".
The solution would be to use embedding:
exec cue eval

-- x.cue --
package x

#A: {
	["^t.*"]: string
}

ok: {
	#A
	tap: "test"
}

shouldBeBad1: {
	#A
	foo: "bar"
}

shouldBeBad2: {
	#A
	tap: 1
}

But note the output from the above is:
> exec cue eval
[stdout]
#A: {}
ok: {
    tap: "test"
}
shouldBeBad1: {
    foo: "bar"
}
shouldBeBad2: {
    tap: 1
}

when the shouldBeBad* cases should, well, be bad! So I think this points to another problem, most likely the conflation of existing vs additional fields.

(some assumptions about the query syntax were made here, namely the regex for the pattern constraint)

I don't follow this point?

I think you meant:
// case 4
_#Y: {
	test:   string
	[=~"^t"]: "test"
}

d: _#Y & {
	tap: "test"
}

which actually works.
All other cases seem to be working as intended.

This issue has been migrated to https://github.com/cue-lang/cue/issues/1024.
For more details about CUE's migration to a new home, please see https://github.com/cue-lang/cue/issues/1078.


large graph viz: cliping

It seems that on he large graph visualization if you rescale the "frame" where the visualization is, the cliping field of webgl does not update correctly.
It is not urgent.

David:
This would require catching the resize event and appropriately changing
the viewport based on the new window dimensions. This means that the
window to viewport transform should then use the new dimensions.  We can
wait till the end and if we have time, we can consider it.
-- krs
On 2/23/19 7:22 PM, Erik Saule wrote:

It seems that on he large graph visualization if you rescale the
"frame" where the visualization is, the cliping field of webgl does
not update correctly.
It is not urgent.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/squeetus/bridgesAPI/issues/38, or mute the thread
https://github.com/notifications/unsubscribe-auth/AFZSOE6u8Ks9SYwXkpuVUzq_QKFhuNBzks5vQds5gaJpZM4bOPf_.

--
Kalpathi Subramanian                                   Ph:<PHONE_NUMBER>
Associate Professor                                    Email<EMAIL_ADDRESS>Dept of Computer Science                               Web:http://webpages.uncc.edu/krs
The University of North Carolina
Charlotte, NC 28223-0001

So it turns out that is not a webgl problem.
The key problem is that the div that contain the canvas is the one with a resize icon. When yo resize it, it does not propagate the information to the underlying canvas. If you resize the window itself, it will work, but if you just resize the div it won't.
The main problem is that the html 5 specification does not allow to wait on a resize event even if the css enables the resize icon to be there. The resize event exist but is only triggered by window resize and not in page resize.
There will be a proper javascript event that will be integrated eventually. Pretty annoying in the mean time.

in 2019 I commented that there was a missing JS event. Is it a thing now?


Fix: CIDR meta-data call resulting in false ten range

Fix mac address is returned with trailing slash which breaks CIDR call resulting in false ten range
Issue #, if available:
Description of changes:
Remove trailing slash from MAC meta-data call, which fixes the CIDR blocks call, which allows the TEN_RANGE variable to correctly report whether it's a <IP_ADDRESS> DNS cluster IP.
Example:
root@ubuntu:/# curl -s http://<IP_ADDRESS>/latest/meta-data/network/interfaces/macs/ -s | head -n 1
00:14:22:01:23:45/
root@ubuntu:/# curl -v http://<IP_ADDRESS>/latest/meta-data/network/interfaces/macs/$MAC/vpc-ipv4-cidr-blocks
*   Trying <IP_ADDRESS>...
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 80 (#0)
> GET /latest/meta-data/network/interfaces/macs/00:14:22:01:23:45//vpc-ipv4-cidr-blocks HTTP/1.1
> Host: <IP_ADDRESS>
> User-Agent: curl/7.47.0
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Location: /latest/meta-data/network/interfaces/macs/00:14:22:01:23:45/vpc-ipv4-cidr-blocks
< Date: Thu, 07 Mar 2019 10:21:32 GMT
< Content-Length: 0
<

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Workaround is to revert to v20181210 AMI


Update pac cli version to latest 1.37.4

approved

Is the any estimated time when this PR will be closed, we are pending one fix which is available in the latest Microsoft.PowerApps.CLI.
Thanks


Make metric selection and sorting in single job views configurable

Single job views should provide a UI to configure and sort the metric plots. This is then valid for all single job views of the same clusters.

UI-Wise, this is already implemented, see the Metrics button next to the Manage Tags UI element. What can still be improved here is that for now, all metrics are always fetched, even those not displayed/selected. Lazy loading them is what I am currently working on.


CLI: -STA and -MTA are mistaken for a -File parameter value

Note: -STA and -MTA are not supported in Core, but for consistency with Windows PowerShell, they should still be recognized, and either an error or a warning should be reported.
Here you can see that checking for -STA and -MTA is simply bypassed in Core.
Steps to reproduce
powershell -sta

Expected behavior
An error or a warning about how -STA and -MTA are not supported in PowerShell Core.
Actual behavior
-sta is misinterpreted as an (implied) -File parameter value; an error message is reported, and the session is exited.
The argument '-sta' to the -File parameter does not exist. Provide the path to an existing '.ps1' file as an argument to the -File parameter.

Environment data
PowerShell Core v6.0.0-beta.4 on macOS 10.12.5
PowerShell Core v6.0.0-beta.4 on Ubuntu 16.04.2 LTS
PowerShell Core v6.0.0-beta.4 on Microsoft Windows 10 Pro (64-bit; v10.0.15063)

Agree that we should error out so that existing Windows PowerShell scripts fail more gracefully


Add support for readv syscall

Part of #34
Still TODO:

[x] map "opaque" readv from Handler::syscall to syscall::Readv for now I don't see a simple way to do this, I suggest to open a separate issue to tackle this later as technical debt. #50

Let's see if https://github.com/enarx/sallyport/issues/50#issuecomment-1007422521 works

Please test behavior, when exceeding the sallyport block size.
Also test, if one of the readv/writev iovecs has zero length.


Cache without playing

Hi, Please explain to me the way to download video directly to the cache without playing with VGPlayer. Problem is you don't use comments so it's pretty hard to understand your code. Could you add any explaining about how the cache is managed under the hood and how to manage cached videos directly not only "cleanAllCache()".

@NikitaVashchenko Did you manage to find the solution for this?

@NikitaVashchenko Did you manage to find the solution for this?

No, I decided to make my own media cache manager for my purposes and did it successfully


fix: parquet over http

reqwest's content_length method apparantly doesnt check for the casing of "Content-Length". This seems like a bug in reqwest to me.
https://github.com/seanmonstar/reqwest/issues/843

#[tokio::main]
async fn main() {
    let client = reqwest::Client::new();
    let head_res = client.head("https://clickhouse-public-datasets.s3.eu-central-1.amazonaws.com/hits_compatible/athena/hits.parquet").send().await.unwrap();
    let content_length = head_res.content_length();
    assert_eq!(content_length, Some(14779976446))
}

closes https://github.com/GlareDB/glaredb/issues/2561

regression testable?

maybe?? Without relying on other apis like the one mentioned in the issue, We'd have to spin up some infra for hosting some public files.


Unlock symbol on password prompt fails to submit the form

Clicking the unlock symbol on the password prompt fails to submit the form.

Hitting enter on the keyboard submits the password and completes the payment.

Good catch, I caught this as well on a local branch that also implements the deposit modal. That should go up shortly. Thanks for reminding me!

Closed via #22.


Error handling in query achievements from steam is missing

error related: https://github.com/ColorfulChen/notion_steam_game_list/actions/runs/10973261023


Job Buttons do not commit changes in their job.

Environment

Nautobot version (Docker tag too if applicable): 1.6.11
Python version: 3.11
Database platform, version: MySQL
Middleware(s): NA

Steps to Reproduce

Create  JobButtonReciever, set it to commit by default.
Create a Job Button and assign to a ContentType.
Click the Job Button on the assigned Content Type.

Expected Behavior
The job runs and commits the changes.

Observed Behavior
The Job runs and the database changes are reverted.

Regression in 1.6.8 due to #4995.


Dummy PR for DCO verification - personal GitHub account

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


TypeError: this.connection.getKnex is not a function ==> MongoDB

Describe the bug
migration error
Stack trace
TypeError: this.connection.getKnex is not a function
at new SchemaGenerator (C:\temp\lireddit\node_modules@mikro-orm\knex\schema\SchemaGenerator.js:15:37)
at new Migrator (C:\temp\lireddit\node_modules@mikro-orm\migrations\Migrator.js:34:32)
at Function.handleMigrationCommand (C:\temp\lireddit\node_modules@mikro-orm\cli\commands\MigrationCommandFactory.js:71:26)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
To Reproduce
npx mikro-orm migration:create
Expected behavior
Migratoin to complete with out errors
Additional context
None
Versions
npx mikro-orm debug //output is pasted below
Current MikroORM CLI configuration

dependencies:

mikro-orm 4.2.3
node 12.18.3
DirName C:\temp\lireddit\src
mongodb 3.6.2
typescript 4.0.5

package.json found
ts-node enabled
searched config paths:

C:/temp/lireddit/src/mikro-orm.config.ts (found)
C:/temp/lireddit/dist/mikro-orm.config.js (found)
C:/temp/lireddit/mikro-orm.config.ts (not found)
C:/temp/lireddit/mikro-orm.config.js (not found)

configuration found
will use entities array (contains 1 references and 0 paths)

Migrations are not supported in mongo. You do not need to synchronize schema there (as there is no schema in mongo), so it is not usually needed, but it is planned for manual migrations (scripts) and indexes, you can subscribe to #295 if you are interested in that.

Thought so .. Just want to get confirmation as well.. Thank you close the issue


Reconcile Namespace OG Labels in Namespace Syncer

This commit introduces a change so OLM will not attempt to update the
labels on all namespaces in an OperatorGroup while reconciling an
OperatorGroup.
Instead, OLM will trigger a sync on all namespaces in the OperatorGroup.
The sync will cause OLM to update the labels on each namespace in the
OperatorGroup separately.
This PR was born out of this conversation .

So this PR supersedes the #1402 or this is a separate PR? Is there a reason why we don't combine both of them into 1 PR?

@dinhxuanvu I closed #1402

/hold

So if I understand correctly - before we were updating all relevant namespaces at once in a batch operation (but this was potentially very costly) and now we are incrementally resyncing the labels on the namespace on a rolling basis. Makes a lot of sense, wondering if there is any change of behavior on the multitenancy side we should be concerned with if things don't sync up correctly

/unhold

Makes a lot of sense, wondering if there is any change of behavior on the multitenancy side we should be concerned with if things don't sync up correctly

@exdx what implications should we consider?

/retest

/retest

/retest

/retest

/retest

/retest

/retest

@dinhxuanvu I believe that the e2e test implemented in https://github.com/operator-framework/operator-lifecycle-manager/pull/1398 should be enough.

/lgtm

/retest

/retest

/retest

/approve

/lgtm

/lgtm

/retest


New user cannot see DMPs they were invited to

To reproduce:

Send an invite to an email address which does not already have a user associated with it in the database (to do this click on the name of a DMP, then the + button in the Members section, or Add a member; enter the email address and decide a role)
Click on the link in the email
Sign up using the email address that was added for the invitation
Click on link in email verification email
Verify email address
The newly created user is not able to see the DMPs to which they have been invited

Note that if the user invited already exists, then the DMPs can be seen

Didn't work because of an error in the link with changing projects to data management plans. But fixing that fixed this problem.


Added Permission, added fallback for copying, removed unused images, general clean-up

Fantastic work, @dpeukert. Thank you for the amazing contribution.


Add RN CLI Dependency

The CLI is now installed as a dependency from @react-native-community/cli, so we can package it with the template.

@mcavaliere Do you think we need it? We've been using npx and haven't had to install it. Just curious about your thoughts.

I think we can close this, since the global install has been deprecated for some time.


Clickhouse support

I'd love to see PRQL directly compiled into Clickhouse SQL.
ClickhouseSQL has really handy aggregate functions that would really cool to have PRQL too.

Hi @RealHarshThakur — we do have a ClickHouse dialect in our dialects — https://prql-lang.org/book/language-features/target.html — though very little is implemented specifically for ClickHouse
We're very open to contributions for ClickHouse-specific features
If there are folks who are keen to contribute, we can use this issue to prioritize the features; otherwise we can close the issue but keep our eyes open for opportunities here.

Closing but thanks for the issue and please feel free to open an issue prioritizing ClickHouse-specific features, or an initial contribution on them.


Plain request, with URL formatting

Is there any way to support plain requests while doing URL substitutions? I'd like to do something like this:
plain_request('courses/assessment/programming_evaluations/:id/package', id: id)

(from https://github.com/Coursemology/evaluator-slave/blob/master/lib/coursemology/evaluator/models/programming_evaluation.rb)
and URL substitution will replace id with the variable. Plain requests currently do not support that (all URLs are used verbatim), is there any reason for that?
I'm not directly returning the contents of that endpoint within my response for the rest of the record because that's a blob. (not supporting streamy response parsing is a separate issue...)

There isn't at the moment, but I'd happily accept a pull request to support it. From memory - plain request functionality was added for a single specific need while at Which and one I haven't needed to repeat.

Yes, in my case, it's because of that one resource that shouldn't (can't?) be in the main response.
If anyone's interested, my current hack is:
  # Performs a plain request.
  #
  # @param [String] url The URL to request.
  # @param [Hash] params The parameter to be part of the request.
  # @return [String] The response body.
  def plain_request(url, params = {})
    request = Flexirest::Request.new({ url: url, method: :get, options: { plain: true } },
                                     self.class)
    request.call(params)
  end

Thanks for the hack @lowjoel! I had this same issue.

Given that you both have this problem, I'd like to fix it.  I've just committed a new version that supports URL parameter replacement in _request and _plain_request.  Please test v1.2.16 and see if it does what you'd expect.

Awesome, thanks! It works great.


Windows 10 + Python 2.7NO JSON object could be decoded.

Any ideas on the bellow issue? Running windows 2.7.2 bulid of python.
Updating photos...
Traceback (most recent call last):
File "download_photos.py", line 231, in
download()
File "c:\Python27\lib\site-packages\click\core.py", line 722, in call
return self.main(*args, **kwargs)
File "c:\Python27\lib\site-packages\click\core.py", line 697, in main
rv = self.invoke(ctx)
File "c:\Python27\lib\site-packages\click\core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "c:\Python27\lib\site-packages\click\core.py", line 535, in invoke
return callback(*args, **kwargs)
File "download_photos.py", line 55, in download
updatePhotos(icloud)
File "download_photos.py", line 155, in updatePhotos
icloud.photos.update()
File "c:\Python27\lib\site-packages\pyicloud\base.py", line 306, in photos
self.params
File "c:\Python27\lib\site-packages\pyicloud\services\photos.py", line 37, in init
response = request.json()
File "c:\Python27\lib\site-packages\requests\models.py", line 878, in json
self.content.decode(encoding), **kwargs
File "c:\Python27\lib\json_init_.py", line 339, in loads
return _default_decoder.decode(s)
File "c:\Python27\lib\json\decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "c:\Python27\lib\json\decoder.py", line 382, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

I have the same problem in Linux Ubuntu 16.04

Same issue on macOS Sierra. It was working just a few days ago, so maybe a change to iCloud?

Ahh so I have not been blacklisted.

It works for me in Ubuntu, but on windows 10, I still am getting 'File "C:\Python27\lib\json\decoder.py", line 382, in  raise ValueError("No JSON object could be decoded")"

Hi, sorry you're running into this issue. Looking at the traceback, the issue appears to originate in pyicloud, so it might better to open an issue over there.


Bug: ColorVariable hex vs. rgb

The following code results in an warning.
$color-bg: rgba(255, 255, 255, .8); // valid
$color-bg: rgba(#fff, .8);          // invalid

Error: ColorVariable: Color literals like #fff should only be used in variable declarations; they should be referred to via variable everywhere else.
I think this is a bug because I am using a variable to set the color. It shout not matter whether using hex or rgb as color format

Hey @marcobiedermann, thanks for the report.
This was reported in #402 and fixed in 4b91c9e6a73a8bb0d47ac2789a162133a798a908. In order to prevent further confusion, I've released a new version (0.36.0) of scss-lint with the fix.

@sds Oh, thank you very much. I've taken a look at the closed issues but did not find it.


problems after update

i've installe haproxy-wi on a new machine and this happened !
i cant log in

Ok, let's start again..... before you will write something you must(!) look through logs. If there is something you have to show it me, if there isn't you have to say that logs are empty...
It's neccessery so that I have ablity give you advice I'm not telepat!


Godot Crash When Creating new project

Godot version
v4.0.dev.20211210.official [21b81998b]
System information
Device Inspiron 15-3565 ,Windows 10, CPU: AMD A6-9225 2.6Gh ,GPU:RADEON R4(Built in),Ram: 4 GB
Issue description
When I create new project it crashes...
When I open an existing 2d project it loads and work fine until I Chick 3d viewport or add a 3d object in scene which leads to opening of 3d viewport...
Work around i found include opening a 2d project and then adding a WorldEnvironmentNode to 2d scene and changing it to Clear color or Custom Color...
errors  :
this comes more often and crashes frees my cursor for 5sec :
            ERROR: vmaMapMemory failed with error -5.
               at: (drivers/vulkan/rendering_device_vulkan.cpp:1605)
            ERROR: vmaMapMemory failed with error -5.
               at: (drivers/vulkan/rendering_device_vulkan.cpp:1605)
            ERROR: vmaMapMemory failed with error -5.
               at: (drivers/vulkan/rendering_device_vulkan.cpp:1605)
            ERROR: vmaMapMemory failed with error -5.
               at: (drivers/vulkan/rendering_device_vulkan.cpp:1605)

is this normal after every start:
Godot Engine v4.0.dev.20211210.official.21b81998b - https://godotengine.org
vkEnumerateInstanceVersion not available, assuming Vulkan 1.0.
Vulkan API 1.0.0 - Using Vulkan Device #0: AMD - AMD Radeon(TM) R4 Graphics
Steps to reproduce
just create a new project on my pc...
Minimal reproduction project
No response

is this normal after every start:

vkEnumerateInstanceVersion should be available on modern GPUs, but it may not be implemented on old GPUs that have partial Vulkan support.
Try updating your AMD graphics drivers to the latest version provided by AMD (not your laptop OEM).

vkEnumerateInstanceVersion error was fixed after the updating my drivers but still cannot create new projects due to this error
ERROR: vmaMapMemory failed with error -5.
at: (drivers/vulkan/rendering_device_vulkan.cpp:1605)

is this normal after every start:

vkEnumerateInstanceVersion should be available on modern GPUs, but it may not be implemented on old GPUs that have partial Vulkan support.
Try updating your AMD graphics drivers to the latest version provided by AMD (not your laptop OEM).

vkEnumerateInstanceVersion error was fixed after the updating my drivers but still cannot create new projects due to this error
and CRASH :-(
ERROR: vmaMapMemory failed with error -5.
at: (drivers/vulkan/rendering_device_vulkan.cpp:1605)
in drivers/vulkan/rendering_device_vulkan.cpp line 1605, i found this code:
       //map staging buffer (It's CPU and coherent)

void *data_ptr = nullptr;
{
	VkResult vkerr = vmaMapMemory(allocator, staging_buffer_blocks[staging_buffer_current].allocation, &data_ptr);
	ERR_FAIL_COND_V_MSG(vkerr, ERR_CANT_CREATE, "vmaMapMemory failed with error " + itos(vkerr) + ".");
}

Godot4.0 beta3 - get the same error on launch; white screen and crash later
Verbose output:
Text-to-Speech: SAPI initialized.
vkEnumerateInstanceVersion not available, assuming Vulkan 1.0.
Vulkan devices:
  #0: NVIDIA GeForce GTX 1060 - Supported, Discrete
  #1: Intel Intel(R) HD Graphics 630 - Supported, Integrated
Vulkan API 1.0.0 - Using Vulkan Device #0: NVIDIA - GeForce GTX 1060
- Vulkan Variable Rate Shading not supported
- Vulkan multiview supported:
  max view count: 32
  max instances: 134217727
- Vulkan subgroup:
  size: 0
  stages:
  supported ops:
Using present mode: VK_PRESENT_MODE_FIFO_KHR
Using "winink" pen tablet driver...
Creating VMA small objects pool for memory type index 7
Shader 'CanvasSdfShaderRD' SHA256: c232900d90b0aa53670c1ae4f73e1f6f24c4e84c4d8fa033643206613fb77225
Shader 'SkeletonShaderRD' SHA256: e085745a08805fc3ad41f488555b708666f8f8494c855a1dbf8ddf2e113d6742
Shader 'ParticlesShaderRD' SHA256: 643cff3b8d61f5823e51f27f16efcdf2f7a3d442b523580fec0d9eed35de6a3e
ERROR: vkCreateComputePipelines failed with error -1000012000.```


Set --initialize-at-build-time on native-image build

Changes

Set --initialize-at-build-time on native-image build

Codecov Report

Merging #249 (e84edc2) into main (b9dd58c) will not change coverage.
The diff coverage is n/a.

@@             Coverage Diff             @@
##              main      #249     +/-   ##
===========================================
  Coverage   100.00%   100.00%
===========================================
  Files           64         9     -55
  Lines         2286       483   -1803
  Branches       201       112     -89
===========================================
- Hits          2286       483   -1803

Impacted Files
Coverage Δ

...scala/codes/quine/labo/recheck/common/Seeder.scala

...codes/quine/labo/recheck/diagnostics/Hotspot.scala

...la/codes/quine/labo/recheck/cli/AgentCommand.scala

.../main/scala/codes/quine/labo/recheck/cli/RPC.scala

...a/codes/quine/labo/recheck/automaton/Witness.scala

...cala/codes/quine/labo/recheck/common/Checker.scala

.../main/scala/codes/quine/labo/recheck/vm/Inst.scala

.../scala/codes/quine/labo/recheck/fuzz/FString.scala

...la/codes/quine/labo/recheck/fuzz/FuzzProgram.scala

...cala/codes/quine/labo/recheck/common/Context.scala

... and 45 more

Continue to review full report at Codecov.

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


Create and query in the same page

I was trying to create a table and query it from within the same SQL page.
Unfortunately, I was greeted with an error message:
Failed to prepare SQL statement: 'SELECT * FROM zzmytable'
Is there a workaround or an easy fix that I can apply?
The minimal working example triggering the above error message is as follows.
select 'shell' as component,
    'Create and query' as title,
    '/dbg-create-query.sql' as link;

select 'list' as component, 'Output' as title;

create table zzmytable as with t
       	(row)
	as (values
	('A')
	) select * from t;
select * from zzmytable;
drop table zzmytable;

Initially, my aim was to create a temporary table and query that. However, not even permanent tables can be queried like that, as the above example shows. In the context of the psql client the above code is just fine. I would be grateful for any hints.
Thanks a lot!

Hello and welcome to SQLPage !
SQLPage prepares all your queries in advance, and when the same page is loaded twice, it reruns all the prepared statements. This design allows very good performance, but requires that all the queries can be prepared before they are executed. So if a statement creates a table, it won't be executed before the next one is prepared, and if the second one refers to the table that was created in the first one, it will fail.
This restriction may be lifted in future versions of SQLPage, but in the meantime, you have several options:

put your CREATE TEMP TABLE statement in sqlpage/on_connect.sql
write a postgres procedure that does the job (creating the temp table, using it, then deleting it), and then just run your procedure from the sqlpage sql file.

This will be fixed in the next release (already available on docker hub under lovasoa/sqlpage:main)
I changed the statement preparation logic. Each statement is now prepared right before it is executed for the first time, and before later statements in the same file are prepared. This way, we can make sure that a table created at the top of one file is available for use in sql queries that come after, in the same file.

Thanks a lot, this is great news!


practical methods for training LSTM using large corpus of data with keras

I'm training a large LSTM network using around 10 million sequences of 6-12 length characters with Keras, I'm using the one-hot representation for input and output, with a large learning rate, it doesn't converge, but with a very small learning rate, it converges and the leaning curve looks fine, but got a validation result worse than large learning rate, can anyone suggest me a good way to find good hyperparams and a way to decide if I have got the best result the model can get?
thanks very much!

Just an idea of for general LSTM debugging techniques :

start with non-LSTM network on a fixed length sequence. Even MLP will probably provide better than average result.
Start with the minimal length sequence for train, validation+ test on some LSTM network and see how it behave. From my experience, it is a good starting point.
You mentioned you only succeed to converge with very small learning rate. Try build the network such that it will contain much fewer parameter. For example, you can create a first layer as temporal convolution in order to make the input size for the LSTM smaller. Only after you are able to achieve good results with the "simpler" network, start to increase the network complexity gradually. You can post your network architecture here if you want.

Good luck.

@Ori226  Thank you, I first trained the network on small set of sequences, around 20000 sequences, with rmsprop of learning rate 0.006   with the following network:
model = Sequential()
model.add(Masking(mask_value=0., input_shape=(None, len(chars))))
model.add(LSTM(150, return_sequences=True))
model.add(LSTM(150, return_sequences=True))
model.add(TimeDistributed(Dense(len(chars))))
model.add(Activation('softmax'))

it converges very fast and got a good result, but when I trained the network on the whole dataset of around 14 million sequences, with rmsprop of learning rate 0.0001 with the following network:
model = Sequential()
model.add(Masking(mask_value=0., input_shape=(None, len(chars))))
model.add(LSTM(4000, return_sequences=True))
model.add(LSTM(4000, return_sequences=True))
model.add(TimeDistributed(Dense(len(chars))))
model.add(Activation('softmax'))

the training loss does not decrease after only one epoch

I think the first LSTM layer with 4000 is huge. Use model.summary() to see the number of parameters.  Have you tried the full dataset with the LSTM of 150 like the first example? BTW, can you explain what you are trying to do? Predict character?

I'm trying to train LSTM to learn distribution of large datasets of short sequences, like simple word or password,  just as character-level language model,  for choosing the network size, I set the size of parameters be around the same with the amount of chars in the datasets(as suggested by Karpathy char-rnn), for example, for 20000 sequences, each is around 8-12 length, so there is around 200000 characters, then set the LSTM to be two layers of 150 neurons, which has approximately 300000 parameters (or two layers of 100 neurons, which has approximately 200000 parameters, this has a similar performance with 150 neurons), then for whole dataset of around 14 million sequences, there is around 140 million characters, so I set the network to be two layers of 4000 neurons, which has around 190 million parameters (I have tested with model.summary function).
I have not tried the full datasets with the original two layers of 150 neurons as it seems that will have the problem of heavy underfit

@Ori226 I'm trying to train LSTM to learn distribution of large datasets of short sequences, like simple word or password,  just as character-level language model,  for choosing the network size, I set the size of parameters be around the same with the amount of chars in the datasets(as suggested by Karpathy char-rnn), for example, for 20000 sequences, each is around 8-12 length, so there is around 200000 characters, then set the LSTM to be two layers of 150 neurons, which has approximately 300000 parameters (or two layers of 100 neurons, which has approximately 200000 parameters, this has a similar performance with 150 neurons), then for whole dataset of around 14 million sequences, there is around 140 million characters, so I set the network to be two layers of 4000 neurons, which has around 190 million parameters (I have tested with model.summary function).
I have not tried the full datasets with the original two layers of 150 neurons as it seems that will have the problem of heavy underfit

@MrWanter I read Karpathy's blog. I still suggest you to try with a much smaller LSTM layer. Maybe the problem is that due to the big LSTM layer, the training become very unstable (this is something that happened to me). My other suggestion is just general development suggestion - if something work in A and doesn't work in B, move gradually and  slowly from A to B and check the A-B intermediate results. I will be happy to know what you find.

@Ori226 Thank you, I'll try to slowly move from small dataset to large one and see if I can find some problem.


Prefix change : default mode and clear docs

Changelog of beta.11 says the md prefix is being deprecated everywhere, in favor of mat.
So I refactored all my project to move from md to mat for :

modules (MdInputModule > MatInputModule)
components (<md-slider> > <mat-slider>)
directives (mdInput > matInput)
I already refactored the CSS classes before

But doing so, everything break with this error :
The "mat-" prefix cannot be used in ng-material v1 compatibility mode.
I saw in angular-prefix-adapter that compatibility mode should be activated :
{provide: MATERIAL_COMPATIBILITY_MODE, useValue: true}
But it looks like a bug to me : why is this an error by default if this is supposed to be the new official prefix ?
And even without this change, why is this an error by default when it's md- prefix which causes compatibility issues and not the mat- one ?
It should work out of the box.
And docs should be clear about all of this. Currently docs say to import MatXModule but to then use <md-x> element. I think I'm not the only confused by this.

Yeah I was stumped by this too, I thought from rereading the changelog that the compatibility mode had been removed completely so I was surprised to see that the suggested refactor actually violates the "default" compatibility mode settings and that I had to enable compatibility mode (for the first time) to get it working. I was also surprised that the handy tool didn't add the provider itself.
I also think that the error message The "mat-" prefix cannot be used in ng-material v1 compatibility mode. is very unintuitive as it suggests that using mat- is invalid in compatibility mode, when in fact the opposite is true: only mat- can be used in compatibility mode. You can see the issue in the compatiblility source code - the X prefix cannot be used in compatibility mode error message is thrown regardless of whether it is enabled.

Yeah, we should have updated the errors; that was an oversight

It is indeed very confusing. I would expect that after using the prefix updater tool, no errors should be reported without taking any further action.
However after using the tool I got The "mat-" prefix cannot be used in ng-material v1 compatibility mode. error mentioned above, which suggests that I had "v1 compatibility mode" on despite not opting it to use it.
On the other hand in order to get rid of the error, I had to add NoConflictStyleCompatibilityMode module dependency to my app module and all unit tests which suggest that "v1 compatibility mode" was actually off, unless the intended role of NoConflictStyleCompatibilityMode module it to opt out of "v1 compatibility mode".
This definitely needs a clarification.

@jelbourn sorry but this is till unclear for me... using beta.11 we can still use both md and mat right?
"The "md" prefixes will be removed in the next beta release" = beta.12?

@mackelito Yes I believe the md prefixes are deprecated but still supported in beta 11.

I blame my kids for not enough sleep.. of course it's still supported! 😁

Fixed in beta 12, no more compatibility mode required.

@bownie barring other breaking changes between 10 and 12, you should be able to use mat (and only mat) without the need for compatibility mode.


feat(proxy-wasm) set querystring when setting ":path"

tests(proxy-wasm) check that querystring works in dispatch_http_call - looks like setting the query passing :path to dispatch already worked; I added a test to verify this.
feat(proxy-wasm) set querystring when setting ":path" - this one addresses the NYI, and includes some tests.
refactor(proxy-wasm) rename call->uri to call->path - This third one is opinionated, feel free to keep or drop it. I just changed it to clarify that it matches ":path" (that is, path including querystring), making the field name match the pseudo-header, as is the case with the other entries in ngx_http_proxy_wasm_dispatch_s.

Merged!


How to get the node name mapping between FX (aten) and ONNX as far as possible?

I'm working on a project where I need to map FX node names to their corresponding ONNX node names, particularly after exporting an FX GraphModule to ONNX. The naive approach I've been using involves iterating through node types and maintaining a counter to track node names, as shown in the pseudo-code below:
def get_onnx_to_fx_node_name_mapping(graph_module):
    counters = defaultdict(int)

    def guess_onnx_node_name(fx_node):
        onnx_node_name = FX_TO_ONNX_NODE_TYPE_MAPPING.get(str(fx_node.target))
        count = counters[onnx_node_name]
        counters[onnx_node_name] += 1
        return onnx_node_name if count == 0 else f'{onnx_node_name}_{count}'

    return {
        guess_onnx_node_name(fx_node): fx_node.name
        for fx_node in graph_module.graph.nodes
    }

However, certain FX nodes like GELU are decomposed into multiple nodes during ONNX conversion. This decomposition results in inaccurate mappings, particularly for nodes like Add that cannot be correctly mapped with this straightforward solution.
Additionally, other FX nodes like aten.linear may convert to either Gemm or Matmul in ONNX, depending on conditions that are currently unclear to me.
Here's an example using a simple model that illustrates the issue:
import torch
from torch import nn

class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.conv1 = nn.Conv2d(3, 3, 3, 1)
        self.conv2 = nn.Conv2d(3, 3, 3, 1)
        self.gelu = nn.GELU()

    def forward(self, x):
        y1 = self.gelu(self.conv1(x))
        y2 = self.gelu(self.conv2(x))
        return y1 + y2

model = Net().eval()
example_inputs = (torch.randn(1, 3, 32, 32),)

gm = torch._export.capture_pre_autograd_graph(model, example_inputs)
gm.graph.print_tabular()

# Ignore train to enable export onnx
def train(self, *args, **kwargs):
    return self
gm.train = train.__get__(gm)
torch.onnx.export(gm, example_inputs, 'conv_gelu.onnx', opset_version=17)

The FX tabular output for this model is as follows:

 opcode         name              target               args                                        kwargs
-------------  ----------------  -------------------  ------------------------------------------  --------
placeholder    arg0              arg0                 ()                                          {}
get_attr       _param_constant0  _param_constant0     ()                                          {}
get_attr       _param_constant1  _param_constant1     ()                                          {}
call_function  conv2d_default    aten.conv2d.default  (arg0, _param_constant0, _param_constant1)  {}
call_function  gelu_default      aten.gelu.default    (conv2d_default,)                           {}
get_attr       _param_constant2  _param_constant2     ()                                          {}
get_attr       _param_constant3  _param_constant3     ()                                          {}
call_function  conv2d_default_1  aten.conv2d.default  (arg0, _param_constant2, _param_constant3)  {}
call_function  gelu_default_1    aten.gelu.default    (conv2d_default_1,)                         {}
call_function  add_tensor        aten.add.Tensor      (gelu_default, gelu_default_1)              {}
output         output            output               ([add_tensor],)

And the corresponding ONNX graph shows that the last Add node is named Add_2 instead of Add, due to the decomposition of GELU into additional nodes. So I get a wrong mapping from add_tensor to Add.

I am seeking advice on how to enhance the robustness of this mapping process. Is there an established method for accurately mapping FX node names to ONNX node names, especially in cases where nodes are decomposed or have conditional mappings?

Can you test with the torch.onnx.dynamo_export API, which will preserve the names? Thanks.

Can you test with the torch.onnx.dynamo_export API, which will preserve the names? Thanks.

@justinchuby Thank you so much for your reply!
Yes, I tried the torch.onnx.dynamo_export and obtained the following result:

When I flattened it using onnx.inliner.inline_local_functions, I got:

Both results are significantly different from those obtained with torch.onnx.export. For example, neither of them contains the "Conv" node.
Do you know how to export an ONNX model with "Conv" nodes using torch.onnx.dynamo_export?

You may now use onnxscript.optimizer.optimize() to clean up the model.

Thank you so much for the information!


Update carousel block to latest code from AEM block collection

Updates carousel.js and carousel.css to the latest changes from the AEM block collection:

https://github.com/adobe/aem-block-collection/blob/main/blocks/carousel/carousel.js
https://github.com/adobe/aem-block-collection/blob/main/blocks/carousel/carousel.css

These changes removed the read more/less links. I verified the existing carousels still display correctly, I did have to remove the background-color they added for the slider dots.
Fix #48
Test URLs:

Before: https://main--cigars-for-beginners--famous-smoke.hlx.live/cigars-for-beginners/develop-your-taste
After: https://48-info-overlay-block--cigars-for-beginners--famous-smoke.hlx.page/cigars-for-beginners/develop-your-taste

Not sure why the PSI check is failing on Github, the total blocking time seems oddly high. Manually running it still gets 100 on mobile and desktop and the blocking time is only 30ms for mobile: https://pagespeed.web.dev/analysis/https-48-info-overlay-block--cigars-for-beginners--famous-smoke-hlx-page-cigars-for-beginners-develop-your-taste/mw0bfahl59?utm_source=psi&utm_medium=redirect&form_factor=mobile


chore: specify vault role & mount point for populate and es

On our case:

Since k8s in 1.21, with the BoundServiceAccountTokenVolume feature enabled in beta, kubernetes-external-secrets pod is using a jwt token with an issuer that is same than the one we configured on our cluster.
jx-secret populate command is using a jwt token with an issuer kubernetes.io/service-account-token, because it just takes the service account secret token, instead of a Token generated by the TokenRequestAPI: it's here on this function it's happening; https://github.com/jenkins-x-plugins/secretfacade/blob/master/pkg/iam/vaultiam/iam.go#L56

Because on our case we can't yet disable the vault issuer validation, we have decided to create 2 different vault auth mount point  with different issuer so it's all fine for both jx secret convert & jx secret populate commands, without invalid issuer.
This PR is on the case we want to have a specific vault role or vault mount point which is different between the jx secret convert and the jx secret populate, otherwise we can only have one same vault_role and vault_mount_point for both these functions.
On the case the environment variables are not precised, it will just use the default role or mount point, so it doesn't impact others users with a different use case

@JordanGoasdoue release pipeline is somewhat fixed, can u rebase ur jx3 version with the latest master?

/test gsm

/test gsm

Previous job died because of spot instance shutting down.

/test gsm

Passed:
Ran 1 of 1 Specs in 989.927 seconds
SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped
--- PASS: TestSuite (989.93s)
PASS
ok  	github.com/jenkins-x/bdd-jx/test/suite/spring	989.949s
pod jx-bdd-gh2x8 has Succeeded
job jx-bdd has Succeeded
POD RESULT: OK

/override gsm


external file for code example

Hi
Thank for this very useful software.
Is it possible to include example of code from external file?
Example: /d/example.js
Alert ('hello')
In MD file:
examples
Include /d/example.js
Result
examples
Alert ('hello')

Using include or other keywords?
Thanks

See i have found an alternative using preprocessing script https://github.com/kovetskiy/mark/issues/126


Disable Previus and Next button

[x] This is a question about using the theme.
[ ] This is a feature request or enhancement.
[ ] I believe this to be a bug with the theme.

[ ] I am using the latest version of the theme.
[ ] I have updated all gems with bundle update.
[ ] I have tested locally with bundle exec jekyll build.

How can I disable these two buttons from the theme?
If you can help this is my use of the theme.
Thanks in advance.

You can't disable them without customizing the theme.
The relevant line is here which brings in an include for the buttons {% include post_pagination.html %}
What you could do add a blank file /_includes/post_pagination.html to your local repo which would override the one bundled in the theme. It would have the same affect as removing the buttons from the page.

Great thanks

@mmistakes
add a blank file /_includes/post_pagination.html to your local repo
Can you explain it more detail? I have little knowledge of html.
Sorry for bothering you...


Problem importing Actigraph CSV. file

Hi,
I got some problem when importing my Actigraph CSV. file to R studio to run the GGIR. I keep getting the error message which is: "Error in if (sf == 0) sf = 80 : missing value where TRUE/FALSE needed".  I attached a sample of my csv. file in the zip file. Looking forwards to having some suggestion here.
Thanks very much!
Anjo
TMCI_041 (2018-04-19)60sec.csv.zip

The file seems to hold epoch level data generated by ActiLife. GGIR is designed to process raw data. You will need to export the raw Actigraph data to a csv file with ActiLife before you can use GGIR.


Allow regenerating the Class file to expand available Mime Types.

This adds a template and a script that together allow re-generating the class based on the current Mime Types listed at http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types.
This also makes two functions public, and adds a function for finfoType, as a fall-back is we don't have the Mime Type in out list.

Hi @thebeline! Thanks for the PR.
There are a few things that make me unwilling to accept your changes:

unit tests are broken (they have not been updated)
putting the @ sign in front of functions to silence errors is bad practice
I don't like the idea of dynamically generating the source code - it makes it untestable and really hard to debug

I do agree though that the list could do with updating to match the list from apache. I'll do that shortly :)

Fair enough.

Unit tests are broken (I didn't break them, so, I am confused why that is a mark against the branch).
I am well aware that the @ symbol is contraindicated, however, as we are accessing files with unknown permissions, and a url that may have issues, we silence it and do the error handling ourselves, that's not a product of bad form, that was a choice.
Eh.  I mean, I didn't make unit tests for you, but I am certain I could have if I had cared to.  In the initialization of the test environment I would have it execute the re-builder to form the class, and we would have unit tests as you usually do.  It's really not all that odd.

All of that said (thumbs, and all that), you don't have to do anything, because, if you noticed in the Diff, I already did...  ;-)

Ah, I see you already accounted for the list this evening.
Side Note: Besides dependencies needed for unit testing, are there any actual features in this that require anything above 5.4?

The 1.x branch works from 5.3 not 5.4. The only difference between 1.x and 2.x, aside from the test dependencies, is the short array syntax :) Functionally and usage-wise they're exactly the same.

Yeah, the only reason I said 5.4 was because the short syntax was introduced in 5.4, which means (aside from test dependencies) the library is feature compat with 5.3+, or, at the very least, with it it is compat with 5.4+.  Just not sure why you would limit the use-cases with requiring 5.6+ when that is only needed unit tests.  Shouldn't that be covered if someone were to activate composer dev, which would include the testing utils, and they would specify their required PHP?

The main reason for this split of versions is phpunit - the old (now unsupported) 4.* release supports 5.3 - 5.6, 5.* supports 5.6-7.1 and the latest 6.* which I haven't switched this lib to yet supports 7.0-7.1 only.
So basically I need different composer.json files, hence the need for different branches.
I don't want to use 4.* phpunit just because the library works from 5.3 onwards. I want the latest version of this library to use the latest phpunit, and that unfortunately means versioning (even if in this case there are no differences feature-wise).
There may be better ways to do this - I'm by no means an expert so this is my first go at it.

If I understand it correctly, by having the newer PHPUnit in require-dev, it will check it's required PHP version when, and only if you load composer with the dev directive, or whatever, which means that library it's self will define the requirement.
I think you are safe to have the correct non-dev PHP version in your Composer file, and the require (when doing tests, etc) will handle the rest.  It may be necessary to have a PHPUnit directive to prevent testing against older PHP versions.  However that would mean you would no longer test against older versions.
I don't know, it seems a shame to prevent older versions from using this when in-fact it is supported on their version... :-/  Maybe you should bite the bullet and use the 4.* PHPUnit?  I mean, I would guess that it is a matter of efficiency, I doubt the behavior is that different.  Also, considering the relatively low complexity of this project, and the limited PHPUnit Tests required, it doesn't strike me as a real need.
If you open up the require, you increase the coverage area of developers who can use this.  I would think you would want to make more lives easier, rather than stick to bleeding edge for the sake of it.
My 10 cents.  We are using this on php 5.4 with no issues, but I was unable to track it with composer because of the requirement.  Seems a shame.


Ap 429 expire applicant link

The secure link sent to the client needs to expire either after 7 days or when they client completes the citizen means assessment journey.
Link to story
Added an expire_at value to the secure_data used to generate the url. This is checked in the controller and the 'Expired page' is shown if it is passed the expired date (set to 8 days from issue so that it expires at midnight at the end of the 7th day.
Added a completed_at DateTime field to legal_aid_applications, this is set when the state of the applications transitions from checking_citizen_answers to means_completed Although the if block in the controller just checks this field has a value I thought a datetime would be more useful than a true/false value.
Added tests for the new navigation and changes to the generate_secure_id method.
Checklist
Before you ask people to review this PR:

[x] Tests and rubocop should be passing: bundle exec rake
[x] Github should not be reporting conflicts; you should have recently run git rebase master.
[x] There should be no unnecessary whitespace changes. These make diffs harder to read and conflicts more likely.
[x] The PR description should say what you changed and why, with a link to the JIRA story.
[x] You should have looked at the diff against master and ensured that nothing unexpected is included in your changes.
[x] You should have checked that the commit messages say why the change was made.

@reggieb thanks, I made the changes


Bot wont unmute during discussion

The bot can recognize the starting screen, but won't unmute people when emergency meetings are called or when the game ends.

Hey thanks for filing the issue.
I'm currently tracking this (some users are reporting problems in the discord as well: https://discord.gg/ZkqZSWF), but if anyone can provide some debug logs (screencaps or copy/paste) when the situation occurs, that would help me a lot.
The console window where you run the bot should report some information as far as if it detects the game changing (which mean the screen capture is not the issue), or if the Mute/Unmute commands aren't being applied to all players, etc.
If you encounter an issue specifically with the capture (the bot doesn't detect the transitions between phases at all), I can provide some additional debug instructions to help tease out the problem.

Releases 1.3.3 and later should hopefully resolve some of the issues (there was a race condition with some users where the game unmuted, and then immediately re-muted some players when a discussion began), but please anyone lmk if you still see this behavior past 1.3.3

Still seeing this in 1.4.2 yesterday and today. I hadn't yet enabled debug logs, I've now enabled them. If I see a repeat, I will report back with them.


Workflows dashboard should have project colors

The workflows entries in the workflows dashboard page do not show the color of the projects they belong to. This bug is introduced after the series of full-text search refactoring PR https://github.com/Texera/texera/pull/1879.
Projects have color:

But the workflows do not show the corresponding color in the workflow dashboard page:

should be fixed after #2122


Improve template Accessibility

Fixes https://github.com/aspnet/AspNetCore/issues/12368.
Description
Improve accessibility of our templates by setting certain aria-attributes on elements which were identified as less accessible.
Customer Impact
This change improves accessibility of the templates, specifically for people using screen-readers.
Regression?
No, it was never the case that these elements were accessible.
Risk
Very low.

@aspnet-hello triage https://dev.azure.com/dnceng/public/_build/results?buildId=295863.

Approved by tactics

aria-live lets a screen-reader know that it should check the given element for changes, which otherwise a user would not be alerted of. On double checking, aria-label is not the prefered solution here, but aria-labelledby, since we already have an element which labels it, just slightly about it in the context.


Allow ng-include partials to be loaded from pre-loaded cache

This is a 2.0 suggestion
I'd be happy to submit a pull request if we agree this should be added.
What?
Make it easier for ng-include partials to be fetched from a local pre-warmed cache.
Why?
Angular already provides one mechanism where templates can be pre-loaded inside script tags, with appropriate directives. Depending on the backend used to serve all the assets, a developer may choose to use other mechanisms to pre-load templates and partials. For example, a developer (i.e. me) using the rails asset pipeline to serve up angular app resources may use JST (javascript templates) for this purpose.
Possible Solution
Decouple the functionality for fetching partials and templates into something like a $templateLoaderProvider and allow apps to override it.
Current Workaround
I managed to get the same end result by decorating the default $templateCache.get method as shown below. While it works, it seems like the more correct way to do this would be to allow apps to customize the loading process as outlined above.
angular.module('app').config([
  '$provide',
  function($provide) {
    $provide.decorator('$templateCache', function($delegate, $sniffer) {
      var originalGet = $delegate.get;

      $delegate.get = function(key) {
        var value;
        value = originalGet(key);
        if (!value) {
          // JST is where my partials and other templates are stored
          // If not already found in the cache, look there...
          value = JST[key]();
          if (value) {
            $delegate.put(key, value);
          }
        }
        return value;
      };

      return $delegate;
    });

    return this;
  }
]);

Any reason why this couldn't work?
$http.get('mytemplate.html')
    .success(function(data){
            $templateCache.put('mytemplate.html', data);
    });


chore: fix typos and markdown links

There were a lot of typos and nearly all markdown links did not work.

Wow, great work, you really fixed many things, thanks a million @Jiralite


Hardware requirement to run nodes

Please add recommended hardware requirement for running nodes in cosmos.  Also mentioned  reference links

AssetMantle - https://github.com/AssetMantle/genesisTransactions/tree/main/test-mantle-1

Cheqd:


Unable to view default prometheus consoles visualization

What did you do?
Try to view the default prometheus consoles in my browser. I did try:

<prometheus.url>/consoles/index.html.example
<prometheus.url>/consoles/node.html

What did you expect to see?
I expected to see dashboards as mentioned at https://resin.io/blog
What did you see instead? Under which circumstances?
I saw a single line of text containing open consoles/index.html.example: no such file or directory
Then i tried to open <prometheus.url>/consoles, where i got this response open consoles: no such file or directory. So i assumed prometheus at least knows about the consoles directory. A quick debugging session in the pod showed me the following files and directories.
$ kubectl exec -it -n monitoring prometheus-k8s-0 sh
Defaulting container name to prometheus.
Use 'kubectl describe pod/prometheus-k8s-0 -n monitoring' to see all of the containers in this pod.
/prometheus $ find / -name 'consoles'
/etc/prometheus/consoles
/usr/share/prometheus/consoles
find: /proc/tty/driver: Permission denied
/proc/consoles
/prometheus $ find / -name 'console_libraries'
/etc/prometheus/console_libraries
/usr/share/prometheus/console_libraries
find: /proc/tty/driver: Permission denied
/prometheus $ ls /etc/prometheus/consoles
index.html.example        node-cpu.html             node-disk.html            node-overview.html        node.html                 prometheus-overview.html  prometheus.html
/prometheus $ ls /usr/share/prometheus/consoles
index.html.example        node-cpu.html             node-disk.html            node-overview.html        node.html                 prometheus-overview.html  prometheus.html
/prometheus $ ls /etc/prometheus/console_libraries/
menu.lib  prom.lib
/prometheus $ ls /usr/share/prometheus/console_libraries/
menu.lib  prom.lib

Environment
Manifests:
---
apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
  labels:
    app: prometheus
    prometheus: k8s
  name: k8s
  namespace: monitoring
spec:
  alerting:
    alertmanagers:
    - name: alertmanager-main
      namespace: monitoring
      port: web
  baseImage: quay.io/prometheus/prometheus
  nodeSelector:
    beta.kubernetes.io/os: linux
  replicas: 2
  resources:
    requests:
      memory: 400Mi
  ruleSelector:
    matchLabels:
      prometheus: k8s
      role: alert-rules
  serviceAccountName: prometheus-k8s
  serviceMonitorSelector:
    matchExpressions:
    - key: k8s-app
      operator: Exists
  version: v2.2.1

---
apiVersion: v1
kind: Service
metadata:
  labels:
    prometheus: k8s
  name: prometheus-k8s
  namespace: monitoring
spec:
  ports:
  - name: web
    port: 9090
    targetPort: web
  selector:
    app: prometheus
    prometheus: k8s

Yes, you're absolutely right, we are not setting the flags for the console templates and libraries correctly. We can just start out with a pre-initialized array of flags here: https://github.com/coreos/prometheus-operator/blob/14d647a5c6b42a58dd172e4314baf8f6ca4b87c2/pkg/prometheus/statefulset.go#L289
The two flags we would want to add here are:

-web.console.templates=/etc/prometheus/consoles
-web.console.libraries=/etc/prometheus/console-libraries

As @allisonking notes, this issue still exists. The fix is to change line https://github.com/coreos/prometheus-operator/blob/master/pkg/prometheus/statefulset.go#L299
from
"-web.console.libraries=/etc/prometheus/console-libraries",

to
"-web.console.libraries=/etc/prometheus/console_libraries",

This is a good first-time contribution to the project.


Unable to extract uploader id

Checklist

[x] I'm reporting a broken site support issue
[x] I've verified that I'm running youtube-dl version 2021.12.17
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar bug reports including closed ones
[x] I've read bugs section in FAQ

Verbose log

 youtube-dl -v "https://www.youtube.com/watch?v=gVBcX1Sd228" --verbose
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'https://www.youtube.com/watch?v=gVBcX1Sd228', u'--verbose']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Python version 2.7.16 (CPython) - Darwin-20.6.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg 6.0, ffprobe 6.0, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] gVBcX1Sd228: Downloading webpage
ERROR: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 815, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 836, in __extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 534, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1794, in _real_extract
    'uploader_id': self._search_regex(r'/(?:channel|user)/([^/?&#]+)', owner_profile_url, 'uploader id') if owner_profile_url else None,
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 1012, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Description

Run the following  youtube-dl -v "https://www.youtube.com/watch?v=gVBcX1Sd228"
Watch in awe

A nicely presented report but:

[x] I've searched the bugtracker for similar bug reports including closed ones

Learn how by reading #30839 (again?). Hint: known issues.

any help to fix this? thanks

Why not actually read the thread, say https://github.com/ytdl-org/youtube-dl/issues/32289#issuecomment-1582570317, before posting?