implement mesh instancing

Currently each instanced maya shape is exported as a new mesh. Most code should be in place to deal with instances.

I have some test scenes for instancing in this repository
I will first test these again to check if these still work.

Indeed, mesh instancing doesn't seem to work. But it should work, so this is a bug.

Ah, no,  this is not yet implemented, the comment says why
    // TODO: Support instancing, for now we create a new mesh for each node.
    // To properly support instance, we need to decide what to do with shapes
    // that are both with and without a skeleton Do we generate two meshes, with
    // and without skinning vertex attributes?
    ExportableMesh(ExportableScene &scene, ExportableNode &node,
                   const MDagPath &shapeDagPath);

Bummer, I forgot about this...
This is a very important feature, and should be implemented.
That being said, do you think this plugin is still relevant? The BabylonJS team is much larger and has made their own plugin...

Maybe the easiest approach is hashing the vertex element buffers, and what buffers a mesh uses. If all buffers are the same, then instance it. This solves the issue with weights etc... The mesh name could also be considered to avoid different Maya meshes to become instances.
As a first step, the element buffers should always be shared if possible, since these are read-only by definition I guess, so it doesn't make sense to store these twice...

Maybe the easiest approach is hashing the vertex element buffers, and what buffers a mesh uses. If all buffers are the same, then instance it. This solves the issue with weights etc... The mesh name could also be considered to avoid different Maya meshes to become instances.
As a first step, the element buffers should always be shared if possible, since these are read-only by definition I guess, so it doesn't make sense to store these twice...

Actually no. The problem is much more trivial. You can just query Maya if the shape is instanced and if it is you can also find the other instances (and e.g. the master instance - which Maya doesn't really have; instancing is just the same mesh shape parented under multiple transforms).
Thus, with instancing in Maya you can't have one mesh being skinned and the other not being skinned if they were supposed to actual instances - because any case where the shape node differs is basically not an instance.
Regarding BabylonJS. I haven't used the exporter yet but only read through the docs. Because it first goes through the Babylon engine for conversion it felt bloated and limited to what the engine supports at best. Could be decent enough for most use cases however. Hard to tell whether it's worth dropping this particular plugin. If this one isn't being maintained I can see how the other could outrun it.
I was thinking of maybe rewriting this full exporter with the Maya python API just because I feel Maya users are more familiar in that area and it being Python it might get more development support. (But I just don't use it enough for work to warrant spending so much time getting that involved.)

That could work, but Maya also supports transform instances, not just shapes, something GLTF doesn't support. So basically any transform can have any number of parents in Maya, that's how they do instances. So extra logic will be needed I guess. But possible
The problem is that it is possible in Maya (as far as I remember) to have a mesh that is skinned, and other instance that isn't, and in GLTF, that can't be the same mesh, so instancing can't work in that case. But the accessors can be the same, and hence on the GPU, the same buffers could be re-used.
No this plugin isn't really maintained, but I try to help out people with requests, and like to work on it in my free time. But it is not actively used by the original company/sponsor anymore (they switched to Unity3D and FBX). Personally I'm unfortunately not doing any 3D coding anymore.
Rewriting in Python might be a good idea, but I won't be able to help with that, I just hate Python, any untyped language for that matter 😉


Blender: one-direction extrude

Blender's built-in extrude thickens the shape in two directions. We need a way to extrude in only one direction normal to a face.

Blender's docs on Extrude explain the behaviour and implementation in more detail for reference: https://docs.blender.org/manual/en/latest/modeling/meshes/editing/duplicating/extrude.html
This stackoverflow post has code for the API with a simple cube face extrusion example: https://stackoverflow.com/questions/37808840/selecting-a-face-and-extruding-a-cube-in-blender-via-python-api

I was thinking a decent solution is to internally duplicate the face, translate it the extrude length along the normal vector, and loft the two surfaces using our existing loft method. The trickiest part here is to translate along the normal vector imo.

This thread has the formulas for calculating a normal based on the face data using vector crossproduct and vector subtraction: https://blenderartists.org/t/getting-face-normals-from-python/309648
It also seems you are correct that the API doesn't provide access to them...

@patchworquill Thanks for the reference, it helped! We can now project a face a certain distance away normal to another face. There is still a bug with rotated faces - I need to find the translation component due to rotation and add that to the translation vector before projecting it normal to the source face:


Move struct data inside struct class

This PR avoids malloc-ing seperate memory for copyable struct data by moving the data inside the class. This should increase performance a bit. It may be possible to further increase performance by converting the class into a struct, but I currently haven't tested this.

It may be possible to further increase performance by converting the class into a struct, but I currently haven't tested this.
Or rather, it will most likely work but there are probably users who wrote code in a way that's assuming you can just copy the reference and it will stay the same object.


Default disable session log recording

Description
Session log recording is only available post 15.3.0. Disable by default, and hide from config menu.
Primary reviewers
@mironec @improbable-dmitrii

Do we want to update the pinned runtime version, too?

No for now USI etc. are experimental features. When we're ready to remove QBI support fully, we can update the pinned version.

CI says "LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module."

Do we want to update the pinned runtime version, too?

No for now USI etc. are experimental features. When we're ready to remove QBI support fully, we can update the pinned version.

Is there a version that supports session log recording but does not include USI? Unless we update the pinned version, no one will be able to record session logs even if they enable the config flag.

Is there a version that supports session log recording but does not include USI? Unless we update the pinned version, no one will be able to record session logs even if they enable the config flag.

Yes any official version post 15.3 will support session log recording. And if you can record session logs if you set a custom bundle locally.


Last alpha's scrolling is more laggy

Previous version:
https://www.youtube.com/watch?v=gYwD8X5nXS8&feature=youtu.be (see only the scrolling, the visualizer lag was fixed)
New version <IP_ADDRESS> (and .1)
https://youtu.be/gub3Qx4En-k (the scrolling lag is back and is way less smooth)
I posted this issue https://github.com/Kapiainen/Lauhdutin/issues/31 because it was laggy in a previous version. You fixed it and it worked perfectly, but looks like it's back. Also the scrolling itself feels less smooth. I'm doing the same movement, it gets stuck at the beginning and lags

Good catch. Should be fixed in 2.7.0 alpha 4. Using a hover animation will still cause visualizers to lag, but I'm not sure if there is anything that can be done about that.

Thanks! As the scrolling goes from game to game and isn't as precise as in a web, for instance, you could just the hover image that follows the mouse depending where it is. So there would only have to load it once. For example, you put your mouse over Doom, so you have that dark image with the play icon over it, but as you're scrolling and there's not even time to see the animation, just don't load it. Once you've stopped scrolling, start the animation onto whatever game the mouse is
I don't know if it's possible, just an idea. And sorry about my english, I'm not native

The animations don't even play while scrolling at the moment, if the mouse cursor doesn't move. However, if you quickly hover the mouse cursor over multiple slots, then you'll see e.g. visualizers lagging out.

I've been working on a major overhaul of the GUI and the issue with animations lagging out other skins should be reduced by quite a bit in the next alpha version, which I will probably be releasing in a day or two after some internal testing.

Thanks! You're an amazing developer

Thanks, I appreciate that. Alpha 5 is out.


Question: AzureFileCopy set different destination filename

Required Information
Entering this information will route you directly to the right team and expedite traction.
Question, Bug, or Feature?
Type: Question
Enter Task Name: AzureFileCopy
Environment

Server - Azure Pipelines
Agent - Private:

Issue Description
Is there an option or variabele on the Azure File Copy task to specify a different output filename??

No, there is no option to specify different filename after copy to destination folder.

Closing this issue, feel free to reopen if you have further queries


feat: make rafiki admin auth optional

Changes proposed in this pull request

While auth is enabled by deafult, you can now run Rafiki Admin without auth.
Included another docker-compose to include auth changes and provided a new command in package.json.

Context

Fixes #2806
Checklist

[x] Related issues linked using fixes #number
[ ] Tests added/updated
[ ] Documentation added
[ ] Make sure that all checks pass
[ ] Bruno collection updated

I assume I should remove all auth stuff from the localenv README then? No mention of Kratos, or mailslurper etc. Change the architecture diagram etc.?

@melissahenderson and @brad-dow please just have a look at the README updates. Is it still okay to publish these while we're on a docs hold?
Also note, we'll need these changes reflected in the Local Playground, and Rafiki Admin docs when they're updated as well.

A lot of the changes are repeated because I consolidated all the new logic from the redirect functions into a single checkAuthAndRedirect function in packages/frontend/app/lib/kratos_checks.server.ts.

@JoblersTune (and @brad-dow) I think it's OK to push the changes to the README since it's outside of /documentation, but it's probably best for @huijing to chime in. I made the doc-freeze announcement yesterday on her recommendation. The writers have an action item to discuss all the READMEs during the work week. I'll make a note to ensure we cover the local playground and Rafiki Admin as well.

I say go ahead and merge this. When the README discussion happens, we make sure all agree which bits we remove (if at all, because I don't really foresee major changes to the READMEs, maybe just tweaking of wording here and there)


Texture2D.get_size() now returns Vector2i instead of Vector2

Current Texture2D.get_size() returns Vector2 but the height and width both are integer value so converting its return type to Vector2i.
fixes #66727

Needs to say "Closes" for it to link to the issue properly

Doesn't compile:
 editor/plugins/canvas_item_editor_plugin.cpp: In member function 'void CanvasItemEditor::_draw_selection()':
editor/plugins/canvas_item_editor_plugin.cpp:3387:70: error: 'struct Vector2i' has no member named 'floor'
 3387 |     viewport->draw_texture(pivot_icon, -(pivot_icon->get_size() / 2).floor());
      |                                                                      ^~~~~

You need to review all places where get_size() is used to make sure that it's properly handled as Vector2i/Size2i and would not lead to unexpected truncation (e.g. get_size() / 2 could now return unexpected results as it will perform an integer division).

I know this is generally an improvement for consistency, but there's so many get_size() / 2 in the code that it makes me wonder if all the casting from int to float is worth it

Yes this is a pretty complex task, not as simple as it seems initially.
I would leave it to maintainers to decide if and how this should be done. As @Mickeon mentions there are significant implications to changing this type and if not done properly, this might create a lot of bugs with implicit conversions and truncations.


Push new release to Rubygems.org?

Hey guys. First of all, thanks for this gem–it's super helpful.
I wanted to nudge you guys towards pushing a new version to Rubygems.org. I just spent the better part of an hour banging my head on the keyboard trying to figure out why ISO3166.configuration.enable_currency_extension! (as documented in the README) was returning a NoMethodError and finally figured out that it was because that method was added in July but there hasn't been a new release pushed to Rubygems.org since February.
Obviously I can pull the gem from master here, but hopefully a version bump will prevent others from sharing my experience. Thanks again!

Sure thing.

Cut version 2.2

Thanks!


DBZ-1722 (Testcontainers)

https://issues.redhat.com/browse/DBZ-1722
Supersedes #1209.

@gunnarmorling "Testcontainers", no capital "C" ;)

"Testcontainers", no capital "C" ;)

What, no "Binnenmajuskel"? What are you people, monsters? 😀
Thanks for pointing it out, fixed 👍 .

@gunnarmorling for the record, I was in the "capital C" camp :D
But there is only one correct name - the one @rnorth gave when he created the project (although there is an evidence of capital Cs used by Richard 😂 )
Oh well, at least we all agree that there is no singular "Testcontainer" 💀
Thanks for fixing 👍

Haha, yes, I can relate to that very much. You wouldn't believe the many ways of spelling "Red Hat" incorrectly...

@gunnarmorling wait... there is a space? 😂 #kidding

Exactly. A kitten gets sacrificed by the brands team each time the " " is omitted ;)

