Add support for Hooks

Description
This pull request is about adding support for hooks, a feature similar to React Hooks.
I won't go into details, feel free to check react docs on hooks for following along.
Primary goal of this pull request is to provide a standard interface for hooks which users can use to create their own hooks. Of course we'll provide few hooks as an example but our focus is more on facilitating easy yet powerful hook implementations that can be created externally.
Hooks
First things first,
A FunctionWidget/WidgetFunction is a function that returns a widget:
Widget widgetFunction() {
  return Span(
      child: Text('hello world'),
    );
}

runApp(app: widgetFunction(), ...);

Functions as such are stateless and yeild same output everytime they get called.
Hooks can powerup these functions by letting you use state and other features inside functions.
Implementation
I've tried couple of ways:
Method 1(with context + a wrapper widget)
Widget widgetFunction() => HooksWrapperWidget((context) {
  var state = context.useState(0);

  return Span(
    child: Text('You clicked me ${state.value} time!'),
    onClick: (_) => state.value++,
  );
});

runApp(app: widgetFunction(), ...);

This is without a doubt, the most reliable and safest way one can use hooks.
While this is safe it suffers from other problems. Here hooks are tightly coupled with the context and this limits them to whatever a particular context is limited to. Users who will be using hooks probably looking for something easy to reuse and extend even if it takes away few guarantees so let's see a little bit unsafe method:
Method 2
Widget widgetFunction() => HookScope(() {
  var state = useState(0);

  return Span(
    child: Text('You clicked me ${state.value} time!'),
    onClick: (_) => state.value++,
  );
});

runApp(app: widgetFunction(), ...);

This is what we're going to implement. Here, both HookScope and useState are not tied with each other and can be implemented independently, which basically means,

Users can easily implement their own hooks.
Users can easily use hooks implemented by the others.

How this works?
Similar to React, we'll rely on the order in which hooks are executed.
This puts few responsibilities on the users:

Users should always wrap their WidgetFunction in HookScope.
Users should not call Hooks inside loops, conditions, or nested functions.
Users should use Hooks at the top level of their functions, before any widget/or early return.

We'll try to throw errors or warn users where we can but just know that these rules applies to React as well(read more).
Progress
I've already got a prototype working. I'll outline a slightly different implementation(that of course can change):

[x] Add hook and scope interface
[x] Add dispatcher methods
[x] Add a standard implementation for scope(HookScope)

Rad Hooks

[x] Add useContext
[x] Add useNavigator

React Hooks

[x] Add useRef
[x] Add useState
[x] Add useEffect
[x] Add useLayoutEffect
[x] Add useMemo and useCallback

Benchmark results
Hopefully we won't be making any changes to core/existing-widgets so there will be no need.

Hi!
This looks awesome, thanks for your work! I sent a PR for package:jaspr https://github.com/schultek/jaspr/pull/27, not sure if it helps for this implementation, but I think is related. In particular, maybe it would be nice to try to accommodate MobX or other framework-wide functionalities into the implementation. The events could be provided more globally and implement Hooks along with  other things like MobX's dependency tracking from that infrastructure.
There is more discussion in the issue for the PR, but from looking at the code, maybe not requiring the RenderScope to be localized (perhaps only setting the listeners once at the top) and sending the Element that is being rebuilt or unmounted (for all children, not only for the RenderScope) would remove the need to use the RenderScope and just use Hooks or MobX from every where. Maybe the state for Hooks is only setUp if there are being used within the build method of the element to mitigate performance problems. I try to do that in the PR, by only tracking the current HookCtx but initializing only until a hook is used.
Thanks!

Hi there!
I might be completly wrong here but here's that's what I think.
I see stateful/stateless can implement RenderScope(Scope) and this will indeed allow users to use hooks without RenderScope. At least at some places. For example, this will work just fine:
Widget widgetFun() {
  var state = useState(0);

  return Text('${state.value}', onClick: (_) => state.value++);
}

runApp(app: StatefulWidget(
    ...build() {
      return widgetFunction();
    }
), ...);

I know global events will be bit different but if you think about it in current context, end results of having global events will be somewhat equivalent to having all the other elements implement RenderScope(Scope) not just stateful/stateless widgets. By other elements I mean widgets such as HTML widget that accept concrete instances of widgets instead of builder methods. While this sounds good but I don't think they'll improve the situation in any way.
Consider this example,
Widget widgetFun() {
  var state = useState(0);

  return Text('${state.value}', onClick: (_) => state.value++);
}

runApp(app: widgetFun(), ...);

Here we won't be able to do a re-render. Consider one more,
Widget widgetFun() {
  var state = useState(0);

  return Text('${state.value}', onClick: (_) => state.value++);
}

runApp(app: StatefulWidget(
    ...build() {
      return widgetFunction();
    }
), ...);

// run one more app
runApp(app: widgetFun(), ...);

Here hooks used in second app will cause the first app to re-render. I'm sure we can at least prevent listening to wrong context but I don't think we'll be able to re-render the second app so we'll eventually have to force users to wrap their widgetFunction inside a element that implements Scope which is RenderScope.

