Refactored patches for added safety

Make patching a separate step, track patches as a seperate class and create a seperate list of them to apply after fetching to avoid array indexing errors.

Speaking as a casual Bockbuild user I really like this as it makes the default case easier to express. My assumption here of course is that the default is a simple package whch needs a little patch to build. This is often relevant e.g. for adding a MacPort patch.
Currently this means we have to transform the beautiful, easy to read base Package into an abomination.
Package ('name', 'version', sources = ['https://www.awesome.me/${name}/${name}-%{version}.tar.xz'])
becomes:
class NamePackage (Package):
def init (self):
Package.init (self, 'name', 'version',
sources = ['https://www.awesome.me/${name}/${name}-%{version}.tar.xz']
	if Package.profile.name == 'darwin':
		self.sources.extend ([
			# Fix compile on OS X
			'https://www.dispicable.me/brainwashing.patch'
			])

def prep (self):
	Package.prep (self)
	if Package.profile.name == 'darwin':
		for p in range (1, len (self.sources)):
			self.sh ('patch -p0 --ignore-whitespace < "%{sources[' + str (p) + ']}"')

NamePackage ()
which to me feels like an awful lot of ugly to add just to get what in my experience is a common case handled.
As for your approach I find that invoking Patch() repeatedly feels.. Odd.
Ideally I'd like to see the packaging format to be as close to:
Package ('name', 'version', sources = ['https://www.awesome.me/${name}/${name}-%{version}.tar.xz'])
Patch ([
'patch1',
'patch2': 'p1'
])
For a simple example with patches applied.
Thoughts?

You're right that having Patch class take multiple patch files would be
more elegant, and this should be trivial to add, though I feel for @kyte
since he just fixed-up all packages and we didn't think about it beforehand
:)
On Tue, Jun 30, 2015 at 10:12 AM, David Nielsen<EMAIL_ADDRESS>wrote:

