text:
OpenGL: BackgroundRectangle.color causes infinite loop

Description of bug / unexpected behavior
Manim is getting stuck in a recursion loop, to do with retrieving color.
Expected behavior
Should just render items.
How to reproduce the issue
This code is causing the issue for me, but only when rendered with OpenGL.
class BugTest(ThreeDScene):
    def construct(self):
        mve = MathTex(r"Text").add_background_rectangle()
        self.play(Write(mve))

If I remove add_background_rectangle OR change Write to Create the problem goes away, so it seems to be at the intersection of these.
Logs
Logs look similar to this (collapsed):
Terminal output
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\opengl\opengl_v |
| ectorized_mobject.py:397 in get_color                                       |
|                                                                             |
|    394     def get_color(self):                                             |
|    395         if self.has_stroke():                                        |
|    396             return self.get_stroke_color()                           |
| >  397         return self.get_fill_color()                                 |
|    398                                                                      |
|    399     def get_colors(self):                                            |
|    400         if self.has_stroke():                                        |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\geometry\shape_ |
| matchers.py:133 in get_fill_color                                           |
|                                                                             |
|   130         return self                                                   |
|   131                                                                       |
|   132     def get_fill_color(self) -> ManimColor:                           |
| > 133         return self.color                                             |
|   134                                                                       |
|   135                                                                       |
|   136 class Cross(VGroup):                                                  |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\opengl\opengl_v |
| ectorized_mobject.py:397 in get_color                                       |
|                                                                             |
|    394     def get_color(self):                                             |
|    395         if self.has_stroke():                                        |
|    396             return self.get_stroke_color()                           |
| >  397         return self.get_fill_color()                                 |
|    398                                                                      |
|    399     def get_colors(self):                                            |
|    400         if self.has_stroke():                                        |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\geometry\shape_ |
| matchers.py:133 in get_fill_color                                           |
|                                                                             |
|   130         return self                                                   |
|   131                                                                       |
|   132     def get_fill_color(self) -> ManimColor:                           |
| > 133         return self.color                                             |
|   134                                                                       |
|   135                                                                       |
|   136 class Cross(VGroup):                                                  |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\opengl\opengl_v |
| ectorized_mobject.py:397 in get_color                                       |
|                                                                             |
|    394     def get_color(self):                                             |
|    395         if self.has_stroke():                                        |
|    396             return self.get_stroke_color()                           |
| >  397         return self.get_fill_color()                                 |
|    398                                                                      |
|    399     def get_colors(self):                                            |
|    400         if self.has_stroke():                                        |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\geometry\shape_ |
| matchers.py:133 in get_fill_color                                           |
|                                                                             |
|   130         return self                                                   |
|   131                                                                       |
|   132     def get_fill_color(self) -> ManimColor:                           |
| > 133         return self.color                                             |
|   134                                                                       |
|   135                                                                       |
|   136 class Cross(VGroup):                                                  |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\opengl\opengl_v |
| ectorized_mobject.py:397 in get_color                                       |
|                                                                             |
|    394     def get_color(self):                                             |
|    395         if self.has_stroke():                                        |
|    396             return self.get_stroke_color()                           |
| >  397         return self.get_fill_color()                                 |
|    398                                                                      |
|    399     def get_colors(self):                                            |
|    400         if self.has_stroke():                                        |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\geometry\shape_ |
| matchers.py:133 in get_fill_color                                           |
|                                                                             |
|   130         return self                                                   |
|   131                                                                       |
|   132     def get_fill_color(self) -> ManimColor:                           |
| > 133         return self.color                                             |
|   134                                                                       |
|   135                                                                       |
|   136 class Cross(VGroup):                                                  |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\opengl\opengl_v |
| ectorized_mobject.py:397 in get_color                                       |
|                                                                             |
|    394     def get_color(self):                                             |
|    395         if self.has_stroke():                                        |
|    396             return self.get_stroke_color()                           |
| >  397         return self.get_fill_color()                                 |
|    398                                                                      |
|    399     def get_colors(self):                                            |
|    400         if self.has_stroke():                                        |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\geometry\shape_ |
| matchers.py:133 in get_fill_color                                           |
|                                                                             |
|   130         return self                                                   |
|   131                                                                       |
|   132     def get_fill_color(self) -> ManimColor:                           |
| > 133         return self.color                                             |
|   134                                                                       |
|   135                                                                       |
|   136 class Cross(VGroup):                                                  |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\opengl\opengl_v |
| ectorized_mobject.py:397 in get_color                                       |
|                                                                             |
|    394     def get_color(self):                                             |
|    395         if self.has_stroke():                                        |
|    396             return self.get_stroke_color()                           |
| >  397         return self.get_fill_color()                                 |
|    398                                                                      |
|    399     def get_colors(self):                                            |
|    400         if self.has_stroke():                                        |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\geometry\shape_ |
| matchers.py:133 in get_fill_color                                           |
|                                                                             |
|   130         return self                                                   |
|   131                                                                       |
|   132     def get_fill_color(self) -> ManimColor:                           |
| > 133         return self.color                                             |
|   134                                                                       |
|   135                                                                       |
|   136 class Cross(VGroup):                                                  |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\opengl\opengl_v |
| ectorized_mobject.py:397 in get_color                                       |
|                                                                             |
|    394     def get_color(self):                                             |
|    395         if self.has_stroke():                                        |
|    396             return self.get_stroke_color()                           |
| >  397         return self.get_fill_color()                                 |
|    398                                                                      |
|    399     def get_colors(self):                                            |
|    400         if self.has_stroke():                                        |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\geometry\shape_ |
| matchers.py:133 in get_fill_color                                           |
|                                                                             |
|   130         return self                                                   |
|   131                                                                       |
|   132     def get_fill_color(self) -> ManimColor:                           |
| > 133         return self.color                                             |
|   134                                                                       |
|   135                                                                       |
|   136 class Cross(VGroup):                                                  |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\opengl\opengl_v |
| ectorized_mobject.py:397 in get_color                                       |
|                                                                             |
|    394     def get_color(self):                                             |
|    395         if self.has_stroke():                                        |
|    396             return self.get_stroke_color()                           |
| >  397         return self.get_fill_color()                                 |
|    398                                                                      |
|    399     def get_colors(self):                                            |
|    400         if self.has_stroke():                                        |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\geometry\shape_ |
| matchers.py:133 in get_fill_color                                           |
|                                                                             |
|   130         return self                                                   |
|   131                                                                       |
|   132     def get_fill_color(self) -> ManimColor:                           |
| > 133         return self.color                                             |
|   134                                                                       |
|   135                                                                       |
|   136 class Cross(VGroup):                                                  |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\opengl\opengl_v |
| ectorized_mobject.py:397 in get_color                                       |
|                                                                             |
|    394     def get_color(self):                                             |
|    395         if self.has_stroke():                                        |
|    396             return self.get_stroke_color()                           |
| >  397         return self.get_fill_color()                                 |
|    398                                                                      |
|    399     def get_colors(self):                                            |
|    400         if self.has_stroke():                                        |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\geometry\shape_ |
| matchers.py:133 in get_fill_color                                           |
|                                                                             |
|   130         return self                                                   |
|   131                                                                       |
|   132     def get_fill_color(self) -> ManimColor:                           |
| > 133         return self.color                                             |
|   134                                                                       |
|   135                                                                       |
|   136 class Cross(VGroup):                                                  |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\opengl\opengl_v |
| ectorized_mobject.py:397 in get_color                                       |
|                                                                             |
|    394     def get_color(self):                                             |
|    395         if self.has_stroke():                                        |
|    396             return self.get_stroke_color()                           |
| >  397         return self.get_fill_color()                                 |
|    398                                                                      |
|    399     def get_colors(self):                                            |
|    400         if self.has_stroke():                                        |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\geometry\shape_ |
| matchers.py:133 in get_fill_color                                           |
|                                                                             |
|   130         return self                                                   |
|   131                                                                       |
|   132     def get_fill_color(self) -> ManimColor:                           |
| > 133         return self.color                                             |
|   134                                                                       |
|   135                                                                       |
|   136 class Cross(VGroup):                                                  |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\opengl\opengl_v |
| ectorized_mobject.py:397 in get_color                                       |
|                                                                             |
|    394     def get_color(self):                                             |
|    395         if self.has_stroke():                                        |
|    396             return self.get_stroke_color()                           |
| >  397         return self.get_fill_color()                                 |
|    398                                                                      |
|    399     def get_colors(self):                                            |
|    400         if self.has_stroke():                                        |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\geometry\shape_ |
| matchers.py:133 in get_fill_color                                           |
|                                                                             |
|   130         return self                                                   |
|   131                                                                       |
|   132     def get_fill_color(self) -> ManimColor:                           |
| > 133         return self.color                                             |
|   134                                                                       |
|   135                                                                       |
|   136 class Cross(VGroup):                                                  |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\opengl\opengl_v |
| ectorized_mobject.py:397 in get_color                                       |
|                                                                             |
|    394     def get_color(self):                                             |
|    395         if self.has_stroke():                                        |
|    396             return self.get_stroke_color()                           |
| >  397         return self.get_fill_color()                                 |
|    398                                                                      |
|    399     def get_colors(self):                                            |
|    400         if self.has_stroke():                                        |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\geometry\shape_ |
| matchers.py:133 in get_fill_color                                           |
|                                                                             |
|   130         return self                                                   |
|   131                                                                       |
|   132     def get_fill_color(self) -> ManimColor:                           |
| > 133         return self.color                                             |
|   134                                                                       |
|   135                                                                       |
|   136 class Cross(VGroup):                                                  |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\opengl\opengl_v |
| ectorized_mobject.py:397 in get_color                                       |
|                                                                             |
|    394     def get_color(self):                                             |
|    395         if self.has_stroke():                                        |
|    396             return self.get_stroke_color()                           |
| >  397         return self.get_fill_color()                                 |
|    398                                                                      |
|    399     def get_colors(self):                                            |
|    400         if self.has_stroke():                                        |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\geometry\shape_ |
| matchers.py:133 in get_fill_color                                           |
|                                                                             |
|   130         return self                                                   |
|   131                                                                       |
|   132     def get_fill_color(self) -> ManimColor:                           |
| > 133         return self.color                                             |
|   134                                                                       |
|   135                                                                       |
|   136 class Cross(VGroup):                                                  |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\opengl\opengl_v |
| ectorized_mobject.py:397 in get_color                                       |
|                                                                             |
|    394     def get_color(self):                                             |
|    395         if self.has_stroke():                                        |
|    396             return self.get_stroke_color()                           |
| >  397         return self.get_fill_color()                                 |
|    398                                                                      |
|    399     def get_colors(self):                                            |
|    400         if self.has_stroke():                                        |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\geometry\shape_ |
| matchers.py:133 in get_fill_color                                           |
|                                                                             |
|   130         return self                                                   |
|   131                                                                       |
|   132     def get_fill_color(self) -> ManimColor:                           |
| > 133         return self.color                                             |
|   134                                                                       |
|   135                                                                       |
|   136 class Cross(VGroup):                                                  |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\opengl\opengl_v |
| ectorized_mobject.py:397 in get_color                                       |
|                                                                             |
|    394     def get_color(self):                                             |
|    395         if self.has_stroke():                                        |
|    396             return self.get_stroke_color()                           |
| >  397         return self.get_fill_color()                                 |
|    398                                                                      |
|    399     def get_colors(self):                                            |
|    400         if self.has_stroke():                                        |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\geometry\shape_ |
| matchers.py:133 in get_fill_color                                           |
|                                                                             |
|   130         return self                                                   |
|   131                                                                       |
|   132     def get_fill_color(self) -> ManimColor:                           |
| > 133         return self.color                                             |
|   134                                                                       |
|   135                                                                       |
|   136 class Cross(VGroup):                                                  |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\opengl\opengl_v |
| ectorized_mobject.py:397 in get_color                                       |
|                                                                             |
|    394     def get_color(self):                                             |
|    395         if self.has_stroke():                                        |
|    396             return self.get_stroke_color()                           |
| >  397         return self.get_fill_color()                                 |
|    398                                                                      |
|    399     def get_colors(self):                                            |
|    400         if self.has_stroke():                                        |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\geometry\shape_ |
| matchers.py:133 in get_fill_color                                           |
|                                                                             |
|   130         return self                                                   |
|   131                                                                       |
|   132     def get_fill_color(self) -> ManimColor:                           |
| > 133         return self.color                                             |
|   134                                                                       |
|   135                                                                       |
|   136 class Cross(VGroup):                                                  |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\opengl\opengl_v |
| ectorized_mobject.py:397 in get_color                                       |
|                                                                             |
|    394     def get_color(self):                                             |
|    395         if self.has_stroke():                                        |
|    396             return self.get_stroke_color()                           |
| >  397         return self.get_fill_color()                                 |
|    398                                                                      |
|    399     def get_colors(self):                                            |
|    400         if self.has_stroke():                                        |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\geometry\shape_ |
| matchers.py:133 in get_fill_color                                           |
|                                                                             |
|   130         return self                                                   |
|   131                                                                       |
|   132     def get_fill_color(self) -> ManimColor:                           |
| > 133         return self.color                                             |
|   134                                                                       |
|   135                                                                       |
|   136 class Cross(VGroup):                                                  |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\opengl\opengl_v |
| ectorized_mobject.py:397 in get_color                                       |
|                                                                             |
|    394     def get_color(self):                                             |
|    395         if self.has_stroke():                                        |
|    396             return self.get_stroke_color()                           |
| >  397         return self.get_fill_color()                                 |
|    398                                                                      |
|    399     def get_colors(self):                                            |
|    400         if self.has_stroke():                                        |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\geometry\shape_ |
| matchers.py:133 in get_fill_color                                           |
|                                                                             |
|   130         return self                                                   |
|   131                                                                       |
|   132     def get_fill_color(self) -> ManimColor:                           |
| > 133         return self.color                                             |
|   134                                                                       |
|   135                                                                       |
|   136 class Cross(VGroup):                                                  |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\opengl\opengl_v |
| ectorized_mobject.py:397 in get_color                                       |
|                                                                             |
|    394     def get_color(self):                                             |
|    395         if self.has_stroke():                                        |
|    396             return self.get_stroke_color()                           |
| >  397         return self.get_fill_color()                                 |
|    398                                                                      |
|    399     def get_colors(self):                                            |
|    400         if self.has_stroke():                                        |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\geometry\shape_ |
| matchers.py:133 in get_fill_color                                           |
|                                                                             |
|   130         return self                                                   |
|   131                                                                       |
|   132     def get_fill_color(self) -> ManimColor:                           |
| > 133         return self.color                                             |
|   134                                                                       |
|   135                                                                       |
|   136 class Cross(VGroup):                                                  |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\opengl\opengl_v |
| ectorized_mobject.py:395 in get_color                                       |
|                                                                             |
|    392         return self.get_stroke_opacities()[0]                        |
|    393                                                                      |
|    394     def get_color(self):                                             |
| >  395         if self.has_stroke():                                        |
|    396             return self.get_stroke_color()                           |
|    397         return self.get_fill_color()                                 |
|    398                                                                      |
|                                                                             |
| C:\Users\Sam                                                                |
| Levey\.conda\envs\for_manim\lib\site-packages\manim\mobject\opengl\opengl_v |
| ectorized_mobject.py:409 in has_stroke                                      |
|                                                                             |
|    406     fill_color = property(get_fill_color, set_fill)                  |
|    407                                                                      |
|    408     def has_stroke(self):                                            |
| >  409         stroke_widths = self.get_stroke_widths()                     |
|    410         stroke_opacities = self.get_stroke_opacities()               |
|    411         return (                                                     |
|    412             stroke_widths is not None                                |
+-----------------------------------------------------------------------------+
RecursionError: maximum recursion depth exceeded

I think I found a fix for this, I will try to submit a PR by the end of the week.


text:
ci: upload release assets

List of Changes
This was a request from AUR package maintainer to upload the release asset to Github Release.
Explanation for Changes
Using action/upload-release-asset action this is easy.
Acknowledgement

[x] I have read the Contributing Guidelines

This is fine to add, but given how niche a use it is and the complexity of the action you'll likely have to maintain it yourself.

I don't find any better way to get upload url. Or another thing which can be done is you just create a tag and this will release instead of you creating the release. It would be rather simplified then.

source: gharchive/pull-request

repo: ManimCommunity/manim

license: MIT

license_type: permissive

license_source: github-api


text:
Improve design of documentation

List of Changes

Completely redesign example blocks with included source code
Introduce colors from color palette across our docs
Improve design of non-example code blocks

Motivation
As discussed in #607, our manim-directive generated example blocks did not have a very good design. This PR improves this. And while throwing on some custom design, I also changed some colors in our docs to match the color palette of our new logo.
Closes #612.
Acknowledgement

[x] I have read the Contributing Guidelines

Here is a quick look at how this proposed redesign looks like, I hope you like it. :-)

