Mismatch between Helm and Python versioning schemes

When creating, for example, an alpha release using a verion name compatible with the Python Packaging User Guide such as 0.4.1a1 the current CI for publishing the helm chart uses ${GITHUB_REF##*/} as the appVersion.
This is rejected by helm/the repository with:

Run sed -i "$ a appVersion: ${GITHUB_REF##*/}" helm/blueapi/Chart.yaml
  sed -i "$ a appVersion: ${GITHUB_REF##*/}" helm/blueapi/Chart.yaml
  helm dependencies update helm/blueapi
  helm package helm/blueapi --version ${GITHUB_REF##*/} -d /tmp/
  helm push /tmp/blueapi-${GITHUB_REF##*/}.tgz oci://ghcr.io/diamondlightsource/charts
  shell: /usr/bin/bash -e {0}
  env:
    GCR_IMAGE: ghcr.io/diamondlightsource/blueapi
    HELM_VERSION: 3.10.3
Error: Invalid Semantic Version
Error: Process completed with exit code 1.

Helm uses Sem Ver 2.0.
There is a library which could help https://python-semver.readthedocs.io/en/latest/advanced/convert-pypi-to-semver.html but other solutions might be preferred or easier.

The current state of this is that the PyPI GH action will convert a sem ver tag to a PEP 440 compliant release.
There was some discussion about converting the copier template to enforce a sem ver version however it was decided that this requirement is a special case and should not be the norm as most projects will likely only need/want to be PEP 440 compliant.
Therefore we should be able to use sem ver tags for releases and everything should work but this should probably be documented within this project. Additionally it might be possible to validate this before the release tasks are performed using an action but I haven't explored this yet.

I think it's worth documenting higher up, this is a special case but not that special. It's a Copier project with a helm chart, I suspect there will be more than a few of those. Tagging @coretl and @gilesknap for opinions

I think if we add helm chart as an option to the copier template then we should do this, and I'd like to see some more usecases for python project with a helm chart in it before we do that. Do we have any apart from blueapi?

Presumably any Python backend web service eventually? Adding helm to the copier template might create more awkward than its worth. There are lots of different types of helm template - REST service, epics service etc. so constraining it it seems counterproductive.

I'm not convinced that there will be any epics services, we use ec to build the helm chart for the instance using a helm chart library then adding config. As most of our stuff has config files, I can't see why we would build a helm chart in the repo, just the container. That's the approach for PandA.
I think we should defer this until we have a second example to look at...

This is now a blocking concern, has there been any progress on it?

@callumforrester I think there is a simple answer which I now realize has not been highlighted in the comments on this issue.
Just use semver for this repo. Helm will be happy and pypi publishing will automatically convert it to PEP440.
I have verified the latter here:

https://github.com/epics-containers/ibek/releases/tag/2.0.2-b1
https://pypi.org/project/ibek/2.0.2b1/

If you want to put in a check into blueapi CI to tell you you have made a bad version then I think that should be a custom change to blueapi itself because we think in general this would be a confusing thing for users of python copier template who just want python packages published.
What do you think?

Maybe rather than doing the check which is just another way of failing the CI we could have a troubleshooting section in the docs that says if you are making a beta and this happens then ...

We've just made a release of blueapi too to check this works (0.4.1-a3 /  PyPI 0.4.1a3) which it did, as expected.
For reference: the version conversion happens when the wheel is built in dist/build action (eventually via some normalisation, see tests in test_version.py).

Maybe rather than doing the check which is just another way of failing the CI

I think we want some check to prevent the case where publishing may succeed to one service but fail on others (as can currently happen).
Then we should add versioning info to this project's docs.

@coretl so here we have a working solution for pypi and helm, feels reasonably to move to a copier template issue at this point?

I'm still waiting for the second example to look at... Has this popped up anywhere apart from blueapi?

I presume it would happen if we ever did an alpha release of https://github.com/DiamondLightSource/diffcalc-api

Is there anything that stops you making a GitHub release if it doesn't conform to a regex then?

Not sure, that would be ideal. If not, another option is to prevent the release pipeline from triggering unless it conforms to a regex. Then the release just appears in the GH release history and you can yank it when you realise you've got it wrong.

have we had any issues with this around the 0.5.0 release? I think not, @callumforrester , maybe this can be closed

@stan-dot There are no issues because we know how to avoid them (tag releases with 1.2.3-a1 rather than 1.2.3a1). This issue is still open because we would like more foolproofing than that. For example, a nice error message when you use the wrong format, or a job that automatically converts between the two formats.

related issue
https://github.com/helm/helm/issues/9728

I think we can solve this with tag rulesets<EMAIL_ADDRESS>I will experiment with it at some point, documenting it here in case anyone else has time sooner than me.

0.4.1-a3 as a valid tag name and 0.4.1a3 as invalid - and to put the regexes to confirm this and reject other tags? testing this out...

this should work, but I don't have the permissions
^\d+\.\d+\.\d+-[a-zA-Z]+\d+$
to match the dash and this, I think:
Require deployments to succeed

I had a play with that, update on how far I got:

Rather than spam this repo with testing tags I made one in my own Github namespace to play with: https://github.com/callumforrester/ruleset-playground
Your regex is slightly incomplete, it should actually be ^\d+\.\d+\.\d+(-[a-zA-Z]+\d+)?$ to allow for normal releases as well (e.g. 1.2.3)
As it turns out Github uses fnmatch rather than regex to define rulesets, I haven't yet figured out how to define semver in fnmatch or if it's even possible
There is an option for regex but it is a Github Enterprise feature


Question about ABF model

class ABF(nn.Module):
def __init__(self, in_channel, out_channel, mid_channel, is_fuse=True):
    super(ABF, self).__init__()

    self.conv_first = nn.Sequential(
        nn.Conv2d(in_channel, mid_channel, kernel_size=(1, 1), bias=False),
        nn.BatchNorm2d(mid_channel)
    )

    self.conv_last = nn.Sequential(
        nn.Conv2d(mid_channel, out_channel, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False),
        nn.BatchNorm2d(out_channel)
    )

    self.att_conv = None if not is_fuse else nn.Sequential(
        nn.Conv2d(mid_channel * 2, 2, kernel_size=(1, 1)),
        nn.Sigmoid()
    )

    self.__init_weights()

def __init_weights(self):
    nn.init.kaiming_uniform_(self.conv_first[0].weight, a=1)
    nn.init.kaiming_uniform_(self.conv_last[0].weight, a=1)

def forward(self, x, y=None, shape=None):
    assert len(x.shape) == 4
    N, _, H, W = x.shape[:4]

    x = self.conv_first(x)
    if self.att_conv is not None:
        # up sample residual features
        y = F.interpolate(y, shape, mode="nearest")
        # fusion
        z = torch.cat([x, y], dim=1)
        z = self.att_conv(z)

        x = (x * z[:, 0].view(N, 1, H, W) + y * z[:, 1].view(N, 1, H, W))
    y = self.conv_last(x)

    return y, x

In the 'forward' function, only the channel of y seems must be equal to mid_channel if self.att_conv could work.But the input y is res_features,  the channel's number of res_features seem can't be guaranteed to be equal to mid_channel.

I'm sorry I misunderstood. Now I know what it means.


Welcome message

This issue is nice to have.
It would be great to have a welcome message, perhaps logging a BEE to the terminal + release info.

Printed ASCII bee to terminal and welcome message


Enumerating event properties in Seq.App.Email doesn't seem to work

I'm running Seq v3.3.23 with Seq.App.Email v2.0.44 and followed the instructions in the docs to display a list of properties and values in the Properties bag and it doesn't get rendered in the e-mail.

  {{#each $Properties}}

{{@key}} is {{pretty this}}

  {{/each}}

I tried {{$Properties}}, {{@Properties}}, and {{Properties}} just to be sure, and none worked. The code above is displayed as is in the e-mail body, instead of it being rendered.

Hi Caio, thanks for the note. I've tried this using the versions you mention and can't seem to reproduce any issue - the properties come through as expected.
Is it possible there's a syntax error earlier in the template that's upsetting things? (I am only testing the literal snippet above).
The default template, in case you want to paste it in and check out the results, is: https://github.com/datalust/seq-apps/blob/master/src/Seq.App.EmailPlus/Resources/DefaultBodyTemplate.html - does it render correctly for you?

Hey @nblumhardt. Sorry for the delay, we've got hit by a hurricane just after I opened the issue, and things are just getting back to normal.
I tested with the default template, and I'm still getting the same behavior. Screenshot below:

This is how the Seq app config looks like (the HTML is a copy/paste of the DefaultBodyTemplate.html from above):

It seems that variables starting with $ are never rendered, whereas variables starting with @ are rendered (as you can see in the subject of the e-mail).
Any ideas?

we've got hit by a hurricane just after I opened the issue

Yikes! I hope you and your family all came through safely and without too much to clean up.
The subject template was the clue I needed:

To:

Unfortunately I missed that you specified Seq.App.Email, not Seq.App.EmailPlus - the docs etc. are all describing the new app. The old app is still published, so that existing installations can be maintained, but the new app is the one to use.
I will give some thought to how we can make this less of a trap - sorry about the confusion.
All works as expected with Seq.App.EmailPlus?

Added note to the docs: http://docs.getseq.net/v3/docs/formatting-html-email

Ah! I knew it had to be something as simple as that. I guess I missed the change from Email to EmailPlus, which works as expected.
Thanks for your help.
ps: Yes, we all came through safely and zero casualties on the island. The weekend was enough to do all the major cleaning, so all good now, back to normal :) Thanks!


Document that it's fine to "watch" a provider in a widget which doesn't use it, for the sake of autoDIspose

Situation description
.autodispose provider is being disposed when no more widgets are subscribed to it.
Having this kind of widget tree:
MyScaffold widget at the top with the bottom navigation, swaping body widgets when clicked to the bottom navigation.
Let's have 2 body widgets - ProductsListView and HomeView.
There is a productsStateProvider (.autoDispose) that stores all the fetched products in the ProductsListView.
Problem description
productsStateProvider is subscribed in the ProductsListView and preserves state like it should.
But the problem is when navigating to the HomeView widget. The productsStateProvider is disposed.
I want to preserve the state in the whole application (in both views - ProductsListView, HomeView and in MyScaffold, too) and dispose only when poping MyScaffold from the widgets tree.
Possible solution (unwanted)
Possible solution would be to add watch/useprovider on the productsStateProvider inside the MyScaffold, but then I'm wasting rebuilds (rebuilding all under MyScaffold).
Is there any way how to solve this elegantly using riverpod/hooks?

Have you tried using maintainState = true; inside the productsStateProvider

Have you tried using maintainState = true; inside the productsStateProvider

@EdwynZN yeah it would solve the preservation of the state and the dispose would be done only on context.refresh.
But I want to dispose it when when popping/disposing the given widget.
I think, that one possible solution could be to use the ScopedProvider with overriding the provider in the widget tree.
But then I can listen/watch only to changes on the whole provider and I cannot do select and listen only to given fields/situations.
And I cannot do read on this provider (for example inside the button callback).

Hmm, I think I'm getting it a bit.
For select I could use the ProviderListener.
But what about the read. I will try to restructure the providers in the project somehow and I will see.

Possible solution would be to add watch/useprovider on the productsStateProvider inside the MyScaffold, but then I'm wasting rebuilds (rebuilding all under MyScaffold).

That sounds like the correct solution
An easy way to fix the associated rebuild issue is to extract your scaffold in a widget with a const constructor:
watch(myProviderThatShouldStayAlive);

return const _MyScaffold();

This way, _MyScaffold will not rebuild

@rrousselGit confirming this solution with const.

Encountered the same use case.
Would it make sense to expose an API to register "reference" on a autodispose provider? Using watch() without needing any value seems like a hack.
My use case is a bit different:

Widget A has a ListView with builder, which contains an item Widget B (so B is built after A)
On init, Widget A triggers a chain of reaction which ends pushing a value to StateProvider B
Widget B watches on StateProvider B
StateProvider B is autoDispose

Between the time that Widget A ends up pushing a value to StateProvider B, and when Widget B builds using StateProvider B, the value of StateProvider B is disposed. So when Widget B builds, it gets a null value from StateProvider B.
As suggested, it's solved by watching StateProvider B in Widget A, just to keep a reference on the provider.

Would it make sense to expose an API to register "reference" on a autodispose provider?

How would that look like?

Using watch() without needing any value seems like a hack.

From my perspective, this isn't a hack.
But I do consider disallowing context.read on .autoDispose providers to prevent any mistake from happening

In my case, it's another Provider (not .autodispose) which pushes a value to StateProvider B. The code looks like:
Data layer, shared by both widgets
final detailsProvider = StateProvider.autoDispose<Model>((_) => null);
final repositoryProvider = Provider((ref) => Repository._(ref.read));

class Repository {
  final Reader read;

  Future fetchModel() async {
    final response = await request ...
    response.when(
      success: (model, _) => read(_detailsProvider).state = model,
      ...
    );
  }
}

Widget A (contains a ListView, including a Widget B)
final _controllerProvider = StateNotifierProvider.autoDispose<_Controller>((ref) {
  // Theoretical, register a reference here:
  // It should not build a new _Controller when detailsProvider.state changes
  ref.dependsOn(detailsProvider);

  ref.onDispose(() {
    // detailsProvider gets disposed too
  });

  return _Controller(ref.read);
});

class _Controller extends StateNotifier<ScreenState> {
  _Controller(this.read) : super(ScreenState()) {
    fetch();
  }
  final Reader read;

  void fetch() async {
      await read(repositoryProvider).fetch();
      state = state.copy(fetchFinished: true);
  }
}

class WidgetA extends HookWidget {
  @override
  Widget build(BuildContext context) {
    final show = useProvider(_controllerProvider.state.select((s) => s.fetchFinished));

    // Conditionally builds WidgetB when fetch request finished
    return ConditionalBuilder(
      show: show,
      builder: (_) => const WidgetB(),
    );
  }
}

Widget B

class WidgetB extends HookWidget {
  @override
  Widget build(BuildContext context) {
    useProvider(detailsProvider).state // == null
  }
}

Sorry for the long example, tried to make it as short as possible.

ref.dependsOn(detailsProvider)

Why not do:

ref.dependsOn(detailsProvider)

On Thu, 19 Nov 2020, 21:24 Lukasz Piliszczuk<EMAIL_ADDRESS>wrote:

In my case, it's another Provider (not .autodispose) which pushes a value
to StateProvider B. The code looks like:
Data layer, shared by both widgets
final detailsProvider = StateProvider.autoDispose(() => null);final repositoryProvider = Provider((ref) => Repository.(ref.read));
class Repository {
final Reader read;
Future fetchModel() async {
final response = await request ...
response.when(
success: (model, _) => read(_detailsProvider).state = model,
...
);
}
}
Widget A (contains a ListView, including a Widget B)
final _controllerProvider = StateNotifierProvider.autoDispose<_Controller>((ref) {
// Theoretical, register a reference here:
// It should not build a new _Controller when detailsProvider.state changes
ref.dependsOn(detailsProvider);
ref.onDispose(() {
// detailsProvider gets disposed too
});
return _Controller(ref.read);
});
class _Controller extends StateNotifier {
_Controller(this.read) : super(ScreenState()) {
fetch();
}
final Reader read;
void fetch() async {
await read(repositoryProvider).fetch();
state = state.copy(fetchFinished: true);
}
}
class WidgetA extends HookWidget {
@override
Widget build(BuildContext context) {
final show = useProvider(_controllerProvider.state.select((s) => s.fetchFinished));
// Conditionally builds WidgetB when fetch request finished
return ConditionalBuilder(
  show: show,
  builder: (_) => const WidgetB(),
);

}
}
Widget B
class WidgetB extends HookWidget {
@override
Widget build(BuildContext context) {
useProvider(detailsProvider).state // == null
}
}
Sorry for the long example, tried to make it as short as possible.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rrousselGit/river_pod/issues/185#issuecomment-730645683,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEZ3I3ITPGE2LLPCB4CAUYDSQWEJBANCNFSM4SM2FYSA
.

What do you mean?

Oh sorry the message wasn't sent properly
I meant instead of:
ref.dependsOn(detailsProvider)

do:
ref.watch(detailsProvider)

The problem is that when a new value is pushed to detailsProvider, it will reset and build a new instance of StateNotifier<ScreenState> which is unwanted.

No it won't.
You'd need to do ref.watch(detailsProvider.state)

Mmh I can't do ref.watch(detailsProvider.state), only ref.watch(detailsProvider) or ref.watch(detailsProvider).state.
From my tests, this provider returns a new instance every time detailsProvider gets a new value:
final _controllerProvider = StateNotifierProvider.autoDispose<_Controller>((ref) {
  ref.watch(detailsProvider);
  return _Controller(ref.read);
});

Oh I thought you were using a StateNotifierProvider
Then create a separate provider to capture only what you need:
final detailsProvider = StateProvider(...);

final detailsControllerProvider = Provider<StateController>((ref) => ref.watch(detailsProvider));

final _controllerProvider = StateNotifierProvider.autoDispose<_Controller>((ref) {
  ref.watch(detailsControllerProvider);
  return _Controller(ref.read);
});

This way the provider won't rebuild when the state changes

Ok makes sense - thanks! :)
Regarding your first statement "But I do consider disallowing context.read on .autoDispose providers to prevent any mistake from happening", does that apply to Reader.read too?

does that apply to Reader.read too?

Yes.
The problem is that it makes the function very inconvenient to use.

I agree. I'm curious how you would personally design this kind of provider relations then, but I guess it's off topic.
In my opinion, the doc would benefit from a series of cookbook/recipes illustrating the best practices on various scenarios like the ones discussed here.

watch(myProviderThatShouldStayAlive);

@rrousselGit should read works in the same way or we need to use watch to keep it alive? If not, why?

@David-Mou only watch. Read should not even be used in build method.
Watch makes the widget to observe the provider, creates dependency and makes the provider not to dispose. Read on the other hand, is only for one time read of a value from a provider.

@David-Mou only watch. Read should not even be used in build method.
Watch makes the widget to observe the provider, creates dependency and makes the provider not to dispose. Read on the other hand, is only for one time read of a value from a provider.

He mean, if read() still alive same as watch() @David-Mou yes it works in the same way. Just difference as @KristianBalaj say.

Covered by https://docs-v2.riverpod.dev/docs/essentials/eager_initialization


It is impossible to make a select all comparison

What

It is impossible to make a select all comparison

Screenshot/Mockup/Before-After

@teolemon Fair enough, and duplicate with #1392.

This is now possible with recent changes.

Indeed, done in #5842.


Documentation

Add documentation about:

services/listeners, binds and routes(which are highly customisable now)
documentation of protocols json over zmtp and ping/pong over zmtp (for developers in other languages)

Also it would be nice to update the architecture diagram in the docs ...


Option to keep whitespace?

This may be a weird request, but is there an option to not remove whitespace? Not finding it in the documentation, if there is one.
My use case is simple: I was reading everything cssnano does and though “most of these I’d like to have applied to my development CSS” (like removing empty rules and deduplicating, for example), but for that CSS to still make sense, I’d need the whitespace there, naturally.

Sort of. You can disable the core module (--no-core on the CLI, or {core: false} in JS) which will keep most of the line breaks. Note that whitespace is transformed by a few different modules as well, so you might have to play with the other options a bit to get what you want. :smile:
The other route would be to beautify your CSS afterwards, using something like https://github.com/ben-eb/perfectionist.


Introduce runtime guard to preserve the x-request-id header

This change adds a new runtime guard to prevent envoy from modifying the x-request-id header.  We chose to add a runtime guard so that we do not overload the HTTP Connection Manager's preserve_external_request_id directive to achieve the desired behavior.
Signed-off-by: abaptiste<EMAIL_ADDRESS>Commit Message: Introduce a runtime guard to prevent any modification to x-request-id header
Additional Description: Envoy uses the 14th byte of a UUID in the x-request-id header to indicate a tracing decision.   For cases where the x-request-id header is externally injected, this modification can create issues for customers due to the altered header.  With this runtime guard, the behavior can be disabled to ensure that the injected header remains consistent in its path through Envoy.
Risk Level:  Low
Testing: 2 new unit tests, manual header verification, full unit test suite
Docs Changes: N/A
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]  envoy.reloadable_features.http_omit_tracing_decsion_from_request_id
[Optional #Issue] https://github.com/envoyproxy/envoy/issues/11532

@abaptiste thanks for tackling this. As I mentioned in https://github.com/envoyproxy/envoy/issues/11532 I think the right solution here is to have a built-in request ID implementation which does not do any transformations. As this is now pluggable I think it should be straightforward to add one and document it. Would you be willing to take this on? Thank you.
/wait

@abaptiste thanks for tackling this. As I mentioned in https://github.com/envoyproxy/envoy/issues/11532 I think the right solution here is to have a built-in request ID implementation which does not do any transformations. As this is now pluggable I think it should be straightforward to add one and document it. Would you be willing to take this on? Thank you.
/wait

Thanks for the feedback, however I will have to revisit this at a future date.

Thanks for the feedback, however I will have to revisit this at a future date.


pull request for e2e test at 11/08/2016 09:15:09

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

Details

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Fix test explorer tests

Fix these 4 tests

they broke again?
last time it was due to not catch exceptions when setting focus fails.
Also they are very flaky

So this might be due to the Test Explorer output window bug with double trace statements.
The strange thing is when I run the tests locally i dont get anything in my test output window related to test discovery and that is what is causing the tests to fail.
However, if I manually open the same generated test project then i do get trace statements in the output window related to discovery, but its duplicated.


Binary libraries are preventing implementing SealNote into F-Droid's repo

For reference: https://f-droid.org/forums/topic/sealnote/
I was looking into apps that are stuck in the F-Droid submission queue, and wish to see where I could assist to push these processes forward.
It seems that the binary libraries here are the issue in this case, as they are precompiled items that could pose a potential security threat in the eyes of those that appreciate full transparency. I do not know how to proceed, however, so I was hoping you may have insight!

@chadcurtis Those binaries belong to sql-cipher project. It is an open source library, so we can try to remove these binaries and rather use original source to build them. Can be added as gradle task or something.

Thanks @vishesh. Is this something you'd be willing to look into? If so, it would make the process of moving this into F-Droid go more smoothly. Thanks!

@chadcurtis I would like to, however, I can't do that anytime soon. In other words I'm calling out for help!
@akshatgoel Would you be interested in this?

I removed binary libs with #35 sql-cipher is added with this dependency:
compile 'net.zetetic:android-database-sqlcipher:3.5.6@aar'

Thanks @faruktoptas!

Thank you for jumping on this so aptly, @faruktoptas.
I have re-submitted SealNote to the F-Droid queue here, but I noticed that they require the author to be notified of this inclusion (and to be supportive of it).
So, this is my notification! Are you fine with SealNote being part of the F-Droid library, @vishesh?

@chadcurtis Yes I'll be happy to see Sealnote as part of F-Droid library.

I think commons-codec.jar and guava-r09.jar should also be removed.

@faruktoptas Yes right. Would you like to take a look at this? Or else, I can probably work on it this weekend among other things.

@faruktoptas I've attempted to replace the jars with gradle dependencies here.

Awesome! Merged the changes. Thanks @chadcurtis .


feat: show selected event marked in events list

added check icon in event layout with visibility case

fixes #474

@iamareebjamal please review.

@iamareebjamal please review.


Switch methods to ES6 syntax

Some methods are still in the old format

Closing issue as current execution with date range picker is consistent with the other components


Move to numpy 2.0

This is just a note to myself: I've seen some tests for the Lorenz system breaking under numpy >= 2.0. I'll need to investigate what has changed there and make sure we can support newer versions of numpy.

We need to address this at some point. For now, we should make sure that we have regression tests that run all algorithms with settings that make them deterministic and check for exact result values. This should hopefully make us bulletproof against accidentally changing the output by updating a dependency.

What errors do you get with numpy>=2 ?
I was surprised to see my numpy being downgraded during a poetry install :D.

Hi, we're using Nolds in our project (PyNeuromodulation) and I was wondering what the issue with moving to Numpy 2 is. Nolds is the only package that is downgrading us to Numpy 1.26 right now, which is not a big deal but I was wondering if there's anything I can do to help with the migration here, or what are the tests that are failing right now.

I have done a bit of digging into the issue and I have pinpointed the problem to the function datasets.lorenz_eurler, it seems to be basically a problem of casting between dtypes float32 and float64, more specifically in how the intermediate results of the following calculation are being interpreted:
    return np.array([
      sigma * (y - x),
      rho * x - y - x * z,
      x * y - beta * z
    ], dtype="float32")

This is what i get in Numpy 1.26
Types:
 x=<class 'numpy.float32'>
 y=<class 'numpy.float32'>
 z=<class 'numpy.float32'>
 sigma=<class 'int'>
 rho=<class 'int'>
 beta=<class 'float'>
Values: x=1.0
  y=1.0
  z=1.0
  sigma=10
 rho=28
 beta=2.6666666666666665
Intermediate types:
 sigma * (y - x): <class 'numpy.float64'>
 rho * x - y - x * z: <class 'numpy.float64'>
 x * y - beta * z: <class 'numpy.float64'>
Result type: float32

But in Numpy 2.0
Input types:
 x=<class 'numpy.float32'>
 y=<class 'numpy.float32'>
 z=<class 'numpy.float32'>
 sigma=<class 'int'>
 rho=<class 'int'>
 beta=<class 'float'>

Intermediate types:
 sigma * (y - x): <class 'numpy.float32'>
 rho * x - y - x * z: <class 'numpy.float32'>
 x * y - beta * z: <class 'numpy.float32'>

Result type: float32

It seems that Numpy 1.26 was either casting the inputs or the results of the intermediate calculations to np.float64, while in Numpy 2.0 the precision is maintained between inputs and outputs. This change is documented in the Numpy 2.0 migration guide: https://numpy.org/devdocs/numpy_2_0_migration_guide.html#changes-to-numpy-data-type-promotion
The floating point error is basically accumulating over the iterations, producing a different result in each version of Numpy.
I'm not sure if this is a bug in the lorenz function or in the test output. I would probably just calculate everything in float64 dtype to maintain as much precision as possible, but then the test fails to match the expected result.

Nice find! Thank you very much for putting in the work to dig through the code and the numpy changelog.  :pray:  :+1:
I figured it would be something minor like that, since the test results are not far off from the expected value. To safeguard against this, I want to create regression tests in #50. I'll prioritize this issue to double-check that there aren't any other changes introduced with numpy 2.0.
I didn't plan to release another version between 0.6.0 and 1.0.0 (see https://github.com/CSchoel/nolds/milestone/1), but if the downgrade to numpy < 2.0 causes issues, I can try to fit in a 0.6.1 that makes nolds fully compatible with numpy 2.0.

Hi @CSchoel, glad that you figured out that the functionality isn't broken between versions of Numpy. Our program doesn't really break by keeping 1.26, but it makes it hard to do some optimizations like calling internal Numpy functions to skip checks (our data is already validated) and save some time during real time data processing, because the internal implementations have changed slightly between versions. Thank you for taking the time to fix this, and have a nice day!

I just released version 0.6.1 in #59. Please let me know if it works. :smile:


Adding LED support to the BLE demo hangs the program.

After extending the BLE demo to blink an LED during the working cycle, the program operates for a few seconds then seems to hang and does not recover anymore.
Source code:
#include "riotee.h"
#include "riotee_ble.h"
#include "riotee_gpio.h"
#include "riotee_timing.h"

// <---- NEW LINE
#define TOGGLE_LED PIN_LED_CTRL
// --->

const uint8_t adv_address[] = {0x01, 0xEE, 0xC0, 0xFF, 0x03, 0x02};
const char adv_name[] = "RIOTEE";

static struct {
  unsigned int counter;
} ble_data;

void reset_callback(void) {
  riotee_ble_init();
  // <---- NEW LINE
  riotee_gpio_cfg_output(TOGGLE_LED);
  // --->
}

// <---- NEW LINES
void turnoff_callback(void) {
  riotee_gpio_clear(TOGGLE_LED);
}
// --->

int main() {
  riotee_ble_adv_cfg_t adv_cfg = {.addr = adv_address,
                                  .name = adv_name,
                                  .name_len = 6,
                                  .data = &ble_data,
                                  .data_len = sizeof(ble_data),
                                  .manufacturer_id = RIOTEE_BLE_ADV_MNF_NORDIC};
  riotee_ble_adv_cfg(&adv_cfg);
  ble_data.counter = 0;
  for (;;) {
    riotee_wait_cap_charged();
    // <---- NEW LINE
    riotee_gpio_set(TOGGLE_LED);
    // --->

    riotee_ble_advertise(ADV_CH_ALL);
    ble_data.counter++;
    /* Sleep at least 250ms before next advertising round */
    riotee_sleep_ms(250);
  }
}

Compiled with Arduino IDE 2.2.1 + Riotee Board.

The problem is the turnoff_callback(). This function was renamed to suspend_callback() with commit 8c3a794e87e5ab56a2a75ad87428e4772ba1d092. Please rename the function and close the issue if your application runs as expected.

I upgraded to the newest version of the Riotee SDK (14/01/2024) and renamed to suspend_callback and unfortunately the problem still persists. Interestingly, I accidentally tried a version without the renaming which seemed to not dead-lock. I assume that in that case the code compiles but no callback is ever called on suspension in which case
riotee_gpio_clear(TOGGLE_LED);
is never called. Could be some indication that interaction with the GPIO during suspension seems to cause the dead-lock.

OK, after fixing the turnoff_callback naming, your example seems to run fine when compiled with the SDK's makefile. The other problem is that you implement a main() and reset_callback() in an Arduino sketch. An Arduino sketch generally consists of two special functions setup() and loop(). I'm surprised that the Arduino IDE doesn't throw an exception when you try to implement the main function. Anyway, here's a version of your code adjusted to the Arduino API:
#include "riotee.h"
#include "riotee_ble.h"
#include "riotee_gpio.h"
#include "riotee_timing.h"

// <---- NEW LINE
#define TOGGLE_LED PIN_LED_CTRL
// --->

const uint8_t adv_address[] = {0x01, 0xEE, 0xC0, 0xFF, 0x03, 0x02};
const char adv_name[] = "RIOTEE";

static struct {
  unsigned int counter;
} ble_data;

void setup(void) {
  riotee_ble_init();
  // <---- NEW LINE
  riotee_gpio_cfg_output(TOGGLE_LED);
  // --->
  riotee_ble_adv_cfg_t adv_cfg = {.addr = adv_address,
                                  .name = adv_name,
                                  .name_len = 6,
                                  .data = &ble_data,
                                  .data_len = sizeof(ble_data),
                                  .manufacturer_id = RIOTEE_BLE_ADV_MNF_NORDIC};
  riotee_ble_adv_cfg(&adv_cfg);
  ble_data.counter = 0;
}

// <---- NEW LINES
void suspend_callback(void) {
  riotee_gpio_clear(TOGGLE_LED);
}
// --->

void loop() {

    riotee_wait_cap_charged();
    // <---- NEW LINE
    riotee_gpio_set(TOGGLE_LED);
    // --->

    riotee_ble_advertise(ADV_CH_ALL);
    ble_data.counter++;
    /* Sleep at least 250ms before next advertising round */
    riotee_sleep_ms(250);

}

Please close the issue if that works for you. I'll try to clarify this point in the documentation.

I tried both the original code (with the suspend_callback fix) compiled in VS code and your proposed solution compiled with Arduino IDE. The problem remains either way.
I can reproduce this problem with different Riotee devices (so it does not seem to be just one broken probe), different light sources, and different capacitor settings (I tried the smallest 3, 4, 5). The LED keeps blinking a few times (somewhat unpredictable) and BLE packets are received at the scanner, but after a while the device seems to simple hang without blinking and no more packets arrive. Only a full device reset, will make the device working again for a few seconds.
Do you have any suggestions how to debug this issue further?

Thanks for following up with this. I just tried again with the Arduino sketch and the VSCode project and both run for minutes without problems on my setup. Let's try a few things:
Debugging
The first thing I usually do to debug problems on Riotee is to attach an analog channel of a logic analyzer (or an oscilloscope) to the Vcap pin and monitor the capacitor voltage. I use a 1V constant power supply connected to Vin via a 1k resistor as a harvesting emulator as described here. You may want to try that to avoid problems due to an inadequate power supply. It's probably best to start with a known working application like the blinky example. You should see a typical intermittent execution pattern like this:

Now when running your troubled application, watch out for the capacitor voltage dropping below around 2.5V. That indicates that something goes wrong.
Reference code/binary
I've attached a zipped version of the vscode app that works on my setup:
VSCode_App.zip
Please adjust the .vscode/settings.json according to your platform and try compiling and uploading the code.
I've also attached the Arduino sketch that works on my setup:
Arduino_sketch.zip
Please give it a try.
Finally, I'm also attaching the binary hex that's just the compiled code from the vscode app binary.hex.zip. Please unzip it and upload the hex to your board with riotee-probe program -d nrf52 -f binary.hex. Does that work?
Arduino, SDK and compiler versions
Please send me the output of arm-none-eabi-gcc --version, the SDK version which you find under /path/to/sdk/.bumpversion.cfg`and the version of the Arduino package which is displayed in the Arduino IDE's board manager.
Let's hope we can get to the bottom of this!

@pbauszat  Any update on this issue?

I assume this issue has been resolved. Please reopen if not.


[FEATURE] Nada.bot Search Users 🟠

Problem
Can't search other users whether they are human verified
User Story(s):
As a user, I want to search the score of other users, so that I can see what stamps they have verified, or that they havent and havent verfied, or whether they are human.
Description
Search all account
Acceptance Criteria
Limitations

maybe hard to index every stamp by users to know how to globally search
can you search anyone by account id even if they dont have stamp (are we just searching all counts that exists?

Resources

Check whether account is human https://github.com/PotLock/core/blob/main/contracts/sybil/src/human.rs

error validation on search, and it defaults ot human

error validation on search, and it defaults ot human

This is an issue within the contract. cc @lachlanglen . Please take a look at the image below. pipico.near
doesn't exist yet on mainnet, even though it's returning is_human: true.

Fixed: Human Threshold was set to 20.


Change NestedGroupMembershipEnabled default value to false for AD and…

… OpenLDAP
https://github.com/rancher/rancher/issues/14482

LGTM


NFR4 Scalability

NFR4.

Goal: Scalability

Stakeholders: Legal Firm, Legal Firm Clients, Independent Customers, Users of the free product, Software Developer

Description: The program should handle merging larger files or multiple files without significant degradation in performance. It should be able to merge PDFs of varying sizes and numbers of pages up to two files up to a cumulative 10 MB in total file size.

Origin: Meeting number 1

Version: 1.0

Date: 09/25/2024

Priority: 4

This application handles files of varying sizes without issue.


Correctly handle ingress.class in GCE controller

This bug would only get activated when a user has both ingess.class=gce and ingress.class=nginx ingresses active in the same GCE/GKE cluster, and would manifest as a set of cloud resources created wastefully for the ingress.class=nginx ingress as well.
We were previously only ignoring ingress.class (documented here: https://github.com/kubernetes/contrib/blob/master/ingress/controllers/gce/BETA_LIMITATIONS.md#disabling-glbc) when the ingress was created/deleted/modified. There's a chance another ingress with the correct class results in us entering the sync routine and listing all ingresses. The listing routine was not smart enough to ignore ingress.class=nginx, so we ended up creating resources for the nginx ingress anyway.
The second commit fixes some of the nginx examples to include a readiness probe that is == liveness probe.
Minhan or Girish, whichever one has spare cycles first.

PTAL, dropped the nginx yaml commit


Modifiers not working

Hey,
I jus downloaded it, so i can edit out silence from my videos. Everything is up to date, as i downloaded Python and all modules just a few hours ago onto my laptop.
the program runs fine in total and does what it should, but when i add modifiers like "-- frame_rate 50", since it seems to have trouble detecting the framerate correctly, i get a error message close to the end stating
Unrecognized option '-frame_rate'. Error splitting the argument list: Option not found
causing the program to shut down. it also happens if i try to use the speed modifiers. haven't tried the others yet

did you type it right "--" not "-"


typo: Double word "are"

Hi, @nschonni the specs files are generated from our source code so we don't accept fixes to them as they would be overwritten.
However, I checked the typos you pointed out and found that some are still present even in the newer versions, I will be fixing the typos from our side so the generated specs do not have these typos. Thanks!


Bug ninemanga

Bug report
Environment:

Component
Value

OS
Ubuntu 16.04.6 LTS

Python version
Python 3.5.2

Pip version
pip 18.1

Npm version
3.5.2

Manga-py version
<IP_ADDRESS>

URL
http://es.ninemanga.com/manga/Kumo%20Desu%20ga-%20Nani%20ka%3F.html

To Reproduce:
Steps to reproduce the behavior:
pipenv run manga-py --cbz --zero-fill --rename-pages --no-webp --destination Manga/ http://es.ninemanga.com/manga/Kumo%20Desu%20ga-%20Nani%20ka%3F.html -c 1

Additional context
Only one image downloaded multiple times, but not corresponding to the comic.

Please wait some more.
Now my life is quite intense, but I will soon return to normal :-)

Please, check manga-py 1.5.3

Works OK in 1.5.3 :+1:

Component
Value

OS
Ubuntu 16.04.6 LTS

Python version
Python 3.5.2

Pip version
pip 18.1

Npm version
3.5.2

Manga-py version
1.5.3

URL
http://es.ninemanga.com/manga/Kumo%20Desu%20ga-%20Nani%20ka%3F.html


Chore: Use project name from context to get settings

Changelog Description
Use "projectName" value to get settings instead of get_current_project_settings.
Additional info
This is technical change, we should make sure the project which is set in context is used as source of truth for publishing.
Testing notes:

Settings are collected as before.

The setting of context.data["projectName"] here happens in an if statement that doesn't seem all too promising that we can rely on the project name being accessible.

Not sure what to do with this, maybe just use .get(...)?

Should that if statement be removed as well?

Which if statement?

Which if statement?

The if project_name statements in the code I linked.
https://github.com/ynput/ayon-core/blob/f59801774ba2711da548140e6bd65bcccdbc538f/client/ayon_core/plugins/publish/collect_from_create_context.py#L36-L38
https://github.com/ynput/ayon-core/blob/2072f2fbe2bdaa09c96dd3c849bff65785c3b3bb/client/ayon_core/plugins/publish/collect_current_context.py#L28-L29
Both seem to 'hint' that context.data["projectName"] MAY not exist.

Both seem to 'hint' that context.data["projectName"] MAY not exis

Yes, I'm asking how to handle that in this plugin. I won't touch the other plugins.

Yes, I'm asking how to handle that in this plugin. I won't touch the other plugins.

Ah good question - it seems like we always expected a project name to be 'retrievable' and thus be valid - so I'd actually say we should just make those always being set in the other plug-ins accordingly. Rather prefer that, then now still adding a get_current_project_entity fallback in this plug-in.

it seems like we always expected a project name to be 'retrievable' and thus be valid - so I'd actually say we should just make those always being set in the other plug-ins accordingly.

You can have completelly different logic in custom addon which collects "projectName". So I don't think we should enforce it.

Rather prefer that, then now still adding a get_current_project_entity fallback in this plug-in.

I don't think that is correct behavior. Using current project settings would be against what is inside publish context...


rez@ Not Loading Correctly

This is on an M2 Mac with Max 8.5.5 and ppooll 8.5 with the CNMAT packages loaded:
/Applications/Max.app/Contents/Resources/C74/packages/max-mxj/java-classes/
Cannot get_java_vm
Unable to create JVM
The rez@ act passes sound but seems to only be on a single resonant band which can't be changed. I'm not sure what the state of Java is under Ventura 13.4.  Any suggestions as to what I might need to add?

ugh, that's an antique patch by me – probably 15 yrs old, not updated in ages.
the mxjs are mostly to do some stuff like liste (de)multiplexing. this could/should all be done different today.  i also had some dev version lying around that animated the bands with random walks and such. too much to do right now.
–– aaaanyway: it works here on mac os 13.4.1. i have java version "17.0.5" 2022-10-18 LTS running here – don't remember where i downloaded it from. i only remember that it was not obvious. 🤔

Thanks, I need to check what Java I have here... I'm not sure what version or even what support Ventura has.  Thanks for the pointers though, much appreciated.

try "java -version" in the console!

found it in my browser history. i got it here:
https://www.azul.com/downloads/?os=macos&architecture=arm-64-bit&package=jdk#zulu
(not oracle, as one might expect)

i attempted a javascript version of the demultiplexing in the branch "rez-demultiplex-with-javascript".  not familiar with this act so cannot confirm if it's working as it should

try "java -version" in the console!

Ah, thanks - I have:
java version "1.8.0_371"
Java(TM) SE Runtime Environment (build 1.8.0_371-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.371-b11, mixed mode)
Doesn't mean much to me but will have a look at the version you linked, thanks for digging that out

i attempted a javascript version of the demultiplexing in the branch "rez-demultiplex-with-javascript". not familiar with this act so cannot confirm if it's working as it should

Thanks for trying but no luck with the current java version "1.8.0_371" I have loaded:
Cannot get_java_vm
Unable to create JVM
multislider: Slider 5 Out of Range.
multislider: Slider 8 Out of Range.
multislider: Slider 13 Out of Range.

found it in my browser history. i got it here: https://www.azul.com/downloads/?os=macos&architecture=arm-64-bit&package=jdk#zulu (not oracle, as one might expect)

Downloading that Java package got the rez@ version in ppooll 8.5 working correctly!
Thanks again for digging it out, I know nothing about Java so have no insight as to the difference between this version and what was already on the Mac (M2, Ventura 13.4)

I'd still like to try to implement my .js version of this (in an attempt to minimize the dependency for Java).  Assigning to myself, but may need @chausch input before going wide with this change.

i took another look at this today after not looking for a while.  i converted the original .java class into javascript, so no need for Java to use this act anymore :)

i took another look at this today after not looking for a while. i converted the original .java class into javascript, so no need for Java to use this act anymore :)

cool, thanks @jpsteccato


License

I can see you've got the LICENSE file in .github/, but it might be worth setting it somewhere more public.
I think if it's in the root of the project, GitHub can pick it up and pop a link to it in the sidebar

Thanks for spotting this! I've resolved this in #9


Improve the temperature sensor to handle multiple heatmaps

Currently the sensor uses a single heatmap across the entire map which might result in a very large texture for large maps.
If the temperature is mostly zero apart from a few places of interest we can use multiple heatmaps to represent these areas.
The temperature sensor would need to check which heatmap the sensor is currently in and then read the temperature accordingly.
The calibration method would need to alterted so the sensor can register multiple heatmaps.
The get temperature method would need to check the sensor against all heatmaps and then get the texture coordinates as normal.

This would be a nice to have as the current system works. Just a thought I'd had as I wrapping up implementation

This sounds like a good enhancement - although if the map becomes that large we probably need to split the map up first...
Note temp sensor should stay at around 5 degrees probably - can add random noise to simulate random temperature variations outside of multiple heatmaps! It will be interesting to see the best way to locate a sensor heatmap in a particular location.

Background loading for reference: https://docs.godotengine.org/en/stable/tutorials/io/background_loading.html

Gonna close this because what we have at the moment is workable


Process can be listed after killing it.

Process can be listed after killing it even after waiting for more than 10 secs
Note: This problem wasn't there before

In [50]: def get_process_id(cmdline):
    ...:         """
    ...:         Get the id of certain process
    ...:         :param cmdline: whole command to be executed
    ...:         """
    ...:         time.sleep(1)
    ...:         processes = client.process.list()
    ...:         for p in processes:
    ...:            if p['cmdline'] == cmdline:
    ...:                print(p['cmdline'])
    ...:                return p['pid']
    ...:         return
    ...:

Version
master @Revision: 26d994a15759b71841ca544c9ee18f31e5e06fd0

Verified on master @Revision: 28b1f6f63d0c96085fd2f3edbc6f1f9c557dd040


Boundary check for device data failed ZodError

First of all thank you very much for making this plugin! I have been looking for something like it for some time now. I hope I filled everything correctly. If not please let me know.
Describe The Bug:
I installed the plugin and configured it according to the readme. However if I open the /metrics page it is blank. In the logs I found a very long list of errors. It starts of with "Boundary check for device data failed ZodError:".
To Reproduce:
I am not sure what the problem is. I have quite a few sensors and devices in homebridge (82 devices total). And some of the names have special characters (German) in them.
Expected behavior:
No error messages in the log file and information on the /metrics page.
Logs:
I attached the log file since there is so much content there.
homebridge.log
Plugin Config:
{
    "bridge": {
        "name": "Homebridge",
        "username": "CC:22:3D:E3:CE:32",
        "port": 51090,
        "pin": "031-45-154"
    },
    "description": "Home Smart Home",
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "auth": "form",
            "theme": "red",
            "temp": "/sys/class/thermal/thermal_zone0/temp",
            "tempUnits": "c",
            "lang": "auto",
            "platform": "config"
        },
        {
            "name": "deCONZ",
            "anyOn": true,
            "configuredName": true,
            "effects": true,
            "hosts": [
                "<IP_ADDRESS>:8081"
            ],
            "lights": true,
            "nativeHomeKitLights": true,
            "nativeHomeKitSensors": true,
            "resource": true,
            "sensors": true,
            "users": {
                "xxx": "xxx"
            },
            "platform": "Hue"
        },
        {
            "name": "Miele@home",
            "clientID": "xxx",
            "clientSecret": "xxx",
            "language": "de",
            "reconnectEventServerInterval": 60,
            "disableStopActionFor": [
                "Dishwasher"
            ],
            "platform": "Miele@home"
        },
        {
            "name": "Shelly",
            "username": "xxx",
            "password": "xxx",
            "admin": {
                "enabled": true
            },
            "devices": [
                {
                    "id": "xxx",
                    "name": "Wohnzimmer Decke",
                    "type": "switch"
                },
                {
                    "id": "xxx",
                    "name": "Arbeitszimmer",
                    "type": "valve",
                    "exclude": false
                }
            ],
            "platform": "Shelly"
        },
        {
            "pin": "031-45-154",
            "debug": false,
            "prefix": "homebridge",
            "port": 36123,
            "refresh_interval": 60,
            "request_timeout": 10,
            "discovery_timeout": 20,
            "platform": "PrometheusExporter"
        }
    ],
    "accessories": [
        {
            "name": "Pihole",
            "auth": "xxx",
            "ssl": false,
            "rejectUnauthorized": true,
            "host": "<IP_ADDRESS>",
            "port": 80,
            "baseDirectory": "/admin/",
            "time": 0,
            "reversed": false,
            "logLevel": 1,
            "accessory": "Pihole"
        },
        {
            "accessory": "PhilipsTV",
            "name": "TV Wohnzimmer",
            "ip_address": "<IP_ADDRESS>",
            "poll_status_interval": "60",
            "model_year": 2016,
            "has_ssl": true,
            "has_ambilight": false,
            "wol_url": "wol://54:2A:A2:FA:B7:2E",
            "username": "xxx",
            "password": "xxx"
        },
        {
            "accessory": "mi-flower-care",
            "name": "Blumenkasten rechts",
            "deviceId": "C4:7C:8D:6C:C8:AE",
            "interval": 60
        },
        {
            "accessory": "mi-flower-care",
            "name": "Blumenkasten links",
            "deviceId": "C4:7C:8D:6C:CD:6A",
            "interval": 60
        }
    ],
    "disabledPlugins": [
        "homebridge-mieleathome",
        "homebridge-notification",
        "homebridge-mi-flower-care"
    ]
}

Screenshots:
Environment:

Plugin Version: v0.0.3
Homebridge Version: v1.5.1
Node.js Version: v18.12.1
NPM Version: v8.19.2
Operating System: Raspbian

Thank you for the report, looking into it right now.

Fixed in the develop branch, rolling a new release now

Published 0.0.4 to NPM which should fix the issue. Thanks again for the report and good luck trying the new version.

Wow that was quick. Thank you very much for the quick fix. It looks better now.
Unfortunately I am running into a different error message in the log. I will open a new issue for that.


Fix cspell errors in Monitor SDKs

Addresses https://github.com/Azure/azure-sdk-for-net/issues/23183
The Track 1 and 2 management plane libraries still need to be addressed. For now, they're marked as ignored.

API change check
API changes are not detected in this pull request.


Remove slashes from the label

On OS X, the slash causes problems when using the label as part of the temp dir.
lint.go:107: golang.linterSupport: 'Go/Install' in '...' failed: mkdir /var/folders/tn/09dglcts0b9gc5111hnf0_dm0000gn/T/margo.golang.Linter.Go/Install,465384526: no such file or directory

Consider this a bug report if you'd like to fix it some other way.

Thanks. I decided to just sanitize the name when creating the temp dir because we'd just get the same issue when someone else decide to put non-letter chars in the label


Adding a new  of type

Adding a new if of type to work with the new object type

After 1 year, but it's there


selenium-java 4.1.3 (was 3.141.59)

Updates org.seleniumhq.selenium:selenium-java from 3.141.59 to 4.1.3.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.seleniumhq.selenium", artifactId = "selenium-java" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequest = { frequency = "@monthly" },
  dependency = { groupId = "org.seleniumhq.selenium", artifactId = "selenium-java" }
}]

labels: library-update, early-semver-major, semver-spec-major, commit-count:1

Reviewed the change log for Selenium.  Seems like the project was asleep for a while, and is now getting some renewed attention.
There's a HUGE amount of changes for Java alone - You can see it all here.  Mostly looks like a bunch of additional features, support for new browsers, and lots of deprecations.  Since tests passed, I can only assume the deprecations and new features didn't affect this.  🤷🏼


Feature Request： Exporting gif

Hello,chanind
First, thanks a lot for this perfect project.
Is there any plan to add a new feature for exporting character animation to gif function?
Thank you very much.

Hi FrostyFeng,
That's a cool feature idea, but it's a bit out of scope for this project. I think it's something you could build using Hanzi Writer, but it wouldn't be a core feature of the library.


Indicate Reconnection Status

Current Situation
Presently, we do not indicate to the user that the app has lost connection with the server.
Proposed Actions
We should have some non-intrusive modal in a corner of that app which indicates whether the server has disconnected and when it will reconnect next.

I disagree. The IDOM framework should not inject a modal. There should be some sort of event API for the user to display pre-rendered HTML upon disconnect.

Ah, yes. I forgot about that one. That's definitely the way to go.


RWA-585 Update task configuration to include case management category

JIRA link (if applicable)
RWA-585
Change description
See ticket
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ X] No

there is no test for that change? Do we need to add any?


reinstall requirements without rebuild compose

I change
py-requirements/base.txt
then
$ docker-compose stop
$ docker-compose up

$ docker exec -i -t base_backend_1 /bin/bash
root@17bd92305a59:/opt/project/src# python
>>> import xlrd
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'xlrd'

root@17bd92305a59:/opt/project/src# cd /django/
root@17bd92305a59:/django# pip3 install -r py-requirements/dev.txt
Installing collected packages: xlrd
Successfully installed xlrd-1.1.0

>>> import xlrd
>>> (OK)

$ docker-compose stop
$ docker-compose up

import xlrd
ImportError: No module named 'xlrd'

why does docker container not store its state?
update
root@b085fd0f9099:/opt/project/src# cat /django/py-requirements/base.txt
.....
# xls
xlrd

try to rebuild only Django service, no succeed
$ ls
docker  docker-common.yml  docker-compose.yml
$ docker-compose build django
ERROR: No such service: django


Private asciicasts

Any progress on this? we really need this

:+1: :+1: :+1:
This would make our demos much more meaningful in front of crowds.  Please, please, please implement this.  I'd be happy to pay for this as a service!!

Really looking forward to this one as well!

Coverage increased (+0.01%) to 96.95% when pulling 344947d745c94b495e372aea20bb4c9d88980aa5 on private-asciicasts into ade94029d664c174a1fa6b1e700714abdad6139a on master.

Coverage decreased (-0.02%) to 96.93% when pulling 6bc2fd1048e9299da7f5d5b3a7c407f261666cc2 on private-asciicasts into ade94029d664c174a1fa6b1e700714abdad6139a on master.

Coverage decreased (-0.04%) to 96.9% when pulling 6aeb8810ad6315e455387ea9b8459fac06dc8658 on private-asciicasts into ade94029d664c174a1fa6b1e700714abdad6139a on master.

Coverage increased (+0.05%) to 96.99% when pulling 2c7d549778917ea2d0f572a9c9516b3231bef8b6 on private-asciicasts into ade94029d664c174a1fa6b1e700714abdad6139a on master.

Coverage increased (+0.05%) to 97.0% when pulling 833c68ad69b6274e3e97309f3d6bb85e80d0a69a on private-asciicasts into ade94029d664c174a1fa6b1e700714abdad6139a on master.

Coverage increased (+0.06%) to 97.01% when pulling c45ee93370e79d37d9026e7bf965d95925ffaad9 on private-asciicasts into ade94029d664c174a1fa6b1e700714abdad6139a on master.

Coverage increased (+0.07%) to 97.01% when pulling 3772da7f632e9aa42a28836b11efcf7932fb8ff1 on private-asciicasts into ade94029d664c174a1fa6b1e700714abdad6139a on master.

Coverage decreased (-0.01%) to 96.93% when pulling 84acecfdc07579025f8bee094dd6325048550d16 on private-asciicasts into ade94029d664c174a1fa6b1e700714abdad6139a on master.

:tada: :balloon: :+1:

:happy:


WebAssembly: Specify resource directory explicitly

When compiler is vendored in the SDK, the resource directory is inferred from the location of the compiler executable. This is not the case when the compiler is not vendored, so we need to specify the resource directory explicitly to work with both cases.

@swift-ci test

Ah, sorry, looks like package needs to be applied in a few more places. Feel free to revert that commit and we'll apply the conversion for use of package on the whole project at once in a separate PR.

@swift-ci test


add support for generating common functions (copyWith, to/fromMap, to/fromJson)

Form a discussion on flutter-insiders:

Some common things could be included too in the Generate... menu, like the copyWith method or the toMap, fromMap (from and to json)

Currently the "Generate..." menu produces this in IntelliJ

@DanTup: do we have similar support in VSCode?
(And are these current menu items implementing in IntelliJ or server-provided?)
/cc @stevemessick

We don't have anything like this in VS Code right now (because it would be hard to do reliable in VS Code versus the server).  It does come up now and then though - it'd be awesome to support :-)

Would these be appropriate for snippets, or would they be better as commands?

Yeah, I think snippets (eg. code completion) could be a good place for them. If the goal is for them to be used in both editors, we'd need to add support for snippets to the original protocol.
It could also be useful to have a way to re-generate them if you add new fields (perhaps as an assist on the method?).
I also wonder if there's any overlap with static metaprogramming - some of the things above are specifically noted as use cases in that issue. I can see reasons for both (being able to have invisible generated code, or having them just visible in the code, or being able to generate a basic implementation to customise), but I wonder if there should be some relationship between them (for example, might it be useful to "inline" some code that was previously being generated with static meta programming to customise, and could/should these snippets be driven by that?).

If the goal is for them to be used in both editors, we'd need to add support for snippets to the original protocol.

@jwren We'll need to talk to Alex and get a clear direction for where we want this to go in IntelliJ, but if we do nothing else we could always return them as code completions the way we're doing in LSP.

I also wonder if there's any overlap with static metaprogramming ...

Yes, absolutely. This is one of the use cases that static metaprogramming would support. That proposal has the advantage that the methods would automatically be kept up to date.
That said, Dart team hasn't yet decided whether static metaprogramming will be approved and supported, and even if it is, I expect it will take a while for it to be implemented. It might well be worthwhile for us to support some of the more common cases in the meantime.


Notes and Feedback from Attempted Runs

Tried out the program with some sample data, here's some notes and feedback that I've gathered from those runs:

The multi-turn self debugging process is inconsistent (in large part due to the nature of LLMs), but despite being programmed to iterate 20 times, it may sometimes start another set of 20 iterations before finishing it's original 20 (ex. it may go from 4/20 to 1/20)
The GPT is not exactly powerful enough to always end up with fully working code just by generating and reviewing its own generated code. It can get stuck, and also the results are not consistent as mentioned earlier. For example, multiple runs using the same input can end up with different hypotheses.
Can get stuck quite often based on the task it is assigned and the amount of additional support given through prompts, seems to be random whether or not the generation will go through successfully
Doesn't allow for direct human editing of the generated code/outputs, human input is only available as "feedback". Also, human feedback isn't available at all stages, could be available more to allow for human intervention when it gets stuck
The most important part, from what I've seen, is the "hypothesis plan". As mentioned, the output is random so it is hard to get the same hypothesis in different runs, but because the hypothesis is one of the most important parts of a paper in general, whether it will get stuck or not in later portions, especially "data analysis", is heavily determined by the hypothesis.
Despite the preference/preprogramming for doing statistical analysis, it is still able to generate code for other things such as machine learning due to the LLM behind it. However, when asked in the hypothesis to create a classifier, code for it would be generated in the data analysis tab, but it would get stuck while looping through the debugging/regeneration.
The generated papers are generally quite short, about 5 pages when excluding references and code
Tested it in performing hypothesis testing against data with a human "ground truth", and found that it was able to corroborate human findings, meaning that even from a non-stats expert's perspective, the findings have some validity
Would be helpful to allow for more human feedback after each debugging iteration or direct human editing of the code, generally more opportunities for the human to be involved would be helpful. Oftentimes it gets stuck trying to debug an issue in it's generated code and it feels as if the human is "locked out" of the process.
Currently, it usually allows for human intervention when it gets to a new step (mission prompt), or finishes a step and is asking for any final feedback. Sometimes, it might run into an error in its code, and it doesn't allow for human intervention until the code runs successfully and it's about to move onto the next step. These may be trivial errors such as syntax errors, which we humans can resolve with a single line, either as feedback or even directly onto the code product that is generated.
Generated code is not saved until the step is completed, making it more difficult of a process for the user to identify the issue and try to address it in the next iteration (adjusting prompting/feedback)
Liked the feature of saving the runs and allowing for old projects to be reran quickly and being able to see logs and information from past runs

Thanks a lot for your detailed feedback! We tried to answer some of your comments below. We just pushed a major revision to the AI-Human review system which addresses several of your suggestions (Commit: e2832eb638178f0cc86c403a8c75ed9583260d49). Would be great to have your feedback also on this new version! :)
1. The multi-turn self debugging process is inconsistent (in large part due to the nature of LLMs), but despite being programmed to iterate 20 times, it may sometimes start another set of 20 iterations before finishing it's original 20 (ex. it may go from 4/20 to 1/20)
Please note that we have two types of setbacks when debugging code, the ones that you have correctly identified are the debug iterations, beside them there are what we call “revisions” or “attempts”. Each such revision can include any number of debug iterations (e.g. the default value for data analysis code is 20 debug iterations). If we pass the number of allowed debug iterations in a specific revision/attempt step we start a fresh one, deleting all the past code we have produced, to avoid that it gets stuck in the wrong direction. This mechanism can be envisioned as a nested loop structure:
for code_revision in max_code_revisions:
    code = write_code()
    for debug_iteration in max_debug_iterations_per_attempt:
        If not is_bug(code):
            break
        code = debug_code(code)
    review = get_review(code)
    post_review_comments(review)

To change those number look at the following variables in the code:
max_debug_iterations_per_attempt: int = 20
max_code_revisions: int = 3

2. The GPT is not exactly powerful enough to always end up with fully working code just by generating and reviewing its own generated code. It can get stuck, and also the results are not consistent as mentioned earlier. For example, multiple runs using the same input can end up with different hypotheses.
Currently, this is an inherent drawback of even the SOTA models. Keeping in mind that they are basically highly trained and optimized statistical models of language (and code), they are not always able to produce working code and debug their own mistakes.
We have put a lot of effort into recognizing common pitfalls and providing them with appropriate feedback that will allow them to overcome the mistakes that recur.
3. Can get stuck quite often based on the task it is assigned and the amount of additional support given through prompts, seems to be random whether or not the generation will go through successfully
From our tests, the system's ability to write correct code is dependent on the complexity of the data, the complexity of the research goal and the quality of data description. If you feel that in your case the system is not persistent, try to look into the dataset and file descriptions (take examples from the datasets we have added to the repo). From there you should look into the complexity of the research goal you try to achieve, as we both agreed above, too complex goals are still too hard for current SOTA models. If you still cannot get the system to converge into working code, maybe your dataset is too complex, includes too many variables, or requires too many steps to process.
4. Doesn't allow for direct human editing of the generated code/outputs, human input is only available as "feedback". Also, human feedback isn't available at all stages, could be available more to allow for human intervention when it gets stuck
We deliberately placed humans in a reviewer role rather than a performer role to focus on refining model outputs. We are now in a stage of reimagining human intervention and your (and others’) feedback about this can really help reshape the UX. Regarding the second point, we are in the process of updating this to allow human intervention also during the table creation steps.
5. The most important part, from what I've seen, is the "hypothesis plan". As mentioned, the output is random so it is hard to get the same hypothesis in different runs, but because the hypothesis is one of the most important parts of a paper in general, whether it will get stuck or not in later portions, especially "data analysis", is heavily determined by the hypothesis.
As I mentioned for point 3, the dataset description can play a major role in improving the reliability of the process. In addition, if you are trying to achieve a specific research goal, use the system in fixed-goal mode by providing a research goal.
6. Despite the preference/preprogramming for doing statistical analysis, it is still able to generate code for other things such as machine learning due to the LLM behind it. However, when asked in the hypothesis to create a classifier, code for it would be generated in the data analysis tab, but it would get stuck while looping through the debugging/regeneration.
Please note that at this point we chose to restrict the system to produce code that includes a statistical test. This can be one of many reasons for the inability of the coding steps to converge. Try to look carefully into the errors you get and iteratively improve your inputs (data, metadata, research goal, etc…) to overcome those errors.
7. The generated papers are generally quite short, about 5 pages when excluding references and code
We found the chosen sections and relevant mission prompts to work well for our test cases. To tailor the length and detail of the generated content, you can adjust the mission prompts accordingly, allowing for more comprehensive sections as required by your formatting and stylistic needs.
8. Tested it in performing hypothesis testing against data with a human "ground truth", and found that it was able to corroborate human findings, meaning that even from a non-stats expert's perspective, the findings have some validity
That's cool to know! We believe that with further advancement of LLMs we are going to see these types of abilities improving even further!
9. Would be helpful to allow for more human feedback after each debugging iteration or direct human editing of the code, generally more opportunities for the human to be involved would be helpful. Oftentimes it gets stuck trying to debug an issue in it's generated code and it feels as if the human is "locked out" of the process.
10. Currently, it usually allows for human intervention when it gets to a new step (mission prompt), or finishes a step and is asking for any final feedback. Sometimes, it might run into an error in its code, and it doesn't allow for human intervention until the code runs successfully and it's about to move onto the next step. These may be trivial errors such as syntax errors, which we humans can resolve with a single line, either as feedback or even directly onto the code product that is generated.
11. Generated code is not saved until the step is completed, making it more difficult of a process for the user to identify the issue and try to address it in the next iteration (adjusting prompting/feedback)
For points 9 to 11:
First, thank you for that feedback, it's insightful and confirms a lot of the thoughts we had about the process. We will be considering this as we reimagine the user experience, aiming to facilitate more effective human interventions and immediate error correction through human interventions. Again, please try out the new version, commit: e2832eb638178f0cc86c403a8c75ed9583260d49
12. Liked the feature of saving the runs and allowing for old projects to be reran quickly and being able to see logs and information from past runs
Traceability and reproducibility are very important values in science. We think that implementing these features of logging, caching and replaying are important to ensure that we follow those key values - thereby AI can even enhance and not jeopardize them!
Please do not hesitate to get back to us with more observations/insights from using data-to-paper. It is exciting to see people use it!


[mypy] Incompatible types in assignment

Thanks for providing this extension, it makes working with xml fun again.
The from_* methods are typed against BaseXmlModel which results in an mypy error.
message: Message | None = Message.from_xml(xml)

error: Incompatible types in assignment (expression has type "BaseXmlModel | None", variable has type "Message | None")

Pydantic itself uses a TypeVar bound to BaseModel so children are accepted as return type.
Is this something you want to support? If so, I can submit a PR.

@foarsitter Hi. Fixed it in version 0.7.0.

Great work @dapper91, thanks!


fixing hub title

@Rick-Anderson noticed it was still saying .NET Core documentation

Open Publishing Build Service: The pull request content has been published and here are some changed files links of this time:

Docset 1 - core-docs
https://review.docs.microsoft.com/en-us/dotnet/index?branch=pr-en-us-1200

Status: SucceededWithWarning. Message: Warning occurred: docs/standard/garbagecollection/fundamentals.md contains illegal link: #Fundamentals-of-memory. The file docs/standard/garbagecollection/fundamentals.md doesn't contain a bookmark named Fundamentals-of-memory...
Open Publishing Report.

/cc @rpetrusha @BillWagner can I merge this?

:shipit: !

LGTM also.

New hub page has fixed the title so closing this one.


[ENH] Updated regression/deeplearning.

Reference Issues/PRs
Fixes: #1218
Refer: #1198

What does this implement/fix? Explain your changes.

made a new file _mlp.py
initialized MLPRegressor in init.py file

This is done in order to adapt the various instances from deep learning -classifier to regression.
Furthermore, I need guidance to ensure that I am following the correct path so i can push the upcoming commits!

Does your contribution introduce a new dependency? If yes, which one?
None

PR checklist

For all contributions

[x] I've added myself to the list of contributors. Alternatively, you can use the @all-contributors bot to do this for you.
[x] The PR title starts with either [ENH], [MNT], [DOC], [BUG], [REF], [DEP] or [GOV] indicating whether the PR topic is related to enhancement, maintenance, documentation, bugs, refactoring, deprecation or governance.

For developers with write access

[ ] Optionally, I've updated aeon's CODEOWNERS to receive notifications about future changes to these files.

Hi, we talked in slack on refocusing this on to MLP rather than both, but #1214 has also made PR for MLP so maybe we should go for encoder instead. Feel free to ask questions if you are stuck. FCNClassifier and FCNRegressor are good examples of a classification deep learned ported over to regression.

Hey @MatthewMiddlehurst , Since @AnonymousCodes911 is working on EncoderRegressor now. Can I start working on LITETimeClassifier ?

Hey @MatthewMiddlehurst , Since @AnonymousCodes911 is working on EncoderRegressor now. Can I start working on LITETimeClassifier ?

yes of course ! both LITETimeRegressor and IndividualLITERegressor will be in the same file, as for LITETimeClassifier and IndividualLITEClassifier

@hadifawaz1999, please review if the changes are in line, please ignore the indentation.

I would have a try uncommenting and finishing off the regressor, it will be easier to provide feedback from there.

@MatthewMiddlehurst I was facing flake8-> W293 error, none of the fixes worked for me, hence had to bypass pre-commit, can you help me in handling that error?

Hey @MatthewMiddlehurst , Since @AnonymousCodes911 is working on EncoderRegressor now. Can I start working on LITETimeClassifier ?

yes of course ! both LITETimeRegressor and IndividualLITERegressor will be in the same file, as for LITETimeClassifier and IndividualLITEClassifier

@aadya940, _lite_time.py is a relatively large(?) file to adapt would you like to split the work?

Usually if the dev install is used and pre-commit is running this is automatically fixed. As long as there is a newline at the end of the file the error should not be appearing. I'm not sure what your local setup is like, but try manually adding the newlines at the end of the file.

Usually if the dev install is used and pre-commit is running this is automatically fixed. As long as there is a newline at the end of the file the error should not be appearing. I'm not sure what your local setup is like, but try manually adding the newlines at the end of the file.

Thankyou, I 'll try that

Replaced by #1226


[Qwik] Type checking for forms with variants

Let's say I have the following schema with multiple variants requiring different fields based on the placeType field.
Here's the simplified version so I can better refer to it below:
const BaseSchema = v.object({
  name: v.pipe(v.string(), v.nonEmpty()),
  coordinates: v.object({
    latitude: v.number(),
    longitude: v.number(),
  }),
  thumbnailUrl: v.optional(v.pipe(v.string(), v.url())),
  websiteUrl: v.optional(v.pipe(v.string(), v.url())),
});

const FeaturesSchema = v.object({
  features: v.pipe(v.array(v.picklist(PlaceFeatures)), v.minLength(1)),
});

const DescriptionSchema = v.object({
  description: v.optional(v.string()),
});

const AddActivitySchema = v.object({
  ...BaseSchema.entries,
  ...FeaturesSchema.entries,
});

const AddDestinationSchema = v.object({
  ...BaseSchema.entries,
  ...FeaturesSchema.entries,
  ...DescriptionSchema.entries,
});

export const AddPlaceSchema = v.variant("placeType", [
  v.object({
    placeType: v.literal("activity"),
    ...AddActivitySchema.entries,
  }),
  v.object({
    placeType: v.literal("destination"),
    ...AddDestinationSchema.entries,
  }),
  v.object({
    placeType: v.picklist(PlaceTypes),
    ...BaseSchema.entries,
  }),
]);

export type AddPlaceForm = v.InferInput<typeof AddPlaceSchema>;

I want to use this schema to build a form in Qwik, but I'm having difficulties taming the Typescript compiler because it's always inferring that features is an undefined field or never.
Here's a minimal example to illustrate this issue:
const AddPlaceForm = component$(
  () => {
    const [addPlaceForm, { Form, Field }] = useForm<AddPlaceForm>({
      loader: {
        value: {
          name: "",
          thumbnailUrl: undefined,
          websiteUrl: undefined,
          coordinates: placeCoordinates,
          placeType: undefined,
          features: [],
          description: undefined,
        },
      },
      action: useAddPlaceAction(),
      validate: valiForm$(AddPlaceSchema),
    });

    const placeType = useComputed$(() => getValue(addPlaceForm, "placeType"));

    return (
      <Form>
           {placeType.value === "activity" && (
             <>
               {placeFeatures.value.map((feature) => (
                 <Field
                   name="features"
                   type="string[]"
                   key={`feature-${feature}`}
                 >
                   {(field, props) => (
                     <Checkbox
                       {...props}
                       value={feature}
                       checked={field.value?.includes(feature)}
                     >
                       {feature}
                     </Checkbox>
                   )}
                 </Field>
               ))}
             </>
           )}
      </Form>
    );
});

Which will yield the following errors:
src/components/map/places/add-place-modal.tsx:218:23 - error TS2322: Type 'string' is not assignable to type 'undefined'.

218                       type="string[]"
                          ~~~~

  ../../node_modules/@modular-forms/qwik/dist/types/components/Field.d.ts:20:5
    20     type: FieldType<FieldPathValue<TFieldValues, TFieldName>>;
           ~~~~
    The expected type comes from property 'type' which is declared here on type 'IntrinsicAttributes & Pick<Partial<Omit<FieldProps<{ name: string; coordinates: { latitude: number; longitude: number; }; features: ("workspace" | "skiing" | "snowshoeing" | "nordic-skiing" | ... 8 more ... | "bathroom")[]; placeType: "activity"; link?: string | undefined; th...'

src/components/map/places/add-place-modal.tsx:225:49 - error TS2339: Property 'includes' does not exist on type 'never'.

225                           checked={field.value?.includes(feature)}

Do you have an (elegant) recommendation on how to satisfy the compiler and let it know that we want a specific variant of the form in that case?

Yes, this is a problem with the current implementation of Modular Forms, which I will fix when I rewrite the library. To satisfy the compiler, you could add features: v.undefined() wherever features is not needed. The initial object structure for .loader is needed to initialize the form store.


"Home" bug

After loggin in, the home tab is displayed. It looks good, but once you press on one of the "latest" animes. You are automaticly logged out.
Once you login, you end up at "home" again. Meaning this represents a loop.

I've look into this and you don't log out but instead you are redirected to the the login screen because it's the default page when the app is unable to find the link (404 not found). The onclick function in the home page for the latest episode list is not implemented so I just need to add a link that will start playing the episode automatically.
In other words, it's implemented yet and It will be fix in the next version.
Thanks!

Great!
ty


Add issue and PR templates

Add issue and PR templates.

Done in https://github.com/ollipa/chainmock/commit/134eff48e54f311acf5fab00499c97a58da15a93 and https://github.com/ollipa/chainmock/commit/6bb1ea6924b5a8f069df0f122366a445e807c089


Can I disable rustfmt on chaining?

Hello,
Is there a way to disable rustfmt for function chaining?
It really feels to me that there is no one-size-fit-all solution for chain formatting. In my experience (limited in rust), it is mostly a case by case basis.
Here is a piece of code that I do not want to be formatted as a example:
With rustfmt
    while {
        let count = fread.read(bytes.as_mut_slice()).unwrap();
        fwrite
            .write(
                // Convert from ISO-8859-1 (latin-1) to UTF-8
                ISO_8859_1
                    .decode(&mut bytes[0..count], DecoderTrap::Strict)
                    .unwrap()
                    .as_bytes(),
            )
            .unwrap();
        count == BUFSIZE
    }
    {}

Manually
    while {
        let count = fread.read(bytes.as_mut_slice()).unwrap();
        fwrite.write(
            // Convert from ISO-8859-1 (latin-1) to UTF-8
            ISO_8859_1
                .decode(&mut bytes[0..count], DecoderTrap::Strict)
                .unwrap()
                .as_bytes(),
        ).unwrap();
        count == BUFSIZE
    } {}

There is no way (currently) to disable rustfmt for some kinds of expression but not others. You can use a skip annotation to skip a single statement, so that might be the best thing to do in your case.
There are various difficulties with maintaining the original source: whether to and how to move the source if the surrounding statements are reformatted, affecting the idempotence of reformatting, interaction with warnings about line length, etc. So although this is a reasonable request I don't think we can easily (or should) implement it, sorry.


R.txt cannot generate

What are the steps to reproduce this issue?

…gradle version 3.2.1
…the dependencies in both library submodule contains android support lib
…gradle procedure stop at the copyreleasedependencies function, the output variant is abc_fade_in 0x7f010001. I consider when this error will occur when this value appears in different R.txt which will be merged

What happens?
…R.txt cannot generate
What were you expecting to happen?
…Generate the R.txt

I have the same issue, i solve this by changing:
classpath 'com.mobbeel.plugin:fat-aar:2.0.3' to
classpath 'com.mobbeel.plugin:fat-aar:2.0.2'
in build.gradle projects and the error gone.

@xenixcorp Yep，I have rolled back to the 2.0.2, and downgraded gradle to 3.1.3.
The fataar 2.02 is not compatible for gradle 3.2+  even though there is not error in build procedure.（The R.txt lost resource index value）


added StompSmoothingAdapter

migrated StompSmoothingAdapter from stomp_ros
changed noise_generators to work with flexible trajectory size

Formatting is not happy. We are using pre-commit, here are some instructions on how to fix that locally https://moveit.ros.org/documentation/contributing/code/#pre-commit-formatting-checks


Try uploading one of Eliu's models

Eliu has shared a notebook with example models: https://colab.research.google.com/drive/1viGlpUIGmRW-kzqERj4fGzX9udEXVrXw?usp=sharing
We would like to publish at least one of these, ideally in a new seedling garden!
Assumptions:

Acceptance Criteria
Given..., when..., then...

I hit some import/install issues with the notebook as written. But pinning some versions and adding some extra libraries I think I have the notebook working. In case anyone else picks it up here's my modifications: https://colab.research.google.com/drive/1zwBKUHOkDZ7Uxbvs8mlg9X7gvxueWiCJ

Eliu shared a new version of the original notebook: https://colab.research.google.com/drive/1viGlpUIGmRW-kzqERj4fGzX9udEXVrXw?usp=sharing


IconPicker in Collection Data Icon Field

Q
A

Bug fix?
[ ]

New feature?
[x]

New sample?
[ ]

Related issues?
implements #160

What's in this Pull Request?
Ability to use IconPicker in Collection Data Icon Field
@joelfmrodrigues @estruyf - what do you think?

@AJIXuMuK just tested this and seemed fine to me. Was performing a bit slow when selecting the icon, but I think it could be simply down to the size of the solution and the large number of controls within the property pane.

Thanks @joelfmrodrigues for the review. Will merge this one and then dupe the logic in spfx-react-controls.


Publishing latest updates to Windows blog for release on 3/7/2022

Publishing latest updates to Windows blog for release on 3/7/2022

Docs Build status updates of commit 87eefea:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

documentation/blog/MS-WININTBLOGLP/6183f838-c21e-4c44-a5bb-1a84e1864c2e.md
:white_check_mark:Succeeded

documentation/blog/MS-WININTBLOGLP/950f2838-9a27-4afa-b121-e89951960d06.md
:white_check_mark:Succeeded

documentation/blog/MS-WININTBLOGLP/a252f14c-0670-4f62-93bd-6fd5dc9084c1.md
:white_check_mark:Succeeded

documentation/blog/MS-WININTBLOGLP/cd4f7d76-4e2c-4bf1-b563-984254d4e294.md
:white_check_mark:Succeeded

documentation/blog/MS-WININTBLOGLP/da478d59-c2e6-41cf-8eae-ec8223a8ad3a.md
:white_check_mark:Succeeded

documentation/blog/MS-WININTBLOGLP/f8d6b307-8317-4b38-9263-586a2569272f.md
:white_check_mark:Succeeded

documentation/blog/MS-WININTBLOGLP/toc.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


[Bug]: After uploading the sql file, I cannot click Next

ODC version
Oceanbase4.2.2
OB version
Oceanbase410
What happened?
After uploading the sql file, I cannot click Next

What did you expect to happen?
execute normally
How can we reproduce it (as minimally and precisely as possible)?
improt sql file
Anything else we need to know?
No response
Cloud
No response

Fixed In Commit d84f82294c96afd0f8bee5afecbb14afa68a5e91
------
咏和
Wed Oct 25 11:58:38 2023 +0800


fix: Make expression box tooltip disappear after 5 secs, don't drop e…

…xpression search dropdown if out for less than 750ms.
Fixes: #2067
** Not required for todays release

I think you might want to read this and revisit the way you handled the timeout https://overreacted.io/making-setinterval-declarative-with-react-hooks/

I guess I can't see how adding a new FunctionComponent containing the Tooltip fragment with useEffects is better.  It's doing exactly what I want it to do now.  I guess I can't figure a way of extracting "useInterval()" out as a callable function from mouseEnter() in ExpressionContent.

Whoa one thing at a time. Let’s focus on what I pointed out, which is about how you handled setTimeout.
From what I see there is a single global variable to handle the timeout ref: what if there are multiple instance of the component?
I understand it can’t happen in the app, but it could in a story and it’s generally a wrong approach, so it should be fixed.
Then I see setTimeout performed on mouse enter events, but where is the cleanup for the eventual previously set timeout?
In general what I see from the code is that you are not embracing the React flow, and this leads to bug and non idiomatic code. The article I linked talks about how to reason about this family of problems the react way.
https://overreacted.io/a-complete-guide-to-useeffect/
Another great resource is this article

Oh right I didn’t notice that. But that’s my point, the code is a bit all over the place and it’s really hard to grasp what’s going on and to be sure that there are no lose treads. It’s better when features are kept small and self contained

Oh right I didn’t notice that. But that’s my point, the code is a bit all over the place and it’s really hard to grasp what’s going on and to be sure that there are no lose treads. It’s better when features are kept small and self contained

I agree - but in this case the expression content is confined and the expression search is confined.  The useEffect is employed correctly (I believe) and the code works.  I'd rather not refactor the code at this moment - so does this pass as ok to push?

I'd rather not refactor the code at this moment - so does this pass as ok to push?

Why?  What's the rush?  If not now, when?

I'd rather not refactor the code at this moment - so does this pass as ok to push?

Why? What's the rush? If not now, when?

Have you read the code in question?
It's about 500 lines in total and I don't think it needs to be refactored.
We're 2 weeks to blocker only freeze so now's not the time.

Yep, I did look.  Since you've asked I also find it hard to follow whats
going on, and generally always think 2 or 3 times before pulling out the
setTimeout sledgehammer.  I mean, it's feedback, take it or leave it, but
if debt is added to the code eventually it needs to get repaid.
On Thu, May 14, 2020, 4:07 PM Paul Leacu<EMAIL_ADDRESS>wrote:

I'd rather not refactor the code at this moment - so does this pass as ok
to push?
Why? What's the rush? If not now, when?

Have you read the code in question?
It's about 500 lines in total and I don't think it needs to be
refactored.
We're 2 weeks to blocker only freeze so now's not the time.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/atlasmap/atlasmap/pull/2070#issuecomment-628860180,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACV3LAJ22VYF4ATFJK6QM3RRRFRRANCNFSM4NADO5QQ
.


chore: Publish Steering Behaviors

Closing this repo out and will open a ticket on https://github.com/VeryGoodOpenSource/flame_behaviors for the migration mentioned here.


:

Description
Steps to reproduce
Insert an image/gif

please elaborate on this issue

@Ansh101112 Closing this one, because it was an experimental automation!

@dougfabris no issues will work on resolving some other issues.


use documentation instead of nest for rspec format

I changed the format for rspec from "nest" to "documentation" and removed "=" because it's not needed.

This p-r is duplicated with https://github.com/umakoz/typetalk-rb/pull/1.


Drag and Drop in ListBox with custom DataTemplate not working.

I have attached the sample project which demonstrate the issue.
previous version(<IP_ADDRESS>) works fine with the same example.
WpfApplication1.zip

@abinmatthew It's already fixed with https://github.com/punker76/gong-wpf-dragdrop/pull/214 next version is coming soon


M create form for filter page

checkboxes for true/false for categories:
activities
length
distance from user

make at least length and distance from user required


[incubator/fluentd-cloudwatch] RBAC not effective on k8s 1.8.13, cannot list pods at the cluster scope

Version of Helm and Kubernetes:
helm 2.8.2 on k8s 1.8.13
Which chart:
incubator/fluentd-cloudwatch
What happened:
Installed chart with rbac.create: true however still get this error in fluentd logs:
2018-06-01 05:07:24 +0000 [error]: config error file="/fluentd/etc/fluent.conf" error_class=Fluent::ConfigError error="Exception encountered fetching metadata from Kubernetes API endpoint: pods is forbidden: User \"system:serviceaccount:fluentd:fluentd-cloudwatch-logs\" cannot list pods at the cluster scope ({\"kind\":\"Status\",\"apiVersion\":\"v1\",\"metadata\":{},\"status\":\"Failure\",\"message\":\"pods is forbidden: User \\\"system:serviceaccount:fluentd:fluentd-cloudwatch-logs\\\" cannot list pods at the cluster scope\",\"reason\":\"Forbidden\",\"details\":{\"kind\":\"pods\"},\"code\":403}\n)"
What you expected to happen:
Able to list pods in all namespaces
How to reproduce it (as minimally and precisely as possible):
helm upgrade --install fluentd-cloudwatch \
  --namespace=fluentd \
  --set nameOverride=logs \
  --set rbac.create=true \
  incubator/fluentd-cloudwatch

Here is the RBAC that isn't working (also confirmed service account is on Pods):
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  creationTimestamp: 2018-06-01T05:05:53Z
  labels:
    app: logs
    chart: fluentd-cloudwatch-0.4.1
    heritage: Tiller
    release: fluentd-cloudwatch
  name: fluentd-cloudwatch-logs
  resourceVersion: "32185131"
  selfLink: /apis/rbac.authorization.k8s.io/v1/clusterroles/fluentd-cloudwatch-logs
  uid: 75c88169-6559-11e8-ab0a-02c212049470
rules:
- apiGroups:
  - ""
  resources:
  - namespaces
  - pods
  verbs:
  - get
  - list
  - watch

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  creationTimestamp: 2018-06-01T05:05:53Z
  labels:
    app: logs
    chart: fluentd-cloudwatch-0.4.1
    heritage: Tiller
    release: fluentd-cloudwatch
  name: fluentd-cloudwatch-logs
  resourceVersion: "32185133"
  selfLink: /apis/rbac.authorization.k8s.io/v1/clusterrolebindings/fluentd-cloudwatch-logs
  uid: 75c96288-6559-11e8-ab0a-02c212049470
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: fluentd-cloudwatch-logs
subjects:
- kind: ServiceAccount
  name: fluentd-cloudwatch-logs
  namespace: fluentd

$ kubectl --namespace=fluentd get pod fluentd-cloudwatch-logs-8dk84 -o yaml | grep serviceAccount
  serviceAccount: fluentd-cloudwatch-logs
  serviceAccountName: fluentd-cloudwatch-logs

I got this chart working now, and I can't recreate this error. It could be it was somehow related to the AWS key/secret config. Going to close this.


Can I use cuda to speed up the training process?

I'm wondering if I can use Cuda to speed up the training process, the example/MNIST/addition.py seems to only use CPU.

Hi
You can put the neural networks behind the neural predicate on the GPU to accelerate these by callign the .cuda(device) method. The other parts of the inference cannot be accelerated.
Kind regards,
Robin