Basic premise of the library is based upon a fallacy and harms existing projects.

Update: see this comment for resolution.

Within the dotnet ecosystem there are multiple graphics libraries available depending on your target platforms; however, if you are doing cross-platform development there is not a unified graphics abstraction. Some legacy API's (System.Drawing, I'm looking at you) only have limited support/usefulness on non-Windows platforms. SkiaSharp runs almost everywhere these days, but for many use cases the native graphics abstractions are needed.

This is fundamentally untrue. There exists cross platform graphics libraries in the .NET ecosystem that provide a unified API and experience.
ImageSharp
ImageSharp.Drawing
By ignoring existing projects Microsoft is actively harming the .NET open source community. Time would be better spent actually contributing to them to fill any feature gaps rather than reinventing something with the Microsoft label.

@JimBobSquarePants a brief look at those repos (front page and issues) suggests people are taking ImageSharp as mainly to do with images and image files. This is a long way from 2D graphics, where you need to draw on screen with high performance. The documentation says "We are yet to prioritize performance in our drawing APIs." and does not list any low-level 2D graphics framework support.
There is certainly some overlap because you can use ImageSharp to draw on screen, but unless you can do this very fast with minimal overhead then Microsoft.Maui.Grahpics is needed.

Time would be better spent actually contributing to them to fill any feature gaps

Suppose we need to have a well functioning 2D graphics library in 1 month. Short, but this library needs to get into dotnet6 previews and even 1 month might delay great projects like GraphicsControls. Can ImageSharp get into this state in this timeframe? I.e. support CoreGraphics, Android.Graphics, Win2D, SkiaSharp for performant/memory-efficient 2D rendering? And what would be the advantages to starting with ImageSharp rather than starting with the code in this library?

we need to have a well functioning 2D graphics library in 1 month. Short, but this library needs to get into dotnet6 previews and even 1 month might delay projects like GraphicsControls

This is really where the problem lies. Microsoft thinks they must provide everything that any developer would want to do and therefore make it their own responsibility to create everything and bulldoze over everything else that isn't made internally.
You don't get that anywhere else. Google doesn't think that they must provide a solution to everything someone wants to do. Golang comes with a basic logging package in the standard library, but when customers need something more fancy then the community steps in and builds what they need. Uber made zap and lots of other projects exist to compete. Same for web frameworks. Super diverse and the same applies to lots of other domains such as graphics.
The same is true for other languages and tech stacks and they all thrive.
It's an illness which only spreads within Microsoft that makes teams at Microsoft believe that you guys must provide a one stop solution to every little problem. The issue with that is that Microsoft constantly over commits and then you guys don't have the time, energy and neither the actual insight into what people really need which means that:

Initially your solutions is inferior to what already exists, yet your marketing will destroy everything forcing the community to adopt your inferior solution with the promise that it will work when it will not in most cases
Then you will iterate for 5 years until you finally created a product that actually solves people's problem, but way too late
Shortly later you will iterate the product to something which is over the top and makes things dysfunctional again

In the end there is a small 6 months to 1 year sweet spot where Microsoft has provided something useful before they make it unusable again.
It happens literally with everything.

Suppose we need to have a well functioning 2D graphics library in 1 month. Short, but this library needs to get into dotnet6 previews and even 1 month might delay projects like GraphicsControls. Can ImageSharp get into this state in this timeframe? I.e. support CoreGraphics, Android.Graphics, Win2D, SkiaSharp for performant/memory-efficient 2D rendering? And what would be the advantages to starting with ImageSharp rather than starting with the code in this library?

@charlesroddie The whole point is that you do not need to use those underlying frameworks. You can wrap the buffers they provide and utilize a unified API to draw on them.
Regarding the timeframe... Well the libraries have been around for about 6 years now, if, instead of naval gazing and continuing to push System.Drawing Microsoft had instead contributed development time then the conversation would be moot.
Regarding performance. We're not that far off drawing performance and for general operations like resizing we do a better job. Again, with assistance any performance bottlenecks could easily be fixed in that timeframe.

This is a long way from 2D graphics, where you need to draw on screen with high performance. The documentation says "We are yet to prioritize performance in our drawing APIs." and does not list any low-level 2D graphics framework support.

@charlesroddie
The project listed ImageSharp.Drawing shows "a cross-platform 2D polygon manipulation API and drawing operations." not just for loading images
I really hope this is not the first time you actually look into the popular ImageSharp library and ecosystem, because it would mean you have started a project without exploring the existing landscape of solutions that the .NET community had come up long before and had been battle tested by actual .NET users
Please consider adding a "Prior And Existing Art" section explaining how this library compares and differs from the existing solutions, what it means for users of those different libraries and why they would use this library instead

@charlesroddie isn't a MSFT employee or an author of this library, FYI - just someone in the .NET ecosystem with a different opinion - just as an FYI to @Zaid-Ajaj - we should welcome differences of opinion in the .NET OSS community about the role Microsoft plays in it and how that can crowd out or cannibalize innovation that occurs elsewhere in the .NET ecosystem.
But yes, the ImageSharp.Drawing library does indeed appear to do 2D graphics so he was mistaken on that.
Whether or not Microsoft should have created this library is a somewhat moot point - it was inevitable that this library was going to be built:

Pervasive “Not Invented Here” Culture at Microsoft
Microsoft contributes to ecosystem issues through their own product development and evangelism activities, but they’ve tried to speak to those issues through initiatives like the aforementioned .NET Foundation Maturity Ladder.
I say this as an ex-Microsoft employee, a long time Microsoft fan, and a heavy participant in the .NET OSS ecosystem: Microsoft’s product culture mandates they control everything down the stack. They’re the most risk averse company of all in the entire ecosystem, when it comes to considering third party technologies, and they will only deviate from that strategy when they realize they’re playing from behind.

I don't know enough about this corner of .NET to know if these particular complaints have any merit, but Microsoft certainly hasn't earned the benefit of the doubt.
As much as it's my schtick to shit on Microsoft for hamstringing their own OSS ecosystem by competing with it at seemingly every opportunity, I'm of the opinion that this type of energy is probably better spent building some defensive moats to stop them from being successful. Microsoft's product culture is about as inflexible as they come and despite some very good intentions from high level actors within their ecosystem who want to change it, I'm skeptical it will ever change. That's why it's useful to raise these types of issues to draw attention to the problem as it happens.
But that being said, for the sake of ImageSharp and the greater .NET ecosystem, I would focus on differentiating and building moats - as exhausting as that is.

@Zaid-Ajaj I really hope this is not the first time you actually look into... ImageSharp..., because it would mean you have started a project...

This code was created by @jonlipsky and has based on code used in production for 10 years according to readme.md, so has been in development for longer than ImageSharp, although I don't believe this is particularly relevant to the topic, which should be about the best way to do cross-platform 2D graphics given what we have at the moment.
Not only this library but NGraphics and SkiaSharp have addressed the need for cross-platform 2D graphics in the last few years. Maui.Graphics promises to have the reliability of SkiaSharp but (on most platforms) without the large deployment size.

The project listed ImageSharp.Drawing shows "a cross-platform 2D polygon manipulation API and drawing operations." not just for loading images

Yes, as I recognized in my post ("you can use ImageSharp to draw on screen"). I was generous actually as it's very hard at the moment, but you could do it if someone writes the wrappers for various platforms.
The API is much smaller than for example Skia but that doesn't mean it's not usable: I can't immediately tell for example whether it would cover my personal usage of 2D drawing. Is the API surface of ImageSharp good enough to be used to be a basis of an entire UI system (GraphicsControls)?

@JimBobSquarePants Regarding performance. We're not that far off drawing performance and for general operations like resizing we do a better job. Again, with assistance any performance bottlenecks could easily be fixed in that timeframe.

Resizing is very image-focused. No one is disputing here that ImageSharp is great at images. For drawing and text operations getting to native speed is important.
This is the main question here. More important than what code has been written already even. Is there evidence that 2D software rendering performs as well as as wrapping low-level 2D frameworks?

I was generous actually as it's very hard at the moment, but you could do it if someone writes the wrappers for various platforms.

@charlesroddie It's really hard to take you seriously when you clearly have very little understanding of what you are talking about.