Wow, what a great enhancement!
Some points I see right now:

I think this blue banner in the middle does not need the title, as one can already see it in the class name. It feels a bit redundant.
Further, I think the blue is a bit too obtrusive, probably we can choose a bit lighter colour.
Especially here, it is not optimal.

Maybe one can make the "Example References" text white, or the background of it white.

Oh, and this looks a bit scary, good for Halloween, but not the best font colour I would say

also here, I think the orange and the orange-red are a bit itchy together.

This is great. Will review at length later, but this is the original
palette https://coolors.co/f4f1de-e07a5f-3d405b-81b29a-f2cc8f
On Sun, Oct 25, 2020, 9:54 AM kolibril13 notifications@github.com wrote:

also here, I think the orange and the orange-red are a bit itchy together.
[image: ddd]
https://user-images.githubusercontent.com/44469195/97109182-ffc4de00-16d1-11eb-8866-bf297118bb6b.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ManimCommunity/manim/pull/617#issuecomment-716152263,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAILYAHXG2BEYZN3JZQ3PN3SMQU3FANCNFSM4S6JS2KQ
.

I think this blue banner in the middle does not need the title, as one can already see it in the class name. It feels a bit redundant.

I can see where you are coming from; I experimented quite a bit and found that without a "title", the code seems a bit "lost". And especially for users not too deep into Python, the class name can be overlooked easily.