Yeah... okay, to conclude our beautiful off-topic: "Redhat" and "Test Containers", right? 😂

LOL, right, ahaha ;)

🎉  Applied; thanks again, @lordofthejars and @bsideup!

Thanks for make it possible.


Add string comparison condition to builtin provider

It will help extract text from the document and compare it with a value/regex, returning a violation on match.

@shawn-hurley agreed. removed myself from the assignees

After taking a look at the current code, I think this can be already achieved using the filecontent condition in the builtin provider

Hi. I'd like to work on this issue. Can you point me to the relevant file in the codebase?


[openal-soft] Fixes windows arm/arm64 build on vs2019

Should fix https://github.com/Microsoft/vcpkg/issues/5731.
Changed from ninja to msbuild (since it seems to be impossible to separate native-tools and openal-soft itself and use different toolchain with ninja), it might be a breaking change.
Tested on VS2019 16.0.1, with Spectre libraries installed.

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

Thanks for the fix, @driver1998!


Next.js public export

Hi, I attempted to deploy a next.js app. Getting this error:

The app build failed to produce artifact folder: '/web/out'. Please ensure this property is configured correctly in your workflow file."

The /web/out folder is the default folder for next export. What does the error mean? It's not clear to me. I assume app_artifact_location should be the output of the next export - is this correct?
My next.js app is in the /web folder.
  - name: Build And Deploy
      id: builddeploy
      uses<EMAIL_ADDRESS>      with:
        azure_static_web_apps_api_token: ${{ secrets.MYTOKEN }}
        repo_token: ${{ secrets.GITHUB_TOKEN }}
        action: 'upload'
        app_location: '/web'
        api_location: 'api'
        app_artifact_location: '/web/out'

I might have fixed it.
My scenario was that I edited the app_artifact_location in the workflow file after creating the resource in Azure. It seems like Azure does not understand/honor the changes I made to the app_artifact_location.
After I recreated the resource in Azure matching my workflow settings, the deploy started working again.

Ok, it might be just that the app_artifact_location is relative to the app_location folder. Maybe add that to the docs, if true?

Hi @johnkors
Please check out this doc: https://docs.microsoft.com/en-us/azure/static-web-apps/github-actions-workflow#build-and-deploy
"Location of the build output directory relative to the app_location"

Thanks!


Support Raspberry Pi RP-400

It seems that the current RPI64 recipe doesn't boot in RP-400 with Debian Bookworm suite (the bulleye suite throws an error).  Has anyone figured out the correct kernel, bootloader and u-boot versions to support this device?

@andhe Thanks for figuring the issue with RPI3Bplus. Wonder if you have any insights with this one? Thanks

I'm pretty sure the bookworm u-boot-rpi package does not have the patch required on newer rpi4 models (and possibly rpi400?) that modifies the devicetree at boot depending on what the bootloader says. (Apparently they made incompatible hardware changes without changing the model name.)
There was multiple attempts at sending patches upstream at the time, here's one of them:
https://lists.denx.de/pipermail/u-boot/2022-October/498498.html
Not sure if anything eventually landed and is available in a newvwr version. Also not sure if the rpi400 has the same problem.

Thank you @andhe Rebuilding again Debian Sid/Unstable helped boot the OS.


Add further namings from wikipedia

https://en.wikipedia.org/wiki/Chord_names_and_symbols_(popular_music)#Chord_quality

Also note that C2 could in theory mean two different chords.

Fixed


Fix incorrect conceptual links.

Docs Build status updates of commit 899e505:
:clock10: Full build: the average full build time is 141 min(s) 17 sec(s), this is based on the last 85 build(s) for this repository.

Docs Build status updates of commit 899e505:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-services/virtualmachines.md
:white_check_mark:Succeeded
View (azure-python)

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


Custom templates and a few small issues

First of all, I want to thank @mikaelcom and all contributors for creating such an amazing and powerful library. I couldn't find library that would have same amount of features (simple types, enums, automatic inheritance, etc 😍 ).
This library's parser is the best.
However, I find imperfect some of the parts of the generated code:

Code duplication among all of the Enum classes. I think some methods should be moved to the superclass;
Same for the "__set_state" and "__toString" methods of the Struct classes;
The general concept of the Service classes is weird. Why do we actually need the "getResult" and "setResult" methods? Why do all services share the same SoapClient? I can reset it, but I have to use several different Services at a time and I don't want to reset them.

I understand that this is only my subjective opinion and probably should not be taken into account while developing the library. But I would not struggle with this if I could customize what code is being generated.
I've tried diving into the source code of this library, but the called classes are hardcoded at each other so I couldn't customize anything.
I am excited by this library's parser. I was excited https://github.com/phpro/soap-client 's customization possibilities. The PHP world would become much better if there was a hybrid of these two libraries,

Thanks for such a interesting feedback and thanks for bringing to my attention the phpro/soap-client project which I did not know until now. I must admit this project is way more high level than mine, I'll have to try it by myself.
I know that the code generation is not perfect and that it can be tough to go through even if it has been improved since the very first version of the generator, it takes time to reach perfection...
I'm open to improve this project but I don't think it can be "leveled" up to the same level of customization proposed by the phpro/soap-client project. Nevertheless, improvements can be implemented iteratively if these improvements are detailed as precise as possible.
If you have precise improvements in mind that could both avoid you from struggling and be implemented quickly, feel free to fire some issues detailing your thought. I don't say I'll implement all your enquiries without explanation but I'll try to keep an open mind as much as possible.

I think I'll create a few pull requests when I have enough time to dive deep into the library's code, probably in the next two weeks.

a new release has been created and provide a way to use the parsed data independently from the file generation, this is certainly a good starting point to start from in order to refactor the file generation (and even in order to add new programming languages to the package generation if you see what I mean 😉 )

Very good news, thank you!
Will try out soon. Hope I'll have a time for PR's.
9 авг. 2017 г. 14:16 пользователь "Mikaël DELSOL"<EMAIL_ADDRESS>написал:

a new release has been created and provide a way to use the parsed data
independently from the file generation, this is certainly a good starting
point to start from in order to refactor the file generation (and even in
order to add new programming languages to the package generation if you see
what I mean 😉 )
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/WsdlToPhp/PackageGenerator/issues/97#issuecomment-321214701,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABmbUfZPGFP1wdhTT8EvE4KW5SJoEWOsks5sWYcBgaJpZM4OC23E
.

Hi there,
I would be very glad if you had time to create some pull request(s) but as I updated the CONTRIBUTING.md file, you should first create an issue in order to contextualize your PR.
As I would really like to make this project still evolve, feel free to first create new issues, as atomic as possible, so maybe I could work on them depending on their content or we could start discussing about the improvements you'd like to see being implemented,
thx

Just to update this topic, I just tried the https://github.com/phpro/soap-client project and even if the code is exciting, using it and looking to what it generates kind of suprised me in a wrong way (without talking about the sample config that breaks).
All I can say is that the 3.x release of this actual project is in preparation and will contain real BCs in order to stay up to date to PHP features as it will also take into account your feedback and the new findings I found so far. The only downside is that it will start not before March 2018
Be patient and stay tuned 😃


prelude: typed failures in Result

I'm working on porting kyo-core to kyo-prelude and part of the change introduces typed error handling for fibers. This PR makes Result a low-allocation mix of Either and Try to use it in fiber completions.

I've also changed Abort.run to return Result and catch unexpected exceptions to Result.panic.


Support for flutter web

I am using the frodo Dart/Flutter generator. I have a flutter app working on native platforms, but I'm getting this error when using flutter web: Unsupported operation: Platform._version. After a little investigation it appears this is occurring because  the native Dart HttpClient is not support on web. There are third party packages, such as dio, which work for web. Are you considering supporting Flutter for web?

Thanks for uncovering that. Yeah, when I added flutter support, version 2.0 was a few weeks old so I hadn't poked around with it yet. I didn't realize that they wouldn't support the default HTTP client in web builds.
For the clients on non-Go languages, I'm trying to stick as close to the standard library as possible so that you're not forced to include extra dependencies just to talk to your backend services. In this case, however, it seems like it might be a necessity in the Flutter 2.0 world. All that to say, I like the idea of making sure that the flutter clients work on web build. I just have 2 thoughts about how to do it:

Which HTTP library should I used in the client? You suggested Dio which seems to be the most popular 3rd party option, but there's also the http package which is actually maintained by the Dart team, so fits more with the "stay closer to the standard library" approach I've tried to take. It sounds like Dio absolutely works in the web world, but I don't know if http does.
I'd probably just modify the existing client template for dart/flutter to use http/Dio rather than making a new template. While it does mean that rebuilding your Flutter client could break existing apps that don't import that package, I think the number of affected people would be low since this library's not that popular. But I think it would be worth it to ensure that the one and only "build a flutter client" command works for mobile and web versions of flutter.


infnoise won't run without increased privileges

