Support non-uniform Borders with a non-zero borderRadius

https://github.com/flutter/flutter/blob/9ce3ba314eed296812f2176d7a5bbc66e01ba199/packages/flutter/lib/src/painting/box_border.dart#L462
new BoxDecoration(
    color: color,
    border: new Border(
      left: new BorderSide(color: color),
      top: new BorderSide(color: color),
      bottom: new BorderSide(color: color),
    ),
    borderRadius: new BorderRadius.only(
      topLeft: new Radius.circular(radius),
      bottomLeft: new Radius.circular(radius),
    ),
)

Why can't I do this.
I get this error:
══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
A borderRadius can only be given for uniform borders.
'package:flutter/src/painting/box_border.dart': Failed assertion: line 462 pos 12: 'borderRadius ==
null'

Either the assertion indicates an error in the framework itself, or we should provide substantially
more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
https://github.com/flutter/flutter/issues/new

When the exception was thrown, this was the stack:

The following RenderObject was being processed when the exception was fired:
RenderDecoratedBox#9302a relayoutBoundary=up6
creator: DecoratedBox ← Container ← Listener ← _GestureSemantics ← RawGestureDetector ←
GestureDetector ← _CupertinoSegmentControlItem ← Row ← Padding ← Column ← CupertinoSegmentControl
← MediaQuery ← ⋯
decoration: BoxDecoration
RenderPadding#09d88 relayoutBoundary=up7 NEEDS-PAINT
RenderParagraph#85b48 relayoutBoundary=up8 NEEDS-PAINT

Flutter Doctor
[✓] Flutter (on Mac OS X 10.13 17A405, locale en-GB, channel master)
    • Flutter at /Users/theobouwman/Development/flutter
    • Framework revision ad72c78342 (19 hours ago), 2017-10-16 10:58:39 -0700
    • Engine revision 7c4142808c
    • Tools Dart version 1.25.0-dev.11.0

[✓] Android toolchain - develop for Android devices (Android SDK 26.0.1)
    • Android SDK at /Users/theobouwman/Library/Android/sdk
    • Platform android-26, build-tools 26.0.1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)

[✓] iOS toolchain - develop for iOS devices (Xcode 9.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.0, Build version 9A235
    • ios-deploy 1.9.2
    • CocoaPods version 1.3.1

[✓] Android Studio (version 2.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)

[✓] IntelliJ IDEA Ultimate Edition (version 2017.2.5)
    • Flutter plugin version 17.0
    • Dart plugin version 172.4155.35

[✓] Connected devices
    • iPhone X • 6EE42D9C-C0E5-4E0B-AB0C-AC343B53C4EF • ios • iOS 11.0 (simulator)

The first line of the error message gives you the answer: "A borderRadius can only be given for uniform borders."

(The reason being, there's no real separation between the "top" and "left" borders if there's a "topLeft" corner.)

okay I understand. but how could I accomplish my needs?

What are your needs?

I want to have a top, left and bottom border with a topleft and bottomleft borderRadius.
The cupertino_segement_control plugin I created (https://github.com/theobouwman/flutter_cupertino_segment_control/blob/master/lib/cupertino_segment_control.dart#L19) is currently limited to 3 items because I cannot find a way to create a BoxDecoration with 3 borders and 2 rounded corners.

Can you post an image showing how it should render?

Guess you can close this, right?

Is it something like this that you want?

I've created a CustomRoundedRectangleBorder class for this, perhaps it'd be nice to have this in Flutter.
@Hixie Do you think that'd go through as a PR?

That'd be nice. PR will get a higher chance of approval if you add some documentation. Is this CustomRoundedRectangleBorder available anywhere, on your git perhaps?

@jeroen-meijer I've actually filed the PR yesterday. You can find it here: https://github.com/flutter/flutter/pull/17441

Has this been fixed?
I've encountered a similar problem. Except in my case I can create a custom BorderRadius but it hides text completely that should be in the middle..

Is there a solution? I think I have the same problem

The same is true for log printed information

We don't currently support, out-of-the-box, having colors on individual sides when there's rounded corners, because we don't really know what that means. Check out the code in this PR, though, which @bramvbilsen mentioned above: https://github.com/flutter/flutter/pull/17441/files
It may be of use. It would be great if someone made it into a package!

I get that if you specified a border radius on a particular corner and the border on the 2 adjacent sides were different then it is kind of undefined what it should do.
However if I specify a border radius on a corner and the border specified on the 2 adjacent sides are the same, that should be allowed and is defined. You simply do the same thing for that corner that you would do in the uniform case.
So if I specify only bottom left and bottom right rounded corners why should it matter if only the top border is different?

I too would like to have this feature.
I would like to have the bottom one possible but I'm getting blocked with the borderRadius requiring uniform borders.

If you just want to implement the following border with the rounded corners for Container then you can use LinearGradient.

Please see my implementation:
Container(
          decoration: new BoxDecoration(
              gradient: new LinearGradient(
                stops: [0.02, 0.02],
                colors: [Colors.red, Colors.white],
              ),
              boxShadow: [AppTheme.Decorations.containerShadow],
              borderRadius: new BorderRadius.all(const Radius.circular(6.0))))

Even defining corners one by one leads to this error.
Have not checked the Flutter codebase for this, but it should be easier than checking the uniformity border. Just leave the control to the user, and instead of checking if the border is uniform, just check which corner does not meet criteria and throw an error for that corner.

@valerybodak  thanks :) works like a charm ^^
i found also some other aproach for setting Borders and Corners sepearated
https://stackoverflow.com/a/58141303

This should be added to the main Flutter library, or normal Containers should be allowed to paint different borders if rounded+colored. Having to change widget upon trying to make a border curved isn't ideal.

Agreed with @ozc.
If I don't have a border radius on any of the corners from a side I don't want to show, where is the problem? Instead of checking uniformity on border width or colors, checking the criteria of each corder should do the trick.
I'm facing a similar problem than @mdnpascual

Same problem here, I need top left and top right border radius, but I don't want any bottom border. Can't see any reason not to allow this :
BoxDecoration(
  border: Border(
    right: BorderSide(width: 1.0, color: Colors.blue),
    left: BorderSide(width: 1.0, color: Colors.blue),
    top: BorderSide(width: 1.0, color: Colors.blue),
  ),
  borderRadius: BorderRadius.only(topLeft: Radius.circular(6.0), topRight: Radius.circular(6.0)),
)

This one is a very common use-case, but sadly not supported yet.
I'm getting this;

But I want to remove the right border completely.
Workaround:
Container(
                          decoration: BoxDecoration(
                            border: Border(
                              top: BorderSide(width: 2.0, color: Colors.white),
                              bottom: BorderSide(width: 2.0, color: Colors.white),
                              right: BorderSide(width: 2.0, color: Colors.white),
                            ),
                            borderRadius: BorderRadius.only(topLeft: Radius.circular(30), bottomLeft: Radius.circular(30)),
                            color: Colors.transparent
                          ),
                          child: FlatButton(...),
                        )

I know I am late but for those who still have the same problem got to this site and you will find your answer https://stackoverflow.com/questions/56928862/flutter-rounded-rectangle-border-with-different-colours-for-each-side

The Border system is entirely extensible; I encourage everyone who has specific needs here to write a custom ShapeBorder subclass that does what you would like and post it as a package on pub.dev.
Here's an example of a different shape as a pub package:
https://pub.dev/packages/superellipse_shape
The code is pretty straight forward:
https://github.com/Salby/superellipse_shape/blob/master/lib/superellipse_shape.dart

Still needs to be fixed

@shamilovtim yup, that's why it's still open. We haven't fixed this yet because it's not 100% clear how to fix it without making this a very elaborate solution and we'd rather that elaborate borders be done in packages (there's lots of sample code above in this bug if anyone wants to make such a package).

If it's so complex that you can't officially support it but so easy that just anyone can plop down a third party package with some copy and paste then we've got a bit of a contradiction

It's not complicated in either case, it's more that there are many different ways you could do it, and we'd rather the framework didn't end up being a one-size-fits-all swiss army knife, but rather a solid base on which to build things. (The elaborate solutions such as those described earlier in this bug are relatively simple, code-wise.)

  Widget doubleColorMarginBackground(Widget child) {     return Container(         child:             Container(decoration: BoxDecoration(color: lyveWhite), margin: EdgeInsets.all(6), child: child),         margin: EdgeInsets.all(6),         decoration: new BoxDecoration(             gradient: new LinearGradient(stops: [0.5, 0.5], colors: [Colors.blue, Colors.red]),             borderRadius: new BorderRadius.all(const Radius.circular(6.0))));   }

I see this is still open 2 years later. As @Hixie explained, the border system is entirely extensible. I made a PR for creating non-uniform borders a while ago, but it did not get accepted because as discussed above, it'd make more sense to make a package out of it. Whether you agree with that or not, the code for the PR is still available, so if someone really needs it, you can get the code (not tested since I made the pr) here: https://github.com/flutter/flutter/pull/17441
I never ended up making it a package, but feel free to do so.

I fully admit to not understanding why each corner could be different radii. The classic example is a simple little box with top left and top right corners radiused at, say, 10, while the bottom right and bottom left are radiused at 0 (square). Not really understanding why this won't work in a container's decoration definition... especially considering the corners are explicitly named.
          /* borderRadius: BorderRadius.only(
              topLeft: Radius.circular(10),
              topRight: Radius.circular(10),
              bottomLeft: Radius.circular(0),
              bottomRight: Radius.circular(0),
            ), */

@chornbe Can you post a screenshot of what you'd like it to look like? See also some of the earlier comments here with sample code and suggestions that people create packages for this.

Yeah, here's a snippet from a screen cap. In the highlighted area, left, is how I did it - close enough for my liking, for this rev-1 rewrite (replacing a native iOS / Swift app and a React Native Android app).
The highlighted dropped-in part on the right is what I'm going for. It seems I can have some curved corners with a uniform border, or I can have border on some sides (with no radius corners), but no both.
What you see there is really three containers; a transparent overall container, the tab container (with the next), and an AnimatedContainer below it for the body. When you tap the tabbed-looking container, the lower container increases in side and appears to slide up.

Ah, I see. For that I would just create a new ShapeBorder class that does the path you want.

Ah, subclass it as its own thing, and draw the path?

Yup. There's a bunch of examples of classes that implement ShapeBorder in the framework. Mostly in the painting library I think.