Further, I think the blue is a bit too obtrusive, probably we can choose a bit lighter colour.

Well, this is a personal preference but I'd really like to stick with the colors from our logo. I feel that using too many other colors introduces a sort of unrest to the overall color scheme.

Especially here, it is not optimal.
Maybe one can make the "Example References" text white, and maybe even a bit bigger font,

Good catch, I forgot about the reference blocks. Will fix in a moment.

Oh, and this looks a bit scary, good for Halloween, but not the best font colour I would say

High-contrast link colors are an absolute must, and I'd still like to stick with the logo color scheme. Blue is too dark, green is too bright -- which is why all links are orange-ish (@leotrs palette says the color actually is terracotta).

also here, I think the orange and the orange-red are a bit itchy together.

We could resolve that, although I felt that the code references should not have the standard link color (because actually not all of them do link somewhere...). I'm open for suggestions, but personally I don't mind the "itchyness" here, because I feel that the different fonts are sufficient to separate them.

I can see where you are coming from; I experimented quite a bit and found that without a "title", the code seems a bit "lost". And especially for users not too deep into Python, the class name can be overlooked easily.

This remark is especially true given that we were discussing imports to the examples over at #593.

New suggestion for example references (9c4276be):

I think this blue banner in the middle does not need the title, as one can already see it in the class name. It feels a bit redundant.

This is not true in the image that @behackl posted here. The CustomTipExample is not at the top of that chunk of code, so I think it works very well to also give it the title in blue background.

Further, I think the blue is a bit too obtrusive, probably we can choose a bit lighter colour.

I also have no problem with this blue. But if we need to, I suggest you scroll down here to "Variations" and choose one from tints, shades, or tones.

Maybe one can make the "Example References" text white, and maybe even a bit bigger font,

I suggest #F5F5F5 or #F4F1DE or something in the middle.

Oh, and this looks a bit scary, good for Halloween, but not the best font colour I would say

See here for variations of orange. I'm okay with the font not matching exactly the logo color, but it should be pretty close. For regular text, suggest #353535 or some other warm-ish gray. Although, I'm less married to this one than to my other suggestions. Just black (or near-black) works too.
Overall great stuff. I like the blue border around the code!

As a reminder to all of us: we should have a .txt file inside manim/logo that contains the hex codes of the logo colors, as well as perhaps a few variations.

Ok, I am fine with that.
I see, with the import statement, it should be fine to have the title displayed twice.
And with the colours I guess we just have to experiment until it looks good 👍🏼
Another idea: do we want to have a "Fork me un GitHub"  Ribbon?
https://tqdev.com/2019-fork-me-on-github-svg-ribbons

In general, the documentation should point to our landing page, and the GH repo. I've never liked the ribbons that say "fork me", because we actually don't want them to fork it, we want them to contribute to our repo! Also, sometimes there are "see this page on GH" buttons and it leads directly to the documentation page source code, not to the GH repo README page. I think this is annoying. Just my thoughts :)

See here for variations of orange. I'm okay with the font not matching exactly the logo color, but it should be pretty close. For regular text, suggest #353535 or some other warm-ish gray. Although, I'm less married to this one than to my other suggestions. Just black (or near-black) works too.

I checked the current colors for accessibility and noticed that the link color orange was indeed a bit too bright. A better choice is #b0604b, which is of course also darker than the logo, but still a good fit (and it is closer to the color of literals), which makes the pages also appear more homogeneous.
Regular text is currently #333, changing it to #353535 does not make a lot of difference, but I'm happy to follow your suggestion.

I suggest #F5F5F5 or #F4F1DE or something in the middle.

Hmmm. I tried around a bit, but I think also contrast-wise, choosing either just white, or #fafafa (the background color of the code segment in the examples) yields the best result. Whatever color we decide on, both the example caption and the reference caption should use it. I'll leave them both white for my next commit, we can revisit it in the next iteration.

checked the current colors for accessibility and noticed that the link color orange was indeed a bit too bright. A better choice is #b0604b, which is of course also darker than the logo, but still a good fit (and it is closer to the color of literals), which makes the pages also appear more homogeneous.

Good call. Let's go with that one.

Regular text is currently #333, changing it to #353535 does not make a lot of difference, but I'm happy to follow your suggestion.

Thanks for pointing out my useless suggestion ;)

Hmmm. I tried around a bit, but I think also contrast-wise, choosing either just white, or #fafafa (the background color of the code segment in the examples) yields the best result. Whatever color we decide on, both the example caption and the reference caption should use it. I'll leave them both white for my next commit, we can revisit it in the next iteration.

SGTM!

Looks really good already.
I just noted that we have lot of blank space on the right:

What do you think of making the page maybe 50px longer to the right side?
And do we currently match the resolution of the imgs and the videos in a way, that it is directly how they are displayed in the embedded video player?
If not, then we could also use this as a measure for the frame width.

Is it possible to disable scrollbars on the code blocks? For some zoom levels they appear but only scroll a few pixels. Also, I think it makes more sense for the examples to come before the reference section, since the examples will illustrate a lot of concepts quickly. And finally, I think the Mathematical Objects section should just be names Mobjects so that it follows the class name the way the other sections do.

I just noted that we have lot of blank space on the right:
What do you think of making the page maybe 50px longer to the right side?

I think you have this sense because your monitor is really wide. What we really need to do is check the site with different viewport sizes (using chrome dev tools for example). If anything, instead of incrementing the width, I'd suggest centering the whole content. Whitespace is inevitable on wide monitors.

Ditto what @eulertour said about scroll bars but for the navigation bar.

Interesting.
I don't have these scroll bars at a zoom level of 100%:

