Host project on community website for easier ordering

Hi again @OrenLederman!
A few of us have been talking and meeting to work on this. (We keep notes fwiw)
We came across some websites that we were hoping to use so that it's simpler for the next group to walk this path. They allow for project sharing, and essentially one-click ordering for others who want to do the same fabrication.

PCBWay: Shared Projects
seeed studio: Project Hub
Elecrow: Cooperated Designers (seems more profit-motivated and top-down than others)
EDIT: Upverter

tl;dr - Would you be opposed to our setting up a presences for openbadge on a community platform like these ones?
Here are some comments -- 🔍  facts, ❤ feelings, and 💡 ideas -- related to this discussion:
community platforms: Meaning community side of PCBWay, seeed studios, etc.
General

:mag: The openbadge license is MIT, and so we're technically free to do anything.
:heart: I feel preference to work in a way that aligns with your expectations and goals.
:heart: I feel eager to make it simpler for others to start projects with openbadge.
:heart: I feel eager to actively contribute to having a presence on community platforms, so that I can help foster a larger peer community of collaborators.
:heart: I feel open to letting your team manage this, if you have strong feelings on it.
:mag: The community platforms don't seem to offer accounts for team management.
:bulb: We could share an single account.
:mag: seeed studio has some options for teams/contributors that we could use accordingly.

Profit-sharing and incentivization on platforms

:mag: The platforms seem to offer financial incentives (paid or discount).
:heart: I feel uninterested in being personally enriched by hosting a project on these platforms.
:heart: I feel that the incentive could be used to promote something community-minded.
:bulb: We could enabled "monetization", but use it to give community projects discounts/credits.
:bulb: Alternatively, we could try to disable any monetization on the account.
:heart: I feel that monetization should be disabled if it in any way increases the price of regular orders.
:mag: I've tweeted at PCBWay to discover options for commission.
:mag: The community platforms have referral programs, eg PCBWay's.

:bulb: We could use the above-mentioned shared account to receive referral bonuses from doc/readme links, and hold it for community uses.

Anyhow, I look forward to hearing your thoughts! Hopefully this is a helpful format for this discussion :)
cc: @kevinphys (pls feel free to add your own thoughts! 😄 )
Summary
Took some comments from rest of issue for summary:

:mag: I get asked a lot of questions about deployment and data analysis. (Oren)
:heart: I feel it's hard to get started with no hardware background. (Jörg)
:mag: I can contribute data analysis skills. (Jörg)
:mag: Many people are requesting badges. (Oren)
:heart: I feel that monetization of selling badges is possible. (Oren)
:heart: I feel that money could support project dev within community. (Oren)
:bulb: Design an easy-to-use badge firmware "burning" tool. (Oren)
:mag: I am too busy to take lead on new things. (Oren)
:mag: Students might be available to help. (Oren)
:bulb: Let's take actions to finalize renaming the project to Rhythm Badge. (Oren)
:mag: New firmware rewrite will be released soon. (Oren)
:mag: I can help build badges for fellow researchers. (Bjoern)
:mag: Oren can't sell badges as member of MIT. (Oren)
:mag: A worldwide capacitor shortage makes ordering harder, as stock changes rapidly.
:mag: Testing a programming new badges takes time. (Oren)
:mag: Initial support and analysis of new teams takes time. (Oren)
:mag: sgilbert92 needs to order a couple hundred badges. (Stephen)
:mag: Badges will soon be tested in classrooms. (Stephen)
:mag: Badges will soon be tested in assisted living facilities. (Stephen)
:heart: I feel that we need a better place to ask questions and create discussions. (Oren)
:heart: Questions are often in email right now, and need a better place. (Oren)

Summarized up to https://github.com/HumanDynamics/openbadge/issues/109#issuecomment-433208939

Hi guys,
(also adding @jordanreedie  and @MichaelHopfengaertner to the discussion)
I think it's a great idea, and will be happy to help. I was playing with the idea of trying order badges from PCBWay or Seeedstudio so I can make the assembly process more generic and easy for people. We are getting many requests for badges, so it can be a good way for enabling people to make their own.
Monetization might be a good idea. I'm not planning to get rich because of this project, but this money can help support some more development of the system and benefit the community (for example, designing a badge firmware "burning" tool that is easier to use...).
The only thing is that I currently don't have time to take lead on this (trying to wrap up my PhD this year, and handling a 2mo baby and a 2yo toddler..). But I will help with whatever I can. If there is enough interest, I might be able to pull in some more resources (students) to help.
Oh, also - we should refer to the project as Rhythm Badge (OpenBadge is an official Mozilla project, and they asked us to change the name). At some point i'll rename the repositories...
Also - fun fact - we have a new firmware version in the making (in a fork of the project). A complete re-write that will make it easier for people to contribute to the project. We are almost done testing all the existing functionality, and will soon start testing some new stuff (better protocol, accelerometer support, etc).
Cheers,
Oren

Oren, in case you are too busy, we can build badges for fellow researchers.
All, it would be important to know the demand for badges. 10, 100, 1000?

I actually haven't been keeping good track of the requests recently. Typically, people ask for some andges (about 10) to try out , and later on might need more. But making the badges by itself isn't too time consuming for me. Here are the problems I see:

I can't sell badges since MIT is a non profit
Ordering badges is about Ricky nowdays because of the shortage in capacitors. It requires fidning alternative capacitors every time and place the order quickly.
Badges then need to be tested and programmed
And then, there's the initial support for using them and basic analysis :)

So by creating a community I'm hoping to made the information needed more available and help people help each other. Hopefully, in a way that scales.

Ordering badges is about Ricky nowdays because of the shortage in capacitors.

I knew Ricky was behind it. He is admittedly a bit tricky.

And @eskofier, might that offer apply to civic technologists who are working on citizen science initiatives? We are part of the g0v.asia civic tech community (prounounced "gov-zero"), working loosely with PDIS, part of the Taiwanese government.
We were looking to do a first run of 15. No pressure. (Email is patrick.c.connolly @ the googles)

Bah. That's what happens when I try to write quickly on my phone. I miss my
blackberry keyboard...
On Thu, Oct 25, 2018, 10:57 Patrick Connolly<EMAIL_ADDRESS>wrote:

Ordering badges is about Ricky nowdays because of the shortage in
capacitors.
I knew Ricky was behind it. He is admittedly a bit tricky.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/HumanDynamics/openbadge/issues/109#issuecomment-433083868,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAWUCX9Ij2m7JN0Z9SSchmlqt_aGxNUcks5uodFAgaJpZM4X5x_h
.

It's getting busy in here :-) .
@patcon - another thing to consider is hosting a simple forums system somewhere to make it easier to ask questions and create discussions. Is this something that Seeed/PCBWay offer as part of their community projects?

I've been investigating the seeed/pcbway systems for most of the afternoon, and it seems that they're pretty rudimentary. They offer comments and "likes", but no forums per se. I wouldn't want to try to manage a community over there -- just allow ordering and simple interactions. I'll think on other options. I might lean toward github (perhaps another repo) until that fails or gets complaints, just because that seems in flow with the other work flow?
PCBway actually seems better than seeed. PCBway allows you to share a project, and someone can add a PCB to the cart. There is a specific place on the project page to attach a BOM, and I think the idea is that you can then add another line item to the cart by asking for assembly. It's not seamless, but it's not bad.
Another option, though unsure how pricing would look: https://learn.sparkfun.com/tutorials/how-to-sell-your-widget-on-sparkfun#option-2-sparkfun-manufactures-you-get-a-royalty (perk of sparkfun is that they're fully assembled and have a high standard for docs and support)

I think that github is ok for tracking issues, but sometimes you just want to have a discussion, or ask questions. In particular, people ask me a lot of questions about tips for deployment and data analysis. Saving these questions in a forum instead of emails can be useful :) I'll try to look into that, and see where I can host something like that.

I'm not a huge fan of synchronous chat for large discussions. I think it's a good tool when you routinely work with other people and when you need to coordinate stuff (and we might need it sometimes).
What I had in mind is more of a forum system. I'm thinking of the other use cases that I see, which is mostly Q&A and support - manufacturing/fabrication, questions about deployments (base stations and server) and data analysis. Creating topics will allow you to reduce clutter and make it easier to search (think stack overflow).
I'm not sure what the solution is right now, I'll have to think about it for a bit.

Also, going back to one of the original questions here - does anyone have a preference for PCBWay or SeeedStudio? I can try and order a small batch of badges from one of them and see if the quality is ok

PCBWay seems to have a better "project sharing" feature, so I was gearing to order from them. Thanks for asking!
Seeedstudio (as in, their project sharing feature) seems to be more for ppl coloring within the lines, building stuff from polished kits)

Not ready for primetime yet, but I've set up stubs for project pages, so that others can see what it might look like to host on PCBWay:
https://www.pcbway.com/project/shareproject/Rhythm_Badge.html
https://www.pcbway.com/project/shareproject/Rhythm_Badge_Programmer.html?x=1

Hey, creator of Kitspace here. Obviously biased but some advantages I believe Kitspace has over other options:

It's the only site that lets you purchase the parts required for self-assembly with a single click
You can easily review part information in the BOM view
Open source
Not tied to any specific manufacturer or parts retailers (we currently link to specific ones but will keep adding to these)
It's a front-end to your existing Git repository, if you change anything on Github it will be updated on Kitspace automatically

Full disclosure: I do currently earn and collect 10% commission on any order referred to PCBWay and Aisler. This has earned me about $70 in one year :slightly_smiling_face: . Once this hits some kind of workable threshold (where we can support the development of the site with it) we will look into passing this on to project creators.
If you are happy to put it up on Kitspace, I am happy to help you out with it. So let me know. Either way, this is a really interesting project. Do you think it could help people with Prosopagnosia?

Thanks Kaspar (are you monitoring conversations about Kitspace? :)). I'll look into it more, but so far I see two issues:

When you place the order through Kitspace is only fills in the PCB info, but not the PCBA
A really cool feature that I'm missing is assigning a list of alternative parts. Especially now with the world shortage in capacitors.

Haha, no. @patcon @'ed me so I got a notification.

Yes, it's only for PCB info for now. Extracting all the PCBA info and making sure it's correct is much harder. Does PCBWay offer this on their project sharing platform?
You can keep adding MPNs per line for alternatives. For the retailer parts (SKU) you have to select one per retailer, should figure out adding alternatives there too. :thinking:

Thanks @mannokwong , that'll be very helpful

Been playing around with a service called Octopart, for comparing and ordering from variation distributors. It's a pretty good user experience to sanity-check the parts, and shop for alternatives if things get sold out or go on back-order
Here's the BOM, staying as try as possible to the most recent BOM for v3.6:
https://octopart.com/bom-tool/TAh4HILh
I'll leave that one as is, and create copies for any experimentation with other parts.
We should strive to store out version-controlled BOM in a format that's a simple as possible to import -- I had to do some munging in a spreadsheet. The eagle settings:

export values-based BOMs that have a column for "Quantity"
"Designator" for part (comma-separated)
It would need just one identifier of any type (MFN or specific distributor ID like mouser or digikey)
"Description" column would be helpful for the sanity check part. It's a description like RES 6.8K OHM 5% 1/10W 0603 taken from Digikey, and makes it simpler to swap out parts in their interface but still check to be safe.

Hi Patric,
I suggest moving the BOM recommendations to a separate issue (if you haven't already), just so it's easier to track.
Going back to the forum - I think that a google group is a good solution. I prefer a forum over a "chat", since It allows you to open issues and organizes the information better.
Project page (and documentation) I should be able to host on our MIT site. I'll check.

I have finally received the badges from the manufacturer :D
I tried Seeedstudio, but you can try other like PCBway.
And the next step would be the programming part...

Oh, we received our parts and boards from pcbway this past weekend, using the octopart BOMs above. Will be meeting on Tues to assemble some

Project page (and documentation) I should be able to host on our MIT site. I'll check.

Might we instead be able to use GitHub pages or some other platforms where the process to contribute changes is clear and direct?

@mannokwong - the badge looks good in black :) I take it that you placed the components yourself? For a very quick check, if you put a battery in a turn it on, the red LED should turn on. It'll only validate that the nrf51 chip is ok.
@patcon - let me look into the github pages option. It looks like a good option for a community driven solution. A website would require user management and permissions. So far, it sounds like github pages (for content) + google group (for discussions) is a good option.

Hi all, I opened a google group for us - https://groups.google.com/forum/#!forum/rhythm-badges
We should move general discussion and question there.

Thanks Oren! Did you intend to create it as a Discussion Board? If so, these don't allow forwarding emails:

Yup. Following your advise, I activated posting via email (and allowed posting questions too).
Does it look ok now?

:+1:
And can we remove the need to request access, and just make it immediate to join? If that creates a future issue, we can easily roll back in response.

good idea. done
On Fri, Nov 30, 2018 at 12:31 PM Patrick Connolly<EMAIL_ADDRESS>wrote:

👍
And can we remove the need to request access, and just make it immediate
to join? If that creates a future issue, we can easily roll back in
response.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/HumanDynamics/openbadge/issues/109#issuecomment-443278425,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAWUCQZ0wDWgl17eZxOb5wd7c__m-JjMks5u0WthgaJpZM4X5x_h
.

@OrenLederman Yeah, seems it works (the red LED turning on!). But I found that it is so difficult to remove the battery.

Oh. You can either use a very thin flat screwdriver, or better yet, a metal
sim card removal tool. The later a very cheap on ebay. You stick them on
the lower right corner of the battery holder and just pop the battery out.
On Mon, Dec 3, 2018 at 12:49 AM Man-Nok Wong<EMAIL_ADDRESS>wrote:

[image: img_0028]
https://user-images.githubusercontent.com/26022424/49355304-ef807000-f701-11e8-8234-5bcafc482e77.jpg
@OrenLederman https://github.com/OrenLederman Yeah, seems it works (the
red LED turning on!). But I found that it is so difficult to remove the
battery.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/HumanDynamics/openbadge/issues/109#issuecomment-443596294,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAWUCT9qXj3pC103cF__Xe9opuFfkeerks5u1LtLgaJpZM4X5x_h
.

@OrenLederman Would you be in favour of making the wiki editable by all github users? Was going to add your comment somewhere in there.
Everything in wiki is git backed, so even on the remote change of vandalism, it's still a non-issue so long as someone notices. (And if more people care for the wiki, that's more people to notice :) )

I think it's better to wait until I open a new repo with github pages. It's
safer to have these changes reviewed as pull requests. What do you think?
In the meantime (until I get to this... I'm focusing on some analysis that
need to be finished soon), we can collect these changes as part of the main
README so they are not lost/forgotten.
On Mon, Dec 3, 2018 at 10:52 AM Patrick Connolly<EMAIL_ADDRESS>wrote:

@OrenLederman https://github.com/OrenLederman Would you be in favour of
making the wiki editable by all github users? Was going to add your comment
somewhere in there.
Everything in wiki is git backed, so even on the remote change of
vandalism, it's still a non-issue so long as someone notices. (And if more
people care for the wiki, that's more people to notice :) )
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/HumanDynamics/openbadge/issues/109#issuecomment-443758923,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAWUCXc8mnZyVWmSbF6Ji9bfOuTO1b70ks5u1Ui3gaJpZM4X5x_h
.


[BrokenLinksH2] fixing broken links

Global effort to fix broken links
@MarioHewardt
The Content & Learning team is fixing broken links on docs.microsoft.com for the rest of H2. This effort will eliminate potential accessibility, security, and usability issues. This PR includes only link fixes and does not change other content. I’d very much appreciate your timely review and feedback on the link changes I’ve suggested. Thanks!

Docs Build status updates of commit 5f812ba:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sysinternals/downloads/procdump.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

#sign-off


Basic flake support

A redo of https://github.com/cargo2nix/cargo2nix/pull/176, this version (should be) backward compatible while also giving us the benefits of flakes.
https://github.com/cargo2nix/cargo2nix/pull/176 is more complete, but this should move us towards getting flakes going.

Everything looks good.  I've pulled the changes into a branch named minor currently.  I'm merging the rest of the network together.  There's some features in forks.  I just did some updates for 2021 edition and got rid of the overlay warning.  Closing with changes applied :+1:


Unique: true is not working or not returning any validation error

@aldeed I am having problem to get the notUnique error at all.
Here is my code for schema (the collection is placed in imports folder and imported to client and server side respectively, so both client and server shares the same collection schema code):
Organizations.schema = new SimpleSchema({
organization_name: {
        type: String,
        label: 'Organization Name',
        unique: true,  // not giving validation error
        index: true,
        sparse: true,
        custom(){  // this is not working as well
// Since it's not from server side checking function, I believe we dont have to use tracker, right??
          if (Meteor.isClient && this.isSet) {
                let exist = Organizations.findOne({organization_name: this.value});
                console.log(exist);
                if (exist) {
                    this.validationContext.addValidationErrors([{
                        name: 'organization_name',
                        type: 'notUnique',
                        value: this.value,
                        message: 'Organization Name is already taken, please use a different name',
                    }]);
                    console.log(this.validationContext);
                }
                return false;
            }
        },
        min: 1,
        max: 50,
    },

.....
}, {tracker: Tracker});

Here is my code for mapping error message for displaying on client side:
 let validateContext = Organizations.schema.namedContext('createNewOrganization');

        validateContext.validate(currentState);

        // get errors
        let invalidKeys = validateContext.validationErrors();

        invalidKeys = _.map(invalidKeys, function (o) { // get error messages
            return _.extend({message: validateContext.keyErrorMessage(o.name)}, o);
        });

and I can find the document with the same name as shown below, so it should add the error to the current context.

But I did not see the unique error in my validation errors as there are only 5 errors without the expected notUnique error:

So it is not displayed on the screen as well, where all the other error messages are correct:

Do you know why it is behaving like this?

There is no obvious issue here. Please create a minimal reproduction app and post a link to the repo if you still need help with this.


Add package-lock.json to gitignore

Bye bye 📦.🔒

Yeah that's a good idea

@bkeepers running git rm --cached package-lock.json returns an error for me:
fatal: pathspec 'package-lock.json' did not match any files

Am I doing something wrong?

Ah, looks like it was deleted in #288


ARROW-11255: [Packaging][Conda][macOS] Fix Python version

This was introduced by a2c732da52e3814c3366d5366255386d84643250
unexpectedly.

@github-actions crossbow submit conda-osx-clang-py37-r40

@github-actions crossbow submit conda-osx-clang-py37-r40

+1

+1


Update fabric-sdk-java to 2.2.9

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

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.hyperledger.fabric-sdk-java", artifactId = "fabric-sdk-java" } ]

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

Superseded by #217.


Fix-up navigation property after DbContext.Remove

I have entity which can belong to many different containers (showing only two containers for clarity):
public class Account
{
    [Key]
    public int Id { get; set; }

    public List<DiagramAccount> Diagrams { get; set; }

    public List<OtherContainerAccount> OtherContainers { get; set; }
}

public class Diagram
{
    [Key]
    public int Id { get; set; }

    public List<DiagramAccount> Accounts { get; set; }
}

public class OtherContainer
{
    [Key]
    public int Id { get; set; }

    public List<OtherContainerAccount> Accounts { get; set; }
}

public class DiagramAccount
{
    [Key]
    public int Id { get; set; }

    public Account Account { get; set; }
    public int AccountId { get; set; }
    public Diagram Diagram { get; set; }
    public int DiagramId { get; set; }
}

public class OtherContainerAccount
{
    [Key]
    public int Id { get; set; }

    public Account Account { get; set; }
    public int AccountId { get; set; }
    public OtherContainer OtherContainer { get; set; }
    public int OtherContainerId { get; set; }
}

I have to detach Account from Diagram (or from any other container) and, if it was last connection, remove that Account and then save changes to database.
using (var context = _accessor.CreateContext())
{
    // Remove join instance
    context.Remove(context.Set<DiagramAccount>().First(da => da.AccountId == accountId && da.DiagramId == diagramId));

    // Get instance of account without explicity loading DiagramAccount
    var account = context.Set<Account>().First(a => a.Id == accountId);
    // context.SaveChanges(); // I do not want to save it here due to operation consistency

    // ... other steps
}

After getting account from db in account.Diagrams is the same instance of DiagramAccount which was removed in the first line (due to automatic fix-up navigation properties). The account.Diagrams should be empty because the instance of DiagramAccount is actually marked as removed (and it is actually the only one loaded instance of DiagramAccount). Instead of this it contains this removed DiagramAccount instance). After context.SaveChanges() invocation (commented line), account.Diagrams is empty (and this is ok).
Is there possibility to refresh collection in tracked entity without calling SaveChanges or explicitly removing removed DiagramAccount instance from that collection?
Shouldn't it match in memory state of data automatically?
Further technical details
EF Core version: 2.0.0
Target Framework: net461
Database Provider: Microsoft.EntityFrameworkCore.Sqlite (for unit test)
Operating system: Window 10
IDE: VS2017 15.3

In issue #8319, it was claimed that this behavior is intentional and the collections should only get updated after SaveChanges. But now this is tagged as a bug and collections should get updated immediately? Could you please clarify?

@Wain123 Yes, it is supposed to happen after SaveChanges. But two things here:

What if you query for an entity that has relationships to an already deleted entity? I need to look into the code for this and see what is happening.
When I did a quick investigation of this it looked like things were not quite right after SaveChanges
I'm thinking about filing an issue to make this configurable, but I need to do some more investigation.

Analysis using current bits indicates everything is working correctly. That is, the behavior is the same regardless of whether the query for the principal is done before or after the Remove call. Fixup happens regardless of whether the dependent is marked as Deleted or not. After save, the reference to the deleted entity is removed, but the navigation on the deleted entity is not touched.
Issue #10114 tracks allowing the fixup to happen before SaveChanges is called.