@JimBobSquarePants This rudeness is uncalled for. The need for wrapping is a minor point to this dicsussion (since it doesn't affect strategy) but obviously important to users. The ImageSharp documentation describes how to create and change images but not how to create image views on platforms like Xamarin.Forms, UWP, Avalonia etc., how to update them, how to handle invalidation etc.. Since these probably require access to buffers for performance, this is a very hard task for an average user.

@charlesroddie I'm not being rude. You're arguing points without a clear understanding of the capabilities of the libraries having only taken a brief glance. Perhaps it's best to wait until you have a better understanding before commenting.

@JimBobSquarePants Do not turn this conversation into small uncalled for 1v1 fight. If you have anything to prove @charlesroddie wrong then state it. Or do you expect everyone to go and thoroughly scan your library just to "have the right" to post?

@En3Tho I'm clearly not.
What I am saying, and this is really important. Is that arguing about something when you do not possess the information required to do so constructively is not beneficial to this conversation.

Is that arguing about something when you do not possess the information required to do so constructively is not beneficial to this conversation.

I didn't particularly have knowledge of either library... Regardless....
There is an example of uploading ImageSharp images to the GPU in Veldrid Veldrid.ImageSharp/ImageSharpTexture.cs#L128-L147 looks fairly simple in that they are just pixel data with a specified bitmap format (e.g. Rgba32 is 4 bytes long per pixel etc)
Whether Microsoft.Maui.Graphics or ImageSharp can produce the images at 60fps to animate a screen or even if that is a goal of this library I don't know.

I'm completely on the fence with this one as I can see both sides of the argument. Ultimately, as a primarily package consumer, choice is a good thing for me. Sure, there are definitely things that could be done in addressing OSS owners/authors by MSFT and the DNF, and we should keep raising these points in a fair and constructive manner.
There are two things that I often think about in the OSS/MSFT drama:

Consumers are sometimes constrained, rightly or wrongly, to use a certain set of packages. Having an OOB solution helps with this scenario. In this context, consumers would love to use package X but they just can't. We can't win easily here because we can't change the organisations or regulators (in some cases). I know of a couple of UK organisations that restrict packages based on licensing etc.
If we do have the luxury of choosing a package, then it often comes down to: discoverability, support & feature set. Traditionally, OSS packages have a great feature set but often lack on either discoverability or support - sometimes both (I don't know enough about ImageSharp to comment further here). The world works on marketing ultimately, so there is probably work that the content creator community can do here to highlight some more OSS packages of note to help adjust some of the imbalance.

My prevailing thought though is: have constructive conservations and be nice about it. We are all humans doing our best to share what we love with everyone else. There is no place for open toxicity against one another on here or other mediums.

@En3Tho Consider yourself blocked from any of my repositories and social media. That was an unrelated post about someone who was arguing about software licenses and you have shown a considerable lack of quality in sharing it here.

@davidortinau Thanks, I look forward to your invitation.

This issue has taken a wrong turn. I know that temperatures can go high but I would like to point out that @charlesroddie works on MathSpire which is a (rather nice) cross platform app which probably does a lot of drawing of mathematical functions and I'd be surprised if @charlesroddie hasn't spend a lot of time exploring drawing libraries in .NET at some point at least. Let's treat everyone's input with some respect.

If Microsoft wants to be serious about UI, they can't use anything else that would not rely heavily on GPU rendering for 2D and that would be cross platform.  This alone is a huge work - specially when you start to have xplat pixel shaders in the picture, so @JimBobSquarePants I found this unfair to blame Microsoft for not considering using ImageSharp.Drawing for such a scenario.

Please consider adding a "Prior And Existing Art" section explaining how this library compares and differs from the existing solutions, what it means for users of those different libraries and why they would use this library instead

I think this is a great actionable first step -- build out the proposed prior art section and work on the README to clarify the story around Microsoft.Maui.Graphics. Then we can reevaluate and have a more informed/productive conversation.

I like to have choice and having multiple solutions to choose from is healthy.  I don't see any reason why Microsoft should feel like that they can't publish Microsoft.Maui.Graphics simply because there are other third party solutions out there, or that they have to work with these third party solutions simply because they happen to exist.  Likewise, if a third party wants to build their own solution even though Microsoft has created their own already, that is completely fine also.  You don't see Microsoft complaining about this.
I can see you have invested a lot of time into building your own solution but that doesn't mean nobody else can do the same or that your solution is somehow now the default for everyone to use.  Developers all have their own reasons for creating something to start with and these reasons may or may not match up with the reasons that other solutions exist and there are a whole set of reasons why they don't need to at all.   Developers will use the solution that works best for them.

[I'm a MS employee expressing my own opinions]
[I'm also an ImageSharp contributor]
Let's try to solve this: #49 !

I am a longtime developer, but haven't looked at the libraries in question, so can't comment on them. But in general, doesn't Microsoft's path forward still help us more than them not being here? Perhaps their libraries produce solutions that others can use to make their own code better.
What I have seen time and time again is that focusing on a single solution usually ends the same way - with a huge monolithic do-everything library that was trying to be exactly not that. And that doesn't matter whose library it was.
Would it be more beneficial, given the known culture, to focus instead on trying to ensure the code is licensed appropriately to best help the community? Just food for thought.

But in general, doesn't Microsoft's path forward still help us more than them not being here

See @Aaronontheweb's response above, but in general - no.
Microsoft has repeatedly extinguished established community-run/open-source projects by cloning them, pushing them for a few releases, then abandoning them.
Most recently they did this by cloning existing community tools to become "win-get".
We only benefit if Microsoft can commit to a long and productive future for these libraries, rather than quick snapshots in time which destroy the existing ecosystem (as the impact of a "Microsoft" approach on adoption of competitors can not be understated) before quickly abandoning them and freezing any effective development, updates, or innovation in the space.
@JimBobSquarePants has been actively updating ImageSharp over the years, and recently has been doing extensive work into refactoring to capitalize on .Net Core improvements, Intrinsics, and general performance optimizations. Microsoft meanwhile, will rush this out with .Net #.0, maintain it for 12 months, then move the team onto the next project that "needs a unified approach", leaving this code to rot until the next time they need some graphics.

Ok....
So I had a very productive chat with team directly maintaining the library. (Thanks  @davidortinau et al for that!)
For clarification of the goal of the library.

Microsoft.Maui.Graphics goal is for creating UI controls using native platform graphics, and filling in with managed drawing where there is no native  graphics.

The scope here is limited and as such is not threatening to the general ecosystem as it initially appeared.
We've agreed on some changes to the readme, that better communication in the future is required, and that there are also some potential opportunities for collaboration. As such I'm going to close this issue.
Thanks all.

Ok....
So I had a very productive chat with team directly maintaining the library. (Thanks @davidortinau et al for that!)
[...]
The scope here is limited and as such is not threatening to the general ecosystem as it initially appeared.
We've agreed on some changes to the readme, that better communication in the future is required, and that there are also some potential opportunities for collaboration. As such I'm going to close this issue.

That's wonderful. While I'm happy to learn that the issue was resolved, is there any way that we can pin this comment to the top so that future readers don't have to wade through the 80% catfight in the middle?
I was linked to this issue while researching Skia vs. ImageSharp and found the initial question and a couple of responses interesting, then waded through 80% chest-thumping, then finally got to this comment that essentially says "hey, we actually talked to each other and it turns out tempest in a teapot", which is what I was hoping to learn.

No way to pin comments, but I added a link to that comment from the initial issue description.


401 on checkout

Describe the bug
Checkout fails with 401
Logs
Detected distro: debian
Run on startup: true
[2024-12-20 12:35:35.816 +0100] INFO: Started epicgames-freegames-node
    COMMIT_SHA: "4d0fc205aa9be4869eee2e14b72403ed3929cd77"
    BRANCH: "master"
    DISTRO: "debian"
[2024-12-20 12:35:36.229 +0100] INFO: Checking free games for<EMAIL_ADDRESS>    user<EMAIL_ADDRESS>[2024-12-20 12:35:36.885 +0100] INFO: searchStrategy is `all`: searching for weekly and promotional games
    user<EMAIL_ADDRESS>[2024-12-20 12:36:07.483 +0100] INFO: Available free games
    user<EMAIL_ADDRESS>    availableGames: [
      "Vampire Survivors"
    ]
[2024-12-20 12:36:07.658 +0100] ERROR: Entitlements/cartOffersValidation: Request failed with status code 401
    user<EMAIL_ADDRESS>    err: {
      "type": "Error",
      "message": "Entitlements/cartOffersValidation: Request failed with status code 401",
      "stack":
          Error: Entitlements/cartOffersValidation: Request failed with status code 401
              at PuppetFreeGames.canPurchase (/usr/app/src/puppet/free-games.ts:294:13)
              at async Promise.all (index 0)
              at PuppetFreeGames.getPurchasableFreeGames (/usr/app/src/puppet/free-games.ts:310:28)
              at PuppetFreeGames.getAllFreeGames (/usr/app/src/puppet/free-games.ts:436:30)
              at redeemAccount (/usr/app/src/index.ts:46:20)
              at async file:///usr/app/node_modules/p-queue/dist/index.js:187:36
    }
[2024-12-20 12:36:07.666 +0100] WARN: Current version
    COMMIT_SHA: "4d0fc205aa9be4869eee2e14b72403ed3929cd77"
    BRANCH: "master"
    DISTRO: "debian"
[2024-12-20 12:36:07.743 +0100] INFO: Exiting successfully
Run once: false
Setting cron schedule as 0 3,9,15,21 * * *

Additional context
version 4d0fc205aa9be4869eee2e14b72403ed3929cd77

Could be a coincidence/red herring, but after manually logging into my epic account via browser, I was greeted by a new end user license agreement which I accepted. After that restarting the container successfully processed the checkout.

Yes, it was the same for me. I had the same 401 error and then logged in to Epic Games and went to the store. There, I was also greeted with a new End User License Agreement, and after accepting it, I was able to grab games again. Many thanks for that!

Thank you! This same thing happened to me. 401 error. [2024-12-24 15:43:47.798 -0600] ERROR: Entitlements/cartOffersValidation: Request failed with status code 401
I was already logged in on my browser with cookies. Browsed to epicgames and the EULA popped up. Hit accept and closed the tab. Restarted the container and now it's working again.
I agree would be nice if these errors did not fail silently.


Add functionalities to the article module

Using summernote as richtext editor to edit article content : i18n of summernote tooltips is only handled for french and english.

Coverage increased (+0.1%) to 56.595% when pulling 085fbd4e3fe5e9415e845a96e0f3b3a7dfb8b5d4 on esou:master into 610ee96d08c2400bea7677820dcb58137ebb0dc2 on blossom-project:master.


Admin Sign-Up form with CSS (FRONT-END)

Naming Rules
Name your PR like this: ISSUENUMBER-TITLE-YOURNAME
Description
  email
employed
Username,
password,

Write a summary of your change. Explain why you have made it.
Related to
Make sure you include the issue number with a hash sign # so Github can link this PR to the right issue, like this:
Fixes #1
Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have carefully reviewed my code
[ ] I have commented on my code
[ ] I have updated any documentation

Your branch is too far behind main. Sync up with main.


[hotfix][doc] the first FSDataOutputStream should be FSDataInputStream in FileSystem#L178

What is the purpose of the change
fix the typo in the doc of FileSystem
Brief change log

change the first FSDataOutputStream to FSDataInputStream

Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (no)

The reason about Azure failure can refer to FLINK-19619

Thanks for catching this.
+1 to merge

@JingsongLi plz have a review.


Fallback to stats.pm2.5 field when stats.pm2.5_cf_1 is undefined

When trying to set up the widget for myself, I noticed that the pm2.5_cf_1 field wasn't defined, resulting in the widget not displaying any value.

I don't know if json.sensor.stats["pm2.5_cf_1"] is a typo and should be json.sensor["pm2.5_cf_1"] instead or if pm2.5_cf_1 used to be available on the stats object but in any case, this PR fixed the issue for me so feel free to merge it if that's The Right Way™ to do it 😁

Hi @eramdam -- I noticed too Purple Air's API now puts "pm2.5_cf_1" at the top level and not in stats. I'll upvote your PR.

I'll close this PR because yours is probably the better way to do it 😁


Circular dependencies

circular dependencies in node_modules/.pnpm/@codingame+monaco-vscode-api<EMAIL_ADDRESS>00:00
node_modules/.pnpm/@codingame+monaco-vscode-api<EMAIL_ADDRESS> node_modules/.pnpm/@codingame+monaco-vscode-extensions-service-override<EMAIL_ADDRESS>  node_modules/.pnpm/@codingame+monaco-vscode-extensions-service-override<EMAIL_ADDRESS>   node_modules/.pnpm/@codingame+monaco-vscode-api<EMAIL_ADDRESS>

Yes, is it an issue for you?

https://www.quora.com/Why-are-circular-dependencies-bad

Please close issue if you don't see the problem here

They are, I'm aware of it but in that specific case, I don't have any idea on how to prevent it :-\


[FEATURE] Add alternating information on the display

I'm going to build one but adding a dollar or euro price would be nice :)

alternating not implemented

I wonder if that rp2.bootsel_button() function can be put to more than just one-time use.


Insufficent description of how to install and setup medusa-plugin-auth

Hello.
I tried to install and use medusa-plugin-auth with Auth0 and Firebase, but in both cases I did not achieve any effect what so ever running Medusa. It just continued using the jwt authentication built in to medusa, although I did exactly what was described in the documentation.
Can anybody describe in detail, what should be done to use Auth0 and/or Firebase with Medusa 1.20.x?
Thanks in advace!

The plugin only act as a man in the middle and delegate de validation/authorisation to the third part. Once validated we generate a token that medusa can consume. Does that answer your question ?

The plugin only act as a man in the middle and delegate de validation/authorisation to the third part. Once validated we generate a token that medusa can consume. Does that answer your question ?

Thanks for the answer. I get the idea of how external IDP works, but I still don't know how to set up e.g. Auth0 or Firebase correctly with Medusa and this plugin.
How is it supposed to work if the integration was correct: Will the login page redirect to Auth0/Firebase, or will I get the Medusa standard login page but in the background it will call Auth0/Firebase? Are there any working examples or videos/posts I could consider?
Thanks in advance!

I agree with OP, setup documentation is great but the follow-up could do with some more examples. Do new customers registered via the /store/customers endpoint automatically end up in the Auth0 environment, or do we have to register customers via Auth0?


Consider Nix

Is there a way you can use the existing nix build infrastructure to achieve this goal? nix is a great way to get reproducable builds for rust stuff that depends on non-rust (because non-rust is non-trivial).

(Absoutely love the idea btw.)

Hi. I've not played with nix yet, so I would probably need some help getting things set up. I expect that quite a lot of my build failures on https://github.com/alsuren/cargo-quickinstall/commits/trigger/x86_64-apple-darwin and https://github.com/alsuren/cargo-quickinstall/commits/trigger/x86_64-unknown-linux-gnu are from missing non-rust dependencies, so nix might help there.
I was explaining in https://gitter.im/cargo-quickinstall/community that I've got quite a lot of "easy" problems to solve before worrying about non-rust dependencies. I would definitely welcome some help with brainstorming though. How painful is Windows likely to be, for example?

Windows is quite painful. People have tried but no one has succeeded in nix on windows - at the moment only linux and darwin. In theory the only cross platform package manager that can do windows I believe is conda. I have just spent more time thanI care to mention with conda and while the ideas are in theory great the actual day to day experience is decidedly subpar. It tries to do docker-like stuff on windows with activating environments but it is complicated.
That all being said, conda-build might be a sensible (if painful) way to do the cross-platform build and then you could ignore all the client side conda and just unzip the .conda package  (it's actually in a zstd inside a .zip) and put the resultant binary in the CARGO_HOME dir. The only plus side of getting conda-forge to build the packages are that you wouldn't need to build the packages yourself at all. As long as someone in conda-forge had built that package then it would be available to cargo-easyinstall.
I should explain that conda-build was designed to build the non-python python dependencies so ocupies the same space as nix. Correctly setting the settings for conda-build is a bit of an art as I have seen some of the settings destroy rust binaries such that even --help doesn't work (the binary relocation flag for instance).
Take a look at:
https://anaconda.org/conda-forge/ripgrep
Much as I hate to say it, if you want windows binary support then building on top of all the hard hard work the python guys have done might be the right way to go (just don't use the conda client - it's a whole world of pain. Take their build bin and run).

(This is the last 6 months of my life condenced into one comment :-P )


Link delete

Description
This PR includes the following proposed change(s):

Delete links

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Refactoring / Documentation
[ ] Version change

if your change is a breaking change, please add breaking change label to this PR
How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Does the change impact or break the Docker build?

[ ] Yes
[ ] No

If Yes: Has Docker been updated accordingly?

[ ] Yes
[ ] No

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] New and existing unit tests pass locally with my changes

Change not needed


Get Canopy Cover Transformer working with Makeflow & Clowder Transformer

https://github.com/Chris-Schnaufer/extractor-drone_makeflow


Document motivation in comparison to DSG.

What does DSG do that's similar to what we want? What doesn't DSG do that we need? How does what we are proposing work with / build on DSGs?

DSG handles data from one or a collection of TimeSeries (point), Trajectory, Profile, TrajectoryProfile or TimeSeriesProfile. So measurements are from a point (TimeSeries and Profile) or points along a trajectory.  DSG can be used for at least some of what you want to do here if you say, e.g., I have a TimeSeries which is stream flow measured (or modeled) at a given point on a stream.  But DSG has no system to define a geometry (point, polyline, polygon, etc) and say e.g, The expected rainfall in this polygon for some period of time is 5304 liters, except to assign a nominal point (centroid?) or just use an ID (e.g., San Francisquito Catchment section 5A).

Separately: DSG has 3 systems for dealing with ragged arrays, but all of them are only to be used in the context of DSG and are not available for general use in CF.  Our system takes one of those systems (contiguous ragged array) and generalizes it for use for any purpose in CF, including an encoding of WKT.

Thanks for the head start @BobSimons - @marqh and I took actions from the call today to flesh out this discussion in our wiki/readme content here. More to come.

Thanks again for the comments @BobSimons. I am using them in the poster text.

I think we've done this issue justice in the readme and poster.


[HELP] How to create a PollableInputStream ?

I would like to create a PollableInputStream from a Rust asynchronous stream of byte chunks.
I have not found anything useful in the doc. Is this possible ?
Since PollableInputStream is actually an interface, isn't there any way to implement it on a custom struct?

Seems like PollableInputStream isn't implementable. Why?

Because nobody added it yet. I don't think there's any fundamental problem with it :)

Because nobody added it yet. I don't think there's any fundamental problem with it :)

Thank you for the clarification, I'm turning this issue into a feature request then. Sadly I think I lack the technical knowledge to implement this myself


Simplify unionWithKey

I strongly suspect that we can lift the go worker in insertModifying to the top level and use it to implement all seven cases in unionWithKey where one of the arguments is a leaf.

Hrm.... It's trickier than that. If m doesn't contain k, and we're combining t@(Leaf h l@(L k v)) with m, we can usually reuse t and the rest of the time we can reuse  l. Using insertModifying, we'd end up allocating a lot of new Leaf and L constructors, to the tune of something like six words per entry. That's a bit too steep. But I think it may still make sense to try to tease these things apart a bit.

Superseded by #285.


Update images twice a week

We been updating the images every day, that produce a big increase in the versions, even if that include changes, we should switch twice a week for now and check in the future how this measure was working

I think that once is enough.


Rewrite permissions plugin in C++

The permission system should be a core part of the server and should be rewritten in C++.

Also, plugin writers should be able to use permissions and groups easily. They should be able to create permissions and groups on the fly under some common name of the plugin writer's choosing (use std::map).
Worlds should be able to create its own permissions and groups easily using the above idea. E.g., worlds could have a group called admin (with world permissions visit,build,modify) that can build even when the owner sets a build limitation.
Pseudo code:
Server.RequirePermission("essentials.world")
world.RequirePermission("build")

Server.RequirePermission =
    MakePermission("server", permissionName)

world.RequirePermission =
    MakePermission("world_" + world.GetName(), permissionName)

The permission system should be:

[ ] able to log any permission violation (user x tries to do an action which requires permission y but the user doesn't have permission y) to a file
[ ] not being in Lua plugins nor the Client classes
[ ] prevent permission names conflicts by not allowing duplicates (could be achieved by prefixing every permission with the plugin name and check if a plugin registers same name twice)
[ ] prevents usage of blocks listed in a bad blocktype enum (like TNT, bedrock, etc.) without correct permission

[ ] have a placeable blocks option that has a list of blocks (not one option for each block)
[ ] having the permission system handle all permission checks (including checks for placeable blocks)
[ ] groups should be written in C++ too
[ ] operators should be optionally disabled
[ ] log all permission changes

We need two kinds of security layers for the permission system:

first layer is checking if a plugin is allowed in general to call a specific function of the Core
second layer checks if an user has the correct permission to call the plugins command which calls then a Core's function (which is protected by Layer 1)


[SITE] Updates when receiving the shipment

We keep only "Add a Comment" for now. There is a chance step 2 (2 - Add Details) will be removed.

@arispapapro estimation?

@arispapapro

reason for reopening?


Move hooks to init container and subdir

This PR:

Removes and moves hooks to init containers and chart subdirs
Removes the init container SA, since the perms are almost identical

Works towards #121.
Fixes #252

Tests are failing, because the job I removed can't fail ;)

This PR also fixes some lint issues found on golangci-lint 1.19.0


remove.sh prunes all images from Docker

Taking into consideration the limitations introduced by Docker when pulling images, we shouldn't remove the images from Docker when we run ./remove.sh. Doing this will lead to continuos pulls from the docker repository which could hit the daily limit for that IP quickly (and also makes another run.sh slower for the same image tags).
This should be an optional parameter like --prune to that script.

Hi @ricardolyn
Thanks for raising this; its a very valid point and should be fixed with #47
Cheers
Josh


Allow the config of the folder to find the lcov file

for example I prefer to use .coverage instead of coverage

Makes sense. +1

For reference (namely mine) here is where the change needs to be made

Fixed in https://github.com/jacogr/atom-lcov-info/commit/9bd06e00a3ae8bb268ecde61db5c1a99fbb93667


Add proto and port breakdown to kfree_skb

Example metrics:
# HELP ebpf_exporter_kfree_skb_total Timers number of calls to kfree_skb
# TYPE ebpf_exporter_kfree_skb_total counter
ebpf_exporter_kfree_skb_total{eth_proto="ipv4",ip_proto="tcp",port="38188",reason="SKB_DROP_REASON_NOT_SPECIFIED"} 3
ebpf_exporter_kfree_skb_total{eth_proto="ipv4",ip_proto="tcp",port="38188",reason="SKB_DROP_REASON_NO_SOCKET"} 2
ebpf_exporter_kfree_skb_total{eth_proto="ipv4",ip_proto="tcp",port="43536",reason="SKB_DROP_REASON_NOT_SPECIFIED"} 1
ebpf_exporter_kfree_skb_total{eth_proto="ipv4",ip_proto="tcp",port="43548",reason="SKB_DROP_REASON_NOT_SPECIFIED"} 1
ebpf_exporter_kfree_skb_total{eth_proto="ipv4",ip_proto="tcp",port="43560",reason="SKB_DROP_REASON_NOT_SPECIFIED"} 1
ebpf_exporter_kfree_skb_total{eth_proto="ipv6",ip_proto="udp",port="12345",reason="SKB_DROP_REASON_SOCKET_RCVBUFF"} 448205

This setup is a lot more complex to accomplish what #221 does easily. It also requires the right reason to be set when listen drops happen, which is not the case in v6.5 at the time of writing.
The tracepoint would fire a lot more often too, resulting in more overhead.

Overhead of calling into a tracepoint that does nothing seems to be ~15ns according to benchmarks from #236.


ipcRenderer always null

Hi!
I created a new Angular 7 app with angular-cli and added your package, as well as the necessary electron packages. I also wired everything up. However, I was not able to communicate between ipcMain and ipcRenderer. In fact, Electron service always returns null when requesting an instance of ipcRenderer.
Is this supposed to work with Angular 7?

@michaelfoidl I can confirm that this package works with Angular 7. It would be great if you could share some of your code to help you.

Since the project I am working on unforntunately is not public, I cannot just share the whole repository. But I'll try my best to sketch the structure.
This is my package.json-File:
{     "name": "norris",     "version": "1.0.0",     "private": true,     "scripts": {         "angular:build": "ng build",         "angular:serve": "ng serve"         "electron:build": "tsc -p ./src/tsconfig.electron.json",         "electron:serve": "wait-on http-get://localhost:4200/ && npm run electron:build && electron ./dist/electron/main.js --serve"         "start": "npm run angular:build && npm run electron:build && electron ./dist/electron/main.js",         "watch": "npm-run-all --parallel angular:serve electron:serve"     },     "dependencies": {         "@angular/animations": "~7.2.0",         "@angular/cdk": "^7.3.1",         "@angular/common": "~7.2.0",         "@angular/compiler": "~7.2.0",         "@angular/core": "~7.2.0",         "@angular/forms": "~7.2.0",         "@angular/material": "^7.3.1",         "@angular/platform-browser": "~7.2.0",         "@angular/platform-browser-dynamic": "~7.2.0",         "@angular/router": "~7.2.0",         "core-js": "^2.5.4",         "guid-typescript": "^1.0.9",         "jquery": "^3.3.1",         "material-design-icons": "^3.0.1",         "ngx-electron": "^2.1.1",         "rxjs": "~6.3.3",         "tslib": "^1.9.0",         "ytdl-core": "=0.29.0",         "zone.js": "~0.8.26"     },     "devDependencies": {         "@angular-devkit/build-angular": "~0.13.0",         "@angular/cli": "~7.3.1",         "@angular/compiler-cli": "~7.2.0",         "@angular/language-service": "~7.2.0",         "@types/electron": "^1.6.10",         "@types/jquery": "^3.3.29",         "@types/node": "~8.9.4"<EMAIL_ADDRESS>"^2.0.3",         "codelyzer": "~4.5.0",         "electron": "^4.0.4",         "electron-builder": "^20.38.5",         "npm-run-all": "4.1.5",         "ts-node": "~7.0.0",         "tslint": "~5.11.0",         "typescript": "~3.2.2",         "wait-on": "3.2.0"     } }
I have not modified the angular.json file generated by angular-cli.
This is my tsconfig.json-File:
{     "compileOnSave": false,     "compilerOptions": {         "baseUrl": "./",         "outDir": "./dist",         "sourceMap": true,         "declaration": false,         "module": "commonjs",         "moduleResolution": "node",         "noImplicitAny": true,         "emitDecoratorMetadata": true,         "experimentalDecorators": true,         "importHelpers": true,         "target": "es2018",         "paths": {             "*": [                 "node_modules/*",                 "src/app/modules/*"             ]         },         "typeRoots": [             "node_modules/@types"         ],         "lib": [             "es2018",             "dom"         ]     } }
There are two other tsconfig.json-Files extending this one: One for the electron-Part and one for the angular-Part.
This is the angular-Part:
{     "extends": "../tsconfig.json",     "compilerOptions": {         "outDir": "../dist/app",         "types": [             "node"         ]     } }
This is the electron-Part:
{     "extends": "../tsconfig.json",     "compilerOptions": {         "outDir": "../dist/electron",         "types": []     },     "include": [         "electron/main.ts"     ] }
All the angular-specific code is in src\app and all the electron-specific code is in src\electron. I have imported the NgxElectronModule in my AppModule and I am getting an instance of Electron-Service via DI in one of my services that is resolved via DI as well. However, for resolving my internal services I use InjectionTokens in order to be more flexible. In the constructor of the service, I try to access ipcRenderer (isElectronApp is true), but I always get null:
constructor(         @Inject(ElectronService)         electronService: ElectronService     ) {         this.electronService = electronService;         if (this.electronService.isElectronApp) {             console.log(this.electronService.ipcRenderer.sendSync("ping"));   // cannot resolve sendSync of null         }     }
I understand that this only works when serving the app inside electron, which I do via npm run watch - still null.

i  have some error but also shell is null
i used angular 7.2.2 ionic 4.1.1 capacitor beta-19

@niuwenbo in the attached screenshot I noticed that isElectronApp variable is false.

@bampakoa
In electron side if we are using webview then we have to enable the nodeintegration and due to that jquery does not work. But if we disable nodeintegration  then we are not able to access any electron service in angular.
Below is the code for Electron without nodeintegration:
main.js
`const {
app,
BrowserWindow,
globalShortcut
} = require('electron');
let mainWindow;
app.on('ready', () => {
mainWindow = new BrowserWindow({
width: 1920,
height: 1200,
frame: true
});
app.on('window-all-closed', function () {
app.quit();
})
mainWindow.loadURL('file://' + __dirname + '/index.html');
mainWindow.maximize();
globalShortcut.register('f5', function () {
mainWindow.reload();
});
});`
index.html
`

            tes app

`
in Angular side everything is null:
`if(this._electronService.isElectronApp){
        alert('ipc ren '+ this._electronService.ipcRenderer);
        alert('webFrame '+ this._electronService.webFrame);
        alert('remote '+ this._electronService.remote);

        if(this._electronService.remote)
        {
            alert('ipcMain '+ this._electronService.remote.ipcMain);

        }
    }`

@akjhacse you do not need to disable nodeIntegration for jquery to work, if you import it like below:
<!-- Insert this line above script imports  -->
<script>if (typeof module === 'object') {window.module = module; module = undefined;}</script>

<!-- normal script imports etc  -->
<script src="scripts/jquery.min.js"></script>

<!-- Insert this line after script imports -->
<script>if (window.module) module = window.module;</script>

@bampakoa This would not work for me since I do not import third party scripts like JQuery using AngularCLI's the scripts-section, but directly through TypeScript as modules. This means that I cannot influence the order in which the scripts are loaded.

Same issue here

Hello,
I have same issue with a Ionic 4 application, code below
if(this.electron.isElectronApp) {
      console.log("im in electron !");
      let pong: string = this.electron.ipcRenderer.sendSync('store-data');
      console.log(pong);
}

displays "I'm in electron" but then it shows an error "TypeError: Cannot read property 'sendSync' of null"

A question: I had the null problem, too. Enabling nodeIntegration  makes it work. But I got a security warning in Developer Tools: Electron Security Warning (Insecure Content-Security-Policy)
Is there a way to make ngx-electron work with nodeIntegration:false?

I thought the whole point of using ngx-electron was not to enable nodeIntegration...

I thought the whole point of using ngx-electron was not to enable nodeIntegration...

me too, and it's not even documented (at least haven't seen it). But I prefer event-driven over polling (in case of remote)

Hi guys,
First, thanks @bampakoa for this really nice module.
I got the same error then you guys:

(the 'true' is a console.log(this._electronService.isElectronApp);)

Hi guys,
First, thanks @bampakoa for this amazon module.
I got the same error then you guys:

(the 'true' value is from console.log(this._electronService.isElectronApp);)

As of Electron version 5.0.0, nodeIntegration is set to false by default. I came across the same error when using Angular 7+ and Electron 5. When I set nodeIntegration: true everything works correctly.

I faced similar issue, but I fixed it by changing the code from :
win = new BrowserWindow({  	width: 1200, height: 800, });
To:
win = new BrowserWindow({  	width: 1200, height: 800, 	webPreferences: { 		nodeIntegration: true, 		backgroundThrottling: false 	} });

I've noticed that ipcRenderer is always null when I use any version of electron above 4.  No matter what I set nodeIntegration to, ipcRenderer is always null.  I suspect that this projects needs to be updated to support electron version 5+.

generally ngx-electron was designed back in the time of Angular 4 and Electron 2.x
In the meantime, the electron team came up with some great security guidelines that should be taken into consideration. (their change of nodeIntegrations defaultValue was also made to increase security.
Long story short. The overall advice is to explicitly expose APIs to the Renderer by using a preload script. Having a custom proxy being defined in preload makes ngx-electron unnecessary. At least for my own projects.
However, if you want to bump the dependencies, feel free to submit a PR. It's Hacktoberfest 😄

I've bumped ngx-electron today and compiled it against<EMAIL_ADDRESS>in combination with<EMAIL_ADDRESS>.
Of course works ngx-electon only with nodeIntegration:true. This is due to the age of ngx-electron.
Back in the days when writing ngx-electron, nodeIntegration was true by default. Today, I consult you to dive deeper into Electron and use a custom preload script with tailored API being exposed to the Renderer. However, I fixed and tested the issues reported here. If you enable nodeIntegration, ipcRenderer and others are available as expected @ctchisholm

I get undefined IpcRenderer when running my Angular tests. Should I think about this is any specific way to get testing to work?
Thanks!

Angular CLI: 8.3.25
Node: 12.14.0
OS: win32 x64
Angular: 8.2.14
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.803.25
@angular-devkit/build-angular     0.803.25
@angular-devkit/build-optimizer   0.803.25
@angular-devkit/build-webpack     0.803.25
@angular-devkit/core              8.3.25
@angular-devkit/schematics        8.3.25
@angular/cli                      8.3.25
@ngtools/webpack                  8.3.25
@schematics/angular               8.3.25
@schematics/update                0.803.25
rxjs                              6.4.0
typescript                        3.5.3
webpack                           4.39.2

I have added to:
function createWindow() {
    win = new BrowserWindow({
      width: 800,
      height: 600,
      icon: `file://${__dirname}/dist/assets/images/logo.png`,
      webPreferences: {
        nodeIntegration: true,
      }
    });
...

But, I still get the error:
TypeError: Cannot read property 'sendSync' of null
I am using the latest version of:
ngx-electron
My package.json:
{
  "name": "color-palette",
  "version": "0.0.0",
  "main": "./electron/dist/main.js",
  "build": {
    "directories": {
      "output": "./dist/"
    },
    "appId": "colorpalette1",
    "category": "colorpalette1.app.color.histogarm",
    "win": {
      "target": "NSIS",
      "icon": "build/icon.ico"
    }
  },
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "electron:start": "ng build --watch -op=electron",
    "start:electron": "ng build --base-href ./ && electron .",
    "electron-build": "ng build --prod && electron .",
    "dist": "ng build"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "~8.2.14",
    "@angular/common": "~8.2.14",
    "@angular/compiler": "~8.2.14",
    "@angular/core": "~8.2.14",
    "@angular/forms": "~8.2.14",
    "@angular/platform-browser": "~8.2.14",
    "@angular/platform-browser-dynamic": "~8.2.14",
    "@angular/router": "~8.2.14",
    "angular-svg-round-progressbar": "^3.0.1",
    "gm": "^1.23.1",
    "got": "^10.6.0",
    "ngx-electron": "^2.2.0",
    "rxjs": "~6.4.0",
    "tslib": "^1.10.0",
    "zone.js": "~0.9.1"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.803.21",
    "@angular/cli": "~8.3.21",
    "@angular/compiler-cli": "~8.2.14",
    "@angular/language-service": "~8.2.14",
    "@types/electron": "^1.6.10",
    "@types/jasmine": "~3.3.8",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "~8.9.4",
    "codelyzer": "^5.0.0",
    "electron": "^8.1.1",
    "electron-builder": "^22.4.1",
    "electron-packager": "^14.2.1",
    "jasmine-core": "~3.4.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~4.1.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~2.0.1",
    "karma-jasmine-html-reporter": "^1.4.0",
    "protractor": "~5.4.0",
    "ts-node": "~7.0.0",
    "tslint": "~5.15.0",
    "typescript": "~3.5.3"
  }
}

Hey was getting the same when nodeIntegration was false and set it to true and now after that correction everything is returning undefined.

Angular version 10 electron version 10 and ngx-electron version 2.2.0

In my case only isElectronApp is true all other properties are null or ReferenceError
npm 6.14.11
Angular CLI: 11.2.2
Node: 14.15.5
OS: win32 x64
Angular: 11.2.3
function createWindow() {
  mainWindow = new electron.BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true,
      enableRemoteModule: true,
      backgroundThrottling: false,
      preload: path.join(
        electron.app.getAppPath(),
        "dist/assets",
        "preload.js"
      ),
    },
  });

  mainWindow.loadURL(
    url.format({
      pathname: path.join(__dirname, `/dist/index.html`),
      protocol: "file:",
      slashes: true,
    })
  );

The same issue with angular 11 and ngx-electron 2.2.0

angular11, electron 12.0.7 and ngx-electron 2.2.0
I read the electron documentation and have found out, that the contextIsolation is by default true for securityreasons.
contextIsolation must be false and nodeIntegration as already described must be true.
good luck
function createWindow () {
mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true,
contextIsolation : false
}
})

This was the answer I needed. Thank you!

angular11, electron 12.0.7 and ngx-electron 2.2.0
I read the electron documentation and have found out, that the contextIsolation is by default true for securityreasons.
contextIsolation must be false and nodeIntegration as already described must be true.
good luck
function createWindow () {
mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true,
contextIsolation : false
}
})