Any way to make infnoise run as a regular user without sudo? The less we need sudo, the better.

Yes.  In Ubuntu, add some access rules in udev, and add the user to a
group.  I'll document this this week
On Jan 20, 2015 5:07 AM, "Stewart C. Russell"<EMAIL_ADDRESS>wrote:

Any way to make infnoise run as a regular user without sudo? The less we
need sudo, the better.
—
Reply to this email directly or view it on GitHub
https://github.com/waywardgeek/infnoise/issues/2.

There are ways to do this.  here is what I did.
Add a group called infnoise.  Add the user you want to see the device to the infnoise group.
$ sudo groupadd infnoise
$ sudo usermod -a -G infnoise myid

Create a udev rule.
$ sudo vi /etc/udev/rules.d/70-infnoise.rules
SUBSYSTEMS=="usb", ATTRS{product}=="Infinite Noise TRNG", GROUP="infnoise"

Restart udevd.  On Fedora, I think you can get away with this by running the following.
$ sudo systemctl restart systemd-udevd

Frankly, I cheated and just rebooted.

I think the udev rules work OK now.  Please re-open if there are still issues.


Add Google Analytics to Openverse site?

Problem
Hi! We're adding Google Analytics to the entire ecosystem of WordPress.org sites and would like to add it to Openverse too if you're keen.
Description
We manage Google Analytics through Google tag manager. We have quite a few scripts there to make sure we don't store any personally identifiable information in GA, so we've centralized all that. You can simply add Google tag manager similarly to how that's done on WordPress.org sites, for instance like this or like this. Don't forget to add the noscript line too, like so.
Alternatives
I've seen discussions around using Plausible, while that's a great product (I've done some patches to their WordPress plugin myself), we're standardizing everything else on Google Analytics and it might be easier to just follow along with that.
Additional context
Note that if you have any cookie / privacy pages they might need updating after this change. See this pull on wordpress.org for the changes we'll be making there.

We chose Plausible as a general purpose analytics solution that we could use for other services as well, not just our frontend. In the course of planning that work we intentionally decided not to use GA for privacy reasons. One of the criteria of that project was that we would use a privacy conscious analytics option.
@WordPress/openverse-frontend, especially @zackkrida and @dhruvkb will be best equipped to advise on how to approach this. Personally I would prefer we did not switch to GA:

GA has a host of significant privacy problems that conflict with the values of the WordPress project, in my opinion, and if not, then at least with the values of the Openverse maintainers
GA's scripts are significantly larger than Plausible or other alternatives and from a low-spec device accessibility standpoint, I firmly believe GA is a worse choice, even if it didn't have the issues with privacy.
We cannot self-host Google Analytics, which means we do not control the service or the data, which is antithetical to WordPress's values, in my understanding of them (according to WordPress's features list).
Plausible is fellow FOSS project and is AGPL licensed, and shares many values in that regard with WordPress, which are not true of Google Analytics. Paying them for their cloud service means we are feeding back into a diverse FOSS ecosystem of GA alternatives.