RXResume Client and Server Not Communicating with Authentication Provider in Front [BUG]

Describe the bug
I currently have RX Resume v3 stack (with client, server and database) installed and running just fine behind Nginx Proxy Manager (NPM).
However, I use Authentik as a separate authentication provider (similar to Keycloak and Authelia but in my opinion has more features) to protect my services. Authentik has a feature called "forward proxy" where via NPM, any user wishing to use the RX Resume service will need to authenticate with Authentik first before being allowed to continue to the login page for RX Resume service. When I have Authentik act as a forward proxy in front of RX Resume, then I cannot login to the RX resume service.
Authentik provided nginx code snippet to put into NPM which allows NPM to redirect client requests back to Authentik first for authentication. Below is the code snippet Authentik generated with my domain name redacted in one spot near the bottom. When I put the code below for RX Resume Client (but not RX Resume Server) then I am able to use the RX Resume service properly - however only RX Resume Client gets protected by Authentik. Because the code below is not pasted for RX Resume Server I cannot protect the Server with Authentik. When I try to put the code below for both RX Resume Client AND Server then I cannot login to my RX Resume instance. Perhaps there is some code to modify below so that RX Resume Server works? I've provided snapshots with my network console in the browser so you can see whats happening.
Authentik Code SNippet to put into NPM to protect services with Authentik in front
# Increase buffer size for large headers
# This is needed only if you get 'upstream sent too big header while reading response
# header from upstream' error when trying to access an application protected by goauthentik
proxy_buffers 8 16k;
proxy_buffer_size 32k;

location / {
    # Put your proxy_pass to your application here
    proxy_pass          $forward_scheme://$server:$port;

    # authentik-specific config
    auth_request        /outpost.goauthentik.io/auth/nginx;
    error_page          401 = @goauthentik_proxy_signin;
    auth_request_set $auth_cookie $upstream_http_set_cookie;
    add_header Set-Cookie $auth_cookie;

    # translate headers from the outposts back to the actual upstream
    auth_request_set $authentik_username $upstream_http_x_authentik_username;
    auth_request_set $authentik_groups $upstream_http_x_authentik_groups;
    auth_request_set $authentik_email $upstream_http_x_authentik_email;
    auth_request_set $authentik_name $upstream_http_x_authentik_name;
    auth_request_set $authentik_uid $upstream_http_x_authentik_uid;

    proxy_set_header X-authentik-username $authentik_username;
    proxy_set_header X-authentik-groups $authentik_groups;
    proxy_set_header X-authentik-email $authentik_email;
    proxy_set_header X-authentik-name $authentik_name;
    proxy_set_header X-authentik-uid $authentik_uid;
}

# all requests to /outpost.goauthentik.io must be accessible without authentication
location /outpost.goauthentik.io {
    proxy_pass          http://NAS-IP:PORT/outpost.goauthentik.io;
    # ensure the host of this vserver matches your external URL you've configured
    # in authentik
    proxy_set_header    Host $host;
    proxy_set_header    X-Original-URL $scheme://$http_host$request_uri;
    add_header          Set-Cookie $auth_cookie;
    auth_request_set    $auth_cookie $upstream_http_set_cookie;

    # required for POST requests to work
    proxy_pass_request_body off;
    proxy_set_header Content-Length "";
}

# Special location for when the /auth endpoint returns a 401,
# redirect to the /start URL which initiates SSO
location @goauthentik_proxy_signin {
    internal;
    add_header Set-Cookie $auth_cookie;
    return 302 /outpost.goauthentik.io/start?rd=$request_uri;
    # For domain level, use the below error_page to redirect to your authentik server with the full redirect path
    # return 302 https://authentik.company/outpost.goauthentik.io/start?rd=$scheme://$http_host$request_uri;
}

I've provided a screen shot below when RX Resume Server is also protected behind Authentik with the code snippet provided above. When this happens, in the snapshot you'll see that I get a message at the login page for RX Resume Client that logging into the server failed. I get a "CORS failed" message.

For reference, here's my docker compose for RX Resume Client so you can see my setup if useful. I have two separate domains, one for RX Resume Client (resume.domainname.com) and one for RX Resume Server (resumesvr.domainname.com).
version: "3.9"
services:
  resume-db:
    image: postgres
    container_name: rxresume_postgres
    hostname: resume-db
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: ["CMD", "pg_isready", "-q", "-d", "${DB_NAME}", "-U", "${DB_USER}"]
      interval: 10s
      timeout: 5s
      retries: 5
    user: 1032:100
    volumes:
      - /volume1/docker/rxresumev3/db:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: ${DB_NAME}
      POSTGRES_USER: ${DB_USER}
      POSTGRES_PASSWORD: ${DB_PW}
    restart: always
    networks:
      - rxresume-internal

  resume-server:
    image: amruthpillai/reactive-resume:server-latest
    container_name: rxresume_server
    hostname: resume-server
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: curl -fSs http://localhost:3100/health || exit 1
      interval: 30s
      timeout: 5s
      retries: 3
    ports:
      - 8661:3100
    volumes:
      - /volume1/docker/rxresumev3/exports:/app/server/dist/assets/exports
      - /volume1/docker/rxresumev3/uploads:/app/server/dist/assets/uploads
    environment:
      - TZ=EST
      - PUBLIC_URL=https://${SERVER_HOSTNAME}              # URL that app is accessible and used in features like link sharing and auth redirection. This points only to client app as server would be running on port 3100 always. Ex, localhost:3000
      - PUBLIC_SERVER_URL=https://${SERVER_URL}       # URL through which server is accessible and is used when export PDF functionality is used within the app and has to reach out to the server. Ex, localhost:3100
      - POSTGRES_DB=${DB_NAME}
      - POSTGRES_USER=${DB_USER}
      - POSTGRES_PASSWORD=${DB_PW}
      - SECRET_KEY=${SECRET_KEY}    # Unique key, randomly generated string that is used for client-server communication. Use random.org random string generator to generate a long unique string
      - POSTGRES_HOST=resume-db
      - POSTGRES_PORT=5432
      - JWT_SECRET=${JWT_KEY}   # used for email/password authentication to hash + salt passwords stored in the database so they are unreadable
      - JWT_EXPIRY_TIME=604800                      # length of time (milliseconds) the JWT token should be valid for. Shorter value means the user has to login more often
      - MAIL_FROM_NAME=${EMAIL_NAME}
      - MAIL_FROM_EMAIL=${SMTP_FROM_EMAIL}
      - MAIL_HOST=smtp.gmail.com
      - MAIL_PORT=587
      - MAIL_USERNAME=${SMTP_USER}
      - MAIL_PASSWORD=${SMTP_PW}
    restart: always
    networks:
      - rxresume-internal
      - reverseproxy-nw
    depends_on:
      resume-db:
        condition: service_started

  resume-client:
    image: amruthpillai/reactive-resume:client-latest
    container_name: rxresume_client
    hostname: rxresume
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: curl -fSs <IP_ADDRESS>:3000 || exit 1
      interval: 30s
      timeout: 5s
      retries: 3
    ports:
      - 8662:3000
    environment:
      - TZ=EST
      - PUBLIC_URL=https://${SERVER_HOSTNAME}
      - PUBLIC_SERVER_URL=https://${SERVER_URL}
      # - PUBLIC_FLAG_DISABLE_SIGNUPS=false
    restart: always
    networks:
      - rxresume-internal
      - reverseproxy-nw
    depends_on:
      resume-server:
        condition: service_healthy

networks:
  rxresume-internal:
  reverseproxy-nw:
    external: true

Product Flavor
-Self Hosted on Synology NAS
Expected behavior
I expect Authentik to be able to authenticate me first and then alllow me to continue on to login to the RX Resume service where I can then use the resume builder as normal. I can currently do this when I just use NPM to reverse proxy but when I want to authenticate with Authentik as a separate third party authenticator, then I run into problems using the RX Resume service.

and ?


Scenario versions

Something seems to be going wrong with the scenario versions.
If I try to go back to another scenario version I get the following error:

This is a shared scenario (as you can see in the image).
If information is required let me know.
Assign at will @noracato / @mabijkerk .

@Charlottevm is this still relevant?


How to disable rendering in CARLA server?

So when the CARLA server is run by using the script CarlaUE4.sh to launch it, is there any way to disable the rendering of the game window?
I use a camera in the simulator to get the current FoV from that camera. So just reading the image by CarlaClient.read_data() is enough for me to process things. I feel that I can increase my FPS by reducing the processing overhead to render the game using Unreal Engine.
I tried using the flag -carla-no-hud as suggested in the docs, but still the rendering is taking place.
So is there anyway to do this? Or it's not just possible or it doesn't matter not to render?
Thanks :)

Hi @GokulNC,
First of all -carla-no-hud disables the left-bottom text output from the server:

Currently is no possible to disable the render and I have the feeling that it will doesn't matter anyways, because regardless you see or not the render, it must be done anyway.

Thanks @marcgpuig .
Eventhough the computations need to occur, I feel rendering it at a certain FPS (say 15) is quite resource-intensive.
Though there is no way to disable rendering as of now, can this issue be considered as a feature-request?
I will close this issue if this feature is implemented, or if there's an strong assertion that disabling rendering doesn't matter much.
Thanks :)

Please try adding these commands:
-windowed -ResX=8 -ResY=8

So it will run on a 8x8 pixels window. It's a workaround but I hope you can win some extra fps. 😉
Another solution is work without an actual screen, see our documentation.
For sure I'm going to add the feature-request tag because it is something that can improve the performance.
But we are currently working on other more critical optimizations, so do not expect big focus on this one.
Since it's more an Unreal Engine issue, I'm adding the good first issue too, so the community can make a good-and-easy contribution 😄
Regards!

Is it also possible to disable the HUD in the Editor?

Ok it is possible in the console with showHUD 0

You can also set

r.ScreenPercentage 0

using the unreal console

Is this topic solved?

@marcpuig I think we should add a command for this, to disable the rendering in the viewport like this
ULocalPlayer* player = GEngine->GetGamePlayer(GetWorld(), 0);
player->ViewportClient->bDisableWorldRendering = true;

@juaxix
Yeah looks good to me!

@juaxix Yeah, that might help IDK :)
But as an end user like me, it would be better if there's a command-line flag or an option in CarlaSetting.ini or something like that to disable it easily, without recompiling from scratch.
Thanks :)

Ok, the feature has been implemented in the branch issue-286, you can wait for it to be merged into main and it will be added in CARLA 0.8.3.

In CarlaSettings.ini, the new flag is inside the [Server] section, and it's called: DisableRendering, by default is false, Ah, it will hide the hud too if set to true. And the new command for the executable is called "-disable-rendering".
Cheers.

I have added the "-disable-rendering" to arguments when I running the Carla.sh script, but it didn't worked. But changing the "DisableRendering" to true in the Carla.ini file worked.