Speaking as a casual Bockbuild user I really like this as it makes the
default case easier to express. My assumption here of course is that the
default is a simple package whch needs a little patch to build. This is
often relevant e.g. for adding a MacPort patch.
Currently this means we have to transform the beautiful, easy to read base
Package into an abomination.
Package ('name', 'version', sources = ['
https://www.awesome.me/${name}/${name}-%{version}.tar.xz'])
becomes:
class NamePackage (Package):
def init (self):
Package.init (self, 'name', 'version',
sources = ['https://www.awesome.me/${name}/${name}-%{version}.tar.xz']
if Package.profile.name == 'darwin':
    self.sources.extend ([
        # Fix compile on OS X
        'https://www.dispicable.me/brainwashing.patch'
        ])

def prep (self):
Package.prep (self)
if Package.profile.name == 'darwin':
for p in range (1, len (self.sources)):
self.sh ('patch -p0 --ignore-whitespace < "%{sources[' + str (p) + ']}"')
NamePackage ()
which to me feels like an awful lot of ugly to add just to get what in my
experience is a common case handled.
As for your approach I find that invoking Patch() repeatedly feels.. Odd.
Ideally I'd like to see the packaging format to be as close to:
Package ('name', 'version', sources = ['
https://www.awesome.me/${name}/${name}-%{version}.tar.xz'])
Patch ([
'patch1',
'patch2': 'p1'
])
For a simple example with patches applied.
Thoughts?
—
Reply to this email directly or view it on GitHub
https://github.com/mono/bockbuild/pull/24#issuecomment-117030014.

So long as you guys make it so the package definitions can be as beautiful and simple as described above I will personally update every single package to adopt the new style.
I already did version and syntax bumps for pretty much everything as part of the Banshee GSoC prep in a fork and I have minions who can be appropriately whipped if we lack.. Well lackeys.

@DavidNielsen how does that look? Your syntax above isn't valid python(having key/value in an array) but I added a class that would allow
sources.append(Patches([
'http://foo.bar.com/patch'
'http://foo.bar.com/patch'
'http://foo.bar.com/patch'
'http://foo.bar.com/patch'
'http://foo.bar.com/patch'
'http://foo.bar.com/patch'
'http://foo.bar.com/patch'
'http://foo.bar.com/patch'
], shared_options = "-p0"))
which just translates the .run () call to the patches that it contains internally.

Should we revive this now that we've transitioned Mono over to using the public bockbuild repo?

Yes we should revive this/keep this open, we still need to make patching nice. Half of this looks like it holds today, but the fetch/prep/build flow has changed quite a bit since this pull request so there's some work needed to merge.

I don't think we'll spend time on this given the current state of things, closing :)


Matching texts page type issues?

Hi all
I had a report that projects with a matching texts page created in previous versions were no longer working in 3.3. I've tried to have a look at this but in fact if I create a new xot project using current develop code and just add a matching text page and then 3 sentences without actually changing the default sentences the project doesn't display at all. If I then edit those defaults in each of the sentences the project plays.
I created a test project in a 2.x install and imported that into 3.3 and the same thing applies e.g. if the default sentence isn't changed the page doesn't play but once the default sentences are changed the project plays.
Anyone else able to replicate this? Are all of your existing projects with this page type created before 3.3 still working in 3.3?

Just to add after investigating further on a real project...
The real project exists and works in a 3.1 install but after upgrading a copy of that installation to 3.3 that same project and the matching texts pages it contains no longer plays those pages. If I then edit the sentences in those pages e.g. remove last letter and then re-add the last letter I can get the pages working again. But obviously we don't want to force users to have to do that.
It's easy to replicate...

Create a new project in 3.3 or latest develop
Add a matching texts page and 3 sentences without editing anything
Play the project and view in browser console
You should see something like:
jquery-1.9.1.min.js:4 Uncaught Error: Syntax error, unrecognized expression: Write part one of your sentence here.
Edit the sentences
Play the project and all should be fine
Anyone recognise what's changed to cause this and of course how to fix it?

I fixed this (See #548)
I also published a hotfix for this.

Oops, that wasn't Matching Text but Matching pairs. Apologies. Will have a look.

Hi all
I've been working through a reported issue that at first I couldn't replicate but it seems it only happens under specific circumstances and even then seems like it isn't consistent. Here's a few notes and screenshots:
Using latest develop create a new project and add a matching texts page
Add 4 or more matching texts
Add any page type after that page so that you can navigate away and then back again
Make the project public and view the play url
Interact with the matching text page and get all the answers correct and submit
navigate to the next page and then back again
On at least some occasions when navigating back the page will look like the following:

That said if you refresh and repeat the interaction then navigate away and then back some times it will work as it should and you then have to refresh and repeat again to get it to show the problem and also if instead of getting it 100% correct you get some wrong I've also noticed it show only 3 or 2 of the sentences and targets upon return e.g.

For reference this is what my test file consists of:

My test is with 3.3 and latest develop. Can you replicate? I'm not sure how to identify the cause or correct this especially given the intermittent nature of it.

Yes, I can see this Ron. It seems to be a problem with the new tracking stuff added to the page. If I comment out the contents of the finishTracking function it works fine. Any chance you could have a look @torinfo ? I don't want to break the tracking and I don't know how to best test this would still be working.
Thanks

Oh, and I also found another bug on this page which is fixed if the tracking is removed:
Add a few sentences and preview.
Drag and drop one label into place.
Move to next page & back again.
The labels will have reset correctly but the sentence you dragged the label to will have disappeared (e.g. there will now be 3 labels but only 2 sentences)

@FayCross @torinfo I've been testing this again so a few comments...
@FayCross yes I also noticed that different behaviour which was my second screenshot above e.g. "also if instead of getting it 100% correct you get some wrong I've also noticed it show only 3 or 2 of the sentences and targets upon return"
So I've been testing again with the same test file I set up previously but this time also tested with Firefox, IE11, Edge and Opera as well as Chrome. I could only replicate the issue in Chrome not in the other browsers. So then I cleared cache in Chrome (sure I did that before too) and now I can't replicate in Chrome either.
Does clearing cache resolve the issue for you too? Or are you getting the issue with more than just Chrome anyway?

No, I still see the issue in Chrome, IE11 & Firefox (& sorry I overlooked your 2nd lot of screen shots - that is the same thing I see too)

Sorry my mistake. I'd tested what you said by commenting out the finishTracking function but then thought I'd undone that change but just checked for modifications and the change was still showing. So I've ensured that the files is identical to develop and can now replicate the issue in all browsers.
I can't however spot why the finishTracking function is causing this problem.
Are there syntax issues in that function? e.g. 361, 366 missing , or ;?
Not sure that's the cause of the problem but just wondering.
Hopefully @torinfo can have a look at this issue.


Plugin not signed

https://docs.gradle.org/6.2/userguide/dependency_verification.html
build.gradle
plugins {
  id 'com.github.spotbugs' version '3.0.0'
}

wrapper.configure {
  gradleVersion = '6.2.1'
}

Execute:
$ ./gradlew --write-verification-metadata pgp,sha256 help

gradle/verification-metadata.xml will now have the following entries:
      <component group="com.github.spotbugs" name="com.github.spotbugs.gradle.plugin" version="3.0.0">
         <artifact name="com.github.spotbugs.gradle.plugin-3.0.0.pom">
            <sha256 value="ad491373febf4bae68c430a44067afcfa901f83a6992533dad5114d8912ba866" origin="Generated by Gradle because artifact wasn't signed"/>
         </artifact>
      </component>
      <component group="com.github.spotbugs" name="spotbugs-gradle-plugin" version="3.0.0">
         <artifact name="spotbugs-gradle-plugin-3.0.0.jar">
            <sha256 value="a5a5d0dd6d9244f74306699bdfe7990af7a504a8db46cc5f2e5cfd48a601e69c" origin="Generated by Gradle because artifact wasn't signed"/>
         </artifact>
         <artifact name="spotbugs-gradle-plugin-3.0.0.pom">
            <sha256 value="d7bfd76800d72fb9151feb53cf34568e6bf0fc31b0d611d66ed009e7f4d30b06" origin="Generated by Gradle because artifact wasn't signed"/>
         </artifact>
      </component>

4.2.0 still has this issue:
      <component group="com.github.spotbugs" name="com.github.spotbugs.gradle.plugin" version="4.2.0">
         <artifact name="com.github.spotbugs.gradle.plugin-4.2.0.pom">
            <sha256 value="d002c978ef68a37b83f19af3c3109414a174b8e86932d36fae6eb9845e5117ae" origin="Generated by Gradle because artifact wasn't signed"/>
         </artifact>
      </component>

      <component group="gradle.plugin.com.github.spotbugs.snom" name="spotbugs-gradle-plugin" version="4.2.0">
         <artifact name="spotbugs-gradle-plugin-4.2.0.jar">
            <sha256 value="0e2f0d542e5814891a5e9813cb21244fc9796c19bcafbefbbdb8a69ddb972a5c" origin="Generated by Gradle because artifact wasn't signed"/>
         </artifact>
         <artifact name="spotbugs-gradle-plugin-4.2.0.pom">
            <sha256 value="af88bc30df4b428cf35b010203093b1437552670e0138c8df485d3fa32186305" origin="Generated by Gradle because artifact wasn't signed"/>
         </artifact>
      </component>


Victor

changed text color to white, in my favorite page, and added a Contact Us form in the Contact Us page. Added CSS for the Contact Us form.

Also added a footer with CSS


[PE-D][Tester E] Unable to remove tag when I break the program

Output for removetag 1 /t Assignment1 after the program did not return command result due to invalid command (eg. find /n):

Output for removetag 1 /t Assignment1 after exit the program and rerun:

Labels: severity.Medium type.FunctionalityBug
original: yiwern5/ped#16

A serious behaviour bug to be fixed: program is not recovering from error as expected

Addressed


Fixed PerMarket public keys

The public keys were incorrect.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

19 of 19 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 80.414%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2424

Relevant Lines:
2971

💛  - Coveralls


Knowledge - Error encountered when adding onedrive link - failed to read metadata.json:

Note - This issue does not reproduce. Have seen it happen just one so far
Steps done when this problem was encountered:

Create an agent with knowledge from onedrive location -https://acorn1-my.sharepoint.com/:f:/g/personal/sangeetha_acorn_io/EnTze7RPY-dBn_Jv5O81N2AB7Cx_kB69aaEuffxxMnI5cQ?e=DQI7Np
After successfully completing the oauth workflow , following error is seen

Agent that reported this error - https://test.otto8.ai/admin/agents/a15dth4.
On attempting to resync (with Sync now option ), syncing of files succeeded.

I have not been able to reproduce this issue when testing with latest builds.


Allow annotation processors to be run against groovy stubs during a joint compile

I've posted a description this problem to gradle-dev earlier this week.

Thanks @Sarev0k. We'll take a look sometime soon.

Hey, @bigdaz what are the chances that this will make it into the Gradle 2.3 release?

There's no chance it will make it into 2.3, sorry. We're well into the release process: just doing final review before the first RC.

@bigdaz When do you think you might have the time to take a closer look at this?
I'd like to avoid missing the window to get this into the next Gradle version (2.4 I'm assuming) if possible.

I don't have the Groovy compiler knowledge required to review this, so it's waiting on review by @adammurdoch or @alkemist. But we have a bit of a PR backlog at the moment, and a lot of high priority work, so I can't promise any turnaround.

@bigdaz When is the cutoff for getting changes into Gradle 2.4?  Are you guys planning on going through your PR backlog before the 2.4 cutoff?
It's been over two months since I submitted this PR, and I'm concerned that it's going to miss the 2.4 boat.

I'll have an update about this PR in the next few days.

Thanks @alkemist!

So there are some issues that we need to resolve…
Firstly, there's no test coverage for this feature. The minimum requirement is an integration test that proves that this change actually achieves what it is supposed to.
There's a bigger problem here though in that the implementation as is introduces non trivial overhead for Groovy joint compiles as soon as an annotation processor is put on the classpath. I think it's going to be more likely that this is unnecessary cost than necessary. For example, if the annotation processor makes any structural changes then it is pointless to use on Groovy code. It's only metadata type annotations (like the ones Dagger uses) that are useful on Groovy code (and, they rely on implementation details of the current implementation of joint compilation). We are in a bit of a grey area as annotation processing on Groovy code isn't really a thing, but happens to work in some cases.
The way we want to solve this is to let the user be explicit about the behaviour that they want. If we know that Groovy code is intended to be subject to annotation processing, then we can do what your patch does and put all of the stubs through the compiler (and therefore annotation processing). Otherwise, we can assume that the processing only applies to Java code and therefore don't have to impose the extra compilation cost on users.
I need another day to map out the details of exactly what this would look like, but it's basically some new options on CompileOptions and GroovyCompileOptions.
If you are interested in getting this change through, you could start on the integration testing in the meantime.

Thanks for the feedback @alkemist.
I know I'm missing integration testing for this feature.  I wasn't quite sure where these tests live in your codebase and how they are executed.  Can you point me to an example groovy integration test for groovy compilation that I can use as an example?  Also, should I write my own annotation processor for this test, or introduce an external dependency on Dagger?
I'd also like to say that as a developer, if I'm putting an annotation processor on the classpath, I would expect that annotation processor to be run on all java sources, including Groovy stubs files.  If I didn't want an annotation processor to be run against all java files, I wouldn't have added it to my classpath.  Annotation processors are used for code generation, and I see no reason why my groovy code should be treated any differently than my java code in this respect.
I also believe the developer is being explicit in the behavior they want, by adding the annotation processor to their classpath.
I understand that you are concerned about the performance that this would cost large groovy joint compilation projects, that by happenstance have an annotation processor on their classpath, but don't annotate any of their groovy classes.  I agree with you, this is a concern.  But before we go designing a sub-optimal developer experience, don't you think we should collect metrics to get an idea of what effect this has on large groovy joint compilation projects?  If this is a marginal difference in compile time, I'd rather trigger this behavior based on the presence of the annotation processor on the classpath, as this is going to be what a developer expects coming from the java world.
Can you recommend a project that I can gather these metrics from?  Does gradleware maintain a large groovy project for performance testing?
Thanks again for your detailed feedback.

I know I'm missing integration testing for this feature. I wasn't quite sure where these tests live in your codebase and how they are executed.

You'll want to add this to https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/integTest/groovy/org/gradle/groovy/compile/BasicGroovyCompilerIntegrationSpec.groovy#L27-27 so we test it with all the Groovy versions we test for and the different compilation modes.

Also, should I write my own annotation processor for this test, or introduce an external dependency on Dagger?

It would be strongly preferable to not depend on Dagger for the test.

'd also like to say that as a developer, if I'm putting an annotation processor on the classpath, I would expect that annotation processor to be run on all java sources, including Groovy stubs files.

I don't think this holds. Most people don't know there are Java stub files.

Annotation processors are used for code generation, and I see no reason why my groovy code should be treated any differently than my java code in this respect.

Because if the processor effectively mutates the class (e.g. adds a new method), then this all breaks down. The stub class will have the new method (so the Java code compiling against it will work), but the method will not actually be there at runtime.

I also believe the developer is being explicit in the behavior they want, by adding the annotation processor to their classpath.

Not quite explicit enough, is the point. We don't know if they really want the stubs processed, and there are cases when they wouldn't.

Can you recommend a project that I can gather these metrics from? Does gradleware maintain a large groovy project for performance testing?

We don't have Groovy compilation benchmarks at the moment, only Java and Scala.
Compiling groovy-core with a patched version and timing is probably not a bad option. Or just script up something to generate a few thousand Groovy source files to compile and some Java.

Because if the processor effectively mutates the class (e.g. adds a new method), then this all breaks down. The stub class will have the new method (so the Java code compiling against it will work), but the method will not actually be there at runtime.

I don't think this assertion is correct.  Annotation processors generate code, they don't mutate already existing code.  They do not add new methods, they can only create new classes.
There are some fringe annotation processors such as Lombok that rely on private JVM implementation specific APIs to mutate classes, but they are by far in the minority and can break in any future version of the JDK.  No one would expect these to work with Groovy code.
If you look at the official APIs you will find publicly documentated APIs that are available that let you mutate existing classes.
Based on this, I think it's completely justifiable for a developer to expect a java annotation processor to apply to annotations in their Groovy code.
I'd also like to add that last December I emailed @glaforge and @melix from the Groovy team about supporting annotation processors in Groovy, and they explained to me that running annotation processors against the java stubs that are created in a Groovy joint compile was their story for supporting Dagger on Android devices.  I'm willing to forward you this thread if you'd like.

Annotation processors generate code, they don't mutate already existing code.

I didn't realise they couldn't add new methods. Lombok was the most used process AFAIK and I didn't realise it wasn't using supported API.
If there's a decent chance that the annotations will be useful on Groovy code, then it's probably reasonable to always pay the compile price.
That reduces the bar for this feature to be just the test coverage. We'll need to cover the joint compile scenario and the scenario where there is no Java code.

Thanks for this discussion @alkemist.  I really appreciate it.
Here's a blog post giving an overview of Lombok's trick for your reference.
Are there any deadlines coming up that I should be aware of?  I'm planning on adding the test coverage this week.

If you can get the test coverage in this week, then there's a very good chance it will make 2.4. Any later than that and the likelihood reduces.
Sorry, I can't be more specific at this time. We haven't quite finalised plans, but it is looking like we are going to bring 2.4 forward in the usual schedule. We definitely won't go into code freeze this week, but might any time from mid next week on.

Hey @alkemist.  I've just added the test coverage you requested.

Just added some more negative test cases to make sure the stub generation and compilation logic was working as expected.

Excellent thanks.
I'll be digging in today or tomorrow, so unless there are issues it will be merged soon.

Looks good @Sarev0k
If you could change the tests so that they write the build under test to disk, instead of using the test resources as per my comment, I can merge it in for 2.4.

@alkemist I think I may have done something better than what you were originally suggesting.
Do you still want me to generate the settings.gradle within the test?

What I could do to give you the readability you want is remove the compile project(':SimpleAnnotationProcessor') from the resources build.gradle and apply it from the test instead.

It's fine how it is now.
I have a strong personal preference for self containing the test and not using test resources. Not everyone on the team feels this way. Before your recent change, there was enough complexity in the test resources project to push the decision past the objective line, now it's only subjective and there's precedent for the way it is.
Will merge today.

High quality contribution @Sarev0k .
Thanks for seeing it through.


feat: add translation hooks and packages

Description

This PR adds the translation hooks and packages for configuring the i18n on the AsyncAPI website.
As per conversation with the mentor, the website would initially support i18n for German Language, and would gradually support more languages as the community contributes.
The fallback language is en
I have added the initial translation for the heroHeading on Landing Page to test the package. Would be adding more translations in the subsequent PRs.

Related issue(s)

fixes #1978

@akshatnema @magicmatatjahu
I tried debugging the issue, and there seems no fix for this.
i18n support is not compatible with next export, and there are numerous issues related to this over StackOverflow, and next-i18next project.
https://stackoverflow.com/questions/65513435/i18n-support-is-not-compatible-with-next-export-ssr-nextjs-10
https://github.com/vercel/next.js/discussions/18957
Any help would be appreciated.

Got a fix somehow. Closing this PR


cluster.tf -- Incorrect attribute value type

terraform plan -out=plan.tr
provider.aws.region
The region where AWS operations will take place. Examples
are us-east-1, us-west-2, etc.
Enter a value: us-east-1
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.
data.aws_region.current: Refreshing state...
data.aws_availability_zones.available: Refreshing state...

Error: Incorrect attribute value type
on cluster.tf line 52, in resource "aws_eks_cluster" "eks-cluster":
52:     subnet_ids = [
Inappropriate value for attribute "subnet_ids": element 0: string required.

What terraform version are you using? This seems to be a issue with the newest version, try it to downgrade to 0.11.14. I had the same problem.


Calibration Application - Gesture recording doesn't fill the green bar.

Summary
Upon following the calibration step and repeating the gesture of "enter" the green bar won't fill, once in a while you'll get "gesture too different" which indicates that it's recognizing a gesture being made but the green bar doesn't fill to bring you on to the next step.
Steps to reproduce

Go to the Calibration application.
Scroll down to skip the initial welcome video.
Tap "START".
Follow the instructions as they are displayed on the screen as normal.

Expected
The green bar should fill upon the user making accurate gestures repetitively.
Actual
The green bar showing that an accurate gesture has been repeated enough times to register as a gesture isn't being filled and so doesn't move on to the next gesture. Sometimes a message appears showing "gesture too different" which means that it is actively listening for gestures.
Possible Workaround
If this issue occurs, swipe the screen to close the calibration application and start the calibration application again, this usually allows the user to continue as normal throughout the calibration.
Screenshots

As for now, for the testing purposes, only gesture UP is filling the progress bar, DOWN in turn, means - "gesture too different!", HOME - "gesture too similar!"

@denni2007 I disagree, if that were the case then the message "gesture too similar" would appear every time the user was calibrating the "HOME" gesture, this is not the case currently. When the calibration application is functioning correct (as I perceive anyway) the bar fills upon each accurately repeated gesture. If I firstly make a gesture and then perform a different gesture the "Gesture too different" message then appears.

Sorry, maybe we using different hardware, I will figure it out and reply you.


Bump chrono version to make the crate build with minimal versions on no-std environment

chrono <= 0.4.9 has build issue on no-std environment.
This commit make the crate build with the minimal versions (generated by cargo +nightly update -Z minimal-versions).

Sounds good to me. Thank you!

For the record, I have published this in version 0.2.1


scrcpy2.0 version does not work with 2.0.14 version of SDL2.dll mouse wheel

scrcpy2.0 version does not work with 2.0.14 version of SDL2.dll mouse wheel, hope to fix, I need to use 2.0.14 version of SDL2, thank you.

这可能是从那时起修复的 SDL 错误？

In scrcpy1.24, the mouse wheel works with SDL2 2.0.14.

@rom1v   Why is it OK to use the old SDL2 version in scrcpy1.24 or lower?

I have no idea. You should bisect both scrcpy and SDL to find out the cause on your machine I guess. I don't have this problem.

@rom1v   May be I did not describe clearly, accurately say so, in scrcpy2.0 if the use of SDL2.0.14 old version, then the mouse wheel scroll page invalid, the premise is that the page supports scrolling, and in scrcpy1.24 use SDL2.0.14 version, then the mouse wheel can normally scroll the page. This issue should be related to the high precision mouse supported in version 1.25, this is just my guess, I hope you can fix it, thank you!

This problem should be related to 'Add support for high-precision scrolling' added in version 1.25.

Oh, 57056d078ddcac73fe10fcb41395ed21f3d486b6 introduced in v1.25 adds high-precision scrolling, and it calls another API.
But the scrcpy v2.0 release is compiled against SDL 2.26.3, so it uses the new API. If you replaces the old .dll, things will go wrong. If you absolutely want to use SDL 2.0.14, then you must compile scrcpy 2.0 against SDL 2.0.14.

此问题应与版本 1.25 中添加的“添加对高精度滚动的支持”有关。

哦，v57056.0 中引入的 1d25 增加了高精度滚动，并调用了更新的 SDL API。
但是 scrcpy v2.0 版本是针对 SDL 2.26.3 编译的，因此它使用新的 API。如果您更换旧.dll，事情就会出错。如果您绝对想使用 SDL 2.0.14，则必须针对 SDL 2.0.2 编译 scrcpy 0.14。

I need to use the old version SDL2, can you guide me how to do it? Thank you very much.

@rom1v Thank you. I've taken care of it.

Just for my own curiousity, why couldn't you use SDL > 2.0.14?

只是出于我自己的好奇心，为什么不能使用 SDL > 2.0.14？

Because I have other software based on SDL2 version 2.0.14 to use with SCRCPY,Now I've recompiled scrcpy2.0 based on SDL2.0.14, and the mouse wheel is working.

I have other software based on SDL2 version 2.0.14

You can't just upgrade their SDL2.dll to the latest? In that direction, it should work.

I have other software based on SDL2 version 2.0.14

You can't just upgrade their SDL2.dll to the latest? In that direction, it should work.

I don't have the compiled code for this software, which comes bundled with SDL2.0.14, so I can't upgrade SDL2.You provided the solution, thank you very much! Hats off to you!


Is it available for axios and fetch?

I want to integrate PulseUI with a React Native project. Can Pulse log HTTP requests using axios or fetch on javascript side?

Hey, in the current implementation – no because it's closely coupled with Foundation.URLSession. It'll be, of course, fantastic to extend it to add support for more tools.


If I click on index new page and i add it new site i dont show up in my records of database

If I click on index new page and i add it new site i dont show up in my records of database

it works well on linux not on xampp

where are the sites located in your local directory


fix(a11y): make breadcrumb nav more accessible

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #XXXXX

The overwhelming majority of accessible breadcrumb patterns recommend using an ordered list inside a <nav>. Since there is also a <nav> for the main navigation it is necessary to give them both accessible names (I did this using the aria-label attribute). I also customized the keyboard focus outline so it looks consistent in all browsers.

Ahh, I see I'll need to update some tests as well.

Since I am using the aria-label attribute to give the two s accessible names I should probably update this to use react-i18next for translation.

Yeah, sounds good. A simple useTranslation should do the trick.  Are you happy to make the change on this PR?

In the interest of time, I added the translations. This should be good to go.


Provide exmaples of Arduino code

It would be great to have a few examples of Arduino code in README on how to use it. See https://arduinogetstarted.com/tutorials/arduino-serial-plotter

Hi @ivankravets
The sample project is created at https://github.com/iotlab101/dht22_platformio.git and documented as well. thanks.


Search path configuration updates

See issue #262.
This PR is cleaning up the dependency and impact search configurations for the removed DependencyResolver and ImpactResolver APIs - see N&N in the DBB docs.
This PR includes:

Removal of old configurations
SearchPath configurations are added to the list of required build properties
Updated configurations for SearchPath configs for ZunitConfig.groovy
Updated Readme

Also, since we are cleaning up old APIs, can we completely remove the BuildUtilities methods that  are commented out:
https://github.com/IBM/dbb-zappbuild/blob/develop/utilities/BuildUtilities.groovy#L308-L353
https://github.com/IBM/dbb-zappbuild/blob/develop/utilities/BuildUtilities.groovy#L689-L715
These are both methods supporting the APIs that have been removed in 2.0, which is why I commented them out, but I think we should remove the code entirely.

I see that you are removing the samples/MortgageApplication/application-conf/Assembler.properties file. I imagine you are doing this, and it is safe to do so, because there aren't any ASM source files in MortgageApplication that we are building. So I'm not sure why it was in there in the first place. Just wanted to confirm this is the reason for removal?

Yes, I wanted to clean up the Mortgageapplicatio sample. While there is no ASM source, I think we can get rid of it.


cannot import 'imresize'

[ ] Check that you are up-to-date with the master branch of keras-vis. You can update with:
pip install git+git://github.com/raghakot/keras-vis.git --upgrade --no-deps

[x] If running on TensorFlow, check that you are up-to-date with the latest version. The installation instructions can be found here.

[ ] If running on Theano, check that you are up-to-date with the master branch of Theano. You can update with:
pip install git+git://github.com/Theano/Theano.git --upgrade --no-deps

[ ] Provide a link to a GitHub Gist of a Python script that can reproduce your issue (or just copy the script here if it is short).

ImportError                               Traceback (most recent call last)
 in ()
----> 1 from vis.visualization import visualize_activation
2 from vis.utils import utils
3 from keras import activations
4
5 from matplotlib import pyplot as plt
1 frames
/usr/local/lib/python3.6/dist-packages/vis/visualization/init.py in ()
5 from .activation_maximization import visualize_activation
6
----> 7 from .saliency import visualize_saliency_with_losses
8 from .saliency import visualize_saliency
9 from .saliency import visualize_cam_with_losses
/usr/local/lib/python3.6/dist-packages/vis/visualization/saliency.py in ()
3 import numpy as np
4 import matplotlib.cm as cm
----> 5 from scipy.misc import imresize
6
7 from keras.layers.convolutional import _Conv
ImportError: cannot import name 'imresize'

I had the same problem. I solved it by installing scipy 1.1.0. The version I had from pip was 1.3.0.
pip install scipy==1.1.0

Thanks @jwmandeville for reporting the solution.
And the api that caused ImportError was not used in keras-vis now.
We'll close this issue but if you find other problems corresponding this issue, feel free to reopen.


Missing visemes on exported VRM

Tested on latest char creator

Hello @madjin @lalalune
Do you still have this problem?
Did you download glb or vrm?
I tired download glb now and looks emotion shape keys ( visemes? ) work well

Tested with:
main branch commit 64662390ba9e76b8e24674f3bcf296acfe7919be
Blender 3.0.0
Download glb.

@madjin @lalalune
I tried VRM visemes issues have been fixed in @memelotsqui newest commits cf48b1a85b0b204527013f7fbda39c5085227b2b too.

@madjin @lalalune
Also fixed the vrm1 compatible issues on app side. https://github.com/webaverse-studios/app/pull/21

https://github.com/webaverse-studios/app/pull/21 got merged.
I think can close this issue.


BAN-2033 Specify items in split

Implement the  suggestion in this PR to specify 'how many items you want to split the string' into, when building urls from a single string.
https://mydevex.atlassian.net/browse/BAN-2033

+1

+1


Edit configuration doesn't work on Mac

🐛 Describe the bug
I'd like to specify my gist and token manaully (since such option is offered), but can't - Edit configuration page seems to be corrupted:

it has vertically cropped scrollbars which renders whole page scroll impossible
I can navigate across fields with Tab but don't see any kind of "Save settings" button
probably because of points above token entered isn't saved and I keep getting Welcome page instead of Sync download
My gist is saved under Settings/Extensions/Code Settings Sync (why not to keep all config there, BTW?) - I doublechecked

🌴 Visual Studio Code Version : [1.40.2 ]
🌴 Code Settings Sync Version : [3.4.3 ]
🌴 Standard or Insiders : [ Standard ]
🌴 Portable or Installed : [ Installed ]
🌴 OSS or Official Build : [ Official ]
🌴 Operating System : [Mac OS Mojave ]
🌴 Occurs On: [Configuring ]
🌴 Proxy Enabled: [ No ]
🌴 Gist Id: [ ID_HERE ]
📰 To Reproduce
Steps to reproduce the behavior:
Try to manually configure Sync under MacOS Mojave
💪 Expected behavior
Edit page renders properly, settings saved

I also have this issue. I just installed Settings Sync extension. Under about in Visual Studio Code, these are the relevant fields:
Version: 1.70.2
Date: 2022-08-16TO5:36:25.715Z
Electron: 18.3.5
Chromium: 100.0.4896.160
Node.js: 16.13.2
V8: <IP_ADDRESS>-electron.0
OS: Linux x64 5.17.15-1-MANJARO
Using tab to get to fields below the cut-off section seems to work getting the settings page to jump down and show the rest of the fields. So it's a workaround, but I don't know how obvious that is (and technically, even then, it's a workaround not a solution ;) )


Reference .env file instead of hardcoding Key values in code.

https://github.com/kanakmi/Detective-Discord/blob/8b8118f8476d2052d973e88bc104c0a8f4b19300/bot.py#L12
I suggest we should load these values form .env file which is the usual method, and a security measure, and not put senstive information in code.

Done in https://github.com/kanakmi/Detective-Discord/commit/be38acfc858c2f7847e56089ce8c2c1d7fe97aa0


Enable all sensors from the dock (ESP32-S3-BOX-3-SENSOR)

It looks like the more specific repo would be the correct place to report this, but given this repository has more people looking into it, and lots of reports which seem specific to the voice assistant in the ESP32-S3-BOX-3, I'm cross-posting. I apologize if this was definitely not the best idea!

The S3 can optionally come with a sensors dock, which includes temperature, humidity and what seems to be a mmWave radar. It also has an IR emitter/receiver, which I'm not sure could be included as well, although I bet it would be way more complex and thus, "out of scope".
This is the version I bought @ AliExpress.
It's sad to notice no tutorial explains this wouldn't work with the firmware we're so far able to install on it. Thus, I wonder if it would be possible to implement those sensors?

FYI https://github.com/AlmostInteractive/ESP32-S3-Box-3-Voice-Assistant-Sensor-Dock looks to work well for me with this dock


keyboard_ui: Add shortcut "Shift + V" to view read receipts.

Fixes part 1 of #24716.

[x] Implement a keyboard shortcut for "View read receipts". Shift+V has been proposed as an ideal shortcut.

Screenshots

Screen captures

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

@SameepAher I see you've pushed to this PR, but no comment -- have you resolved the feedback? If so, how?

@SameepAher I see you've pushed to this PR, but no comment -- have you resolved the feedback? If so, how?

@timabbott Ah, I'm really sorry about that! I had replied to your feedback in the Files changed tab the same day, but github showed my comments as pending and thought it was "pending to be reviewed". Just realised that I had to submit my comments from the Files changed tab.


Improvements of std_examples/timer/src/main.rs

Hello Omar,
I read your blog on the ESP32 Standard Library Embedded Rust: Timers.
I was trying to factorize the code like following :
use esp_idf_hal::gpio::*;
use esp_idf_hal::peripherals::Peripherals;
use esp_idf_hal::timer::config::Config;
use esp_idf_hal::timer::TimerDriver;

fn main() {
    esp_idf_sys::link_patches();

    let peripherals = Peripherals::take().unwrap();

    // Configure and Initialize Timer Drivers
    let config = Config::new();
    let mut timer1 = TimerDriver::new(peripherals.timer00, &config).unwrap();
    let mut timer2 = TimerDriver::new(peripherals.timer10, &config).unwrap();

    // Configure Pins that Will Read the Square Wave as Inputs
    let pin1 = PinDriver::input(peripherals.pins.gpio0.downgrade_input()).unwrap();
    let pin2 = PinDriver::input(peripherals.pins.gpio1.downgrade_input()).unwrap();

    // Declare and Init Variables that will Track Pin level
    let mut pin1_old_level: Level = Level::Low;
    let mut pin2_old_level: Level = Level::High;

    // Set Counter Start Value to Zero
    timer1.set_counter(0_u64).unwrap();
    timer2.set_counter(0_u64).unwrap();

    // Enable Counter
    timer1.enable(true).unwrap();
    timer2.enable(true).unwrap();

    loop {
        pin1_old_level = measure_pin(&mut timer1, &pin1, 1, pin1_old_level);
        pin2_old_level = measure_pin(&mut timer2, &pin2, 2, pin2_old_level);
    }
}

fn measure_pin<T: Pin, MODE: esp_idf_hal::gpio::InputMode>(timer: &mut TimerDriver, pin: &PinDriver<T, MODE>, index: u8, pin_previous_level: Level) -> Level {
    // Get Level of pin
    let pin_current_level = pin.get_level();

    if pin_current_level != pin_previous_level {
        match pin_current_level {
            // If pin level changed from Low to High then reset count
            Level::High => timer.set_counter(0).unwrap(),
            // If pin level changed from High to Low then capture count
            Level::Low => {
                let count: u64 = timer.counter().unwrap();
                // Calculate and Print Out the Pulse Width
                // Clock Frequency is 1 MHz According to Code
                println!("Sq Wave {} Pulse Width is {:.1}ms", index, count / 1000);
            }
        }
    }

    pin_current_level
}

I test it with Wokwi and the time accuracy is more precise (and take less emulated CPU).
First, I wonder why, then I understand that you print several time the same count at each iteration loop.

In my revised code, I only display the count, when the new measure is available. So the display of the message is triggered by the pin state change. Because Wave 1 pulse is 25ms and Wave 2 pulse is 10ms. We have more wave 2 pulse messages than wave 1 pulse messages.

I have update Wokwi with another improvement:
I saw that you put the following code for displaying pulse width :
println!("Sq Wave 1 Pulse Width is {:.1}ms", count1 / 1000);

Because of the {:.1}, you expect to have a decimal digit, but count1/1000 gives an integer result.
There are several possibilities in order to get a decimal digit:

use float (if hardware doesn't natively support float, it will use soft float, that can be slow and increase flash footprint)

println!("Sq Wave 1 Pulse Width is {:.1}ms", count1 as f32 / 1000f32);

compute entire part and decimal part:

let integer_part  = count1 / 1000;
let decimal_part  = (count1 % 1000) / 100;
println!("Sq Wave 1 Pulse Width is {}.{}ms", integer_part, decimal_part);

use rust_decimal crate

let decimal_count = rust_decimal::Decimal::new(count1 as i64, 3); // decimal of 3 digits
println!("Sq Wave 1 Pulse Width is {:.1}ms", decimal_count);

Thank you for the suggestions! The blog post was updated to include the suggested enhancements for the code. Regarding using a function, while the implementation is more efficient, I try to avoid it in embedded at least since getting the parameter types correctly might be cumbersome. As for the floating point, it was an artifact from an earlier implementation I was experimenting with. I figured I didn't need that much accuracy and stuck to integer math as it's lighter weight.


support eager loading

awesome lib. very simple yet powerful. I think eager loading is the only thing missing for my usecase.
const thing = await Thing.objects.get(3);
const user = await thing.user().one();
expect(user.id).toBe(2);

It would be nice to get the user for a given Thing in a single query via eager loading. I'm not sure what the api might look like for this.

Thanks!
Maybe using with?
const thing = await Thing.objects.with('user').get(3);
const user = thing.related('user');
expect(user.id).toBe(2);

I'm planning to add eager loading that will use second query to load related object. It is simpler to implement than joining tables.

I guess using second query defeats the purpose of eager loading. It would be awesome to do it with joins. I understand it can get tricky. Idk

I will think about that.
It depends on relation type. For example, if I want to fetch User with all of it's Things will be effective to execute two SQL statements: fetch user and fetch user's things. But if I want to fetch thing with related user, join is more effective.
I'm working now on relation abstractions and some API changes.
For example it will be possible to iterate over models asynchronously:
for await (const user of User.objects) {
  console.log(user.get('name'));
}

Also removed .one and .all methods from query. To evaluate query just use await or then instead:
const allUsers = User.objects;
const adults = User.objects.filter({ age__gte: 18 });

console.log(await allUsers); // will execute statement and return all users
console.log(await adults); // will execute statement and return list of adult users

// Or use as Promise:
User.objects.then(users => console.log(users));

After it I planned to implement eager.

It is not possible to implement belongsTo with joins using current API due to SQL limitations.
The knex query returns row data with column names but without table names. We need to rename columns adding table information to extract this information from row data and fulfill eager loaded models.
To achieve this each model must contain list of its table column names.

To achieve this each model must contain list of its table column names.

This is how most ORMs do it. i think it's fair to do it this way. Infact it's better because you don't have to do select * and can use the column names to build the select clause.

You right.
Would you like to contribute?

I might not be able to get to it any time soon. had to roll with vanilla knex queries for the time being.

Today was released 1.0.1 version. Now supports eager loading relations. At this point it is based on second query principle. Joining will be in a future versions.


code's running environment

I want to know what kind of equipment is needed to run this code. I'm getting an error running with rtx2060。

Hello. If you are running the code only for evaluation purposes, you may need more than 18GB of GPU memory. If you plan to train the model, it will require over 32GB of GPU memory.

Hello. If you are running the code only for evaluation purposes, you may need more than 18GB of GPU memory. If you plan to train the model, it will require over 32GB of GPU memory.你好。如果您仅出于评估目的运行代码，则可能需要超过 18GB 的 GPU 内存。如果您计划训练模型，则需要超过 32GB 的 GPU 内存。

If I use an A40 GPU with 48GB of VRAM and 80GB of memory, approximately how long will it take to train? What configuration did you use to train your model files, and approximately how long did it take?

Hello. If you are running the code only for evaluation purposes, you may need more than 18GB of GPU memory. If you plan to train the model, it will require over 32GB of GPU memory.你好。如果您仅出于评估目的运行代码，则可能需要超过 18GB 的 GPU 内存。如果您计划训练模型，则需要超过 32GB 的 GPU 内存。

Hello. If I use an A40 GPU with 48GB of VRAM and 80GB of memory, approximately how long will it take to train? What configuration did you use to train your model files, and approximately how long did it take?

This can be found in '4.1.2 Hyperparameters Settings' in our camera-ready version.
During the instruction-tuning phase, we maintained consistency with Vicuna’s default settings for the majority of hyperparameters. These include a learning rate of 0.002, using the AdamW optimizer, and a warmup rate of 0.03. To improve training efficiency, we set the batch size to 4. The parameters for the dilation convolution kernel in the time encoder are set as follows: 𝑑𝑖𝑛, 𝑑𝑜𝑢𝑡, and 𝑑 ′ 𝑜𝑢𝑡 are all set to 32, with a dilation factor of 1. For our prediction task, both the history length (𝐻) and prediction length (𝑃) are set to 12. The projection layer parameters are configured with 𝑑 set to 64 and 𝑑𝐿 set to 4096. Lastly, the hidden layer parameter 𝑑 ′ for the regression layer is set to 128. We generated a total of 863,040 training samples from the NYC-taxi, NYC-bike, and NYC-crime datasets for instruction-tuning. The training process was conducted on 8 × NVIDIA A100-SXM4-40GB GPUs and took approximately 16 hours to complete in 3 epochs.

Thanks for that!


Configure dependabot to update pip and npm packages

Basically followed the instructions here and in the sibling pages.
Are you fine with the values for the check interval?
In the beginning we'll probably see some PRs to get all dependencies up-to-date.

@pylipp does this include security updates or no? I think security updates should be daily. Version updates I'm happy with weekly.

@pylipp does this include security updates or no? I think security updates should be daily. Version updates I'm happy with weekly.

Security updates are included by default since our repo meets the criteria listed here. This should also be visible from Settings -> Security (but I don't have access to that menu).
Security updates are pushed out in an alert fashion rather than after checks scheduled for certain times.


Mailjet fix

Mailjet fails to send with "To", requires "Recipients" instead

Thanks for the contribution! Cheers!


Init injections before state

This makes it possible to provide an injected value as the default for a prop
export default {
  inject: ['_searchStore'],
  props: {
    searchStore: {
      type: Object,
      default () {
        return this._searchStore
      }
    }
  }
}

That way the user can either explicitly pass the property, or otherwise we resolve it with the injected one.
From my understanding, initInjections doesn't really conflict with initState, is there a specific reason for having initState before initInjections?

Thank you for your PR!
provide/inject feature improvement is discussioning in #5067 becase of some issues.
You can join to it. 😺

Thanks for the suggestions! Unfortunately simply moving the whole block would break the case where provide() rely on data/props. I implemented a proper change with tests in 16765db.

Arg, sorry about the noise, I naively looked at the code and read the tests expecting them to pass o_O
Thank you @kazupon for the link, I will definitely join the conversation, as this seems like a very promising feature that fills some gaps.
Thank you @yyx990803 for being so reactive and constructive, really appreciated!

@yyx990803 do you have an idea about the ETA of the next release? I'm really looking forward to use the new implementation you came up with ;)

@rayrutjes that may take a few days

That sounds great, using a local build of Vue in the meantime.
I can tell that the implementation you did is perfect for my use case.


[google_sign_in_web] Add a no-op Android implementation

Related Issues
flutter/flutter#46898
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[x] All existing and new tests are passing.
[x] I updated/added relevant documentation (doc comments with ///).
[x] The analyzer (flutter analyze) does not report any problems on my PR.
[x] I read and followed the Flutter Style Guide.
[x] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[x] I updated CHANGELOG.md to add a description of the change.
[x] I signed the CLA.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
[x] No, this is not a breaking change.

@mklim since you touched on google sigin package, can you please have a look at https://github.com/flutter/flutter/issues/41296 It is quite unusable without it, and hope it is a quick change for you. There was a pr about to merge and hope that help to. thanks.


Use examples as acceptance

Examples are a good way to cover use cases, lets use them as acceptance. To do so we need:

Add asserts to check correct calls
Add cleanups after execution
Make pytest run them

24e5011


Dashboard allow child live view components

Allows to embed a child LiveView instead of a LiveComponent
Given that the plugin has a module called DashboardLive it will render it as a child live view.
This allows plugins to use async processing and more advanced stuff with processes.

Could you please add information about it to the doc kanta/docs/how-to-write-plugins.md ?

@arturz added docs


Solution explorer crash with no error message

hi.
After I test to correctly configure solution explorer (#29), I discover the extension crash with no error in developer tools.
My configuration into general settings (not workspace):
"vssolution.showMode": "activityBar",
"vssolution.solutionExplorerIcons": "current-theme"

With this, I click on solution explorer in explorer and the selution explorer panel disappear.
I've no logs anything with error from this extension.

related: #28


Add BingSDK header to EntitySearch

Looks interesting, I'll make sure we include this in our spec generator. Thanks!

There is external context on this one, that @amarzavery is looped in on. This makes him a more appropriate assignee than me.

@stefanvalianu you generate the Swagger file? So should we merge this one, or you will add this to your generator, and then re-do a PR?

@lmazuel Feel free to complete this PR and check in; I'll just make sure that the generator reflects the changes so people don't have to do manual edits

No modification for AutorestCI/azure-sdk-for-ruby

No modification for AutorestCI/azure-sdk-for-node

No modification for AutorestCI/azure-sdk-for-python


functions get & set & remove in org.apache.dubbo.common.utils.Stack take no consideration that index plus mSize is negative

[x] I have searched the issues of this repository and believe that this is not a duplicate.
[x] I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment
branch: master
functions take & put in org.apache.dubbo.common.utils.Stack consider no the situation that index plus mSize is negative .
public E get(int index) {
        if (index >= mSize) {
            throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + mSize);
        }

        return index < 0 ? mElements.get(index + mSize) : mElements.get(index);
    }

public E set(int index, E value) {
        if (index >= mSize) {
            throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + mSize);
        }

        return mElements.set(index < 0 ? index + mSize : index, value);
    }

public E remove(int index) {
        if (index >= mSize) {
            throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + mSize);
        }

        E ret = mElements.remove(index < 0 ? index + mSize : index);
        mSize--;
        return ret;
    }

the implementations are not strict.

In theory , if index plus mSize is negative ,functions take & put & remove also throw IndexOutOfBoundsException.But your idea will make it more complete.


update spring-reference.yml after release

Update the library versions after August release and modify msdocs link from https://docs.microsoft.com/java/api/overview/azure/ to https://docs.microsoft.com/azure/developer/java/spring-framework/

Hi, @yiliuTo , could you please add this to this page: https://dev.azure.com/azure-spring-integration/spring-integration-private/_wiki/wikis/spring-integration-private.wiki/29/Release-on-SDK-repo


Unable to create new .jGIS document

With this error message I get the following logs in jupyterlab terminal:
[E 2024-10-10 16:23:31.648 ServerApp] Error initializing: examples/untitled.jGIS
    JSONDecodeError('Expecting property name enclosed in double quotes: line 6 column 1 (char 160)')
    Traceback (most recent call last):
      File "/Users/arjunverma/mambaforge/envs/jgis/lib/python3.12/site-packages/jupyter_collaboration/handlers.py", line 233, in open
        await self.room.initialize()
      File "/Users/arjunverma/mambaforge/envs/jgis/lib/python3.12/site-packages/jupyter_collaboration/rooms.py", line 148, in initialize
        self._document.source = model["content"]
        ^^^^^^^^^^^^^^^^^^^^^
      File "/Users/arjunverma/mambaforge/envs/jgis/lib/python3.12/site-packages/jupyter_ydoc/ybasedoc.py", line 95, in source
        return self.set(value)
               ^^^^^^^^^^^^^^^
      File "/Users/arjunverma/Desktop/Arjun/jupytergis/python/jupytergis_core/jupytergis_core/jgis_ydoc.py", line 47, in set
        valueDict = json.loads(value)
                    ^^^^^^^^^^^^^^^^^
      File "/Users/arjunverma/mambaforge/envs/jgis/lib/python3.12/json/__init__.py", line 346, in loads
        return _default_decoder.decode(s)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/arjunverma/mambaforge/envs/jgis/lib/python3.12/json/decoder.py", line 337, in decode
        obj, end = self.raw_decode(s, idx=_w(s, 0).end())
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/arjunverma/mambaforge/envs/jgis/lib/python3.12/json/decoder.py", line 353, in raw_decode
        obj, end = self.scan_once(s, idx)
                   ^^^^^^^^^^^^^^^^^^^^^^

Could it be related to https://github.com/jupytercad/JupyterCAD/issues/471 ?

Could it be related to jupytercad/JupyterCAD#471 ?

Yes, it could be.
But just to mention that there was no trouble opening any of the example files.

Man, thanks for reporting this. I left a comma in #170 😓
#184 should fix it

Ou, I'm glad it was caught and fixed. Thanks, it was quick 🚀


adding a simple Uniform prior

Current coverage is 98.95% (diff: 100%)

Merging #146 into master will decrease coverage by <.01%

@@             master       #146   diff @@
==========================================
  Files            20         20
  Lines          1445       1438     -7
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           1430       1423     -7
  Misses           15         15
  Partials          0          0

Powered by Codecov. Last update b4a8d1b...a9f2d50

@markvdw could you have a look at this?

Should self.log_height = np.log(upper - lower) not be self.log_height = -np.log(upper - lower)? Since we need to normalise the distribution? Now the height is larger if the range is larger...?

yes! great catch. fixed.


So I'm making a Song Randomizer-

Describe your problem here.
I made a script that goes with an empty song (a song with no inst or voices, just the chart) that sends you to a random song within a list that's defined with an array of strings that contain song names to use with loadSong().
this song's data folder is in the mods/data folder and any songs within said data folder and the vanilla songs load and work fine.
But trouble arises (and the main point of this issue) is that I tried to load a song that is inside its own folder (like mods/thatmod/data instead of just mods/data) and it fails to load it, resulting in it staying within the empty song and not doing anything else. Is there a way for me to load a song from something like mods/thatmod/data or is that not possible / implemented? I want it to be able to use any song, regardless of the mod and how it was structured for compatibility sake.
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
Nope, using 0.5.2h.

Not possible


Update "temporary" stop-gap for supporting nested addons

When upgrading to 2.7.0, I'm seeing the "sourcemaps not defined" issue again. It seems that the previous stopgap wasn't as future-proof as we'd like it to be. :)
I've switched from duck-typing against app.import to app.options, since that's the accessor that fails every time this bug resurfaces.
Here's the previous PR: https://github.com/ef4/ember-browserify/pull/30/files

@seanjohnson08 can you confirm that this works pre 2.7.0?

how does this deal with dupes of deps across nested addons?

In regards to @asakusuma 's question, this was not entirely working before. We started experiencing this issue with ember-cli at 2.6.3, and bumping the version down to 2.6.2 temporarily solved the issue.
I'm now experiencing the issue again in an addon that uses ember-browserify where I pinned ember-cli to 2.6.2. When I hook up my app to an engine that uses the addon using ember-browserify I'm experiencing the error again.

@stefanpenner can confirm that @seanjohnson08 's fix solved the error in my situation

@stefanpenner can confirm that @seanjohnson08 's fix solved the error in my situation

This wasn't actually my question, this appears to be adding a new feature. One that opens the door to a currently unaddressed problem, which is how does one deal with duplicate dependencies from discrete add-ons. I don't believe we can accept this feature without an answer to ^.
@cklimkowsky if there was a regression in ember-cli 2.6.3, we should investigate it. Do you have a reproduction?

@stefanpenner I was just providing additional context.

Yes, a reproduction for the 2.6.3 regression would be great,  do you mind opening a new issue (on this repo) describing the symptoms? That way we can track the two issues independently.

@cklimkowsky im also unsure if 2.6.2 and 2.6.3 resulted in any breaking changes: diff -> https://github.com/ember-cli/ember-cli/compare/v2.6.2...v2.6.3

@stefanpenner hm, I just tried reproducing the 2.6.3 issue and I unfortunately can't 😕

@seanjohnson08 are you trying to upgrade to ember-cli 2.7 or ember 2.7?
cc @tjni

@asakusuma @stefanpenner I've also run into this issue when bumping ember-cli to 2.7. No issues on 2.6.3.

@derrickshowers can you share a reproduction, would love to dig in.

@seanjohnson08 Have you had any luck (or know of a way) reproducing this on a fresh ember-cli app? Tried including ember-browserify as a dependency and a downstream dependency, but can't get to reproduce the error.
In the app I'm working with, it's reproducible every time I upgrade ember-cli to 2.7.0. 🤔

Guess I'll jump on the wagon. I'm getting this error after updating ember-cli to 2.7.0 and running ember init with<EMAIL_ADDRESS>Not sure what other information I can provide that would be helpful, but I didn't have this issue on<EMAIL_ADDRESS>

100% of this thread is LinkedIn people. We know that this is completely broken. We'll have a story for this at some point next week.

will be superseded by https://github.com/ef4/ember-browserify/pull/100


Fixes in scripting library to enable jQuery to parse and execute

Hi,
I've made a few fixes and improvements to the scripting library, which in conjunction with the changes I made in the Core library allow jQuery to parse and execute over the DOM

Definitely good changes. I will happily accept the PR once the new project settings have been discussed.
One remark though: I am currently working on the generation of a set of classes to wrap the AngleSharp "native" types for Jint. That way reflection is not needed as heavily as currently. Also the DOM represented in JavaScript will behave as in the browser (with the prototype chain as seen in any browser). Once I finished the generation the current method of exposing DOM objects to Jint will be completely replaced.

Sounds great!  Really loving this project.
I've found that this code still has an issue that prevents the scope of functions and properties surviving outside of the script tag they're declared in.  ie If you have 2 script tags and the second references a function that's declared in the first then it can't find it.
I'll submit another change to fix this too.

Yes the 2 script thing is definitely something worth having. The GetEngine from the IScriptingService is thought to return the same engine for any request (if the underlying service is the same). So the way to implement this is possibly by using the Context property of the ScriptOptions. I would suggest making a list that contains created contexts (which wrap the IWindow).
If an IWindow does not have a context, a new one is created and the script is evaluated. Otherwise the script is evaluated in the existing context.


Patch 4496

Overview
Added some info text to the ET sample scenes that are loaded additively. Some developers were confused by the missing camera and MRTK components.
Changes

Addresses issue #4496 - MRTK currently relies on additive scene loading, so setting up each scene as a standalone scene is currently not possible if we want to enable the user to switch between them.

Dannnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnng that's good

Can you update the title of the PR?

Can you update the title of the PR?

Oh nevermind, I get how you're doing the naming: Patch and then bug number.

Can you update the title of the PR?

Oh nevermind, I get how you're doing the naming: Patch and then bug number.

Yeah, it's confusing. Sorry! But yep, you got it :)

@Railboy will your new scene system help with this problem at all?

/azp run mrtk_pr

Changed the title of the PR to reflect what it addresses

Thanks for merging this, @Yoyozilla! :)


Explicit array conversion (e.g., array(), asarray())

Reading through the standard, it appears that we may have missed an important feature: the ability to explicit coerce objects into a desired array type, either from builtin Python types like float/list or other array libraries. In other words, we need something like NumPy's array() and/or asarray() functions.

We kind of left that out on purpose, because there's so much variation in how libraries do that. We've got

tf.convert_to_tensor
torch.tensor
numpy/cupy/dask/mxnet/jax.numpy .asarray

Those also have significant variation in what they accept (e.g. do they deal with generators, objects which implement the buffer protocol, etc.).
The idea was:

Users can do this with whatever function(s) their library provides. Then they only pass array objects to functions in the array API namespace
Libraries should normally not have to construct anything from lists, and should be avoiding asarray.

Perhaps we should reconsider, being able to do array([1, 3], [5, 99]]) is a reasonable ask.

We kind of left that out on purpose, because there's so much variation in how libraries do that. We've got

tf.convert_to_tensor
torch.tensor
numpy/cupy/dask/mxnet/jax.numpy .asarray

Those also have significant variation in what they accept (e.g. do they deal with generators, objects which implement the buffer protocol, etc.).
The idea was:

Users can do this with whatever function(s) their library provides. Then they only pass array objects to functions in the array API namespace
Libraries should normally not have to construct anything from lists, and should be avoiding asarray.

Perhaps we should reconsider, being able to do array([1, 3], [5, 99]]) is a reasonable ask.

Perhaps we should reconsider, being able to do array([1, 3], [5, 99]]) is a reasonable ask.

I agree. If we have other array creation functions, I expect this will feel like an obvious missing gap. Otherwise I expect we would see users writing code like stack([ones(()), -2 * ones(()), ones(())]) rather than the much clearer asarray([1, -2, 1]). Use cases for the later sort of thing come up, even in library code.
For what it's worth, in jax.numpy there are essentially two versions of asarray():

The public version of jax.numpy.asarray works like NumPy, converting lists, calling __array__(), etc.
The internal version (called inside jax.numpy functions for coercion) allows for explicit NumPy and JAX arrays, but nothing else.

So the existence of asarray() does not mean it need to be used :)

Perhaps we should reconsider, being able to do array([1, 3], [5, 99]]) is a reasonable ask.

I agree. If we have other array creation functions, I expect this will feel like an obvious missing gap. Otherwise I expect we would see users writing code like stack([ones(()), -2 * ones(()), ones(())]) rather than the much clearer asarray([1, -2, 1]). Use cases for the later sort of thing come up, even in library code.
For what it's worth, in jax.numpy there are essentially two versions of asarray():

The public version of jax.numpy.asarray works like NumPy, converting lists, calling __array__(), etc.
The internal version (called inside jax.numpy functions for coercion) allows for explicit NumPy and JAX arrays, but nothing else.

So the existence of asarray() does not mean it need to be used :)