We use Plausible for custom events as well and have already worked it into our workflow. If we added GA on top of Plausible, it would hurt our users from a performance perspective and from a privacy perspective. If we switched exclusively to GA, we would need to revisit our approach to custom events and retrain maintainers on GA (who've already spent considerable time learning about Plausible). This on top of our other existing priorities for the year.
To be clear, this is just my own view of the matter. I am sharing my own person view on this. None of this is shared on behalf of the other Openverse maintainers nor should be taken to represent anyone else's view on the matter.

Our use of Plausible for over a year has met our needs well and aligns with the values of the Openverse, and broader WordPress, projects. In that time we've met various requests for analytics information about Openverse and will continue to do so.


Move groupshelp command up a line

This is kind of a standard throughout PS commands - the help commands don't skip a new line from the command that they're the help command to.

Explains what the + % @ # & next to people's names mean.

So it doesn't explain ~ ?

You might as well fix it for stathelp while you're at it.

You might as well fix it for stathelp while you're at it.

Er, what? Where is that, exactly? :|

Three commands up.

ohh, statcalchelp

Updated


Duplicated points in VoronoiDiagram.cells

I'm trying to constructs polygons for each cell, but often the list inside VoronoiDiagram.cells contains duplicated points.
For example:
#[test]
fn duplicated_points(){
    use std::collections::HashSet;
    let points =   [(2520.0, 856.0), (794.0, 66.0), (974.0, 446.0)];
    let voronoi = VoronoiDiagram::from_tuple( &(0.0, 0.0), &(2560.0, 2560.0), &points).unwrap();

    for cell_vertices in &voronoi.cells {
        {
            let expected = cell_vertices.len();
            let actual = cell_vertices
                .iter()
                .map(|n| format!("{:?}", n))
                .collect::<HashSet<String>>()
                .len();
            println!(" {} != {}", expected, actual);
            println!(
                "{}",
                cell_vertices
                    .iter()
                    .map(|n| format!("{:?}", n))
                    .collect::<String>()
            );
            assert!( expected == actual)
        }
    }
}

---- duplicated_points stdout ----
 6 != 4
[1919.6455368693403, 0][2560, 0][2560, 2560][1240.7322121604138, 2560][1240.7322121604138, 2560][1919.6455368693403, 0]
thread 'duplicated_points' panicked at 'assertion failed: expected == actual', tests/delaunator.rs:144:13

Hello davideGiovannini, thanks for pointing this out. I will investigate what is wrong and push a patch whenever I find the solution.

Has this been fixed yet?


dl-librescore: 0.35.17 -> 0.35.20

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/LibreScore/dl-librescore/releases.
meta.description for dl-librescore is: Download sheet music
meta.homepage for dl-librescore is: https://github.com/LibreScore/dl-librescore
Updates performed

NPM version update

To inspect upstream changes

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.35.20 with grep in /nix/store/abyzwbvn36bxs0lz51s1xwl8x0pm8jd1-dl-librescore-0.35.20
found 0.35.20 in filename of file in /nix/store/abyzwbvn36bxs0lz51s1xwl8x0pm8jd1-dl-librescore-0.35.20

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

dl-librescore

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/abyzwbvn36bxs0lz51s1xwl8x0pm8jd1-dl-librescore-0.35.20 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A dl-librescore https://github.com/r-ryantm/nixpkgs/archive/5d83ea3b9d4fe5226a9ac743ec0e5937db9d3835.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/5d83ea3b9d4fe5226a9ac743ec0e5937db9d3835#dl-librescore

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/abyzwbvn36bxs0lz51s1xwl8x0pm8jd1-dl-librescore-0.35.20
ls -la /nix/store/abyzwbvn36bxs0lz51s1xwl8x0pm8jd1-dl-librescore-0.35.20/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 1 package built:

dl-librescore

Maintainer pings

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 363450

aarch64-darwin

:white_check_mark: 1 package built:

dl-librescore


Memory issue of kvrocks2redis detected by ASan/TSan

Search before asking

[X] I had searched in the issues and found no similar issues.

Motivation
Currently, the Kvrocks2redis CI fails with TSAN/ASAN or in macos env. An example for this: https://github.com/Zakelly/kvrocks/actions/runs/8344973371/job/22838786340
The value mismatch in destination redis server. More investigation is needed.
Solution
No response
Are you willing to submit a PR?

[ ] I'm willing to submit a PR!

Thank you @Zakelly !
The action log will be deleted by GitHub after some days. Can you download the log file and upload?

@jihuayu  Sure thing. Log attached.
logs_21881009491.zip

IMHO we should spend some time on investigating this issue and find a solution before next release. cc @git-hulk

@git-hulk I may take some time to investigate this after resolving #2253, and it'd be great if other guys would like to dive deep into this issue.

@PragmaTwice I may take some time to investigate this after resolving #2253, and it'd be great if other guys would like to dive deep into this issue.

I think this issue is related to https://github.com/apache/kvrocks/issues/1988 which makes kvrocks2redis crash.
It is important to keep kvrocks2redis usable, without crashing.

@PragmaTwice I may take some time to investigate this after resolving #2253, and it'd be great if other guys would like to dive deep into this issue.
@git-hulk
Hi, have you started studying this core? If not I kind of want to try it.

@AntiTopQuark Not yet, thank you!

@Zakelly Hi, I've investigated this issue and successfully reproduced it on my computer.
I suspect it's not a memory issue, but rather that compiling with ASAN and TSAN significantly impacts the performance of kvrocks2redis. This leads to slower data synchronization in kvrocks2redis.
And a simple sleep(0.02)(url)  in the check_consistency.py test script might not give Redis enough time to sync the corresponding results, resulting in execution errors.
As shown in the diagram below, although the test failed, the corresponding keys and values can still be found in Redis afterward.

Or we can try to make the test script sleep longer?

@Zakelly Hi, I've investigated this issue and successfully reproduced it on my computer.
I suspect it's not a memory issue, but rather that compiling with ASAN and TSAN significantly impacts the performance of kvrocks2redis. This leads to slower data synchronization in kvrocks2redis.
And a simple sleep(0.02)(url) in the check_consistency.py test script might not give Redis enough time to sync the corresponding results, resulting in execution errors.
As shown in the diagram below, although the test failed, the corresponding keys and values can still be found in Redis afterward.
Or we can try to make the test script sleep longer?

cc @git-hulk

@AntiTopQuark Thanks for your great investigation. Can we relax the check condition? like check it N times with a fixed interval and return once it's passed. cc @PragmaTwice What do you think?

Yeah we can adjust 0.02 to see if it works.

Happy to see the great investigation! Thanks @AntiTopQuark


Macro product not found for <ResolvedModule: EnumeratorMacro, macro, tools> - "Please file a bug"

Is it reproducible with SwiftPM command-line tools: swift build, swift test, swift package etc?

[x] Confirmed reproduction steps with SwiftPM CLI. The description text must include reproduction steps with either of command-line SwiftPM commands, swift build, swift test, swift package etc.

Description
Having this error in swift-nightly-main Linux CI in GitHub Actions:
https://github.com/MahdiBM/enumerator-macro/actions/runs/9876336018/job/27275162720
Expected behavior
Don't ask me to file a bug report 😛
Actual behavior
Asks me to file a bug report :(
Steps to reproduce
Use this revision of the package, and probably try to build (possibly with --build-tests). Maybe in Docker on the official Swift 6 nightly images.
Swift Package Manager version/commit hash
The one bundled with the official Docker image.
Swift & OS version (output of swift --version ; uname -a)
swiftlang/swift:nightly-6.0-jammy@sha256:217ac222c050a33050f99326383bb5b0bdf4ef6b33d176d91ef6cc8c0b55dcb1 official Docker image.

This isn't reproducible with latest snapshots on either branch.
Logs from main:
Digest: sha256:023b899991337ca77acf13fb78c26eba07169a9d270215efbce30e91f9ca03e0
Status: Downloaded newer image for swiftlang/swift:nightly-jammy
docker.io/swiftlang/swift:nightly-jammy
################################################################
#                                                              #
# Swift Nightly Docker Image                                   #
# Tag: swift-DEVELOPMENT-SNAPSHOT-2024-07-15-a                 #
#                                                              #
################################################################
root@9d4df6c10599:~# git clone https://github.com/MahdiBM/enumerator-macro && cd enumerator-macro
Cloning into 'enumerator-macro'...
remote: Enumerating objects: 840, done.
remote: Counting objects: 100% (256/256), done.
remote: Compressing objects: 100% (178/178), done.
remote: Total 840 (delta 140), reused 140 (delta 67), pack-reused 584
Receiving objects: 100% (840/840), 162.40 KiB | 9.55 MiB/s, done.
Resolving deltas: 100% (453/453), done.
root@9d4df6c10599:~/enumerator-macro# swift build --build-tests
Fetching https://github.com/hummingbird-project/swift-mustache
Fetching https://github.com/swiftlang/swift-syntax
Fetched https://github.com/hummingbird-project/swift-mustache from cache (2.43s)
Fetched https://github.com/swiftlang/swift-syntax from cache (2.44s)
Creating working copy for https://github.com/hummingbird-project/swift-mustache
Working copy of https://github.com/hummingbird-project/swift-mustache resolved at 2.0.0-beta.2
Creating working copy for https://github.com/swiftlang/swift-syntax
Working copy of https://github.com/swiftlang/swift-syntax resolved at 510.0.2
Building for debugging...
/root/enumerator-macro/Sources/EnumeratorMacroImpl/Types/EParameters.swift:42:34: warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
40 |                 .enumerated()
41 |                 .map { idx, element in
42 |                     element.name ?? "param\(idx + 1)"
   |                                  `- warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
43 |                 }
44 |             let array = EArray(underlying: names)

/root/enumerator-macro/Sources/EnumeratorMacroImpl/Types/EParameters.swift:54:35: warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
52 |                 .enumerated()
53 |                 .map { idx, element in
54 |                     (element.name ?? "param\(idx + 1)") + ": " + element.type
   |                                   `- warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
55 |                 }
56 |             let array = EArray(underlying: namesAndTypes)

/root/enumerator-macro/Sources/EnumeratorMacroImpl/Types/EParameters.swift:65:39: warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
63 |                     .enumerated()
64 |                     .map { idx, element in
65 |                         (element.name ?? "param\(idx + 1)") + ": " + element.type
   |                                       `- warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
66 |                     }
67 |                 let array = EArray(underlying: namesAndTypes)
/root/enumerator-macro/Sources/EnumeratorMacroImpl/Types/EParameters.swift:42:34: warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
40 |                 .enumerated()
41 |                 .map { idx, element in
42 |                     element.name ?? "param\(idx + 1)"
   |                                  `- warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
43 |                 }
44 |             let array = EArray(underlying: names)

/root/enumerator-macro/Sources/EnumeratorMacroImpl/Types/EParameters.swift:54:35: warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
52 |                 .enumerated()
53 |                 .map { idx, element in
54 |                     (element.name ?? "param\(idx + 1)") + ": " + element.type
   |                                   `- warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
55 |                 }
56 |             let array = EArray(underlying: namesAndTypes)

/root/enumerator-macro/Sources/EnumeratorMacroImpl/Types/EParameters.swift:65:39: warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
63 |                     .enumerated()
64 |                     .map { idx, element in
65 |                         (element.name ?? "param\(idx + 1)") + ": " + element.type
   |                                       `- warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
66 |                     }
67 |                 let array = EArray(underlying: namesAndTypes)
[337/337] Linking EnumeratorMacroPackageTests.xctest
Build complete! (34.42s)

Logs from release/6.0:
Digest: sha256:356128d8d67d726a2f49738917a5580bd45608eb79232d7f088afff4ee6227e6
Status: Downloaded newer image for swiftlang/swift:nightly-6.0-jammy
docker.io/swiftlang/swift:nightly-6.0-jammy
################################################################
#                                                              #
# Swift Nightly Docker Image                                   #
# Tag: swift-6.0-DEVELOPMENT-SNAPSHOT-2024-07-18-a             #
#                                                              #
################################################################
root@ba5d777a1281:/# git clone https://github.com/MahdiBM/enumerator-macro
Cloning into 'enumerator-macro'...
remote: Enumerating objects: 840, done.
remote: Counting objects: 100% (256/256), done.
remote: Compressing objects: 100% (178/178), done.
remote: Total 840 (delta 140), reused 140 (delta 67), pack-reused 584
Receiving objects: 100% (840/840), 162.40 KiB | 7.38 MiB/s, done.
Resolving deltas: 100% (453/453), done.
root@ba5d777a1281:/# cd enumerator-macro/
root@ba5d777a1281:/enumerator-macro# swift build --build-tests
Fetching https://github.com/hummingbird-project/swift-mustache
Fetching https://github.com/swiftlang/swift-syntax
Fetched https://github.com/hummingbird-project/swift-mustache from cache (0.85s)
Fetched https://github.com/swiftlang/swift-syntax from cache (2.38s)
Creating working copy for https://github.com/swiftlang/swift-syntax
Working copy of https://github.com/swiftlang/swift-syntax resolved at 510.0.2
Creating working copy for https://github.com/hummingbird-project/swift-mustache
Working copy of https://github.com/hummingbird-project/swift-mustache resolved at 2.0.0-beta.2
Building for debugging...
/enumerator-macro/Sources/EnumeratorMacroImpl/Types/EParameters.swift:42:34: warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
40 |                 .enumerated()
41 |                 .map { idx, element in
42 |                     element.name ?? "param\(idx + 1)"
   |                                  `- warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
43 |                 }
44 |             let array = EArray(underlying: names)

/enumerator-macro/Sources/EnumeratorMacroImpl/Types/EParameters.swift:54:35: warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
52 |                 .enumerated()
53 |                 .map { idx, element in
54 |                     (element.name ?? "param\(idx + 1)") + ": " + element.type
   |                                   `- warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
55 |                 }
56 |             let array = EArray(underlying: namesAndTypes)

/enumerator-macro/Sources/EnumeratorMacroImpl/Types/EParameters.swift:65:39: warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
63 |                     .enumerated()
64 |                     .map { idx, element in
65 |                         (element.name ?? "param\(idx + 1)") + ": " + element.type
   |                                       `- warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
66 |                     }
67 |                 let array = EArray(underlying: namesAndTypes)
/enumerator-macro/Sources/EnumeratorMacroImpl/Types/EParameters.swift:42:34: warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
40 |                 .enumerated()
41 |                 .map { idx, element in
42 |                     element.name ?? "param\(idx + 1)"
   |                                  `- warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
43 |                 }
44 |             let array = EArray(underlying: names)

/enumerator-macro/Sources/EnumeratorMacroImpl/Types/EParameters.swift:54:35: warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
52 |                 .enumerated()
53 |                 .map { idx, element in
54 |                     (element.name ?? "param\(idx + 1)") + ": " + element.type
   |                                   `- warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
55 |                 }
56 |             let array = EArray(underlying: namesAndTypes)

/enumerator-macro/Sources/EnumeratorMacroImpl/Types/EParameters.swift:65:39: warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
63 |                     .enumerated()
64 |                     .map { idx, element in
65 |                         (element.name ?? "param\(idx + 1)") + ": " + element.type
   |                                       `- warning: left side of nil coalescing operator '??' has non-optional type 'EString', so the right side is never used
66 |                     }
67 |                 let array = EArray(underlying: namesAndTypes)
[337/337] Linking EnumeratorMacroPackageTests.xctest
Build complete! (31.01s)

@MaxDesiatov It doesn't seem like you checked-out the revision I mentioned. The library is under heavy construction so a lot if thing has changed ever since that revision and I do think they have affected the outcome.
Unfortunately I just got my Macbook restarted 2 times trying to run Docker (seems to be a toolchain x macOS Sonoma x Docker issue that i've been having lately), so couldn't try it with Docker, but I think I should be able to re-run the GitHub Actions run.

The bug report only mentions 217ac222c050a33050f99326383bb5b0bdf4ef6b33d176d91ef6cc8c0b55dcb1 revision of swiftlang/swift:nightly-6.0-jammy, which is outdated.

Use this revision of the package, and probably try to build (possibly with --build-tests). Maybe in Docker on the official Swift 6 nightly images.

😅
6952e8897149fc3d57351768debb23041aa90486

The GitHub Actions re-run also failed again with the same error:
  Digest: sha256:023b899991337ca77acf13fb78c26eba07169a9d270215efbce30e91f9ca03e0
  Status: Downloaded newer image for swiftlang/swift:nightly-main-jammy


SimpleChannelPool/FixedChannelPool: Don't put unhealthy channel back to the pool on release

Currently it is required to release channel to the channel pool for FixedChannelPool.
Failure to release a channel may cause that FixedChannelPool.acquiredChannelCount becomes equal or bigger then FixedChannelPool.maxConnections. So basically it means that we have to release back all the channels even those ones that are not healthy, and when channel is released it simply put back into a CimpleChannelPool.deque regardless if it's healthy or not.
Now, on acquire SimpelChannelPool will check if channel is healthy before returning it. If it turns out to be unhealthy then it will discard it and poll the next one from the pool(if there any left in pool) and will continue doing so until it gets healthy channel or until the deque is empty(in which case it will just create a new channel). Though this sort of lazy-discard approach works, I think there is a room for improvement, such as we can filter out unhealthy channels at the time when we release them.

Next time we will try to acquire new channel we will have to cleanup/discard all unhealthy channels first which may take some time depending on number of unhealthy channels.

It also make sense to filter our unhealthy channels on release because in most cases when someone releases a channel he normally doesn't care about release performance. The more critical in my opinion is acquire performance.

@normanmaurer - I recall discussing this when we originally reviewed the pool.  I think your rational was since we have to check the health anyways when we pull out of the pool, and the health check may be expensive (may include RTT), we wanted to minimize the number of health checks done. WDYT?

@Scottmitch yep that was my argument, I may been wrong here and we should kind of make this configurable. WDYT ?

@normanmaurer yes. As this issue describes I think there is value in having the option to check up front too.

Fixed by https://github.com/netty/netty/pull/4078

@Scottmitch Please make sure not to introduce a build breakage when you cherry-pick into 4.0 and 4.1

@trustin - I'm sorry. Will be more careful in the future. Thanks for cleaning up after my mess.

@Scottmitch No worries. I make the same mistake over and over. :-)


Generate a new reset_password_token only when it isn't valid anymore or nil

When you call set_reset_password_token, it will always generate a new reset_password_token.
This can cause some issues:

An user may click twice at the submit button and will receive two emails. One of emails will have an invalid token ( the older one ). This can be "fixed" by disabling the submit button after click with Javascript.
There might be a delay in the email delivery and user will request another reset password email. Again one of the emails will have an old and invalid reset password token. I don't see a viable option to fix this with the current code.

Because of this we get a lot of support requests in our application regarding users that can't reset their password.
Would you be willing to accept a PR that changes set_reset_password_token method to only change reset_password_token value if it's not valid anymore?
If yes, should this be the default and only behavior or something that can be changed using a Devise option?

I disagree because that may change the threat posture in unexpected ways. Generating a new token on request is the correct behavior. Possibly debouncing the request/submit button would be the better solution to the double tap.

I agree, all the token-based flows in fact should regenerate on a subsequent request. I think confirmation currently doesn't do that. Maybe a PR is needed

Hello @fernandomm, thanks for your report.
I agree with @rietta - generating a new token on request is the correct behavior.
I know it's not ideal, but if you need this behavior you can override it in your application's code.
Thank you!


Add z-wave support

Migrate zwave from jeedom to home assistant

Done in commit 1484ced3e1f00dcd119d1f0dbf81e87493a21c5b
Future will be zwave-js

Done in commit 1484ced3e1f00dcd119d1f0dbf81e87493a21c5b
Future will be zwave-js


Add display for TwistStamped

Description
Display for TwistStamped. The source code from WrenchStamped was taken and adapted (wrench->twist, force->linear, torque->angular).

Thanks for this contribution. In general, I support having a TwistStamped display as well, but I don't like the code duplication at all.
Could you refactor both displays to use the very same code base, please? The visual class is generic anyway. The display classes just need to distinguish between the message types, and based on this need to provide different (display) names of some properties. This could be easily achieved with a traits template class.

Ok, will do. Not in the next few weeks though, because I want to focus on my master thesis first.

@rhaschke PTAL. There is now the templated class ScrewDisplay, and the three inheriting classes AccelStampedDisplay, TwistStampedDisplay, and WrenchStampedDisplay. The problem was that the class with Q_OBJECT cannot be templated. But this way there is minimal code duplication.
Now the ABI is not compatible any more. Should I target another branch? If yes, which one?

Merged into noetic-devel via dd1779e78dbb1468fdb11968632fafd5e7a272f2. Thanks for this contribution!

Nice to hear, thanks!


[Bug] UWP: TouchEffect not working

Description
I tested on iOS 14 and it was fine but in UWP nothing works!!!
Steps to Reproduce

create a blank XF UWP app
add this piece of Code

<StackLayout
          Padding="10,5"
          xct:TouchEffect.NormalAnimationDuration="500"
          xct:TouchEffect.NormalBackgroundColor="Green"
          xct:TouchEffect.PressedAnimationDuration="500"
          xct:TouchEffect.PressedBackgroundColor="Red"
          xct:TouchEffect.PressedRotation="10"
          xct:TouchEffect.PressedRotationX="15"
          xct:TouchEffect.PressedRotationY="15"
          xct:TouchEffect.PressedScale="1.2"
          xct:TouchEffect.PressedTranslationX="5"
          xct:TouchEffect.PressedTranslationY="5"
          HorizontalOptions="CenterAndExpand"
          VerticalOptions="CenterAndExpand">
          <Label
              FontSize="60"
              Text="CLICK ME"
              TextColor="Yellow" />
      </StackLayout>

test the UWP version

Basic Information

Version with issue: 1.0.0-preview2497
IDE: VS 16.8.2
Platform Target Frameworks:
iOS: 14.2
UWP:  19041
Affected Devices: Windows PC

Reproduction Link
TouchEffectTest.zip

@mhrastegary77 thanks for your report. But this isn't a bug.
Our minimal version support, for UWP, is 17793 if you update the Min Version, the effects will work.

Thanks @pictos !!! it works perfectly now.
Love the hover option btw @AndreiMisiukevich ❤

@mhrastegary77 good to know. Hope that you are enjoying the XCT!


Looking for a maintainer?

@kenwheeler @shshaw @simeydotme @jamiebuilds
This project is practically abandoned, and I've recently forked it.
My fork includes some new features, including custom builds, and fixes many of the issues present in this repo and others that I've found reading the code. Related issues:

https://github.com/kenwheeler/cash/issues/92
https://github.com/kenwheeler/cash/issues/93
https://github.com/kenwheeler/cash/issues/94
https://github.com/kenwheeler/cash/issues/107
https://github.com/kenwheeler/cash/issues/113
https://github.com/kenwheeler/cash/issues/114
https://github.com/kenwheeler/cash/issues/121
https://github.com/kenwheeler/cash/issues/127
https://github.com/kenwheeler/cash/issues/130
https://github.com/kenwheeler/cash/issues/165
https://github.com/kenwheeler/cash/issues/167
https://github.com/kenwheeler/cash/issues/170
https://github.com/kenwheeler/cash/issues/181

I'm going to use cash in my ui framework, which I've been actively developing and using for the past 4+ years, so I'm going to maintain my fork of cash for the foreseeable future too.
If you guys want me to, I can become a maintainer and keep this repo alive.
What do you think?

I obviously have no real say on this, but I'd love to see some progress in the discussion. I like using Cash in my projects but of course worry when support seems to have died.

I'm very interested in a small jquery alternative for use with React, and would much prefer that this one stays maintained, as it seems very nice and is easily found with google. Improving one package is always better than starting yet another alternative.
@kenwheeler Please consider adding some maintainers (preferably more then one for robustness). @fabiospampinato  seems like a nice first candidate.

Updates

I'm going to wait for a decision until the 7th of June (2 full months after I opened this issue), if there's still no news I'm just going to rename my fork to something else and move on, I want to be able to accept issues in my repo and possibly gain some users.

Clarifications

My fork aims to implement a subset of jQuery, which this repo currently does not (errors on empty collections, $.fn.width/height work differently, event delegation is broken, $.fn.remove not removing events and many more things), basically every implemented individual feature should work the same as jQuery.
My fork is generally more open to adding some new missing methods, since it supports partial builds.
It's cool if there'll be multiple maintainers, but for me to be one of them our design goals must be aligned, I don't want to pivot my fork into something fundamentally different basically (removing methods, removing partial builds etc.).

Apologies for the delay, @fabiospampinato. Thank you for the time you've put into this so far.
I don't have access to give you maintainer rights, but I'll reach out to @kenwheeler. I don't think that either of us have the time or drive to continue maintaining cash as we have both moved away from jQuery-like DOM manipulation in our main projects, but cash doesn't necessarily need to die.
Keep in mind the main goal with cash is to be a super lightweight alternative to jQuery. Feature parity is not essential except where adding a feature (or set of features) will not add considerable bulk. One feature may only add 0.5kb or so, but when you start implementing a ton of features that all add 0.5kb then... you end up with jQuery sizes before you know it.
The partial build support is interesting, especially if that supports tree-shaking within build systems. However there should still be strong consideration of each feature added as I'm sure most people are not doing custom/partial builds of cash and are instead just including the whole library.

@shshaw thanks for your message.

Keep in mind the main goal with cash is to be a super lightweight alternative to jQuery. Feature parity is not essential except where adding a feature (or set of features) will not add considerable bulk.

Feature parity isn't a goal of my fork either, for instance jQuery's $.fn.css method supports being called like so css ( property, function ), which is not something I plan on supporting.
On the other hand I think every feature we say we support should mostly be a drop-in replacement for jQuery's version of that feature. Just to name a few examples where in this repo currently this isn't the case:

cash's $.fn.removeData may actually remove the data attribute, jQuery's just removes the retrieved value from its internal cache.
cash's $().width () throws an error while jQuery's returns undefined.
cash's  $.fn.each|map|filter don't pass arguments in the same order as jQuery's.

I think it's important that cash implements a subset of jQuery, if it starts behaving weirdly (or at least in a way that jQuery doesn't) how can people replace jQuery with cash or even use cash from the start. All this not-so-little differences in behavior often aren't even documented anywhere, I think people simply assume cash's methods work like jQuery's.
There are some exceptions to this though, for instance with jQuery one can write $(':hidden') or $foo.find ( '> .bar' ), I'm not going to import Sizzle or something just to support this.

The partial build support is interesting, especially if that supports tree-shaking within build systems.

Unfortunately it doesn't support tree shaking, a configuration must be written manually instead. For instance this is what a configuration for having only the query selector ($()) available would look like, the returned bundled is 0.7kb minified and gzipped.

However there should still be strong consideration of each feature added as I'm sure most people are not doing custom/partial builds of cash and are instead just including the whole library.

I think one way of addressing the problem could be to implement "large" useful methods, but to disable them in the default build. That being said at the moment there aren't any new methods I'd like to include.
At the moment the current version of cash, minified and gzipped weighs 3758 bytes, mine weights 4391 bytes, I think that's acceptable for all the improvements I made, if it isn't I can try to use fewer bytes or/and disable by default the replaceWith and replaceAll methods or something.

Added as a collab, you're all set

Awesome, thanks!
I'll merge back my commits and close any resolved issues in this repo as soon as I can.

@fabiospampinato I've added you on NPM as well so you can bump the version there.

@shshaw thank you, I'll push an update there, and update the readme shortly.


Field type support for int64

https://contra.io/node-gdal-next/classes/Constants (OFT).html#prop-gdal.OFTInteger
There is no field type OFTInteger64 and OFTInteger64List which gdal has:
https://gdal.org/doxygen/ogr__core_8h.html#a787194bea637faf12d61643124a7c9fc

@warrenwyf We have code for OFTInteger64 here that is enabled on GDAL >= 2.x

So it looks like the gap we have is:

We don't have any code for parsing OFTInteger64List in FeatureFields (OFTInteger64 is handled already)
We don't expose the type constants for OFTInteger64 or OFTInteger64List

@warrenwyf Does solving those two fully address your issue or are there more cases we need to handle?

So it looks like the gap we have is:

We don't have any code for parsing OFTInteger64List in FeatureFields (OFTInteger64 is handled already)
We don't expose the type constants for OFTInteger64 or OFTInteger64List

@warrenwyf Does solving those two fully address your issue or are there more cases we need to handle?

Yes, I think so

@warrenwyf Do you have a sample file that includes those two data types that I can use to test? Will make it much easier to implement if I have something to work against

@warrenwyf Do you have a sample file that includes those two data types that I can use to test? Will make it much easier to implement if I have something to work against

Integer64List is not supported by most formats, maybe you can test it in this way:
  const dataset = gdal.open(require.resolve('./test.gpkg'), 'w', 'GPKG');
  const layer = dataset.layers.create('test', null, gdal.wkbPoint);

  layer.fields.add(new gdal.FieldDefn('bigintlist', gdal.OFTInteger64List));

  const feature = new gdal.Feature(layer);
  feature.fields.set('bigintlist', [1,2,3]);
  layer.features.add(feature);

  console.log(feature)

  dataset.close();

Should be solved with this (https://github.com/contra/node-gdal-next/commit/6ed2a1988e484a52f20b45dd554277140105b747) published as 2.2.0 - let me know if this solves your issue and I can close out the ticket

Published as 2.2.0 now that the binary published - let me know if you have any issues with it.

Published as 2.2.0 now that the binary published - let me know if you have any issues with it.

Seems works.
However, the data type to set is not correct:
feature.fields.set('bigintlist', [1, 2, 3]); // does not work
feature.fields.set('bigintlist', `[1, 2, 3]`); // works

@warrenwyf JS doesn't have 64 bit integers so it makes sense that you would need to represent it in a string. Don't know of any other workaround - let me know if you have any ideas.

@warrenwyf JS doesn't have 64 bit integers so it makes sense that you would need to represent it in a string. Don't know of any other workaround - let me know if you have any ideas.

but feature.fields.get('bigintlist') returns an array instead of string, the set()-get() behavior is inconsistent


Add CloudFlare V6 addresses to CDN whitelist

Fetched the same way as the V4 addresses. Method copied from seo-bots-whitelist.
Attempted to create tests for this but it seems post overflows aren't applied in cscli hubtest as no matter what I did I could not get it to apply even the unmodified version.

Thanks for the contribution @tomtom5152 :+1:

Thought this would be a good one to get me started whilst exploring whitelists. I have a grand idea for a platform agnostic captcha bouncer in my head, but need to find the time for it yet.


⚠ Bofrost.lu has degraded performance

In 2260bc6, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1827 ms

Resolved: Bofrost.lu performance has improved in 9c0dac7 after 8 minutes.


Add an option to disable default marker mappings.

The marker mappings b,s,t,v doing the  mappping, it overwrite my own mappings.
Can this feather be configurable?

Why do you overwrite such important normal mode mappings and are they really that important in the Startify buffer?
I'm asking because I usually try to avoid adding even more options unless it's really needed. :)

The problem is about s, I found I rarely use the s key in normal mode, so I use it as [Window] prefix key.  I have the mappings like below in my config.
nnoremap [Window]   <Nop>
nmap     s [Window]
nnoremap <silent> [Window]p  :<C-u>vsplit<CR>:wincmd w<CR>
nnoremap <silent> [Window]o  :<C-u>only<CR>
nnoremap <silent> [Window]h  :wincmd H<CR>
nnoremap <silent> [Window]j  :wincmd J<CR>
nnoremap <silent> [Window]k  :wincmd K<CR>
nnoremap <silent> [Window]l  :wincmd L<CR>

Unusual! But whatever works. :-)
When the Startify buffer is fully set up, it emits an User event called Startified.
You could hook into it like this:
autocmd User Startified for key in ['b','s','t','v'] | exe 'nunmap <buffer>' key | endfor