I have added the "-disable-rendering" to arguments when I running the Carla.sh script, but it didn't worked. However changing the "DisableRendering" to true in the Carla.ini file worked.

None of them are working now. :/
Also, the Carla Settings section has been removed in newer documentation(0.9.4) and it seems CarlaSettings.ini file is simply ignored by the shell script now.

Is it also possible to disable the HUD in the Editor?

Hi have you solved this? I would like to know how.. thanks

Hi, @aayushARM , have you solved this problem and how to run the code without rendering?

Hi all. I am using Carla 0.9.6 now, and the following are working without any problem:

In linux, just write this command...
SDL_VIDEODRIVER=offscreen ./CarlaUE4.sh

Hello,
I am trying to disable rendering in carla, version <IP_ADDRESS> on windows 10. I have already tried with the config script:
./config.py --no-rendering
After that carla window turns to black, but the gpu usage still very high and if I start
./no_rendering_mode.py
Carla windows start to display the rendered view again. Does anyone have similar issues? Or solutions? Should it work on windows? Thanks in adavance.

Hi, I wrote a blog post about this issue on the CarlaSimBlog, including a code tutorial for off screen rendering.
https://carlasimblog.wordpress.com/2023/10/04/rendering-images-off-screen-in-the-carla-simulator/


Adding doc update for cmake-language-server

Just a minor doc update related to the recent Cmake language server support

Thanks!


Keep existing configuration files during installation

High-level description
winpanda deletes the <install>/etc/<package> directory during installation. This prevents config files being placed there from either the package etc folder or from other packages.
We need this to allow dynamic Mesos modules to be positioned correctly.
This change removes the deletion of the directories. Any cleanup of these directories must be done before the installation process starts.
Corresponding DC/OS tickets (required)

https://jira.d2iq.com/browse/D2IQ-65261 Do not remove files from etc directory in Windows

Related tickets (optional)

D2IQ-ID JIRA title / short description.

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[ ] Change log from the last version integrated (this should be a link to commits for easy verification and review): example
[ ] Included a test which will fail if code is reverted but test is not. If there is no test please explain.
[ ] Test Results: [link to CI job test results for component]
[ ] Code Coverage (if available): [link to code coverage report]

@mesosphere-mergebot request-review @DominikDary @mediapills @akornatskyy

@mesosphere-mergebot changelog-not-required change to unreleased code

@mesosphere-mergebot label Ready For Review


sierra-breeze-enhanced: init at 1.0.3

Motivation for this change
Package SierraBreezeEnhanced
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/623


Wrap links with embed syntax by keyboard shortcut

It's slightly annoying that you need to write ![]() around links after pasting them.
It would be really useful if you could paste media links with a specific shortcut (ctrl+alt+v for example) to automatically turn just the plain URL from your clipboard into ![](URL) automatically while pasting.
You should also be able to automatically convert plain links into embed links by highlighting them and using a special keyboard shortcut.
This would make adding media from various sites much faster than the current way!

Probably useful code here: https://github.com/argenos/hotkeysplus-obsidian

This may be the thing you need: https://github.com/denolehov/obsidian-url-into-selection

That's quite close, but it doesn't add a ! in front.
I just want to copy a Youtube URL from my browser and paste it as an embed link in 1 second into Obsidian, without having any text selected before.
I've created an issue there to request the functionality here:
https://github.com/denolehov/obsidian-url-into-selection/issues/13


Description of status codes

As @wafflespeanut described in https://github.com/wafflespeanut/paperclip/pull/243#issuecomment-704763049, we can support the following format to be able to add a description for each status code:
#[api_v2_operation(
      status(
          code = 200, description = "OK",
          code = 202, description = "I accept",
      )
)]
fn my_handler () -> Foo { /* */ }

I have an additional suggestion to be able to overwrite the description of the error messages too. Like:
#[api_v2_operation(
      status(
          code = 200, description = "OK",
          code = 202, description = "I accept",
          code = 418, description = "I'm a teapot 🫖",
      )
)]
fn my_handler () -> Foo { /* */ }

@wafflespeanut @platy any idea/suggestion?

You can define error codes with better reusability and convenience via api_v2_errors macros on Error type.
There is good example in docs https://paperclip.waffles.space/actix-plugin.html

Thanks @dunnock.
I'm using that, but it needs to be customized.
For example, generally, 404 means Not Found... but for users, it can mean, "The user is inactive or does not exist", for roles it can mean "The role does not exist" and ...
Is there any way of customizing this error per state?

I think we can still have per-handler overrides for error codes, just like how we have it for 2xx or other codes. It will then override the default implementation implemented through #[api_v2_errors] macro.


global rankings

Which part does this feature is for?(or the part you guess)
Platform
Feature suggestion
global ranking feature will be fun to play!
Additional context
No response
Related Issues
No response

#54  complete


bump version to v0.6.2

What type of PR is this?

What this PR does / why we need it:
prepare/bump version to v0.6.2
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

Does this PR introduce a user-facing change?

NONE

Other Note

/kind cleanup


Update percolator, include pout2mzid

This PR updates the percolator package in tools-galaxyp, changes are:

No longer create "metafiles" as galaxy datasets (files contain number of paths to datasets: /galaxydata/dataset_1.dat ... /galaxydata/dataset_100.dat
Instead add a new tool that builds metafiles based on the percolator batch size and input file name pattern, this creates a list-of-lists with metafiles
The XML for msgf2pin consumes this list-of-lists by building metafiles internally and running the msgf2pin executable
Percolator itself remains unchanged at v.3
Added pout2mzid which adds percolator data to mzIdentML files it is derived from. Tool takes mzIdentML list-of-lists (or single ones) and lists of percolator matching e.g. 1 percolator file with 100 mzIdentMLs.

I have some outstanding questions about the versioning. This package has changed a lot so I bumped the version from 3.0 (original percolator version) to 4.0. However the percolator used is still 3.0. Should I increase ALL the tool XMLs to 4.0?
Also of course, comments are appreciated! :) #

Regarding versioning, can we simple use 3.0.1. Still indicating it is version 3.0, but Galaxy has changed, so .1?

Just figured this shouldn't be merged just yet. I want to modify the nested collection builder output display names a bit...

I'm done :)

Nice, I think this is a really nice improvement!

Thanks very much! Does this mean automatic toolshed upload as well or shall I run planemo shed_update or similar?

It should be online already, but please check.


ARM64 added as a supported architecture

Thanks for offering this @baptiste313.
Before I merge though, can I confirm you've tested the resulting build on an ARM64 linux platform? and, if so, could you confirm the type of machine and operating system you've tested this on?

Yes, I tested it quickly on a Raspberry Pi and it works fine; I did not encounter any bugs.

@baptiste313 Thanks, to confirm, what PI version and what operating system were you using?

I use DietPi as my operating system, it's a Debian base.

I use a Raspberry Pi 4 2Gb


Restrict Image Registries

This policy needs to be updated to support initContainers and ephemeralContainers.
Policy: https://github.com/kyverno/policies/blob/main/best-practices/restrict-image-registries/restrict-image-registries.yaml

See linked issue. The policy works but is having an unknown side effect with ephemeral containers.


docs: Update README.md

It’s better IG

I don't really like these changes. The original made sense and the rewording makes it convoluting in my opinion . You add typos and don't bother to check before requesting a review

Changes makes it pop more

Why there's two section doing absolutely the same thing?


Unable to connect to edge storage blob on eflow from storage explorer

Deployed eflow on windows 10 pro and confirmed edgeblobstorage modules running in docker with no errors
Connection string :
DefaultEndpointsProtocol=https;BlobEndpoint=http://xx.xxx.24.254:11002/hmedgestoragesync;AccountName=hmedgestoragesync;AccountKey=sdgxoINCAKTMurbldr_UT17trog_6KdnvWM4ubskRBCLMGjQDa3yAW-Z2Xv2IhM3fsG7K8TL4SRhRO99pF6Wiw
Disabled firewall on windows host
Error
Unable to retrieve child resources.
Details:
{
"name": "FetchError",
"message": "request to http://xx.xxx.24.254:11002/hmedgestoragesync?comp=list&include=metadata failed, reason: connect ECONNREFUSEDxx.xxx.24.254:11002",
I have read about this error on several post but have not seen a solution that works for me. Thank you for your time.

Storage explorer version is 1.25.

ECONNREFUSED error usually indicates there is no service listening to the port at 11002. If you have access to the edge device, could you log into it and check if the IoT blob storage module is still running?

The service is indeed running on port 11002. the logs are fine and so is the result of inspecting the container

First line is a custom module that is writing to edge blob storage module on second line, that is synched with cloud blob storage

And maybe a related question is how do you copy a file out of eflow to the windows host?
I am unable to mount a share in eflow linux console because, apparently the "filesystem is readonly"

I did a little bit research and the container config looks correct to me. I think you can look at your docker host's network to see if there is any clue. Let's try pinging the host ip to see if it is reachable. Is you hosted machine a VM or a physical machine with an assigned public ip? If it's a VM maybe the ip address has changed (e.g. rebooted VM on Azure may get a different ip). Another potential cause is that there is a firewall blocking the requests.

Closing due to lack of response. If you are still facing this issue we recommend opening a ticket via the Azure portal or you can open a new issue here.


add libp2p day

@rmochido1 libp2p wants to confirm venue as Time Out Market for their event. Can you work with @p-shahi to finalize the venue reservation?


OutOfRangeError (see above for traceback): FIFOQueue '_1_batch_join/fifo_queue' is closed and has insufficient elements (requested 90, current size 0)

Hi,
I'm attempting to train a classifier on my own set of images. I'm doing this by running:
python facenet_train_classifier.py --logs_base_dir ./logs/facenet/ --models_base_dir ./models/facenet/ --data_dir ./align/aligned_images/ --image_size 160 --model_def models.inception_resnet_v1 --weight_decay 2e-4 --optimizer RMSPROP --learning_rate -1 --max_nrof_epochs 80 --keep_probability 0.8 --random_crop --random_flip --learning_rate_schedule_file ../data/learning_rate_schedule_classifier_long.txt --center_loss_factor 2e-5 --gpu_memory_fraction 0.9
During the experiment, I get a bunch of warnings:
W tensorflow/core/framework/op_kernel.cc:975] Out of range: FIFOQueue '_1_batch_join/fifo_queue' is closed and has insufficient elements (requested 90, current size 0) 	 [[Node: batch_join = QueueDequeueUpTo[_class=["loc:@batch_join/fifo_queue"], component_types=[DT_FLOAT, DT_INT32], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](batch_join/fifo_queue, batch_join/n)]]
Followed by a crash:
Traceback (most recent call last):   File "facenet_train_classifier.py", line 324, in <module>     main(parse_arguments(sys.argv[1:]))   File "facenet_train_classifier.py", line 171, in main     update_centers)   File "facenet_train_classifier.py", line 212, in train     err, _, _, step, reg_loss = sess.run([loss, train_op, update_centers, global_step, regularization_losses], feed_dict=feed_dict)   File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 718, in run     run_metadata_ptr)   File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 916, in _run     feed_dict_string, options, run_metadata)   File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 966, in _do_run     target_list, options, run_metadata)   File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 986, in _do_call     raise type(e)(node_def, op, message) tensorflow.python.framework.errors_impl.OutOfRangeError: FIFOQueue '_1_batch_join/fifo_queue' is closed and has insufficient elements (requested 90, current size 0) 	 [[Node: batch_join = QueueDequeueUpTo[_class=["loc:@batch_join/fifo_queue"], component_types=[DT_FLOAT, DT_INT32], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](batch_join/fifo_queue, batch_join/n)]]
Caused by op u'batch_join', defined at:   File "facenet_train_classifier.py", line 324, in <module>     main(parse_arguments(sys.argv[1:]))   File "facenet_train_classifier.py", line 85, in main     args.batch_size, args.max_nrof_epochs, args.random_crop, args.random_flip, args.nrof_preprocess_threads)   File "/home/ubuntu/facenet/src/facenet.py", line 138, in read_and_augument_data     allow_smaller_final_batch=True)   File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/input.py", line 770, in batch_join     dequeued = queue.dequeue_up_to(batch_size, name=name)   File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/data_flow_ops.py", line 500, in dequeue_up_to     self._queue_ref, n=n, component_types=self._dtypes, name=name)   File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_data_flow_ops.py", line 1143, in _queue_dequeue_up_to     timeout_ms=timeout_ms, name=name)   File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/op_def_library.py", line 750, in apply_op     op_def=op_def)   File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 2238, in create_op     original_op=self._default_original_op, op_def=op_def)   File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1130, in __init__     self._traceback = _extract_stack()
OutOfRangeError (see above for traceback): FIFOQueue '_1_batch_join/fifo_queue' is closed and has insufficient elements (requested 90, current size 0) 	 [[Node: batch_join = QueueDequeueUpTo[_class=["loc:@batch_join/fifo_queue"], component_types=[DT_FLOAT, DT_INT32], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](batch_join/fifo_queue, batch_join/n)]]
I'm currently perusing through the code to try to understand what may be going wrong. Any ideas?