Makes sense. We need only one function I think - asarray and array are almost identical. I'd suggest a mash-up, because neither is ideal:
asarray(obj, dtype=None, copy=False, order='K', ndmin=0)

Some thoughts:

subok as a keyword doesn't make too much sense to me, subclasses should be fine if the library allows them.
order and ndmin make sense for asarray too even though numpy doesn't have them in asarray.
what inputs types obj accepts should be very well specified, and stricter than what numpy does. Probably: sequences, generators, and anything with a __dlpack__ method.
Anything that doesn't produce a supported dtype should raise an exception.
No buffer protocol, __array__ or __array_interface__.

order and ndmin make sense for asarray too even though numpy doesn't have them in asarray.

order is implementation specific to NumPy's strided ndarray model. It would not make sense for libraries like TensorFlow/JAX (and likely others, too) that only support contiguous arrays.
On the other hand, a device argument for explicitly assigning where the new array is allocated feels prudent.
ndmin is really weird, particularly because how it manages to ensure a minimum number of dimensions is ambiguous without reading the documentation. I've never used it with numpy, and would suggest leaving it out of the standard.

what inputs types obj accepts should be very well specified, and stricter than what numpy does. Probably: sequences, generators, and anything with a __dlpack__ method.

We also need builtin Python scalars: int | float | complex. So the type is something like NestedSequence[int | float | complex] | SupportsDLPack.
I would skip generators -- they have unknown size, which means the resulting arrays can't be allocated at once. It's easy enough to require users to cast with list() first.