We can consider implementing scope in stateful/stateless widgets so that users can use hooks without RenderScope where possible but I think there are more issues here. Consider a stateful widget containing a large tree parts of which are conditionally rendered:
runApp(app: StatefulWidget(
  ...build(
    if(isAuthed) {
      return Widget1(
        ...
          child: widgetFun(
            ...
            useState('I will mess the other one');

            return Text('logout');
            ...

    } else {
      return Widget1(
        ...
          child: widgetFun(
            useState('please dont');

            return Text('login')

Without RenderScope on each widgetFun(s), hooks-order and semantics will not be preserved, hence breaking the foundational rules. I know it's not something users will do intentially but it can happen very easily. I'm also not saying that RenderScope solves everything but it'll prevent the above case and many others.

Yes, I believe I understand and agree with your concerns.
The implementation in the PR always has access to the specific element that is being rendered and that element has the markNeedsRebuild method which can be called the Element needs to be rebuilt by hooks or when a MobX dependency changes. As you mentioned, If we use raw function that do not specify a place within the tree (the Element) that can be re-rendered, then it will only work if they use the hooks correctly only within a Widget that has build method. While I believe most people would understand that, in Flutter one usually uses separate Widgets, I see your point and, of course, wether to require the RenderScope to make it more explicit when one can use hooks is your decision. I think we will also need to provide the Widget that can be used anywhere within the tree (the RenderScope), which in this case would be just the regular Builder since all elements would be tracked.
For the MobX dependency tracking, it is a bit different since it does not matter how people use it. If an Observable is being used within the tree, then MobX will register it as a dependency and rebuild the parent element when that dependency changes. There are no concerns about order on conditional execution that Hooks have. In this case, there would need to be a parent element not just raw functions, but perhaps runApp could set it up, or maybe an ObserverComponent that is scoped to the tree and provides MobX tracking for all its children (like in the PR https://github.com/schultek/jaspr/pull/27 where it provides Hooks and MobX tracking).
Although they could be separate functionalities, they could use the same base infrastructure and, basically, the events that you already have implemented. The PR uses the similar willRebuild, didRebuild and didUnmount callbacks for setting up both, Hooks and MobX. From the issue:

From the testing I have made I think all that is needed are these abilities:

Know when the element's build execution starts and ends (willRebuildElement and didRebuildElement).

to identify the current element when a hook or observer is used

Know when the element disposes (didUnmountElement)

to remove the tracking for MobX and dispose of all the hook effects/state created within an element

Save state for the element (With the reference to the element from willRebuildElement, one could save state)

to know what where the previously used hooks and save the tracked observables

Rebuild the element (With the reference to the element, one could execute markNeedsBuild)

to let the framework know when a dependency of the build method has changed. In the code example, I was using MobX observables for hook states, so they where being tracked automatically. (And the MobX state was created and disposed using hooks)

Thanks!

Just skimmed through the work that you've done, very impressive!
I'm wondering whether dispatching willRebuild and other calls for all elements is really necessary?
Look, the point I was trying to make earlier was very simple, a widget with build method or simply put a "build method" is a requirement for implementing hooks. The closer a build method is, the more reliable & performant our hooks will be. I think reason behind this is quite simple, a tracker in the render phase cannot be precise about the parent element under which a particular hook has executed as hooks reside in execution phase(before framework even has a chance to render). I believe what you will end up tracking is "build methods" not all elements and a better way to do that would be:

Setup tracking in widgets that have build methods(stateful, stateless, inherited etc).
Or Introduce a different widget specifically built for the purpose(like we've RenderScope here).

And when required, these widgets can be made to emit global events.

I'm wondering whether dispatching willRebuild and other calls for all elements is really necessary?

Yes, I agree. It should not be necessary, since, as you said, for these particular functionalities, what we want to track is reloadable "build methods".
I personally think that "Setup tracking in widgets that have build methods" build be a great addition. In particular, MobX tracking will allow for the developer to almost not care how to subscribe to dependencies within the widget tree, they would use the observables and they would be tracked automatically, similar to https://www.solidjs.com/ (although I believe they compile the whole thing to make it more granular). And for Hooks, it would be nicer since one would not require nesting and perhaps it would be easier to compose different functionalities (Hooks, MobX and perhaps others within the same build method). In Flutter, for example, that can't be done easily since package:flutter_hooks and package:flutter_mobx both require Elements to be implemented and you can't use MobX tracking and Hooks within the same build method (since they are different elements), you need to nest either with Observer from MobX or HookWidget from Flutter Hooks.
I would understand that you do not want to add something like the global events for build methods. However, if there is something I can do to help please let me know. Perhaps, testing a MobX tracking implementation or something.
Unrelated: I have this repo with bootstrap components, I think it would be interesting to port it to rad (although it needs more testing). At the moment it is using a package:deact fork. You can view the components in this web page and the the code of the deployed page. I was wondering what you thought about components in general. I could make an issue or PR to discuss it in more detail if you prefer.
Thanks!

In Flutter, for example, that can't be done easily since package:flutter_hooks and package:flutter_mobx both require Elements to be implemented

Most of the problems we have in Flutter doesn't exists in Rad. It's true that we provide APIs similar to Flutter(widgets) but those are powered by an enitrely different core that's built from ground up and shares nothing with the Flutter framework. You can do things like calling setState inside initState, you can also call context.dependOn inside initState and there are number of things like that.
Flutter doesn't provide anything like scope so authors have to build hooks on top of extended functionality that these authors themselves have to provide(by extending elements). Like you said, this becomes a problem when you want to use two different implementations. This pull request was really about standardizing both Scope and Hook interface so that hooks can be created without extending existing infrastructure.
You'll be able to implement MobX hooks using Hooks API and they'll work as long as you've a Scope interface in one of the ancestors. If you want to omit RenderScope, you can have a top level RenderScope, maybe at runApp and it'll power all your the hooks. We've a quite performant renderer but in case you start facing issues, just bring a build method close by wrapping the suspected part of tree with a RenderScope widget.
Whether Stateful/Stateless widgets should also provide Scope for hooks is currently under consideration. In particular I'm concerned about hooks order that can go wrong quite easily.

MobX dependency tracking, it is a bit different... there are no concerns about order or conditional execution that Hooks have.

Please correct me if I'm wrong:
var _initial = true;

build() {
  if(_initial) {
    useObs(() => 'initial').value = 'changed';

    setState(() => _initial = false);
  } else {
    print(useObs(() => 'initial').value); // <- expecting initial or is it changed
  }
}

Thanks

Yes, useObs uses observables underneath, however in the example app you can use other observable too and initialize them in any way you want, maybe with a useMemo but also you could instantiate them in a StatefulWidget State initState. For example an ObservableList or a code generated MobX store.
The ObservableComponent listens to all the builds of it's children and tracks their dependencies. The MobX part does not need hooks, If you use any observable it will be tracked. In the example, we could have two ObservableComponents, one for the HookCtx that registers a hook for a specific element and the other for the MobX ReactionImpl that tracks dependencies and rebuilds when they change.
In the snippet, it would be changed since the obs state is saved for the element. And uses the same hooks infrastructure.
I believe putting the RenderScope at the top would work and maybe using others if there are performance issues. Is there a problem with putting the RenderScope at the top if there are const Widgets? In that case the observables I think would not be updated if they are used inside the const widget, since the update is at the root and the child is const so it will not be rebuilt. Maybe a could do some tests.
Thanks!

Is there a problem with putting the RenderScope at the top if there are const Widgets?

Yes, you're right, there will be a problem if we've const Stateful/Stateless/Inherited widgets.
So having single RenderScope is not a solution.

In the snippet, it would be changed since the obs state is saved for the element.

See, what this proves is that the whole concept of hooks is fragile. It's based on mere "function call order" and if users cannot keep this call order constant, things will break. Without any help from framework side, users will have to preserve this order in entire application, which is not practical and a typical user cannot do.
While we're trying to observe(track) lifecycle of all elements only so we can re-render parts that are necessary but this process is also helping users in preserving the call order. When we track build methods we're basically chopping this single chain of function calls into smaller chains, and order of these chains can be preserved independently.  This, unfortunately, is not enough and users can easily loose track in build methods that comprises of serveral widget-functions(https://github.com/erlage/rad/pull/20#issuecomment-1207369462).
This is where our RenderScope comes in. RenderScope introduces a build method in the chain, resulting in even more but smaller chains making things easy for users. Having RenderScope on all widget-functions means a user have to think about just the function that they're working in.
To conclude, RenderScope helps both users (prevents them from writing bugs) and the framework (functionality is contained in a single unit). I too want to make RenderScope optional but I don't think by making RenderScope optional(and tracking build methods), we're going to help anyone.
Thanks!

See, what this proves is that the whole concept of hooks is fragile. It's based on mere "function call order" and if users cannot keep this call order constant, things will break. Without any help from framework side, users will have to preserve this order in entire application, which is not practical and a typical user cannot do.

Yes I think I agree, but it works in React and there are perhaps other ways to mitigate it. For example, in React they have linters that check for correct usage. Maybe something like that could be implemented so that hooks are not used in raw functions or inside conditionals. From what I can see, the only difference is that in React, every function is tracked and there would not be any problem, but in Flutter and Dart, I would say most people write the whole Widget class (and is recommended for other reasons too, performance for example specially if it is const). I think there is a discussion about linting in the flutter_hooks repo.
I believe we could separate the Hooks functionality from the MobX one. MobX do not present much problems since the developer does not need to think of using observables in a specific order or without conditionals. It actually solves them, since it does not require you to move the RenderScope if you move the observable.
I could make some tests or maybe open an issue and help with a PR if you think that the MobX part would be a good addition. We would need the global events willBuild didBuild and willUnmount.
Thanks again and I am sorry if it is becoming too long of a discussion, I just want to help and I believe this would make it easier to use. The MobX part would be a game changer I think, there would be no need for context.watch, context.listen or setState, each observable register itself to update a Widget when in changes.

Yes I think I agree, but it works in React and there are perhaps other ways to mitigate it.

I don't know the exact details but I think it's because:

They are using JS.
They have a optional build step for JSX which hides away lot of details.

var functionComponent = function() {
  var {state, setState} = useState('initial state');

  return <div>{state}</div>;
}

ReactDOM.render(
  <functionComponent />, ...
);

Becomes:
ReactDOM.render(
  React.createElement(function() {
    var state = React.useState('initial state');

    return React.createElement('div', {...});
  }), ...
);

Notice, they're passing a callback to createElement which allows their renderer to execute hooks during render(where they'll be able to precisely tell parent element). Of course there are plenty of other ways in JS so they might be doing something else as well but at least we can see that they're delaying the execution of hooks. This is something we can do in Dart if there's support for unions:
Widget widgetFun() => Text(useState('hello world').value;

runApp(app: widgetFun, ...) // -> app:  Widget | Widget Function()

I have this repo with bootstrap components I think it would be interesting to port it to rad

I think a components library will help. As long as we can maintain it, we can have it here too :)

The MobX part would be a game changer I think. I could make some tests or maybe open an issue and help with a PR if you think that the MobX part would be a good addition.

Alright. I'll take a deep look at MobX and the PR(that you linked the other day) and I'll let you know.
Thanks again, for your time & discussion. I appreciate it!


[WIP] Add GPU support into dal::csr_accessor class

Add support of the data allocated in USM into dal::csr_accessor
Changes proposed in this pull request:

Extend dal::csr_accessor's API to accept and return data allocated in USM
Update DPC kernels related to dal::csr_accessor to handle USM-allocated data properly
[In progress] Extend csr_accessor_dpc test to test the cases when csr_table's and/or pulled arrays data is allocated in USM

/intelci: run

/intelci: run

/intelci: run

/intelci: run

@alexandraepan , please review only the changes in csr_accessor.hpp file in this PR. Because the rest of the changes touch internal files - not really visible to the users.

/intelci: run

Link to the latest PreCommit: http://intel-ci.intel.com/ee31dfe7-5ddb-f1ed-a28a-a4bf010d0e2e


Class Business can generate Random Insurance Number

Random Insurance Number is generated according to these values QQ123456Q;AA123456A;XY136749X;RT438473W;RR382971F.
Test case written as well.

Current coverage is 92.08% (diff: 100%)

No coverage report found for master at 1f932ad.

Powered by Codecov. Last update 1f932ad...a331cf5

thanks for your contribution, it has been merged and is available on nuget:
https://www.nuget.org/packages/Faker.Net.Portable/<IP_ADDRESS>

Thank you for the useful library.


Added PostgreSQL

Added PostgreSQL under RDS separated RDS Aurora into RDS aurora postgres and RDS aurora MySQL.
also fixed the ordering for RDS SQL server.

FWIW, I worked with @vventirozos to put together the above changes. We work at OmniTI which is an RDS partner and Major Sponsor of the Postgres project, so we feel pretty good about the accuracy of the information. If anyone has questions they can ping me on the og-slack.
Side note, it looks like the build failures are for failing urls unrelated to our changes, so hoping we can get this merged without having to fix those.

Very well done. Thanks for the contribution!


Add support to extend class / implement interface

Hi,
i'm using JPA Modeler and i'm very greatfull.
But i need to implements some interfaces in some entities.
I tried do it with Snippets, but there's no way to set 'implements'.
I think 'implements interface' (maybe throught snippets) is a good enhancement.
Ty.

Support for both extends / implements external classes will be available,

Please install v2.6.5 : https://github.com/jGauravGupta/JPAModeler/releases/tag/2.6.5


Check why C++17 is used and if it is possible to use C++14 for the foxy release.

The binary build seems to fail as the released version uses the boost branch of the library instead of the master branch. Therefore, it doesn't export a c++17 dependency and therefore the build fails on all c++17 functionalities from this driver.
I decided to release the foxy version also from the boost branch, as the [target platform specification}(https://www.ros.org/reps/rep-2000.html#foxy-fitzroy-may-2020-may-2023) specifies c++14 for Foxy as minimum requirement.
It might be either a good idea to add the c++17 requirement to this driver or release the library's foxy package from the master branch. Any opinions?
Originally posted by @fmauch in https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver/issues/125#issuecomment-854532741

After discussion, we should go with C++17 to avoid boost dependency. Consequences of this decision should be considered.

Then I'll release the next foxy library version from the master branch. There will be a new release with the Cartesian interface pretty soon, anyway.

I triggered a new release for Foxy from the master branch (see https://github.com/ros/rosdistro/pull/29954)

@destogl this could probably get closed, right?

Closing this due to seemingly irrelevance.


Search bar

There should be a standard search bar on several pages. This should support searching for genes, variants and traits/studies.
Minimal API
Below is the subset of the graphql schema relevant to the search bar. Until such time as the actual API gives full support, front-end will mock against this schema.
type Query {
     search(queryString: String!) Search!
}
type Search {
    results: [SearchResult!]!
}
union SearchResult = GeneSearchResult | VariantSearchResult | StudySearchResult
type GeneSearchResult {
    id: String!
    symbol: String!
    name: String
    synonyms: [String!]!
}
type VariantSearchResult {
    variantId: String!
    rsId: String
}
type StudySearchResult {
    studyId: String!
    reportedTrait: String!
    pubAuthor: String
    pubDate: String
    pubJournal: String
    # TBD: sample size
    # TBD: loci count
}

Design
Below is a mock-up of the search bar with an item selected.

Below is a mock-up of the search bar when searching for a gene.

Below is a mock-up of the search bar when searching for a variant.

Below is a mock-up of the search bar when searching for a trait.

@peatroot this last update sounds a bit better than the initial one. I like the idea of having more type of independent results based on the query. But, I guess it makes more sense getting similar structured results but a different type of queries as best hits or search or exact match or whatever other queries you may want to ask

Can we allow users the search by the following?
Gene

[ ] Ensembl ID (e.g. ENSG00000001626)
[ ] HGNC symbol (e.g. BRAF)

Variant

[ ] variant ID (e.g. 10 : 114,754,071 T>C)
[ ] RSID (e.g. rs123)

Trait

[ ] Reported trait (e.g. insulin resistance] *confirm that all rows have a reported trait
[ ] Study ID (e.g. GCST004773) *confirm what formats of study ID are found in the data
[ ] PubMed ID (e.g. 28566273)
[ ] Author (e.g. McCarthy)*

With the author search, we will need to make it clear that a user can only search by the last name of the first author as the entire list of authors is not be available. This could pose a problem if a user is more familiar with a study conducted by a lab and not the individual researcher.

@andrewhercules I don't know how to interpret your variant id specs. At the moment, the user can search for a variant id formated as CHROMOSOME_POSITION_REFALLELE_ALTALLELE. An example of that format is 10_114754071_T_C. Do you want me to check if the final form of a variant meets a pattern like the one you specified?

I took that format from PheWeb as I figured that they used a common standard. I noticed that other sites (e.g. Varsome) allow for a similar search. But then ExAC and OMIM among others are quite different.
So for the ASHG release, let's stick with your existing format of 10_114754071_T_C.
@peatroot and @mirandaio, could the front-end allow a user to enter 10 : 114,754,071 T>C but then convert it to 10_114754071_T_C before running a search?

@andrewhercules @mkarmona, we could put in a regex for exactly that format, but I'd be in favour of just supporting the format CHROMOSOME_POSITION_REFALLELE_ALTALLELE. There's an example on the homepage and as you said, ExAC uses the format CHROMOSOME-POSITION-REFALLELE-ALTALLELE.

Closing to create separate enhancement ticket.


Fix a false positive for RSpec/RepeatedSubjectCall

Fix: #1821

Before submitting the PR make sure the following are checked:

[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Updated documentation.
[x] Added an entry to the CHANGELOG.md if the new code introduces user-observable changes.
[x] The build (bundle exec rake) passes (be sure to run this locally, since it may produce updated documentation that you will need to commit).

The original spec however is light on use cases. What happens for instance if you access subject in a hook, let's say configuring a stub like allow(Foo).to receive(:bar).and_return(subject) (which might also use block synax allow(Foo).to receive(:bar) { subject }. It's hard to tell from reading the code alone

Indeed. I'll make a follow-up PR.


[MM-13877] Update User Status filter name to "All Users"

Summary
Update System Console > Users > User Status Filter Name "None" to "All Users"
Ticket Link
https://mattermost.atlassian.net/browse/MM-13877
Fixes https://github.com/mattermost/mattermost-server/issues/10333
Checklist

[x] Ran make check-style to check for style errors (required for all pull requests)
[x] Ran make test to ensure unit and component tests passed

Fixed @bradjcoughlin @hmhealey

Fixed @hmhealey

Thanks for the contribution @tejasbubane! :tada:


use several events of the same type

Where else have you looked for answers to this question?
Only on github
Share your question with as much detail as possible?
Is it possible to use several events of the same nature (disconnection / death event / ...) in the same step?

Not at this time, sorry.


When rendering with option --save_section the rendered file names are appended with 0001, 0002, 0003 instead of the "name" attribute.

I am not sure if this shall be categorized as a bug, so let me know if I have to move it elsewhere.
As per title, when rendering with option --save_section the rendered file names are appended with 0001, 0002, 0003 instead of the "name" attribute.
for example, say that iI have something like the following:
class MyScene(Scene)
    def construct(self):
          self.next_section("MyFirstSection")
          # some code
          self.next_section("Section_Two")
          # some other code

and then I render with --save-sections option‚ then the rendered files have names:
MyScene_0001.mp4
MyScene_0002.mp4

whereas it would be nicer if they inherit the section name, e.g.
MyScene_MyFirstSection.mp4
MyScene_Section_Two.mp4

Not sure I agree. The name could perhaps appear somewhere in the filename, but replacing the numbering completely leads to unsorted files in the file explorer.

The name could perhaps appear somewhere in the filename

That could be an idea!
But I am wondering, why it would be a problem to have unsorted files?
At the end, even when you have a file with multiple scenes you would have them unsorted.
For example:
class Foo(Scene):
    def construct(self):

class Bar(Scene):
    def construct(self):

class FooBar(Scene):
    def construct(self):

when you render all of them you would have them unsorted, no? :)

Because if you read them back from disk it becomes a problem of sorting the files by name

This sounds like a more a developer issue than a user issue.

I would like to take on this issue

This sounds more like a developer issue than a user issue.

It is still a user issue because if you drag the section files (with no numbering) into a video editor then they will appear sorted by name, because lexically sorting files is a standard in many software projects.
So by removing the numbers, you force the user to add the files one by one and sort them manually in a video editor, which is way more work than it needs to be.
Summary: It is indeed a user problem, that's why we have the numbers!

We could just do both, SceneName_num_SectionName, as @chopan050 has already suggested on the corresponding PR linked above.
As section names do not need to be valid identifiers, users will have to avoid naming their sections in a way that results in illegal characters in file names.

…or do something like this perhaps?

There are things that need to be clarified, so that this discussion can advance. Please make sure, @ubaldot, that you fully understand them thoroughly.
There are misunderstandings in mainly 2 topics:

The differences between a scene and a section, and when to use each one (leading to a false equivalence).
Which ideas are really being argued against / in favor of, and which are not (leading to a straw man fallacy).

1. The differences between a scene and a section

why it would be a problem to have unsorted files?
At the end, even when you have a file with multiple scenes you would have them unsorted.

Apples and oranges:

Scenes don't have a logical/temporal order ingrained into them. Unless you define your own Scene subclasses or something similar...

...your scenes aren't really connected to each other / don't really depend one on the other, in the "programming / data sequence" sense.
...you can change the order of your scenes in your file, and nothing happens with the rendering. The resulting videos/images are the same.
Therefore, they stand on their own. That doesn't mean they must represent a whole project, like ComplexNumbers: something smaller, a subtopic like DefinitionOfI, where only the specific succession of events/animations/objects necessary to explain the number i, is needed. No other Mobjects, no other animations: DefinitionOfI can be self-contained.

Sections, by definition, are chronologically ordered.

They consist of "snapshots" of scenes, they're based on saved states at specific times during your scene.
Usually, what happens in a section depends on what happened in the previous section(s). If my section N° 2 only contains self.play(Rotate(square)), that only really makes sense if I previously added that square in section N° 1, maybe via self.play(FadeIn(square)).
Mess with the order, and you'll likely mess up your scene.
If a section does not depend on any of the previous sections of your scene... that's a signal for you to consider creating a new scene for it, because maybe you're unnecessarily packing your whole complex project inside a same scene. Divide to simplify things.

TL;DR

Sections inside a scene are meant to represent a sequence of interdependent events. Sections depend on each other. They aren't really able to represent a "topic" on their own, they're inherently numbered fragments which need to be assembled in a specific order into something coherent.
Scenes are more meant to be standalone products which describe a certain topic or subtopic. They can be part of a bigger project, sure, but they don't need to.

Therefore, they can't be really compared in this sense (false equivalence). While it is OK to have unsorted scenes (because they can function as standalone projects), we cannot really say the same about sections in the same scene.
For the layout you described:
ComplexNumbers_cartesian_representation.mov
ComplexNumbers_polar_representation.mov
ComplexNumbers_conversions.mov

it seems that those sections could've perfectly been their own, standalone scenes instead. All these scenes could be defined in a single complex_numbers.py file:
# complex_number.py
class CartesianRepresentation(Scene):
    # ...
class PolarRepresentation(Scene):
    # ...

leading to a layout like this instead:
CartesianRepresentation.mov
PolarRepresentation.mov
Conversions.mov

Because, otherwise, making a whole scene called ComplexNumbers (an enormous topic) with sections named cartesian_representation, polar_representation, etc, also huge topics by themselves which would very easily span multiple minutes, is highly impractical and unwieldly.
You mention that you need to reuse code. It's a common need, and in that case it's better to define custom classes or functions for the things we need to reuse. The same group of Mobjects over and over again? Define a new Mobject or Group for that. The same sequence of animations? You could either define an external function to be reused in your scenes, or make all your scenes inherit from a custom parent base scene class instead, with an already predefined method which does what you need.
What about sections? Well, for the PolarRepresentation scene, some possible sections could be much smaller fragments like:
show_plane_and_number
trigonometry
show_formulas
show_properties
scale_and_rotate_plane
...

Of course, if you do that with every scene, you'll end up with an enormous amount of videos in your folder, and finding a specific video will get a bit harder. But the good thing is: they're sequentially ordered, they have numbers in their filenames to help identify them because of the logical, temporal order in which they were shown on scene.
Hopefully now it makes more sense to have them numbered. That does NOT mean we should not add the section name in the file: I think it's a good idea to have both of them.
With that said...
2. The ideas we've been discussing
There have been 4 ideas discussed here. I'll label them as [A], [B], [C], [D]:

Label
When a section has a custom name...
File name format

[A]
...put only its number anyways on the file
scene_num.ext

[B]
...get rid of its number and replace it with the name
scene_name.ext

[C]
...use both: the number and the name, in that order
scene_num_name.ext

[D]
...use both: the name and the number, in that order
scene_name_num.ext

So, recapping:

You say that [A] is not really clear (and I agree on that statement alone).
But then you propose [B] instead.
behackl said [B] is not a good idea, and that preserving the number along with the name (instead of getting rid of the number) to keep the file sorting would be nicer (which I agree with).

Both [C] and [D] fit at first...
...but given that a key idea is "to keep the file sorting", that leaves us with [C].
I agree wholeheartedly with him, and I think that [C] is the best of all 4 ideas.

Because I explained what scenes and sections are more meant to be, hopefully it makes more sense why it's good to keep the section numbering, which would answer your question:

why it would be a problem to have unsorted files?
At the end, even when you have a file with multiple scenes you would have them unsorted.

For the same example, it would be good to have this, which fits [C]:
PolarRepresentation_0001_show_plane_and_number.mov
PolarRepresentation_0002_trigonometry.mov
PolarRepresentation_0003_show_formulas.mov
PolarRepresentation_0004_show_properties.mov
PolarRepresentation_0005_scale_and_rotate_plane.mov

Because sections have a much more limited scope, and they have a time order ingrained into them, it would not be good to get rid of the numbers and let [B] happen instead:

PolarRepresentation_scale_and_rotate_plane.mov
PolarRepresentation_show_formulas.mov
PolarRepresentation_show_plane_and_number.mov
PolarRepresentation_show_properties.mov
PolarRepresentation_trigonometry.mov

Yeah, I can locate them... but it can quickly get messier.

On the other hand, I agree that having only the numbers ([A]) is not clear enough:

PolarRepresentation_0001.mov
PolarRepresentation_0002.mov
PolarRepresentation_0003.mov
PolarRepresentation_0004.mov
PolarRepresentation_0005.mov

although I do give it the advantage that, because sections are so small, have a limited scope and must be ordered, chances are I would still remember which one did what ("oh, so on the 2nd section I was showing the formulas to obtain the modulus and angle of a complex number").
But why not have the best of both worlds? That's what my first proposal represents: the idea [C].

MrDiver: Because if you read them back from disk it becomes a problem of sorting the files by name
ubaldot: This sounds more like a developer issue than a user issue.

[B] is an issue for everyone and everything that wants to work with sections in any more complex manner.
Suppose that I want to develop a specific software which takes a scene as input and displays a timeline where I can graphically have its animations displayed, along with their duration and logical order, in a way that I can edit some code in the scene and only have that specific part rerendered, being redirected in the debugger to that instant in time to see my changes immediately, as well as how it fits with the rest of the project.
Eventually I would need to support sections. For that, it would be helpful if they were already chronologically ordered.
Removing the numbers breaks that purpose and would make it more difficult for me to find the order of the sections. I would need to find a way to map a section to its correct position in the section order. Luckily Manim already provides me with the mapping I need: the numbers.

True that they are sorted by name in video software but this is in-fact very desirable.

It is for scenes, not so much for sections. I already explained why. It's nice to have the numbers there.

Hence, I wouldn't say that the current implementation is to solve a user problem.

Straw man fallacy. MrDiver never said that "the current implementation is to solve an user problem". Instead, he argued that removing the numbers creates another problem.

Adding both names and numbers could be somewhat confusing - but still way better than having just numbers and still acceptable:

ComplexNumbers_cartesian_representation_001.mov
ComplexNumbers_polar_representation_002.mov
ComplexNumbers_conversions_003.mov
...

Another straw man. What you describe is what I labeled as [D]. The thing is, no one has argued in favor of [D]. The argument is whether to keep or not the sorting by number, and if you notice, [D] does not do that at all, because the name is before the number. It would get sorted by name anyways. In my opinion, [D] is possibly the worst of all 4 ideas.
Compare it to the idea [C]. That one does keep the sorting by number, which I argued is nice for sections. At the same time, it is very readable by users: they are chronologically sorted, but also the number part is only 4 digits long, so the users can immediately read the name of the section and say "oh! that was what this section did" and still understand that the section was supposed to be in that specific position and not else where.
That's why I think that idea [C] is the best one.

To be the devil's advocate

the alleged "devil" here is [C], not [D].

what shall be the first clip to add in the storyline? ComplexNumbers_introduction_005.mov or ComplexNumbers_cartesian_representation_001.mov?

Then again, they should have been scenes instead of sections: Introduction and CartesianRepresentation.

Let's just leave it at we will have both the number and the section name in a format that was already commented in the PR.


inconsistent result from ttest_ind and mannwhitneyu when used with groupby and apply

I'm new to this site as well as programming, I ran into an issue and posted on SO three days ago but no answer yet, since everything works except the result is kind of weird, so I think it may be a bug and then better to ask here also. Please check SO for the detailed description of the problem.

@Jason5Gao I posted on stackoverflow describing what I think is happening.
It looks like the mannwhitneyu() function calls numpy.ravel() on each of the 2 columns, breaking your grouping. I noted in the SO post that you can unpack the grouping (if that is what you want) by choosing axis=None. I think that you want the other way around though, you'd like the results from mannwhitneyu() to be done for each, similar to how ttest_ind() handles things.
It looks like the rankdata() function calls ravel() because it needs to sort the data and get the rankings to calculate the test Mann-Whitney U statistic.

Thanks, Lucas, is that possible to modify the mannwhitneyu() so it can do the same as ttest_ind when multiple groups are presented?

Thanks, Lucas, is that possible to modify the mannwhitneyu() so it can do the same as ttest_ind when multiple groups are presented?

Maybe? I haven't written nor tested so cannot be sure. However, it does look like the _chk2_asarray(a,b,axis) function can be used in mannwhitneyu() with a default axis=0 argument to mimic behavior of ttest_ind() function. This approach seems like the obvious one given what I saw when I investigated. I'm not super familiar with those functions though so I'd want to implement the approach and be sure the existing unittests pass before saying, 'yes that that can be done.' @Jason5Gao are you interested in trying that out in a pull request? If not I can take a closer look but it will be at least 4+ weeks before I get to it.

I have no such experience with a pull request, it would be great if you can take a closer look at it. Time is not an issue for me here, already done what I want in another way.

@CooperData I checked and it doesn't look like the gh-4933 has these changes in scope which is fine I'd say. I was thinking to work to open a PR with changes to address the functionality here (allow for multi-column group processing) but I want to make sure there isn't existing work being done to address this fix. Am I correct no one is currently working on a fix for this issue (gh-11113) ?

@rlucas7 feel free to move forward.. I was hoping to work on this, but I have not had time.

@CooperData it's going to be a bit before I am able to pick this up, #11111 is a bit more than I anticipated. Feel free to give this issue a go if you get some time. I'll chime back in once done with the other issue if this is still open.

@Jason5Gao Thanks for your patience. I know you've probably moved on, but I've revived gh-4933, and my code supports vectorized input. Would you be willing to write out how your code would look if you were to call ttest_ind directly rather than using apply so I can include this as a test case? It would also help if you gave the desired output of the Mann-Whitney-U test. Thanks!

The code on stack overflow was:
import numpy as np
import pandas as pd
from scipy import stats

np.random.seed(0)
df = pd.DataFrame(np.random.randint(0,100,size=(100, 2)), columns=['col_1','col_2'])
df['group_l1'] = ['A']*50 + ['B']*50
df['group_l2'] = ['x']*25 + ['y']*25 +   ['x']*25 + ['y']*25

# original ttest_code
print(df[['col_1','col_2','group_l1','group_l2']].groupby('group_l1').\
          apply(lambda x: stats.ttest_ind(x.groupby('group_l2')[['col_1','col_2']].get_group('x'),
                                              x.groupby('group_l2')[['col_1','col_2']].get_group('y'))[1]))

# original code except with mannwhitneyu2
print(df[['col_1','col_2','group_l1','group_l2']].groupby('group_l1').\
          apply(lambda x: stats.mannwhitneyu2(x.groupby('group_l2')[['col_1','col_2']].get_group('x'),
                                              x.groupby('group_l2')[['col_1','col_2']].get_group('y'))[1]))

The output is:
group_l1
A     [0.14793782230325841, 0.4942877664420582]
B    [0.48145446463726127, 0.43081753464384975]
dtype: object
group_l1
A    [0.19360407089423592, 0.5156951444529856]
B    [0.44922293322874407, 0.4376816780828031]
dtype: object

To cut out the pandas, we can get x and y arrays from the dataframe:
xs = []
ys = []
def fun(x):
    xs.append(x.groupby('group_l2')[['col_1','col_2']].get_group('x').to_numpy())
    ys.append(x.groupby('group_l2')[['col_1','col_2']].get_group('y').to_numpy())
df[['col_1','col_2','group_l1','group_l2']].groupby('group_l1').apply(fun)

Then call the SciPy stats functions directly:
# direct call to ttest_ind
print(stats.ttest_ind(xs[0], ys[0]).pvalue)
print(stats.ttest_ind(xs[1], ys[1]).pvalue)

# direct call to mannwhitneyu2
print(stats.mannwhitneyu2(xs[0], ys[0]).pvalue)
print(stats.mannwhitneyu2(xs[1], ys[1]).pvalue)

The numers are the same:
[0.14793782 0.49428777]
[0.48145446 0.43081753]
[0.19360407 0.51569514]
[0.44922293 0.43768168]

mannwhitneyu2 in gh-4933 supports nd arrays:
# even more vectorized call to mannwhitneyu2
xs = np.concatenate((xs[0][None, :, :], xs[1][None, :, :]), axis=0)
ys = np.concatenate((ys[0][None, :, :], ys[1][None, :, :]), axis=0)
print(stats.mannwhitneyu2(xs, ys, axis=1).pvalue)

[[0.19360407 0.51569514]
 [0.44922293 0.43768168]]


Move Python test to a different CI job

:books: Documentation preview :books:: https://equistore--264.org.readthedocs.build/en/264/

Fair point, I'll do that

this should be good to go! sccache helps a bit, shaving 30s to 1 min out of the build time


Parse module name stream through modulemd_str

Use libmodulemd to parse modue name and stream.
One thing to note is no package available in pypi.
Install it through python3-libmodulemd rpm package
JIRA: RHELWF-3779

Haven't found a good solution as no libmodulemd package in pypi. Just add some doc in README for developer

@hluk @qixiang @mvalik Please help to review, thanks!

Sorry guys for the notification spamming. I just want to save some test links for discussion.

Rebase with the latest codes.

@gnaponie Can you help to have a review, thanks!(Sorry for not involving you at the beginning of task. Just in the process of being familiar with the team and project)

@gnaponie Can you help to have a review, thanks!(Sorry for not involving you at the beginning of task. Just in the process of being familiar with the team and project)

No worries! :)

Seems like you have a conflict on the freshmaker/kojiservice.py file. Could you resolve it?

Seems like you have a conflict on the freshmaker/kojiservice.py file. Could you resolve it?

Sure. Rebased and upated

Anyhow, besides the very small comment (you're free to consider that as optional) the change looks good to me. +1

Anyhow, besides the very small comment (you're free to consider that as optional) the change looks good to me. +1 I deeply apologize for the delay in the review, I had some days of PTO. Thank you for the patience!

Thanks for the review. No problem at all.

Rebased and updated


org.quartz.CronExpression.getTimeBefore

When can this method be used?

It's a protected method - it's not intended for use.

Please ask usage questions in the user forum.  This is an issue (bug) tracker.

Oh, sorry, but it's a public method in quartz 2.2.3
public Date getTimeBefore(Date endTime) {          // FUTURE_TODO: implement QUARTZ-423         return null;     }


Issue #349: use context to resolve domain name

@ploeh As discussed, a PR for #349. My first PR for AutoFixture ;)
A few heads-up: I cheated a bit, I looked heavily at the PR of #348, since it was very similar to this, and to look at naming of test scenario's, and general code style of AutoFixture. So it might look a bit familiar.
Next, I could reuse the .GetHashCode() % 3, so I used Random for this. I don't know if that the right approach is, but getting a random int from the context seemed wrong to me, since that can get frozen, and that will fix the DomainName as well, isn't it?
Finally, for testing the random domain names, I have a foreach loop in my test, which is usually bad, but I didn't know how to test it otherwise. Let me know what you thing of it.

Thank you for submitting this. I'm currently travelling, and with a client, so I may only have time to review this in a couple of days from now. Meanwhile, I can see that the build is failing because of some malformed XML comments. These ought to be easy to fix, but must still be addressed.
When you've done that, please leave a message to that effect, because GitHub doesn't send out notifications when someone push new commits to a pull request. The ensures that I, or someone else here, are reminded to take a second look at your pull request as soon as possible :smile:

Yes, after I submitted the PR, I realized that I hadn't run the build release script (forgot all about that, and had read the contributing guideline earlier on, so didn't read it when committing :().
I've fixed the xml doc, and ran the build release, but I get a lot more errors. I think because I only have VS 2015 installed, and the buildserver is configured on an older appveyor image. Is that right?
Let's see if this goes through.

@ploeh Build is green ;)

Thank you; it's looking good :+1:
The comments I added are almost superficially minor, and I could easily work with the code to take it the last stretch myself. Often, however, at least part of the reason people tend to submit pull requests to AutoFixture is in order to learn. If that's the case for you as well, you can easily address the comments; otherwise, let me know, and I'll pull it as it is (and make a few changes myself).

Indeed, a big reason to contribute is to learn. It's not at all a problem to process the feedback. I'm away for the weekend so I'll put in the changes on Monday or Tuesday.

@ploeh I've pushed new commits to resolve the issues. Please have a look again.

Getting closer :+1:

@ploeh Can you have another look?

Thank you for your contribution! It's now live as AutoFixture 3.37.0.


add unit test to getSELinuxSecurityOpts

Ⅰ. Describe what this PR did
add the unit test for criutils getSELinuxSecurityOpts() function, with input cases check.
Ⅱ. Does this pull request fix one issue?

fix the issue 1912
Ⅲ. Describe how you did it
add normal and nil input test cases to verify the function output
Ⅳ. Describe how to verify it
run go test -v run getSELinuxSecurityOpts in package v1alpha1
Ⅴ. Special notes for reviews
maybe it's better to further check the format of SELinux Options

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

Codecov Report

Merging #1939 into master will increase coverage by 0.05%.
The diff coverage is n/a.


Implement Channel, IconEmoji, and IconURL for Slack integration

slackrus supports Channel, IconEmoji, and IconURL which are currently not exposed through the configuration.
Our team would like to override the channel for slack notifications since we are limited by the number of webhooks we can have.
This feature would add three additional environment variables to the project, all of which are optional
WATCHTOWER_NOTIFICATION_SLACK_CHANNEL
WATCHTOWER_NOTIFICATION_SLACK_ICON_EMOJI
WATCHTOWER_NOTIFICATION_SLACK_ICON_URL

Would you be open to a PR to implement this?
References

https://github.com/johntdyer/slackrus
https://github.com/v2tec/watchtower/blob/8197bb669d2f3c992a094572c455cc71f6b866a8/notifications/slack.go#L19-L23

Until we merge #241, I released a version with those three options enabled: https://hub.docker.com/r/mariotacke/watchtower/
Documentation here:
https://github.com/mariotacke/watchtower/tree/feat/240-implement-other-slack-options#notifications-through-slack-webhook


[BugFix] Fix lose cross join predicate when push down join predicate

What type of PR is this：

[x] bug
[ ] feature
[ ] enhancement
[ ] refactor
[ ] others

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

lose cross join predicate when push down join predicate

run starrocks_fe_unittest

run starrocks_admit_test

@Mergifyio backport branch-2.3


rtl-sdr: migrate to core

See Homebrew/homebrew#39574.

Done manually by Tim in https://github.com/Homebrew/homebrew-head-only/commit/c8cb6b43acdb6d4ae8e8bf1897dd0c01661cb7c7.


Navbar and Landing Page UPDATED

Description
Hey bro, i have just completed the work, please checkout the changes and merge
This PR fixes #
Navbar
Landing Page Starting
UI with attractive colors
Fonts
Notes for Reviewers
I have faced lot of problem in updating the files through git bash or VS-code , literally this process killed my hours of work but in the last i manually updated the files.
So Admin shaab dekhlo aapko accha laga to
Before -

After -

Hey @amanjaiman1 , we respect your precious time. This looks great, but I will suggest few changes which we need. -- Let the background image be there and tht 'S' in OS-Code near logo is horizontal. -- We know bg image is little messing up the text, but for now let that be:) BTW, the buttons and font looks awesome!!, We would be happy to merge your code soon! Thank you!!

hey listen @akshathar-navadar, thanks for your kind words and i think personally the background image is literally messing up the overall looking and second thing the horizontal is a custom design of logo , now please tell me what i have to do (to the point).
Thanks

Hey, I had already mentioned to the point what changes we require from your commit.
Pls go through the previous review msg. Ok, I will tell u again.

We prefer the existing background image itself, we don;t want to put a plain background, so if you would like to suggest any other background image, pls go ahead.
We need the OS_COde text near logo to be proper, so that others will not have any conflicts regarding it.
And your present commit has many conflicts through which we won't be able to merge, pls pull the repo properly and then make required changes.

Thank you! @amanjaiman1

Ohk thanks , i will follow up the instructions and then request again


Dropping Safari 14 support (late 2023)

:warning: Only to be done after Safari 17 is released

Follow up from https://github.com/wagtail/wagtail/pull/8051 & https://github.com/wagtail/wagtail/pull/8497 where the goal is to use CSS logical properties only for positioning.
Support for border-start-start-radius, border-start-end-radius, border-end-start-radius and border-end-end-radius properties are not included until Safari 14 and our current support is for the last 3 versions of Safari.

Once we drop Safari 14, let's us drop the default webp to png conversion from https://github.com/wagtail/wagtail/blob/32ff36446b0913c3180d23848552287726a228cc/wagtail/images/models.py#L933 (ref: https://caniuse.com/webp)

With Safari 17 now out - this issue can be reviewed.
https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes

@lb- I’m working on this currently :)

View caniuse Safari 14 vs 15.6
JavaScript
Nothing particularly substantial – view ES2016+ compat table

ECMA2022 except Class static initialization blocks. See ECMA 2022 compat data.
ECMA2023 (Array.findLast, Array.findLastIndex, Hashbang)

CSS

color() function
Logical Properties
Small, Large, and Dynamic viewport units
CSS Scroll-behavior
LCH and Lab color values
:has() CSS relational pseudo-class
CSS Containment
CSS Cascade Layers

DOM APIs

createImageBitmap

HTML

theme-color meta tag

This is out of date and should have been closed, my bad.
@zerolab when we make changes based on support targets it’s generally about the admin UI. I think dropping this conversion has merits but it’s very different to change how the Wagtail admin works for its editors / admin users, and how the site would work for end users. So I’d recommend a separate ticket for that (see #11681).


[SPARK-49380] Add cluster-with-template.yaml example

What changes were proposed in this pull request?
This PR aims to add cluster-with-template.yaml example.
Why are the changes needed?
Apache Spark K8s Operator starts to support template-based Spark Cluster creation via the following.

https://github.com/apache/spark-kubernetes-operator/pull/80

We had better provide a concrete example like the following use cases.

Custom annotations and labels.
Custom full spec like priorityClassName, securityContext, sidecar containers

Does this PR introduce any user-facing change?
No. This is an unreleased new feature.
How was this patch tested?
Manual review.
Was this patch authored or co-authored using generative AI tooling?
No.

cc @jiangzho

Also, cc @viirya , too.

Thank you, @viirya . Merged to main.


sequencer: basic PoA implementation

the sequencer node should have a basic PoA component type that is able to rotate the validator set. note that cometbft already has the ability to have any amount of validators at genesis, so this component would deal with changing the validator set.
open question:

when/how do we change the validator set? is it a multisig of the existing validators, or is there a "sudo" key that is allowed to authorize validator set changes?
do we change the validator set at the next block (or some other defined block height) once a change has been proposed and accepted? or do we implement an epoch-based system where all changes happen at a fixed height?

can be implemented by setting validator changes here: https://github.com/tendermint/tendermint/blob/v0.34.x/spec/abci/abci.md#endblock

should also decide how to deal with byzantine validators: https://github.com/tendermint/tendermint/blob/v0.34.x/spec/abci/abci.md#beginblock (just kick them out for now?)

Proposed design:
We have a sudo key (set in the genesis file) which is authorized to make validator set changes. This can easily be extended later to a multisig set at genesis, then later a dynamic multisig.
A new transaction type is added:
struct ValidatorUpdate {
     public_key: VerificationKey,
     voting_power: u64, // set to 0 to remove validator
}

This matches the validator::Update type in tendermint-rs. This tx must be signed by the authorized key and submitted to the sequencer. When this tx is included in a block, end_block will return this as a validator change.
We should also update the sequencer application to track the validator set, so that we can ensure that the validator inside the ValidatorUpdate is actually in the set if they're being removed.

should also decide how to deal with byzantine validators: https://github.com/tendermint/tendermint/blob/v0.34.x/spec/abci/abci.md#beginblock (just kick them out for now?)

Should this be a seperate issue or do we need to deal with right now. Easiest is to just kick them out for now probably, so let's do that, with a massive TODO of potentially problematic.

@noot Proposed design sounds good to me.

Should this be a seperate issue or do we need to deal with right now. Easiest is to just kick them out for now probably, so let's do that, with a massive TODO of potentially problematic.

yep that's a separate issue, will make another. just wanted to note it here so I don't forget


queen can use burrower tunnels WHILE ON OVI

Description
bruh

The message that tells you you can't do this should be:
We can't climb through a tunnel while immobile.

Fixed by https://github.com/RMC-14/RMC-14/pull/5006


Bluetooth Shower controls

I have a Mira Mode dual-head shower that I can control via bluetooth, from my phone (preheat, set/view temp, valve select, on/off, etc).
Could this plugin be used to connect that?
How do I decode the data/encode the commands to send to the BLE device?
Can those commands be sniffed when I perform them from my phone?

Hello @phenomeus,
I'm afraid I don't have the time to take a look at the moment. You'll probably have to figure it yourself if it's still relevant 😉
Cheers,
Vojta


Fix global AnimationLibrary name validation

In #60369, I used is_valid_name() for both animation name and library name. However, empty string is a valid name used for the global Animation Library. So currently, if you remove the global library, the only way to get it back is to create a new animation in the AnimationPlayer editor :(
This PR splits that validation function into is_valid_animation_name() and is_valid_library_name().

Thanks!


Importing from vike/server throws error, missing /dist/esm/node/runtime/index.mjs

Description
I'm importing vike's renderPage and bundle it through rollup. This works fine if I import like so:
import { renderPage } from 'vike'

However this is deprecated and outputs the notification that imports should be done from
import { renderPage } from 'vike/server'

This, however, ends up with this error:
✖ Failed
[RollupError] Could not resolve "./dist/esm/node/runtime/index.mjs" from "node_modules/.pnpm/vike@0.4.211_vite@6.0.6_@types+node<EMAIL_ADDRESS>
/Users/michael/dev/experiments/vike/node_modules/.pnpm/vike@0.4.211_vite@6.0.6_@types+node<EMAIL_ADDRESS>RollupError: Could not resolve "./dist/esm/node/runtime/index.mjs" from "node_modules/.pnpm/vike@0.4.211_vite@6.0.6_@types+node<EMAIL_ADDRESS>    at error (file:///Users/michael/dev/experiments/vike/node_modules/.pnpm/rollup@3.29.4/node_modules/rollup/dist/es/shared/node-entry.js:2287:30)
    at ModuleLoader.handleInvalidResolvedId (file:///Users/michael/dev/experiments/vike/node_modules/.pnpm/rollup@3.29.4/node_modules/rollup/dist/es/shared/node-entry.js:24860:24)
    at file:///Users/michael/dev/experiments/vike/node_modules/.pnpm/rollup@3.29.4/node_modules/rollup/dist/es/shared/node-entry.js:24822:26

I wonder whether rollup may be part of the problem here, but looking at the actually imported package from node_modules/vike/server.js, it tries to import ./dist/esm/node/runtime/index.mjs which does not exist

If you remove the file node_modules/vike/server.js does it work then?


Add failed state and test second deploy

Description
Basic end-to-end testing
close #8010
Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

[X] Attached issue to pull request
[x] Changelog entry
[x] Type annotations are present
[x] Code is clear and sufficiently documented
[x] No (preventable) type errors (check using make mypy or make mypy-diff)
[x] Sufficient test cases (reproduces the bug/tests the requested feature)
[x] Correct, in line with design
[ ] End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )
[ ] If this PR fixes a race condition in the test suite, also push the fix to the relevant stable branche(s) (see test-fixes for more info)

Processing this pull request

Merged into branches master in 9ed614e37a48f638d8399832ad4b394dcc9537f8


Add mola_test_datasets for indexing

Please Add This Package to be indexed in the rosdistro.
humble, iron, rolling
The source is here:
https://github.com/MOLAorg/mola_test_datasets
Checks

[X] All packages have a declared license in the package.xml
[X] This repository has a LICENSE file
[X] This package is expected to build on the submitted rosdistro

Will defer to @tfoote and @adityapande-1995 for final approval since it's a new package.

The name looks ok with the prefix. However I notice the readme says "Each dataset file holds the license of their original authors. Refer to each subdirectory." But the package.xml only says BSD. And I didn't find license files in the subdirectories.

@tfoote Please, take a look at the repo now and let me know if it's clearer via the */README.md files, or if I should reflect this somehow in the package.xml too. Thanks.

There should be multiple license lines in the package.xml to provide a complete picture of the licenses included in the package so that if someone is auditing packages on their system the package.xml will give them the quick summary.
And the Readme is good for readability and discovery. I'd recommend a link to the upstream projects.
And please place a LICENSE file in each of the directories copied from the upstream repository as the short names are only categories and the actual license text is what is enforceable.
You can reference those files from each license tag in the xml.

@tfoote Ok, it makes sense. It's now done upstream via this commit.

I know, no problem! I'm used to similar issues with debian/copyright in other packages :-) Thanks for the quick follow up.

Yeah, we actually generate those for the debian packages from the package.xml


Fixing translation request batching

Fixed locales batching.
Implemented request batching when file is too large (more than 10 000 characters or more than 100 resource keys).

Fixes #18

/cc @IEvangelist

This is awesome, thank you very much for your contributions - it's packaged and published to the marketplace as v2.1.4

@all-contributors please add @vs-savelich for code and tests


Bug Report: cell.isGrouped Always Returns false Despite enableGrouping Being true (REACT)

TanStack Table version
8.9.3
Framework/Library version
v18.18.2
Describe the bug and the steps to reproduce it
Description
When using react-table with grouping enabled, cell.isGrouped always returns false, even though enableGrouping is set to true in the column configuration. This issue persists despite ensuring that the table is properly configured for grouping.
Expected Behavior
cell.isGrouped should return true for cells in grouped rows when enableGrouping is set to true in the column configuration.
Actual Behavior
cell.isGrouped consistently returns false, regardless of the grouping settings.
Kindly have a look on the below example , also let us know  are we  doing something wrong.
Here is the minimal code example demonstrating the issue:
import React from 'react';
import { useTable, useGroupBy } from 'react-table';

export const TableComponent = ({ columns, data }) => {
  const {
    getTableProps,
    getTableBodyProps,
    headerGroups,
    rows,
    prepareRow,
  } = useTable({ columns, data }, useGroupBy);

  return (
    <table {...getTableProps()}>
      <thead>
        {headerGroups.map(headerGroup => (
          <tr {...headerGroup.getHeaderGroupProps()}>
            {headerGroup.headers.map(column => (
              <th {...column.getHeaderProps()}>{column.render('Header')}</th>
            ))}
          </tr>
        ))}
      </thead>
      <tbody {...getTableBodyProps()}>
        {rows.map(row => {
          prepareRow(row);
          return (
            <tr {...row.getRowProps()}>
              {row.cells.map(cell => {
                 console.log(cell.isGrouped); // Always false
                return (
                  <td {...cell.getCellProps({
                    className: cell.column.id === 'columnA2' ? 'custom-cell' : ''
                  })}>
                    {cell.render('Cell')}
                  </td>
                );
              })}
            </tr>
          );
        })}
      </tbody>
    </table>
  );
};

export const columnsa = [
  {
    Header: 'Group A',
    enableGrouping: true,
    columns: [
      { Header: 'Column A1', accessor: 'columnA1' },
      { Header: 'Column A2', accessor: 'columnA2' },
    ],
  },
  {
    Header: 'Group B',
    enableGrouping: true,
    columns: [
      { Header: 'Column B1', accessor: 'columnB1' },
      { Header: 'Column B2', accessor: 'columnB2' },
    ],
  },
];

export const data = [
  { columnA1: 'Data A1', columnA2: 'Data A2', columnB1: 'Data B1', columnB2: 'Data B2' },
  { columnA1: 'Data A1', columnA2: 'Data A2', columnB1: 'Data B1', columnB2: 'Data B2' },
];

If you have any ideas about how to resolve the issue, please provide them here
Your Minimal, Reproducible Example - (Sandbox Highly Recommended)
nan
Screenshots or Videos (Optional)
No response
Do you intend to try to help solve this bug with your own PR?
No, because I do not know how
Terms & Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I understand that if my bug cannot be reliable reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.

put this in a  sandbox and it will get reviewed a lot faster

@KevinVandy  pfa codeSandbox link
codeSandbox


How do I convert video format (e.g. from mp4 to avi)?

I just need to convert video from AVI to MP4 without any processing. How to do this?
This one isn't working.
Traceback:
Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
H.264 bitstream malformed, no startcode found, use the video bitstream filter 'h264_mp4toannexb' to fix it ('-bsf:v h264_mp4toannexb' option with ffmpeg)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 34, in convert_video
  File "av/container/output.pyx", line 198, in av.container.output.OutputContainer.mux
  File "av/container/output.pyx", line 221, in av.container.output.OutputContainer.mux_one
  File "av/container/core.pyx", line 180, in av.container.core.Container.err_check
  File "av/utils.pyx", line 107, in av.utils.err_check
av.AVError: [Errno<PHONE_NUMBER>] Invalid data found when processing input: '/home/chronosx/Documents/tmp/test.avi' (16: avi)

Research
I have done the following:

[x] Checked the PyAV documentation
[x] Searched on Google
[x] Searched on Stack Overflow
[x] Looked through old GitHub issues
[ ] Asked on PyAV Gitter
[ ] ... and waited 72 hours for a response.

This part of your log seems key: H.264 bitstream malformed, no startcode found, use the video bitstream filter 'h264_mp4toannexb' to fix it ('-bsf:v h264_mp4toannexb' option with ffmpeg)
If you are just remuxing, the ffmpeg CLI is likely better for you.
Next time, please fill out more of the issue template, and especially include your code. We are more inclined to respond if you don't make us bear most of the effort.


Not matched with Version 0.5

Please update the version so that Kalliope version 0.5 is supported

should be supported with version 0.5.1, please check or send more details about your specific issue


run test in win10 failed, because no have echo exe in there.

Describe The Bug

run test in win10, the test case sdk::std::process::exec::mod_test::run_with_output will failed.
It is because although the echo command can be used in the command line on windows, it is not actually an application like linux, but a part of cmd.exe.
To Reproduce

Error Stack
The error stack trace

Code Sample
/// paste code here

thanks a lot. I'll probably switch to something else for windows.

thanks a lot. I'll probably switch to something else for windows.

use #[cfg(target_os = "windows")] to write separately?

use #[cfg(target_os = "windows")] to write separately?

just add cmd /c in front of echo like this:  "out = exec cmd /c echo 1 2 3",

just add cmd /c in front of echo like this:  "out = exec cmd /c echo 1 2 3",

strange the CI is passing.
maybe for windows i'll run "xcopy /?" or something...

strange the CI is passing.
maybe for windows i'll run "xcopy /?" or something...

So why not use cmd or powershell to execute it?  the following test return code program also use it, like:
const COMMAND_RUNNER: &str = if cfg!(windows) { "cmd /c" } else { "" };

#[test]
fn run_get_exit_code() {
    let script = &format!("out = exec --get-exit-code {} exit 42", COMMAND_RUNNER);

    test::run_script_and_validate(
        vec![create("")],
        script,
        CommandValidation::Match("out".to_string(), "42".to_string()),
    );
}

So why not use cmd or powershell to execute it?  the following test return code program also use it, like:
const COMMAND_RUNNER: &str = if cfg!(windows) { "cmd /c" } else { "" };

#[test]
fn run_get_exit_code() {
    let script = &format!("out = exec --get-exit-code {} exit 42", COMMAND_RUNNER);

    test::run_script_and_validate(
        vec![create("")],
        script,
        CommandValidation::Match("out".to_string(), "42".to_string()),
    );
}

how about a PR? since you got windows, that would really help.
on the way there are few tests written in duckscript (i got a duckscript test runner).
checkout: https://github.com/sagiegurari/duckscript/tree/master/test/std/process
there is a duckscript is_windows command that can be used.

how about a PR? since you got windows, that would really help.
on the way there are few tests written in duckscript (i got a duckscript test runner).
checkout: https://github.com/sagiegurari/duckscript/tree/master/test/std/process
there is a duckscript is_windows command that can be used.

how about a PR? since you got windows, that would really help.

It's my pleasure. I also got a lot of help from cargo-make and duckscipt.

on the way there are few tests written in duckscript (i got a duckscript test runner).
checkout: https://github.com/sagiegurari/duckscript/tree/master/test/std/process
there is a duckscript is_windows command that can be used.

I saw them, and what should I do?

how about a PR? since you got windows, that would really help.

It's my pleasure. I also got a lot of help from cargo-make and duckscipt.

on the way there are few tests written in duckscript (i got a duckscript test runner).
checkout: https://github.com/sagiegurari/duckscript/tree/master/test/std/process
there is a duckscript is_windows command that can be used.

I saw them, and what should I do?

I am assuming those fail as well on your env, so we could do something like that to fix them:
fn test_echo_with_output
    command = set echo
    if is_windows
        command = set "cmd /c echo"
    end
    output = exec %{command} hello world

   .........
end

I am assuming those fail as well on your env, so we could do something like that to fix them:
fn test_echo_with_output
    command = set echo
    if is_windows
        command = set "cmd /c echo"
    end
    output = exec %{command} hello world

   .........
end

Got it,  I will test it

Got it,  I will test it

From my experience, some tests still fail in Windows 10 for the same reason.
Here's a list of Rust tests that failed:
sdk::std::process::exec::mod_test::run_no_output
sdk::std::process::exec::mod_test::run_no_output_with_fail_on_error_valid
sdk::std::process::exec::mod_test::run_with_output
sdk::std::process::spawn::mod_test::run_valid
sdk::std::process::spawn::mod_test::run_valid_silent
sdk::std::process::watchdog::mod_test::run_with_retries
sdk::std::process::watchdog::mod_test::run_without_retries
utils::exec::exec_test::exec_valid

For Duckscript tests, it fails on [./test/std/process/exec_test.ds][test_echo_with_output] for me. I'd expect that tests for exec, spawn and watchdog would fail too.
So perhaps this needs reopening? Or was there a fix that I somehow missed?

right. makes sense.


Using the command line in the docker container

Hello!
Excuse me, how to use the command line in the docker container?
After I started it myself, I entered the container and found that the command line interface could not be used
ontop v5.0.1
Wish you a happy life！！！

Thank you for giving me an answer, which is very helpful for me to understand ontop

@fracorco
Thank you for giving me an answer, which is very helpful for me to understand ontop


doc example & single.php

I'm a total newbie to twig, so apologies if this is a stupidly rudimentary question.
But when following the getting started guide, where in single.php do I place:
$context['all-about-jared'] = Timber::get_post(11); Timber::render('single-all-about-jared.twig', $context);
without both the base.twig and single.twig repeating on my all-about-jared post?
Screenshot below

So I should not be adding that code to single.php, but I'm very confused by the Getting Started Pt.2 docs.
I'm supposed to create a single-all-about-jared.twig file in my views folder, but the code in single.php code only looks for posts with an ID listed (which would mean single-all-about-jared.twig should be single-#.twig) or the generic $post->post_type. There doesn't seem to be anything looking for the post title which is what the docs specify you create.
Is this correct or am I way off?

You're right. In single.php, you would need to specify your template array as:
Timber::render(array('single-' . $post->ID . '.twig', 'single-' . $post->post_name . '.twig', 'single-' . $post->post_type . '.twig', 'single.twig'), $context);

That Getting Started Pt. 2 documentation might be out of date with regard to the current version of the starter theme. For what it's worth, typically, I don't think it's common to have unique Twig views for specific WordPress posts (i.e. single.php); but I do sometimes do so for specific pages (i.e. page.php) and you will see that the starter theme does look for a page-{slug-name}.twig view in its render call within page.php.

@jnweaver has covered this so going to close this. Feel free to comment @tgelles if this is still an issue for you.


Mouse movement is slow while app is running

When the app is runnign, moving the mouse becomes really slow, which is painful. This is probably due to our mouse hooks, we should see if lowering the workload on mouse move events helps. Otherwise we might need to find a better way to detect elements being hovered on.

Turns out this is caused by us updating the color picker every time the mouse is moved. We could lower the rate at which we update the color picker using a timer like we do for updating the target element.

Fixed with commit 8a93657eb90f0822dc6544dcb18dc96dbc80dc4d. Though it is not super clean, it would be great to find a better approach eventually.


Improvement: [Novel Updates]: Replace API Fetching with Table Fetching

fixes chapter url issue

Could you test updating library with 10 NU novels which has at least 400 chapters.

Could you test updating library with 10 NU novels which has at least 400 chapters.

I'll try when I have time but I think it causes problems. Maybe I will limit simultaneous fetching to 20 pages max. So when a novel has 35 pages or something we first fetch 20 pages at the same time and after that the last 15 pages. Maybe that works better


fix: limit with offset should return correct results

Which issue does this PR close?

Closes #358.
Rationale for this change

What changes are included in this PR?

How are these changes tested?

cc @sunchao @andygrove

Merged. Thanks.


Missing docs for upload field

I'm submitting a ...

[x] bug report
[x] feature request
[ ] support request => Please do not submit support request here, see note at the top of this template.

There is no documentation for the upload field. Is this intended? If it isn't, then there should be one

up @CthulhuDev


Codequality_jenkins_collector does not work

Affects: <jenkins-codequality-collector-version-number>.

How does this codequality works? When I tried, this collector does not seem to have list of artifacts from last successful build for comparison against patterns?
Appreciate if you can share any results from this collector? Not sure whether some settings are missing, but I am unable to get any output. As I said above, "collector does not seem to have list of artifacts from last successful build for comparison against patterns". Is there any issue with rest command to jenkins (2.222.1)?

Though there are few issues, basic issue resolved after selecting archive artifacts in jenkins.


Add branch header search paths to cocoapods config

Some plugins still use the old CocoaPods way to resolve config dirs or other obscure ways that modify CocoaPods config. That causes the Branch plugin to fail on iOS build.
Solution:
Create a hook that adds some extra config to CocoaPods and avoid being affected by other plugins overriding CocoaPods config.

Looks good!


[JP] Transcript Update

Hmm, hmm... What do we smell here? a new patch?! Is this even possible?! Thanks again tony.


Is there performance problems for method[next] in class[MultiProducerSequencer]

Is there performance problems for method[next] in class[MultiProducerSequencer] when cursorSequence move from Long.MAX_VALUE to Long.MIN_VALUE?

public long next(int n) {
        if (n < 1) {
            throw new IllegalArgumentException("n must be > 0");
        }

        long current;
        long next;

        do
        {
            current = cursor.get();
            next = current + n;

            long wrapPoint = next - bufferSize;
            long cachedGatingSequence = gatingSequenceCache.get();

            if (wrapPoint > cachedGatingSequence || cachedGatingSequence > current)
            {
                ......
            }
            else if (cursor.compareAndSet(current, next))
            {
                break;
            }
        }
        while (true);

        return next;
}

when variable cursor move from Long.MAX_VALUE to Long.MIN_VALUE
variable current would always be less than 0, but variable cachedGatingSequence would be greater than 0 before queue becomes empty even if current - cachedGatingSequence < bufferSize
the judgement would cause cpu idle util queue becomes empty
the same situation to wrapPoint > cachedGatingSequence
Would  cachedGatingSequence - wrapPoint >= 0  be better ?

In my opinion, integral variable operation, for example,  a - b > 0 is not equal to a > b (a = Integer.MIN_VALUE, b = Integer.MAX_VALUE)

There might be. I'm not sure that was given much thought. A system processing 1,000,000 events a second would take more than 200,000 years to pass through this boundary.
Do you have a system or circumstance where you expect this to be a problem for you?

I see. This question I had when reading the source code. However, I had not consider the actual situation.
Thanks for your patience very much.


Create export-rearports-for-adding-details.txt

Why? We use Label and description of rear ports to mark in where which room a port ends. After adding the information it can be reimported again thanks to the recently added edit functionality.
Example:
id,name,description,label
1337,1,Wallmounted,R4711
1338,2,In Ceiling ,Floor 0815

Seems very simple. You could do it without an export templating just by selecting the columns of interest, except that the column headings will be wrong.
If you want a more sophisticated example, you could use something like this for cables:
side_a_device,side_a_type,side_a_name,side_b_device,side_b_type,side_b_name,type,status,label,color,length,length_unit
{%- for c in queryset %}
{%- if c.a_terminations and c.b_terminations %}
{%- set act = c.a_terminations[0].cable_terminations.content_type %}
{%- set bct = c.b_terminations[0].cable_terminations.content_type %}
{%- if act.app_label != 'circuits' and bct.app_label != 'circuits' %}
{{ c.a_terminations[0].device.name }},{{ act.app_label }}.{{ act.model }},{{ c.a_terminations[0].name }},{{ c.b_terminations[0].device.name }},{{ bct.app_label }}.{{ bct.model }},{{ c.b_terminations[0].name }},{{ c.type }},{{ c.status }},"{{ c.label }}",{{c.color}},{{ c.length|default("", True) }},{{ c.length_unit }}
{%- endif %}
{%- endif %}
{%- endfor %}

(although since AFAIK it's not possible to use CSV to import multi-termination cables, this only works if there are single terminations at each end)


winPB: Add 'changed_when: false' when using shell tasks to query

Ref: #2422 , #2449
The same as #2449 , however this is specific to the Windows PB.
This is currently blocked by #2178 , as we're unable to use VPC to test the changes.
Checklist

[x] commit message has one of the standard prefixes
[ ] faq.md updated if appropriate
[ ] other documentation is changed or added (if applicable)
[ ] playbook changes run through VPC or QPC (if you have access)
[ ] for inventory.yml changes, bastillion/nagios/jenkins updated accordingly

This is currently blocked by https://github.com/adoptium/infrastructure/issues/2178 , as we're unable to use VPC to test the changes.

FAST_MODE switches off MSVS_2010,VS2010_SP1,MSVS_2013 for JDK11+ so would bypass that problem. I've kicked off another VPC at https://ci.adoptopenjdk.net/view/Tooling/job/VagrantPlaybookCheck/1440/ with that option

Rerunning as that one failed with a connection issue :)
https://ci.adoptopenjdk.net/view/Tooling/job/VagrantPlaybookCheck/1459/

Hmmm perl download failed so trying Windows again at https://ci.adoptopenjdk.net/view/Tooling/job/VagrantPlaybookCheck/1461


Tests for Profile and Packet

Added tests for Profile and Packet +minor fixes.

Hi @irinil
Let me know if I can review these changes.

Hi @sastry17 yes you can review them.


Division standings order

division standings should prioritise win % over games played where number of wins are equal.

Guys, don't bring this up every season.
Make a github in the staff github, get cosmic to approve it AND STICK TO IT.
I am tired that we have that request every season.


bad indentation of a mapping within configuration.yaml

Cheers,
while adding the config parameter into configuration.yaml. It states that something like "bad indentation of a mapping" is wrong. I copied exact as stated under README.md (xxxx for sure changed)
sensor:
- platform: fusion_solar_kiosk
kiosks:
- id: "XXXXX"
name: "A readable name for the plant"
What am I doing wrong? Can someone give me a short hint please?
Many thanks

I am having the exact same problem! If anyone could help

This one worked for me!
sensor:
- platform: fusion_solar_kiosk
kiosks:
- id: XXXX
name: "zonnepanelen"

Sorry for coming back so late but unfortunately the problem still exists.

Hello, I have a similar problem than AndreB81.
This configuration is accepted by File Editor :
sensor:

platform: fusion_solar_kiosk
kiosks:

id: XXXX
name: "SolarPlant"

But when I check the configuration before restarting I get :
Invalid config for [sensor.fusion_solar_kiosk]: extra keys not allowed @ data['name']. Got 'SolarPlant'
required key not provided @ data['kiosks'][0]['name']. Got None. (See ?, line ?).
Thank you in advance for your support.

Many thanks Pme1159.
You solved my issue!


⚠ Jenkins Plugins Artifactory has degraded performance

In 6918e4a, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1038 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 64ad825 after 27 minutes.


Use of unstable library feature alloc

See https://github.com/ron-rs/ron/runs/1422737099
Happens with 0.9.1, which is the latest release

You are running this with Rust 1.34 but hashbrown requires 1.36.

That's unfortunate but understandable. Thank you for quick turnaround!


Need ability to specify other versions of protoc

Many tools require us to specify other versions of protoc than the default that comes with the ruleset, and it would be really nice to be able to specify that in the arguments to the rules_proto setup.
The biggest issue with this is specifying the sha256s, rules_go does this by having a checked-in list: sdk_list.bzl
Previously this was possibly by simply specifying your own com_google_protobuf http_archive before setting up rules_proto, but now you have to override all of the dependencies in dependencies.bzl.

Update, rules_go moved to downloading this each time: https://github.com/bazelbuild/rules_go/pull/2729

Hi.
In a similar way, is it possible to avoid using the binaries for my current system?
Reason is that the binaries do not work:
/run/user/1000/.cache/bazel/_bazel_claudio/d8784845802f85734743b59142c4faef/external/com_github_protocolbuffers_protobuf/BUILD:354:15: Generating Descriptor Set proto_library @com_github_protocolbuffers_protobuf//:source_context_proto failed (Exit 1): protoc.exe failed: error executing command bazel-out/host/bin/external/com_google_protobuf_protoc_linux_x86_64/protoc.exe '--proto_path=bazel-out/k8-fastbuild/bin/external/com_github_protocolbuffers_protobuf/_virtual_imports/source_context_proto' ... (remaining 6 argument(s) skipped)

How can I force the rules to skip the select? TIA!

Toolchainisation of protoc should make this possible.

Hi,
can someone help me understand the current options for using a specific version/repository of protoc with rules_proto? I see there is a bazel command line flag --proto_compiler ...does that work and if so, what else is this issue trying to solve? Thanks.