Reducing the batch size and batches per epoch seem to help.

Closing this since it seems to be solved.

I did it but i am still taking error. so is there another option?

Make sure datasets is right. The datasets directory "--data_dir ./align/aligned_images/" is PNG generated by running src/align/align_dataset_mtcnn.py.
With intro docs, use following command first:
python src/align/align_dataset_mtcnn.py ~/datasets/casia/CASIA-maxpy-clean/ ~/datasets/casia/casia_maxpy_mtcnnpy_182 --image_size 182 --margin 44 --random_order

Anyone of you know where I can download the dataset with all the images??

https://github.com/radykov/facial-recognition-video-facenet
Try cloning this, there a data set folder in it.

In my case, it was because few of the images had width or height less than 160 pixels.


concatenate_columns adds the function of ignoring empty values

Problem description
When I use the function of concatenating multiple columns, I find that it does not handle null values as expected.
This is the current output
df.concatenate_columns(["cat_1","cat_2","cat_3"],"cat",sep=",")

    cat_1 cat_2 cat_3 cat     0 a b c a,b,c   1 c NaN f c,nan,f   2 a b NaN a,b,nan
Here is the output I want:
df.concatenate_columns(["cat_1","cat_2","cat_3"],"cat",sep=",",ignore_empty=True)

    cat_1 cat_2 cat_3 cat     0 a b c a,b,c   1 c NaN f c,f   2 a b NaN a,b

Hi @Fu-Jie, thanks for pinging in! Looks like something that could be a good enhancement!
Have you made an attempt at modifying the source code to make this happen? If so, we'd love to see your contribution in! If not, no worries, I'll tag this as open for hacking.

Hi @Fu-Jie, thanks for pinging in! Looks like something that could be a good enhancement!
Have you made an attempt at modifying the source code to make this happen? If so, we'd love to see your contribution in; after all it's an open source project where are all welcome to contribute! If not, no worries, I'll tag this as open for hacking.

Thanks  for your reply!
The following is my modified solution on the basis of the source code.
Sorry, my code may be poor, but it should solve the problem.
The problem is that I will modify the columns of the source data to fill in NA  to ""
@pf.register_dataframe_method
def concatenate_columns(
                df: pd.DataFrame,
                column_names: List[Hashable],
                new_column_name,
                sep: str = "-",
                ignore_empty=True) -> pd.DataFrame:

    if len(column_names) < 2:
        raise Exception("At least two columns must be specified")

    if ignore_empty:
        df[column_names] = df[column_names].fillna("")
        for i, col in enumerate(column_names):
            if i == 0:
                df[new_column_name] = df[col].astype(str)
            else:
                df[new_column_name] = (df[new_column_name] + sep +
                                       df[col].astype(str))

        def remove_empty_string(x):
            '''Remove empty strings'''
            x = [x for x in x.split(sep) if x!=""]
            x = sep.join(x)
            return x
        df[new_column_name] = df[new_column_name].transform(remove_empty_string)

    else:

        for i, col in enumerate(column_names):
            if i == 0:
                df[new_column_name] = df[col].astype(str)
            else:
                df[new_column_name] = (df[new_column_name] + sep +
                                       df[col].astype(str))

    return df

Sorry, my code may be poor, but it should solve the problem.

@Fu-Jie having read the code, it's not a hack at all :). If I may provide some feedback, it's possible that the code duplication can be minimized, I think, by moving the if ignore_empty: remove_empty_string piece right to the bottom.
If you'd be open to it, I'd love to officially review a PR from you that houses this addition to concatenate_columns! pyjanitor is also intended to be a training ground for new open source contributors, and we do hour best to recognize all contributions made. That said, I know we're all busy, so if you don't have the bandwidth, no worries - as I mentioned above, I can leave this open for others who might want to take a stab at it!

I think, by moving the if ignore_empty: remove_empty_string piece right to the bottom.

@ericmjl  Is it changed to something like this?
@pf.register_dataframe_method
def concatenate_columns(df: pd.DataFrame,
                        column_names: List[Hashable],
                        new_column_name,
                        sep: str = "-",
                        ignore_empty=True) -> pd.DataFrame:

    if len(column_names) < 2:
        raise Exception("At least two columns must be specified")

    df[column_names] = df[column_names].fillna("")

    for i, col in enumerate(column_names):
        if i == 0:
            df[new_column_name] = df[col].astype(str)
        else:
            df[new_column_name] = (df[new_column_name] + sep +
                                    df[col].astype(str))
    if ignore_empty:

        def remove_empty_string(x):
            '''Remove empty strings'''
            x = [x for x in x.split(sep) if x!=""]
            x = sep.join(x)
            return x
        df[new_column_name] = df[new_column_name].transform(remove_empty_string)

    return df

If you'd be open to it, I think we'd love to officially review a PR from you that houses this addition to concatenate_columns!

If you'd be open to it, I think we'd love to officially review a PR from you that houses this addition to concatenate_columns!
I am happy to accept that I am a frequent user of pyjanitor. I hope it will become more powerful and easy to use.

@ericmjl Is it changed to something like this?

@Fu-Jie yep, that's what I was thinking of!

I am happy to accept that I am a frequent user of pyjanitor. I hope it will become more powerful and easy to use.

Looking forward to seeing your PR :).

Hi @ericmjl, may I open the PR for this issue? Would really love to contribute to this library.

@farhanreynaldo yes, please go ahead!


Jest setup

Sorry about the duplicate commits. This should ensure that all of us can write tests.

I think something nasty happened on the branch cause it pulled one of @rwhite226 's commits in it, maybe a botched rebase or something, but otherwise all the code looks solid.
+1

@rwhite226
@mcsgroi
@winder487
You guys good?

@ajbowler Yuuup, just a bit slow getting to the pull request. +1

+1

Ya sorry, looks good sir


Specified argument was out of the range of valid values.

Issue Type: Bug
When I open any python file "Specified argument was out of the range of valid values."  notification occurs. Moreover, Python autocomplete can't work.
Note: I tried to update and downgrade Vscode version. I have tried on both version 1_35 and 1_36

Environment data