No buffer protocol.

I'm not sure it's worth dropping the buffer protocol. It's used all over the place, including in Python's standard library, and it works just fine (especially for numeric types). Consider a library like Pillow -- do they really gain anything from implementing __dlpack__?

I like the ideas of

Dropping ndmin
Accepting obj to be NestedSequence[int | float | complex] | SupportsDLPack and skip generators
Keep the Python buffer protocol alive. On CPUs it works fine and mpi4py wraps everything in Python buffers, including GPU buffers. Though we'd likely support DLPack (by wrapping a DLTensor) anyway.

@shoyer One thing you said is conflicting: If we'd like to support the buffer protocol, it seems to be the best to keep order, which Python also recognizes (Python and NumPy use the same stride model IIUC).

order is implementation specific to NumPy's strided ndarray model. It would not make sense for libraries like TensorFlow/JAX (and likely others, too) that only support contiguous arrays.

It doesn't hurt though, and it can help. Even contiguous-only arrays can have C and Fortran order for ndim > 1. I think you mean TF/JAX only support automatically choosing order under the hood?
device: yes, I forgot to add that.

ndmin is really weird, particularly because how it manages to ensure a minimum number of dimensions is ambiguous without reading the documentation. I've never used it with numpy, and would suggest leaving it out of the standard.