I'm at 110% on this PR's build at 1920x1080 resolution. (You are not seeing the latest build - you have the blue title "manim documentation")

Also, I think this was meant to be a quick look&feel update, but now we're going down the rabbit hole of responsive web design. Which is a huge rabbit hole.

@eulertour

Is it possible to disable scrollbars on the code blocks? For some zoom levels they appear but only scroll a few pixels.

Everything is possible in principle. I assume we are talking about vertical scroll bars?

Also, I think it makes more sense for the examples to come before the reference section, since the examples will illustrate a lot of concepts quickly.

Sure thing, I agree. I would actually like to reorder the items a bit more, see my suggestion in fd11553b.

And finally, I think the Mathematical Objects section should just be names Mobjects so that it follows the class name the way the other sections do.

Agreed. ae97a02e

Also, I think this was meant to be a quick look&feel update, but now we're going down the rabbit hole of responsive web design. Which is a huge rabbit hole.

Good point.
How do we want to proceed?
I would be fine with approving right now and discussing further things in a future pr.

@kolibril13

What do you think of making the page maybe 50px longer to the right side?

Ahhh, I am very cautious when it comes to changing the general layout. As @leotrs mentioned, these kind of adaptions usually bring a ton of ramifications on different screen sizes. I'd like to stay away from that within this PR -- we can revisit the idea on a follow-up PR, or when we decide that it is time to build our own theme.

And do we currently match the resolution of the imgs and the videos in a way, that it is directly how they are displayed in the embedded video player?

We do, and would need to change that if the content width on the page changed.

If the scroll bar thing is easy, let's do it now. Otherwise, let's merge this bad boi.

@eulertour @leotrs on screens that are close to the fullsize-breakpoint (i.e., wider than ~768px), removing scrollbars effectively breaks navigation on the page. An iPhone X in landscape mode is an example for a weird screen size like that:

I fear I can't offer an easy solution for now. I suggest moving this to a follow-up issue (where we maybe change the general layout / write our own documentation theme instead of using the guzzle sphinx theme).

I think I took care of all issues raised that are not related to scrollbars or changing the overall layout.
Feel free to shout at me via Discord or open follow-up issues in case I did miss something; we can take care of it in a follow-up PR. 👍

authors: behackl eulertour kolibril13 leotrs


text:
Refactor skip animations

List of Changes

Remove the skip_animations config option
Add the CairoRenderer.skip_animations instance attribute

Motivation
Currently, the config system contains two main classes of options, (i) options that set initialization defaults, and (ii) values of CLI flags. An example of (i) is that Camera uses the value of config.pixel_width and config.pixel_height to initialize the frame. An example of (ii) is that config.save_last_frame is used throughout the codebase to determine if the last frame should be saved as a PNG.
The problem is that config.skip_animations is neither (i) or (ii), so it shouldn't be part of the config system. In fact, it is the only config option that is being used as a data structure, in that many objects are reading and writing to it at different points. This is an anti pattern. To solve it, I have deleted config.skip_animations and added the attribute Renderer.skip_animations. This is exposed to the user as a possible keyword argument to Scene.
Testing Status
Local pass.
Further Comments
This PR is in preparation to other things such as #183 and #618.
Acknowledgement

[x] I have read the Contributing Guidelines

Ignore the messy commit history (I had to update my personal fork). But whoever merges this please make sure to squash and merge.


text:
Add slateJS content rendering

Resolves #37

This PR

Adds HTML elements corresponding to SlateJS API output
Adds highlight.js syntax highlighting for code blocks
Adds appropriate styles for each element

What changed

authors: Crimson-Blade dhzdhd

repo: Manipal-OSF/website


text:
minor issue fix (syntax error)

var x = new Date(), year = x.getFullYear(), x.getMonth() + 1, date = x.getDate();
This statement throws an error

x.getDate() is not valid because at that point x is not defined.
month is not defined, month=x.getMonth()+1

@JSSaini07 Looks like a minor refactoring error. Thank you for fixing it. I've left a comment. Please make the changes.

repo: ManrajGrover/geekiT


text:
CTPK export

I have no idea what I'm doing and I would appreciate some help.
Technically this is working because I changed a texture for our Metroid: Samus Returns (MSR) randomizer with this code and it also recreates the original file when loading and saving it.
Also I don't know if MSR has any file with multiple textures within one bctex file, so it is hard to write the code to support that.
Eventually, it would be nice to directly load an export a bctex file which is only a wrapper around the ctpk file but don't know what's the proper way here because OnSave always directly writes to a file. Otherwise I would suggested to let the OnSave of ctpk write to a byte array such that the OnSave of bctex can wrap around it.
Let me write some annotations via GH now.

Looks like the code is now part of a submodule / a different repository.

repo: MapStudioProject/CTR-Studio


text:
Cannot open browser, asked to update Playwright from 1.30 to 1.33

Describe the bug
When running on my CI pipeline using the latest version docker (FROM marketsquare/robotframework-browser/rfbrowser-stable:16.1), I was told that the Playwright version needs to be updated from 1.30 to 1.33.
This issue does not happen when I install the RF Browser in my local machine using pip. So it's exclusively on the docker version.
I have tried adding Playwright installation on my CI script using npx playwright install before running my test, which successfully install Playwright 1.33, but it did not solve the issue.
Anyone can help me solve this?
Screenshots
The error shown on the test log:

The console log of Playwright 1.33 installation being initiated before the test:

I am astonished that there is no response nor other person who commented on this even after two weeks since its post date.
Am I the only one using the latest Browser version? Or does everyone else not encounter the same issue?

Hi @frirasyidi
This sometimes happen, on Open-Source projects that are totally free to use.
Sometimes we just have no time to answer or no clue why this is not working on your maching.
Please try it again with the newest docker image.

@Snooz82 thanks for your reply, most appreciated.
I fully understand the limitation of an open source project, just amazed that with the popularity of the project, even after 2 months, nobody else seemed to face the same issue as I do.
So, closing the issue now.

source: gharchive/issue

repo: MarketSquare/robotframework-browser


text:
waitUntilXyzDoesNotContainxxx / getWindowSize

waitUntilXyzDoesNotxxx
http://robotframework.org/Selenium2Library/doc/Selenium2Library.htm

contains waitUntilPageDoesNotContainElement --> mapping/redirecting to waitUntilPageNotContainsElement

contains waitUntilPageDoesNotContain --> mapping/redirecting to waitUntilPageNotContains

getWindowSize now marked as robotkeyword

Thanks for your work!

license_source: bigquery


text:
[WIP] Start testing the javascript

Based on some quick research, it seems like Jasmine and Teaspoon are pretty good choices for Rails Javascript testing (mostly unit and integrational, respectively).
I've added the bare-bones (quickly) to have it run these test frameworks and will look into adding some actual tests shortly.
Addresses more of #57.

I've now added an actual test! This ensures that the global.js ready handler definitely sets the localStorage key from the gon data.

Prefer to test this with integrational tests via (probably) Capybara instead. We could investigate mocha if we want to test the javascript by itself but it's a bit pointless when most of it is 80%+ dependent on the page.

repo: Marri/glowfic

license: mit


text:
Towards v0.2.0

ADDS:

individual SE criterion per measurement ("mixed" criterion)

possibility to upper bound rho, helper util

non gaussian measurement creation

DISABLES:

SDP tests because unstable

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@e801453). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #1   +/-   ##
=========================================
  Coverage          ?   74.28%
=========================================
  Files             ?       15
  Lines             ?     1050
  Branches          ?        0
=========================================
  Hits              ?      780
  Misses            ?      270
  Partials          ?        0

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 e801453...c16547c. Read the comment docs.

authors: MartaVanin codecov-io


text:
Control of the stripes

I would like to push the two stirpes completely together in the middle and start the lines for the stripes once from above and the other from below. then I have no gap in the middle. can ma set this in the code so that it rotates the control by 180 degrees or something like that?
I would appreciate an answer.
Thanks in advance
Peter

Should be possible of course. I'm busy for the next couple of days, but I will take a look at it as soon as I can. Thanks for the suggestion. You're talking about the built-in stripes pattern, correct?

