v3 roadmap

Hi everyone,
We're working on a new version of this generator and your help is welcomed. Yeah :tada::tada: !
You can see the proposed changes in the v3 branch.
Why?
The main goals of this v3 are :

Update all the dependencies (latest version or alternative)
Simplify the questions process (too many questions, lots of plugins should be default)
Solve the current issues

The roadmap
PDF generation
The current PDF generation is done with davidmarkclements/bespoke-pdf and davidmarkclements/bespoke-to-pdf. It uses a NW.js app which itself uses an old Webkit engine :disappointed:.
We want authors to be able to use the latest CSS techniques if they want like flexbox and object-fit. In order to do so, we will remove the PDF option in the generator and push authors to use up-to-date projects like astefanutti/decktape.
We need to make sure that this kind of project stays compatible with this generator and the bespoke ecosystem in general.
Bespoke plugins as default

[x] bespoke-bullets
This plugin will be replaced with a new approach in the future (bespoke-builds).
[x] bespoke-scale
This plugin will be replaced with a new approach in the future (ask @mojavelinux).
[x] bespoke-hash
[x] bespoke-classes
[x] bespoke-extern
For now, this is required for PDF generation.

Bespoke plugins as option

[x] Add bespoke-multimedia as an option.

Bespoke plugins to replace

[x] Use bespoke-nav instead of bespoke-keys and bespoke-touch.
[x] Replace bespoke-theme-cube with basic styles in the generated code.

Bespoke plugins to remove

[x] bespoke-pdf
Explained in a previous section.
[x] bespoke-backdrop
Most slide deck don't really need this feature.
[x] bespoke-progress
Most of the time this feature is a distraction for the audience.
[x] bespoke-forms
Most slide deck don't really need this feature.

Generator & build dependencies to update
A lot of the gulp/build dependencies need to be updated or removed.

[x] Remove sindresorhus/opn, this behaviour feels very annoying.
[x] We also need to update to the latest yeoman generator framework.
[x] gulp-browserify seems deprecated. We will have to update to the new gulp+browserify way.
[x] Remove bower and use prismjs from NPM.
[x] prismjs support should be moved to a plugin.

Templating options
For now, only Jade is supported :cry:.