VS Code version: Code 1.35.1 (c7d83e57cd18f18026a8162d042843bda1bcf21f, 2019-06-12T14:27:31.086Z)
Extension version (available under the Extensions sidebar): 2019.6.22090
OS and version: Linux x64 4.15.0-54-generic
Python version (& distribution if applicable, e.g. Anaconda): XXX
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): XXX
Relevant/affected Python packages and their versions: XXX
Jedi or Language Server? (i.e. what is "python.jediEnabled" set to; more info #3977): XXX

System Info

Item
Value

CPUs
Intel(R) Celeron(R) CPU 1007U @ 1.50GHz (2 x 945)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: disabled_offnative_gpu_memory_buffers: disabled_softwarerasterization: disabled_softwaresurface_synchronization: enabled_onvideo_decode: unavailable_offwebgl: enabledwebgl2: enabled

Load (avg)
1, 1, 2

Memory (System)
3.74GB (0.11GB free)

Process Argv
--unity-launch

Screen Reader
no

VM
0%

Expected behaviour
XXX
Actual behaviour
XXX
Steps to reproduce:

It is a pop-up notification in VSCode.

Logs
Pyhton Output Console
Starting Microsoft Python language server.
[Info  - 12:49:58 AM] Analysis cache path: /home/ebubekirtrkr/.cache/Microsoft/Python Language Server
[Info  - 12:49:58 AM] GetCurrentSearchPaths /usr/bin/python
[Info  - 12:49:59 AM] Interpreter search paths:
[Info  - 12:49:59 AM]     /usr/lib/python2.7
[Info  - 12:49:59 AM]     /usr/lib/python2.7/plat-x86_64-linux-gnu
[Info  - 12:49:59 AM]     /usr/lib/python2.7/lib-tk
[Info  - 12:49:59 AM]     /usr/lib/python2.7/lib-dynload
[Info  - 12:49:59 AM]     /home/ebubekirtrkr/.local/lib/python2.7/site-packages
[Info  - 12:49:59 AM]     /usr/local/lib/python2.7/dist-packages
[Info  - 12:49:59 AM]     /usr/lib/python2.7/dist-packages
[Info  - 12:49:59 AM]     /usr/lib/python2.7/dist-packages/gtk-2.0
[Info  - 12:49:59 AM] User search paths:
[Info  - 12:49:59 AM]    {workspaceFolder}/~/google-cloud-sdk/platform/google_appengine/lib/webapp2-2.5.2
[Info  - 12:49:59 AM]     {workspaceFolder}/~/google-cloud-sdk/platform/google_appengine
[Info  - 12:49:59 AM]     {workspaceFolder}/~/google-cloud-sdk/lib
[Info  - 12:49:59 AM]     {workspaceFolder}/~/google-cloud-sdk/platform/google_appengine/lib/endpoints-1.0
[Info  - 12:49:59 AM]     {workspaceFolder}/~/google-cloud-sdk/platform/google_appengine/lib/protorpc-1.0
[Error - 12:50:00 AM] Server initialization failed.
  Message: Specified argument was out of the range of valid values.
  Code: -32000
   at System.ReadOnlySpan`1..ctor(Void* pointer, Int32 length)
   at Interop.Sys.DirectoryEntry.GetName(Span`1 buffer)
   at System.IO.Enumeration.FileSystemEntry.get_FileName()
   at System.IO.Enumeration.FileSystemEnumerableFactory.<>c__DisplayClass3_0.<UserFiles>b__1(FileSystemEntry& entry)
   at System.IO.Enumeration.FileSystemEnumerable`1.DelegateEnumerator.ShouldIncludeEntry(FileSystemEntry& entry)
   at System.IO.Enumeration.FileSystemEnumerator`1.MoveNext()
   at System.Collections.Generic.LargeArrayBuilder`1.AddRange(IEnumerable`1 items)
   at System.Collections.Generic.EnumerableHelpers.ToArray[T](IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at Microsoft.Python.Core.IO.PathUtils.EnumerateFiles(String root, String pattern, Boolean recurse, Boolean fullPaths)+MoveNext() in E:\A\_work\1\s\src\Core\Impl\IO\PathUtils.cs:line 289
   at System.Linq.Enumerable.SelectManySingleSelectorIterator`2.MoveNext()
   at Microsoft.Python.Analysis.Modules.Resolution.ModuleResolutionBase.ReloadModulePaths(IEnumerable`1& rootPaths) in E:\A\_work\1\s\src\Analysis\Ast\Impl\Modules\Resolution\ModuleResolutionBase.cs:line 120
   at Microsoft.Python.Analysis.Modules.Resolution.MainModuleResolution.ReloadAsync(CancellationToken cancellationToken) in E:\A\_work\1\s\src\Analysis\Ast\Impl\Modules\Resolution\MainModuleResolution.cs:line 237
   at Microsoft.Python.Analysis.Modules.Resolution.MainModuleResolution.InitializeAsync(CancellationToken cancellationToken) in E:\A\_work\1\s\src\Analysis\Ast\Impl\Modules\Resolution\MainModuleResolution.cs:line 62
   at Microsoft.Python.Analysis.Analyzer.PythonInterpreter.LoadBuiltinTypesAsync(String root, IServiceManager sm, CancellationToken cancellationToken) in E:\A\_work\1\s\src\Analysis\Ast\Impl\Analyzer\PythonInterpreter.cs:line 59
   at Microsoft.Python.Analysis.Analyzer.PythonInterpreter.CreateAsync(InterpreterConfiguration configuration, String root, IServiceManager sm, CancellationToken cancellationToken) in E:\A\_work\1\s\src\Analysis\Ast\Impl\Analyzer\PythonInterpreter.cs:line 67
   at Microsoft.Python.LanguageServer.Implementation.Server.InitializeAsync(InitializeParams params, CancellationToken cancellationToken) in E:\A\_work\1\s\src\LanguageServer\Impl\Implementation\Server.cs:line 145
   at Microsoft.Python.LanguageServer.Implementation.LanguageServer.Initialize(JToken token, CancellationToken cancellationToken) in E:\A\_work\1\s\src\LanguageServer\Impl\LanguageServer.Lifetime.cs:line 36

Problems
No problems have been detected in the workspace so far.

How did {workspaceFolder} make it to us without having a replacement done by the extension or VS Code? {workspaceFolder}/~/ itself is very strange. @ebubekirtrkr Have you modified extraPaths?

@jakebailey I have placed it in there, because I don't wanna share my directory path.

Oh, I see. That's nearly the same syntax as what's in the config.
Note that I don't think putting ~ in the config is going to work; ~ is typically expanded by a shell, but not in other cases. If you could share what your extraPaths is (even if it's partially redacted), then I'd be happy to give you an alternate method to try.

Actually, in context, /~/ doesn't quite make sense either.

@jakebailey I see what you want to say and I edit it, it is my mistake, they(~) were at the beginning and I forgot to remove them.

@jakebailey I edit it as what it was at beginning.

We had some recent fixes around paths and Python 2.7. I'd appreciate it if you could try out our daily build by setting the following and reloading:
"python.analysis.downloadChannel": "daily"

@jakebailey When I copy and paste it in settings , a notification occurs in problems section which is   Unknown configuration setting. Also, in VSCode settings there is no python.analysis.downloadChannel option.
What I need to do?

You can safely ignore the message. It's undocumented, and we give it out to help people test things.

@jakebailey  I have added what you say in settings and I reloaded VSCode. But It seems unsolved.
Pyhton Output Console
Starting Microsoft Python language server.
Downloading https://pvsc.azureedge.net/python-language-server-daily/Python-Language-Server-linux-x<IP_ADDRESS>.nupkg... complete
Unpacking archive... done
[Info  - 1:57:05 AM] Analysis cache path: /home/ebubekirtrkr/.cache/Microsoft/Python Language Server
[Info  - 1:57:05 AM] GetCurrentSearchPaths /usr/bin/python
[Info  - 1:57:05 AM] Interpreter search paths:
[Info  - 1:57:05 AM]     /usr/lib/python2.7
[Info  - 1:57:05 AM]     /usr/lib/python2.7/plat-x86_64-linux-gnu
[Info  - 1:57:05 AM]     /usr/lib/python2.7/lib-tk
[Info  - 1:57:05 AM]     /usr/lib/python2.7/lib-dynload
[Info  - 1:57:05 AM]     /home/ebubekirtrkr/.local/lib/python2.7/site-packages
[Info  - 1:57:05 AM]     /usr/local/lib/python2.7/dist-packages
[Info  - 1:57:05 AM]     /usr/lib/python2.7/dist-packages
[Info  - 1:57:05 AM]     /usr/lib/python2.7/dist-packages/gtk-2.0
[Info  - 1:57:05 AM] User search paths:
[Info  - 1:57:05 AM]     /home/ebubekirtrkr/Desktop/Codes/SeleniumScripts/~/google-cloud-sdk/platform/google_appengine/lib/webapp2-2.5.2
[Info  - 1:57:05 AM]     /home/ebubekirtrkr/Desktop/Codes/SeleniumScripts/~/google-cloud-sdk/platform/google_appengine
[Info  - 1:57:05 AM]     /home/ebubekirtrkr/Desktop/Codes/SeleniumScripts/~/google-cloud-sdk/lib
[Info  - 1:57:05 AM]     /home/ebubekirtrkr/Desktop/Codes/SeleniumScripts/~/google-cloud-sdk/platform/google_appengine/lib/endpoints-1.0
[Info  - 1:57:05 AM]     /home/ebubekirtrkr/Desktop/Codes/SeleniumScripts/~/google-cloud-sdk/platform/google_appengine/lib/protorpc-1.0
[Error - 1:57:05 AM] Server initialization failed.
  Message: Specified argument was out of the range of valid values.
  Code: -32000
   at System.ReadOnlySpan`1..ctor(Void* pointer, Int32 length)
   at Interop.Sys.DirectoryEntry.GetName(Span`1 buffer)
   at System.IO.Enumeration.FileSystemEntry.get_FileName()
   at System.IO.Enumeration.FileSystemEnumerableFactory.<>c__DisplayClass3_0.<UserFiles>b__1(FileSystemEntry& entry)
   at System.IO.Enumeration.FileSystemEnumerable`1.DelegateEnumerator.ShouldIncludeEntry(FileSystemEntry& entry)
   at System.IO.Enumeration.FileSystemEnumerator`1.MoveNext()
   at System.Collections.Generic.LargeArrayBuilder`1.AddRange(IEnumerable`1 items)
   at System.Collections.Generic.EnumerableHelpers.ToArray[T](IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at Microsoft.Python.Core.IO.PathUtils.EnumerateFiles(String root, String pattern, Boolean recurse, Boolean fullPaths)+MoveNext() in E:\A\_work\2\s\src\Core\Impl\IO\PathUtils.cs:line 296
   at System.Linq.Enumerable.SelectManySingleSelectorIterator`2.MoveNext()
   at Microsoft.Python.Analysis.Modules.Resolution.ModuleResolutionBase.ReloadModulePaths(IEnumerable`1& rootPaths) in E:\A\_work\2\s\src\Analysis\Ast\Impl\Modules\Resolution\ModuleResolutionBase.cs:line 120
   at Microsoft.Python.Analysis.Modules.Resolution.MainModuleResolution.ReloadAsync(CancellationToken cancellationToken) in E:\A\_work\2\s\src\Analysis\Ast\Impl\Modules\Resolution\MainModuleResolution.cs:line 210
   at Microsoft.Python.Analysis.Modules.Resolution.MainModuleResolution.InitializeAsync(CancellationToken cancellationToken) in E:\A\_work\2\s\src\Analysis\Ast\Impl\Modules\Resolution\MainModuleResolution.cs:line 61
   at Microsoft.Python.Analysis.Analyzer.PythonInterpreter.LoadBuiltinTypesAsync(String root, IServiceManager sm, CancellationToken cancellationToken) in E:\A\_work\2\s\src\Analysis\Ast\Impl\Analyzer\PythonInterpreter.cs:line 59
   at Microsoft.Python.Analysis.Analyzer.PythonInterpreter.CreateAsync(InterpreterConfiguration configuration, String root, IServiceManager sm, CancellationToken cancellationToken) in E:\A\_work\2\s\src\Analysis\Ast\Impl\Analyzer\PythonInterpreter.cs:line 67
   at Microsoft.Python.LanguageServer.Implementation.Server.InitializeAsync(InitializeParams params, CancellationToken cancellationToken) in E:\A\_work\2\s\src\LanguageServer\Impl\Implementation\Server.cs:line 135
   at Microsoft.Python.LanguageServer.Implementation.LanguageServer.Initialize(JToken token, CancellationToken cancellationToken) in E:\A\_work\2\s\src\LanguageServer\Impl\LanguageServer.Lifetime.cs:line 36

Those google-cloud-sdk paths, did you set up some configuration in order to add them? As in extraPaths or PYTHONPATH?

Yes in settings.json there is an option.
"python.autoComplete.extraPaths": [
    "~/google-cloud-sdk/platform/google_appengine/lib/webapp2-2.5.2",
    "~/google-cloud-sdk/platform/google_appengine",
    "~/google-cloud-sdk/lib",
    "~/google-cloud-sdk/platform/google_appengine/lib/endpoints-1.0",
    "~/google-cloud-sdk/platform/google_appengine/lib/protorpc-1.0"
],

That's probably where things are going wrong. Nothing between those settings and our use of it expands the ~ into your real $HOME. (See also #557.)
What you can try is making those paths absolute. Based on your previous logs, I'd say something like:
"python.autoComplete.extraPaths": [
    "/home/ebubekirtrkr/google-cloud-sdk/platform/google_appengine/lib/webapp2-2.5.2",
    "/home/ebubekirtrkr/google-cloud-sdk/platform/google_appengine",
    "/home/ebubekirtrkr/google-cloud-sdk/lib",
    "/home/ebubekirtrkr/google-cloud-sdk/platform/google_appengine/lib/endpoints-1.0",
    "/home/ebubekirtrkr/google-cloud-sdk/platform/google_appengine/lib/protorpc-1.0"
],