Also, after reading through the comments, if I could suggest something...? I assume the vertical and horizontal lines are drawn independently of each other as paths or whatever drawLine(...) function the platform and layers under it provide...? , And if there are border radii, they too are drawn as arcs, independently? If so, maybe a future Border (et al) expansion could add/include not only border:(...) properties for top, bottom, left, and right, but could also have addressable topLeft:(...), topRight:(...), bottomleft:(...), and bottomRight:(...) arcs or paths that have their own sets of properties.  They could simply be ignored, individually, if the radius is null or 0 for any given one. Given that, the example in bramvbilsen's post above would be fairly trivial to draw.
#foodforthought

If the styles are uniform we use this code (which does it all as one path):
https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/painting/box_border.dart#L211
If the styles are not uniform we use this code (which doesn't support rounded corners):
https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/painting/borders.dart#L675

Just published a simple package, directly based on @bramvbilsen's code, check here for anyone interested: https://pub.dev/packages/custom_rounded_rectangle_border

How to add Border Radius to Container in Flutter ?

I ended using ClipRRect. Hope we get this feature on a container
ClipRRect(       borderRadius: BorderRadius.only(         topLeft: _topRadius,         topRight: _topRadius,       ),       child: Container(         decoration: BoxDecoration(           color: Colors.white,           border: Border(             bottom: BorderSide(color: AppColors.bostonBlue),           ),         ), ),

If anyone is still looking for an alternative solution, check out this package: https://pub.dev/packages/morphable_shape.

still not fixed. no way to disable/hide/recolor any single border if radius is applyed

I want draw something like that

Here is my code, but it throw the fu*king error: "A borderRadius can only be given for a uniform Border...."
BoxDecoration(
  border: Border(
    top: BorderSide(color: Colors.red),
    left: BorderSide(color: Colors.red),
    right: BorderSide(color: Colors.red),
    bottom: BorderSide(color: Colors.transparent),
  ),
  borderRadius: BorderRadius.only(
    topLeft: Radius.circular(8),
    topRight: Radius.circular(8),
  ),
  color: Colors.white,
)

So I edited the bottom border "Colors.transparent"-> "Colors.red" just like the line above, It worked fine.
I don't know what they think when they do that? Very very stupid!!!

An edge case that makes sense to be supported within BoxDecoration is if the corners with a non-zero border radius are uniform even if the border as a whole is not uniform. I believe this is @chornbe use case as well. I understand there are ways to implement this already mentioned above, but this case feels like a limitation of the implementation, whereas not supporting rounded corners between two mismatched borders makes sense because someone would have to define the behavior there.
Example:
BoxDecoration(
    border: Border(left: greenBorder, right: greenBorder, bottom: greenBorder),
    borderRadius: const BorderRadius.vertical(bottom: Radius.circular(8)),
)

Agreed, yes.
The argument will come back as “what to do with rounded corners” (I’ve had this conversation more than once LOL), and IMO, you simply do that by (default) clockwise drawing (optional counter clockwise?). So if you have rounded borders, to create an example, the top-right rounded corner would be drawn with the same parameters as the top edge, the bottom right drawn the same as the right, the bottom left drawn the same as the bottom, and the top left drawn as the left.

On Aug 11, 2021, at 3:08 PM, Riley Fitzpatrick @.***> wrote:
An edge case that makes sense to be supported within BoxDecoration is if the corners with a non-zero border radius are uniform even if the border as a whole is not uniform. I believe this is @chornbe https://github.com/chornbe use case as well. I understand there are ways to implement this already mentioned above, but this case feels like a limitation of the implementation, whereas not supporting rounded corners between two mismatched borders makes sense because someone would have to define the behavior there.
Example:
BoxDecoration(
border: Border(left: greenBorder, right: greenBorder, bottom: greenBorder),
borderRadius: const BorderRadius.vertical(bottom: Radius.circular(8)),
)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/flutter/flutter/issues/12583#issuecomment-897079797, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABZHS6MSQIWEL3QJWEMNPADT4LDDPANCNFSM4D7QTF7A.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email.

This is still an annoying little limitation in Flutter SDK, imo at least. For example ToggleButtons paints its own widget with borders to avoid this limitation.
I recently as fun challenge asked people on Twitter to try draw this in Flutter:

Just to see what FlutterDev's would come up it. Here is the Tweet: https://twitter.com/RydMike/status/1431999590547476483
The initial reaction was, I can just do this with BoxDecoration easily, until they hit the limitation and start scratching their heads for workarounds and hack together some really wonderful options in the thread.
I collected all reasonably working workaround solutions in this DartPad:
https://dartpad.dev/?id=691628e75729aa75d3143740f87e91b3&null_safety=true
You can get it in a Gits here too: https://gist.github.com/rydmike/691628e75729aa75d3143740f87e91b3

I did not know about this old issue post about this issue when I made the Tweet. I actually found found this issue when I was searching for a mentioned PR in the Tweet thread, a PR that is supposed to include a fix for this issue. I did not find any such PR, but maybe there is one, or perhaps the person was referring to this case: https://github.com/flutter/flutter/pull/17441 that includes a rather nice solution that was later published as a package too.

I did it by using a stack.  But it worked. Yay, more code!!! :(

On Sep 6, 2021, at 10:00 AM, Rydmike @.***> wrote:
This is still an annoying little limitation in Flutter SDK, imo at least. For example ToggleButtons paints its own widget with borders to avoid this limitation.
I recently as fun challenge asked people on Twitter to try draw this in Flutter:
https://user-images.githubusercontent.com/39990307/131267671-e711336d-8149-4330-a0e6-2fd76608c0fd.png
Just to see what FlutterDev's would come up it. Here is the Tweet: https://twitter.com/RydMike/status/1431999590547476483 https://twitter.com/RydMike/status/1431999590547476483
The initial reaction was, I can just do this with BoxDecoration easily, until they hit the limitation and start scratching their heads for workarounds and hack together some really wonderful options in the thread.
I collected all reasonably working workaround solutions in this DartPad:
https://dartpad.dev/?id=691628e75729aa75d3143740f87e91b3&null_safety=true https://dartpad.dev/?id=691628e75729aa75d3143740f87e91b3&null_safety=true
You can get it in a Gits here too: https://gist.github.com/rydmike/691628e75729aa75d3143740f87e91b3 https://gist.github.com/rydmike/691628e75729aa75d3143740f87e91b3
I did not know about this old issue post about this issue when I made the Tweet. I actually found found this issue when I was searching for a mentioned PR in the Tweet thread, a PR that is supposed to include a fix for this issue. I did not find any such PR, but maybe there is one, or perhaps the person was referring to this case: #17441 https://github.com/flutter/flutter/pull/17441 that includes a rather nice solution that was later published as a package too.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/flutter/flutter/issues/12583#issuecomment-913671710, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABZHS6JK6ZAGCXEYN5XFN2LUATCPJANCNFSM4D7QTF7A.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Still waiting for a solution on this. This is a pretty basic requirement. -_-

Years after working on Flutter this most basic of tickets still isn't resolved.  Made the right bet on React Native.

I've retired all but on of our flutter projects, rewritten in native code. I'm done - absolutely, wholly, completely done - with cross platform going forward. I don't care if this or anything else ever gets fixed in Flutter. Typical Google.

Lol. Yeah, I have also moved to jetpack compose recently for my new projects and tbh I'm in love with jetpack compose.
And now Flutter UI designing feels dull and over-complexed.
I was just waiting for this fix so that I can add this type of design also to my calendar package:

Current
Hoping for after this fix

This is getting off-topic, but I'll just mention that after working for 2+ years with Flutter, this is no longer something I feel as a big limitation. It did feel weird coming from web development to not have the ability to set different borders out of the box, but workarounds are pretty easy to implement once you get used to it.
Not even mentioning there's a solution from within this thread as well.
While I agree it's taking the Flutter team a long time to merge this one in / fix this specific need, it's by no means a deal breaker if you know what you are doing.

Agreed. The strengths and the problems with Flutter are both way bigger than this.

I know its not a deal breaker but still adding extra code in the app for something so trivial looks pretty bad.
Also, solutions suggested above are great but none of then really looked great in my case where there is too much complexity with styling already going on.
For example the above solutions doesn't work great if the code is written with Ink widgets in mind as most are good replacement for container but container affects ripple effect for which then I had to add one more workaround for ripple. So you can see why I feel this way.
But yeah I can totally make it work but then the code looks pretty bad.
So, once this gets fixed it will be just few line code.

It's never getting fixed. "Code looking bad"...? All code looks bad; our entire existence is to minimize the bad and make it readable for the next guy. Just write the code, wrap it in a widget, done. Who cares how it looks as long as it works and isn't a performance dog. No one's going to look at that one stupid hack and not hire you ever again because you found a way to do a thing that the language and platform didn't do intrinsically - which is also 100% of our job. Our entire job is to make the Taj Mahal from legos. Even the Taj Mahal has areas that will always need work. If you're stressing about code that doesn't "look good" doing a custom border, I'd say you solved all the real problems and you're just being pedantic.

It's never getting fixed. "Code looking bad"...? All code looks bad; our entire existence is to minimize the bad and make it readable for the next guy. Just write the code, wrap it in a widget, done. Who cares how it looks as long as it works and isn't a performance dog. No one's going to look at that one stupid hack and not hire you ever again because you found a way to do a thing that the language and platform didn't do intrinsically - which is also 100% of our job. Our entire job is to make the Taj Mahal from legos. Even the Taj Mahal has areas that will always need work. If you're stressing about code that doesn't "look good" doing a custom border, I'd say you solved all the real problems and you're just being pedantic.

Yeah totally agree with you on that man.
No issues I will create a package myself fixing the caveats in above solutions and then I will share it with the community.

any updates here ? 5 years long...

Still not fixed?

It's strange that this issue is yet to get a fix after 5 years.

Welcome to Flutter development. :\

On Jan 4, 2023, at 11:03 AM, TheStrongest @.***> wrote:
It's strange that this issue is yet to get a fix after 5 years.
—
Reply to this email directly, view it on GitHub https://github.com/flutter/flutter/issues/12583#issuecomment-1371115542, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABZHS6O354DFE2R2C6WJLF3WQWNMPANCNFSM4D7QTF7A.
You are receiving this because you were mentioned.

I just want to note that this issue is with BoxBorder, but there is also ShapeBorder that does not have this issue (I am using that on another project that I want the shape rounded on 2 corners). So perhaps that is usable for some of the use cases.

is there any updates on this issue?

For hiding some borders, Stack with white layer above saved my month.

A very old-school css solution from ancient times when rounded corners were made by 4 background images in 4 divs.
The code above gives top-rounded container with no bottom border:
Container(
                  color: AppColors.appBar,
                  child: Container(
                    height: 20,
                    decoration: const BoxDecoration(
                      color: Colors.red,
                      borderRadius: BorderRadius.vertical(top: Radius.circular(22), bottom: Radius.circular(0)),
                      // color: AppColors.scaffold
                    ),
                    child: Container(
                      height: 20,
                      margin: const EdgeInsets.only(top: 1, left: 1, right: 1),
                      decoration: const BoxDecoration(
                        color: Colors.green,
                        borderRadius: BorderRadius.vertical(top: Radius.circular(20), bottom: Radius.circular(0)),
                        // color: AppColors.scaffold
                      ),
                    ),
                  ),
                ),

I (finally) made a package for a shape border that does non-uniform borders. https://github.com/bernaferrari/non_uniform_border
I'm also submitting a PR for adding it into Border (BoxDecoration). I don't like, I prefer ShapeDecoration, but then you can choose between using my package or BoxDecoration.


React typings not working after installation

React typings throws errors in terminal after installation via typings
error TS2320: Interface 'Element' cannot simultaneously extend types 'ReactElement<any>' and 'ReactElement<any>'.
  Named property 'type' of types 'ReactElement<any>' and 'ReactElement<any>' are not identical.

ERROR in /Users/ajvivek/Dev/ES6/motionize-code/typings/globals/react/index.d.ts
(2375,5): error TS1036: Statements are not allowed in ambient contexts.

ERROR in /Users/ajvivek/Dev/ES6/motionize-code/typings/globals/react-dom/index.d.ts
(69,5): error TS2309: An export assignment cannot be used in a module with other exported elements.

ERROR in<EMAIL_ADDRESS>(19,31): error TS2315: Type 'DOMAttributes' is not generic.

ERROR in<EMAIL_ADDRESS>(44,60): error TS2315: Type 'DOMAttributes' is not generic.

ERROR in<EMAIL_ADDRESS>(2368,13): error TS2403: Subsequent variable declarations must have the same type.  Variable 'a' must be of type 'HTMLProps<HTMLAnchorElement>', but here has type 'HTMLProps<HTMLAnchorElement>'.

ERROR in<EMAIL_ADDRESS>(2369,13): error TS2403: Subsequent variable declarations must have the same type.  Variable 'abbr' must be of type 'HTMLProps<HTMLElement>', but here has type 'HTMLProps<HTMLElement>'.

index.d.ts
/// <reference path="globals/react/index.d.ts" />
/// <reference path="globals/react-dom/index.d.ts" />

Is anyone facing this issue?

I figured out the issue finally.
I went on to install types once via tsd and then typings that led to duplicate typings.
Deleted the @types folder to resolve my issue.


Incorrect IEEE citation style from CSL?

Hi. I am using pandoc and ieee.csl for an IEEE conference and the generated citations lack square brackets and the bibliography is incorrectly formatted.
Please find the original issue I reported to CSL here.
My pandoc version is:
pandoc 1.10.1
Compiled with citeproc-hs 0.3.6, texmath <IP_ADDRESS>, highlighting-kate 0.5.1.

I see the original issue (no brackets around the citation number when using ieee.csl) in pandoc 1.13.1. (It's difficult to install an older version of pandoc side-by-side in order to verify on the same machine that this is a regression, but it seems so.)
For this input file:
A survey can be found in [@Doty2013].

This command:
pandoc -t plain test.mdown --bibliography=library.bib --csl=ieee.csl
returns:
A survey can be found in 1.

when the expected output is:
A survey can be found in [1].

For the time being, I'm using the workaround (edits to the CSL file) described by sssimon in https://github.com/citation-style-language/styles/issues/607.

I see the same issue with pandoc 1.13.1 described by @npdoty

pandoc 1.13.1 with IEEE style "IEEE (with URL)" from zotero here, same issue.

Interesting.  We've been testing with an older version of the style, tests/ieee.csl.  It works fine with that version, but I confirm, not with the new version.
From what I can see at a first glanec, here's the salient difference.  New version has:
     <layout delimiter=", ">
       <group prefix="[" suffix="]" delimiter=", ">
         <text variable="citation-number"/>

Old version had:
     <layout prefix="[" suffix="]" delimiter="], [">
       <text variable="citation-number"/>

So I conjecture that prefix and suffix aren't working on group elements.

just chiming in to confirm that the current CSL style is correct in terms of producing IEEE output: The old version would do [1-3], the current one [1]-[3], which, bizarre as it looks to me, is what IEEE wants, see top of p. 34 here.
We're using a ton of affixes on groups in CSL styles, so if that's a general issue I'd have expected more error reports.

I am still getting this problem of @bla2019 showing up as 1 rather than [1] in Pandoc 2.7. The strange thing is that the exact same citation, when run with the ACM.csl works perfectly. So it really looks as if this can be fixed in the CSL file.
A post from a discussion on the Pandoc email list gave a lua filter that achieves this result as well:
function Cite (cite)
  for _, c in pairs(cite.citations) do
c.mode = pandoc.NormalCitation
  end
  return cite
end

Paste this code into a .lua text file and in the pandoc command, do --lua-filter=luaFile.lua before citeproc.


Windows access violation with Instant.from_utc()

Trying to call Instant twice in a row hard-crashes the interpreter. I created a fresh conda environment and got this result:
(adb) D:\forks\IT\assetdb>python
Python 3.11.9 | packaged by conda-forge | (main, Apr 19 2024, 18:27:10) [MSC v.1938 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

>>> from whenever import Instant
>>> Instant.from_utc(1970, 1, 1)
Instant(1970-01-01 00:00:00Z)
>>> Instant.from_utc(1970, 1, 1)
Windows fatal exception: access violation

Current thread 0x0000527c (most recent call first):
  File "<stdin>", line 1 in <module>

I was initially assuming that my date computation was before 1.1.1970 leading to a negative unix timestamp + crash, but in this case there must be something else.

Thanks for posting! Looks like it's something else indeed.I'll have a look

It shouldn't have anything to do with the system time settings BTW, from_utc is just a simple object instantiation. Looks like the problem may be incorrect object deallocation, which can be tricky to reproduce.
In any case I wasn't so lucky to be able to reproduce, even on a matching conda/python/windows environment:
 PS C:\Users\acbov> python
Python 3.11.9 | packaged by Anaconda, Inc. | (main, Apr 19 2024, 16:40:41) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from whenever import Instant
>>> Instant.from_utc(1970, 1, 1)
Instant(1970-01-01 00:00:00Z)
>>> Instant.from_utc(1970, 1, 1)

Do you get the same problem with other values? Or other classes (e.g. Time(0))?

So weird...
>>> from whenever import Time
>>> Time(0)
Time(00:00:00)
>>> Time(0)
Windows fatal exception: access violation

Current thread 0x00005a6c (most recent call first):
  File "<stdin>", line 1 in <module>

Hmmm. What if you do:
>>> Time(0)
>>> object()  # clears the reference to the previous object

That at least narrows the problem down to deallocation

>>> Time(0)
Time(00:00:00)
>>> object()
Windows fatal exception: access violation

Ok I have an idea. Can you try the 0.6.8rc1 release of whenever? It should be out once this workflow completes

Seems to work!
>>> fastuuid.uuid4()
UUID('a66b265a-8901-4e8c-a72e-9ec0a08a66bd')
>>> object()
<object object at 0x000001FE46156920>

>>> from whenever import Time
>>> Time(0)
Time(00:00:00)
>>> Time(0)
Time(00:00:00)
>>> Time(0)
Time(00:00:00)
>>> from whenever import Instant
>>> Instant.from_utc(1970,1,1)
Instant(1970-01-01 00:00:00Z)
>>> Instant.from_utc(1970,1,1)
Instant(1970-01-01 00:00:00Z)

Excellent. A propert release (0.6.8) should be out once this workflow finishes.

That's amazing! Was already able to continue the refactoring to the latest version which doesn't use _AwareDateTime anymore and replaced it with Instant

Happy to hear it. Thanks for taking the time to post 👍


Absolute arrow tail on annotations

Adding the ability to specify the tail of an annotation arrow in absolute point in grid terms rather than relative pixel offset terms.
This allows the creation of trendlines which will scale correctly when the plot is zoomed.

When i run the tests locally, two of them fail on my machine although they fail for me on a fresh pull from plotly master so I do not believe my code caused this.
I have not added any tests for my implementation. I would like to but I don't really know where the appropriate place is for them (and should they be jasmine vs image based). I sort of was expecting to find /test/jasmine/tests/annotation_test.js but didn't find one. Some other jasmine tests seem to specify annotations but aren't specifically attempting to test annotations. Any guidance on this would be appreciated so that I can add some appropriate tests.

Great looking PR at first glance - I'll have a closer look through sometime over the weekend.
Regarding tests, it would be useful to have both an image and jasmine test. Feel free to add a new file annotations_test.js and I'm sure we will also add some as issues arise as well. You can just add one of these absolute arrows to the existing annotations.json image test mock though.

Good catch on the editing bit - i hadn't considered that. The behavior was such that the tail would stay fixed and the arrow head would move. When thinking about how people are likely to want to 'edit' a trendline, it seems to me to be more likely that they'll want to move it out of the way a bit or maybe compare it to some other part of the data and as such, the slope should remain fixed. I've amended my commit to reflect this. I didn't add code to do this in the similar code for dragging the text. My reasoning is that I believe the reason to drag the text is to move it out of the way but for a trendline (given the above behavior of maintaining slope) this isn't really a use case. In fact if people mostly are using this functionality for a trendline, its likely that they won't attach text to the arrow at all. Still, it would be nice if dragging the text when absoluteArrowTail=true was equivalent to dragging the arrow itself but i think that writing the code to do that will either a) be noisy relative to the value or b) require a large refactor to avoid code duplication/noise.
Thoughts?
I also added tests.
Also is there a standard for js version - or more specifically can i use es6 constructs such as 'let'? I'm guessing no because i don't see usage anywhere else and probably you want some older browser compatibility.

Also can you let me know the publishing schedule for plotly.js? I'm wondering how long after we get this accepted to expect to see the changes on npm.

We do not use es6 on plotly.js unfortunately, so no let.
Editing arrows is mainly used in the www.plot.ly webapp, so we need to maintain consistency in behaviour for it - for arrows such as this, I do not anticipate that they will only be used for trendlines, so an ideal behaviour would be when dragging the head or tail, changing either the x/ax or y/ay the same as is done now, but setting the value appropriate to the absoluteArrowTail setting.
Our release schedule is not exactly regular, but when we have what we consider a "good" state with enough substantial changes, we will make a release - typically this is every week or two. Our last release was 11 days ago so if this is wrapped up in the next day or two, we'll likely have it out either tomorrow or Wednesday, or Monday (we don't like to release on Fridays).

Also, could you make a pull request on the plotly/plotly.js repo please? That way, it's easier for us to pull down the branch to test and keep track of things.

ok so i went through with the text and editing and so forth and i think i have it all working as desired. I'm getting really wonky/inconsistent behavior with the tests but i'm getting those intermittent test failures without my changes so I don't think i'm causing them. Please let me know if you can confirm if I am or am not causing any tests to fail.
I've created a pull request to plotly/plotly.js which is logically equivalent to this one so we can move over there.
@mdtusz


[ci] Use stringbuilder instead of concatenation

Good points!  I left this around since we moved to java 8.  Maybe this can be written in a better java 8 way or do you think just the performance enhancement changes would be enough?
Get Outlook for Androidhttps://aka.ms/ghei36

From: Iwao AVE<EMAIL_ADDRESS>Sent: Monday, October 1, 2018 9:51:33 AM
To: mybatis/mybatis-3
Cc: Jeremy Landis; Author
Subject: Re: [mybatis/mybatis-3] [ci] Use stringbuilder instead of concatenation (#1234)
@harawata commented on this pull request.

In src/main/java/org/apache/ibatis/io/DefaultVFS.javahttps://github.com/mybatis/mybatis-3/pull/1234#discussion_r221615664:

     }

     // Check file name

   if (name.startsWith(path)) {

   if (name.substring(0).startsWith(path)) {

For the same reason, name.indexOf(path) == 0.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/mybatis/mybatis-3/pull/1234#pullrequestreview-160304844, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA7ho3Ukmk9NVmZvkReQxLRSbh6L871hks5ugh3lgaJpZM4S6QGI.

I am still learning those cool Java 8 stuff ;)
I didn't measure it, but if there is a performance gain, it may be worth the change. 👍

@harawata Finially got your suggestions applied.

Thank you, @hazendaz !


Removed a duplicated flag

What and why?
The line --annotation-namespace="${ANNOTATION_NAMESPACE}" \ appears twice in entrypoint.sh
Testing Steps
Please provide adequate testing steps (including screenshots if necessary).
Include any test fixtures or sample configurations in your commit.

[ ] Added unit tests for this feature (make test)

Reviewers
Required reviewers: @byxorna
Request reviews from other people you want to review this PR in the "Reviewers" section on the right.

:warning: this PR must have at least 2 thumbs from the MAINTAINERS.md of the project before merging!

Thank you


Render gltf model with morph targets failed

Sandcastle example: https://sandcastle.cesium.com/#c=hVVtb9s2EP4rhPfBCmBTduK0nesGQ7KuG7a0WZNtH+qioKSzxIUiCZLyS4v89x1JyZHjYBWQgMe7e+6F95zXzJA1hw0Y8oZI2JArsLyp6d/hLlkO8iBfKekYl2CWg5PXS7mUa/TTynLHlUTP1uuKGYcnJs/oyqj6ZygNgE2WkpDx9PSMTl7OZi+mP478xWxGJ+eTs5eTF0GcTvBbSo/usStgBZflI/Q1cxV16iNeM2mT6dl5Z6q5yys0nLSyUUL0xEo/Ke3XCH3j3T6ibdLGGkWkUQDowJXhgKUflnlnMIWVMrWl1ROwPxvmwEg0D1V3LQolYiaxwAiNuNztEDX2nwaZg6WsKJJvfe/5IU4vp3lfCMpaFSDmJPgT0hg+J8PKOW3naWrYhpbcVU3WWDA5vim60lzV6e+VUVLZd0Y1Oi3F3S/jW1ZrAeNrD2fTmlksKz2lk/RaGV3dGF5jQmuwd2Bd8HhOQUvhVsNRzKXmktdNfcO3IG75V5iT6emrTse2XnebM4H3p34WguYB/z+0LYtdcobl91C87ZoXuxgsNlwWakP34xwPr/cKOPTxLqtG5uFt84rJEkIJ/wAvK0cSHJl4PIndbBOwOUigel8n/fJ4/jT9HPXvDNMV/WIajFTDe2xi0NWP+Bbz+LQP8RnL9Pngm1gXIoXGo00IvQlGczKh574hodp2Fu+lyu9V42Jjkr1rbFrEc0qJjPmWFCpvav/oJbi3AvzxcvdbgTxvbSK/n2IzrcXuEruIo24fY4w65Gd8fNo+yocMR23NMgF9v+UgloThgqFtMpsbnkFy9BAnvo5bJoscZ1CAZ8ddjHrZOOd5NsCrOPdkg9NNcKC14DkS0V8j0HIwIvuXTtrnjK35Pgn7NPz+mvPf0arzX1x3s27d+S+svJOOAS1vDxnrKkT+11JlyhS2gZJIxshJz610xXLImUaiZcOHwJj48IS0xBmMBgvrdgIuurA/8Vor43A3iITS1AGiYq9smjXILNwH1nYY/vuhm55v3Q0hGY5aibtCFnNiyowls9MR6f4m9JX372w1dhLHZk5metu7zpQpwIwNrs/GHiofjkJzqRvXT2ANxuELizETvMSHqXlRCDiOOnZK4z45iNypMoXjUx9q29CLtN+yRcHXhBdvnvkxJLlg1qJm1Yiw1JaDi0WK9keuQoUfig+YuWA7b1ZNL/6Il5TSRYri8557Zu5f0OsuIoH6LqiIjXI7DehoPJMwR1y8KI1x3OjEi2yLYifhXtdexGPBHBtnyHKU10w0uIljkBEJ4l8aLfByGKIM+wkdxHWwdR4Z24HS+f8h7zH6dfwH
Browser: 104.0.5112.101 (Official Build) (x86_64)
Operating System:macOS Version 12.4 (Build 21F79)

I’m trying to load gltf model with morph targets and modify morph weights for effects like facial expressions. However, it works for models with simple morph targets, and throw render error for models with lots of morph targets.
As can be seen in the example, the morph weight can be adjusted with the slider for the default model. Yet, when clicking the button to load a more complicated model, the render stops with an error:

I wonder what's the limit for attributes and is there any workaround to support such model.
Thanks.

Just as a cross-reference: The Morph Targets section of the glTF spec explicitly says

The number of morph targets is not limited. Client implementations SHOULD support at least eight morphed attributes. This means that they SHOULD support eight morph targets when each morph target has one attribute, four morph targets where each morph target has two attributes, or two morph targets where each morph target has three or four attributes.

This is almost certainly justified by limitations for the number of attributes in shaders. The "Too many attributes" message and the name in the error message, a_targetNormal_6, suggest that there are be morph targets with vertices+attributes, and at least 7 of them, which causes the limit to be exceeded.

Just as a cross-reference: The Morph Targets section of the glTF spec explicitly says

The number of morph targets is not limited. Client implementations SHOULD support at least eight morphed attributes. This means that they SHOULD support eight morph targets when each morph target has one attribute, four morph targets where each morph target has two attributes, or two morph targets where each morph target has three or four attributes.

This is almost certainly justified by limitations for the number of attributes in shaders. The "Too many attributes" message and the name in the error message, a_targetNormal_6, suggest that there are morph targets with vertices+attributes, and at least 7 of them, which causes the limit to be exceeded.
EDIT: Looking at the glTF...
          "targets": [
            { "POSITION": 11, "NORMAL": 12 },
            { "POSITION": 13, "NORMAL": 14 },
            { "POSITION": 15, "NORMAL": 16 },
            { "POSITION": 17, "NORMAL": 18 },
            { "POSITION": 19, "NORMAL": 20 },
            { "POSITION": 21, "NORMAL": 22 },
            { "POSITION": 23, "NORMAL": 24 },
            { "POSITION": 25, "NORMAL": 26 },
            { "POSITION": 27, "NORMAL": 28 },
            { "POSITION": 29, "NORMAL": 30 },
            { "POSITION": 31, "NORMAL": 32 },
            { "POSITION": 33, "NORMAL": 34 },
            { "POSITION": 35, "NORMAL": 36 },
            { "POSITION": 37, "NORMAL": 38 },
            { "POSITION": 39, "NORMAL": 40 },
            { "POSITION": 41, "NORMAL": 42 },
            { "POSITION": 43, "NORMAL": 44 },
            { "POSITION": 45, "NORMAL": 46 },
            { "POSITION": 47, "NORMAL": 48 },
            { "POSITION": 49, "NORMAL": 50 },
            { "POSITION": 51, "NORMAL": 52 },
            { "POSITION": 53, "NORMAL": 54 },
            { "POSITION": 55, "NORMAL": 56 },
            { "POSITION": 57, "NORMAL": 58 },
            { "POSITION": 59, "NORMAL": 60 },
            { "POSITION": 61, "NORMAL": 62 },
            { "POSITION": 63, "NORMAL": 64 },
            { "POSITION": 65, "NORMAL": 66 },
            { "POSITION": 67, "NORMAL": 68 },
            { "POSITION": 69, "NORMAL": 70 },
            { "POSITION": 71, "NORMAL": 72 },
            { "POSITION": 73, "NORMAL": 74 },
            { "POSITION": 75, "NORMAL": 76 },
            { "POSITION": 77, "NORMAL": 78 },
            { "POSITION": 79, "NORMAL": 80 },
            { "POSITION": 81, "NORMAL": 82 },
            { "POSITION": 83, "NORMAL": 84 },
            { "POSITION": 85, "NORMAL": 86 },
            { "POSITION": 87, "NORMAL": 88 },
            { "POSITION": 89, "NORMAL": 90 },
            { "POSITION": 91, "NORMAL": 92 },
            { "POSITION": 93, "NORMAL": 94 },
            { "POSITION": 95, "NORMAL": 96 },
            { "POSITION": 97, "NORMAL": 98 },
            { "POSITION": 99, "NORMAL": 100 },
            { "POSITION": 101, "NORMAL": 102 },
            { "POSITION": 103, "NORMAL": 104 },
            { "POSITION": 105, "NORMAL": 106 },
            { "POSITION": 107, "NORMAL": 108 },
            { "POSITION": 109, "NORMAL": 110 },
            { "POSITION": 111, "NORMAL": 112 },
            { "POSITION": 113, "NORMAL": 114 }
          ],

Yup, that's a challenge.

Thanks for the reply.
Yes, I noticed that the gltf I'm using comes with lots of morphing targets, which is needed for delicate facial expressions. I wonder whether there is a way or workaround to modify the implementation in cesium to support such gltf?
Thanks

I have encountered further difficulties for models with many morph targets. I'll see whether it's possible to create a model where the exact error message appears that I'm currently seeing (I think I cannot share the exact model).
But in any case: The specification says

The number of morph targets is not limited. Client implementations SHOULD support at least eight morphed attributes.
...
For assets that contain a higher number of morphed attributes, client implementations MAY choose to only use the eight attributes of the morph targets with the highest weights.

My interpretation of that such a model should still render (maybe with fewer morphed attributes). But it should not crash or cause unrecoverable errors. Maybe there could be an easy fix for this issue to at least prevent the crash...


Russian translations for Voyager's UI

Added Russian translations for Voyager's UI

I don't understand why the tests fails :(

Hi Alex!
First of all it's great that you provide the russian translation, awesome :)
I did the german version and got errors by codeclimate and styleci, too.
I looked into the styleci page of your commit and did not see any suggestions on how to fix them.
strange.
Anyway, the reason might be (in your case, like in mine) maybe this simple thing:

trailing whitespaces at the end of the line

That was the problem to styleci in my case.
so I fixed it simply like that:
https://github.com/the-control-group/voyager/commit/648c20026d9a075f72d3741280fcc7b24d083799
maybe try to fix the whitespaces, see if you get less (or no errors) in styleci.
about the codeclimate:
the maintainers of voyager told me that this can be ignored in this case as it is just a language file and it is pretty normal that there will be similar code to other files (because of the translation keys).
so when styleci was green you should be ready to "get pulled" ;)

Hi @alexelev, great job, thank you!
Please follow @marco-solare suggestion.
After fixing it we will merge it. If you need any help, please let us know.

Thank You @alexelev, travis is your friend now!

Thank you for your help, it's great to be a contributor of this project :)

You're welcome :) It's great to see you on board.
Happy coding!


Disk may be limiting speed - --check-md5 removed

Which version of the AzCopy was used?
10.17.0
Which platform are you using?
Windows
What command did you run?
azcopy copy "https://sa.blob.core.windows.net/container/Data/*?si=xxxxx" "H:\Drive1" --overwrite=prompt --check-md5 NoCheck --from-to=BlobLocal --list-of-files "C:\Users\a\Documents\azcopycmd\files2.txt" --recursive --log-level=INFO
and
azcopy copy "https://sa.blob.core.windows.net/container/Data/*?si=xxxxx" "H:\Drive1" --overwrite=prompt --check-md5 FailIfDifferet --from-to=BlobLocal --list-of-files "C:\Users\a\Documents\azcopycmd\files2.txt" --recursive --log-level=INFO
What problem was encountered?
Hi
We have a VM in Azure that is spec'd as Standard E20ds v5 with the disk my azcopy is downloading to set as Standard SSD LRS
For the life of me I cannot figure out why or how to remove the message (Disk may be limiting speed)
As an example I'm trying to download 10x 15 GB files in one go
I also see the below message appear:
2-sec Throughput (MB/s):
The number that follows the (MB/s): fluctuates, from 250, 430, 950 etc.
As per the above I have ran both commands with and without the md5 chec
I just would like to know if the speeds I'm getting is expected and if the (Disk may be limiting speed) is anything to be concerned about ?
How can we reproduce the problem in the simplest way?
This essentially happens every time I attempt to copy the files
Have you found a mitigation/solution?
No

This indicates that AzCopy has detected that your disk speed is a bottleneck. You cannot disable this message. It is intended to let you know why you are receiving poor throughput.

Sorry I don’t know why this was closed
I have close to 12Gbps throughput with this machine it should take 5 minutes to download.
Is there any way to identify if it’s the disk on the VM ?

Sorry I don’t know why this was closed
I closed this as it's not really an issue with AzCopy per se.

I have close to 12Gbps throughput with this machine it should take 5 minutes to download.
Is there any way to identify if it’s the disk on the VM ?
The azcopy benchmark command can assist with identifying bottlenecks as well.

Sorry I'm running a AZCopy command and its returning this error, it would be good to have this reopened, or should I just raise a Microsoft support ticket ?

Sorry I'm running a AZCopy command and its returning this error

This is not actually an error-- it is a warning, indicating that AzCopy is finding that the disk you're copying from may be bottlenecking the throughput. It will not prevent your transfer from running. This is intended functionality.

azcopy has scanned at source and dest, it just not start the copy, then it tell use that something is limiting speed...it will suddenly start and transfer the files.....
14 files in 10 minutes cannot be right -- and is it really the disk speed? system seems fine, is usable etc....
1373 Files Scanned at Source, 100 Files Scanned at Destination
INFO: Deleting extra object: bmds-data/2023-02-01/NMC6224413.jpg
1373 Files Scanned at Source, 100 Files Scanned at Destination
INFO: Deleting extra object: bmds-data/2023-02-01/NMC6224443.jpg
1373 Files Scanned at Source, 100 Files Scanned at Destination
1373 Files Scanned at Source, 523 Files Scanned at Destination
1373 Files Scanned at Source, 1047 Files Scanned at Destination
0.0 %, 0 Done, 0 Failed, 14 Pending, 14 Total, 2-sec Throughput (Mb/s): 0
0.0 %, 0 Done, 0 Failed, 14 Pending, 14 Total, 2-sec Throughput (Mb/s): 0
0.0 %, 0 Done, 0 Failed, 14 Pending, 14 Total, 2-sec Throughput (Mb/s): 0
0.0 %, 0 Done, 0 Failed, 14 Pending, 14 Total, 2-sec Throughput (Mb/s): 0
0.0 %, 0 Done, 0 Failed, 14 Pending, 14 Total, 2-sec Throughput (Mb/s): 0
0.0 %, 0 Done, 0 Failed, 14 Pending, 14 Total, 2-sec Throughput (Mb/s): 0
0.0 %, 0 Done, 0 Failed, 14 Pending, 14 Total, 2-sec Throughput (Mb/s): 0
0.0 %, 0 Done, 0 Failed, 14 Pending, 14 Total, 2-sec Throughput (Mb/s): 0
0.0 %, 0 Done, 0 Failed, 14 Pending, 14 Total, 2-sec Throughput (Mb/s): 0
0.0 %, 0 Done, 0 Failed, 14 Pending, 14 Total, 2-sec Throughput (Mb/s): 0
0.0 %, 0 Done, 0 Failed, 14 Pending, 14 Total, 2-sec Throughput (Mb/s): 0
0.0 %, 0 Done, 0 Failed, 14 Pending, 14 Total, 2-sec Throughput (Mb/s): 0 (Disk may be limiting speed)
0.0 %, 0 Done, 0 Failed, 14 Pending, 14 Total, 2-sec Throughput (Mb/s): 0 (Disk may be limiting speed)
0.0 %, 0 Done, 0 Failed, 14 Pending, 14 Total, 2-sec Throughput (Mb/s): 0 (Disk may be limiting speed)
0.0 %, 0 Done, 0 Failed, 14 Pending, 14 Total, 2-sec Throughput (Mb/s): 0 (Disk may be limiting speed)..
... many more rows....
0.0 %, 0 Done, 0 Failed, 14 Pending, 14 Total, 2-sec Throughput (Mb/s): 0 (Disk may be limiting speed)
0.0 %, 0 Done, 0 Failed, 14 Pending, 14 Total, 2-sec Throughput (Mb/s): 0 (Disk may be limiting speed)
15.0 %, 3 Done, 0 Failed, 11 Pending, 14 Total, 2-sec Throughput (Mb/s): 0.581 (Disk may be limiting speed)
54.4 %, 5 Done, 0 Failed, 9 Pending, 14 Total, 2-sec Throughput (Mb/s): 1.5229 (Disk may be limiting speed)
79.3 %, 8 Done, 0 Failed, 6 Pending, 14 Total, 2-sec Throughput (Mb/s): 0.9629 (Disk may be limiting speed)
79.3 %, 8 Done, 0 Failed, 6 Pending, 14 Total, 2-sec Throughput (Mb/s): 0 (Disk may be limiting speed)
94.6 %, 11 Done, 0 Failed, 3 Pending, 14 Total, 2-sec Throughput (Mb/s): 0.5934 (Disk may be limiting speed)
96.6 %, 13 Done, 0 Failed, 1 Pending, 14 Total, 2-sec Throughput (Mb/s): 0.0766 (Disk may be limiting speed)
96.6 %, 13 Done, 0 Failed, 1 Pending, 14 Total, 2-sec Throughput (Mb/s): 0 (Disk may be limiting speed)
100.0 %, 14 Done, 0 Failed, 0 Pending, 14 Total, 2-sec Throughput (Mb/s): 0.132
Job f19e901e-382c-2442-7fde-3937742cd754 Summary
Files Scanned at Source: 1373
Files Scanned at Destination: 1377
Elapsed Time (Minutes): 9.7702
Number of Copy Transfers for Files: 12
Number of Copy Transfers for Folder Properties: 2
Total Number Of Copy Transfers: 14
Number of Copy Transfers Completed: 14
Number of Copy Transfers Failed: 0
Number of Deletions at Destination: 116
Total Number of Bytes Transferred: 967484
Total Number of Bytes Enumerated: 967484
Final Job Status: Completed


Plan and create/assign issues for the six-month-development plan milestone

This is the first issue in milestone:
https://github.com/oaworks/paradigm/milestone/5
Which is to plan that milestone and ensure we have a standalone reusable MVP within the next six months.

Replacing this with decisions from ongoing discussions about current paradigm issues and creating new ones as required. To focus mainly on Gates work.


(self-contained build) Only rebuild dependencies if necessary

Expected Behavior
When running ui5 build self-contained --all, UI5 dependencies should only be rebuilt if necessary (i.e. resources folder is missing, declared version changed, dependencies of the project changed).
Current Behavior
The full set of libraries gets rebuilt, leading to very long build times (esp. on CI servers where it's not as easy to switch between build commands).
Steps to reproduce the issue

Run ui5 build self-contained --all
Run ui5 build self-contained --all again
Everything gets rebuilt

Context

UI5 Module Version (output of ui5 --version when using the CLI): 0.2.6
Node.js Version: 10.13.0
npm Version: 6.4.1
OS/Platform: Windows 10 1803
Browser (if relevant):
Other information:

Affected components (if known)

[X] ui5-builder
[ ] ui5-server
[X] ui5-cli
[ ] ui5-fs
[ ] ui5-project
[ ] ui5-logger

Log Output / Stack Trace
n/a

I totally agree with you that unnecessary re-builds should be avoided, especially to speed up the dev-cycle.
But I don't get the point about the CI. Isn't a clean CI build standard? Or would you like the repository artifacts (NPM) to bring their build results with them? That's indeed something that we discussed back-and-forth...

There are techniques to carry over cached files between builds (e.g. Bitbucket Pipeline caches), and I believe UI5 libs would be a great candidate for a technical cache. The issue here is that libraries now impact app build times - i.e. a hello world sample takes 2 minutes on my machine whereas without the --all flag it's a few seconds.

Just wondering out loud here, but why don't you publish the compiled version as part of the npm package and by default serve those ?


⚠ Thumbnails API Endpoint has degraded performance

In 0b3cfc0, Thumbnails API Endpoint (https://thumbnails.roblox.com/v1/assets?assetIds=82738847&format=Png&isCircular=false&size=30x30) experienced degraded performance:

HTTP code: 200
Response time: 2005 ms

Resolved: Thumbnails API Endpoint performance has improved in a6fc557.


Add Search in CWE list while selecting in Findings

Hi,
I'm really inspired by this project & overall It's good.
While Add new Finding there's an option to select the CWE from the list but there's no search feature for CWE so a user can easily type and find a particular CWE for the finding. Kindly add this feature in it.

@Syntax3r I think that in the CWE field you write some topic it gives you a match but you are right should be interesting to have.

@Syntax3r done, thank you for your suggestion!
Try to update git pull and take a look

@1modm I have checked. It's only working by typing the CWE ID (Numeric). It's good if it provides a match by typing the Keywords.

Keyword
Matches

Injection
SQL Injection, XML Injection, CRLF Injection

@Syntax3r Which browser are you using? as far as I have checked it worked.
https://user-images.githubusercontent.com/4355335/141460566-ee3d9adb-b0f2-4696-b38f-0a34058760e1.mp4

It's working now :) Thanks for the swift response


Production-ready infrastructure

As we move away from the quick and dirty hackathon style, what do we think infrastructure looks like?
Some questions we should answer:

Use Nginx for React, so we pay almost nothing to host the UI.
Switch over to the standard GCE instance (only supports node 10) for API so we can scale down to zero instances.
Look at other "free tier" providers like Netlify/Heroku.

Need to ask talk through physical install:

How is this going to run? Giant TV + iPad? Raspberry pi?
Networking? Wired/wireless.

For now I have scaled us to standard Google App Engine instances via #91 so that we can scale to zero. We still need to figure out the long term hosting for this.
@crstamps2 Do you have any more details on the hardware available to us?


Update README.md

Hi!
Thanks for the feedback. We've already done a bit of workshopping on this part of the docs / readme, so we're going to leave it as is for now.
In the future, if you could open an issue first discussing docs changes / clarifications, we'd be happy to iterate with you there!


WIP MotherDuck data connector

WIP implementation of MotherDuck connector:

Separate DuckDB connection pool based on duckdb-rs 0.9.2 (based on arrow 49.0.0)
Basic logic for Arrow 49.0.0 -> 51.0.0 upgrade for legacy duckdb query result (platform requires 51.0.0).
MotherDuck connector: md:. Currently expects connection is configured via open param.

- from: md:sample_data.nyc.taxi
  name: taxi
  params:
    open: "md:?motherduck_token=XXXXX.."

Tests:

Can open and query local duckdb files
MotherDuck extension fails to open: there is similar issue reported

DuckDBError: Invalid Input Error: Initialization function "motherduck_init" from file "/Users/sg/.duckdb/extensions/v0.9.2/osx_arm64/motherduck.duckdb_extension" threw an exception: "IO Error: Extension "/Users/sg/.duckdb/extensions/v0.9.2/osx_arm64/motherduck.v1.15.25.duckdb_extension" could not be loaded: dlopen(/Users/sg/.duckdb/extensions/v0.9.2/osx_arm64/motherduck.v1.15.25.duckdb_extension, 0x0006): symbol not found in flat namespace '__ZN6duckdb24LogicalExtensionOperator21ResolveColumnBindingsERNS_21ColumnBindingResolverERNS_6vectorINS_13ColumnBindingELb1EEE'"

TODO:

Fix extension binding issue (above)
Cleanup (remove unwrap, etc)
Read motherduck_token from secret store, remove param: open
Own feature flag for motherduck

‼ Testing this more I see that despite the right crate is called the DuckDB is thinking the version is incorrect

2024-04-14T01:21:09.476822Z  WARN runtime: Failed to get data connector from source for dataset taxi, retrying: Unable to initialize data connector md: Unable to create DuckDB connection pool: DuckDBError: Invalid Input Error: Initialization function "motherduck_init" from file "/Users/sg/.duckdb/extensions/v0.10.1/osx_arm64/motherduck.duckdb_extension" threw an exception: "
It looks like you're using an unsupported version of DuckDB (0.10.1). MotherDuck currently only supports DuckDB 0.9.2. Please downgrade DuckDB to 0.9.2 to use MotherDuck.

Could be reproduced by creating new project with old and new crates and running both.
   match  duckdb_0_9_2::DuckdbConnectionManager::file("md:?motherduck_token=XXXXXX") {
        Ok(_) => {println!("Success!");}
        Err(e) => {println!("Error: {:?}", e);}
    }

    match  duckdb::DuckdbConnectionManager::file("md:?motherduck_token=XXXXXX") {
        Ok(_) => {println!("Success!");}
        Err(e) => {println!("Error: {:?}", e);}
    }

The output is the same

Error: DuckDBFailure(Error { code: Unknown, extended_code: 1 }, Some("Invalid Input Error: Initialization function "motherduck_init" from file "/Users/sg/.duckdb/extensions/v0.10.1/osx_arm64/motherduck.duckdb_extension" threw an exception: "\nIt looks like you're using an unsupported version of DuckDB (0.10.1). MotherDuck currently only supports DuckDB 0.9.2. Please downgrade DuckDB to 0.9.2 to use MotherDuck.\n \nFor more information go to https://motherduck.com/docs/getting-started/connect-query-from-duckdb-cli""))

Error: DuckDBFailure(Error { code: Unknown, extended_code: 1 }, Some("Invalid Input Error: Initialization function "motherduck_init" from file "/Users/sg/.duckdb/extensions/v0.10.1/osx_arm64/motherduck.duckdb_extension" threw an exception: "\nIt looks like you're using an unsupported version of DuckDB (0.10.1). MotherDuck currently only supports DuckDB 0.9.2. Please downgrade DuckDB to 0.9.2 to use MotherDuck.\n \nFor more information go to https://motherduck.com/docs/getting-started/connect-query-from-duckdb-cli""))

Closing in favor of upcoming duckdb-rs 10.2 release


Add CUDA naming functions

We could add CUDA as a WeakDep?

See this commented out block:
https://github.com/JuliaGPU/CUDA.jl/blob/2ae53a46658f10b0be32ae61fb4e145782ed9208/lib/cudadrv/state.jl#L368-L373
Unfortunately these are not included in our JLL binaries.

@maleadt do you know if nvtxNameCuStreamA is available in any of the CUDA packages? If not, we may need to build the NVTX library differently.

Ok, these are exposed in the new JLLs. @maleadt do you have a preference if NVTX.jl should have CUDA.jl as a weak dep, or vice versa?
For an interface, I was thinking of adding a function along the following lines:
NVTX.name_resource(stream::CuStream, name::AbstractString)
NVTX.name_resource(stream::CuContext, name::AbstractString)
NVTX.name_resource(stream::CuDevice, name::AbstractString)

Adding NVTX.jl as a weak dep to CUDA.jl seems like the more logical option to me, as it's CUDA.jl that needs to name streams when they get created. Or how would you implement the inverse?

I think you would need users to manually name their own streams?

Adding NVTX.jl as a weak dep to CUDA.jl seems like the more logical option to me, as it's CUDA.jl that needs to name streams when they get created.

Alternatively: you could just add NVTX_jll as a dependency to CUDA, and directly ccall it there, similar to what is currently commented out:
https://github.com/JuliaGPU/CUDA.jl/blob/2ae53a46658f10b0be32ae61fb4e145782ed9208/lib/cudadrv/state.jl#L368-L373
We could also then define the above functions here (with CUDA as a weak dep) for users who want to give more descriptive names to their streams?

I think you would need users to manually name their own streams?

Why? We can have CUDA at least provide a somewhat better name on stream construction, and the user can always improve afterwards.

Alternatively: you could just add NVTX_jll as a dependency to CUDA, and directly ccall it there, similar to what is currently commented out:
https://github.com/JuliaGPU/CUDA.jl/blob/2ae53a46658f10b0be32ae61fb4e145782ed9208/lib/cudadrv/state.jl#L368-L373

Why can't we do that through a weakdep? If the user isn't using NVTX.jl, I assume he wouldn't be interested in user-friendly names for CUDA.jl's streams, no?

Can you call weakdeps from inside functions in the package? Or how would it work?

Add name_stream(x) = nothing to CUDA.jl and have the weakdep provide a more specific name_stream(x::CuStream) = NVTX....? Or do something dynamic a la https://github.com/JuliaGPU/GPUCompiler.jl/blob/661dcef51a93f4ce76cb9446d7d8670cd97ea8ca/src/reflection.jl#L65-L69. @KristofferC may know what the best option is here (summary: we want CUDA.jl to call functionality from NVTX.jl when the package is available, using weakdeps so that we can express compatibility constraints).


How does the session ID uniqueness work?

I have the two couchbase cluster setup active as described here: https://github.com/magro/memcached-session-manager/issues/342
But I wonder if I still have to do something for the session ID. How is session ID uniqeness handeld? Could it be possible that two Tomcat servers generate the same/conflicting session ID? Or is Memcached/Couchbase queried to make sure the session ID for a new user is unique?

Any update on this?
I narrowed down the change that two or more tomcat servers could generate the same session ID with:
storageKeyPrefix: "static:%{::application},static:%{::role},static:%{::environment},context.hash"

But would it theoretically still be possible that two tomcat servers generate the same session ID? Which causes two people to share a session?

@magro ?

Sorry, I missed that completely.
I'd say you can rely on session uniqueness (everybody does?!), and it's not msm specific but more related to tomcat itself. You might find this interesting: https://security.stackexchange.com/a/127265
It's surely possible to dig deeper...


[BUG] DefaultAzureCredential cluttering log with errors

Describe the bug
I'm using this to access a blob container
_blobContainerClient = new BlobContainerClient(new Uri(containerUrl), new DefaultAzureCredential());
This is running in a container on AKS with Pod Identity - so ManagedIdentityCredential should be the one that is used.
However, since this is only second in the list, the attempt to use EnvironmentCredential obviously fails. So far, so good. The issue is that it is not failing silently to the next one but instead cluttering my log (which I'm sending to Application Insights):

(disregard the 404 error for the blob. I'm checking if the blob does exist or not, so the 404 there is expected)
Expected behavior
When using DefaultAzureCredential I would expect that all options are silently being tried in their order. Only if all fail, I'd expect an exception to be thrown.
Actual behavior (include Exception or Stack Trace)
Error:

Azure.Identity.CredentialUnavailableException: EnvironmentCredential authentication unavailable. Environment variables are not fully configured.

To Reproduce
Steps to reproduce the behavior (include a code snippet, screenshot, or any additional information that might help us reproduce the issue)

Use DefaultAzureCredential() with a method that is not the first one in the list (EnvironmentCredential )

Environment:

Name and version of the Library package used: Azure.Identity 1.2.0-preview.1
Hosting platform or OS and .NET runtime version: .NET Core 3.1 in Linux Container on AKS
IDE and version : VS 16.4.6

Also a general question: If I know that I will be using Managed Identity, is it best practice to use that specifically instead of the DefaultCredential?

@sebader Thanks for filing this issue. I'm looking into it now. I agree that the DefaultAzureCredential should not be logging errors for its normal operation, and I'm investigating how we can best fix this. It should be the case that this error will only be logged the first time the credential is used to authenticate. All subsequent calls to authenticate with the credential should only log output of the credential which was ultimately chosen to authenticate.
As to your second question, the DefaultAzureCredential is intended to be used in applications which ultimately are deployed to a Managed Identity enabled environment. The goal of the DefaultAzureCredential is to provide a credential type which will work both in a deployed environment and when executing in a local development environment. Some applications may opt to use the more specific ManagedIdentityCredential to explicitly limit how the application authenticates when it is deployed. However, if you opt to do this in your application, it will require code changes to debug, or some sort of configuration to switch the credential type which is used based on the environment.

That’s for looking into it!
Even for the first call I would argue it shouldn’t log an error - a warning at best I’d say because technically it still wouldn’t be an error. All is working as expected when using the DefaultCredential.
Or what would be your reason to treat the first call as an error?

@lmolkova do you have any recommended patterns for cases like this?

@sebader as a short-term mitigation strategy, filter out the dependency using TelemetryProcessor.
Can you also share what would be the best option for you:

never trace  EnvironmentCredential .GetToken call
trace it but do not consider it an error
something else?

In the long term, from the instrumentation side, what we can do better is to somehow know that EnvironmentCredential.GetToken is called from the SDK and traced on higher level already so we can

skip instrumentation and report nothing for this call
or
report it without indicating error status.

@lmolkova I would opt for the second one, "trace it but do not consider it an error". It might be helpful for the developer to understand whats happening when using DefaultCredentials - vs. for instance ManagedIdentityCredential directly. So showing all the calls in the order as they are attempted, makes sense to me.

I think "report it without indicating error status" is the right way to go too. Client invocation would throw if auth fails anyway and we can register error there.


Allow customization of webpack config when building ComponentPlayground

I'd like to put this project into use, but this issue is a must to have for me and I am willing to contribute.
Do you have any idea of how this should be implemented?

Do you have any idea of how this should be implemented?

Let's start by figuring out what part of the webpack config you need to customize.

Right now I have hacked up a simple solution.
I modified cosmos to accept config-path, then added this to webpack.config.js:
if (argv.configPath) {
    config = require(resolvePath(argv.configPath))(config);
}
module.exports = config;

Then I have created my cosmos.config.js
module.exports = function (config) {
    config.module.loaders = [
        {
            loaders: ['style', 'css', 'postcss'],
            test: /\.css$/
        },
        {
            exclude: /node_modules/,
            loaders: ['react-hot', 'babel'],
            test: /\.jsx?$/
        }
    ];
    config.postcss = require('./lib/postcss').processors;
    return config;
};

To start cosmos I use this command component-playground --config-path cosmos.config.js

So I basically needed to override css loader and add config entry for postcss. But I might need more in the future, so I kinda like to have karma approach of being able to override default settings if needed.

so I kinda like to have karma approach of being able to override default settings if needed.

You're right, all webpack arguments should be customizable.
I was thinking of having something like an optional component-playground.config.js in the project root, where you run node_modules/.bin/component-playground
And that config should extend the built-in webpack config. One question I faced so far: should it be shallow or deep extending? For output. you want it deep for sure, but not sure about the other keys where you'd rather reset the default value than extend it.
Also, the webpack config should be only a key inside component-playground.config.js, because you might want to customize other stuff as well, like the options for ReactQueryStringRouter. E.g.
// component-playground.config.js
{
  router: {
    defaultProps: {
      // ...
    },
  },
  webpack: {
    loaders: [
      // ...
    ]
  }
}

What about having a function for each config section, that gets original config and returns modified, e.g.
// component-playground.config.js
module.exports = {
    webpack: function (config) {
        // modify and
        return config
    },
    router: function (config) {
        // modify and
        return config
    }
}

What about having a function for each config section, that gets original config and returns modified, e.g.

Nice!

Great, will make a pull request for this.


Add tests

[x] tests
[x] coverage
[x] travis

[ ] Improve Coverage
Coverage is at 54%, it has to be improved


feat: add timeout middleware

What kind of change does this PR introduce?
We want to set internal timeout for Auth so that  long running

We can break connection early so that Kong doesn't have to break the timeout
We have a circuit breaker in that long running requests timeout instead of piling up when service is under load

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

10 of 10 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 65.204%

Totals

Change from base Build<PHONE_NUMBER>:
0.03%

Covered Lines:
8069

Relevant Lines:
12375

💛  - Coveralls


ls -Lt produces different results than GNU ls when given absolute path

I'm trying to compile curl, and it's failing on this bit of the configure script:
# Do 'set' in a subshell so we don't clobber the current shell's
# arguments.  Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
   set -x
   pwd
   am_has_slept=no
   for am_try in 1 2; do
     echo "timestamp, slept: $am_has_slept" > conftest.file
     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
     if test "$*" = "X"; then
	# -L didn't work.
	set X `ls -t "$srcdir/configure" conftest.file`
     fi
     if test "$*" != "X $srcdir/configure conftest.file" \
	&& test "$*" != "X conftest.file $srcdir/configure"; then

	# If neither matched, then we have a broken ls.  This can happen
	# if, for instance, CONFIG_SHELL is bash and it inherits a
	# broken ls alias from the environment.  This has actually
	# happened.  Such a system could not be considered "sane".
	as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
  alias in your environment" "$LINENO" 5
     fi
     if test "$2" = conftest.file || test $am_try -eq 2; then
       break
     fi
     # Just in case.
     sleep 1
     am_has_slept=yes
   done
   test "$2" = conftest.file
   )
then
   # Ok.
   :
else
   as_fn_error $? "newly created file is older than distributed files!
Check your system clock" "$LINENO" 5
fi

Basically, what's happening there is it's trying to create a file, compare the timestamp of that file against the ./configure file, and ensure that ls is returning the files in timestamp order.
However, this fails because Rust coreutils ls, when given:
ls -Lt /absolute/path/to/configure conftest.file

returns:
conftest.file configure

whereas, GNU ls returns:
conftest.file /absolute/path/to/configure

Since the configure script is trying to do an exact match on the returned value, this causes the configure script to fail - it incorrectly says the newly created file is older than distributed files, but the error is actually about the output from ls.
checking whether build environment is sane... configure: error: ls -t appears to fail.  Make sure there is not a broken
  alias in your environment
configure: error: newly created file is older than distributed files!
Check your system clock

This patch fixes that problem but causes every result with normal ls to be formatted with a leading ./ which is not what we want, I don't think.
diff --git a/src/uu/ls/src/ls.rs b/src/uu/ls/src/ls.rs
index c5389295..4eef225e 100644
--- a/src/uu/ls/src/ls.rs
+++ b/src/uu/ls/src/ls.rs
@@ -1719,7 +1719,7 @@ fn classify_file(path: &PathData) -> Option<char> {
 }

 fn display_file_name(path: &PathData, config: &Config) -> Option<Cell> {
-    let mut name = escape_name(&path.file_name, &config.quoting_style);
+    let mut name = escape_name(&path.p_buf.to_str().unwrap(), &config.quoting_style);

     #[cfg(unix)]
     {

I looked at this, but it's tricky to fix.
The issue doesn't depend on -Lt or if the path is absolute or not.
uu_ls simply never prints the path.
I fixed that, however I noticed there are other situations when it's correct to not print the path.
For example the test_ls_indicator_style where stdout_only("sock=\n") instead of stdout_only("/tmp/unix_socket.xvWfti4ldwvM/sock=\n)" is correct because gnu_ls behaves the same way.
I gave up, because I don't know the rules gnu_ls uses to decide whether to print the path or not.

Here's print_name_with_quoting in GNU coreutils ls
static size_t
print_name_with_quoting (const struct fileinfo *f,
                         bool symlink_target,
                         struct obstack *stack,
                         size_t start_col)
{
  const char* name = symlink_target ? f->linkname : f->name;

  const struct bin_str *color = print_with_color ?
                                get_color_indicator (f, symlink_target) : NULL;

  bool used_color_this_time = (print_with_color
                               && (color || is_colored (C_NORM)));

  size_t len = quote_name (name, filename_quoting_options, f->quoted,
                           color, !symlink_target, stack, f->absolute_name);

  process_signals ();
  if (used_color_this_time)
    {
      prep_non_filename_text ();

      /* We use the byte length rather than display width here as
         an optimization to avoid accurately calculating the width,
         because we only output the clear to EOL sequence if the name
         _might_ wrap to the next line.  This may output a sequence
         unnecessarily in multi-byte locales for example,
         but in that case it's inconsequential to the output.  */
      if (line_length
          && (start_col / line_length != (start_col + len - 1) / line_length))
        put_indicator (&color_indicator[C_CLR_TO_EOL]);
    }

  return len;
}

Here's quote_name:
quote_name (char const *name, struct quoting_options const *options,
            int needs_general_quoting, const struct bin_str *color,
            bool allow_pad, struct obstack *stack, char const *absolute_name)
{
  char smallbuf[BUFSIZ];
  char *buf = smallbuf;
  size_t len;
  bool pad;

  len = quote_name_buf (&buf, sizeof smallbuf, (char *) name, options,
                        needs_general_quoting, NULL, &pad);

  if (pad && allow_pad)
      DIRED_PUTCHAR (' ');

  if (color)
    print_color_indicator (color);

  /* If we're padding, then don't include the outer quotes in
     the --hyperlink, to improve the alignment of those links.  */
  bool skip_quotes = false;

  if (absolute_name)
    {
      if (align_variable_outer_quotes && cwd_some_quoted && ! pad)
        {
          skip_quotes = true;
          putchar (*buf);
        }
      char *h = file_escape (hostname, /* path= */ false);
      char *n = file_escape (absolute_name, /* path= */ true);
      /* TODO: It would be good to be able to define parameters
         to give hints to the terminal as how best to render the URI.
         For example since ls is outputting a dense block of URIs
         it would be best to not underline by default, and only
         do so upon hover etc.  */
      printf ("\033]8;;file://%s%s%s\a", h, *n == '/' ? "" : "/", n);
      free (h);
      free (n);
    }

  if (stack)
    PUSH_CURRENT_DIRED_POS (stack);

  fwrite (buf + skip_quotes, 1, len - (skip_quotes * 2), stdout);

  dired_pos += len;

  if (stack)
    PUSH_CURRENT_DIRED_POS (stack);

  if (absolute_name)
    {
      fputs ("\033]8;;\a", stdout);
      if (skip_quotes)
        putchar (*(buf + len - 1));
    }

  if (buf != smallbuf && buf != name)
    free (buf);

  return len + pad;
}

So basically it just looks at whether the absolute_name flag is set or not, I think.
absolute_name is set here:
          absolute_name = canonicalize_filename_mode (name, CAN_MISSING);

canonicalize_filename_mode comes from gnulib, source here: https://github.com/coreutils/gnulib/blob/master/lib/canonicalize.c#L186

I can venture a guess at what the issue is here


[SPARK-8535][PySpark]PySpark : Can't create DataFrame from Pandas dataframe with no explicit column name

Because implicit name of pandas.columns are Int, but StructField json expect String.
So I think pandas.columns are should be convert to String.
issue

SPARK-8535 PySpark : Can't create DataFrame from Pandas dataframe with no explicit column name

Can one of the admins verify this patch?

Jenkins this is ok to test

Merged build triggered.

Merged build started.

Test build #36145 has started for   PR 7124 at commit ea1897d.

Test build #36145 has finished for   PR 7124 at commit ea1897d.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

LGTM

Test build #36216 has started for   PR 7124 at commit d68fd38.

Thank you very much :sparkles: :bow: :sparkles:

Test build #36216 has finished for   PR 7124 at commit d68fd38.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Merged into master, 1.3 and 1.4 branch, thanks!


Channels with Coefficients of 0 in the Budget Allocator

I'm looking to keep the optimized spend for channels with coefficients = 0 constant.  ie if channel X had $100 in historical spend and a 0 coefficient, the optimized spend should remain $100.  I tried achieving this by setting upper and lower constraints to 1, but it is still outputting the optimized spend as $0 for these channels (and reallocating elsewhere).
Is it possible to get this desired output?

In my opinion you should select another model with coef >0. the allocator will always exclude coef 0 channels because the return is always 0, so makes no sense to invest anything there.

Got it.  Thank you for the quick response.


Add simple-linked-list

Related to #172. Work in progress, but tests are coming from the Python track

I still need to add a doc string for the stub, but tests pass locally.

I still need to add a doc string for the stub, but tests pass locally.

Looks, good, preapproved for what is here at this date/time stamp.  In case you are satisfied with the docstring.  This way it can get in front of students quicker.


 Cataclysm: Dark Days Ahead click on image work
11. WarriorJS  no image
12. Devilution no click on image
13. Citybound click on image work
14. Unciv click on image does not work 404: Not Found on second and third img not found (bucket 403)
15. DevilutionX click on image work
16. A Dark Room no image
17. OpenTTD click on image work
18. Endless Sky click on image work
19. The Battle for Wesnoth click on images work
20. RuneLite click on image 1 and 2 doesnt work but 3 work
21. OpenLara no click on images
22. The Powder Toy click on images
23. SuperTuxKart if you click on the image it will transport you to github repo
24. zelda3 no img
25. VCMI click on images work
26. CorsixTH cant click on 1 image but work on second one
27. Pixel Dungeon click on images work
28. Shattered Pixel Dungeon no clickable img
29. SpaceCadetPinball no img
30. Warzone 2100 firs image is not clickable and second and thrid are
31. Serious Engine no img
32. sandspiel clickable images
33. OpenGOAL no img
34. NetHack clickable img
35. 0 A.D. clickable img
36. Ship of Harkinian no img
37. Thrive 1,2 img does not work but 3 work
38. Julius img work
39. Daggerfall Unity img work
40. Free Heroes 2 clickable imgaes
41. Marble Marcher images work
42. SuperTux clickable images
43. Overgrowth no img
44. Teeworlds clickable images
45. Dungeon Crawl Stone Soup img work
46. Hextris img not work
47. GZDoom images work
48. ZDoom clickable images work
49. freeablo no clickable img
50. Veloren no clickable images
tested on firefox
august 7

Thanks for the report. I'll look into it.

Thanks for the report. I'll look into it.

thanks you for your time sir

I looked at it and there are some problems, which can be kind of fixed.
I linked to original versions, but only if they were better resolved (i.e. had much more pixels). People might wonder why some of the images have no links. That would be those without original images with a high resolution. To clarify this. There should be a tooltip (alt tag explaining this).
Second, these links tend to get broken. Many of them are already. In my broken link search I did not include them. I should include them in the broken link search script and either replace them or remove them.
For these cases here with the help of the list by stuffbymax I manually replaced or removed them. They will appear with the next Github push.
Thanks again for reporting.

hello i didn't really help you i just informed about the problem

hello i didn't really help you i just informed about the problem

And that helped because now I know about it. :)

If you want, I could think of the best ways to help.

I could run the script that checks for broken external links and could upload the results here in an issue, where you could check some of these and report on them (something like: moved to another location, not existing anymore but available on internetarchive, found a replacement link). You can run the script too if you want. I do that approximately once per year and find approximately 300 broken links many of which can be salvaged. It would be time again.
You could complete information. Frequently, fields are missing like where to download the game or which OS are supported.  You could go through the list and for those that do not feature this information, add it. You could also add keywords (but I don't want it too fine-grained).
You could produce screenshots of games that don't have them. Either look at their homepages (sometimes they have a gallery) or run the game and make screenshots yourself.
Check last active information. If the last source code change was less than a year ago, I mark it as active, otherwise as inactive. However, this often changes, some projects become inactive, others become active again.
Whatever you can think of...

ok

where is the code for the website?

The HTML rendered version is in docs https://github.com/Trilarion/opensourcegames/tree/master/docs
But the underlying source is in text with some formatting elements (markdown) in https://github.com/Trilarion/opensourcegames/tree/master/entries in the *.md files there. The images are specified in https://github.com/Trilarion/opensourcegames/blob/master/entries/screenshots/README.md These files are what I edit and then convert to HTML with a Python script. This script is https://github.com/Trilarion/opensourcegames/blob/master/code/html/generate_static_website.py and if you are experience with Python you can run it, but I don't recommend it.
In the I don't care. Contributors can report on content changes in any way they want.

You can fork and change the source content files (*.md) in folder entries
You can fork and change the HTML in folder doc
You can just look at the HTML in https://trilarion.github.io/opensourcegames/ and report changes in an issue here with text

Whatever works best for you.

thanks you good sir /madam

hi i want let you know that i started fixing the html


Create README_PL.md

Polskie tłumaczenie

@0xsisyfos, can we merge this after applying my suggestions first? I'm a native Polish speaker, and it LGTM. I don't have the permission to do it myself. Sorry if I should be pinging someone else – I'm not sure who can merge this.

Hey @pbeza
Thank you for your contribution.
Last December we stopped accepting translation submissions for the ZK Credo, if we change these plans, we will let you know.


spring-cloud-azure-actuator has unwanted non-optional dependency

Describe the bug
spring-cloud-azure-actuator used to have in version 4.6 an optional dependency azure-data-appconfiguration. From 4.7.0, the dependency spring-cloud-azure-appconfiguration-config-web was added but is not optional . This prevents applications to run as the spring boot starter validates the configuration can fail with the error below
Exception or Stack Trace
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'spring.cloud.azure.appconfiguration-com.azure.spring.cloud.appconfiguration.config.implementation.properties.AppConfigurationProperties': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: At least one config store has to be configured.
Caused by: java.lang.IllegalArgumentException: At least one config store has to be configured.
Expected behavior
spring-cloud-azure-appconfiguration-config-web should be optional

Hi @jbkervyn , Thanks for your issue, I think you point to spring-cloud-azure-actuator-autoconfigure.
It will be fixed in https://github.com/Azure/azure-sdk-for-java/pull/34980