I was thinking that is because numpy has atleast_1/2/3d, and those are quite popular. And we don't have them in the standard.

skip generators

Agree, the unknown size is a good argument to drop them.

I'm not sure it's worth dropping the buffer protocol. It's used all over the place, including in Python's standard library, and it works just fine (especially for numeric types). Consider a library like Pillow -- do they really gain anything from implementing __dlpack__?

Keeping the Python buffer protocol alive. On CPUs it works fine and mpi4py wraps everything in Python buffers, including GPU buffers. Though we'd likely support DLPack (by wrapping a DLTensor) anyway.

The trouble is, if we include it then we are mandating everyone to implement support for it. Which is a pain. Mpi4py and Pillow could easily document that users should convert to a numpy or cupy array as intermediate.
Also considering that in downstream library functions we anyway only want to accept conforming array objects and not mpi4py/Pillow objects, that's a very minor thing to ask. On the other hand, making array libraries implement the buffer protocol just for asarray seems odd. Especially since it would then be the only feature in the whole standard that requires using the Python C API.

order is implementation specific to NumPy's strided ndarray model. It would not make sense for libraries like TensorFlow/JAX (and likely others, too) that only support contiguous arrays.

It doesn't hurt though, and it can help. Even contiguous-only arrays can have C and Fortran order for ndim > 1. I think you mean TF/JAX only support automatically choosing order under the hood?