Note that we have other issues when it comes to the ordering of these paths; some of those may not end up working due to the way we carve out parts of folders as import roots. You may need to reorder the above deepest-first, like:
"python.autoComplete.extraPaths": [
    "/home/ebubekirtrkr/google-cloud-sdk/platform/google_appengine/lib/endpoints-1.0",
    "/home/ebubekirtrkr/google-cloud-sdk/platform/google_appengine/lib/protorpc-1.0"
    "/home/ebubekirtrkr/google-cloud-sdk/platform/google_appengine/lib/webapp2-2.5.2",
    "/home/ebubekirtrkr/google-cloud-sdk/platform/google_appengine",
    "/home/ebubekirtrkr/google-cloud-sdk/lib",
],

The exception seems to happen deep in .NET framework. See https://github.com/dotnet/corefx/issues/34359. It is fixed in 3.0 while we are on 2.2.

We have upgraded LS to 3.0 a while ago in https://github.com/microsoft/python-language-server/pull/1521


Generators and tasks do not work in engines

When using Stimulus in an engine, running the stimulus controller generator doesn't respect the engine namespace. So it'll generate in app/javascript/controllers instead of app/javascript/engine_name/controllers
Furthermore, the stimulus tasks are not available, so the automatic execution of stimulus:manifest:update by the generator fails.
I know this can all be done manually, but it's unintuitive that it doesn't work when other Rails generators operate correctly.

Feel free to explore a fix to this 👍

Small progress update here:
Fixing the Stimulus controller generator seems trivial and I'll submit a pull request for that.
However, more challenging is the getting Stimulus tasks to show up in the engine root without modifying the engine's Rakefile. Any tasks declared with Rails::Railtie.rake_tasks, Rails::Engine.rake_tasks or in lib/tasks will be scoped under namespace :app due to Rakefile loading rails/tasks/engine.rake in Railties, which then scopes under :app and loads tasks.
Critically, there doesn't appear to be any way to add unscoped tasks within a Rails::Engine.
I think the solution is making changes to Railties to have something like Rails::Railtie.unscoped_rake_tasks or Rails::Railtie.engine_rake_tasks (not sure on the best nomenclature here) that would allow an engine to declare tasks that will not appear in host apps, but can be run in the engine root during development.
engine.rake accomplishes this for database-related tasks by doing it manually for Rails, so there is a use-case, albeit niche. Any engine with tasks other than generators could use this.
In the case of Stimulus, we would want app:stimulus:manifest:update to exist for the dummy app, but also stimulus:manifest:update for development of the engine itself when run in the engine project root.
Thoughts? Should I pursue a more significant pull request on Railties to accomplish this @dhh ?

That's a good question. I don't have the answer, but maybe @rafaelfranca does.

I've made a pull request to address this. It's not tiny, but the more I got into it, the more related issues and edge-cases I found to fix and clean up. :)
The one drawback is I had to include a small monkeypatch to Rake's DSL to allow creating unscoped top-level tasks.
Incidentally, I discovered ActionCable also has a few similar issues with its generator that needs addressing.


[Snackbar] Update snackbar to pass props to element