Should be possible of course. I'm busy for the next couple of days, but I will take a look at it as soon as I can. Thanks for the suggestion. You're talking about the built-in stripes pattern, correct?

Super thank you.
yes it's about the black stripe between the upper and lower stripe. Then you could connect them without a gap and then control them from above and below.

Super thank you.
yes it's about the black stripe between the upper and lower stripe. Then you could connect them without a gap and then control them from above and below.

Can you draw me a picture of what it would look like to make sure I understand correctly?
Thx

Can you draw me a picture of what it would look like to make sure I understand correctly?
Thx

I hope the drawing is understandable.
My idea would be to reverse the LED control in the software, change from current LED1 to LED144. this for every stripe, then you could connect the stripes without a gap but electrically separated and the black line would be gone.

Aha, I misunderstood at first, now I see what you are trying to do. I originally did that, but I didn't like running the wires down to the ends of the strip. However, if you don't care about that then this is easily done. Here's the code that handles it.
This would need to be changed so that they are reversed. I can change it for you but it will be a couple of days before I get around to it. In any case, the mapping is all handled in this one routine which should make it easy to change.
int AdjustStripIndex(int ix)
{
if (ix < NUM_LEDS) {
ix = (NUM_LEDS - 1 - ix);
}
ix = max(0, ix);
ix = min(STRIPLENGTH - 1, ix);
return ix;
}
This just needs to be changed to reverse the mapping to each strip.
I think... I'll consider it later this week when I have some more time to think about this carefully. But I think it will be easy to change.

Actually, this might do it...
int AdjustStripIndex(int ix)
{
if (ix >= NUM_LEDS) {
ix = (NUM_LEDS - 1 - ix);
}
ix = max(0, ix);
ix = min(STRIPLENGTH - 1, ix);
return ix;
}

I think the above will work, all you do is change the < to >=. I'll test it later this week if you don't have time to test it. I think it will work, but sometimes I make mistakes. :-)

BTW, I think you have a really good idea. Without those wires you can easily mash the led's close together and get rid of the black stripe down the middle. I designed a clip to hold the wires to the aluminum extrusion, but I didn't like having that wire running down to the end. But maybe having that is ok given that the black stripe disappears. Next time I work on the software I might add this as an option so it will be easy to change for either wiring method.
Thanks for the idea. I appreciate it when people suggest good ideas. I never think of everything.

great, thank you very much for the work. the stick works great. is already my third project which I am recreating, but this one is really perfect. Thanks a lot for this. i will test it on the weekend. the wires can be hidden in my profile on the sides. I will report it.

I'm going to put a new option in the code. I think there are three possible connections that make sense.

Both data inputs in the middle.
Both data inputs on the outside. (your idea)
Data input for stick 1 on the bottom, and the output from 1 connected to the input of 2, set the number of pixels to 288.
I'll add this option to the menu in the next couple of days.

I'm going to put a new option in the code. I think there are three possible connections that make sense.
Both data inputs in the middle.
Both data inputs on the outside. (your idea)
Data input for stick 1 on the bottom, and the output from 1 connected to the input of 2, set the number of pixels to 288.
I'll add this option to the menu in the next couple of days.

Looks like you quoted me, was there a comment also? I'm not seeing it.

Hello Martin,
i have a problem with the second LED Stripe, this one unfortunately does not work. I have selected in the menu under LED Strip Settings Total LED 288 and under LED wiring Mode 2. Unfortunately the second stripe is dead. Both LED strips are connected to the data pin input, is that correct?
What could I have done wrong here?
THX
Thomas

The code now has code for the three different wiring options. It is working, I'll close this now.