That's right, it's not part of the user facing API.
(More specifically, I was thinking TF/JAX only support C order arrays, but that may actually be an implementation detail that is not necessarily true on all platforms...)

ndmin is really weird, particularly because how it manages to ensure a minimum number of dimensions is ambiguous without reading the documentation. I've never used it with numpy, and would suggest leaving it out of the standard.

I was thinking that is because numpy has atleast_1/2/3d, and those are quite popular. And we don't have them in the standard.

TensorFlow seems to do just fine without either.
Another reason for why ndmin is a poor fit that convert an argument into an array is orthogonal to ensuring it has a certain number of dimensions. If we really care about this functionality, I would rather include it in the form of separate functions like atleast_1/2/3d.

(More specifically, I was thinking TF/JAX only support C order arrays, but that may actually be an implementation detail that is not necessarily true on all platforms...

Pretty sure they're passing Fortran-ordered arrays to LAPACK implementations, better for performance.

TensorFlow seems to do just fine without either.

That's good to know. It's easy enough to do some other way, e.g. with reshape. The behaviour is also puzzling:
>>> x = np.arange(3)
>>> np.atleast_2d(x).shape
(1, 3)
>>> np.atleast_3d(x).shape
(1, 3, 1)                                  # why not (1, 1, 3)?

Okay, so I think we're arriving at:
asarray(obj, /, *, dtype=None, copy=False, device=None)

Especially since it would then be the only feature in the whole standard that requires using the Python C API.

Actually, I take that back. They're documented as part of the C API, however (from here):
Contrary to most data types exposed by the Python interpreter, buffers are not PyObject pointers but rather simple C structures. This allows them to be created and copied very simply. When a generic wrapper around a buffer is needed, a memoryview object can be created.

I'm not sure either way now, the docs are very bad. It claims they're simple C structures, but then all signatures contain Py* types.

Got a good answer thanks to Pearu: using memoryview(x) in Python will work if and only if an object supports the buffer protocol. So it does not require the Python C API. That makes it a lot less onerous to support, at least in principle.

Okay, so I think we're arriving at:

asarray(obj, /, *, dtype=None, copy=False, device=None)

So we drop order?

So we drop order?

I don't have a strong opinion either way, but finds @shoyer's argument mildly convincing - if it's a feature that JAX and TensorFlow do not expose on purpose, then they'd have a keyword that they will just ignore.
On the other hand, NumPy/CuPy/PyTorch/Dask/MXNet all support it just fine, and there's no user-noticeable effort if JAX/TF ignored it.

Re buffer protocol: if we support it, then we should probably also support __array_interface__ - that's the Python-level equivalent.

__array_interface__ has been largely superseded by buffer protocol (https://numpy.org/doc/stable/reference/arrays.interface.html) , so what is the benefit of having it?

The trouble with order keyword is whether we mandate what values of order a library must support.
If a library only supports C-contiguous arrays, there can only be one value (default), and the keyword wont get used.
For libraries with strided support order can be useful, but what about portability across library implementations ?

__array_interface__ has been largely superseded by buffer protocol (https://numpy.org/doc/stable/reference/arrays.interface.html) , so what is the benefit of having it?

Not superceded, the buffer protocol is C-only and __array_interface__ is Python-only. They do very similar things.

For libraries with strided support order can be useful, but what about portability across library implementations ?

It is possible for JAX/TF to accept and just ignore order='F', because there is no other user-accessible feature that depends on it. It's really just a performance optimization detail.

Also, if a library only has C ordered arrays, then this all still makes sense:
    'K'   unchanged F & C order preserved, otherwise most similar order
    'A'   unchanged F order if input is F and not C, otherwise C order
    'C'   C order   C order

Opened gh-130 to add asarray


[NuGet.org Bug]: 500 - Internal Server Error when accessing certain package pages

Impact
I'm unable to use NuGet.org
Describe the bug
If in the package's README, a specific scenario exists, attempting to access the package's page results in a 500 error. This issue comes to light with the added support of internal links in READMEs.
The 500 error occurs as a result of an unhandled NullReferenceException.
This may be a result of a separate bug within Markdig (auto-links or auto-identifiers or a combination of the two).
Repro Steps
The following scenario must exist in the README for this issue to occur.
Scenario 1:
# Heading
[Link Text [Heading]](URL)

Scenario 2:
# Heading
[Heading]

Expected Behavior
Accessing a page containing a README with either of the scenarios above should not result in a 500 error.
The resulting HTML for scenario 1 should look like this:

Heading

Link Text [Heading]

The resulting HTML for scenario 2 should look like this:

Heading

[Heading]

Screenshots

Additional Context and logs
No response

The proposed fix in the above PR fixes the 500 internal server error, but results in some strange behavior.

Filed the following bug in the Markdig repository:
https://github.com/xoofx/markdig/issues/668


Add validation at admin end for bundle items qty

Bug report
Title
Add validation at admin end for bundle items qty
Preconditions
1. framework Version. Master

Steps to reproduce
1. step1: create bundle type product
2. step2: while selecting bundle items, qty should be always greater than zero

Expected result
https://prnt.sc/ubxgkr
Actual result
as of now admin is able to save product with qty 0, as well customer is able to place order with $00
https://prnt.sc/ubxcfh

fixed in master


corrected spelling

Thanks for taking part in Hacktoberfest 2019. Please fill up this form to claim your swag https://hubs.ly/H0l5ldm0


Update computed file creation logic in Project and Sample models

Context

The Project and Sample models both have computed file driver methods named Project::create_project_computed_files and Sample::create_sample_computed_files respectively.
These methods are responsible for

Evaluating all possible computed file configurations and calling the corresponding ComputedFile::get_project|sample_<modality>_file methods (which create new ComputedFile objects and carry out the computed file archiving)
Calling ComputedFile::process_computed_file on them (which uploads the passed computed file to s3).

Problem or idea

Now that we've moved from explicitly checking configuration conditions (upon which to call a corresponding ComputedFile::get_project|sample_<modality>_file method) to iterating over a collection of acceptable prebaked DOWNLOAD_OPTIONS on each Project or Sample, the Project::create_project_computed_files and Sample::create_sample_computed_files methods must be updated and refactored accordingly.
Solution or next step
This is a possible implementation, which would have to be tweaked depending on whether the context was for Project or Sample computed files:
def create_computed_files(
        self,
        max_workers=8,  # 8 = 2 file formats * 4 mappings.
        clean_up_output_data=True,
        update_s3=False,
    ):
        """Prepares ready for saving project computed files based on generated file mappings."""

        def on_get_project_file(future):
            computed_file = future.result()
            if computed_file:
                computed_file.upload_to_s3(update_s3)
            if clean_up_output_data:
                computed_file.clean_up_output_data()
            connection.close()

        with ThreadPoolExecutor(max_workers=max_workers) as tasks:
            for download_options in config.PREBAKED_PROJECT_DOWNLOADS:
                tasks.submit(
                    ComputedFile.get_project_file,
                    self,
                    download_options,
                ).add_done_callback(on_get_project_file)

        self.update_downloadable_sample_count()

Addressed in PR https://github.com/AlexsLemonade/scpca-portal/issues/785


Failed to run MSBuild command - System Integrity policy has been violated.  Explicit denied file

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
Step 1:
flutter create my_app
Step 2:
cd my_app
Step 3:
flutter run lib/main.dart
Actual results
CMake Error at CMakeLists.txt:3 (project):
Failed to run MSBuild command:
C:/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin/amd64/MSBuild.exe

to get the value of VCTargetsPath:
System Integrity policy has been violated.  Explicit denied file

Building Windows application...                                    423ms
Exception: Unable to generate build files
Logs

Logs

PS C:\projects\my_app> flutter doctor -v
[✓] Flutter (Channel stable, 3.16.3, on Microsoft Windows [Version 10.0.22631.2428], locale en-US)
    • Flutter version 3.16.3 on channel stable at C:\flutter\sdk
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b0366e0a3f (6 days ago), 2023-12-05 19:46:39 -0800
    • Engine revision 54a7145303
    • Dart version 3.2.3
    • DevTools version 2.28.4

[✓] Windows Version (Installed version of Windows is version 10 or higher)

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at C:\android\sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: C:\android\studio-preview\jbr\bin\java
    • Java version OpenJDK Runtime Environment (build 17.0.9+0--11185874)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.8.3)
    • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
    • Visual Studio Community 2022 version 17.8.34330.188
    • Windows 10 SDK version 10.0.22621.0

[✓] Android Studio (version 2023.1)
    • Android Studio at C:\android\studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-b2043.56-10550314)

[✓] Android Studio (version 2023.2)
    • Android Studio at C:\android\studio-preview
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.9+0--11185874)