[x] Authors should be able to write plain HTML (see #35)
[x] Authors should be able to write AsciiDoc with AsciiDoctor.
[x] We need to update Jade to Pug since the project got renamed.
[x] Use coderay (and rouge) enabled with AsciiDoc and don't ask for prism in those cases

Tests

[x] Test that generated files are OK
[x] Test that gulp serve works OK
[x] Test that gulp build works OK

Great plan, @hsablonniere!

I'll explain Hubert's comment about bespoke-scale. We are planning to replace this plugin with the soon to be created bespoke-max. The reason are two-fold:

We want a name that fits better for what the plugin does, which is to maximize the slides within the viewport
When using the scale transform method, we want to apply it to a container that wraps the whole deck instead of each individual slide so that we don't introduce a new statcking context per slide and break z-index (see https://tiffanybbrown.com/2015/09/css-stacking-contexts-wtf/index.html)
We may want to stop using zoom because it's a proprietary CSS property and causes a lot of inconsistency in font rendering between browsers (esp WebKit).

gulp-browserify seems deprecated. We will have to update to the new gulp+browserify way.

For an example of how it's done now, see https://github.com/opendevise/presentation-bespoke-starter/blob/3ea129b1b96e769b3636dac8fbfc811263afa70a/gulpfile.js#L22-L33. There's a link to an article about this migration in a comment within that line range.

Replace bespoke-theme-cube with basic styles in the generated code.

:+1: The generator should encourage best practices. Using a rotating cube is not a very accessible way to give a presentation. The audience focuses more on the cube effect than they do on the content. The default theme should be something that makes the content the focus of the presentation.

@mojavelinux so true—I only ever used the cube styles when Bespoke.js itself was the presentation topic: http://markdalgleish.com/presentations/bespoke.js

If we did have a default from the existing set, I'd say most people like the Nebula theme. But I think we can create one that's even more fundamental that will provide a good hackable starting point. I'd also like to use that theme for the demos across the various plugins (where applicable) so we have some consistency there. (For example: http://opendevise.github.io/bespoke-fullscreen/)

I've reviewed the v3 branch. Overall, it looks really nice. A major step forward.
I sent a PR containing a handful of improvements. See #37.
Here are some additional items I'd like to see addressed when using AsciiDoc as the template language:

Add a .ruby-version file containing the text default (this sets up RVM correctly when entering the project)
Run bundle --path=.bundle/rubygems (and possibly gem install bundler if bundle isn't yet available) after npm install

If this command fails, issue a warning that the user must run this command to install asciidoctor-bespoke

Use README.adoc (perhaps always?)

@mojavelinux I'm almost done. I still miss the themes and I'm not sure what to do about that. I also did not updated the tests since I also don't really know what we're aiming for.

Very good. I just don't think we should worry about the themes just yet. What's important is to lay down a good foundation project and keep that maintained. Most users are going to customize the styles anyway, which we encourage, so the focus is on creating a functional, hackable project.

Hey @tiste, @mghignet, @NicolasGeraud, @antoinesd, Gillespie59 !!
If you have some time to try this v3 and give a few feedbacks it would be awesome...

@mojavelinux Should we use this.spawnCommand described here : http://yeoman.io/authoring/dependencies.html ?

@mojavelinux Right now my "smoke" tests only verify that gulp serve has a "navigable" deck on http://localhost:8080.
Do we need more? Stuffs like :

Plugins are plugged correctly
Styles are generated
...

Green bar!

Where does the test application get created when I run npm test? I'm thinking perhaps we should have a section in the README that talks about the tests, how to run them, and what to expect. Also, we should mention that the tests required Node v4+.

I think I know the answer. The sample project is generated into a random folder name inside the current user's temporary folder.

One minor thing. When generating an AsciiDoc presentation, the final message says:

I'm all done. Running npm install for you to install the required dependencies. If this fails, try running the command yourself.

It doesn't mention that it's running the bundle command.

We need to put somewhere that the following command should be run before running yo bespoke if you are generating an AsciiDoc-based presentation:
rvm use default

We can't do this in the generator because not everyone uses RVM. By doing this, it ensures the bundler gem gets installed in the correct place.

The bullets plugin needs to be configured differently when creating an AsciiDoc-based presentation to align with how the Asciidoctor Bespoke converter works.
The configuration should look like this: https://github.com/opendevise/presentation-bespoke-starter/blob/asciidoc/src/scripts/main.js#L20

The classes plugin should come first in the plugin list:
bespoke.from('article', [
  classes(),
  nav(),
  ...
]);

Almost all the plugins rely on the classes plugin, so it needs to be first to ensure the deck is initialized correctly.

I think the extern plugin should always come last.

To ensure we match the right element as the deck, and we don't include any children which are not slides, I think we should use the long-form version of the deck initializer:
bespoke.from({ parent: 'article.deck', slides: 'section' }, [
  ...
]

wdyt?

@mojavelinux specific to your last question, seems reasonable. In general I think it's better to err on the side of caution - the author can remove the "safety net" if it's really that ugly
More generally, I came here to suggest that v3 be put on npm since it seems like work on it has kinda stagnated - at a certain point it's better to just declare a project "ready" and push the remaining changes to the next major release. Slightly more frequent semver-major changes aren't the end of the world, and in the meantime, everyone will benefit from the work that's already been done.

Yes, I agree we are ready to move forward. I discussed it with @hsablonniere and we had agreed, but the end of the year / beginning of the new year threw a wrench in forward progress. Make no mistake, we're using this daily / weekly, but we're cheating by using the v3 branch.
There are three things I'd like to see changed before release:

clean task should perform sync delete (otherwise, we get a race condition when combined with other tasks)
missing aside[role=note] { display: none; } in CSS (can't remember if that one got fixed...but is needed for speaker notes)
move base styles to a separate file so user has a blank file for creating styles (eventually, we want the base styles to come from a package)

If you think any of these can be deferred, don't hesitate to suggest. We'd certainly appreciate the help to move this forward.

@mojavelinux gotcha. I have v3 installed locally, too :)
Those changes make sense; I might take a crack at them if I have some time. That being said, WRT the clean task, I'm not 100% sure but I think it's possible to have Gulp pass you a callback to be called when you're done with whatever. That would let us avoid nasty sync IO.

copy custom fonts by default

What do you mean by this? You mean if the user adds custom fonts they should be picked up automatically?

move base styles to a separate file so user has a blank file for creating styles (eventually, we want the base styles to come from a package)

About to send a PR for this one.

You mean if the user adds custom fonts they should be picked up automatically?

Correct. In the fonts directory adjacent to images. Just about any well-designed presentation is going to use a custom font. You could link to Google Fonts, but then the presentation depends on an internet connection, which never works prior to walking on stage.

I'm not 100% sure but I think it's possible to have Gulp pass you a callback to be called when you're done with whatever. That would let us avoid nasty sync IO.

While that's true, it can't block subsequent tasks. The way the delete task is wired in, it's intended to be a sync operation...otherwise it doesn't make much sense.
Here's how I did it. Pretty straightforward:
  return del.sync('dist');

(same for other other delete operations).
Of course, I really question whether clean should be wired to every task anyway. That seems like a bad practice. Output files should only be cleaned if the user requests it (or we do it intelligently).

To clarify, what it breaks is the following:
gulp clean build

Why does v3 generate a README.adoc instead of README.md? Markdown is far more widely used... it doesn't really make sense to me.

Because we are fans of AsciiDoc.

Shouldn't the generator try to appeal to the widest range of users, though?
I wonder if we could make this a "hidden option" through environment variables or something. Or we could make the first question ask how many questions the user wants to be asked.

I'm firm on this one. I believe AsciiDoc is a better choice for our users and I want to stick with it. It renders just as well on GitHub and thus serves the purpose just fine. If the user of the generator wants to change it afterwards, it's a very straightforward change.

I don't mean to be so tough about it, but this is the direction I decided to take for this generator. I'd rather focus on discussions about improving the generator's capabilities.

OK. I disagree, but it's definitely your call. It's not a big deal for me to just maintain a private fork with this change (rebasing from time to time), anyway.

AsciiDoc is far superior to Markdown and will eventually overtake it if I have anything to do with it. Markdown only enjoys a lead right now because AsciiDoc had no one advocating for it at the time. Users enjoy AsciiDoc far more. This is why I push for it so hard.

Version 3.0.0 is now tagged. We are waiting on permissions to publish, but that should happen shortly after this comment is posted.


Draw CGPaths

Implement the drawing functionality for CGPaths. This is done via CGContextAddPath and CGContextStrokePath. Implement any missing CGContextPath APIs.

This is also partly covered by #1238.

Of note: The path will be stored transformed (!), and must be detransformed before draw lest we double transform it.


Added a section on creating a custom animation to the "Manim's building blocks" tutorial

Changelog / Overview

Add Custom Animation section in docs building blocks page
Motivation

https://github.com/ManimCommunity/manim/discussions/1669#discussioncomment-905749
Explanation for Changes

Documentation Reference

Checklist

[x] I have read the Contributing Guidelines
[x] I have written a descriptive PR title (see top of PR template for examples)
[x] I have written a changelog entry for the PR or deem it unnecessary
[x] My new functions/classes either have a docstring or are private
[x] My new functions/classes have tests added and (optional) examples in the docs
[x] My new documentation builds, looks correctly formatted, and adds no additional build warnings

Reviewer Checklist

[ ] The PR title is descriptive enough
[ ] The PR is labeled correctly
[ ] The changelog entry is completed if necessary
[ ] Newly added functions/classes either have a docstring or are private
[ ] Newly added functions/classes have tests added and (optional) examples in the docs
[ ] Newly added documentation builds, looks correctly formatted, and adds no additional build warnings

Here is the situation now,
I've three examples for explaining Custom Animation: One is the answer that I wrote here https://github.com/ManimCommunity/manim/discussions/1669#discussioncomment-872876, the second one is a bit complex but nice example to explain the need for custom animation and I just wrote the third one.
Which one would be best for the same?
1. Rotation Animation
Code
class RotationAnimation(Animation):
    def __init__(self, mobject, angle, **kwargs):
        self.angle = angle
        super().__init__(mobject, **kwargs)

    def interpolate_mobject(self, alpha):
        self.mobject.set_points(self.starting_mobject.get_points())
        self.mobject.rotate(alpha * self.angle)

class RotationScene(Scene):
    def construct(self):
        self.play(
            RotationAnimation(Square(), 45 * DEGREES),
            rate_func=linear,
            run_time=1
        )

Output
https://user-images.githubusercontent.com/49190295/124164247-1cfe4780-dabe-11eb-9b17-5f51f36901c2.mp4

2. Bar Chart Creation
Code
class Bar(VGroup):
    def __init__(
        self,
        value,
        range=(0, 100),
        bar_max_height=4,
        bar_rect_config=dict(
            stroke_color=WHITE,
            fill_color=BLUE,
            fill_opacity=1.0,
            width=2
        ),
        **kwargs
    ):
        super().__init__(**kwargs)
        self.value = value
        self.range = range
        self.bar_height = bar_max_height * (value - range[0]) / (range[1] - range[0])
        self.bar_rect = Rectangle(height=self.bar_height, **bar_rect_config)
        self.bar_label = Integer(value)
        self.add(self.bar_rect, self.bar_label)
        self.arrange(DOWN)

class BarChart(VGroup):
    def __init__(
        self,
        values,
        range=(0, 100),
        bar_max_height=4,
        **kwargs
    ):
        super().__init__(**kwargs)
        self.values = values
        self.range = range
        self.bars = [
            Bar(value, range, bar_max_height, **kwargs)
            for value in values
        ]
        self.add(*self.bars)
        self.arrange(aligned_edge=DOWN)

class CreateBarChart(Animation):
    def __init__(self, mobject: BarChart, **kwargs) -> None:
        super().__init__(mobject, ** kwargs)

    def interpolate_mobject(self, alpha: float) -> None:
        assert(isinstance(self.mobject, BarChart))

        for bar in self.mobject.bars:
            height = alpha * bar.bar_height
            value = bar.range[0] + (alpha * (bar.value - bar.range[0]))

            if height > 0:
                bar.bar_rect.stretch_to_fit_height(height, about_edge=DOWN)
            if value >= 10:
                bar.bar_label.set_value(int(value))

class ExplainBarChart(Scene):
    values = [73, 81, 56, 63, 99, 60]

    def construct(self):
        bar_chart = BarChart(self.values)
        self.play(
            CreateBarChart(bar_chart),
            run_time=5,
            rate_func=linear
        )
        self.wait()

Output
https://user-images.githubusercontent.com/49190295/124164457-49b25f00-dabe-11eb-8a21-215827b4b663.mp4

3. Count up to 100
Code
class Count(Animation):
    def __init__(self, num: DecimalNumber, to: float, start: float = None, ** kwargs) -> None:
        super().__init__(num,  **kwargs)
        self.start, self.to = start or num.get_value(), to
        num.set_value(self.start)

    def interpolate_mobject(self, alpha: float) -> None:
        value = self.start + (alpha * (self.to - self.start))
        self.mobject.set_value(value)

class CountingScene(Scene):
    def construct(self):
        num = DecimalNumber()
        self.play(Count(num, 100), run_time=4, rate_func=linear)
        self.wait()

Output
https://user-images.githubusercontent.com/49190295/124164485-51720380-dabe-11eb-98d1-ca1203633ecc.mp4

I still prefer 2nd example since it better justifies the use of custom animation but if it's too big, I think 3rd one is better than 1st.

Also, why is Read the Docs build failing? There seems to be an error in examples.rst which this pr doesn't even touch

Also, why is Read the Docs build failing? There seems to be an error in examples.rst which this pr doesn't even touch

It's caused by the upgrade of an external package. Will be resolved once #1740 is merged.

Rotation Animation
Bar Chart Creation
Count up to 100

@WampyCakes, Can you suggest to me which example should I proceed with?

I might have forgotten about this PR 😅
I like the bar chart the most, but it seems overkill. Counting to 100 is a good one as it demonstrates more of how the interpolate function works in an animation and isn't redudant to one of our actual animations (Rotate). I think you should just be clear tho in the explanation that if you want to animate a number going up in Manim it isn't actually necessary to write a custom animation and that this is merely an example. I don't want people to read through that portion of the docs and think the barrier to using manim is higher than it is.

I like the bar chart the most, but it seems overkill. Counting to 100 is a good one as it demonstrates more of how the interpolate function works in an animation and isn't redudant to one of our actual animations (Rotate).

Yeah, I think the counting example will be great to explain. I can explain that when alpha is 0.5, the number will be 0.5 * 100 (alpha * numberUpTo), which is 50, and so on.

I think you should just be clear tho in the explanation that if you want to animate a number going up in Manim it isn't actually necessary to write a custom animation and that this is merely an example. I don't want people to read through that portion of the docs and think the barrier to using manim is higher than it is.

I also thought of that. I'll make sure that my explanation doesn't sound like that.
I'm excited to write about this. I'll do it within few days. 😃

@WampyCakes, I've added the example for Custom Animation with the explanation here.
Please check it once and let me know if any changes are required.

Overall, a good explanation. I would like to see a short explanation on how you came up with - 50 + alpha * (100 - 50) I don't think it's the most complex thing ever, but I think some people would benefit from seeing how you arrived at that.

I've added one line explaining this, please let me know if any change is required in that.

This is optional, but a nice addition to this PR would be creating a docstring for Animation's interpolate_mobject because you reference it, but there is no documentation for it, and therefore it is not clickable yet as a reference.

I am okay with type annotations, method explanation, parameters details, etc, but what should I add in Examples?

Sorry, I forgot to finish reviewing this PR. I will take another look soon.

Sorry, I forgot to finish reviewing this PR. I will take another look soon.

No problem. Let me know if anything is required from my side.

Sorry, I forgot to finish reviewing this PR. I will take another look soon.

No problem. Let me know if anything is required from my side.

I have some issues about this CountingScene. I try to change the updater shown below
...
class CountingScene(Scene):
    def construct(self):
        ....
        # number.add_updater(lambda number: number.move_to(ORIGIN))
        number.add_updater(lambda number: number.move_to(LEFT * 5))

In fact, this DecimalNumber won't change its position with this updater.
So I think this line of code might not be taking effects. As matter of fact, you can see in the official pages, the DecimalNumber is  NOT always in the origin!
Maybe we should consider correct this example?


sql-queries-on-tables sample fails

Env:
rhel 7.3 | oracle jdk 1.8.0_161
"ballerina-platform-0.970.0-beta1" installer
Description:
sql-queries-on-tables.sh sample fails with below error

[root@ballerinaonrethat3 examples]# ballerina run sql-queries-on-tables/sql-queries-on-tables.bal
The personTable: {data: [{id:1, age:25, salary:1000.5, name:"jane", married:true}, {id:2, age:26, salary:1050.5, name:"kane", married:false}, {id:3, age:27, salary:1200.5, name:"jack", married:true}, {id:4, age:28, salary:1100.5, name:"alex", married:false}]}
The orderTable: {data: [{personId:1, orderId:1234, items:"pen, book, eraser", amount:34.75}, {personId:1, orderId:2314, items:"dhal, rice, carrot", amount:14.75}, {personId:2, orderId:5643, items:"Macbook Pro", amount:2334.75}, {personId:3, orderId:8765, items:"Tshirt", amount:20.75}]}
table personTableCopy = from personTable select ;
personTableCopy: {data: [{id:1, age:25, salary:1000.5, name:"jane", married:true}, {id:2, age:26, salary:1050.5, name:"kane", married:false}, {id:3, age:27, salary:1200.5, name:"jack", married:true}, {id:4, age:28, salary:1100.5, name:"alex", married:false}]}
error: error, message: error in executing statement : CREATE TABLE TABLE_PERSON_3 AS select *  from (select * from TABLE_PERSON_0) order by salary null error:Syntax error in SQL statement "CREATE TABLE TABLE_PERSON_3 AS SELECT *  FROM (SELECT * FROM TABLE_PERSON_0) ORDER BY SALARY NULL[] "; SQL statement:
CREATE TABLE TABLE_PERSON_3 AS select *  from (select * from TABLE_PERSON_0) order by salary null [42000-175]
at queryTableWithoutJoinClause()

Suggested Labels:
Type/bug
Priority/Highest

Observed the issue with "order by" - Query2. When commenting the query2 as below other queries are working fine.

// 2. Query all records in ascending order of salary.
// table orderedPersonTableCopy = from personTable
//                                      select * order by salary;
//  io:println("table orderedPersonTableCopy = from personTable select * order by salary;");
//  io:print("orderedPersonTableCopy: ");
//  io:println(orderedPersonTableCopy);

on ubuntu 16.04 the error is
ballerina: cannot find file '/home/shavantha/products/ballerina/ballerina-examples/examples/testerina-assertions/testerina-assertions.bal'
les/sql-queries-on-tables/sql-queries-on-tables.bal s/ballerina/platform/ballerina-platform-0.970.0-beta4/bin$ ./ballerina run /home/shavantha/products/ballerina/ballerina-examples/examp
The personTable: table<Person> {index: [], primaryKey: [], data: [{id:1, age:25, salary:1000.5, name:"jane", married:true}, {id:2, age:26, salary:1050.5, name:"kane", married:false}, {id:3, age:27, salary:1200.5, name:"jack", married:true}, {id:4, age:28, salary:1100.5, name:"alex", married:false}]}
The orderTable: table<Order> {index: [], primaryKey: [], data: [{personId:1, orderId:1234, items:"pen, book, eraser", amount:34.75}, {personId:1, orderId:2314, items:"dhal, rice, carrot", amount:14.75}, {personId:2, orderId:5643, items:"Macbook Pro", amount:2334.75}, {personId:3, orderId:8765, items:"Tshirt", amount:20.75}]}
table<Person> personTableCopy = from personTable select *;
personTableCopy: error: error
	at ballerina.io:println(<native>)

Verified fixed with beta13, hence closing.
@shavantha , you should be navigated to the directory that contains the .bal file; check sql-queries-on-tables.sh


Site saying .well-known not setup, but looks like redirects are funcitonal.

The user site says that I don't have re-directs and that I need to setup .well-known. Looking at the test in models.py, I think the test should pass.
When I get host-meta it returns
<?xml version='1.0' encoding='UTF-8'?>
<XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'>
  <Link rel='lrdd' type='application/json'
        template='https://fed.brid.gy/.well-known/webfinger?resource={uri}' />
</XRD>

Which looks correct to me.
When I request<EMAIL_ADDRESS>it returns:
<?xml version='1.0' encoding='UTF-8'?>
<XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'>

<EMAIL_ADDRESS>
    <Alias>https://kongaloosh.com/</Alias>

    <Alias>https://twitter.com/kongaloosh</Alias>

    <Alias>https://www.facebook.com/alex.k.kearney</Alias>

    <Alias>https://github.com/Kongaloosh</Alias>

    <Alias>https://instagram.com/kongaloosh</Alias>

    <Alias>https://ca.linkedin.com/in/alexandrakearney</Alias>

    <Link rel='http://webfinger.net/rel/profile-page' type='text/html' href='https://kongaloosh.com/' />

    <Link rel='http://webfinger.net/rel/profile-page' type='text/html' href='https://twitter.com/kongaloosh' />

    <Link rel='http://webfinger.net/rel/profile-page' type='text/html' href='https://www.facebook.com/alex.k.kearney' />

    <Link rel='http://webfinger.net/rel/profile-page' type='text/html' href='https://github.com/Kongaloosh' />

    <Link rel='http://webfinger.net/rel/profile-page' type='text/html' href='https://instagram.com/kongaloosh' />

    <Link rel='http://webfinger.net/rel/profile-page' type='text/html' href='https://ca.linkedin.com/in/alexandrakearney' />

    <Link rel='http://webfinger.net/rel/avatar' type='' href='https://kongaloosh.com/static/img/profile.jpg' />

..... etc
</XRD>

All of the links on https://fed.brid.gy/user/kongaloosh.com seem functional.
If the issue persists, I'll take a look in the evening MST and see if I can fix it.

Ah, funny. Your redirects are duplicating the query params. eg<EMAIL_ADDRESS>currently redirects to https://fed.brid.gy/.well-known/webfinger?resource=acct:kongaloosh.com<EMAIL_ADDRESS>You're right though, everything still seems functional. I'm inclined to keep the check strict, but maybe I should relax it?

Oh, good catch! I’ll take a look at the redirect in my config and see if
that fixes the problem.
On Mon, Nov 21, 2022 at 9:52 AM Ryan Barrett @.***>
wrote:

Ah, funny. Your redirects are duplicating the query params. eg
@.***
currently redirects to
<EMAIL_ADDRESS>.
You're right though, everything still seems functional. I'm inclined to
keep the check strict, but maybe I should relax it?
—
Reply to this email directly, view it on GitHub
https://github.com/snarfed/bridgy-fed/issues/303#issuecomment-1322360334,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMELSP7P45QF6MQHR4SIITWJOSFTANCNFSM6AAAAAASGZPFPA
.
You are receiving this because you authored the thread.Message ID:
@.***>

This isn’t an issue, so I’m closing it.


added preamble deadline for proper LoRaWAN RX1+RX2 reception

Used by https://github.com/ivajloip/rust-lorawan/pull/142

We have to wait for ceekdee to come back after October 23 for review. I do not understand this code enough to make a decision.
https://github.com/embassy-rs/lora-phy/pull/29#issuecomment-1732575180

Basically it allows you to run the IRQ loop just until the preamble (or header) is received. Allows LoRaWAN RX1/RX2 windows to be properly implemented. As per spec the receiver should continue receiving the reply using RX1 settings if it's got the preamble in time, even the RX1 window is already closed.
This allows, for example, joining with high SF, as the reply takes more than a second to receive, which is longer than the window duration.


All form fields get "red" when one field is wrong

Hy, is this a Bug, or a Feature, that all form-fields goingt red and marked as "error" when one field in the form is wrong?

I have the same issue. For some reason .has-error is being add as a class to the form itself. Please help.

@bsmaha You can remove it in the .js file under $form.addClass('error') (if I'm not wrong)


Add TypeScript formatting via ts-standard

This adds support for formatting via ts-standard (TypeScript version of https://standardjs.com/)

First off, sorry about the huge delay!
I didn't test this, but everything looks as it should be. Merging.

Re: this bit of code (which we're now using for both standard and ´ts-standard`):
   ;; `ts-standard --stdin` properly uses zero vs non-zero exit codes to
   ;; indicate success vs error. However, it checks for quite a broad
   ;; range of errors, all the way up to undeclared identifiers and
   ;; such. To catch only syntax errors, we need to look specifically
   ;; for the text "Parsing error:".
   (format-all--buffer-hard
     '(0 1) ".*?:.*?:[0-9]+:[0-9]+: Parsing error:" '("tsconfig.json")

That regexp kluge is quite nasty. Do you have a simple way of contacting the authors of standard and/or ts-standard? It would be great if they could add a command line flag that only formats code without linting it.
What we'd need is something like this:

standard --format-only --stdin --stdin-filename foo
No linting
Takes unformatted code from stdin
Writes the formatted code to stdout
Errors and warnings (if any) are written to stderr
Exit status is zero if there were errors, nonzero if no errors.
If exit status is nonzero, everything written to stdout is discarded.


Test 1

Comment 1

Check 1: created issue and went straight to the board
Check 2: change location from the issue
Check 3: close issue from issue and check if it moves to done in project


nvidia_x11_beta: 450.66 -> 440.66.14

This is fetched from a different URL, so allow passing that explicitly.

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Sorry, this makes no sense, it's a driver downgrade! I rebased it without looking!

Actually, I shouldn't have closed this, 440.66 has extensions which 450.66 lacks such as VK_KHR_ray_tracing.

The custom URL is no longer necessary after the bump to 450.51, I left it in anyway but happy to remove.

Thanks for approving @baracoder. Is it possible to get this merged?

@eadwu pinging you here cause you changed the beta attribute to stable.

Is this the vulkan driver? I'm not sure how that is handled here, generally I have never seen any version bumps to the vulkan version here (I believe).

Wait I'm not sure what's the point of this, why do you want 450.51?

Not sure why you would want to downgrade.
Diffed 450.57 and 450.51 release notes and I don't see any differences from 450.51 content besides additions.

I think I may have made a mistake in using 450.51 as this wasn't a beta driver (not sure how I got that confused), thanks for catching that, @eadwu
I've bumped my branch to 450.56.11. This version does contain extensions which 450.57 doesn't.
One significant wart is that there aren't releases of nvidia-persistenced and nvidia-settings for the beta releases (issues raised: https://github.com/NVIDIA/nvidia-persistenced/issues/8 https://github.com/NVIDIA/nvidia-settings/issues/52) so I've had to add some functionality to use a different version of these than the driver; this is certainly not a configuration supported by Nvidia. However it seems to be working for me using a close but not exact version for these tools :/

Ah, I'm unable to reopen this PR as I forced pushed to my branch. The diff is here https://github.com/expipiplus1/nixpkgs/commit/31f1e6ab9c0c3defe724f4306b87717a651d90f8. If the weird version mix is acceptable for the beta driver then I can reopen

It's probably better to include it as vulkan_beta or something similar, if I'm not mistaken, I believe beta just refers to the short-lived branch for nvidia while the vulkan beta can be considered another branch.
Keep in mind you'll probably need to update the module nvidia.nix to include something like nvidiaVulkan that references nvidia_x11.vulkan_beta.


feat: add unstable features flags support

feat: add nightly flag
feat: add support for unstable features

Thank you!

Just wanted to change over to sparse registry, basically my Dockerfile is
FROM rust:latest AS chef
RUN rustup default nightly
RUN cargo -Z sparse-registry install cargo-chef
WORKDIR /ankerbase

FROM chef AS planner
COPY ./src ./src
COPY ./Cargo.lock ./Cargo.lock
COPY ./Cargo.toml ./Cargo.toml
RUN cargo chef prepare --recipe-path recipe.json --unstable_features sparse-registry

I get:
 > [planner 4/4] RUN cargo chef prepare --recipe-path recipe.json --unstable_features sparse-registry:
#15 0.300 error: Found argument '--unstable_features' which wasn't expected, or isn't valid in this context
#15 0.300
#15 0.300       If you tried to supply `--unstable_features` as a value rather than a flag, use `-- --unstable_features`
#15 0.300
#15 0.300 USAGE:
#15 0.300     cargo chef prepare --recipe-path <RECIPE_PATH>
#15 0.300
#15 0.300 For more information try --help

Shouldn't this work with this commit? Chef version gets reported as 0.1.37.
RUN cargo chef prepare --recipe-path recipe.json -Z sparse-registry didn't run either.

The flag is -Z, not --unstable-features.
You need to pass it to cook, not prepare.
You can see the available options for each command via cargo chef prepare --help and cargo chef cook --help.

Ahh, thank you, that solved it!
FROM rust:latest AS chef
RUN rustup default nightly
RUN cargo -Z sparse-registry install cargo-chef
RUN cargo chef -V
WORKDIR /app

FROM chef AS planner
COPY ./src ./src
COPY ./Cargo.lock ./Cargo.lock
COPY ./Cargo.toml ./Cargo.toml
RUN cargo chef prepare --recipe-path recipe.json

FROM chef AS builder
COPY --from=planner /app/recipe.json recipe.json
# Build dependencies - this is the caching Docker layer!
RUN cargo chef cook --release --recipe-path recipe.json -Z sparse-registry
# Build application
COPY ./src ./src
COPY ./Cargo.toml ./Cargo.toml
COPY ./Cargo.lock ./Cargo.lock
COPY ./migrations ./migrations
RUN cargo -Z sparse-registry build --release --bin app

Cut my build time in half basically. This is madness.


update recipe and fix dependencies

Checklist

[ ] Used a fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Re-rendered with the latest conda-smithy

Fixes #10

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-webservice.
I tried to re-render for you, but it looks like there was nothing to do.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge/tempora can someone please review and merge?

@pmlandwehr, friendly ping: can you please review and merge? Need this fixed for an upstream package. Thanks

@pmlandwehr, sorry, another ping: can you please get this merged to that I can proceed with fixing https://github.com/conda-forge/cherrypy-feedstock/pull/44? I will wait for another day and then I will ask someone at conda-forge/core if they can merge.


fix(package.json): update commitizen to secure version

Codecov Report

Merging #15 (12c263c) into master (2b3097d) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #15   +/-   ##
=======================================
  Coverage   89.11%   89.11%
=======================================
  Files          42       42
  Lines         588      588
  Branches       59       59
=======================================
  Hits          524      524
  Misses         60       60
  Partials        4        4

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


fix issue in SwitchSrcDstPorts() function

handle ICMP protocol as well
currently test output pkg/ibmvpc/examples/acl_testing5subnetsBased_withPGW.txt is affected by this issue

Check if icmp type and code is identical in the response direction

src and dst ports are not relevant for an ICMP connection.
If indeed in an ICMP the response type and code are identical to these in the original direction, then in order to check if an ICMP connection is stateful, switching ports directions as in SwitchSrcDstPorts() is not needed. It suffice to verify that an identical connection exists in the other direction.


Auto fix on file save

We can apply auto fix by running ruff.executeAutofix command. It would have been really nice if we get a configuration option for auto fix on file save like in coc-eslint.

Hi, please update coc-ruff as we have added a new feature.


fix postfix config file, preventing from receiving email

Hi Fabien,
Thank you very much for a pull request :+1:
Sorry for delay, i was trying to figure out a way to test things locally before i merge it but alas i have not, really need to get a test suit in this project :)

@FDT2k @adaline Can you please explain why those changes are needed, what they affect?

Hi, sorry about the late answer
I can't reproduce the original issue right now, but postfix kept showing this message about
" warning: do not list domain YOUR_DOMAIN in BOTH mydestination and virtual_mailbox_domains"
preventing me to receive emails.
It seemed to be an issue with the boot script which, I think, replaced values in this field.

I'm not really a postfix expert, but this PR looks wrong to me. Doesn't this change prevent delivery into local mailboxes?
I seem to remember having that message as well, and if I remember correctly, explanations and possible solutions (depending on the exact cause) are all over Google.


Autoloader?

First, great work on the library, looking forward to putting it to use!
Next, maybe I'm missing it, but where is the autoloader for this library?  None of the examples refer to one, and there are many use statements throughout, but no corresponding include or require statements so without a lot of work manually loading all the dependencies, every call fails....without fail.
P.S. We're not using composer.

Appreciate the detailed response and the pointer to the PSR-4 materials.  Ours is a very large project with its own autoloader and corresponding folder/class framework, and we use a number of custom loaders provided with other utilities like this one for those of us not using Composer or wanting to minimize reliance on third party software (I know, ironic) outside of small utility classes like this one.
I appreciate that we can fall back on the standard, but I might point out that, sadly, there are many more people not adhering to standards than there are to them for a variety of reasons, and that in choosing to explicitly not include an autoloader, you're making it more difficult for the majority of us to integrate your code.  Many people, us included, are pigeon holed by established projects that didn't have the benefit of the standard at the time the were created, and/or don't have the flexibility to refactor at this point.
Don't get me wrong, I really appreciate your offering this class and maintaining it, but I would argue that an autoloader is indeed very much in-scope and encourage you to supply one with your utility in the future.  Given time, and of coarse your interest, I may be able to find time to send you a PR, but won't bother if you're not interested.
Again, thanks for your efforts and for sharing!
Cheers!


RFC: Ensure sun conditions are using the right date

Description:
When evaluating sun conditions, take care to ensure we are comparing current time with solar event times for the correct day.
The added test cases:

test_if_action_before_sunrise_no_offset_kotzebue
test_if_action_after_sunrise_no_offset_kotzebue
test_if_action_before_sunset_no_offset_kotzebue
test_if_action_after_sunset_no_offset_kotzebue

all fail without this patch because events from the wrong (already passed) day were compared with.
The added test cases test sun condition at summer in Kotzebue, which has an extremely skewed local time zone: https://en.wikipedia.org/wiki/Time_zone#Skewing_of_zones, with the sun setting at 3AM local time and rising at 7 AM local time during the summer as illustrated in this chart.
Fix by testing if we got solar events from the previous local day, and if we do, use events for the next local day.
However, the conditions are still highly illogical with this change, after_sunset is for example true from 3 AM until midnight, whereas after_sunrise is true from 7 AM until midnight.
This means this condition will not work:
condition:
    condition: or  # 'when dark' condition: either after sunset or before sunrise - equivalent to a state condition on `sun.sun` of `below_horizon`
    conditions:
      - condition: sun
        after: sunset
      - condition: sun
        before: sunrise

This is very much related to the solar events using midnight in local time as a cutoff point instead of solar midnight (https://www.home-assistant.io/docs/scripts/conditions/#sun-condition).
Note: The PR currently includes some debug prints, which should be removed if the changes are deemed sound.
Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.

Please open an architecture issue that explains these changes as requested in Discord.

@armills What was discussed on discord was to change the definition of the sun conditions to, for example, use astronomical midnight as cutoff point.
This PR is just an attempt to improve to make sure we at least use the right date when evaluating the conditions, but without changing the definition.

What is the state here?

What should we do here?

I don't know enough about this topic to feel like I can make a clear decision.
My gut feeling tells me we should mark it as "after_sunrise" from when the sun rises till when it sets (so equivalent to when sun state is above_horizon). Similar for after_sunset.

This PR intends to correct a bug where the wrong day is used when evaluating sun conditions. It would be great if the changes could be reviewed.
The discussion about if the sun conditions make sense or not are not related to the bug as such.
I proposed to change the cutoff point to astronomical midnight here https://github.com/home-assistant/architecture/issues/225 to make the change non breaking for most cases and make it work for locations with very skewed time zones or within the polar circles.
Doing what @balloob is much more intuitive but would be a breaking change.
(Also, there is a warning in the docs against using the sun conditions: https://www.home-assistant.io/docs/scripts/conditions/#sunsetsunrise-condition )

@balloob Comments fixed, thanks for the review!


Release Hamcrest 2.2

I'm preparing to release Hamcrest 2.2.
This issue is to capture any problems with the release candidates, and to discuss any changes that need to be made.

I've tagged and published the first release candidate: hamcrest-java-2.2-rc1. This is now available on Maven Central.
Please test this candidate and report any problems.

When?

Now.
2.2 is now available from your favourite Maven Central mirror.


Rsinha/test deploy sentinel

Teletraan changes to enable launch template migration

Can you please update the PR description to include more comprehensive "Why?" that is a little more specific to the code changes?


Cursor position not aligned with window coordinates

Description of Issue:
Window for MCEdit-Unified shows up with buttons highlighting and tooltip appearing when the mouse cursor is well 'above' (the y-axis) of the button. It appears the y coordinate of the cursor is shifted while the x coordinate is correct. in the screenshot, the mouse cursor was actually at the top-left corner of the "Controls" button, but the highlighted button and tooltip was clearly for the "Homepage" button.
The same issue for the same version of MCEdit-Unified was reported early on 2019-July-25. However, the reporter posted it in the MCEdit2 issues page: https://github.com/mcedit/mcedit2/issues/495
MCEdit Version:
MCEdit-Unified-<IP_ADDRESS>
Minecraft Version the world was last opened in:
1.12
Operating System:
Ubuntu 18.04.3
A screenshot or full text of the error from the console:

How to reproduce:

Download MCEdit-Unified-<IP_ADDRESS>.tar.gz, unpack
Activate python2 environment, install all packages of versions required on Linux as indicated in README.md
Enter directory for MCEdit-Unified-<IP_ADDRESS>
Run 'python ./mcedit.py'. Window shows up with issue.

Hey i want give an little heads-up the team moved on to an new editor named Amulet.
(such a stuff should really be written in the  readme.md) anyway they are now over there.
https://github.com/Amulet-Team/Amulet-Map-Editor


Re-write comparison/synthetic map

Video of it working: https://www.dropbox.com/s/tgsaw44wvpzvy9y/geotaste.2023-06-14.720p.mov?dl=0

[x] Get points fed in and merged/intersected correctly
[x] Settle on design for dots, etc
[x] Add arrondissement choropleth

Design work will need to continue but this has been coded and works.


Add commentstring for nix file format

You might want to set 'comments' as well.

Added!

LGTM, thanks.

thanks both.

Thanks!


Services in update to RN 0.30

Are you planning to update Android Services for RN 0.30? If so, when it will be ready?  I need this module so I started to work on it, any tips are welcome;)

ping @devfd

ping @devfd
@jonzee I need this also and plan to start working on implementing it as well. Let me know if you make any progress


Hard dependency on Gson

Config class holds a field private Optional<ObjectMapper> objectMapper = Optional.of(new JsonObjectMapper());
and JsonObjectMapper is based on Gson api and if Gson is missing in OSGi environment because most of the time we have Jackson, the class loading will fail.
Of course we can install the Gson bundle into the OSGi runtime and it will work but when we already have Jackson present why would someone wants Gson.
I know there is an extension module available for Jackson but that does not remove the hard dependency on Gson, so a way to provide the kong.unirest.ObjectMapper implementation like kong.unirest.JacksonObjectMapper  at runtime would be good to have.
There must be very good reasons to defaults to Gson but I still thought it is good to have a pluggable mechanism without a hard dependency on any JSON library.
JJWT - https://github.com/jwtk/jjwt has this approach, please have a look.
Thanks,
Rakesh

Gson is not only used by the ObjectMapper it is also (and primarily) used by the native asJson method.
Originally Unirest used (and had a hard dependency) on org.json and returns that libraries JSONObject for it's vanilla json methods. org.json has a stipulation in it's license that it "cannot be used for evil". This prevented Unirest from being included in many open source projects and repositories.
Google got around this for Android by writing their own clean room implementation of org.json but this is not well maintained and is far behind the reference implementation. So we wrote our own clean room implementation,  Gson was chosen as the backing engine for this as I was not terribly interested in writing en entire JSON parsing engine just for unirest.
So, in order to do what you are asking, we would need the option of subbing in Jackson for Gson in that. This is not as easy as the ObjectMappers include half a dozen classes with hundreds of methods.
Gson is also used in a few other places in Unirest like the JsonPatch implementations. I'm not opposed to breaking it out like this but it IS a lot of work and the pom changes would be a breaking change for most consumers so it would need to go into the next major release.
If only Java would finally get a native std lib json parser!

hi @ryber, thanks for the prompt response.
I was searching for a clean REST client library and came to know about unirest-java and i liked it much for its cleaner design 👍
Now I understand the rationale behind Gson and seems removing it bring a lot of breaking changes which obviously not desirable for a stable code.
+1 for JDK 11 HttpClient based version 4.0.0-RC1 which is lightweight and almost no dependency(except Gson), may be this would be a pluggable version where we would be able to plugin in a Jackson or Gson based ObjectMapper at runtime.
If only Java would finally get a native std lib json parser!
Doesn't seem to be a priority there because of Jackson mainly i guess.
Also want to know about release of other clients based implementations such as Apache HC5 etc., will this be available in maven as a separate artifact or based on a classifier?
Thanks,
Rakesh

I've tried several times to get HC5 to work with Unirest's interfaces. The regular client works fine, but they radically changed the async client and I've never been able to get it to work the way Unirest wants it to work. It's all reactive streams now and anything beyond very simple use cases is quite difficult, especially when you are trying to abstract it to be generic.
Unless someone else wants to give it a wack I'm not considering ever supporting HC5. The Java11 client does most of the same things and does it pretty cleanly.

Good to know about HC5 issue here.
I also liked the JDK11 HttpClient based version, no extra dependencies, sometimes in OSGi extra dependencies make life hell. Just want to know if you have a performance benchmark b/w JDK 11 and Apache HttpClient based versions. In general how is the performance of JDK11 HttpClient, if you have measured in past?
+1 for JDK 11 HttpClient based version 4.0.0-RC1 which is lightweight and almost no dependency(except Gson), may be this would be a pluggable version where we would be able to plugin in a Jackson or Gson based ObjectMapper at runtime.
Thoughts here?
I am making myself familiar with the code, once I have good understanding i'll be able to help in making JDK11 based version free from any hard dependency, if you agree here.

I have not done any performance testing with the two clients. I don't really have the equipment necessary to do a good one and I figure someone out there is going to be doing it (probably Oracle)
If super performance is someone's goal they probably shouldn't use Unirest anyway. Why add another abstraction on top of an abstraction.
I'm ok with the concept of making the json dependency a optional plugin like jjwt (which I use all the time). But first we need to build out the abstraction so it's pluggable. Which is going to mean some additional interfaces and some kind of implementation factory. Right now JSONElement and it's inheritors are fully self contained and would need to remain so. They would need to figure out how to get the proper backing engine based on runtime.

The way I see it the refactoring could go like this:

Extract interfaces for JSONObject, JSONElement,J SONArray etc
Move Gson implementations into a different package.
Create new implementation that delegates to a different implementation (gson) of it's own interface
Create alternative Jackson implementations.

This could (and should) be done in the mainline. The only difference between the main branch and the RC branch is that in RC you must declare your implementation choice. while in main you just get gson handed to you (but you COULD override it with jackson and exclude the gson dependency.

ok, question, if we extract an interface for JSONObject what do we call it?

JsonObject (only a case difference 🤮 )
JsonObjectAccess ?
JsonObjectMethods ?
?????

JsonObject sounds ok to me.

Tried hacking  on this a bit since i t's like  -3  outside. This is going to be hard.  What I outlined above isn't going to work. I'm going to need to abstract out gson itself

This is complete as part of Unirest-4 which is in maybe the final release candidate, see https://github.com/Kong/unirest-java/discussions/429


Reserved keyword used for an attribute

When I try to minify the javascript code with Yahoo compressor, I have an exception here for example:
https://github.com/algolia/algoliasearch-client-js/blob/master/dist/algoliasearch.angular.js#L1168
The error message is: missing name after . operator

Sounds like a problem of ms module and yui https://github.com/rauchg/ms.js/pull/40.
Did we have a user experiencing this?

Yes, the issue was repported by a user. He had the issue after the release of the v3.

Ok a release will be done tomorrow with the fix I have done @Nagriar, do we have to warn someone?


Add support for mid-top, mid-bottom, mid-left, mid-right character options

This PR adds support for configuring the mid-top, mid-bottom, mid-left and mid-right characters of a table. This solves the following issue:
╔═══════════════════╤════╗
║ greetings         │    ║
╟───────╤───────────┼────╢
║ hello │ world     │ :) ║
║       ╟───────────╢    ║
║       │ beautiful │    ║
╟───────╧───────────┼────╢
║ greetings         │    ║
╚═══════════════════╧════╝

The second row is surrounded by rows that span across two columns. With custom characters, one could not change the ╤ and ╧ character individually. Similarly, the center cells can now close with a custom characters to columns spanning across rows.
The following table layout is now possible.
╔═══════════════════╤════╗
║ greetings         │    ║
╟───────┬───────────┼────╢
║ hello │ world     │ :) ║
║       ├───────────┤    ║
║       │ beautiful │    ║
╟───────┴───────────┼────╢
║ greetings         │    ║
╚═══════════════════╧════╝

I tried updating/extending all references to related configuration options. I did not add any tests as I’m not quite familar with writing them how it has been done.
Please let me know if further adjustments need to be made. I’d be happy updating the PR accordingly.

The current naming scheme is a bit inconsistent. It doesn’t support describing all character options accurately.
The name left-mid refers to ╟ in the example above, while mid-left refers to ├. I understand that changes to existing names are not possible without breaking things. Maybe, in the future, a better naming scheme can be used. It might make use of an additional qualifier specifying whether the characters is for an outer (e.g. ╟) or inner cell (e.g. ├).

Coverage remained the same at 99.815% when pulling<PHONE_NUMBER>d42a643dc624345fa536d51dffdb68 on kleinfreund:master into 6b079445973a6c93d17d3ce23c28ab611baae89b on jamestalmage:master.

That naming is too confusing considering the existing names. Let's come up with something better.
I am open to suggestions, but what about internalUp: '┴', internalDown: '┬', internalLeft....? I don't love that either, so please brainstorm something better if you can.

Also, this will definitely need tests.

That naming is too confusing considering the existing names. Let's come up with something better.

Agreed. I propose that this PR only adds new names (likely sticking to a new naming scheme) without chaning older names. This way, users get the new capabilites of specifying inner table characters better. Changing the complete naming scheme can be done in another PR which then would break things.
As we discovered, we need to distinct between outer and inner characters. That should be the first element in the string. The next elements would be row and column. That leaves us with the following naming changes—backwards-compatible and completely reworked:

Before this PR
After this PR
Future

top ─
top ─
outer-top-cell ─

top-mid ┬
top-mid ┬
outer-top-mid ┬

top-left ┌
top-left ┌
outer-top-left ┌

top-right ┐
top-right ┐
outer-top-right ┐

bottom ─
bottom ─
outer-bot-cell ─

bottom-mid ┴
bottom-mid ┴
outer-bot-mid ┴

bottom-left └
bottom-left └
outer-bot-left └

bottom-right ┘
bottom-right ┘
outer-bot-right ┘

left │
left │
outer-cell-left │

left-mid ├
left-mid ├
outer-mid-left ├

mid ─
mid ─
inner-mid-cell ─

mid-mid ┼
mid-mid ┼
inner-mid-mid ┼

right │
right │
inner-cell-right │

right-mid ┤
right-mid ┤
inner-mid-right ┤

middle │
middle │
inner-cell-mid │

mid-top ┬
inner-top-mid ┬

mid-bottom ┴
inner-bot-mid ┴

mid-left ├
outer-mid-left ├

mid-right ┤
outer-mid-right ┤

The future naming scheme can be formalized like this:
chars = Object<character-id, character>
<character-id> = <outer-or-inner>-<row-id>-<column-id>
<outer-or-inner> = 'outer'|'inner'
<row-id> = 'top'|'mid'|'bot'|'cell'
<column-id> = 'left'|'mid'|'right'|'cell'
<character> = String

The proposed future naming scheme would also allow to omit one of the prefixes (i.e. leave out outer-, implying that it’s the default).

As for tests, I did not know how to write them. I’ll try and have a look at it.
I think the tests would be more precise when we use different characters for outer and inner cells. What do you think? That way, we can expect a difference between ╟ and ├.

Looking at the tests, I find that using the same characters for the added character names (e.g. outer-mid-left ├ is the same as inner-mid-left ├) implicitly tests the new behavior since the algorithm in src/cells.js was updated. If the algorithm was not correct, the tests would already fail.
What do you think about changing the default character set in order to distinct outer and inner characters? Unfortunately, that would be a breaking change, as users’ tables would suddenly look different.
Alternativel, only the added character names get different default characters than their outer counterparts. Doing this would require updating the examples (e.g. examples/col-and-row-span-examples.js).

Coverage remained the same at 99.817% when pulling e742a93724b07d46f8d70d5213d04346d3ccee24 on kleinfreund:master into 187c6ae80b9d963c598d0cb3379153387bfb15c4 on jamestalmage:master.

I added some tests and rebased since a few pull requests were merged inbetween.
I noticed that the following produces incorrect results. The quuz column should span across row 2, column 2-3, but it always is treated as if no colSpan was set. This is unrelated to this PR, it breaks on current master as well.
const Table = require('./index.js');
const table = new Table();

table.push(
  [{ content: 'bar', rowSpan: 2 }, 'baz', 'frob']
  , [{ content: 'quuz', colspan: 2 }]
);

console.log(table.toString());

What do you think about changing the default character set in order to distinct outer and inner characters? Unfortunately, that would be a breaking change, as users’ tables would suddenly look different.

I want to avoid that if at all possible. This module has too many dependents, including npm itself.

Nah, let's make the move to the inner and outer naming convention now. We just need to make sure that the old behavior remains.
The best way to do this would be to create a normalizeChars function that will take both the old naming convention, and the new, and output a normalized config that we use internally.
It would look something like:
function normalizeChars(charConfig = {}) {
  const defaultConfig = defaultChars();
  return {
    outerTopCell: charConfig['outer-top-cell'] || charConfig.outerTopCell || charConfig.top || defaultChars.outerTopCell,
     ...
  }
}

What about this structure:
chars: {
  outer: {
    top-left: ...
  },
  inner: {
    top-left: ...
  },
  top-left: ...
}

When checking for the top-left of an outer cell, we would first check for chars.outer.top-left or followed by chars.top-left. For an inner cell we would obviously checkchars.inner instead of chars.outer. This allows you to specify characters you want to reuse for both inner and outer cells in the top level chars.whatever. It should help keep things more backwards compatible too.


Sema: silence some uncovered warnings on MSVC (NFC)

This adds an unreachable to indicate to MSVC that the switch is covered.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@swift-ci please test

Build failed
Swift Test OS X Platform
Git Sha - 87d2cdcc9e0f5e252fdc057cacf1cc61a55de922

Build failed
Swift Test Linux Platform
Git Sha - 87d2cdcc9e0f5e252fdc057cacf1cc61a55de922

@swift-ci please test Linux platform

Build failed
Swift Test Linux Platform
Git Sha - 87d2cdcc9e0f5e252fdc057cacf1cc61a55de922

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - 87d2cdcc9e0f5e252fdc057cacf1cc61a55de922

@swift-ci please test Linux platform


Aspect Ratio not honored in mobile view.

Checklist:

[x] I updated to the latest version available
[x] I cleared the cache of my browser

Release with the issue:
1.1.0
Last working release (if known):
N/A
Browser and Operating System:
Home Assistant iOS app

Description of problem:
Chrome on Windows shows the correct card for my doorbell camera that has a 3:4 aspect ratio, but mobile continues to show 16:9. If I force aspect ratio to 16:9 it shows the middle of the image on desktop, but it is showing the top of the image on mobile continually no matter what the aspect ratio is set to.

Javascript errors shown in the web inspector (if applicable):
N/A
Additional information:

And I'm dumb. I reset the frontend cache in the app (hidden in the menus) and it works fine.


wav file after dereverberator using WPE algorithm

Dear Kenichi,
I run Single channel WPE dereverberator using the following script:
python test_subband_dereverberator.py -i data/CMU/R1/M1005/KINECT/RAW/segmented/U1001_1M_16k_b16_c1.wav -o out/U1001_1M_16k_b16_c1.wav
I listened to the generated wav file and the original one, and I can't tell the difference. They sound the same. Is it normal?
Thanks,
Sanqing

The WPE is "moderate" linear processing. It would rather avoid no-linear distortion in order to maintain
speech recognition accuracy. Also, the example is done on the real data. So, you may not hear a significant difference. You can synthesize a test by convolving clean data with a room impulse response linearly. Then, you can quantize the quality with traditional signal processing criteria like DRR.

Thanks much for your reply!


Configure Mobile Services in the iOS Assistant

Tutorial URL: https://developers.sap.com/tutorials/fiori-ios-scpms-teched18-01.html
Please specify the step you are referring to: Prior to Step 1, there is a requirement to have the "Have downloaded SAP Cloud Platform SDK for iOS version 3.0 SP01" installed on the local machine.
While following the link provided to download, it redirects to another page(as it was moved), from the result page, if we try to download, it again goes back to the earlier page.
Kindly provide the correct link.
Thank you,
Jakes

This should be fixed now.


Rotation offset field

Hi, thank you for your plugin. It was really useful today as my own export script broke with the update to KiCad 6.
I had the same issue as #20 and decided to implement a rotation offset field so that I can save the rotation offsets and don't have to rotate manually on the JLC webpage each time.
Since the value in the rotation field might be incorrectly formatted (not a number) I also added displaying of errors in a message box.

That's great. Thanks @antonxy.  Any chance you can also add JLC offsets for x and y?

Hmm, yes that could be useful also. But where would you get the exact xy offset from? For rotation it's quite easy to see in JLCs order preview that your component is 90 degrees off for example. But how do you know your component is shifted by 1.2mm?

In my experience, only THT components appear shifted. It is more likely a bug in JLC 3D viewer.

In the JLCPCB component page I select PCB Footprint or Symbol , then I
click Free Trial, and land on the EasyEda page in the link below. Then I
drag the footprint and it shows the red cross hair that indicates the
expected center.  If anybody knows of an easier way please post here.
https://i.imgur.com/CEVxGMe.png
On Thu, Oct 20, 2022 at 6:02 AM antonxy @.***> wrote:

Hmm, yes that could be useful also. But where would you get the exact xy
offset from? For rotation it's quite easy to see in JLCs order preview that
your component is 90 degrees off for example. But how do you know your
component is shifted by 1.2mm?
—
Reply to this email directly, view it on GitHub
https://github.com/bennymeg/JLC-Plugin-for-KiCad/pull/21#issuecomment-1285503265,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQVMQOHZ2PX6UUDGDJCPP3WEE7FRANCNFSM6AAAAAARHNV4GY
.
You are receiving this because you commented.Message ID:
@.***>


add CI build on AppVeyor

@gep13 would you be able to do this one?
I think it's currently blocked by #2 .

A new AppVeyor build has been created here:
https://ci.appveyor.com/project/cakebuild/cake-rider
Message me on Slack if there are any environment variables that need to be set up for this to work the way you want it to.

A new AppVeyor build has been created here:
https://ci.appveyor.com/project/cakebuild/cake-rider
Message me on Slack if there are any environment variables that need to be set up for this to work the way you want it to.


remove ip6_address of the second server fail

Remove ip6_address of the second server will fail due to ip6_address is an unique key. Should save empty string of ip6_address as NULL in DB.

#1303 is a duplicate

fixed by PR #1323  and PR #1335


Compatibility with alembic 1.7

Description
fix tests using alembic 1.7
use importlib to load entry_points
remove use of pkg_resources to be consistent with alembic internal implementation
rename dummy_plugin fixture to dummy_job_plugin to be more explicit
rename entry_points fixture to dummy_migration_plugin
refactor dummy_migration_plugin to mock a package and its entry_points

Codecov Report

Merging #440 (9297340) into master (994b9b4) will decrease coverage by 0.92%.
The diff coverage is 90.00%.

@@            Coverage Diff             @@
##           master     #440      +/-   ##
==========================================
- Coverage   83.82%   82.90%   -0.93%
==========================================
  Files          76       76
  Lines        5521     5521
==========================================
- Hits         4628     4577      -51
- Misses        893      944      +51

Impacted Files
Coverage Δ

quetz/frontend.py
37.03% <50.00%> (ø)

quetz/cli.py
74.82% <100.00%> (ø)

quetz/jobs/rest_models.py
87.01% <100.00%> (ø)

quetz/main.py
88.56% <100.00%> (ø)

quetz/pkgstores.py
48.88% <0.00%> (-14.25%)
:arrow_down:

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 994b9b4...9297340. Read the comment docs.

Don't know why coverage decreases, nothing changed about pkgstores code or tests

Looks good!


Updating Examples To Function Components & Hooks

Hi, I am new to react and was just going through the documentation. When, I discovered that most of the examples in the react documentation are outdated, they still use class instead of a function component.
Few Examples Of This  :
https://reactjs.org/docs/forms.html
https://reactjs.org/docs/lifting-state-up.html

Also, I believe showing the integration of hooks in these examples, will be of much great help to beginners.

Hi @ishandeveloper.
Docs are not outdated. Class components still actively used and some features can't be implemented with hooks.
I recommend you to check this part of docs:
https://reactjs.org/docs/hooks-faq.html


ZEPPELIN-2435 Add logging level facility to frontend

What is this PR for?
Verbose logging in zeppelin-web. See the screenshot below.

Remove the first console.log since it's already printed in the following statement.

What type of PR is it?
[Improvement]
Todos
NONE
What is the Jira issue?
MINOR
How should this be tested?

start Zeppelin in dev mode (:9000)
open browser console

Screenshots (if appropriate)
Before

After

Questions:

Does the licenses files need update?
Is there breaking changes for older versions?
Does this needs documentation?

@1ambda event.data is useful for me to see what is in the json data. Could we keep that ?

@zjffdu you can expand it in browser console by clicking it.

Or do you want to see the details without click? Then, we need something like logging level in frontend.

@1ambda What I want to see is plain text json. But the expanded object seems not plain text, it contains fields __proto__. Make sense to add logging level, but not sure how to add that, I am not expert of front end, could you help add that ? Thanks

created issue https://issues.apache.org/jira/browse/ZEPPELIN-2435
Let me work it on this PR.

@1ambda Thanks

It's better to use console.debug, ... and so on.


Logtostderr should actually go to stderr

Fixes https://github.com/istio/istio/issues/17743.

@ostromart: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

e2e_operator
a60cd556b32e25d3d4fd418d38b11df90045da73
link
/test e2e_operator

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

In response to a cherrypick label: new pull request created: #692


Allow tooltip alignment to be set on row action buttons

What will this achieve?
Alleviates an issue where hovering over a row action causes a longer/scrolling Datagrid to shift. (May be more of an issue where scrollbars are not set to always show. We can allow product teams to set the tooltip alignment so that this reduces the likelihood of the datagrid shifting as scrollbars appear/disappear.
https://react.carbondesignsystem.com/?path=/docs/components-overflowmenu--overview#customizing-the-tooltip

How will success be measured?

Product teams can set align prop to change tooltip position/alignment.
Additional information

Designs
Existing code
etc

@elycheea @paul-balchin-ibm If there are more than two overflow menus, it should be left instead of top-right since the overflow menu is always at the end of the row. top-right still causes the same issue.

Thanks @SeonyuK. I'll reopen this issue and get to this ASAP.

Merged. A new update should be available next Tuesday.


Unhandled sensor type fields value timezone,utc_offset,dst,date_sunrise,date_sunset, file a PR

Lately do get the following error in the HA logs: Unhandled sensor type fields value timezone,utc_offset,dst,date_sunrise,date_sunset, file a PR
It might be as a result of a firmware update I did the other day, but not sure about that.
Although those sensors might not be interesting for HA, can someone build them into the source code, to get rid of this message?

Closing this one, as it is the same issue as #22


CVE-2023-0464 fix exponential growth of policy tree for  3.1

[ ] documentation is added or updated
[x] tests are added or updated

Approved in security repo, merged.


board: arm: Add support for WeAct Mini STM32H7B0

This board is mostly the same as mini_stm32h743.
Noatable diffrences for dt:

rcc config
octospi in quadspi mode
pinmux naming for USB and quadspi

https://builds.zephyrproject.io/zephyr/pr/80401/docs/boards/weact/mini_stm32h7b0/doc/index.html

pushed a small change to fix CI issue due to changes from #81293


corrections for graph service

the main thing that changed is that SzEntityIdentifiers references were changed to Array<string|number>
in entityGraph.service.ts.
this is a bug since the api-server itself will not know how to parse e=328746,329847,324
the format it is expecting is e=328746&e=329847&e=324
this change corrects that behavior, which is needed for D3 graph component support.
it is a breaking change, but at this point I know of no code that is currently using this class/method.

Issue number: #4


Convert Weechat from Docbook to CommonMark

This issue tracks the conversion of /doc/builders/packages/weechat.xml from Docbook to CommonMark per RFC 72.
If you intend to work on this conversion, please comment below!
Conversion instructions

Comment here that you intend to work on it. (Please also post if you stop working on it.)
Checkout a new branch of nixpkgs master.
Edit doc/builders/packages/index.xml: change weechat.xml to weechat.section.xml.
Rename doc/builders/packages/weechat.xml to weechat.section.md.
Convert the contents from Docbook to CommonMark. Follow conversion best practices. Use existing .md sections for inspiration.
Use nix-build from the doc/ folder to build the manual.
Preview the manual on your computer at http://<IP_ADDRESS>:8000/manual.html after running from doc/ folder:

nix-shell -p python3 --run 'python3 -m http.server --directory ./result/share/doc/nixpkgs'

When it looks good, submit a PR and reference this issue.

I am working on this.

Pull review is up! This was an easy one but I wanted to make sure I contribute at least for "DocsGiving" :smile: :hugs:


Run on terminal but not from the launcher

Describe the bug
I install Lens after having aws and kubectl configured and working fine.
Open Applications and click on Lens app to open or use finder search.
Try to connect a cluster add by kubeconfig and see error.
Expected behavior
The application should work fine from the launcher but it does not
Screenshots
Opened from the launcher

Opened from terminal through /Applications/Lens.app/Contents/MacOS/Lens

Environment (please complete the following information):
Lens Version: 2024.5.271333-latest
Extension API: 6.10.37
Electron: 27.3.11
Chrome: 118.0.5993.159
Node: 18.17.1
© 2023 Mirantis, Inc.
Chip: ARM, Macbook Pro M1 2021
OS: MacOS Sonoma 14.5 (23F79)
Installation method: .dmg
Logs:
When you run the application executable from command line you will see some logging output. Please paste them here:
Unable to parse config file: /Users/XXX/.aws/config
E0703 08:05:12.639441 842387 proxy_server.go:147] Error while proxying request: getting credentials: exec: executable aws failed with exit code 255
Failed to get /version for clusterId=: Internal Server Error
Kubeconfig:
apiVersion: v1
clusters:

cluster:
certificate-authority-data:
server:
name:
contexts:
context:
cluster:
user:
name:
current-context:
kind: Config
preferences: {}
users:
name:
user:
exec:
apiVersion: client.authentication.k8s.io/v1beta1
args:
- --region
- eu-west-1
- eks
- get-token
- --cluster-name
-
- --output
- json
command: aws
env:
- name: AWS_PROFILE
value: test

I install Lens after having aws and kubectl configured and working fine.

How have you configured aws on your terminal? Do you use the zsh or bash or something else? Is the setup configured within a rc or profile file?

Hi @Nokel81 I am using zsh with  zshrc


Average read time output

It would be nice if the average read time were output in addition to the word count. A wordsReadPerMinute setting could be exposed to configure it (defaulting to 200).
Typically in a Markdown writing scenario word count and average read time go hand in hand.

https://marketplace.visualstudio.com/items?itemName=vinzi.wordscounter and https://marketplace.visualstudio.com/items?itemName=kirozen.wordcounter both have this feature

Thanks, yeah I've been using https://marketplace.visualstudio.com/items?itemName=kirozen.wordcounter for a while now and it works great.

Closing as this is just a simple extension example and there is a community extension which meets the need for average read time.


Update offices for MI report

Pivotal ticket
The digital and MCTS HQ team needed to be excluded from the Financial MI report
This adds a scope and calls it in the report builder service.

👍  looks good now!


Issue with redis chart

Hello, I'm trying to get redis working with helm.
helm install --name my-release stable/redis

And I got my pod in state: CrashLoopBackOff
Here the container logs:
2016-11-17T21:25:40.471948770Z nami    INFO  Initializing redis
2016-11-17T21:25:41.249520655Z redis   INFO
2016-11-17T21:25:41.249673818Z redis   INFO  ########################################################################
2016-11-17T21:25:41.249830514Z redis   INFO   Installation parameters for redis:
2016-11-17T21:25:41.250333988Z redis   INFO     Persisted data and properties have been restored.
2016-11-17T21:25:41.250487472Z redis   INFO     Any input specified will not take effect.
2016-11-17T21:25:41.250722789Z redis   INFO   (Passwords are not shown for security reasons)
2016-11-17T21:25:41.250843384Z redis   INFO  ########################################################################
2016-11-17T21:25:41.250924778Z redis   INFO
2016-11-17T21:25:41.251102278Z nami    INFO  redis successfully initialized
2016-11-17T21:25:41.312226792Z Starting application ...
2016-11-17T21:25:41.314906154Z
2016-11-17T21:25:41.314921181Z   *** Welcome to the redis image ***
2016-11-17T21:25:41.314931714Z   *** Brought to you by Bitnami ***
2016-11-17T21:25:41.314945316Z   *** More information: https://github.com/bitnami/bitnami-docker-redis ***
2016-11-17T21:25:41.314951196Z   *** Issues: https://github.com/bitnami/bitnami-docker-redis/issues ***
2016-11-17T21:25:41.314956824Z
2016-11-17T21:25:41.687812857Z
2016-11-17T21:25:41.687854109Z *** New version available: run docker pull bitnami/redis:3.2.5-r1 to update. ***
2016-11-17T21:25:41.687865700Z
2016-11-17T21:25:55.266106849Z nami    ERROR Unable to start com.bitnami.redis: Cannot find pid file '/opt/bitnami/redis/tmp/redis.pid'.

Did I miss something ?

Hey @titilambert, are you trying this on minikube by any chance? There is a known issue on minikube with host path PVs which I've tracked down to being mysteriously caused by a chown in the entrypoint: https://github.com/bitnami/bitnami-docker-redis/blob/master/rootfs/app-entrypoint.sh#L25, but we're still not sure why that's causing this issue.
In the meantime, you could try installing the chart and disable the PVC with helm install --name my-release stable/redis --set persistence.enabled=false.

Hello ! I'm not using minikube but I'm using host path PVs to test helm.
I confirm helm install --name my-release stable/redis --set persistence.enabled=false is working.
Thanks for your answer.

@titilambert thanks for the info. In order to help me figure out what's happening with host path PVs, would you be able to see if helm install --name my-release stable/redis --set image=prydonius/redis:minikube-fix works with your PVs? Thanks!

I'm also getting this in our production k8s cluster. Not on minikube.

image=prydonius/redis:minikube-fix is not working for me either.

@databus23 thanks for checking, what type of PVs does your cluster provision? Does it work when persistence is disabled?

It does work when persistence is disabled. Our cluster uses pre-created PVs backed by nfs.

I have a similar problem using a NFS-client backed StorageClass as described in the issue https://github.com/kubernetes-incubator/external-storage/issues/104.
I don't know if its a chart or a provisioner problem. I'm trying to deploy gitlab that uses redis.

The problem in my case was to enable no_root_squash in my NFS server settings.


Adding key words to the Python tutorial

Experiment to improve SEO.

Docs Build status updates of commit 6d465bd:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

tutorials/python.yml
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Hello @jasonjoh, we want to add some keywords in the title and description to see if this improves SEO.
Would you be so kind to take a look?

Hey @isvargasmsft thanks for this. The only issue I have is that the delegated auth portion of the tutorial can also access data in a personal Microsoft account (MSA). What if we leave the title as is, and expand the description to include your keywords? The challenge is we need to keep descriptions to 150-160 characters. Maybe something like:
Build Python apps using Microsoft identity platform for authentication and Microsoft Graph for accessing data in Microsoft 365 (Office 365) or personal accounts.

@jasonjoh like that? :)


facet APIs with default visible-facet list

If annotation is not specified, the default facet list should consists of

all visible columns in the compact context
all the in-bound fks visible in the detailed context

Issue moved to informatics-isi-edu/ermrestjs #450 via ZenHub


Compiler errors while installing latest version for Swift 3 (Xcode 8)

After installing it in swift 3 using  pod 'RxBluetoothKit', Compiler shows me 53 errors in Xcode 8.
Anyway how can I install this successfully in Xcode 8?

Hi there. Which version of RxSwift is downloading while you're running pod install?
I recommend you to add this piece to your Podfile:
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['SWIFT_VERSION'] = '3.0'
        end
    end
  end```
and run `pod update`.

Let me know how it worked out for you :-)

Thanks @Kacper20
I had to do replace  pod 'RxBluetoothKit' with pod 'RxBluetoothKit', :git => 'https://github.com/Polidea/RxBluetoothKit.git', :branch => 'feature/swift-3.0'

@GauravTechbirds This is not perfect solution, because this branch is already merged into master, and we'll delete it soon. So if you want to be sure to have always-working solution i encourage you to get version from master.
pod update should do the work and download 3.0.1 version of the library for you. This version supports Swift 3.0.
In case if something would not work - please attach log received by running pod update command :)


make minor change

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

Hey @Clarkkent69 , you need to include the statement Signed-off-by: Random J Developer<EMAIL_ADDRESS>in your commit message.
Use
git commit --amend
git push --force

Also, use a separate branch from next time. Cheers :)


Light example takes a long time to set brightness when controlled by Home Assistant (CON-1304)

Describe the bug
Light example tested on ESP32-C6, ESP32-H2 and ESP32-C3 takes a long time to set a new brightness when controlled by Home Assistant via Matter. When setting a new brightness, the brightness starts fading and takes up to 20 seconds to finish setting the desired brightness. Turning on / off works as expected. Also setting brightness with some other Client, e.g. Home App from Apple, works as expected. Please see this discussion https://github.com/home-assistant/core/issues/113775#issuecomment-2037800750. As mentioned here, Home Assistant has a default transition time and esp-matter seems to not handle it correctly.
There is a workaround available. Setting 0 for transition in the Home Assistant light profile config fixes the issue, but then no transition time is applied for changing e.g. brightness.

@dheckl
We carried out some tests and it was found that executing each iteration of this callback takes around 1 ms on the Linux platform and on MCU-based platform (like ESP32), it takes around 40ms - 70ms. This eventually causes the delay in level control response from the end-devices. Even after disabling all the console logs, it came down to around 6ms for each execution, which somewhat improved the response time.
Example -
To change level by say 40 in 200ms, this callback is scheduled every 5ms (see here) to reduce brightness by 1 (see here). When callback itself takes around 50ms for each execution, overall it takes quite some time for the device to respond.
It has been fixed on the Home Assistant side in this PR https://github.com/home-assistant/core/pull/126220, which changes the default transisiton time from 2 to 0.

@dheckl Please give it a try with the latest Home Assistant code and close this if the issue is resolved

Thanks for your analysis. I can confirm that it works with transition time 0. However, very sad that we don't get it fixed with a defined transition time.


Unpredictable results when using fetchMultipleRates

Hi there,
Lovely little package, thanks for publishing it!
I just took it for a whirl and found that it returns various numbers of results, including sometimes nothing:

Is there some kind of timeout exiting too soon perhaps?
Cheers

@batjko thanks for the feedback.
Yes there is a timeout of 2000ms if provider does not respond within this time limit that provider get skipped from the result set.
In your particular case you will get result from maximum two providers yahoo and finance because European central bank only supports EUR as base currency and open exchange rates requires appId.

Ok that makes sense.
Could we get an option to specify the timeout as a parameter by any chance?
Given that it's asynchronously retrieved, I may want to give it more time...

@batjko sure we missed that out. will be added.

:+1:

Fixed,
// Add the yahoo finance provider
var provider = new swap.providers.YahooFinance();
// request timeout provider
provider.setRequestOptions({timeout: 10000});

Excellent, thank you!


When will SWAP trading be added to the wallet?

Problem you are trying to solve
Can i ask when will swap trading be added to the wallet?
Solution you'd like
Can i ask when will swap trading be added to the wallet?
Notes
No response

Are you referring to forc-wallet or the fuel wallet browser extension?
I think this question is better discussed on the forum https://forum.fuel.network/. Feel free to post over there. Closing as it doesn't related to fuelup.


add TLS auth for accessing Prometheus

This PR allows to use TLS key pair (together with CA) for authentication when accessing Prometheus that is outside the cluster. The TLS cert is optional and TLS auth is skipped in case only CA file path is provided.

Could anyone have a look please? :)

Could anyone have a look please? :)

Thank you! I signed the CLA yesterday.

Thank you! I signed the CLA yesterday.

lgtm as well, just wondering if we can have some sort of testing around this?

lgtm as well, just wondering if we can have some sort of testing around this?

And thank you @iyalang for the contribution! :raised_hands: :tada:

And thank you @iyalang for the contribution! :raised_hands: :tada:

Sure, I can write tests, but I probably won't be able to do it within the next days.

Sure, I can write tests, but I probably won't be able to do it within the next days.

No worries at all :)

No worries at all :)

@s-urbaniak I added tests for the HTTP server and solved the CLA issue. Sorry for the delay.

@iyalang awesome, thank you! I just have two nits which I would love to have addressed. Thank you!

@s-urbaniak implemented the changes

@dgrisonnet That's a very good point! I updated all valid certs, now they should expire in ~2700 years :)

Thanks you for the great work on this PR! :slightly_smiling_face: :rocket:
/lgtm

/approve

Thank you @iyalang ! :tada:

/ok-to-test


TextureHelper: bitmap internal buffer API

@googlebot I consent.

Thanks for the PR but this change adds functionality that is not specific to Filament and should therefore be in a different library. It also has arbitrary limitations (why only ANDROID_BITMAP_FORMAT_RGBA_8888 bitmaps?). Note that there is already an API to manipulate bitmaps via buffers (Bitmap.copyTo/FromBuffer) on Android.


Record auth headers

Awesome work! I have one feature request though - could it record auth headers/tokens? This would be super useful for logging which requests require authorization and how to send an authorized request

Thank you! Agreed this would be great to have, I'll take a look at implementing this.

This is now in version v1.3.0.

Perfect timing! I was just about to give this a go, legend!


Hamiltonian Cycle problem in Java

💥 Proposal
Determine whether a given graph contains the Hamiltonian Cycle or not. If it contains, then print the path.
Have you read the Contributing Guidelines on Pull Requests?
Yes.

/assign


test test test

Pushed the good stuff to master. This branch as a t.Fatal in the hopes that CI will stop sooner


Use inlineSources to bundle source file contents inside map files

Today when TSC generates sourcemaps, it doesn't include the source file contents, which means we have to include the src directory (which we didn't always do correctly.)
To sidestep this problem, we can tell the compiler to always include the source file contents, which should make it easier for consumers of the esm sources to manage using the map files.
Fixes #7544

@xirzec - any obvious negatives to this approach?

@xirzec - any obvious negatives to this approach?

The map files are bigger, but considering they are useless without the TS files, it's not like there is a way we could avoid shipping the TS file contents in some form or another anyway.

Would it be possible to update our SDK guidelines to also recommend this approach, vs the current approach of shipping all the TS files?

Would it be possible to update our SDK guidelines to also recommend this approach, vs the current approach of shipping all the TS files?

Yep, good idea

screenshot showing the dev experience - VS Code shows a source TS file from the package, even though you can see it's not part of the package on disk

@xirzec with this change, if I use go-to-definition will we still be taken to the actual source file on disk if it is available? I.e. if I observe an issue in a test or something that is resolving to another package, and I go to its definition, will I end up on the actual source file or on a reconstructed buffer that contains the sources from the map files?

@xirzec with this change, if I use go-to-definition will we still be taken to the actual source file on disk if it is available? I.e. if I observe an issue in a test or something that is resolving to another package, and I go to its definition, will I end up on the actual source file or on a reconstructed buffer that contains the sources from the map files?

It seems to honor going to the real source files. I tested it with going to definition on a function from core-http from inside search after rebuilding with the flag.

😢 go-to-def doesn't seem to work with my Emacs configuration. When I test with abort-controller package it went to the d.ts file. Maybe I will wait for @daviwil Emacs tricks to get it working

😢 go-to-def doesn't seem to work with my Emacs configuration. When I test with abort-controller package it went to the d.ts file. Maybe I will wait for @daviwil Emacs tricks to get it working

I noticed even in the old world (pre-inline sources) sometimes go to def would hit the definitions instead for certain packages/types.


Restore changes of PR #1306

Summary of the discussion
Discovered in #1322:
The commit 173ebb9427acd0cd17d8effd9ccb35c1aec7e657 of PR #1315 accidentially deleted the changes of PR #1306.
This PR restores the changes of PR #1306.
Type of change (CHANGELOG.md)
This list is taken from PR #1306 and shows what has to be restored:
Added

primary energy consumption method: A primary energy consumption calculation method is a methodology to calculate primary energy consumption.
substitution method: A substitution method is a primary energy consumption calculation method that treats renewable energy carriers as if they have similar conversion losses as a specified fossil reference energy carrier.
direct equivalent method: A direct equivalent method is a primary energy consumption calculation method that quantifies renewable and nuclear energies using its secondary energy content assuming no conversion losses.
physical method: A physical method is method to calculate primary energy consumption that quantifies and renewable and nuclear energies by attributing an efficiency value each.

Updated

Make primary energy consumption an energy consumption value: Gross inland energy consumption is an energy consumption value accounting for the total consumption of energy in a spatial region (e.g. a country).
Improve definition of gross inland energy consumption: Gross inland energy consumption is an energy consumption value ~measuring~ accounting for the total consumption of energy in a spatial region (e.g. a country).
Move methodology from oeo-model to oeo-shared. Else, the subclasses of methodology cannot be added to oeo-physical.

Workflow checklist
Automation
No automation, as only part of #1322
PR-Assignee

[ ] 🐙 Follow the Pull Request Workflow
[ ] 📝 Update the CHANGELOG.md
[ ] 📙 Add #'s to term tracker item

Reviewer

[ ] 🐙 Follow the Reviewer Guide
[ ] 🐙 Provided feedback and show sufficient appreciation for the work done

Thanks for reviewing. And don't worry, mistakes sometimes happen and in this case, it was easy to resolve.