I just noticed this while cleaning my email. If I never answered… sorry.
Is this still a problem, or did you figure it out?
There are two data “output” pins. One for each strip.
Are you using my PCB, or did you make your own circuit?
If you respond to @.*** I will probably respond faster! This email is getting too much spam.
Martin
Sent from Mail for Windows 10
From: ThomasKlee64
Sent: Saturday, May 29, 2021 11:11 AM
To: MartinNohr/MagicImageWand
Cc: MartinNohr; Comment
Subject: Re: [MartinNohr/MagicImageWand] Control of the stripes (#34)
Hello Martin,
i have a problem with the second LED Stripe, this one unfortunately does not work. I have selected in the menu under LED Strip Settings Total LED 288 and under LED wiring Mode 2. Unfortunately the second stripe is dead. Both LED strips are connected to the data pin input, is that correct?
What could I have done wrong here?
THX
Thomas
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

repo: MartinNohr/MagicImageWand


text:
Kong node is not registered in kong.nodes Cassandra table

I have successfully created a two-node Cassandra cluster and data is being replicated between the nodes of the cluster. I have also created a Kong cluster containing two nodes. When I start each Kong node, it does indeed communicate with Cassandra and writes to the database and I have verified that the data written to Cassandra is replicated between the Cassandra nodes. Unfortunately, the Kong node do not communicate with each other; in essence they can't auto-join the cluster.  Below is the console output of the startup:
[INFO] Kong 0.6.1
[INFO] Using configuration: /etc/kong/kong.yml
[INFO] database...........cassandra keyspace=kong ssl=verify=false enabled=false replication_factor=1 timeout=5000 replication_strategy=NetworkTopologyStrategy contact_points=0.0.0.0:9042,172.16.32.162:9042 data_centers=DC1=2
[INFO] dnsmasq............address=127.0.0.1:8053 dnsmasq=true port=8053
[INFO] nginx .............admin_api_listen=0.0.0.0:8001 proxy_listen=0.0.0.0:80 proxy_listen_ssl=0.0.0.0:443
[INFO] serf ..............-profile=wan -rpc-addr=127.0.0.1:7373 -event-handler=member-join,member-leave,member-failed,member-update,member-reap,user:kong=/usr/local/kong/serf_event.sh -bind=172.16.32.163:7946 -node=mycompany.net_172.16.32.163:7946 -log-level=err
[INFO] Trying to auto-join Kong nodes, please wait..
[WARN] Cannot auto-join the cluster because no nodes were found
[OK] Started

The ports on which the nodes uses to communicate between each other have been opened and I have indeed verified that when both nodes are running I can access port 7946 from the neighboring node, as a Kong node is bound to this port.
What I found most peculiar is that even when a single node is running, Kong didn't write to the kong.nodes table. I would assume that if this table is not written to the kong.nodes table, Serf doesn't know how to determine which nodes are available. Is there a reason why this is not working as expected or is my assumption of how this should work invalid?

If Kong is unable to write the the nodes table, it this should be reflected in an error in error.log. Can you please check and let me know if you see anything suspicious?

Other than the following type of entry generated each time I start a Kong node, there isn't anything of note in the error.log file.
2016/02/18 21:47:28 [notice] 30035#0: signal process started

This error is repeated in the logs with the number before # and the timestamp being the only variable parts.

A few questions:

What version of Cassandra are you using?
Port 7946 should be open for both TCP and UDP traffic.

To manually invoke the cluster join, ssh into one Kong node and run the following command:
$ serf join 1.1.1.1:7946

where 1.1.1.1 is the IP address of the other node. What output do you see?

I'm running Cassandra 2.2.5. Port 7946 is open for both protocol types.
I just manually invoked  the cluster join using the suggested command above and it produced the following output:
[afajem@kong ~]$ serf join 172.16.32.163:7946
Successfully joined cluster by contacting 1 nodes.

After running the command, I then went ahead and checked the members of the cluster, using the cluster command on the Kong CLI and got this output:
[afajem@kong ~]$ kong cluster members
[INFO] Using configuration: /etc/kong/kong.yml
kong1_172.16.32.162:7946   172.16.32.162:7946  alive
kong2_172.16.32.163:7946  172.16.32.163:7946  alive

One thing to note is that I'm starting Kong using sudo.  Running the same cluster command above without sudo yields an error stating:
[INFO] Using configuration: /etc/kong/kong.yml
[ERR] serf is not running

No idea if this might have something to do with it.

@afajem, could you try to replicate this bug with 0.7.0 RC1? There was a bug in the previous 0.6.x versions, where Kong was instructing Serf to use the /tmp folder for a log file, which not always had permissions to do. This may be the cause of the failure.
Version 0.7.x fixes this bug, and I am curious to see if it also fixes your problem.

OK I'll give 0.7.0 RC1 a shot and check back with you shortly. Asking the obvious here, but I'm assuming Cassandra 2.2.5 should work as the install instructions state 2.2.x.
Also any idea when 0.7.0 will be released? Just a very rough estimate would do, as we plan to go live at the end of next month.
Thanks so much for your assistance thus far.

In one or two weeks. Looking forward to seeing if 0.7.0 fixes it.

Thanks for the release estimates.
I was able to successfully upgrade to 0.7.0 RC1 without any issues. Unfortunately the nodes are still not talking to one another. The Cassandra kong.nodes table is still not getting populated. The logs are now being written to nginx home (/usr/local/kong)
I double checked my port rules through iptables and port 7946 appears to be open:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     udp  --  any    any     anywhere             anywhere             udp dpt:7946
   57  3420 ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:7946 flags:FIN,SYN,RST,ACK/SYN

I also updated the cluster_listen ip and port to explicitly point to the node's IP address and that didn't make a difference.

I think I may have an idea of what's happening here - what OS are you running? I want to give you a patched version and see if that fixes it.

RHEL 7.2
Thanks!

I will push 0.7.0 RC2 in a couple of hours.

Perfect. I'll check it out later tonight.
Thanks so much again for the prompt response. Cheers.

@afajem here you go: https://github.com/Mashape/kong/releases/tag/0.7.0rc2

:tada: :confetti_ball: Success! I upgraded to 0.7.0 RC2 and it worked the first time.
Kong startup logs:
[INFO] Kong 0.7.0rc2
[INFO] Using configuration: /etc/kong/kong.yml
[INFO] Setting working directory to /usr/local/kong
[INFO] database...........cassandra keyspace=kong ssl=verify=false enabled=false replication_factor=1 timeout=5000 replication_strategy=NetworkTopologyStrategy contact_points=172.16.32.162:9042,172.16.32.163:9042 data_centers=DC1=2
[INFO] dnsmasq............address=127.0.0.1:8053 dnsmasq=true port=8053
[INFO] serf ..............-profile=wan -rpc-addr=127.0.0.1:7373 -event-handler=member-join,member-leave,member-failed,member-update,member-reap,user:kong=/usr/local/kong/serf_event.sh -bind=172.16.32.163:7946 -node=kong2_172.16.32.163:7946 -log-level=err
[INFO] Trying to auto-join Kong nodes, please wait..
[INFO] Successfully auto-joined 172.16.32.162:7946
[INFO] nginx .............admin_api_listen=0.0.0.0:8001 proxy_listen=0.0.0.0:80 proxy_listen_ssl=0.0.0.0:443
[OK] Started

Cassandra kong.nodes table:
cqlsh> select * from  kong.nodes ;

 name                     | cluster_listening_address | created_at
--------------------------+---------------------------+--------------------------
 kong1_172.16.32.162:7946 |        172.16.32.162:7946 | 2016-02-21 01:41:02+0000
 kong2_172.16.32.163:7946 |        172.16.32.163:7946 | 2016-02-21 01:42:52+0000

Thanks a million @thefosk for getting this issue resolved so quickly. It's really appreciated.
Cheers.

authors: afajem thefosk

repo: Mashape/kong


text:
Question on ability to tweak nginx config after refactor/cli

This is probably a question for @thefosk and @thibaultCha: I was looking at the refactor/cli branch, and I noticed the new configuration: https://github.com/Mashape/kong/blob/refactor/cli/kong.conf.default#L48. I'm wondering if after this we will still be able to tweak the nginx configuration using this new configuration flow. I think that the default nginx configuration should be tweaked for high performance, but a lot of people will want to add some tweaks I guess.

The new CLI works by compiling a hidden template with kong compile for now. This command takes a configuration file and environment variables to output an Nginx configuration file to stdout, which can be embedded in any OpenResty server:
# nginx.conf

worker_processes auto;
events {}
http {
    include 'nginx-kong.conf'; # this file is generated by 'kong compile'
}

So:
$ kong start -c kong.conf
# is equivalent to
$ kong compile -c kong.conf > nginx-kong.conf && nginx -c nginx.conf # this manual approach will require Serf to be running already

This approach is more powerful than the old one because:

one can tweak the main nginx.conf file (which can contain other servers and main settings) and simply include the Kong configuration
one can also customize the Kong configuration if needed, in-between the compiling and starting phases

Before releasing this and to allow for even more flexibility, a new option should be added to kong start to specify a custom Nginx template (which can be the Kong conf, or a full Nginx configuration):
$ kong start -c kong.conf -t /path/to/my/nginx-kong.template

This is perfect! I was just looking at the new configuration file and had missed the template compilation. Good job guys.

authors: jmdacruz thibaultCha


text:
Kong freezes when starting with an invalid Cassandra host

When starting Kong with an invalid Cassandra host I noticed it gets stuck.

# Databases configuration
databases_available:
  cassandra:
    properties:
      hosts: "example.com"
      port: 9042
      timeout: 1000
      keyspace: kong
      keepalive: 60000

My first guess is that the DNS resolution timeouts at 60 seconds which is too much.

I guess I never waited long enough to see that, but now I can confirm it does timeout eventually.

Is that under the scope of Kong? I'm not sure. What can we do about it?

We can find ways to reduce the timeout if possible, and set it to 10 seconds instead of the default 60 seconds.

Would adding a message: "[INFO] Connecting to Cassandra..." help the user understand that the CLI is actually doing stuff help? If the user sees this message hanging out, he is more likely to expect a timeout, and less confusion would occur as to what Kong is actually doing.
Otherwise, we could also use a DNS resolver locally to see if Kong can resolve the host before actually trying to connect to it. I think it is an ugly and bloated solution though.

I do think that would help, along with lowering the default timeout. What got me was that it was like 30 seconds into it freezing I was just thinking this is broken. Even right above there is the timeout=1000 so I wasn't thinking it was a Cassandra timeout at all.
Maybe we could add -v to the CLI so the user ultimately controls the level of verbosity.

I actually wanted to set that there is no way to lower the default timeout for this.

I guess the message will be even more vital then.

Technically there is a way with threads. We should show the message anyways.

#204 adds a message. Threads is part of the solution I consider "bloated".
About the -v argument: I want to do it since forever but the CLI parsing library we are using make it not easy to implement properly.

Are we closing this issue or do we still want to implement a DNS resolution timeout that overrides the system timeout?

I would close this

Can we put somewhere in the info message "60 second timeout"? It could still be confusing because it says Database.... timeout=1000 ... and then stays on Connecting to database.... for 60 seconds. That's actually what led me to believe Kong had frozen in the first place.

I am not sure 60 sec is the default everywhere

On 10 May 2015, at 13:06, Montana Flynn notifications@github.com wrote:
Can we put somewhere in the info message "60 second timeout"? It could still be confusing because it says Database.... timeout=1000 ... and then stays on Connecting to database.... for 60 seconds. That's actually what led me to believe Kong had frozen in the first place.
—
Reply to this email directly or view it on GitHub https://github.com/Mashape/kong/issues/168#issuecomment-100624877.

The other options is using the timeout property as a timeout for the DNS resolution too.

I thought we couldn't change that?

On May 11, 2015, at 12:15 PM, Marco Palladino notifications@github.com wrote:
The other options is using the timeout property as a timeout for the DNS resolution too.
—
Reply to this email directly or view it on GitHub.

I can use threads to do it (maybe), if we want to do it. Do we?

We already added a message that it's connecting to Cassandra so if it does fail users will know why. Let's close for now and we can always revisit later if need be.

authors: montanaflynn thefosk thibaultCha


text:
v8 regression in F#: Registration of consumers via System.Type broken (workaround available)

Consider this C# code:
using MassTransit;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddMassTransit(x => x.AddConsumer(typeof(MyConsumer)));

interface MyMsgType
{
}

class MyConsumer : IConsumer<MyMsgType>
{
    public Task Consume(ConsumeContext<MyMsgType> context)
    {
        throw new NotImplementedException();
    }
}

It works correctly. Specifically, the call to AddConsumer ends up here, which I assume it should:
https://github.com/MassTransit/MassTransit/blob/b3b048a90b7f8e182a4d2e18782940b1797d328a/src/MassTransit/Configuration/DependencyInjection/RegistrationConfiguratorExtensions.cs#L18-L27
Now look at the equivalent F# code:
open Microsoft.AspNetCore.Builder
open MassTransit

type MyMsgType = interface end

type MyConsumer() =
  interface IConsumer<MyMsgType> with
    member _.Consume(ctx: ConsumeContext<MyMsgType>) =
      failwith "Not implemented"

[<EntryPoint>]
let main args =
  let builder = WebApplication.CreateBuilder(args)

  builder.Services.AddMassTransit(fun (x: IBusRegistrationConfigurator) ->
    x.AddConsumer(typeof<MyConsumer>) |> ignore
  )
  |> ignore

  0

When running this, due to different overload resolution compared to C#, the call to AddConsumer ends up in a different method:
https://github.com/MassTransit/MassTransit/blob/55d596fe54d88d32cbb13a1aef4cac196f1be0af/src/MassTransit/DependencyInjection/Configuration/RegistrationConfigurator.cs#L42-L50
This method is related to IConsumerDefinition, not IConsumer. Consequently, the F# code arrives here and fails:
https://github.com/MassTransit/MassTransit/blob/b3b048a90b7f8e182a4d2e18782940b1797d328a/src/MassTransit/DependencyInjection/Configuration/DependencyInjectionConsumerRegistrationExtensions.cs#L59-L63
This worked fine in MassTransit 7.
Workaround
Force F# to choose the correct overload, for example like this:
x.AddConsumer(typeof<MyConsumer>, consumerDefinitionType = null)

Do you know the fix? I sure don't and probably won't look into it anytime soon.

Short of changing the overloads to be more F# friendly (likely a breaking change), I don't know of anything that can be done. This issue can serve as documentation for other users. Feel free to close.
Pinging @dsyme to notify of an example where a compatible change from a C# perspective in a popular package manages to break F# users.

authors: cmeeren phatboyg

repo: MassTransit/MassTransit


text:
License property improvements

This PR addresses issues raised in #494 by:

defining what an unknown value for available_licenses means;
including the structure of the database among the things that are covered by available_licenses;
introducing available_licenses_for_entries to specify licenses for database content and metadata only (without its structure).

Fixes #494.

Thanks @rartino. It would be nice to get approvals from more OPTIMADE adopters as this PR changes the interpretation of license properties (new in this release, though).

@ml-evs In the spirit of cutting down on our PR log - since you've commented on this previously - do you still think there are remaining issues, or could you consider approving it?
@merkys

It would be nice to get approvals from more OPTIMADE adopters as this PR changes the interpretation of license properties (new in this release, though).

This PR clarifies a few situations that were previously unclear, and extends what can be expressed. But as far as I see, no behavior that was well-defined with the previous PR changes by this PR. (Feel free to enlighten me if I'm missing something.)

@merkys Are you comfortable 'resolving' the two remaining conversations and merging this? (Apparently leaving conversations unresolved is now a blocker that cannot be overridden - I'm not sure how I feel about that.)

@rartino

@merkys

It would be nice to get approvals from more OPTIMADE adopters as this PR changes the interpretation of license properties (new in this release, though).

This PR clarifies a few situations that were previously unclear, and extends what can be expressed. But as far as I see, no behavior that was well-defined with the previous PR changes by this PR. (Feel free to enlighten me if I'm missing something.)

This is correct. I guess I tried to be extra-safe here with talking about the changes to the interpretation.
I have just marked all the remaining conversations about the text as resolved.

authors: merkys rartino

repo: Materials-Consortia/OPTIMADE


text:
rearrange Pause and stop buttons

I like the idea of the pause button but currently I think it might cause problems when playing a script due to the pause and the stop button being next to each other which causes the stop button to be overlaying into the actual game screen (see image)

my suggestion would be to either rearrange those buttons to be above each other or to be able to shift them around separately should you decide to keep the pause button

Stop button always overlays the game for users with 16:9 screens, like on my old phone.
It doesn't cause any problems when both buttons are side-by-side. I considered this before placing them like that.
But, if the pause button is above stop button, the script can click on pause when trying to scroll in support selection.
Moving them around separately isn't a good idea either because pause button is something that disappears when the script is not running and it is not good to mess with the screen when script is running (sure, you could pause the script and do that, but I'm still against it).

authors: MathewSachin Miepmeister

repo: MathewSachin/Fate-Grand-Automata


text:
🛑 Greenpeace App is down

In 4b42bad, Greenpeace App (https://app.greenpeace.org.ar/coupon/regular/forms/registration) was down:

HTTP code: 502
Response time: 155 ms

Resolved: Greenpeace App is back up in db7527f after 15 minutes.


text:
🛑 Connect 4 Showdown is down

In 053b7da, Connect 4 Showdown (https://connect-4-showdown.onrender.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Connect 4 Showdown is back up in 50ddd30 after 38 minutes.

repo: MatisPrograms/is-it-up


text:
ci: merge staging to master

This is an automatic PR generated by the pipeline CI/CD. This will be automatically fast-forward merged if successful.

Pipeline Attempt on 1015454347 for fe32230e55e2831b12739975fda81faad9b81c3c
https://gitlab.com/MatrixAI/open-source/js-ws/-/pipelines/1015454347

Pipeline Succeeded on 1015454347 for fe32230e55e2831b12739975fda81faad9b81c3c
https://gitlab.com/MatrixAI/open-source/js-ws/-/pipelines/1015454347

repo: MatrixAI/js-ws


text:
Coordinate marker discrepancy between Old and New Unity viewer in hospitalupper mission 5 story composite

In discord I've posted about some trouble I've had spawning an android in the misssion story script for mission 5.
There's an offset which I've accounted for, but still the character is not being spawned in expected location or at all.
For completeness sake here's the message link: https://discord.com/channels/1116018062630592593/1116021579005038713/1189479038499172423
In talking with Darkstar he says to use Unity to locate the target entity and send those to the commands editor.
I did, but the character spawned in a different location than expected still.
He showed me a screenshot of Unity with coordinates in the Day Room. I used those numbers which work fine.
He says he's using the old version of the Unity viewer before it connected with commands editor.
There seems to be a visual marker discrepency between his version of the level viewer and mine.
When I open Unity I'm seeing the same coordinates, but the marker is not the same as his;

This first screenshot is what Darkstar sent in discord to help me locate the droid position.  The numbers on the right work fine.
The coordinate maker in the screenshot though is at issue;

This is what I get in Unity when I show the same coordinates.  The marker is in the air.
I've used the viewer to location some things like smoke bombs  in the level composites without issue.
Seems to be something quirky in this mission story composite.
So is this just a setting I've got setup wrong in Unity?  Or what is going on?
The two markers are at odds given same coordinates for both.   Only difference is the different viewer version.

The coordinates you see when you select something are relative to the parent they're contained within in the hierarchy on the left - make sure you're positioning things relative to the right parent.
I'm gonna close this issue as I suspect that's the cause, but if you still can't figure it out feel free to reopen and I'll take a look when I get chance.

authors: MattFiler ghramsey

repo: MattFiler/OpenCAGE


text:
InceptionResNetV2

Well it can run, but I'm going to have to leave it overnight

How are you training it?

So its weights are pretrained on the imagenet dataset. Basically all I have to do it to retrain the first few and last few layers to adapt them to the new classes and input dimensions. Their weights are the ones that have to be retrained the most. Then I let all the weights become trainable, but i'm pretty sure they don't need to adjust much.

It's like two hours per epoch

But in one epoch it's gone from 0.5 to 0.6  balanced accuracy on the uncentered images, so it's relatively fast on a per epoch basis.

So this crashed overnight on the end of the second epoch for some reason...

No longer applicable. VGG was used instead

authors: MatthewJA josh-marsh

repo: MatthewJA/thursday


text:
Add linters and pre-commit hooks

Enable black isort, flake8 and mypy
Possibly setup an auto update ci job for pre-commit hooks

I am not a fan of pylint that usually requires many tweaks to get happy.

By default, Pylint reports most of the bugs, including some that we don't expect (unreachable code after the if-else statement). Flake8 reported fewer bugs than Pylint. It doesn't inform us about missing docstrings, incorrect naming styles and the unnecessary pass statement. However, Flake8 returns a shorter report that contains information about incorrect style, syntax inconsistencies and complexity errors that could be satisfying.

I have some bad memories of pylint having a hard handling descriptor and metaclasses which led to a lot of noise. I suggest we start with the four tools mentioned above and try to add pylint separately if we can get it to report only valid issues.

authors: MatthieuDartiailh valizadehm

repo: MatthieuDartiailh/oculy


text:
gh-492 Display version and branch name of terminology when selecting for Code Sets

Resolves #492

This is brilliant - could we roll this out easily to other places too - for example when we create model data types?  Is there an easy way to find other similar model drop-downs?

@jamesrwelch I've updated other areas which use a similar control:

I've updated the New Data Type wizard and the Element Selector (links for description fields).
Now that the label with branch/version is a shared component I've also looked at the tree views too. The new Favourites tree is updated but not the main model tree - too complex to fiddle with at the moment.

authors: jamesrwelch pjmonks

repo: MauroDataMapper/mdm-ui


text:
gh-573 Update built-in Markdown editor

Resolves #573
Note: despite requesting multiple reviewers, I think @jamesrwelch should have the final say on how the new editor UI looks/functions. Other reviewers may leave feedback on the code changes.

Move HTML and Markdown controls to a new content module
Refactor markdown-text-area component

Clean up unused code
Simplify insert text functionality

Add new toolbar with common Markdown actions. Supports:

Bold
Italic
Heading
Block quote
Bullet and numbered lists

Improve link dialog selection and text insertion
Fix style of blockquotes
Change markdown preview to swap editor and preview panes
Add keyboard shortcuts
Add placeholder text
Add new tests to verify some of the editing functions of the Markdown editor

Screenshots

Sorry, @pjmonks - would you be able to resolve the conflicts on this one again please?  I promise I'll review it before any more PRs are accepted!

This is a really good piece of work.  Some minor comments as I'm going through:

@jamesrwelch Thanks for this feedback.
For two of your points - toggle/untoggle bold and inline vs block insertion - I should point out this is very basic/minimal text insertion. I looked at some source code for Markdown editors you could install instead and they all have some level of "intelligence" as to what is currently entered, specifically state tracking - is the cursor within a bold statement or not, what current numbered item in a list you're in etc. This is too complex for me to look into at the moment so I chose to do plain text insertion and hope the user could at least see the syntax each command uses to identify what they should do. Not ideal, but otherwise I see either a new task to fix these or look into a 3rd party library.
Your other 3 points I think I can easily put in though - preview pane max-height, correct keyboard shortcuts and insert a standard link. For the keyboard shortcuts, it would be useful to me if you gave me a list of what you would expect to use on a Mac for each command since I don't use a Mac myself.

For the keyboard shortcuts, it would be useful to me if you gave me a list of what you would expect to use on a Mac for each command since I don't use a Mac myself.

The same as you have, but using Cmd rather than Ctrl.  I think this might help:  https://stackoverflow.com/questions/3902635/how-does-one-capture-a-macs-command-key-via-javascript

Updates after feedback:

Preview pane has a minimum height now
New command added - insert standard link [link text](http://url)
Updated the keyboard shortcuts to also make sense on Mac OS too - @jamesrwelch please confirm these work as I cannot test them

Keyboard shortcuts are:
Mac OS:

'Bold (⌘ + B)',
'Italic (⌘ + I)',
'Heading (⌘ + H)',
'Quote (⌘ + \')',
'Numbered list (⌘ + Shift + L)',
'Bullet list (⌘ + L)',
'Link to URL (⌘ + K)',
'Link to catalogue element (⌘ + Shift + K)'

Other:

'Bold (Ctrl + B)',
'Italic (Ctrl + I)',
'Heading (Ctrl + H)',
'Quote (Ctrl + \')',
'Numbered list (Ctrl + Shift + L)',
'Bullet list (Ctrl + L)',
'Link to URL (Ctrl + K)',
'Link to catalogue element (Ctrl + Shift + K)'


text:
Failed loop closure for full usage demo in Docker - wrong parameters settings?

Hi @MaverickPeter,
Thanks for your update and release of the full usage demo!
I've tried to run the full usage bags in Docker. However, I found that if the parameter icp_fitness_score is set at 0.1 by default, most of the loop candidates would be rejected and the point cloud maps are only partially shown (please see figures below).

If I increase the value of icp_fitness_score to 0.35, more loops would be accepted and I would be able to see more point clouds (please see figures below). But the 3 maps were still not fused and I'm not able to obtain a loop closed global map.

So is there any possible reason for this?
I'm guessing is the default parameters setting in the Docker fit for the full usage demo? What are the other important parameters that I need to fine-tune to obtain the good loop closure results for the full usage demo?
Cheers.
Best Regards,
William

Hi @WilliamWoo45, it's weird that the loops are added (black lines in the third image), but the optimization is not working. There might be some outliers in the graph that cause this problem. I'll try to reproduce this issue and fix it next week.

Hi @MaverickPeter,
Thanks for your update and release of the full usage demo!
I've tried to run the full usage bags in Docker. However, I found that if the parameter icp_fitness_score is set at 0.1 by default, most of the loop candidates would be rejected and the point cloud maps are only partially shown (please see figures below).

If I increase the value of icp_fitness_score to 0.35, more loops would be accepted and I would be able to see more point clouds (please see figures below). But the 3 maps were still not fused and I'm not able to obtain a loop closed global map.

So is there any possible reason for this? I'm guessing is the default parameters setting in the Docker fit for the full usage demo? What are the other important parameters that I need to fine-tune to obtain the good loop closure results for the full usage demo?
Cheers.
Best Regards, William

What version of video card driver are you using

Have you solved it? I have also encountered this problem

authors: DioBakery MaverickPeter WilliamWoo45 diamonazreal


text:
🛑 User BD Site is down

In e93cd94, User BD Site ($STATUS_USERBD_SITE) was down:

HTTP code: 0
Response time: 0 ms

Resolved: User BD Site is back up in d26109b after 5 minutes.


text:
KeyError 'colors' on Alacritty

Hi,
I've hit an bug affecting Alacritty specifically from what I can see - on the same machine, xfce4-terminal runs the script perfectly. Specifically, this is the error I'm getting in Alacritty:
Enter OPTION(S) : 122

Theme: Neon Night
•••••••• ••••••••

Traceback (most recent call last):
  File "<string>", line 17, in <module>
  File "/home/USERNAME/.local/lib/python3.9/site-packages/ruamel/yaml/comments.py", line 918, in __getitem__
    return ordereddict.__getitem__(self, key)
KeyError: 'colors'

I'm assuming that's referencing the apply-alacritty.py file.
For system info, running on Arch/EndeavourOS, with i3 as the WM. Thanks!

In your alacritty.yml config file, uncomment the colors key, along with primary, normal, and bright under it. You may also need to export TERMINAL=alacritty.
apply-alacritty.py reads your current config in as a dict and tries to update it with the new colors. However, since colors are in a nested dict (i.e., config['colors']['primary']), if the top-level colors dict doesn't exist, it can't reference the nested ones.

authors: jdrusso tquin

repo: Mayccoll/Gogh


text:
copyToClipBoard: add missing right border for inline code if disableInlineCopyToClipBoard=true

Minor little bug, when setting disableInlineCopyToClipBoard=true, the inline code is missing the right border:

@McShelby Weird, for me it's still happening with the latest code.

repo: McShelby/hugo-theme-relearn