the only correct answer for latest versions of electron and angular.
if somone need "electronService.remote" not to be null, also add "enableRemoteModule: true" to "webPreferences"

angular11, electron 12.0.7 and ngx-electron 2.2.0
I read the electron documentation and have found out, that the contextIsolation is by default true for securityreasons. contextIsolation must be false and nodeIntegration as already described must be true.
good luck
function createWindow () { mainWindow = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeIntegration: true, contextIsolation : false } })

@lerchenreich I followed this solution but issue is not resolved in Angular version 13.3.3, electron version 19.0.4
I am trying to use desktopCaptures API in app.component.ts
    if (this.electronService.isElectronApp)      {       this.electronService.desktopCapturer.getSources({ types: ['window', 'screen'] }).then(async sources => {        // Other logic       });     }
The desktopCapture function is coming undefined


Add short version of --pipeline arg to 'pachctl get-logs'

@jdelfino many thanks for the pull, I see you've already signed our CLA. I'll get CI running on this and get it merged shortly.


Abbreviate long qualified test classes when displaying in console

Omit the middle packages of a long test class name. For example:
org.gradle.api.internal.tasks.testing.logging.TestWorkerProgressListenerTest
becomes
org.gradle...testing.logging.TestWorkerProgressListenerTest
Basically, it keeps the name under 60 characters (though it always includes the unqualified class name). Technically, it doesn't perfectly optimize the name, for example a package name on one side may not fit but the other does; however, I found that to add much complexity for little gain.
Issue: #2547
Context
Based on discussion in #2547 and suggestions from contributors.

I wouldn't include the package at all. It's pretty much just noise

also, please don't forget functional tests

We should also mention the change in the release notes (and potentially somewhat explain the behavior in the user guide section of the console).

@bmuschko Feedback addressed. I weakly disagree that this deserves a release notes mention, so I added it but I don't think we need an image for it or anything. We'll have much more interesting GIFs ;)
'nother review requested sir

Rebased and merged with 5c91f12


Proposed workflow for task supervisors

I'd like to propose a simple workflow for those who supervise other users on tasks. Basically, the supervisor S will create a fork of this repository. The task assignee A will the fork the supervisors repository.
When the assignee has work to show the supervisor he sends a pull request to S. The supervisor studies the pull request and accepts or rejects it. If he rejects, he clearly states the reasons for the rejection so that the assignee knows what they need to improve.
When the supervisor is satisfied with the work the assignee has done, he know sends a pull request upstream to the master repository. It will be reviewed and imported for the team as a whole to enjoy.
What are your thoughts about this workflow?

@Prince-linux please label "Proposal"

I think I've changed my mind. If you end up having different supervisors on different tasks, you have to delete and fork over and over again.
If we were to have a more strict mentoring system it would make sense for the mentee to fork their mentors repo.


⚠ ClamAV has degraded performance

In f95197b, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 67 ms

Resolved: ClamAV performance has improved in f484d5f.


added Ctors with "uid"

We need to specify "uid" parameter for StSequence, as it was provided in old StOfTrain.
Also, it can make simpler (or may be faster) these lines, without additionally encapsulating StSequence by StLambda only to set "uid".
@yegor256 WDYT?

@rultor merge

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@yegor256 Done! FYI, the full log is here (took me 5min)


added axis flag to decompose

as noted in #184.  This allows user to specify decomposition over voxels or images.

Coverage increased (+0.4%) to 57.926% when pulling 436ce0b07e247e29fb38e90c1cdf61c88fe5f4cc on decomp into b9b8f0d92625b6e46e02dcf622e895c670cfd8c3 on master.


cannot download

nodejs: v20.18.0
windows 11 23H2
The prev version can run normally
but the version with vmap added is not working

Thanks for raising. I'm also on node v20.18.0 and windows 11 23H2 but can't recreate this issue.
Would you be able to try run npx create-s2ts@latest to make sure npx is fetching the latest version and its not a cache issue?

Thanks for raising. I'm also on node v20.18.0 and windows 11 23H2 but can't recreate this issue. Would you be able to try run npx create-s2ts@latest to make sure npx is fetching the latest version and its not a cache issue?

I have tried using it this way, but the problem still persists.
and i try npm cache clean --force
Maybe it's because I use a mobile network?

I've just pushed another patch version to remove the need for copyFileSync. Trying npx create-s2ts@latest again might work now

Gonna close for now but please open again if you still have any issues


Unable to generate apex test class list

Describe the bug
Command to execute the apex test list runs into error during execution
To Reproduce
Open a salesforce project Repository
Run the command
 sfdx sfpowerkit:source:apextest:list -p common/post --resultasstring

sfdx sfpowerkit:source:apextest:list -p common/post --resultasstring

Expected behavior
To list down the Apex test classes associated with the repository
Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

OS: macOs 11.4
Node Version: 15.8
Version of sfpowerkit[e.g 1.45.0]: 3.1.6
Salesforce Org Version [ In case of pre release window ]: NA

Additional context
The command is of course in beta and I have seen it working in the past. Currently, it runs into an exception. Tried in different repo types

@aly76  and @manisfdcsfdx  can you triage this one

Might be a bad dependency in the latest build. Would suggest releasing a patch of sfpowerkit and seeing if the issue persists.


[Icon Update] Update Icon for Golang

[x] I'm sure this issue is not a duplicate.

[x] I'm submitting an icon request:

Type: go

Icon Name: ``

Sample original Icon:

Extensions: go

Filenames: ``

Language ids: ``

Language Extensions:

More info:
Golang updated their logo : https://blog.golang.org/go-brand
Link to new logo files: https://blog.golang.org/go-brand/Go-Logo/SVG/

To be more specific, Golang had a mascot not a logo(until now). Going forward the logo listed above will be what's used on the official site & marketing material — so vscode-icons should be updated accordingly.

Can there be an option to go back to the old one :(

The old icon is still in our collection. Use the customization feature to enable it. Read all about it in the wiki.


Jest cannot parse the modules when testing

I just started using react-hook-forms as well as the resolvers. I ran into this problem when I do unit tests with @testing-library and jest. I can fix this by modifying the yup.js file in the dist folder.
import { transformToNestObject } from 'react-hook-form';  ---> const { transformToNestObject } = require('react-hook-form');
export const yupResolver ... ------> module.exports = { yupResolver };
I'm not sure whether I'm missing something on the config or it's just a small bug.

Hi 👋🏻
A possible solution: https://github.com/react-hook-form/resolvers/issues/97#issuecomment-754733737

Thank you @jorisre.


Rename ServiceID reference to ServiceIDClean

Issue #, if available:
aws-controllers-k8s/community#1009
Description of changes:
ServiceID was removed in a recent commit. One reference was left in clusterserviceversion.yaml.tpl. This PR simply renames that reference to ServiceIDClean to prevent breakage.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/ok-to-test

Oh sorry about that! Actually I think ServiceAlias will be a more appropriate variable, given the context.

Oops, sorry about that. Thanks
/lgtm


should system.autoUpgrade still exist?

There have been a few issues that pop up in unofficial community spaces about how autoUpgrade would break their systems. The most recent of which was that because their configuration was not in the default location, their system lost some unique configuration changes.
Now while I havent confirmed exactly how true this is, I think in general an option like this serves to be more problematic on a system like NixOS more than anything. There are also other concerning cases, such as a system that has both auto upgrade and auto gc enabled, imagine having an update bump and then a gc soon after..

You raise a fair point, though I do genuinely still think an option like this shouldn't exist. I imagine the overwhelming majority of NixOS users do not use this option.
Furthermore, given https://github.com/NixOS/nixpkgs/issues/347315, it's fairly evident that this module is not tested for actual "functionality". Who knows when and how long it's been broken, maybe its a user-specific issue, the point is that I don't believe it is given enough attention to warrant keeping it around. If users want to setup automatic upgrades, they should prefer setting up imperative services or timers, and not a module within nixpkgs!

It’s actually really common to use this option on servers and I’m not sure why you think it’s so marginal.

As I was writing out a response, I started to backtrack on my above thoughts. I forget to consider that ultimately, this type of thing is opt-in, and anyone who chooses to do so, does so at their own discretion. Breakages can happen upgrading manually or automatically, so I guess my point is a bit moot.
Anyways I realize I'm arguing a nonsensical POV. I don't agree with automatic upgrades, but that's an entirely personal opinion, and it doesn't make sense on a broader scale. Furthermore, the choice to opt into automatic upgrades is ultimately a personal one, and finally, there are realistically no issues an automatic upgrade would have that a manual upgrade wouldn't. If your system is going to break, it will break, and even then, we just get to roll back to a fixed state.
Closing 👋

What I was typing, for those curious
From my own experience and from what I see on the Discourse, GitHub issues, Matrix etc. upgrades have chances to cause regressions in people's working configuration. Just recently we had the whole NVIDIA and Linux 6.11 issue which broke a lot of people's configurations, we've had plenty of even larger-scale issues before that (looking at the Rust regressions), and then we've also had smaller regressions that only affect a smaller group yet deserve equal consideration. For the most part I also presume these users upgraded manually, only because there is usually no evidence of them suggesting otherwise (though admittedly that presumption itself is biased).
In a rolling distribution like NixOS, encouraging automatic upgrades seems to be akin to shooting oneself in the foot. To be fair, it's great that at least on NixOS a broken system can be rolled back from very easily thanks to generations, but I still believe that the practice shouldn't be encouraged. Everyone has unique configurations and its downright impossible to catch every single possible issue and regression that squeezes past our already comprehensive testing suite.

As I was writing out a response, I started to backtrack on my above thoughts. I forget to consider that ultimately, this type of thing is opt-in, and anyone who chooses to do so, does so at their own discretion. Breakages can happen upgrading manually or automatically, so I guess my point is a bit moot.
Anyways I realize I'm arguing a nonsensical POV. I don't agree with automatic upgrades, but that's an entirely personal opinion, and it doesn't make sense on a broader scale. Furthermore, the choice to opt into automatic upgrades is ultimately a personal one, and finally, there are realistically no issues an automatic upgrade would have that a manual upgrade wouldn't. If your system is going to break, it will break, and even then, we just get to roll back to a fixed state.
Closing 👋
What I was typing, for those curious

In my use case at least, these are on my servers, and I have a small service that runs after the auto upgrade that copies the flake.lock file to a persistent and shared repo after update. As all my servers are running impermanent root by default anyways, in the catastrophic case, I can copy the few persistent directories over, drop my configs in, and copy the last working flake in if the system somehow completely hoses itself. Otherwise they just roll and I don't have to worry about them. I would completely agree that autoUpgrades on the unstable branch is a bad idea though.

You can autoUpgrade without updating the lock file. This way you only pull your own configuration changes.


Create limayrac.txt

Institut Limayrac is a french school of programming. They train students in two-years study (and more) to be programmers.
This school is located in Toulouse, France (Avenue de Limayrac, 31400 Toulouse).
Only Limayrac students and staff has access to limayrac.fr email addresses.

@OverSpeed301 Pull request merged. Thank you for your contribution!


Design 'TokenValidation' Policy that guides token validation by SecurityTokenHandlers

Api's on this object would allow users to set standard items in tokens that don't change per token, modify claims, etc. A SecruityTokenHandler would have a ctor that takes such an object.
Authority
MaximumTokenSize
ClaimsMapping
SecurityKeys,
Algorithms

We don't need SecurityKeys, as those are in TokenValidationParameters.
Algorithms would be a restriction, for example only allow RSA256, can pass on this for 5.2.5
ClaimsMapping would be a delegate we can make a new issue here.

Dropping this as we have locked on a JwtInboundPolicy else where.


Quick Switcher ++ Symbol Mode Indentation Disappears with Minimal Theme

Before you open a bug report
Disable plugins and snippets that could be causing a conflict. Update to the latest versions of the following, and restart Obsidian:
I have done so.
Confirm that the bug is not present when Minimal theme is off
Confirmed.
Describe the bug
Quick Switcher ++ includes a symbol search mode. Among other items, this search mode includes a list of all headings in the currently open file. Ordinarily, this list of headings is indented in outline style. But when one uses the Minimal Theme (as opposed to the default Obsidian theme), the headings list becomes a flat hierarchy, devoid of indentation.
To reproduce
Toggle between default Obsidian theme and Minimal Theme
Expected behavior
I anticipated that the headings would remain indented in Quick Switcher ++'s symbol search mode.

Interestingly, "Another Quick Switcher", which also has an indented heading search mode (but is not usable by me for other reasons), maintains indentation of this sort in both the Minimal and Default Obsidian themes.


How to add validation for    html?

Hi, great framework, thanks so much!
I see that you have validation that can be used for RadioButton and TextInput components.
What about other common html (text, select, checkbox) tags?

Yes, veasy could handle all of these.
After all, veasy only look for the React elements which have the name which has been listed in the schema. :)

The easiest way to ensure, state, updates and error text is properly managed by your validation framework would be to create a TextAreaInput.js, Select.js (one per html tag) etc. files based on your TextInput.js file?
I can't see how to wire up the simple html tag (,  etc.) to your validation framework...

1. 1st

I can't see how to wire up the simple html tag (, etc.) to your validation framework...

You can't.
Because veasy will ignore all the html tag intentionally.
Why? Because all the 3 props that veasy will inject to your components: status, errorText and value, they are not valid HTML attribute. Even veasy willing to bind them to plain HTML tag, React will give you error at runtime.
And without creating your own component, how could you switch the style based on the status and showing the errorText? :)
2. 2nd

The easiest way to ensure, state, updates and error text is properly managed by your validation framework would be to create a TextAreaInput.js, Select.js (one per html tag) etc. files based on your TextInput.js file?

My TextInput.js is just to show how to use veasy with your component, there are multiple ways to create your own component, You don't need to use my code, as long as your component could consume that 4 props (status, value, errorText and onChange), you are good to go. :)

Ok, thank you so much.


Invoke autocommands on entering and leaving the cmdline-window

Problem: There's no event to do something after the cmdline-window is closed (execute :q or press <C-c> in cmdline-window). There's CmdwinLeave event but it is triggered before cmdline-window is closed so it's hard to do something with the latest active window.
Solution: Add new event CmdwinLeavePost, which is triggered after cmdline-window is closed.
What do you think?

Codecov Report

Merging #4762 into master will decrease coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #4762      +/-   ##
==========================================
- Coverage   81.47%   81.46%   -0.01%
==========================================
  Files         117      117
  Lines      145489   145491       +2
==========================================
- Hits       118539   118528      -11
- Misses      26950    26963      +13

Impacted Files
Coverage Δ

src/autocmd.c
87.65% <100%> (+0.01%)
:arrow_up:

src/ex_getln.c
76.92% <100%> (ø)
:arrow_up:

src/ui.c
68.88% <0%> (-0.98%)
:arrow_down:

src/os_unix.c
63.33% <0%> (-0.05%)
:arrow_down:

src/terminal.c
81.25% <0%> (-0.04%)
:arrow_down:

src/message.c
76.99% <0%> (+0.04%)
:arrow_up:

src/gui_gtk_x11.c
58.01% <0%> (+0.04%)
:arrow_up:

src/if_xcmdsrv.c
86.35% <0%> (+0.17%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8750026...ef5ab0d. Read the comment docs.

Problem: There's no event to do something after the cmdline-window is
closed (execute :q or press <C-c> in cmdline-window). There's
CmdwinLeave event but it is triggered before cmdline-window is closed
so it's hard to do something with the latest active window.
Solution: Add new event CmdwinLeavePost, which is triggered after
cmdline-window is closed.
What do you think?

There is no WinLeavePost either.  You can use a WinEnter autocommand
that uses something that was set by CmdwinLeave or WinLeave.
au * CmdwinLeave let g:left_command_win = 1
au * WinEnter call WinEnter()
func WinEnter()
  if g:left_command_win
    let g:left_command_win = 0
    " work work work
  endif
endfunc

Any disadvantage?
--
hundred-and-one symptoms of being an internet addict:
6. You refuse to go to a vacation spot with no electricity and no phone lines.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Thanks Bram for quick replay. The problem is that with your code (assuming the small fix to swap the event name and *) g:left_command_win remains 1 after closing the cmdline-window with :q. WinEnter event is not fired on closing the cmdline-window.

Is there any chance to change the WinEnter event been fired on closing the cmdline-window?
Removing block_autocmds and unblock_autocmds is easy, but that would be a breaking change.

Is there any chance to change the WinEnter event been fired on closing the
cmdline-window?
Removing block_autocmds and unblock_autocmds is easy, but that would be a
breaking change.

I'm not really against it.  WinEnter happens very often and I don't expect
autocommands to do anything drastic.  Perhaps they update the status line or
some colors.  Which would actually be appropriate when leaving the command line
window.
--
How To Keep A Healthy Level Of Insanity:
6. In the memo field of all your checks, write "for sexual favors".
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Bram, is there any chance to get this pull request merged?

Bram, is there any chance to get this pull request merged?

I need to have another look at it. Moved it up in the todo list.
--
Microsoft says that MS-Windows is much better for you than Linux.
That's like the Pope saying that catholicism is much better for
you than protestantism.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


Unable to write to Workspace Settings because no workspace is opened. Please open a workspace first and try again.

Issue Id: 8b0fd4cc-8837-fc8b-d3bf-66f7461ca432Versions - 1.25.1Stack Error: Unable to write to Workspace Settings because no workspace is opened. Please open a workspace first and try again./vs/workbench/parts/search/browser/replaceService.ts#73:49/vs/workbench/parts/surveys/electron-browser/languageSurveys.contribution.ts#62:2/vs/workbench/parts/tasks/electron-browser/task.contribution.ts#147:58 (this)/vs/workbench/parts/search/browser/replaceService.ts#96:26 (replaceService)/vs/workbench/parts/search/browser/replaceService.ts#85:8 (_completePromise)/vs/base/common/async.ts#356:8 (_super)/vs/base/common/async.ts#340:9 (value)/vs/base/common/winjs.base.js#1415:0 (_this)/vs/base/common/async.ts#336:2 (isDisposed)/vs/workbench/parts/search/browser/replaceService.ts#84:56 (_taskSystem)/vs/workbench/parts/tasks/electron-browser/task.contribution.ts#1246:7 (executionEngine)/vs/workbench/parts/tasks/electron-browser/task.contribution.ts#709:20 (Build)/vs/workbench/parts/tasks/node/taskConfiguration.ts#1348:36

Yes, you cannot write a workspace setting if no workspace is opened.


After match how can we specified the profile to the project?

When I user cert & sigh for code signing I use update_project_provisioning  to update the project to use the right profile.
Now I want to use a more easy way such as match for code signing  The question is after match installed the cert & profile how can I update it to the project?

Hi @sepbot have you use match for ur development alse?


HDEL or HEXISTS on non-existing keys

Hello,
I am using this redis go client for my application,
While doing a HGET on a non-existing field I am getting an error : "wrong-type" which means the field doesn't exist.
value, err := client.Cmd("HGET",key,field).Str()
However, a HDEL or HEXISTS returns no error.
err := client.Cmd("HDEL", key, field).Err
in this case err is nil.
Am I understanding anything wrong?

Hi there! What's happening is that you're using Str to attempt to retrieve the string value of the response, but for HGET if either the key or field aren't set then a Nil response is returned, which is a different type than string. So you can do:
r := client.Cmd("HGET", key, field)
if r.isType(redis.Nil) {
    // do something in this case
}
value, err := r.Str()
if err != nil {
    // do something in this case
}

If you find yourself doing that often and it becomes a pain you can a little wrapper, something like:
func maybeStr(r *redis.Resp) (string, bool, error) {
    if !r.IsType(redis.Str) {
        return "", false, nil
    }
    s, err := r.Str()
    return s, true, err
}

Hope this helps, let me know if you have any more questions!

Thank you for explaining this,
while testing this HEXISTS command:
//check if key exists:
103
104         p := client.Cmd("HEXISTS", key, field)
105         if p.IsType(redis.Nil) {
106                //do something
log.Println("key doesnt exist")
107
108         } else {
109                 log.Println(p.Int)
110
111         }
Its not entering p.IsType(redis.Nil) though field doesnt exist.
On Tue, Nov 22, 2016 at 1:17 PM, Brian Picciano<EMAIL_ADDRESS>wrote:

Hi there! What's happening is that you're using Str to attempt to
retrieve the string value of the response, but for HGET if either the key
or field aren't set then a Nil response is returned, which is a different
type than string. So you can do:
r := client.Cmd("HGET", key, field)
if r.isType(redis.Nil) {
// do something in this case
}
value, err := r.Str()
if err != nil {
// do something in this case
}
If you find yourself doing that often and it becomes a pain you can a
little wrapper, something like:
func maybeStr(r *redis.Resp) (string, bool, error) {
if !r.IsType(redis.Str) {
return "", false, nil
}
s, err := r.Str()
return s, true, err
}
Hope this helps, let me know if you have any more questions!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mediocregopher/radix.v2/issues/49#issuecomment-262368361,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKFkPO6W0INEEd3zRHiuWipnG4Y0QDfCks5rA1wHgaJpZM4K58Ya
.

np! HEXISTS will return either a 0 or a 1, both Int types, to indicate existence of the key. So you can use the Int method for that one:
i, err := client.Cmd("HEXISTS", key, field)
if err != nil {
    // do something
}
exists := i == 1

If you check out the docs at http://redis.io/commands/hexists and related commands you can see the exact types that each command returns. The responses from client.Cmd will be directly mapped to those types, so if the docs say a command returns a Bulk String or Simple String you should use the Str method, if it returns an Integer then you should use the Int method, etc... Some commands will return two different types depending on circumstances (like GET and HGET), so in those cases you may have to use IsType to determine which you got.


Hand History Download Times Out

I have tried to download my HH from the last 2 weeks and it keeps timing out while fetching the hands. Has anyone noticed this happening since the new Global update?  I think it has something to do with the Capcha they added in.

A few others have mentioned this, I haven't had a chance to debug yet.

https://i.imgur.com/JJzdJZB.png looks like the port is getting disconnected


Handle reset

OnItemSourceCollectionChanged should really handle all operation types, but at least catching this allows for a full deck reset without empty spaces.
Please see https://github.com/markolazic88/SwipeCardView/issues/20

Thanks for contributing!


Add gitignore and remove local.properties

What does this PR do?
local.properties shouldn't be checked into version control because it is autogenerated and varies per user. This PR also adds a gitignore for android and mac to help make sure unnecessary files are not checked into version control.
Test Plan
None
Related PRs and Issues
None
Have you read the Contributing Guidelines on issues?
Yes

@lohanidamodar are you good to merge this?

@christyjacob4 would you please merge this when you get a chance?


Dockerfile refactor removes extra node_modules

Removes extra copy of node_modules directory which reduces the size of the docker image.

+1
the this please

test this please
(for intermittent failure result from jenkins to be cleared)

:+1:


Build ios Error : ReferenceError: Can't find variable: io

IMG :
File index.html
<!DOCTYPE html>

        <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
        <meta name="format-detection" content="telephone=no">
        <meta name="msapplication-tap-highlight" content="no">
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
        <link rel="stylesheet" type="text/css" href="css/index.css">

        <title>Hello World</title>

                <input type="text" id="broadcast-id" placeholder="broadcast-id" value="sontung">
                <button id="demo">Click here!</button>

            <video id="video-preview" controls loop></video>

File index.js

var app = {
    // Application Constructor
    initialize: function() {
        this.bindEvents();
    },

    // Bind Event Listeners
    //
    // Bind any events that are required on startup. Common events are:
    // 'load', 'deviceready', 'offline', and 'online'.
    bindEvents: function() {
        document.addEventListener('deviceready', function(){

            // code "rmc3.min.js" here!!

            // ......................................................
            // ..................RTCMultiConnection Code.............
            // ......................................................

            var enableRecordings = false;

            var connection = new RTCMultiConnection(null, {
                useDefaultDevices: true // if we don't need to force selection of specific devices
            });

            connection.enableScalableBroadcast = true;

            connection.maxRelayLimitPerUser = 1;

            connection.autoCloseEntireSession = true;

            //connection.socketURL = '/';

            connection.socketURL = 'https://rtcmulticonnection.herokuapp.com:443/';

            connection.socketMessageEvent = 'video-conference-demo';

            connection.session = {
                audio: true,
                video: true,
                oneway: true
            };

            connection.sdpConstraints.mandatory = {
                OfferToReceiveAudio: true,
                OfferToReceiveVideo: true
            };

            var broadcastId = 'sontung';

            var demo  = document.getElementById('demo');
            demo.addEventListener('touchstart', function(){
                alert(broadcastId);
                connection.join(broadcastId);

            }, false);

            connection.onstream = function(event) {
                alert(event);
            }

        });

    },
    // deviceready Event Handler
    //
    // The scope of 'this' is the event. In order to call the 'receivedEvent'
    // function, we must explicitly call 'app.receivedEvent(...);'
    onDeviceReady: function() {
        app.receivedEvent('deviceready');
    },
    // Update DOM on a Received Event
    receivedEvent: function(id) {
        var parentElement = document.getElementById(id);
        var listeningElement = parentElement.querySelector('.listening');
        var receivedElement = parentElement.querySelector('.received');

        listeningElement.setAttribute('style', 'display:none;');
        receivedElement.setAttribute('style', 'display:block;');

        console.log('Received Event: ' + id);
    }
};

app.initialize();

How to fix it? Please help me! Thanks!

Erro img :

did you find any solution? i am getting the same error


UAT v0.17.0

Sponsor to user acceptance test Data Curator

review acceptance tests
download, install, and test Data Curator
report issues

cc: @louisjasek

Closing as we have 0.18.1 released


[BEAM-1282] Support @FinishBundle output in DoFnTester

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[x] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[x] Make sure tests pass via mvn clean verify.
[x] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[x] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

Coverage increased (+0.03%) to 70.684% when pulling bb31f77faecdfb75f748af9ca4e912ca5461c2f6 on rfevang:dofntester-support-finishbundle-output into 42c88f41598a49e98a2ec376edfcbf1cd8dbd9e7 on apache:master.

R: @kennknowles
Thanks! Taking a look.

I notice you have left the checkbox for ICLA unchecked. This is a small contribution, so an ICLA isn't necessary, but if it is not a problem for you and/or you plan on contributing more, please do file one.

Thanks for the review!
I'll look at the ICLA and sign it before my next contribution if I make another one, right now I've just addressed a couple of smaller things that caused issues in my pipeline.

Coverage increased (+0.04%) to 70.701% when pulling 815d38dd3b534c788ae00df6651b491b4c717d56 on rfevang:dofntester-support-finishbundle-output into 42c88f41598a49e98a2ec376edfcbf1cd8dbd9e7 on apache:master.

Filed the ICLA.

Ping! It'd be nice to get this in for 2.1.0.

LGTM! Merging now.

Do you have a JIRA account? I forgot to assign https://issues.apache.org/jira/browse/BEAM-1282 to you, but I would still assign the resolved issue to you for the record.

My JIRA username is 'rfevang'.
Thanks!


Improves how the params are received in the annotation

What this does?
Allows specifying named params in the service annotation
Relates to #599
Checklist

[ ] Reviewed the diff to look for typos, println and format errors.
[ ] Updated the docs accordingly.

@juanpedromoreno with these changes, the scenario in #599 is covered since it's using the scala file for generating the proto file. See https://github.com/sander/rpctest/compare/master...fedefernandez:ff/update-namespace?expand=1
I would want to create two following PRs. One with a new setting in the idl plugin for adding those annotations params and another one for the docs. Does it make sense?


An idea I had.

Some people have been able to delete posts, but most the time they use it to actually help. This gave me an idea: what if you choose someone, who can delete posts, so that if someone does something wrong, that person can delete the post- such as inappropriate pictures. They can delete things that others don’t want to see- if they use the power to just get people angry, then you can remove it. That way, it’s fair. Or we can just do something like a democracy, and people vote for who they want to be able to delete posts.

Like a moderator?

Sorta, except max “elects” them. They cannot ban people, but instead can delete posts.

i like this idea but it's very very hard to pick people who are trustworthy and wont' abuse the power.
it's also very hard work to moderate and it can be kind of traumatizing

so you would have to go on daily to do it yourself? if you have experience in machine learning could you try to make artificial mods?

i have enough experience in machine learning to know that this isn't a good idea. https://www.bbc.com/news/technology-49424381

how about supervised learning? as far as i know, youtubes system is just putting data in a black box but with supervised you can teach it what you want

youtube’s system is trained by human moderators. moderation has a lot of
tricky decisions, machine learning might help with spammers but not with
bullying and racism for instance
On Fri, Mar 12, 2021 at 3:48 PM yesyoucangivememoney.nohax.exe <
@.***> wrote:

how about supervised learning? as far as i know, youtubes system is just
putting data in a black box but with supervised you can teach it what you
want
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/MaxBittker/sandspiel/issues/125#issuecomment-797676078,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABNEHGXJI5T2W25AB6KU5W3TDJHXJANCNFSM4X4YGFNQ
.

What if you just make it generate a list of the most common words among flagged posts outside of a whitelist (of ordinary common words) so you (the owner) could then just approve or reject suggestions for word bans, and then auto-flag any posts containing verified innapropriate language from the word lists for review, auto-deleting posts from the same IP with less than 5 seconds between them and over 90% similarity to prevent spam containing profanity from causing a dDOS attack?


fix(README): fix duplicate event

Coverage remained the same at 100.0% when pulling 6d31d46766445701130cfdae1941673f100e816b on tsujiura:develop into 72928dd78aaa83d1d2c5695edd61400aa0196216 on angular-ui:master.

Thanks 👍


Memoize package_of function

This can be quite slow when str(obj) is slow

Merging this tomorrow if there are no further comments


Handle literal in meta_from_array

Attempt at fixing https://github.com/dask/dask/pull/6680#issuecomment-707300661 .

cc @mathause

Thanks! This does seem to fix the issue (I tested locally but did not run the xarray test suite over it). Testing for the error message may be brittle, though (but I also don't know how to do this better).

Testing for the error message may be brittle, though (but I also don't know how to do this better).

I generally agree with that, but it seems that such issues have no better ways to be handled. Due to the lack of a more concise way to do it, we already have similar handling in https://github.com/dask/dask/blob/c631d3218aaa8c8cfcd15b0c1840c4a422fd9102/dask/array/utils.py#L128-L134
With the above said, I'm happy to change the proposed solution for something more resilient if anyone can suggest an alternative.

Agreed with everyone here that this seems brittle but I don't immediately see a better way to handle it.

I just tried the xarray tests with this branch and this fixes 4 of our 5 failures. I don't understand the remaining failure, yet.

What if we just special case when x is a str?
Admittedly I don't have a good handle on the use case here. More context would be very welcome.

I just tried the xarray tests with this branch and this fixes 4 of our 5 failures. I don't understand the remaining failure, yet.

Please keep us posted.

What if we just special case when x is a str?

Who is x in your suggestion?

I found the problem - with this workaround the dtype of a str array does not change in-place:

import numpy as np
import dask.array as da

bar = da.zeros_like(da.array("bar"), dtype=bool)

bar.dtype
# returns  dtype('<U3')

bar.compute().dtype
# returns bool

For empty string and float it is correct
da.zeros_like(da.array(""), dtype=bool).dtype
# returns bool
da.zeros_like(da.array([1.2, 3.4]), dtype=bool).dtype
# returns bool

which is why 4 of the 5 tests pass. As for the use case - we try to compare
bar & np.array(False)

which then returns
TypeError: operand type(s) all returned NotImplemented from
__array_ufunc__(<ufunc 'bitwise_and'>, '__call__', dask.array<zeros, shape=(), dtype=<U3, chunksize=(), chunktype=numpy.ndarray>, array(False)): 'Array', 'ndarray'

What if we just special case when x is a str?

Who is x in your suggestion?

x is the name of the variable meta_from_array takes

Do I understand correctly the meta.astype(dtype) is there because meta is not necessarily a numpy array? So we want to ensure it does not change its type? (Else we could just do meta=np.array([], dtype=dtype)?).

meta was introduced because we need to ensure we know what type the output array will have before computing it, and that may not be a NumPy array. The .astype(dtype) is part of the mechanism to ensure the dtype is also correct, each operation may have different requirements regarding to dtype and that's there to ensure meta will have the correct one. In summary, meta tries to infer the array's output type, its dtype and ndim.

Given you already test for str(e) in ["invalid literal", "could not convert string to float"] - is the additional test necessary?

For the case at hand you're correct the test isn't strictly necessary. However, I've been taking the approach of not generalizing fixes, meaning if this exception exists in a completely unrelated case (e.g., a non-literal array that may happen to raise the same error message) we won't just assume we're handling it correctly when we probably aren't. This helps prevent silent errors that are much harder to be found in the future.

If yes you can probably make it more general by doing meta.dtype.kind == "U".

Yes, I think this is a better approach than comparing against np.array(""), thanks for the suggestion. I'll just pushed a fix, could you try it out and let us know if that resolves all issues?

What if we just special case when x is a str?

Who is x in your suggestion?

x is the name of the variable meta_from_array takes

In the case above x isn't necessarily a str, but anything that happens to be converted into a NumPy literal. So we actually need to check the final meta for it, which I believe we now do successfully with https://github.com/dask/dask/pull/6731/commits/60262972d719c181c73c18abe0f8833771f1cee6 .

I addressed your suggestions @mathause , could you check if everything works now?

Now all xarray tests pass (locally) so this should be good to go from my side.

Thanks @mathause for confirming. From my side it's complete too, appreciate it if @TomAugspurger or @jakirkham have chance to review/merge at some point.

Thanks all!


HSEARCH-2241 Clarify deprecation of setFilter() method on FullTextQuery

Public API references to org.apache.lucene.search.Filter have to be removed.
This is an easy first step, as the javadoc already mentioned it to be "semi-deprecated".
Let's apply it to 5.5 as well as it just makes things clearer.

https://hibernate.atlassian.net/browse/HSEARCH-2241

@Hibernate-CI retest this please
Updated: had a mistake in javadoc which would have it fail the build.


new http is swallowing errors

Errors are being swallowed with the new http module. Maybe something to do with fetch and promises? :confused:
Test case:
var simpleGet = require('simple-get')
var url = require('url')

simpleGet({
  url: '/assets/data.csv'
}, function (err, res) {
  if (err) throw err
  response  // <-- ReferenceError
    .on('data', function (data) {
      console.log(data)
    })
})

With<EMAIL_ADDRESS>you get a proper Uncaught ReferenceError in console.
With<EMAIL_ADDRESS>you get no warning or errors.

ping @jhiesey since it may be a bug upstream in stream-http ?

Whoops, I missed this when I was gone on vacation. This definitely could be a stream-http bug. I'll take a look.

This is fixed here: https://github.com/jhiesey/stream-http/commit/3bea2a493fb25ee9b2647d236ebc8122d3b7a89f
This fix will be released in<EMAIL_ADDRESS>

Nice, okay. Closing this issue now.