The only prop I care about is className but maybe this implementation is more generic.  I know materialui is moving away from classes, but my case applies custom animations (which I don't think are easily converted into inline styling)

Thanks @jaygood :+1:


Inconsistency between the pretrained models and labels

I notice that for pretrain models that are provided the labels are not consistent.
For example vgg16 class 1 is different from Resnet50 class 1.
Can you let us know where we can find the corresponding labels for each model?
For vgg i notice that the one that looks like this:
  "0": [
    "n01440764",
    "tench"
  ],
  "1": [
    "n01443537",
    "goldfish"
  ],
  "2": [
    "n01484850",
    "great_white_shark"
  ],
  "3": [
    "n01491361",
    "tiger_shark"
  ],
  "4": [
    "n01494475",
    "hammerhead"
  ],
  "5": [
    "n01496331",
    "electric_ray"
  ],
  "6": [
    "n01498041",
    "stingray"
  ],
  "7": [
    "n01514668",
    "cock"
  ],
  "8": [
    "n01514859",
    "hen"

works, but this one is not the one that we should use for resnets, please let us know what we should do.
Thanks

any update on this @pmeier

Hi,
I believe all classification models in torchvision have the same expected output order (the order following the sorted imagenet synsets) https://github.com/pytorch/vision/blob/c991db82abba12e664eeac14c9b643d0f1f1a7df/torchvision/datasets/folder.py#L164-L165
We can verify that because we have recently re-computed all model accuracies in https://github.com/pytorch/vision/pull/3360, using the same dataset for all models (so the class indices are the same).
As such, I believe there shouldn't be any inconsistency there, and the behavior you might have seen is because VGG16 misclassified one image.
I believe I've answered your question and as such I'm closing this issue, but let us know if you have any further questions

@fmassa thanks for your reply, but I am not sure if that is solved.
I still cannot achieve a reasonable accuracy via pretrained models.
To be specific, in the txt file for labels I have:
n01978287 613 Dungeness_crab
n01978455 614 rock_crab
n01980166 615 fiddler_crab
n01981276 616 king_crab
...

can you clarify how should I sort the labels? currently, I am sorting based on the first elements (i.e. I'm sorting based on n0... class numbers), but this result is very bad.
should I sort based on class ids (i.d. second elements in the line)?
Thanks for your help

Hi,
Here is a mapping between the output idxs and the class names https://raw.githubusercontent.com/pytorch/hub/master/imagenet_classes.txt
You can see that the label names have been alphabetically ordered by synset in https://gist.github.com/fnielsen/4a5c94eaa6dcdf29b7a62d886f540372


[add] slide options

Coverage decreased (-0.05%) to 85.786% when pulling 52887a89a558750f3751ae8070c9ef4bf654f9d2 on sunny4381:features/key-visual-options into bda00758efda106b9f2fb1492db53af717040f4f on shirasagi:master.

Coverage increased (+0.0009%) to 85.833% when pulling 145ec1afa601e4e0562f9a459b242051c8ebc5d3 on sunny4381:features/key-visual-options into bda00758efda106b9f2fb1492db53af717040f4f on shirasagi:master.


fixing IL error when using floats

fixes https://github.com/vis2k/Mirror/issues/2145
uses tests from https://github.com/vis2k/Mirror/pull/2149

@James-Frowen previous code had a case for !IsPrimitive. does that still work fine?

If you mean the code in the else block, ye it works fine and all the new tests pass.
It seems like the IsPrimitive block is from UNET, returning an 0 int value seems to work for most primitives but it fails on floats, dobules, and ulongs


Ensure that fifo suffix comes at end of output queue names.

This bugfix ensures that the .fifo suffix is appended to the end of output queues as well as input queue names.
There are no security concerns with this change that I can conceive of.

@computermacgyver , @skyemeedan : Devin is busy and I'm hoping one of you could take a look at this pull request. It's not elegant as fixes go. If we were on a newer Python version I could use the removesuffix() method, alas...
Let me know if you have any suggestions! Thanks :)


Upgrade typescript source code to the latest

The layout of source files of 1.4.x is too different from 1.0.0.

I think it would be great to use installed typescript compiler if it is installed. But if compiler would not be found in system gem would use internal compiler.

Typescript source code is updated to v1.4.1.

@bdrazhzhov could you update on rubygems?

Currently I don't have permission for updating on rubygems. I've asked owner about it. When I get permission I'll update gem on rubygems.

@amritk, I've pushed new version of gem to rubygems.


Added new VERBOSE logging level and fixed enclave logging issues

This PR involves the following changes:

Added a new OE_LOG_LEVEL_VERBOSE level to the existing SDK logging mechanism
Addressed enclave logging issue
Moved some detailed INFO message to VERBOSE
Enhanced logging for attestation code paths

bors try

bors r+

bors r+


SOLR-15467: Rename Parrallel SQL to just SQL throughout Solr docs

https://issues.apache.org/jira/browse/SOLR-15467
Description
Rework the parrallel-sql-interface.adoc to just sql-interface.adoc.
I want to think about reorganizing the page to put all the SQL Syntax details at the TOP of the page, as I think that is what MOST people pulling up the page are going to be looking for, versus more tech details.   We want Solr SQL to make it easier for non search/techy folks to access the data in Solr!
I'm also thinking we should add to the ref guide a SQL Screen link to the Solr Admin SQL screen that is new in 9.
Solution
Updating links, text changes.
Updates to the sample_techproducts_config managed-schema to let the sample SQL query run out of the box:
SELECT manu as mfr, price as retail FROM techproducts

Tests
Please describe the tests you've developed or run to confirm this patch implements the feature or solves the problem.
Checklist
Please review the following and check all that apply:

[x] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
[X ] I have created a Jira issue and added the issue ID to my pull request title.
[ X] I have given Solr maintainers access to contribute to my PR branch. (optional but recommended)
[ X] I have developed this patch against the main branch.
[x] I have run ./gradlew check.
[x] I have added tests for my changes.
[ X] I have added documentation for the Reference Guide

Once last ping!   I'd love to merge this today, and would love a LGTM ;-)


Vastly improve documentation text (still not complete)

Codecov Report

Merging #60 into main will decrease coverage by 0.24%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #60      +/-   ##
==========================================
- Coverage   82.32%   82.08%   -0.25%
==========================================
  Files          23       23
  Lines         979      977       -2
  Branches      157      157
==========================================
- Hits          806      802       -4
- Misses        144      145       +1
- Partials       29       30       +1

Impacted Files
Coverage Δ

src/paxter/parse/context.py
90.25% <0.00%> (-1.41%)
:arrow_down:

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 36ccce1...7870e6f. Read the comment docs.


v2.0.0-rc.17 got a lot of Vue warn

When I use v2.0.0-rc.16, everything performs normal. But once I upgrade to v2.0.0-rc.17, a lot of Vue warn appears on the terminal. It looks like this:
console.warn     [Vue warn]: Maximum recursive updates exceeded in component <ElDialog>. This means you have a reactive effect that  is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.       at warn (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6533:17)       at checkRecursiveUpdates (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6910:13)       at check (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6872:28)       at flushJobs (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6878:29)       at flushJobs (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6897:13)       at flushJobs (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6897:13)       at flushJobs (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6897:13)
I'm developing a components lib based on element-plus. It's seem like the waring is all about Maximum recursive updates exceeded

Hi @hansonfang
Thank you for opening an issue. This looks weird indeed.
Can you provide us a minimum reproduction, please?
Ideally, you can either:

add a unit-test to this repository that produces the warning with a small component
or create a new repository on Github, with a minimal reproduction (a small component and its test that produces this warning with rc.17 and not in rc.16). You can use Vue CLI to create this repository.

Hi @cexbrayat ,I can't reproduce this issue from a new project and I found out why. It's the babel.config.js，I used a plugin called plugins: ["@vue/babel-plugin-jsx"]。when I deleted this config, everything back to normal. Thanks for your attention.

From this, I'd like to know why I can't use vue-test-util for tsx in vue. It just can't render deeper components and output these warning above. no matter shallow is true or false.

Hi @hansonfang
We have a simple test with tsx here https://github.com/vuejs/vue-test-utils-next/blob/master/tests/features/with-tsx.spec.tsx
If you think there is an issue, try to add your (simplified) use-case to it, and open a PR with the reproduction, we'll take a look 👍
It might be an issue with @vue/babel-plugin-jsx, as it is not super actively maintained (JSX is not really the way the Vue team pushes forward, as the template compiler is way more efficient).

Is there a way to ignore these warnings like former version config.showDeprecationWarnings = false ?

I reproduced this problem and seems like only part of @vue/babel-plugin-jsx 's problem. I bulit a repo
reproduce-vue-test-util-warning
just install the dependency and run test script ，you'll see the warning on the console.

@hansonfang The same situation as me，I'm also developing a components lib based on element-plus.
But the difference is If I use shallowMount to mount my outer components,This exception will not occur.But that's not what we expected。


the data of imbd-wiki sets with age and gender mislabelling problems

The data of imbd-wiki sets with age and gender mislabelling problems,What did you deal with it?

hello, I also find a lot of mislabelling problems.


Several minor issues corrected in volume.pp script

but I corrected them in the same commit and am a bit lazy to refractor since they are minor:

line 113 is prone to an error if no volumes defined (function does not handle undef well)
type on line 182
all regsubst were throwing an error due to G being a variable. Casting as string resolves the issue

This looks like it will replace #24.  Does the split function handle an empty string differently from the way it handles null or undef ?

Without specifying any option, it seem readdir-ahead has been activated on volumes and when fixing the pattern for regsubst, I get this INFO thrown on catalog compilation:
Scope(Gluster::Volume[share1_gv]) NOT REMOVING the following options for volume share1_gv:share1_gv:performance.readdir-ahead.

So that raises two things to my attention:
1 - Where is that option impliclty specified because according to Gluster doc it's disabled by default.
2 - Notice how the volume name is there twice so we might have a regex/split/join issue somewhere and if it's deep it could be a problem to manage options.

Hello:
Can this be squashed and rebased, if needed?

@valsr can you tell puppet-lint to ignore that check on that line?

hi @valsr. Is this still a valid PR? Do we need to quote the variable?

Hi @bestelfreak I have taken a break from puppet but it should be quoted to meet puppet standards


[Bug] Cannot sign with DID through walletconnect

What happened?
In discord, using the DID verifier bot, the process of verifying the DID through walletconnect on 1.8.0rc3 is not working. Not getting the confirmation prompt in the wallet when trying to connect.
Version
1.8.0rc3
What platform are you using?
macOS
What ui mode are you using?
GUI
Relevant log output or stacktrace
No response

RC3 uses version 2.7.0 of the walletconnect SDK. I found that versions > 2.6.0 don't handle any WC requests from a dapp. The linked PR downgrades the SDK to 2.6.0 which I've verified works with the test dapp (including signing via DID).


Use virtual scroll for nav list

Because of long list of models (and projects) it lags on rendering all items.
To solve this lagging issue, we use virtual scroll that renders only visible items.

I am not sure, but is that intended that can I see only 14 models?

It is a bug which has been already fixed (See #442).


chore(main): release core-js 1.5.22-experimental

:robot: I have created a release beep boop
1.5.22-experimental (2024-11-13)
Full Changelog: https://github.com/open-socket/js-sdk/compare/core-js<EMAIL_ADDRESS>
This PR was generated with Release Please. See documentation.

:robot: Created releases:

<EMAIL_ADDRESS>:sunflower:


Add imperative API to StatusBar

This exposes a JS interface to NativeModules.StatusBarManager on
StatusBar. It also deprecates StatusBarIOS since StatusBar now implements
the same API.
See discussion in #5909
Closes #5909

cc @CentaurWarchief

@facebook-github-bot shipit

I was about to do it soon. You guys are rushed!
/cc @julianocomg

This is merged.

Well, I see some problems in your PR @janicduplessis, for example, there's a lot of code duplication. If you're creating an imperative API, why woudn't expose it and reuse the same API that already handles the iOS & Android logic in the component? It will much more easier to maintain.

@CentaurWarchief Up for a PR? :D

Of course, @satya164. As I told, I was about to do it :).

@CentaurWarchief Awesome :D

@CentaurWarchief The logic that needs to be done is actually a bit different in the component vs the imperative API that's why I can't use it directly. We don't want to warn for using a prop on the wrong platform in the component and we need to change the defaultProps value in the static API but not in the component. That's why I didn't reuse it directly and I didn't feel the need to add another abstraction around the native module.
Feel free to move some stuff around if you'd like but you'll have to keep this in mind.

Good catch @janicduplessis :+1:. Hey @satya164, I think it's fine for now — you can proceed with your merging process.
And I almost forgot, thanks for the PR @janicduplessis!
:beers:

@CentaurWarchief It's already merged :D


feat: implement xlinectl txn, watch and lock commands

Based on: #427
Please briefly answer these questions:

what problem are you trying to solve? (or if there's no problem, what's the motivation for this change?)

what changes does this pull request make?

are there any non-obvious implications of these changes? (does it break compatibility with previous versions, etc)

rebased


operator manifests: Add OCP 4.4 workaround

OSBS-8640

Replace pullspecs everywhere, not just in locations in which they are
expected to be found.
Signed-off-by: Adam Cmiel<EMAIL_ADDRESS>Maintainers will complete the following section:

[x] Commit messages are descriptive enough
[x] "Signed-off-by:" line is present in each commit
[x] Code coverage from testing does not decrease and new code is covered
[x] JSON/YAML configuration changes are updated in the relevant schema
[x] Changes to metadata also update the documentation for the metadata
[x] Pull request includes link to an osbs-docs PR for user documentation updates
[x] New feature can be disabled from a configuration file

It is theoretically possible to configure OSBS in a way such that
replacement_pullspecs will have {A: B, B: C}.
Doing both replace_pullspecs() and replace_pullspecs_everywhere()
would then result in A -> C.
Example:
operator_manifests:
  allowed_registries:
    - r1
    - r2
  registry_post_replace:
    - old: r1
      new: r2
    - old: r2
      new: r3

kind: ClusterServiceVersion
spec:
  relatedImages:
    - name: foo1
      image: r1/foo@sha256:123456  # A
    - name: foo2
      image: r2/foo@sha256:123456  # B

I would consider this user / OSBS maintainer error, but in the interest
of keeping the same behaviour, use only replace_pullspecs_everywhere()
for now. The only downside should be less informative DEBUG messages.
Not sure if it would be worth checking such cases in code.

I would consider this user / OSBS maintainer error, but in the interest
of keeping the same behaviour, use only replace_pullspecs_everywhere()
for now. The only downside should be less informative DEBUG messages.
Not sure if it would be worth checking such cases in code.

Not worth checking. That workaround will be removed when OCP4.4 goes EOL

Release notes: pin_operator_digest will now replace pullspecs in entire CSV file (OCP 4.4 workaroud)


Could not find a version that satisfies the requirement kivy-deps.angle. First I tried to add dependencies in python interpreter of pycharm and got -"DEPRECATION: The -b/--build/--build-dir/--build-directory option is deprecated. pip 20.3 will remove support for this functionality. A possible replacement is use the TMPDIR/TEMP/TMP environment variable, possibly combined with --no-clean. You can find discussion regarding this at https://github.com/pypa/pip/issues/8333. ERROR: Could not find a version that satisfies the requirement kivy-deps.angle (from versions: none) ERROR: No matching distribution found for kivy-deps.angle" ERROR: Could not find a version that satisfies the requirement kivy-deps.angle (from versions: none). .Got this Then I used terminal 'pip3 install kivy-deps.angle' to get ' ERROR: Could not find a version that satisfies the requirement kivy-deps.angle (from versions: none) ERROR: No matching distribution found for kivy-deps.angle'

Software Versions

Python:
OS:
Kivy:
Kivy installation method:

Describe the bug
A clear and concise description of what the bug is.
The issue tracker is a tool to address bugs only (search known bugs: https://git.io/vM1iE).
Please use the #support Discord channel at https://chat.kivy.org/ or Stack Overflow for
support questions, more information at https://git.io/vM1yQ.
Expected behavior
A clear and concise description of what you expected to happen.
To Reproduce
A short, runnable example that reproduces the issue with latest kivy master.
Code and Logs and screenshots
// REPLACE ME: Paste your code and logs here, a template can be found at https://git.io/vM1id.

Additional context
Add any other context about the problem here.

First I tried to add dependencies in python interpreter of pycharm and got -"DEPRECATION: The -b/--build/--build-dir/--build-directory option is deprecated. pip 20.3 will remove support for this functionality. A possible replacement is use the TMPDIR/TEMP/TMP environment variable, possibly combined with --no-clean. You can find discussion regarding this at https://github.com/pypa/pip/issues/8333. ERROR: Could not find a version that satisfies the requirement kivy-deps.angle (from versions: none) ERROR: No matching distribution found for kivy-deps.angle" ERROR: Could not find a version that satisfies the requirement kivy-deps.angle (from versions: none). .Got this Then I used terminal 'pip3 install kivy-deps.angle' to get ' ERROR: Could not find a version that satisfies the requirement kivy-deps.angle (from versions: none) ERROR: No matching distribution found for kivy-deps.angle'

I am also having the same error with pycharm and am very confused. Hopefully will find some answers.

Can you not put such a long title in your issue?

Try  installing sdl2 libraries as here #7064

@rayushbpgc please create a new issue, use the issue template to fill in the details, make it easy for us to help you.


Fix token payload logic

Fixed tokenPayload logic as was discussed here https://github.com/BinaryStudioAcademy/bsa-2022-autoline/pull/209#discussion_r963465394
Not sure if it's perfect solution because now we need to cast tokenPayload type everywhere
Also decided to delete test-protected-route as it was created only for testing and we don't need it anymore.

I'm not sure why all these previous commits added here after merge...

@R0ixy
Please change the target branch to the fix-token-payload-logic

I accidentally made a rebase so I think few cherry-picks and force push is better for this case


Updated UI

Fixed problem when loading dashboard for 1 validator

I have built the package and tested it, but I have no validators on mainnet. However, in prater and gnosis I have found no bugs.
http://my.dappnode/#/installer/%2Fipfs%2FQmWtGQ2SefhHdHHNNrKknB4LDL4sDAUqtHvFTgcSYXDpMN


⚠ Bofrost.be has degraded performance

In fd1236d, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1775 ms

Resolved: Bofrost.be performance has improved in 1fc32f4 after 7 minutes.