[✓] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.22631.2428]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 120.0.6099.71
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 100.0.1185.36

[✓] Network resources
    • All expected network resources are available.

• No issues found!
PS C:\projects\my_app> flutter run lib/main.dart
Launching lib/main.dart on Windows in debug mode...
CMake Error at CMakeLists.txt:3 (project):
  Failed to run MSBuild command:

    C:/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin/amd64/MSBuild.exe

  to get the value of VCTargetsPath:

    System Integrity policy has been violated.  Explicit denied file

Building Windows application...                                    423ms
Exception: Unable to generate build files

Flutter Doctor output

Doctor output

<!-- Paste your output here -->

Thanks for filing this @coperio.
I see this seems to be related to Visual Studio, can you try out the solutions in the SO thread to see if it works in your case?
https://stackoverflow.com/questions/44478492/cmake-failed-to-run-msbuild-command-msbuild-exe

Thanks for helping me @dam-ease.
The issue was the smart app control, as far as i remember it was on evaluation mode and somehow it turned itself on.

I did a little research on how the smart control works and why its blocking cmake.exe under visual studio installation to start msbuild.exe.
When Smart App Control is turned on and when an app tries to start another app, both apps must be signed with the same certificate otherwise Smart App Control will block that process.
C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe

C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe

I solved my problem by turning Smart App Control off.