Does this work for you?

It works! Thank you very much.


add same51 support from SAME51_DFP.1.1.139

This PR add support for SAME51 header from SAME51_DFP.1.1.139. Please let me know if you have any feedback/review

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


Change 2.0 -> 2.x

Changing to match the way we did for 1.x (https://github.com/dotnet/core/blob/master/release-notes/1.0/1.0-supported-os.md)

We'll create the same file in the 2.1 folder. Can you do that @leecow?

Done - https://github.com/dotnet/core/pull/1570


Serve command cannot detect change under directory slides

Excuse for report of issue similar to #98 in a row.
Overview
If a file under the directory slides specified as the input source file, rebuild and reload will not be done even if you change the file.
If a file in a directory above the directory slides or another directory changed then detects it.
Consideration and proposal
It seems to be caused by either using slides as the default output directory or using slides.* as the default input file.
It is bad that rebuild and reload does not work even if an input / output file is explicitly specified by the --file or --dir option.
If the --file or --dir option explicitly specified, detect changes in files under the slides directory somehow.
If it is difficult, writing README.md that reveal-ck does not detect changes in the directory slides.
Detailed logs
PS D:\test> reveal-ck serve -f ./slides/foo.md -d public/slides/foo
------------------------------------------------------------
[ reveal-ck ] Serving up slide content in 'public/slides/foo/'.
[ reveal-ck ] Open your browser to 'http://localhost:10000'.
[ reveal-ck ] Press CTRL-C to stop.
------------------------------------------------------------
[ reveal-ck ] Getting Ready to Reload Browsers.
[ reveal-ck ] Getting Ready to Rebuild Slides.
[ reveal-ck ] Starting Webserver.
[   reload  ] Using Guardfile at C:/tools/ruby25/lib/ruby/gems/2.5.0/gems/reveal-ck-3.9.0/files/reveal-ck/Guardfile.
[   reload  ] Run 'gem install win32console' to use color on Windows
[   reload  ] LiveReload is waiting for a browser to connect.
[   reload  ] Guard is now watching at 'D:/test'
[   reload  ] Browser connected.

I changed ./slides/foo.md in this state, but neither rebuild nor reload was done.
Supplement
I assume that GitLab CI and GitLab Pages are to be used in combination, we have made the above directory structure.

Should now be fixed in [https://rubygems.org/gems/reveal-ck/versions/3.9.1][3.9.1].
Thank you for all of your help!


CreateProcess: %1 is not a valid Win32 application.

I'm using ninja under MSYS2 with MinGW-w64.
Sometimes ninja fails with the cryptic error CreateProcess: %1 is not a valid Win32 application. which is hard to troubleshoot without more information.
May I suggest the following patch to also show the command line that failed to execute?
patch -ulbf src/subprocess-win32.cc << EOF
@@ -134,3 +134,3 @@
     } else {
-      Win32Fatal("CreateProcess");    // pass all other errors to Win32Fatal
+      Win32Fatal("CreateProcess", (char*)fixedcmd.c_str());    // pass all other errors to Win32Fatal
     }
EOF

having this issue in msys and have no idea what it means

I think I have a related problem. We could not easily understand why ninja was saying CreateProcess failed: The system cannot find the file specified. Ninja was not printing any information that would help to debug the issue.
I have created the following patch:
diff --git a/src/subprocess-win32.cc b/src/subprocess-win32.cc
index 8f5facc..087ce3e 100644
--- a/src/subprocess-win32.cc
+++ b/src/subprocess-win32.cc
@@ -123,8 +123,7 @@ bool Subprocess::Start(SubprocessSet* set, const string& command) {
       CloseHandle(nul);
       pipe_ = NULL;
       // child_ is already NULL;
-      buf_ = "CreateProcess failed: The system cannot find the file "
-          "specified.\n";
+      buf_ = "CreateProcess failed: The system cannot find the file '" + command + "'.\n";
       return true;
     } else {
       fprintf(stderr, "\nCreateProcess failed. Command attempted:\n\"%s\"\n",

Then, it was easy to identify a possible cmake issue, and report it upstream to cmake. Maybe a change like this would be quite useful for ninja?


change python2 to python3

Hi @weizheeeeee ， please give DCO ready.
This change means we can't use python2 with this playbook. I think you can set python to python3 on your env, instead of set python3 here.CC @shhull


python3Packages.channels-redis: 2.4.0 -> 3.2.0

Motivation for this change
Update to latest upstream release 3.2.0
Changelog: https://github.com/django/channels_redis/blob/master/CHANGELOG.txt
Should fix the build issue that came up during update for msgpack.
  ERROR: Could not find a version that satisfies the requirement channels~=2.2 (from channels-redis)
  ERROR: No matching distribution found for channels~=2.2exit

Things done

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

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

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

Result of nixpkgs-review pr 107392 run on x86_64-linux 1

3 packages failed to build:

python37Packages.channels-redis
python38Packages.channels-redis
python39Packages.channels-redis

Related #107390

Result of nixpkgs-review pr 107392 run on x86_64-darwin 1

3 packages failed to build:

python37Packages.channels-redis
python38Packages.channels-redis
python39Packages.channels-redis

Result of nixpkgs-review pr 107392 run on x86_64-linux 1

3 packages failed to build:

python37Packages.channels-redis
python38Packages.channels-redis
python39Packages.channels-redis

Next time please put this into the other PR.

Result of nixpkgs-review pr 107392 run on x86_64-darwin 1

3 packages built:

python37Packages.channels-redis
python38Packages.channels-redis
python39Packages.channels-redis

Ran 0 tests in 0.000s

Please add doCheck = false; and a pythonImportsCheck.

Result of nixpkgs-review pr 107392 run on x86_64-linux 1

3 packages built:

python37Packages.channels-redis
python38Packages.channels-redis
python39Packages.channels-redis

Please add doCheck = false; and a pythonImportsCheck.

Added


SVG markup renders upside-down on check/shaping/collides

when copying and pasting this SVG snippet, saving it into a proper output.svg file and loading it in Inkscape I see the glyphs rendered upside-down (it should be ïï):

(issue originally found at #3554)

When using the HTML and MD reports (which is the only sensible way to view this information ;-) browsers apply the transform matrix in the SVG element which makes it the right way around.
Ideally I would like to provide a summary in the console report, but I don't think we have the facility to provide separate reporting based on output format.

I don't think this is a bug. It's more of a "Doctor, it hurts when I do this..." The fix is "don't cut and paste terminal output into a SVG file".


Update rspec to deal with isobib changes

... But only after https://github.com/riboseinc/isobib/issues/25 refactor moves code from this gem to isobib

... No, done it now; I'm just not rspecing that isobib filtering code directly.


Amplify doesn't update cognito aws-exports after push

On a project with configured auth:

amplify init envA
amplify push
amplify init envB
amplify push  - here the appsync endopoints in aws-exports.js will be from envB, but cognito data from envA

Amplify 4.6.0

@artyom-melnikov Do you mean "aws_cognito_identity_pool_id" and the ""aws_user_pools_web_client_id" keys which are the same as envA? I tried to reproduce this but wasn't able to. It correctly shows different userpools from the different environments with CLI v4.6.
Can you run "amplify env checkout " and see if you still see the user pool key from envA in the aws_exports.js file?

Having this same problem. Removed an old environment and created a new one; pushed; but aws-exports does not change to reflect the new user pool/identity.

i maybe got the same problem and resolved it with:
amplify console > Backend environments > authentication
then use the supplied "amplify pull"  and "update" cmd in your CLI

same problem here as @jakepgoldman

same problem here as @jakepgoldman

Same problem following 'env add', 'env checkout' and 'push' - the cognito user pool app client IDs did not update. Executing an 'amplify pull' fixed it.

Somehow aws-exports.js was not updated by a config change for me. You can flush this by:
# Pushing up local state
amplify push

# Then, deleting local aws-exports.js
rm src/aws-exports.js

# Then, pulling down remote state, and rewriting aws-exports
amplify pull


Generates invalid TypeScript - TS2300: Duplicate identifier

Which packages are impacted by your issue?
No response
Describe the bug
Running graphql-codegen for https://gitlab.com/api/graphql produces invalid TypeScript:
/** Common sort values */
export enum Sort {
  /** Created at ascending order. */
  CreatedAsc = 'CREATED_ASC',
  /** Created at descending order. */
  CreatedDesc = 'CREATED_DESC',
  /** Updated at ascending order. */
  UpdatedAsc = 'UPDATED_ASC',
  /** Updated at descending order. */
  UpdatedDesc = 'UPDATED_DESC',
  /**
   * Created at ascending order.
   * @deprecated This was renamed. Please use `CREATED_ASC`. Deprecated in 13.5.
   */
  CreatedAsc = 'created_asc',
  /**
   * Created at descending order.
   * @deprecated This was renamed. Please use `CREATED_DESC`. Deprecated in 13.5.
   */
  CreatedDesc = 'created_desc',
  /**
   * Updated at ascending order.
   * @deprecated This was renamed. Please use `UPDATED_ASC`. Deprecated in 13.5.
   */
  UpdatedAsc = 'updated_asc',
  /**
   * Updated at descending order.
   * @deprecated This was renamed. Please use `UPDATED_DESC`. Deprecated in 13.5.
   */
  UpdatedDesc = 'updated_desc'
}

With the error TS2300: Duplicate identifier '<key>' being raised for every key of the generated enum.
Your Example Website or App
local terminal
Steps to Reproduce the Bug or Issue

run graphql-codegen with the supplied codegen config
run tsc --noEmit ./gitlab/gql/graphql.ts

Expected behavior
As a user, I expected to get valid TypeScript generated
Screenshots or Videos
No response
Platform

OS: macOS 12.6
NodeJS: 16.17.1
graphql version: 16.6.0
@graphql-codegen/* version(s): 2.13.11
typescript version: 4.8.4

Codegen Config File
{
  schema: 'https://gitlab.com/api/graphql',
  documents: [],
  generates: {
    './gitlab/gql/': {
      preset: 'client',
      plugins: [],
    },
  },
}

Additional context
No response

Hi,
Could you share the GraphQL definition of the Sort enum?

Hi @rodneyrehm,
This behavior is expected since your enum values translate to the same Capitalized equivalent.
I would suggest you try to configure a different naming convention that would not generate a conflicting enum value name: https://the-guild.dev/graphql/codegen/docs/config-reference/naming-convention#upper-case-enum-values

I was able to fix this problem with a simple naming function:
const {lowerCase, pascalCase} = require("change-case-all");

function ignore_deprecated_enums(str) {
  if (str === lowerCase(str)) {
    return str;
  } else {
    return pascalCase(str);
  }
}

Then in the config:
  config: {
    namingConvention: {
      enumValues: ignore_deprecated_enums
    }
  }


Precision is not retained even data type is Decimal

The version I am using is 2.1.9.
I inserted data through REST API as below.
{
    "@class": "Test",
    "bigDecimal" : 1.00,
    "@fieldTypes": "bigDecimal=c"
  }

The response I receive was below. You will see the field bigDecimal has precision lost.
{
  "@type": "d",
  "@rid": "#14:5",
  "@version": 1,
  "@class": "Test",
  "bigDecimal": 1,
  "@fieldTypes": "bigDecimal=c"
}

I have tested on 2.1.12. it has the same problem as well.

Sorry. The problem is in the test tool, Postman. Please close this issue.

Hi @thirawato
Ok, thank you very much, closing
Luigi


Jupyter notebook matplotlib chart fails to save: save dialog hidden, nothing saved

The Save As button for a chart output does nothing. After the first use, it appears behind (not in front of) the VS Code window.
Environment data
About output:
Version: 1.87.1
Commit: 1e790d77f81672c49be070e04474901747115651
Date: 2024-03-06T00:21:07.287Z
Electron: 27.3.2
ElectronBuildId: 26836302
Chromium: 118.0.5993.159
Node.js: 18.17.1
V8: <IP_ADDRESS>-electron.0
OS: Linux x64 5.15.0-94-generic

Jupyter Extension version (available under the Extensions sidebar): v2024.2.0
Python Extension version (available under the Extensions sidebar): v2024.2.1
Python and/or Anaconda version: 3.10.12
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): None
Jupyter server running: Local

Expected behaviour

Clicking the floppy disk "Save As" icon next to a matpotlib chart should save the chart.
A pop-up dialog should appear in front of, not behind, the VS Code window.

Actual behaviour

Clicking  the floppy disk "Save As" icon next to a matpotlib chart does nothing.
After the first attempt, subsequent uses of the button displays the Save As dialog behind the VS Code window which renders VS Code unresponsive until one discovers the "pop under" dialog.

Steps to reproduce:

Create a simple chart in a Python notebook using matplot. Probably any example will do.
Run the code to display a chart in the output for your cell.
Click on the floppy disk "Save As" button.
On the first attempt, the dialog pops up in front of the VS Code window.
In the dialog, click "Save Plot Image"
Nothing happens. No image is saved to the directory named in the dialog.
Repeat the process. The second time, the Save As dialog appears behind the VS Code window.

As it turns out, the double-paper "Copy to Clipboard" operation does work. So, the workaround is either:

Use a screen shot program to save the image, or
Use the Copy to Clipboard option and use an image program to save the image as a file.

One other "gotcha": the "Chart" button, the "Expand Image" command does not appear for previously created charts when opening an existing notebook. However, if I rerun the Python code to create a new output, then the "Expand Image" icon does appear. (I checked both these cases for the Save As command, it does nothing in both the saved-output and new-output cases.)
Logs
No related log messages appeared in any of the Jupyter, Python, Notebook Rendering or similar logs.

I'm not able to repro - can you look in the console of Developer: Toggle Developer Tools and check for any errors in there.

Just reproduced the error. As before, the "Save As" dialog again popped up behind the VS Code window, forcing me to hunt it down. No image was saved.
To better isolate the issue, I disabled all extensions except those for Python and Jupyter. Closed all files except the notebook in question. Restarted VS Code. Opened developer tools as requested. Switched to the Console tab. There are a few random errors that I suspect are "generic" and not related to my particular situation (see below). It seems that there is no "copy to clipboard" function in the console, only a Save As feature. Tied that. The behavior is similar to the problem described for saving images above.
Clicked "Save As" from the context menu. The Save As dialog appeared in front of the VS Code window and I clicked Save. The file was saved. Then, I tried a second time. Clicked "Save as..." from the context menu. The second time (after restarting VS Code), the Save As dialog appeared behind the VS Code window. Thus, the window position behavior may be generic. To check, with my notebook open, I clicked File → Save As... from the main menu. The dialog again appeared behind the VS Code window. Conclusion: this is a generic problem with VS Code on Linux Mint (which is the only OS I can test.)
The only interesting entries in the Developer Tools Console log are:
webviewElement.ts:511 An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing.
mountTo @ webviewElement.ts:511
...
viewLine.ts:418 monospace assumptions have been violated, therefore disabling monospace optimizations!
monospaceAssumptionsAreValid @ viewLine.ts:418

No additional Console entries appear when I attempt to save the image. (The image continues to not save.)
To remove any remaining variables, I closed all open files then created a new, empty notebook. Copy/pasted the example bar chart code and ran it. The chart appeared. Attempted to save it. Again, got a pop-under Save As dialog and nothing was actually saved.
Tried repeating the above process by Clicking "Restart" in the above test notebook. The following appeared in the Developer Tools Console log:
event.ts:42 [Violation] Added non-passive event listener to a scroll-blocking 'touchstart' event. Consider marking event handler as 'passive' to make the page more responsive.  Nothing appeared.
Ran one additional test. Closed my project to get back to the "start" window. Created a new notebook. Again pasted in the Matplotlib example code and ran it to get a chart. Clicked on the Save As button. A pop-under dialog appeared. One quirk: the window's default save location is the root of the Linux directory tree. Suggestion: change this to the user's home directory. (Under Unix, the root directory is not a good place to save things, unlike old-school Windows, when C: was a typical place to save things.) Changed the target directory to my home directory and clicked "Save plot image". Again, nothing was written.
For fun, tried again. The dialog did not remember my previous save location and again wanted to save to the Linux root directory. Suggestion: remember the save location.
Somewhere while trying this, the following appeared in the Console log:
console.ts:94 [Violation] 'setInterval' handler took 52ms
[Violation] 'setTimeout' handler took 54ms
console.ts:94 [Violation] 'setInterval' handler took 60ms
[Violation] 'setTimeout' handler took 54ms

Is there some other logging mechanism that might provide inside into the behavior of the code executed when the "Save plot image" button is clicked? Something that might indicate where in the save process things go off the rails?

@amunger File -> Save As... does save the notebook. Similarly, the "Save As" for the developer console does save the log file. What does not work is using the diskette button "Save as..." on the matpotlib chart image: the dialog appears but nothing is actually written to disk.

The problem persists in latest version for Ubuntu:
Version: 1.87.2
Commit: 863d2581ecda6849923a2118d93a088b0745d9d6
Date: 2024-03-08T15:14:59.643Z
Electron: 27.3.2
ElectronBuildId: 26836302
Chromium: 118.0.5993.159
Node.js: 18.17.1
V8: <IP_ADDRESS>-electron.0
OS: Linux x64 5.15.0-94-generic

A bit more context. I started messing with 3D plots, and added the following magic command to the notebook:
%matplotlib widget

This resulted in a wonderful interactive 3D chart. I clicked on the diskette "Download plot" icon. Although the dialog did continue to "pop behind", clicking "Save" did, in fact, save the plot.
One difference I noted was that, in the above, the file name in the "Save As" dialog is Figure 11.png. While, in the original use case, the file name was simply output (with no file type). And, voila!, if I change the name to output.png, the chart image does, in fact, save.
So, the fix might be as easy as giving the "Save As" dialog a file name with a file type attached. Or, default the file type to .png since the dialog has a file type selector that offers only PNG as an option. That way, us poor users don't have to remember that we have to tell the software the extension that it has already decided it requires. (Also, it would be nice to fix the "pop under" issue.)
I also noted that, when I save an interactive chart (to the default location, which is the project), the file immediately opens in VS Code. However, if I use the "static" version, the file is also saved to the default project location, but does not open in VS Code. It would be helpful to be consistent. My vote would be to not automatically open the image; that would reduce clutter.
One other (very minor) observation: the button labels are wonderfully inconsistent. "Save As", "Save as", "Save as...", "Download plot", etc. Does VS Code have a naming style guide to help folks be consistent?

Do you have a simple example cell that creates a plot that would repro this behavior?

@amunger, the problem seems to occur with every chart, such as the example bar chart code mentioned earlier. I created a new notebook with just that code and it exhibited the same issue.

I believe this has been fixed in the latest insiders version of the Jupyter extension.
Closing as fixed.

Most likely a duplicate of https://github.com/microsoft/vscode-jupyter/issues/16111


Plan Python Intro

Most of the researchers are not familiar or lack experience in programming with Python.
In our next demo on 1 March we want to

give them a highlevel overview of what a Python program/script looks like

This ticket is to plan this activity/demo

Topics to cover:

What does a file look like?
How do we run it?
Defining functions
Basic types and arithmetic

Plan:

Fork repository
Open in PyCharm
Basic syntax: assignment, arithmetic, print
Running file
Exercise: add print statement for e.g. x**2 (using Code With Me)
Functions (example: death rate)

Describe exercise (eprate), solve if time

If statements (example: probability of starting sex work)

Describe exercise (equation 9), solve if time


Session buttons unresponsive

Expected Behavior
When inside of a session listening to music, you tap on the pause button, effectively pausing the session. You tap on the dj of the session, revealing the modal containing the options to leave the session. When tapping on the leave session option, you will leave the session.
Actual Behavior
When inside of a session listening to music, you tap on the pause button, but the music doesn't pause until some time later. The same goes for any of the other interactions where the action will be performed some time after you've tapped on the button.
Steps to Reproduce Problem

Play a song to start a session
Tap on the pause button
Tap on the dj of the session at the top

Versions
Brassroots: 0.2.0
iOS: 13.1
Additional Information

 Fix interaction lag

This will be fixed in #60

Reopening because it's still in issue in 0.2.5.

 Fix lagging interactions

This will be fixed in #83


 Getting data from browser storage...
2018-06-28 16:09:17,303 Error loading extension page: Tried to run command without establishing a connection
2018-06-28 16:09:17,303 Could not get badger storage.

Might be related to fixes for #8.

Fixed in df4171a94fe7dae7327e12524714e69c9412f3ce.


Clone suffix not stripped on Host

In reference to commit 6a33c2d the suffix isn't stripped for the Host Player, only connected clients.

reverted. thanks


Debug widget has some UI issues

Testing #16026
Clone the vscode-smoketest-express repo and checkout the chrome-debug branch.
Make sure Chrome is running in your machine without the --debug flag. We want the Chrome debugger to fail further ahead.

Put breakpoints in routes/index.js:6 and public/script.js:5.
In debug viewlet, start Server.
In debug viewlet, start Chrome. Do not press Continue once the debugger breaks.
After 10 seconds, the Chrome debugger will timeout.

Dismiss the error messages.
Hit Play. Notice the widget:

Refresh the browser. It should hit a server breakpoint. Notice the widget:

I somehow also was able to get it stuck in this state, while playing around... No steps for this:

FYI, when everything is well setup (Chrome debugger properly working), I still hit this situation:

The maximum call stack was actually also responsible for this issue.
The bottom line problem was that the select box in the actions widget was emitting an event on which debug reacts changing the select box which emits the event again and so on...


Define a Quine for Calc

As in: https://simple.wikipedia.org/wiki/Quine (Javascript example should be close).

Best I have come up with is this (based on the Javascript example):
def quine() = {
  a = ["def quine() = {\n  a = ", "\n  return a[0] + `$a` + a[1]\n}"];
  return a[0] + `$a` + a[1]
}

BUT, the output is mish-mash:
quine -> "def quine() = {\n  a = [ def quine() = {\n  a = , \n  return a[0] + `$a` + a[1]\n} ]\n  return a[0] + `$a` + a[1]\n}"

or
quine @q -> def quine() = {
  a = [ def quine() = {
  a = ,
  return a[0] + `$a` + a[1]
} ]
  return a[0] + `$a` + a[1]
}

Especially the latter, because I really expected that to work, but the inner quotes are missing, there are too many line breaks, etc.  Utter garbage.... many bugs here.

Got it (with "@Q" format), and formatting result with "@q":
def quine = {
 a = [ "def quine = {\n a = ", "\n b = `${a@Q}`\n return a[0] + b + a[1]\n}" ]
 b = `${a@Q}`
 return a[0] + b + a[1]
}

With commit 2926349 which also adds the quine as a unit test.


dependencies file

I'm looking for the package's dependency file.  (A folder has a requirements.txt, but I assume that's for the docs.  snapml-examples has 2 dependency files, but I assume those files are to run the examples.)

Snap ML source code is not open-source, so what you are looking for doesn't exist exactly. You can inspect the dependencies either by installing Snap ML in a clean conda (or pyenv environment) as seeing what pip pulls in. Alternatively, you can unzip one of the wheels that we distribute and inspect the METADATA file which contains the dependencies as below:
Requires-Dist: scikit-learn
Requires-Dist: scipy
Requires-Dist: numpy >=1.18.5 ; python_version < "3.10"
Requires-Dist: numpy >=1.21.3 ; python_version == "3.10"
Requires-Dist: numpy >=1.23.2 ; python_version == "3.11"


search by exact username

now is match

ad switch to main fn as private ones. propositions:

strict
...


Fix: Exception when loading invalid asset

I have come across a bug where if you try to load an invalid model, for example, the asset is not present, the error thrown overrides any kind of error handling on other mods
Old behaviour:
[Error  : Unity Log] NullReferenceException: Object reference not set to an instance of an object
Stack trace:
ModelReplacement.BodyReplacementBase.Awake () (at <b9ae5003cd51460481d20a5bd9c6d186>:0)
UnityEngine.GameObject:AddComponent(Type)
ModelReplacement.ModelReplacementAPI:SetPlayerModelReplacement(PlayerControllerB, Type)
ModelReplacement.PlayerControllerBPatch:ManageRegistryBodyReplacements(PlayerControllerB&)
GameNetcodeStuff.PlayerControllerB:DMD<GameNetcodeStuff.PlayerControllerB::Update>(PlayerControllerB)

New behaviour:
[Error  : Unity Log] Exception: Could not find asset Valeria Garza!
Stack trace:
LethalWarfare2.Modules.Assets.GetAssetFromName[T] (System.String name) (at <9dd7007ad597413c9f9d6dfe8de84fed>:0)
LethalWarfare2.Modules.Model.ValeriaReplacement.LoadAssetsAndReturnModel () (at <9dd7007ad597413c9f9d6dfe8de84fed>:0)
ModelReplacement.BodyReplacementBase.Awake () (at <02447c3aaf3247a7a78908e71371fa8b>:0)
UnityEngine.GameObject:AddComponent(Type)
ModelReplacement.ModelReplacementAPI:SetPlayerModelReplacement(PlayerControllerB, Type)
ModelReplacement.PlayerControllerBPatch:ManageBodyReplacements(PlayerControllerB)
ModelReplacement.PlayerControllerBPatch:ManageRegistryBodyReplacements(PlayerControllerB&)
GameNetcodeStuff.PlayerControllerB:DMD<GameNetcodeStuff.PlayerControllerB::Update>(PlayerControllerB)

This fixes the bug and allow for mods to catch potential errors

Could you explain to me what exactly in this commit results in the behavior you have listed?
The only potentially functional change I can see is
player.thisPlayerBody.gameObject. -> player.gameObject.
Which simply means that I missed an instance of that when resolving the issue resulting from player.thisPlayerBody = null when spectating a player.
The other two deltas listed are stylistic changes that don't appear to have any difference in functionality.

During the development of my mod, I have come across an error where if you tried to load more than one asset with a space in their name, it would refuse to load
The instance.thisPlayerBody throws an exception when changing suits to an invalid asset
For the TryGetOut, yes it is simply stylistic, you can change it back if you would like to