Redis master-slave mode encounters errors after reaching a certain scale.

Redis master-slave mode encounters errors after reaching a certain scale(RDBfile 60MB+).
slave:
1765:S 25 Sep 2024 18:06:10.296 * Full resync from master: d87a61aa0f144c8837c48ee045de84d72485ab1f:2824627352
1765:S 25 Sep 2024 18:06:10.412 * MASTER <-> REPLICA sync: receiving streamed RDB from master with EOF to disk
1765:S 25 Sep 2024 18:06:10.565 # I/O error trying to sync with MASTER: Connection reset by peer
1765:S 25 Sep 2024 18:06:10.577 * Reconnecting to MASTER <IP_ADDRESS>:6479 after failure
1765:S 25 Sep 2024 18:06:10.582 * MASTER <-> REPLICA sync started
1765:S 25 Sep 2024 18:06:10.586 * Non blocking connect for SYNC fired the event.
1765:S 25 Sep 2024 18:06:10.589 * Master replied to PING, replication can continue...
1765:S 25 Sep 2024 18:06:10.594 * Partial resynchronization not possible (no cached master)
1765:S 25 Sep 2024 18:06:15.556 * Full resync from master: d87a61aa0f144c8837c48ee045de84d72485ab1f:2824845204
1765:S 25 Sep 2024 18:06:15.672 * MASTER <-> REPLICA sync: receiving streamed RDB from master with EOF to disk
1765:S 25 Sep 2024 18:06:15.815 # I/O error trying to sync with MASTER: Connection reset by peer
1765:S 25 Sep 2024 18:06:15.828 * Reconnecting to MASTER <IP_ADDRESS>:6479 after failure
1765:S 25 Sep 2024 18:06:15.833 * MASTER <-> REPLICA sync started
1765:S 25 Sep 2024 18:06:15.836 * Non blocking connect for SYNC fired the event.
1765:S 25 Sep 2024 18:06:15.841 * Master replied to PING, replication can continue...
1765:S 25 Sep 2024 18:06:15.845 * Partial resynchronization not possible (no cached master)

+1 having the same issue. Have tried so many configuration changes but replication is no longer working at all (increase replication log size, replication buffers, tried diskless replication, etc etc etc). Connection to the replica keeps getting lost.  DB is not that large (full sync is 30MB)
Master Log:
[014308] 18 Dec 22:44:21.580 * Replica <IP_ADDRESS>:6379 asks for synchronization
[014308] 18 Dec 22:44:21.581 * Full resync requested by replica <IP_ADDRESS>:6379
[014308] 18 Dec 22:44:21.582 * Delay next BGSAVE for diskless SYNC
[014308] 18 Dec 22:44:26.717 * Starting BGSAVE for SYNC with target: replicas sockets
[014308] 18 Dec 22:44:26.748 * Background RDB transfer started by pid 2084
[014308] 18 Dec 22:44:26.964 # fork operation complete
[014308] 18 Dec 22:44:26.991 # Background transfer error
[014308] 18 Dec 22:44:26.991 # SYNC failed. BGSAVE child returned an error
[014308] 18 Dec 22:44:26.991 * Connection with replica <IP_ADDRESS>:6379 lost.
Replica log:
[008748] 18 Dec 22:44:16.071 * MASTER <-> REPLICA sync started
[008748] 18 Dec 22:44:16.071 * Non blocking connect for SYNC fired the event.
[008748] 18 Dec 22:44:16.071 * Master replied to PING, replication can continue...
[008748] 18 Dec 22:44:16.071 * Partial resynchronization not possible (no cached master)
[008748] 18 Dec 22:44:21.259 * Full resync from master: 24eb1a270e365e170f2ac2a7c1cb458c618cb0f2:4953856
[008748] 18 Dec 22:44:21.466 * MASTER <-> REPLICA sync: receiving streamed RDB from master with EOF to disk
[008748] 18 Dec 22:44:21.547 # I/O error trying to sync with MASTER: Unknown error
[008748] 18 Dec 22:44:21.568 * Reconnecting to MASTER <IP_ADDRESS>:6379 after failure

..Is this a bug that was known/fixed in 7.4.0 from 7.2.5? If yes, safe to swap in the new executables? (same aof/rdb format, etc.?)
Thanks!

please tell me details to reproduce issue,including your conf file,how to run it to raise error?


Missing CHANGELOG

This project is missing a CHANGELOG.md which gives the opportunity to see in a glance what is changed when updating to a new version. Do you think this can be made?

We won't add a CHANGELOG as the bundle is obsolete now.


RelWithDebInfo builds are prevented

Currently, HIP can only be built using Debug or Release cmake build types.  This restriction appears to be arbitrary, resulting only from a check in CMakeLists.txt in order to set a different default installation path for each build type.  For those of us experimenting with HIP modifications, a RelWithDebInfo build is quite useful for quickly obtaining stack trace information should a HIP application crash, while otherwise allowing the experimental build to replace the pre-built HIP installed to /opt/rocm*.
Modifying CMakeLists.txt to set the RelWithDebInfo install path to the same location as Release builds allows cmake to complete and HIP to install with no apparent problems.

HIP can be built using RelWithDebInfo cmake build type and can be installed properly with the recent builds.  This can be verified with Rel 4.1 onwards.


Acceleration is abrupt without any control

Hello,
I am running carla 0.8.4 in Ubuntu16.04 and trying to record the acceleration in a straight lane. At first, the car accelerates to about 90km/h(with full throttle), and then close the controller(send throttle=0.0, brake=0.0, steer=0.0), recording the acceleration, [-0.4492, -0.4349, -0.4372, -0.4395, -0.4412, -0.4420, -7.5128, -7.1190, -6.6138]m/(s^2). It looks abnormal after the 6th data(it should change smoothly in my understanding). Any idea about this?
Thanks!

Hi @feiyangsb, sorry for the late response.
Which is the interval between speeds in seconds?
When the car spawns, is from a few meters high. Maybe this weird data is because the car is falling for a few simulation iterations. Also, the car's engine needs a few more simulation iterations to start.
May this be your problem?

Hi @marcgpuig . Thanks for your reply. I set the fps is 15 and what I did I accelerate the car to 90km/h(which takes some time after the car spawning) and then close the control. I think the car's engine has already started when I  measured the data.

@feiyangsb
So, did you checked that is not an issue related to the spawn height?

@marcgpuig
I measured the data after the car accelerate to 90km/h on the road. In my opinion, it is not related to the spawn height.

Hi @feiyangsb.
In my understanding, the acceleration should not change smoothly.
When you accelerate full throttle, your acceleration is set to a value that will change your velocity smoothly.

Hi @marcgpuig .
Even though that, the deceleration -7.11m/s^2 is unusual when there is no brake and no throttle.

Hello @feiyangsb
The thing is that you have a gear activated on your car's engine, this results on a deceleration.
We are working to provide gear control to change it from the Python API.
Sorry about that!

@feiyangsb
I forgot to say that these changes are currently implemented in #1030, feel free to test that branch and see if your problem persists.


Update individual beacons directly

Do not use tryMulticall. See: https://api3workspace.slack.com/archives/C05TQPT7PNJ/p1713434599386719

I was busy with the migration outage while writing to that thread. There are two options with the gas limit, either don't estimate it at all and omit it in the transaction (so that ethers does it under the hood), or do it explicitly. When we do it explicitly, we can just estimate it and use it exactly, we wouldn't need the multicall-tryMulticall trick or the 1.1 multiplier.

There are two options with the gas limit, either don't estimate it at all and omit it in the transaction (so that ethers does it under the hood), or do it explicitly.

Yes, that's basically what I was asking.

When we do it explicitly, we can just estimate it and use it exactly, we wouldn't need the multicall-tryMulticall trick or the 1.1 multiplier.

So that's basically what you're saying in the thread. I am not sure what you mean by your comment. Is it just for additional clarity?


Add fmt to base.yaml

Description
I would like to add fmtlib/fmt package to base.yaml.
It is an efficient formatting library for C++, and will be C++20 std::format.
arch: https://www.archlinux.org/packages/extra/x86_64/fmt/
debian: https://packages.debian.org/buster/libfmt-dev
fedora: https://fedora.pkgs.org/31/fedora-x86_64/fmt-devel-5.3.0-2.fc31.x86_64.rpm.html
gentoo: https://packages.gentoo.org/packages/dev-libs/libfmt
ubuntu: https://packages.ubuntu.com/bionic/libfmt-dev
We can implicitly use fmt if we depend on rosfmt which is a rosconsole extension using fmt.
However, I would like to directly depend on fmt when we don't use rosfmt features.

@xqms Moving forward can we switch rosfmt to not be a wrapper but depend on the system installation? And will this collide with rosfmt which seems to be targeting older platforms.

@tfoote Using the system libfmt would be nice, yes. However, fmt is not available on Ubuntu 16.04 and is outdated on Ubuntu 18.04 (version 4.0.0 vs. 6.0.0 as integrated in rosfmt). Between 4.0 and 6.0 many interesting features were added:

std::chrono formatting
colored output
locale-independent float formatting
and a large number of critical fixes.

I would definitely prefer to stay with a fixed internal version of fmt 6.0.0 for rosfmt.
So far, I haven't seen any conflicts with a system installation of fmt, so this PR should not cause problems with rosfmt as it is now.

Thanks for the update @xqms I'll merge this then if there won't be conflicts.