Simple counter example as a component class

So I was trying to demo the concept of Sprig class components to a colleague with a simple example
<?php

namespace sprig\components;

use putyourlightson\sprig\base\Component;

class HelpSupport extends Component
{
    public int $count = 2;
    protected $_template = '_components/helpSupport';

    public function updateCount()
    {
        $this->count = $this->count * 2;
    }
}

and then the component

    <form sprig
          s-action="updateCount"
          s-replace="#hello"
    >
        <button>
            increase counter
        </button>
    </form>

    {{ count }}

it works on the first click but then stops. What's missing?

Your template component is not persisting the state of count. You can do this in one of two ways, both of which require re-rendering the form.
The first is to persist state using a hidden input field:
<form sprig s-action="updateCount">
    {{ hiddenInput('count', count) }}
    ...

The second is to bind the value of count to the form:
<form sprig s-action="updateCount" s-val:count="{{ count }}">
    ...

Although personally I'd scrap the form and bind Sprig directly on the button:

        <button sprig
          s-action="updateCount"
          s-val:count="{{ count }}"
          s-replace="#hello">
            increase counter
        </button>

    {{ count }}

thank you sir. The first 2 work, but the 3rd has the same issue in that it doesn't seem to persist.

That s-replace crept back in somehow, removing it should work.

        <button sprig
          s-action="updateCount"
          s-val:count="{{ count }}">
            increase counter
        </button>

    {{ count }}

Since we're already doing this, here would be my version of a counter component.
<button sprig s-action="decrement">-</button>
<input type="text" value="{{ count }}">
<button sprig s-action="increment">+</button>


Remove IE 11 from default browsers list

Have you read the FAQ and checked for duplicate open issues?
Yes. The FAQ states up front that IE11 is no longer supported past version 3.1.
What version of Shaka Player are you using?
4.1.0
Can you reproduce the issue with our latest release version?
Yes
Can you reproduce the issue with the latest code from main?
Yes
Are you using the demo app or your own custom app?
N/A, build issue
If custom app, can you reproduce the issue using our demo app?
N/A
What browser and OS are you using?
Edge/Chrome/Firefox, Windows 11
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
N/A
What are the manifest and license server URIs?

N/A
What configuration are you using?  What is the output of player.getConfiguration()?

N/A
What did you do?

On a Windows 10 or 11 machine, follow the steps in Shaka's CONTRIBUTING.md. Will not repro on a non-Windows machine.
When you reach step 8, you run python build/test.py.

What did you expect to happen?
I expect IE 11 should not be in the default browser list because it is being retired on June 15, 2022, which is less than a fortnight from today. I expected that whichever default browsers are chosen to run the tests, that most tests should pass.
What actually happened?

On my machine, Edge/Chrome/Firefox have over 2000 tests pass, with some number of failures. IE is in fact in the default browser list, and IE fails to run at all, claiming a missing plugin. When I went to search for the plugin to install (WebDriver?), the Microsoft website states IE 11 is retiring on June 15, 2022, and the only WebDrivers on offer are for Windows 8.1. Although those might work, no builds are provided for Win 10/11. This makes me think IE 11 should be removed from the default browser list.

Agreed!  Sorry we overlooked that when we removed other aspects of IE support from the project.

I can have a PR for this shortly.

Thanks!


[Offsite RFC] Diversity & Tutoring

I wasn't actually involved in this specific group at the offsite, but I did get feedback that I can do more to champion diversity given my strong feelings on it and, at the same time, @pauldambra said he could do with a hand. So, that's why I'm meddling!
What's the objective and why?
One of the ideas discussed at the offsite was doing more to champion diversity (because we think it's important) and to attract diverse candidates to PostHog.
One way which we feel we can encourage diversity at PostHog is through coaching and tutoring, inspired by work @pauldambra has done previously and @liyiy has done recently. The goal of this objective would be to identify who, how and where we can continue doing such activities, with a particular focus on engineering opportunities due to the type of company we are and the type of team we have.
Where would we focusing?
Diversity in this case can mean anything which makes people unique. Diversity can stem from gender, race and age, etc., but also from medical issues, neurodiversity and background. It's been suggested that two areas we may prioritize because they seem particularly under-represented in our current team are: individuals who identify as female, and individuals in the southern hemisphere. However, we should be mindful to make this initiative inclusive of many different types of diversity and not limit activities to a single axis.
Because we are planning to approach this initiative from the perspective of coaching and tutoring, we will focus on areas where we have considerable experience. Specifically, tutoring others on Python, Django and Javascript.
Due to bandwidth, we want to focus on working with existing organizations. This will help us have a more immediate impact and play to our strengths more than, for example, launching a PostHog scholarship or organization of our own.
Who could we work with?
The following organizations have been suggested previously...

Codenation, which @liyiy already supports
Lesbians Who Tech, suggested by @postgrace
Elpha, suggested by @postgrace
Django Girls, suggested by me (and who we already support)
Women Who Code, suggested by me
Stemettes, suggested by @lottiecoxon
Black Girls Code - Taken from a list @tiina303 suggested
All Star Code - Taken from a list @tiina303 suggested

But there are others, so suggest some more!
What would be involved?
The way we would collaborate with each organization would change based on a variety of factors. However, volunteers should assume that they'd have to donate some non-trivial amount of time to activities such as mentoring individuals, giving a talk about their personal experiences or attending events in person.
What's next?
This is just the first step and as such I'm especially interested in hearing feedback on the above, ideas for organizations and - most importantly - who would be interested in volunteering their time. It doesn't have to be just about engineering and engineers!
Once we've got some input, I'd be happy to help organize acitivities, do some outreach to organizations and raise visibility of the work we're doing to help inspire others.

This sounds great- no feedback comes to mind yet but I would like to express my interest in volunteering (not that I'm always around in the general European area) - I will be in UK over the summer for around 3 months if that helps.

Why not launching a PostHog scholarship? For example it could be a mini version of PostHog vc, we pick a CS student or a few, they get to hack on their project during the summer break from University & use PostHog for their product analytics. This might help with recruiting, marketing, ... and involve more folks not in engineering.
As an engineer I feel like there's more to do than I have time for already and at the current moment I'm not willing to offer up my personal time. Furthermore I feel like we haven't really established mentoring and coaching within the company and I think we could benefit from doing that first.

Why not launching a PostHog scholarship?

That's an awesome idea @tiina303

I'm not willing to offer up my personal time.

The first step in this was to update policy so that this is considered work time

Furthermore I feel like we haven't really established mentoring and coaching within the company and I think we could benefit from doing that first.

Can you expand on why you think that should come first? (Not disagreeing, don't want to assume I understand)

Why not launching a PostHog scholarship? For example it could be a mini version of PostHog vc, we pick a CS student or a few, they get to hack on their project during the summer break from University & use PostHog for their product analytics.

Isn't this what an internship is? If not, what are the differences?

Scholarships are usually paying for someones education no?

btw I stole the scholarship idea from the original post

Due to bandwidth, we want to focus on working with existing organizations. This will help us have a more immediate impact and play to our strengths more than, for example, launching a PostHog scholarship or organization of our own.

Can you expand on why you think that should come first? (Not disagreeing, don't want to assume I understand)

From what I'm seeing mentoring/coaching internally isn't currently happening much - partially due to everyone having too much on their plates, partially due to it not being encouraged/prioritized, partially due to lone wolfing, ...
If we now encourage and push everyone to mentor externally it's even less likely to happen as we'll have even less time available. I don't want us to end up in a place where PostHog is known for great coaching externally, but internally we don't have any/much.
Specifically here I want to be very cautious of more senior members time that I would love to keep to help more junior folks at PostHog to have coaching/mentoring. Why more senior you ask? While it's true that anyone can learn from anyone, I have personally benefited more from coaches/mentors who are more senior than me. Also selfishly I'd like a coach/mentor. Would be lovely if everyone who wants can have a mentor and a mentee - prioritizing internal folks first before doing external mentoring. At my previous larger companies there was a place to sign up to do either/both and then a matching system (usually a human) to pair people up. Rotating was also encouraged, so e.g. you work with someone for 3-6 months and then can choose to continue or switch.

Isn't this what an internship is? If not, what are the differences?

No, my idea was: they come to us with a project, we'll provide a scholarship/money so they can eat while hacking on their amazing product. vs an internship is something where you go to work at the company on their project and get mentoring etc.

Scholarships are usually paying for someones education no?

There are different kinds of scholarships afaik, not sure on the exact rules.

btw I stole the scholarship idea from the original post

Ha, where I originally dismissed it!
Personally, I worry that a scholarship would be a very high-expense way of doing this with only a limited impact. But I mainly dismissed it because I'm piggybacking on someone else's topic from the hackathon and it'd be rude to derail it on the first step!

Isn't this what an internship is? If not, what are the differences?

As Lottie says. My understanding is:
Scholarship: We give you £X to fund your education.
Internship: You come and work with us to learn on the job. Maybe we pay.
Mentorship: We meet you to help you grow your skills more directly.
What I think @tiina303 is suggesting in terms of payments during a project would be  patronage. Which I think would be much easier to scale than a scholarship for a few individuals. We could make a certain amount of money available to projects led by/for diverse audiences and then invite applications. We could potentially even view that as a feeder program for Hedgehog.vc @charlescook-ph ?

Specifically here I want to be very cautious of more senior members time that I would love to keep to help more junior folks at PostHog to have coaching/mentoring.

To me this is a great, but separate idea and they don't have to be mutually exclusive. We could, for example, match internal mentees with external mentors so that they still have mentors but our internal mentors can pursue external mentees. I mention this because my experience of being mentored is that it's been best with someone external anyway.

Two more angles that can be pursued either separately or in conjunction with volunteering:

sponsoring and/or sending representatives to career fairs or summits held by these organizations (Lesbians Who Tech does a Pride summit each year, and the career fair was super popular among attendees -- not sure if they are back in person yet, as they've been online since the beginning of the pandemic).
posting open roles on these organizations' job boards, and in the case of platforms like Elpha, actively engaging with their membership by posting on their forum and hosting things like AMAs.

match internal mentees with external mentors

Why not both :) Just to call out one of the pro's for internal mentors: there's a lot more context the internal person would have and that can be helpful especially for engineers.

So, I love all the ideas, but I'm personally keen to focus this initiative on an idea we can definitely move forward with as a first step and feel it would be unrealistic to do all of the above. Some of the things discussed above, like mentoring existing staff, are great ideas which probably need to be discussed separately from this diversity initiative.
I'm also aware that nobody, either above or in the original thread, has volunteered explicitly yet (except for Lottie).
What I'd suggest is that we choose one or two organizations above and investigate from there how we can engage with them more deeply across a variety of activities, such as hosting workshops, speaking at events, providing materials, etc. I'd be happy to reach out to a few organizations and report back with the specific things that they would want us to do.
Personally, I think Django Girls, Lesbians Who Tech and Codenation seem like the best fit because they cover wide geographies and we have an existing connection with each of them.
Happy to take feedback on this!

Personally, I think Django Girls, Lesbians Who Tech and Codenation seem like the best fit because they cover wide geographies and we have an existing connection with each of them.

Agree - support you just going ahead and taking action here, otherwise we're risking getting bogged down in a super wide ranging conversation 👍

I can volunteer time...

I'm happy to take on exploring engagement opportunities with Lesbians Who Tech -- I'll post what I find here with recommendations for how to move forward with them.

I can make time to talk to folks about product design if that comes up as a need. I already do 1:1 mentoring for product designers by request, so this would be easy to fold into my current scope of work. Let me know if I can support! 👍

Update: The Lesbians Who Tech summit is being hosted in person in San Francisco again, as well as virtually.
I've submitted a request for sponsorship information, and plan to register for the conference before early bird pricing ends this Friday. I'm also thinking of applying to be a speaker, with the angle of evangelizing the benefits of an open-source culture from an operations perspective. I'd love some feedback/brainstorming on that if anyone has ideas.

Managed to find some sponsorship information -- I'll do a deep dive with @charlescook-ph next week once he's back

Awesome - I've reached out to Codenation and Django Girls, but no response yet.
What sort of ideas are you looking for, Grace? I think the open-source culture is a good focus point.
We could explain how we encourage people to adapt open-source practices into how they work with others -- for example, encouraging the use of READMEs for individuals so that others can clearly communicate their needs. My readme, for example, explains a few things that I'm uncomfortable with and I've really appreciated that PostHog is one of the first places where I can communicate that to others and they listen to it. We could also talk about how our remote focus and communication norms enable people to be their most authentic selves at work, share passions and life stories, etc.
Probably worth not being too self-congratulatory too - especially if we want to be transparent. We could offer up information on how we want to become more diverse and talk about some of the things we struggle with.
Just my starting thoughts though, happy to collaborate further if helpful!

@joethreepwood that's a really great jumping-off point for me to have a deeper think, thanks for brainstorming a bit.
After some discussion and reviewing sponsorship options, we think that sending Coua and me to the LWT SF summit as a "walking booth" of sorts makes the most sense for this year -- the minimum sponsorship tier is $10k+ and you don't even get a virtual booth for that amount.

Just to keep everyone updated: I am now in touch with both DjangoGirls and Codenation, will be meeting with them next week. They've been a bit slow to respond.

So, I caught up with DjangoGirls. There are three things they were interested in.

Getting a free license to run on their site.
Having PostHog staff contribute to their docs and online tutorial to improve it.
PostHog running an event.

1 - Free licesnes
From a marketing perspective, providing free licenses for their site (and potentially adding it as part of their tutorial process) feels like the easiest win. However, it doesn't really solve much of the diversity intent here. Still, tagging @charlescook-ph to continue discussion there.
2 - Improving their docs & site
Their docs are open source and online. They believe there's a lot of room to update these. They'd love to have an engineer from PostHog look through it and make updates.
Maybe we could bundle this with Step 1. and give those who complete the tutorial a link to a tutorial in our docs about installing open-source PostHog on the blog which they create in the tutorial? This would need a volunteer with engineering experience (tagging @tiina303 and @pauldambra as you've been vocal here), though I'm happy to support if I can.
Their actual site is also open source. Contributions from the website/docs team (tagging @corywatilo @lottiecoxon @smallbrownbike) would be appreciated too.
3 - Running an event
We could run a DjangoGirls workshop online, or physically. I feel a physical workshop is best, but it isn't something we could bundle with an offsite unless we were willing to add an extra 48 hours to the agenda.
A workshop would be a big commitment.
DjangoGirl workshops are structured events where participants run through the tutorial linked above, with an 'installation party' the day before (which can be online). It takes a full day. They have a full step-by-step guide, but the short version is that it takes around three months to plan, costs around £2k for typical logistics and requires one engineering coach for every three attendees. DjangoGirls has guidelines for promotion, but we'd mostly be on our own there.
I'm happy to do some of the heavy lifting on organizing a workshop, however based on the experience of HostHog I anticipate it would be a lot of work and attendance may be minimal. Again, volunteers from engineering are needed.
After looking into this now, I think 1. and 2. are the best opportunity for moving ahead right now. But I'm open to thoughts.

tagging @tiina303

For the reasons I outlined earlier I am not signing up to help with the docs, perhaps this could fit better for the dev advocate or growth engineer work.

I (finally) got chance to speak with Codenation. I'm aware of the lack of engagement for the DjangoGirls idea above, so I think/hope this plan could work better.
In short: Codenation teaches high-school kids in the US how to code. They focus on a few geographical areas, particularly New York and San Fran.
We would do a virtual field trip as a first step. This would be a 1 hour, online session about a set topic, with Q&A. Topics are catered to classes, but can include anything. Ideas we discussed:

Product design, UX and how creative roles work with technical roles
Live coding session to build something, intro to open source, technical topics
Career paths into technical roles and tech start-ups, our open source culture

We don't need to define the topic now, as classes are on summer break. You do not need to be an engineer to be involved. I just need to know who would be interested so I can go back to Codenation and let them know the topics we could cover with those people.
⚠ ACTION REQUIRED ⚠
If you're interested in participating with this, react with a 👍 on this post so I can plan next steps.


vDVS documentation related issues

Some leftover items needs to be taken care.

[ ] Following paragraph is misleading. (http://vmware.github.io/docker-volume-vsphere/documentation/index.html#documentation-version) .. document is pointing to the latest version and no way to navigate per older release.

Documentation Version
The documentation here is for the latest release.
The current master documentation can be found in markdown format in the documentation folder.
For older releases, browse to releases select the release, click on the tag for the release
and browse the docs folder.

In short, document release process is broken and needs to be corrected.

[ ] image is missing from http://vmware.github.io/docker-volume-vsphere/documentation/docker-compatibility.html

[ ] Publishing document steps needs be improved (at https://github.com/vmware/docker-volume-vsphere/blob/master/CONTRIBUTING.md#documentation); while publishing document using the steps mentioned in CONTRIBUTING.md overwrites the html changes.

[ ] Edit me link is not working for the home page i.e. index.html (https://github.com/vmware/docker-volume-vsphere/edit/gh-pages/jekyll-docs//.md)

[ ] Needs cleanup at https://github.com/vmware/docker-volume-vsphere/tree/gh-pages
There are so many folders and might be redundant; it is better to clean them ASAP.

so far supplying above action items from top of my head, some more will be added soon...
/CC @tusharnt @girishshilamkar @vishal-biyani

@girishshilamkar Will you please take care of this?

@girishshilamkar plans to address this by 7/21/17.

@shuklanirdesh82 For the "Documentation Version" it is the old content which I picked up from existing documentation. I am not sure where the old releases are. Please send details. Thanks!

@girishshilamkar with the new layout and directory structure document html (serving files) should be preserved in the respective folder.

@shuklanirdesh82 Sorry I don't understand. We have added jekyll-docs folder and it probably needs to preserved. I am not sure what the old process was but only change would be to preserve jekyll-docs. Hope this answers your question.

Following action item will be taken care as part of separate task.

[ ] Following paragraph is misleading. (http://vmware.github.io/docker-volume-vsphere/documentation/index.html#documentation-version) .. document is pointing to the latest version and no way to navigate per older release...Allowing user to navigate through older release notes

Documentation Version
The documentation here is for the latest release.
The current master documentation can be found in markdown format in the documentation folder.
For older releases, browse to releases select the release, click on the tag for the release
and browse the docs folder.

In short, document release process is broken and needs to be corrected (link should point to release version's document along with latest document)


Zen Coding Command Outputting Extra Closing Tag

VSCode Version: 1.8.1
OS Version: Windows Home Premium 64GB

Steps to Reproduce:

create a new .html file
enter the following valid zen code command: div>p

actual output:

expected output:

The problem is caused by one of the installed extensions. IMO, maybe, it's Auto Close Tag or other.

The problem is caused by one of the installed extensions. IMO, maybe, it's Auto Close Tag or other.

Thanks, this makes sense. Disabling Auto Close Tag resolves this.

Thanks, this makes sense. Disabling Auto Close Tag resolves this.


Upgrade deps

Codecov Report

Merging #12 (d9851d8) into main (a299c61) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main       #12   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            7         7
  Lines          195       195
  Branches        54        56    +2
=========================================
  Hits           195       195

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 a299c61...d9851d8. Read the comment docs.


Expose endpoint to return query with injected labels

Currently all prom-label-proxy endpoints are serving purely as passthrough to Prometheus (ie: all serve as true proxy).
Would it be possible to also expose an endpoint that takes in the query and returns the query with the injected labels?
Use case: Clients define an alert rule but prior to configuring it on Prometheus, application logic leverages this endpoint to retrieve a modified expression that is then sent as the exp to be configured with Prometheus

No strong opinion on the request but I'm not sure to understand why the users want to configure the rule with the modified expression.
2 remarks on top of my head:

The endpoint path should have a prefix that avoids any clash with the proxied APIs.
Authentication & authorization are still outside the scope of prom-label-proxy, even for this additional endpoint.

Thanks for the response, @simonpasquier . Completely agree with the 2 remarks.
To expand upon the use case:
tenant1 authors alert rule avg(container_memory_working_set_bytes) by (pod)  / avg(kube_pod_container_resource_limits{resource="memory", unit="byte"}) by (pod) >  0.75
tenant2 authors the same alert rule avg(container_memory_working_set_bytes) by (pod)  / avg(kube_pod_container_resource_limits{resource="memory", unit="byte"}) by (pod) >  0.75
tenant3 authors a similar alert rule with a different threshold avg(container_memory_working_set_bytes) by (pod)  / avg(kube_pod_container_resource_limits{resource="memory", unit="byte"}) by (pod) >  0.5
Note that there is no tenant filtering, ex: tenant="tenant1", in the expressions.
If these 3 rules are configured on prometheus as is, my understanding is that each rule will get triggered but the desired use case is to only trigger it on the specific tenant's resource. The alert instance will not have tenant available as a label to filter on (since it is by (pod)). Adding tenant as hardcoded value on each alert rule will also result in misattributing instances (since tenant1 can trigger tenant2's rule).


docs(README): added a few other gateways

Adds:

BitBucket gateway
Trello gateway
k8s gateway

In what state does a gateway have to be in order to be here?
https://github.com/search?utf8=✓&q=brigade+gateway&type=

@radu-matei I'd say that if the author is comfortable with including it, or if someone else has tested it and gotten it to work, that is good enough for me.

Trying to ride in on this PR with another (not sure if effective GH etiquette..)
https://github.com/technosophos/brigade/pull/1

Do you think it makes sense to also add the Azure EventGrid Gateway?


Use final.

Coverage remained the same at 99.758% when pulling af6938946ad7eb65bbda1ccb5d517b855b697372 on arturobernalg:feature/final into 6260581afc9d41a2821d0b535ba8097eaa3c3177 on apache:master.

The project enforces effectively final method arguments using PMD. Using the keyword adds no runtime benefit and visual noise to the source.

OK,
TY


Login Failed for SQL User

com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'AZURE_DBRICKS_USER'. ClientConnectionId:99b4b16e-d74b-44e3-aed5-b408589e16ea
I have no idea what is wrong with this, using sql spark connector it works pretty fine
Note: connection info removed from the picture on purpose

Looks like incorrect credentails issue. Please check with defalt JDBC connector if you suspect this is not a login issue. Replace "com.microsoft.sqlserver.jdbc.spark" with "jdbc".

Looks like incorrect credentails issue. Please check with defalt JDBC connector if you suspect this is not a login issue. Replace "com.microsoft.sqlserver.jdbc.spark" with "jdbc".

No - it isn't due to incorrect credentials - the same credential works fine in SSMS & also for https://github.com/microsoft/sql-spark-connector

ok - issue is resolved with the below connection string
// Create the JDBC URL without passing in the user and password parameters.
val jdbcUrl = s"jdbc:sqlserver://${jdbcHostname}:${jdbcPort};database=${jdbcDatabase}"


DS4 Doesn't work

after the 1.4.245 update i cannot play games with my ds4 i could before but now i can't. I can still use my touchpad on the controller but the buttons won't work on any game.

@codnoob26 Is your issue fixed in the newer versions?


Incorrect priorities

Describe the bug
I found two minor issues when setting a priority to the item.
They are small and have the same scope, so I report them in the single issue.
If an org-mode item doesn't have a priority, you could try to set either an empty priority or just press a <Space> in priorities prompt. In these cases you'll get #[nil] and #[ ] priorities accordingly.
Steps to reproduce

Create a new org-mode element: * test1

Enter <leader>o, to open the priorities prompt

Just press Enter

You'll get #[nil]

Create a new org-mode element: * test2

Enter <leader>o, to open the priorities prompt

Enter   (space) and press Enter

You'll get #[ ]

Expected behavior
In the both cases we shouldn't add a new priority at all.
Emacs functionality
No response
Minimal init.lua
It is reproducible with the suggested minimal_init.lua.
Screenshots and recordings

OS / Distro
Debian testing
Neovim version/commit
NVIM v0.8.0-dev+448-g7b2b44bce
Additional context
No response

Thanks @jubnzv, I can confirm this bug. It seems that one can also specify a priority that starts with one of the valid default letters we have for priorities. So 'abc', 'bar', 'ccccc' will result in [#ABC], [#BAR] and [#CCCCC] respectively, but duh will result in [#nil].

In Emacs orgmode it's only possible to add a single character. If it's valid, this priority gets assigned. If it's invalid, nothing gets insert and the user gets informed that the priority must be between A and C. This might be different when the priorities are multi-character strings, which I'm not sure is possible (see here).

For the record, multi-character strings should™ be possible (according to this) when one uses a numerical priority-scheme with above nine states. See #382


Support Android NDK r19b

There is similar issue about r18b, but NDK r19b already available with https://github.com/circleci/circleci-images/issues/302
I plan to provide more generic approach, I will be glad to get some review/criticism

not sure if this will the the final implementation, but for now you can install any version of the ndk you'd like using this orb:
https://github.com/cci-orbs/circleci-images

@iynere correct me if I'm wrong:

This solution will works only for circleci, so it's not 'docker level' solution
This will have serious performance impact during CI run

@CAMOBAP795 correct, this is limited to CircleCI, as orbs do not work anywhere else at the moment
in my tests (see https://circleci.com/workflow-run/454f22f9-eeb2-40c8-abe1-38241ff12515), installing the NDK at runtime only adds 20-30 seconds to the job, which isn't nothing but doesn't seem that bad to me
currently, we are working on an internal pilot for a brand-new set of circleci convenience images that will be more modular & easier to develop.... doing development on this repository is sometimes a frustrating / lengthy experience, so i wanted to ship something quickly that would work for folks in the interim

@iynere thanks for answer

installing the NDK at runtime only adds 20-30 seconds to the job

Absolutely agree with you, I'm going to close this issue

@CAMOBAP795 awesome, so happy to hear it :)
i'll post a write up on using the orb to our discuss forum so we can get some more feedback


Language Adapter for Italian Bert-Base-Multilingual-Cased

Hi,
I like the AdapterHub a lot, thanks for the great work!
My data is trilingual (German, French and Italian) and I am experimenting with bert-base-multilingual-cased.
I see that there are language adapters for German and French.
Would you mind uploading one for Italian as well similar to this one in German (https://adapterhub.ml/adapters/ukp/bert-base-multilingual-cased-de-wiki_pfeiffer/)?
I would greatly appreciate that!
Cheers,
Joel

Also, later I would like to run experiments with XLM-Roberta-Base. Unfortunately, there is no language adapter available for French. I would greatly appreciate one for French similar to the one in German (https://adapterhub.ml/adapters/ukp/xlm-roberta-base-de-wiki_pfeiffer/).
It would be great, if this could be added!

cc @JoPfeiff: do we have these adapters available for upload?


Release 1.2.2

/test-all

Codecov Report

Merging #2607 (b8a6121) into release-1.2 (3cf211d) will decrease coverage by 17.73%.
The diff coverage is n/a.

@@               Coverage Diff                @@
##           release-1.2    #2607       +/-   ##
================================================
- Coverage        59.92%   42.18%   -17.74%
================================================
  Files              284      146      -138
  Lines            22385    18302     -4083
================================================
- Hits             13414     7721     -5693
- Misses            7541     9884     +2343
+ Partials          1430      697      -733

Flag
Coverage Δ

kind-e2e-tests
?

unit-tests
42.18% <ø> (-0.02%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.


Cannot found mifare card using UART

I'm running the example code on Windows 10 (python 3.8, pyserial 3.5), my PN532 can be found, but it's stuck while waiting for a card, my PN532 and card work fine by using other mifare tools

Looks like a dupe of #44

Resolved by #63


Mission editing slang

Pull Request Test Coverage Report for Build 1304

0 of 24 (0.0%)  changed or added relevant lines in 2 files are covered.
2 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.04%) to 6.661%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/utils/xmlParser.ts
0
4
0.0%

src/components/incubator/EditingWorkspace.tsx
0
20
0.0%

Files with Coverage Reduction
New Missed Lines
%

src/components/incubator/EditingWorkspace.tsx
1
0.0%

src/components/incubator/index.tsx
1
0.0%

Totals

Change from base Build 1301:
-0.04%

Covered Lines:
280

Relevant Lines:
3564

💛  - Coveralls

npm install works fine


Added automatic support for nativescript framework

I created a new adapter to support loading and saving of the database in a nativescript application.
Because it's possible to detect if the runtime environment is nativescript I've slightly modified the Lokijs file to automatically select the nativescript adapter if no adapter is passed in the options.
Performance seems quite good both in the iOS and in the Android app.

@stefalda ciao! my guess is that the build fails because LokiJS is currently written in ES5 and you used the const keyword. I might have missed something else though, the travis log doesn't seem very meaningful in this case. Can you re-check?

Ciao Joe! Now it seems fixed :-)
Thank you


Network connectivity issue when pulling fontnik npm package

Hi Ellen,
Thank you for the great work on NYC! I have tried installing the stack and it passed the error point I had mentioned.
However, I get yet another blocking error further down, this time at ITAG=headway_build_fonts, when installing fontnik.
Here is the trace in the console:
Step 2/23 : RUN npm install fontnik
 ---> Running in a8d8a75e27b6
npm ERR! code ENOTFOUND
npm ERR! errno ENOTFOUND
npm ERR! network request to https://registry.npmjs.org/minimist failed, reason: getaddrinfo ENOTFOUND registry.npmjs.org
npm ERR! network This is a problem related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly.  See: 'npm help config'

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2022-08-11T18_21_08_481Z-debug.log
The command '/bin/sh -c npm install fontnik' returned a non-zero code: 1
make: *** [Makefile:151: /mnt/cru/kuq/hwk/data/fonts.tar] Error

As I understood it is an error while connecting to the NPM registry, I tried to connect manually using curl:
curl https://registry.npmjs.org/rc

And I got a correct response.
So I assume there is still an error there.
S.
Originally posted by @asitemade4u in https://github.com/headwaymaps/headway/issues/66#issuecomment-1212344870

Also, the trace mentions a path for the logs which I was unable to find: /root/.npm/_logs/2022-08-11T18_20_41_803Z-debug.log
Please help me locate it so that I can send you the full error log.

I also tried this, which might be more relevant:
curl https://registry.npmjs.org/rc/fontnik

And I got an error:
{"code":"MethodNotAllowedError","message":"GET is not allowed"}

In hope that helped.

Also, the trace mentions a path for the logs which I was unable to find: /root/.npm/_logs/2022-08-11T18_20_41_803Z-debug.log Please help me locate it so that I can send you the full error log.

This is going to be within the docker container. You're going to have to run it interactively to figure out what's going on.

OK, but which container? You install several of them...

This one: https://github.com/headwaymaps/headway/blob/e0bae96eb3fa26e31866e2e4ba85673fbedb35d3/tileserver/assets/Dockerfile
If you cd into that directory and run docker build you should be able to reliably reproduce the issue, I'm guessing. If not then there's some weirdness happening.
Unrelated but fontnik has been very unreliable for a variety of reasons and it doesn't work at all on M1 Macs/amd64 machines so I'd like to replace it with something else if there's another way to generate those font files.

Also, how can it be an error from within the container when the container is not running?
Here is what I do:

I do a docker ps > none of the containers displayed is by you
I cd  to the installation folder and make NewYork
I get the exact same error
I redo a docker ps > none of the containers displayed is by you

Also, remember I am executing the install on a Linux server running CentOS8/Rocky Linux

When I am trying the docker build . the build cannot find the Dockerfile

OK, so I have indeed the same exact error when running docker build . from the tileserver/assets folder.

And I can't figure out there might be a connectivity issue when the installation has been downloading stuff from the internet for more than 30mn before that happened ;o))

Also, how can it be an error from within the container when the container is not running? Here is what I do:
1. I do a `docker ps` > none of the containers displayed is by you

2. I `cd`  to the installation folder and `make NewYork`

3. I get the exact same error

4. I redo a `docker ps` > none of the containers displayed is by you

Yeah sorry, I meant the container build environment, which I think is similar under the hood but I'm not sure.
Can you try following some of the troubleshooting in here: https://stackoverflow.com/questions/35515203/docker-npm-install-error-getaddrinfo-enotfound-registry-npmjs-org-registry-npmj
I don't think this is a bug in headway and I'm not really a docker expert so I'm not sure what to recommend.

THANKS, this solution worked (I detail it in order to help others who might face it):

cd to [install_folder]/tileset/assets
Find all existing docker networks on the machine: docker network ls and chose one you know is working
execute docker build . --network=[network_ID_chosen]
It should go through
Then go back to the [install_folder and resume installation using make [the_city]

It sounds like the default docker network might not be working on you server, which could mess with other things so might be worth looking into separately. Feel free to open another issue if you have anything else, or join the headway matrix channel if you plan on running an instance. I don't have many users right now so it would be cool to get feedback from people who do run instances :)
https://matrix.to/#/#headway:matrix.org

Well, I am not sure: there are already 31 stacks that work perfectly on the server...
But good ndews: NewYork went through!


analyze linux is failing on Cirrus only due to snippet analysis issue.

The error seems to be some sort of "unknown" snippet:
Running "flutter pub get" in flutter_analyze_sample_code.SRKDQM...      2,044ms,   error • Expected an identifier • snippet.unknown.-1.dart:81:1 • missing_identifier]
However no one is able to repro this locally.

I think I may have found the issue.  If I'm right, I think that the fact that it doesn't occur on LUCI is just a result of a race.  I think that there is a bug in the code that checks "snippets" (i.e. the non-application samples) where it writes all of the snippet output to a single file, overwriting it many times, and it just depends on which snippet gets saved last as to whether it passes or not.  Which means we haven't really been testing them, so some of them have a bug in them.  The reason it gives such a cryptic message is that the line where it happens is in the generated boilerplate (a ";" after the fake symbol created for the analysis), and so it doesn't have a line in the corresponding sample. I found several places where there's a spurious comma after the code, which causes this next line to have a missing statement error. So, on Cirrus, it happens to sometimes write one of these places last to that file, and so the analysis fails.


Fix rebel quickbuilds and add expansion quickbuilds

Credit to kexicus for updating the json files. New quickbuilds are provided from the following expansions:
TIE Inquisitor
Skystrike Academy Pack
TIE Heavy
VT-49 Decimator
Phoenix Squadron Pack
Millenium Falcon
A-Wing
Ghost
Pride of Mandalore
Droid Tri Fighter
Separatist Firespray
HMP Gunship
Nantex
Rogue Class
Eta-2
LAAT
V-Wing
Clone Z-95
Fugitives and Collaborators
Punishing One
M3-A Interceptor
Hound's Tooth
Razor Crest
Fury of the First Order
Xi-Class Shuttle
Resistance Y-Wing
Heralds of Hope

Issue created in response to #604. @Kexikus please note the build errors for future contributions.

@kexikus in this case there were a number of tests I had to fix by updating the schema for quick builds. This should have been done in a single commit by testing locally, but I was lazy and ran the PR on-push tests because I don't have a working test environment on my laptop right now


flask.helpers.get_root_path returns unexpected path

Expected Behavior
import flask

# in /tmp/flask
app = flask.Flask('tmp_name', root_path='/tmp')
print(flask.helpers.get_root_path('tmp_name'))
# => expect `/tmp` but `/tmp/flask`

Environment

Python version: 3.6.5
Flask version: 1.0.2
Werkzeug version: 0.14.1

Why don't you use app.root_path?

I'm sorry.
I will use app.root_path .


Remove CPU Load Tooltip

Remove tool tip from small CPU load system info widget.

@marjohn56 better to remove, git knows the past ;)

Is done, I've added the word 'Average' to the large CPU graph though, it makes more sense there.

@marjohn56 I meant the comment lines in the commit  /* Removed tooltip */

Okey dokey.

Merged, thanks!


End point for Gate Settings

waiting for feedback with examples and descriptions of existing interfaces.

This is also this ticket.  At least, I think:  https://jira.hecdev.net/browse/CTO-38

yeah. This was opened before we put it on the contract and Charles as moved it to a discussion.

Does anbody know if there is a reference ts_id associated to a gate_setting object? Previously I've implemented a screen where the app will write to a hardcoded version_id TS_ID (Mount Morris.Opening.inst.0.0.PD Input) and also the gate_change object. It occurs to me that there may be value in having that relationship more tight? Not sure if others are doing similar though.

FYI, you might want to add that comment to https://github.com/USACE/cwms-data-api/discussions/317, this issue got moved to discussion to coordinate things as it's getting done under a contract now.

@JeremyDKellett -- There is a definition of gate opening time series established in pertinent data. It might be in REGI application-specific data (CLOB/XML). The time series is written to when gate changes/settings are created, also when read from it can generate gate changes/settings.


Update prettier and fix files

Reasons for making this change
The ci is failing currently.
This is due to the new release of prettier a few hours ago : 1.12 .0 https://github.com/prettier/prettier/releases
I've updated the version of prettier explicitly, and runned cs:format command. The tests are all green with this MR

Thanks!


fix: fail when cannot get token, add Akash to generateText switch

Relates to:

Risks

this throws when we cannot get a token based on provider (otherwise it silently runs and prints auth errors) - it is a change in behaviour

Background
What does this PR do?
This fixes 2 issues I've hit:

When I setup Akash provider I got Unsupported provider error because it was missing in generateText switch
When I was trying to update eliza-starter and use it with Akash or Venice, I'd get auth errors because it could not get the provider token - since the getTokenForProvider did not account for the new providers, but it would not fail there, hence adding a default case which throwa

cc @MbBrainz
What kind of change is this?
Bug fixes

Documentation changes needed?
My changes do not require a change to the project documentation.

Testing
Where should a reviewer start?

You can try to use Akash provider and chat with the agent - it should result in Unsupported provider error without this change
You can also try to configure some unknown provider and gcall getTokenForProvider andthe function will not report any errors without this change

Detailed testing steps

Discord username
@vpavlin

Wait, should I use develop or main as a base?

Wait, should I use develop or main as a base?

Develop :)

LGTM outside of comment

This is done

:pray:


Remote write compliance: TestRemoteWrite/otelcollector/RepeatedLabels

The OpenTelemetry collector is not passing https://github.com/prometheus/compliance/tree/main/remote_write TestRemoteWrite/otelcollector/RepeatedLabels.
=== CONT  TestRemoteWrite/otelcollector/RepeatedLabels
    labels.go:58:
        	Error Trace:	labels.go:58
        	            				main_test.go:101
        	            				main_test.go:65
        	Error:      	Should be true
        	Test:       	TestRemoteWrite/otelcollector/RepeatedLabels
        	Messages:   	found zero samples for up{job="test"} = 0

Related to https://github.com/open-telemetry/wg-prometheus/issues/41.

All yours @odeke-em

I think the Prometheus Remote Write compliance tests are wrong. I have written a sample test and used Prometheus with it and Prometheus is able to successfully get the datapoints.
main.go
package main

import (
	"context"
	"fmt"
	"net/http"
	"os"
	"os/signal"
	"sync/atomic"
	"time"
)

func main() {
	ctx, cancel := context.WithCancel(context.Background())
	i := uint64(1)

	go func() {
		for {
			select {
			case <-ctx.Done():
				return
			case <-time.After(27 * time.Second):
				atomic.AddUint64(&i, 1)
			}
		}
	}()

	handler := func(rw http.ResponseWriter, req *http.Request) {
		println("Scraped", time.Now().Unix())
		fmt.Fprintf(rw, `
# HELP test A gauge
# TYPE test gauge
test{a="1",a="1"} %.1f`, float64(atomic.LoadUint64(&i)))
	}

	sigCh := make(chan os.Signal, 1)
	signal.Notify(sigCh, os.Interrupt)

	defer cancel()

	go func() {
		if err := http.ListenAndServe(":8855", http.HandlerFunc(handler)); err != nil {
			panic(err)
		}
	}()
	<-sigCh
}

Run it by go run main.go
prom.yaml
global:
  scrape_interval: 10s

  external_labels:
    monitor: 'otlc'

remote_write:

scrape_configs:
  - job_name: 'otlc'

    scrape_interval: 10s

    honor_labels: true

    static_configs:
        - targets: ['localhost:8855']

Run it by prometheus --config.file=prom.yaml  --log.level=debug
Viewed on Prometheus

Synopsis
Prometheus itself doesn't reject these repeated labels, so why are the compliance tests rejecting it? Kindly cc-ing @tomwilkie @brian-brazil @rakyll @Aneurysm9 @alolita.

Prometheus itself doesn't reject these repeated labels

If that's the case, then that's a bug in Prometheus. Are you sure you're using the latest version? We had to fix this at one point.

We reject them, in TSDB:
https://github.com/prometheus/prometheus/blob/7bc11dcb06640ce22b4e15eb52b2c065f97cf79a/tsdb/head.go#L1374-L1376

Your Prometheus screenshot seems from a release before Prometheus 2.14, because it is the "old" UI without a link to the new UI. That link was added in 2.14. I guess you are using a Prometheus release that was released before 2019-11-11.
Duplicate labels are rejected since 2.16.0, released on 2020-02-13.

Oh I see I see! Thank you Julien and Brian for the correction. I had
installed Prometheus by a go get a while ago and hadn’t updated. Let me
update and try again.
On Wed, Jun 9, 2021 at 2:39 PM Julien Pivotto @.***>
wrote:

Your Prometheus screenshot seems from a release before Prometheus 2.14,
because it is the "old" UI without a link to the new UI. That link was
added in 2.14. I guess you are using a Prometheus release that was released
before 2019-11-11.
Duplicate labels are rejected since 2.16.0, released on 2020-02-13.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/open-telemetry/wg-prometheus/issues/44#issuecomment-857621823,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABFL3V7XTZOWKR7LE6B4RRLTR5HFJANCNFSM43HFKZAA
.

Yup, with the latest, I now see the issue
level=debug ts=2021-06-09T12:45:39.268Z caller=scrape.go:1459 component="scrape manager" scrape_pool=otlc target=http://localhost:8855/metrics msg="Unexpected error" series="test{a=\"1\",a=\"1\"}" err="label name \"a\" is not unique: invalid sample"
level=debug ts=2021-06-09T12:45:39.268Z caller=scrape.go:1247 component="scrape manager" scrape_pool=otlc target=http://localhost:8855/metrics msg="Append failed" err="label name \"a\" is not unique: invalid sample"

Thank you Brian and Julien!

This issue was a red herring, the problem is actually in the Prometheus receiver and I've filed https://github.com/open-telemetry/opentelemetry-collector/issues/3407 and am mailing a PR soon after the Prometheus Working Group meeting that's currently ongoing.


chore(main): release 1.1.1

:robot: I have created a release beep boop
1.1.1 (2024-12-09)
Bug Fixes

setter: set_configuration works again (67bcec5)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v1.1.1
:sunflower:


Issue with tests scanning postgres-data directory

I had issues running rootless Docker in WSL2. Running postgress with user=root, postgres-data folder is created with root access, and npm run setup fails.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Error ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Error: EACCES: permission denied, scandir '/src/█████/postgres-data/'
    at Object.readdirSync (node:fs:1392:3)
    at Object.readdir (/src/█████/node_modules/recrawl-sync/lib/fs.js:6:25)
    at crawl (/src/█████/node_modules/recrawl-sync/lib/recrawl.js:46:35)
    at crawl (/src/█████/node_modules/recrawl-sync/lib/recrawl.js:67:25)
    at /src/█████/node_modules/recrawl-sync/lib/recrawl.js:85:9
    at exports.crawl (/src/█████/node_modules/recrawl-sync/lib/recrawl.js:15:51)
    at findProjects (/src/█████/node_modules/vite-tsconfig-paths/dist/index.js:210:35)
    at Object.configResolved (/src/█████/node_modules/vite-tsconfig-paths/dist/index.js:68:24)
    at /src/█████/node_modules/vite/dist/node/chunks/dep-9c153816.js:71056:127
    at Array.map (<anonymous>) {
  errno: -13,
  syscall: 'scandir',
  code: 'EACCES',
  path: '/src/█████/postgres-data/'
}

I solved it with this patch:
diff --git a/package.json b/package.json
index 3472d91..6332ca9 100644
--- a/package.json
+++ b/package.json
@@ -30,7 +30,8 @@
   "eslintIgnore": [
     "/node_modules",
     "/build",
-    "/public/build"
+    "/public/build",
+    "/postgres-data"
   ],
   "dependencies": {
     "@node-rs/bcrypt": "^1.6.0",
diff --git a/vitest.config.ts b/vitest.config.ts
index de07a32..5fa4c92 100644
--- a/vitest.config.ts
+++ b/vitest.config.ts
@@ -6,10 +6,19 @@ import react from "@vitejs/plugin-react";
 import tsconfigPaths from "vite-tsconfig-paths";

 export default defineConfig({
-  plugins: [react(), tsconfigPaths()],
+  plugins: [react(), tsconfigPaths({ projects: ["tsconfig.json"] })],
   test: {
     globals: true,
     environment: "happy-dom",
     setupFiles: ["./test/setup-test-env.ts"],
+    exclude: [
+      "node_modules",
+      "dist",
+      ".idea",
+      ".git",
+      ".cache",
+      "build",
+      "postgres-data",
+    ],
   },
 });

I didn't solve issues with Cypress in WSL2, but I probably will not use Cypress.

Had a similar issue. See my pull request: https://github.com/remix-run/blues-stack/pull/27
For Cypress on WSL2, I went through the WSL GUI docs. Doing a WSL update seemed to be enough, and didn't need to install nvidia drivers.

I don't think it works on Win10, and I'm not switching to Win11 for that 😅. I'll probably run Playwright with VcXsrv.

This worked well for me on my forked blues stack :+1: Thank you!

I've resolved this issue with a change to the vite config :) Thanks!


[msi] Run crc delete from a custom action when upgrading using the msi

The recommended way to upgrade in the binary installation is to perform crc delete. upgrading doc the msi can perform this when it detects a upgrade scenario.
Note: macOS pkg should also do this if its not already added as the issue mentioned in https://github.com/code-ready/crc/issues/2534#issuecomment-874588286 might occur in there aswell
Related to: #2534

The installer needs to ask the user before doing this, with the "don't delete" button highlighted by default, as this is a data loss scenario.

The installer needs to ask the user before doing this, with the "don't delete" button highlighted by default, as this is a data loss scenario.I guess an alternative could be to stop the cluster/stop the tray/daemon and upgrade the binaries, and then when next starting up the cluster, tell the user they need to delete it before starting?

We currently are able to stop the tray and proceed with the installation, i think showing a message from the tray to delete the cluster if there's an existing one is a better way.


Jan 21

C4A-201 - Complaints and recalls - New content
C4A-407 - Maintenance - New content
C4A-415 - PDF Format
C4A-417 - Distorted yes/no buttons in print
C4A-411 - Update validation code to ES5 friendly code
Additional code for deployment from development repo with CI for deployment and uat branches. In progress

I've created a ticket for these items you have raised @ThrawnCA
C4A-489

I've created a ticket for these items you have raised @ThrawnCA
C4A-489


[BLOG] Async Compaction and Efficient Migration of large Parquet tables

@bvaradar  can we land this?

self review is sufficient :)

@vinothchandar : Yes, I will go ahead and merge after resolving conflicts


Make CLDF creation idempotent

When porting to pylexibank 2.1, the CLDF output changed a lot, since the rows were re-ordered. I don't exactly know where this happens - must be somewhere in lingpy's Wordlist.

i think I've fixed this by explicitly sorting when iterating over the wordlist.


npm install errors unless version is specified.

running npm install grunt-sass-lint --save-dev I get the following error:
npm ERR! notarget No compatible version found: grunt-sass-lint@'*'
npm ERR! notarget Valid install targets:
npm ERR! notarget ["0.1.0-beta.1","0.1.0-beta.2","0.1.0-beta.3"]
npm ERR! notarget
npm ERR! notarget This is most likely not a problem with npm itself.
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.

npm install<EMAIL_ADDRESS>--save-dev works

Just tried this but i'm afraid I can't recreate it, there must be something else up here or npm was having a little moment..

Have you got the details of your npm version, node version etc..

Well it looks like my node was way out of date, version 2.11.2. I updated and now have
npm 3.3.6
node 0.12.5
I ran npm install grunt-sass-lint --save-dev  after updating and it did a bunhc of stuff before erroring:
npm ERR! Darwin 14.5.0
npm ERR! argv "node" "/usr/local/bin/npm" "install" "grunt-sass-lint" "--save-dev"
npm ERR! node v0.12.5
npm ERR! npm  v3.3.6
npm ERR! path .../node_modules/js-yaml/node_modules/esprima/bin/esparse.js
npm ERR! code ENOENT
npm ERR! errno -2

npm ERR! enoent ENOENT, chmod '.../node_modules/js-yaml/node_modules/esprima/bin/esparse.js'
npm ERR! enoent This is most likely not a problem with npm itself
npm ERR! enoent and is related to npm not being able to find a file.
npm ERR! enoent

I ran it a second time and it seemed to succeed.

Going to put this down as just a npm issue then.


Set cwd to module folder

The browserify-versionify transform assumes the cwd will be the
module’s folder. It uses find-root to traverse upwards and find a
package.json.
Right now the cwd is set to “/tmp/webtorrent115012-16911-2wbt66” when
browserifying. This PR changes it to
“/tmp/webtorrent115012-16911-2wbt66/node_modules/webtorrent”, for
example.
This fixes #92.

@maxogden Okay, I addressed your feedback. Better now?

yea LGTM!

@jesusabdullah any thoughts? I am unsure if this will break anything, but I can't think of any scenarios

I'm sick so I haven't had a chance to look at this too closely.
My initial reaction is that I'm pretty sure we explicitly change the file structure around to put everything in node_modules, and that this either makes that redundant or ignores the original reasoning. Unfortunately I don't remember much else.
If it passes basic smoke tests (what else can it browserify?) then we're probably okay, but take a look at riggledogg.js just the same.

This is the section in question https://github.com/jesusabdullah/browserify-cdn/blob/master/bundler/riggledogg.js#L85-L100
I think that this change, combined with removing the folder rename (and making the cwd package instead of node_modules) would be acceptable.

@jesusabdullah I don't understand the purpose of the riggledogg.js code, so I'm afraid I'll just mess things up. Would you like me to try anyway?

@jesusabdullah I went ahead and tried to make the changes you requested. My changes are here: https://github.com/feross/browserify-cdn/commit/e4a9f04576a1f8888cdc08831d734cad0a3c9dcb
I think the node_modules/<package-name> prefix is required to help browserify find the module when you do: browserify --standalone webtorrent.
I'm seeing this now:
/var/folders/vt/9k8_slf179v842hn_hkn54c40000gn/T/webtorrent115012-1775-fddskl info  browserify: resolving path to standalone module `webtorrent`...
browserify-cdn error b38e5220-9ae3-11e4-8ac9-f9924501f232 : Error: Command failed:
browserify-cdn ERR!  b38e5220-9ae3-11e4-8ac9-f9924501f232 : Error: Command failed:
browserify-cdn error b38e5220-9ae3-11e4-8ac9-f9924501f232 : module.js:340
browserify-cdn ERR!  b38e5220-9ae3-11e4-8ac9-f9924501f232 : module.js:340
browserify-cdn error b38e5220-9ae3-11e4-8ac9-f9924501f232 :     throw err;
browserify-cdn ERR!  b38e5220-9ae3-11e4-8ac9-f9924501f232 :     throw err;
browserify-cdn error b38e5220-9ae3-11e4-8ac9-f9924501f232 :           ^
browserify-cdn ERR!  b38e5220-9ae3-11e4-8ac9-f9924501f232 :           ^
browserify-cdn error b38e5220-9ae3-11e4-8ac9-f9924501f232 : Error: Cannot find module 'webtorrent'
browserify-cdn ERR!  b38e5220-9ae3-11e4-8ac9-f9924501f232 : Error: Cannot find module 'webtorrent'

Interesting. So even if you cwd into ./{folder}, browserify gets confused when it's not called ./node_modules ?

but yes, you've hit on the original reason I had to rename the folder, to the best of my recollection. I didn't take good notes.

I think we could just pass './package' to browserify and it'd work, but there's lots more changes that would need to be made. I just noticed this:
    env.log.info('browserify: resolving path to standalone module `' + module + '`...');

    env.exec('node -pe "require.resolve(\'' + module + '\')"', function (err, stdout, stderr) {
      ...
    })

^ that's not going to work without changes...

I already had to change a another place that was assuming node_modules/<package_name> just to get this point. It seems like a lot of work to continue down this path and it's really a separate issue from this PR.
Can we merge this? :wink:

Done.
Thanks for the hard work!

Was this deployed to wzrd.in? WebTorrent is still failing to build: http://wzrd.in/standalone/webtorrent@latest

We don't have any sort of CI set up and I don't have the keys to the box so at this point it's up to @maxogden to do the deploy. Though, I'd like to change that...

looks like it wasnt before, but I just did!
On Tue, Jan 13, 2015 at 9:26 PM, Feross Aboukhadijeh <
<EMAIL_ADDRESS>wrote:

Was this deployed to wzrd.in? WebTorrent is still failing to build:
http://wzrd.in/standalone/webtorrent@latest
—
Reply to this email directly or view it on GitHub
https://github.com/jesusabdullah/browserify-cdn/pull/94#issuecomment-69870998
.

Excellent, thanks!

@jesusabdullah you have been in the authorized_keys file with:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDTSlHveIJoOTMlXby8N8tOwFaWVQXC4uC2vv3HZ0Y69YiQyq+uXyr9hZOlVBpDmBMt5uSjjfZ7wMkozcWt5mpUUWtsL8rY1096zLWw3lRlqs4E/fuomFOIaYgs0anQusgkvtQlcjrUGlznPdEA8cBRILKbxB73uBfNxfN+gQflYWVlyuQGNs1wKDwx8erZ+hUKksVusie4KksGb32BmU9kT9zq+ktHcy5/RJNKaqpO2sdpjejnILPZizWwMt+fvEDTIbZnLjKq6MvjSPaTOe15A2FlWp/FtsWPSPmWoun+ERpW4PX4+0XTcQQBEkngLXrf3LgQlPsyTuEZ3XooC/o3<EMAIL_ADDRESS>
is that the correct key?

Well whaddayaknow, looks right. What's the username? josh doesn't work. :)

@jesusabdullah its jesusabdullah

josh@koffing:~$ ssh<EMAIL_ADDRESS>Permission denied (publickey).

I must be doing it wrong.

I gotta hit the hay, but maybe we can pick this up in the morning.

@jesusabdullah hmm sorry maybe you were jesusabdullah on the old box, try<EMAIL_ADDRESS>then (thats what I use)

That works. Cool.


Apply fixes from StyleCI

This pull request applies code style fixes from an analysis carried out by StyleCI.

For more information, click here.

Pull Request Test Coverage Report for Build 40

52 of 53 (98.11%)  changed or added relevant lines in 19 files are covered.
4 unchanged lines in 3 files lost coverage.
Overall coverage increased (+0.02%) to 94.861%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/UI/Http/Rest/Response/JsonApiFormatter.php
8
9
88.89%

Files with Coverage Reduction
New Missed Lines
%

src/UI/Http/Rest/Response/JsonApiFormatter.php
1
88.89%

src/UI/Http/Rest/EventSubscriber/ExceptionSubscriber.php
1
75.68%

src/UI/Http/Rest/EventSubscriber/JsonBodyParserSubscriber.php
2
78.95%

Totals

Change from base Build 37:
0.02%

Covered Lines:
443

Relevant Lines:
467

💛  - Coveralls


Table 904 Assemble-to-Order-Link - TransAvailBOMCompToAsmLine

New Publisher in TransAvailBOMCompToAsmLine:
AsmLine."Qty. per Unit of Measure" := ItemUOM."Qty. per Unit of Measure";
==> Start
OnAfterTransferAvailBOMCompToAsmLine(AsmLine,BOMComponent);
<==END

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


TensorFlow 'NoneType' object is not subscriptable during fit()

I am building a TensorFlow model that takes 4 inputs and gives 2 outputs.
I first start with a pd.DataFrame:

train_targets = train_features[["content", "wording"]]
train_features = train_features[["text", "prompt_question", "prompt_title", "prompt_text"]]

Then, I use a generator to create the TensorFlow Dataset:
def generator():
    for text, prompt_question, prompt_title, prompt_text, content, wording in zip(train_features["text"], train_features["prompt_question"], train_features["prompt_title"], train_features["prompt_text"], train_targets["content"], train_targets["wording"]):
      yield {"text": text_vectorization(text), "prompt_question": text_vectorization(prompt_question), "prompt_title": text_vectorization(prompt_title), "prompt_text": text_vectorization(prompt_text)}, {"content": content, "wording": wording}

train_ds = tf.data.Dataset.from_generator(generator, output_types=({"text": tf.int64, "prompt_question": tf.int64, "prompt_title": tf.int64, "prompt_text": tf.int64}, {"content": tf.float32, "wording": tf.float32}))

Here is what one "row" of train_ds looks like:
({"text": [1, 0, 0, ..., 1, 1], "prompt_question": [1, 0, 0, ..., 1, 1], "prompt_title": [1, 0, 0, ..., 1, 1], "prompt_text": [1, 0, 0, ..., 1, 1]}, {"content": 2, "wording": 1}))
Every value is a tensor.

Type of text is <class 'tensorflow.python.framework.ops.EagerTensor'>
Type of prompt_question is <class 'tensorflow.python.framework.ops.EagerTensor'>
Type of prompt_title is <class 'tensorflow.python.framework.ops.EagerTensor'>
Type of prompt_text is <class 'tensorflow.python.framework.ops.EagerTensor'>
Type of content is <class 'tensorflow.python.framework.ops.EagerTensor'>
Type of wording is <class 'tensorflow.python.framework.ops.EagerTensor'>

Note that I use a TextVectorization layer from keras:

max_tokens = 20000
max_length = 600

text_vectorization = keras.layers.TextVectorization(
 max_tokens=max_tokens,
 output_mode="int",
 output_sequence_length=max_length,
)

text_vectorization.adapt(a list of all my texts)

At this point, train_ds contains no None values.
Here is my model:
def generate_model():
    input_names = train_features.columns.tolist()

    inputs = []

    for name in input_names:
        inputs.append(keras.layers.Input(shape=(None,), dtype="int64", name=name))

    concatenate = keras.layers.concatenate(inputs)

    embedded = keras.layers.Embedding(input_dim=max_tokens, output_dim=256, mask_zero=True)(concatenate)

    x = keras.layers.Bidirectional(keras.layers.LSTM(32))(embedded)
    x = keras.layers.Dropout(0.5)(x)

    output_content = keras.layers.Dense(1, activation="linear", name="content")(x)
    output_wording = keras.layers.Dense(1, activation="linear", name="wording")(x)

    model = keras.models.Model(inputs=inputs, outputs=[output_content, output_wording])

    return model

I compile it like this:
model.compile(loss={"content": "mean_squared_error", "wording": "mean_squared_error"}, optimizer="adam")
The error occurs when I try to fit the model:
history = model.fit(x=train_ds, batch_size=32, epochs=20, callbacks=[callbacks])
Here is the traceback:
TypeError: Exception encountered when calling layer 'forward_lstm_5' (type LSTM).

    'NoneType' object is not subscriptable

    Call arguments received by layer 'forward_lstm_5' (type LSTM):
      • inputs=tf.Tensor(shape=, dtype=float32)
      • mask=tf.Tensor(shape=, dtype=bool)
      • training=True
      • initial_state=None

It appears that the error rises because of the LSTM layer:
x = keras.layers.Bidirectional(keras.layers.LSTM(32))(embedded)

@vrunm,
With the code provided above, we weren't able to analyse and provide the pointer to resolve the issue. Kindly find the gist of it here. So, could you please provide the complete code, dependencies and the tensorflow version you are trying. Thank you!

The code you have provided is correct. Since you don't have access to the original data the code does not run. I cannot provide the dataset details. Is the error due to the definition of the LSTM layer? I have looked extensively and could not find any other solutions to this error?

I have the same issue, and have created a MWE here:
https://colab.research.google.com/gist/Matt-Bailey-EcoSync/9d39319c92633448dc1e623d8ce91dcf/keras-nonetype-issue.ipynb
I've found that iterating over the dataset and fitting on batches manually works:
m1 = tf.keras.Model(encoder.inputs, decoder_outputs)
m1.add_loss(vae_loss2(encoder_inputs, decoder_outputs, z_log_sigma, z_mean)) #<===========
m1.compile(loss=None, optimizer='adam')

for feature, target in mwe_ds:
    m1.fit(feature, target)

but fitting on the dataset directly does not work:
m1.fit(mwe_ds) #  TypeError: 'NoneType' object is not subscriptable
However, running eagerly works (with a performance penalty):
m2 = tf.keras.Model(encoder.inputs, decoder_outputs)
m2.add_loss(vae_loss2(encoder_inputs, decoder_outputs, z_log_sigma, z_mean))
m2.compile(loss=None, optimizer='adam', run_eagerly=True)
m2.fit(mwe_ds)


[bug] DELETE from client side JS results in 404 🐛🐛

Problem
When I try to delete something from client-side, I get 404.
const handleDelete = async () => {
	try {
		const result = await pb.collection('rooms').delete(room.id, {});
		console.log({ result });
	} catch (err) {
		console.log({ err });
	}
};

You can see the id here.

The error on console.

The error on network tab (id here)

The logs on terminal (server)

I can delete the rooms from Pockebase admin panel fine, but not from API endpoint using JavaScript.
full project link where the error is.

This is common error. Make sure that the client request satisfy the collection Delete API rule.
In case of an invalid API rule, we return 404 no matter of the current auth state.

Is it possible to show the error (with pocketbase serve --debug) ?


Error when running "npm i" (Mac)

Help?


Organize supported Ubuntu versions

See https://github.com/red-data-tools/packages.red-data-tools.org#supported-platforms

Can you open a JIRA ticket and put "ARROW-XXX: " to title? https://issues.apache.org/jira/browse/ARROW

Created https://issues.apache.org/jira/browse/ARROW-2897 and modified title.


Overwrite UBI labels with information specific to the image

Similar to what has been done with the "kcp register" image this PR overwrite labels set by the UBI image with information specific to this image.
It also renames the directory, so that it has the same pattern as the "kcp register" image.
Signed-off-by: Frederic Giloux<EMAIL_ADDRESS>

The label changes in the PR are good. But, do we need this argocd-registrar image at all now? The plan is to ask the customer to install ArgoCD and for us to install pipelines on each cluster right?

Yes we may start with Argo CD running on each cluster and "in-cluster" management only. In that case we don't need this image.
Later on when we leverage GitOps as a service, this image may be useful again.
I feel that we should

document the in-cluster approach
get this out of the main directories to avoid confusion. Maybe in a directory called exploration. What do you think?

This PR was just about cleaning a bit things beforehands.

@bnallapeta I have added a second commit to the PR that moves the Argo CD registration logic to an "exploration" directory. Please have a look.


Update Developer Guide

Well-defined features in the form of user stories and use cases.
List down all the available features.
Update in the projects dashboard too.

One of the user stories is not updated also.


[REQUEST] Clarify behavior when doing generation with DeepSpeed inference

Is your feature request related to a problem? Please describe.
Reading https://www.deepspeed.ai/tutorials/inference-tutorial/ , it is not clear what is the behavior of DeepSpeed inference when generating text.
Are we supposed to pass the same prompt on the different ranks and they collaborate to give an answer?
Or are each rank doing their own thing and we can leverage it to pass different prompts to the different ranks for extra performance?
Describe the solution you'd like
I would appreciate a clarification in the documentation about what is happening, and whether I am supposed to pass the same prompt to each rank,
Bonus point explaining the behavior when for example using HuggingFace pipeline and using beam-search or generating several sentences out.
Describe alternatives you've considered
Trying myself, guessing what is the expected behavior.
Additional context

Are we supposed to pass the same prompt on the different ranks and they collaborate to give an answer?

Yes, the same prompt should be passed on all ranks when you are using tensor parallelism (i.e., the model is split across multiple GPUs).  If you are running a model that is small enough to fit entirely on one GPU, you may also try doing data parallelism rather than tensor parallelism. In the case of data parallelism, each GPU would have its own copy of the model and different prompts could be sent to each. Consider the code below that demonstrates this:
import torch
import deepspeed
import os
import time
from transformers import pipeline

local_rank = int(os.getenv("LOCAL_RANK", "0"))
world_size = int(os.getenv("WORLD_SIZE", "1"))

task_name = "text-generation"
model_name = "bigscience/bloom-560m"
input_strs = ["DeepSpeed is", "Microsoft is"]

def run_tensor_parallel():
    pipe = pipeline(task_name, model_name, torch_dtype=torch.float16, device=local_rank)

    # Initialize DeepSpeed
    pipe.model = deepspeed.init_inference(
        pipe.model,
        replace_with_kernel_inject=True,
        mp_size=world_size,
        dtype=torch.float16,
    )

    # Run inference
    print(f"Rank {local_rank} sending input '{input_strs}' to the pipeline.")
    torch.cuda.synchronize()
    start_time = time.time()
    output = pipe(input_strs)
    torch.cuda.synchronize()
    end_time = time.time()
    print(f"Rank {local_rank} output: {output}")
    if local_rank == 0:
        print(f"Tensor Parallel Time: {end_time-start_time}s")

def run_data_parallel():
    pipe = pipeline(task_name, model_name, torch_dtype=torch.float16, device=local_rank)

    # Initialize DeepSpeed
    pipe.model = deepspeed.init_inference(
        pipe.model,
        replace_with_kernel_inject=True,
        mp_size=1,
        dtype=torch.float16,
    )
    pipe.model.to(
        torch.device(f"cuda:{local_rank}")
    )  # Required to keep models on the correct device

    # Run inference
    print(
        f"Rank {local_rank} sending input '{input_strs[local_rank]}' to the pipeline."
    )
    torch.cuda.synchronize()
    start_time = time.time()
    output = pipe(input_strs[local_rank])
    torch.cuda.synchronize()
    end_time = time.time()
    print(f"Rank {local_rank} output: {output}")
    if local_rank == 0:
        print(f"Data Parallel Time: {end_time-start_time}s")

if __name__ == "__main__":
    run_tensor_parallel()
    run_data_parallel()

If I run this script with deepspeed --num_gpus 2 inference_example.py on 2xA6000 setup:
Rank 0 sending input '['DeepSpeed is', 'Microsoft is']' to the pipeline.
Rank 1 sending input '['DeepSpeed is', 'Microsoft is']' to the pipeline.
Rank 1 output: [[{'generated_text': 'DeepSpeed is a new feature in the game. The game is now able to use the new speed'}], [{'generated_text': 'Microsoft is a free software that allows you to create and edit video and audio files. It is a'}]]
Rank 0 output: [[{'generated_text': 'DeepSpeed is a new feature in the game. The game is now able to use the new speed'}], [{'generated_text': 'Microsoft is a free software that allows you to create and edit video and audio files. It is a'}]]
Tensor Parallel Time: 0.7914915084838867s

Rank 0 sending input 'DeepSpeed is' to the pipeline.
Rank 1 sending input 'Microsoft is' to the pipeline.
Rank 0 output: [{'generated_text': 'DeepSpeed is a new feature in the game. The game is now able to use the new speed'}]
Rank 1 output: [{'generated_text': 'Microsoft is a free software that can be used to create and edit and edit images.'}]
Data Parallel Time: 0.16255569458007812s

Please note that this is not a proper benchmark and you should do your own experimentation to determine if tensor parallelism or data parallelism is better for your particular hardware/model/etc.

Bonus point explaining the behavior when for example using HuggingFace pipeline and using beam-search or generating several sentences out.

We do not support beam-search with DeepSpeed-Inference. You can find a discussion and the latest updates on development of this feature here: #2506
Also, you may find additional examples of DeepSeed-Inferece usage in another of our repositories: https://github.com/microsoft/DeepSpeedExamples/tree/master/inference/huggingface

thank you @mrwyattii for the answer, very much appreciated!
it would be great if you could add that information at https://www.deepspeed.ai/tutorials/inference-tutorial/, for future users

Are we supposed to pass the same prompt on the different ranks and they collaborate to give an answer?

Yes, the same prompt should be passed on all ranks when you are using tensor parallelism (i.e., the model is split across multiple GPUs). If you are running a model that is small enough to fit entirely on one GPU, you may also try doing data parallelism rather than tensor parallelism. In the case of data parallelism, each GPU would have its own copy of the model and different prompts could be sent to each. Consider the code below that demonstrates this:
import torch
import deepspeed
import os
import time
from transformers import pipeline

local_rank = int(os.getenv("LOCAL_RANK", "0"))
world_size = int(os.getenv("WORLD_SIZE", "1"))

task_name = "text-generation"
model_name = "bigscience/bloom-560m"
input_strs = ["DeepSpeed is", "Microsoft is"]

def run_tensor_parallel():
    pipe = pipeline(task_name, model_name, torch_dtype=torch.float16, device=local_rank)

    # Initialize DeepSpeed
    pipe.model = deepspeed.init_inference(
        pipe.model,
        replace_with_kernel_inject=True,
        mp_size=world_size,
        dtype=torch.float16,
    )

    # Run inference
    print(f"Rank {local_rank} sending input '{input_strs}' to the pipeline.")
    torch.cuda.synchronize()
    start_time = time.time()
    output = pipe(input_strs)
    torch.cuda.synchronize()
    end_time = time.time()
    print(f"Rank {local_rank} output: {output}")
    if local_rank == 0:
        print(f"Tensor Parallel Time: {end_time-start_time}s")

def run_data_parallel():
    pipe = pipeline(task_name, model_name, torch_dtype=torch.float16, device=local_rank)

    # Initialize DeepSpeed
    pipe.model = deepspeed.init_inference(
        pipe.model,
        replace_with_kernel_inject=True,
        mp_size=1,
        dtype=torch.float16,
    )
    pipe.model.to(
        torch.device(f"cuda:{local_rank}")
    )  # Required to keep models on the correct device

    # Run inference
    print(
        f"Rank {local_rank} sending input '{input_strs[local_rank]}' to the pipeline."
    )
    torch.cuda.synchronize()
    start_time = time.time()
    output = pipe(input_strs[local_rank])
    torch.cuda.synchronize()
    end_time = time.time()
    print(f"Rank {local_rank} output: {output}")
    if local_rank == 0:
        print(f"Data Parallel Time: {end_time-start_time}s")

if __name__ == "__main__":
    run_tensor_parallel()
    run_data_parallel()

If I run this script with deepspeed --num_gpus 2 inference_example.py on 2xA6000 setup:
Rank 0 sending input '['DeepSpeed is', 'Microsoft is']' to the pipeline.
Rank 1 sending input '['DeepSpeed is', 'Microsoft is']' to the pipeline.
Rank 1 output: [[{'generated_text': 'DeepSpeed is a new feature in the game. The game is now able to use the new speed'}], [{'generated_text': 'Microsoft is a free software that allows you to create and edit video and audio files. It is a'}]]
Rank 0 output: [[{'generated_text': 'DeepSpeed is a new feature in the game. The game is now able to use the new speed'}], [{'generated_text': 'Microsoft is a free software that allows you to create and edit video and audio files. It is a'}]]
Tensor Parallel Time: 0.7914915084838867s

Rank 0 sending input 'DeepSpeed is' to the pipeline.
Rank 1 sending input 'Microsoft is' to the pipeline.
Rank 0 output: [{'generated_text': 'DeepSpeed is a new feature in the game. The game is now able to use the new speed'}]
Rank 1 output: [{'generated_text': 'Microsoft is a free software that can be used to create and edit and edit images.'}]
Data Parallel Time: 0.16255569458007812s

Please note that this is not a proper benchmark and you should do your own experimentation to determine if tensor parallelism or data parallelism is better for your particular hardware/model/etc.

Bonus point explaining the behavior when for example using HuggingFace pipeline and using beam-search or generating several sentences out.

We do not support beam-search with DeepSpeed-Inference. You can find a discussion and the latest updates on development of this feature here: #2506
Also, you may find additional examples of DeepSeed-Inferece usage in another of our repositories: https://github.com/microsoft/DeepSpeedExamples/tree/master/inference/huggingface

Below gpu allocation doesn't seem to work as both instances of model are loaded into the same gpu and throwing a OOM.
This is happening from init_inference. So, model.to() is never reached.
Please help with a work around for this.
I don't understand how to deploy DP without using MII's load balancer.
    # Initialize DeepSpeed
    pipe.model = deepspeed.init_inference(
        pipe.model,
        replace_with_kernel_inject=True,
        mp_size=1,
        dtype=torch.float16,
    )
    pipe.model.to(
        torch.device(f"cuda:{local_rank}")
    )


Standardized indentation

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

@tiagodenoronha We typically indent to 'tab' stops (i.e. every four spaces) rather than aligning dots. That being said, some of the indentation here does seem dubious--I'll let @divega decide if it should be changed.

Thank you @tiagodenoronha for your contribution.

Thank you for accepting my first pull request on github!


EntityCatalogueModule - Allow lazy loading of entity catalogue store

Currently, all entities are put into the store when stratos is first run. We need to see if we can add them lazily for a particular extension.

This might not be worth doing and might cause more issues than it solves.


Add login retry for session timeout

Error code 106 is a session timeout error so we should retry login before erroring out on the request
The other changes are just gofmt updates

I was seeing this error in my logs and I think it is related to issues with the iSCSI session not being correctly logged out on pod delete.
2023-07-15T13:09:38Z [INFO] [driver/utils.go:104] GRPC call: /csi.v1.Node/NodeUnstageVolume
2023-07-15T13:09:38Z [INFO] [driver/utils.go:105] GRPC request: {"staging_target_path":"/var/lib/kubelet/plugins/kubernetes.io/csi/csi.san.synology.com/4f5270dfe2ddf82104753083a8665ac488712bda135ad587d0a57c21220997a8/globalmount","volume
_id":"4a51782e-5ae3-4ef8-977c-ef1181913fe6"}
2023-07-15T13:09:38Z [ERROR] [service/dsm.go:537] [<IP_ADDRESS>] Failed to list targets: DSM Api error. Error code:106
2023-07-15T13:09:39Z [INFO] [webapi/dsmwebapi.go:52] Re-login succeeded.
2023-07-15T13:09:39Z [INFO] [driver/utils.go:110] GRPC response: {}

This also fixes #32 for me


Add use case F1 - Find student by name

Fix #32
Use case for finding student by name.

Codecov Report

Merging #33 (5a201b1) into master (af06165) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #33   +/-   ##
=========================================
  Coverage     72.39%   72.39%
  Complexity      409      409
=========================================
  Files            71       71
  Lines          1268     1268
  Branches        132      132
=========================================
  Hits            918      918
  Misses          313      313
  Partials         37       37

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 af06165...5a201b1. Read the comment docs.

@Chesterwongz can you help to review this PR, thanks!


Add Cmdlets for storing Credentials in OS credential store

The Get-Credential works well for interactive sessions, but to execute scripts non-interactively, credentials often need to get stored in a secure place, which is a challenge for most PowerShell users. As at least Windows and Mac OS X (Keychain) offer secure credential stores, it would be great if Cmdlets could be added to PowerShell to securely store credentials in the OS credential store. PowerShell Credentials Manager, an implementation for Windows PowerShell can be found in the Technet Gallery.
This would increase usability of PowerShell for non-interactive scripting and enhance security for the average user.

I think @Jaykul implements what you are asking for in his BetterCredentials module. That module adds some extra functionality to Get-Credential.
Get-Credential UserName -Store

If you haven't stored the password for "UserName", you'll be prompted with the regular PowerShell credential prompt, otherwise it will read the stored password.
In either case, it will store (update) the credentials in the Vault

Perhaps that type of behavior should be added to the native Get-Credential cmdlet.

BetterCredentials looks interesting, but it also relies on the Advapi32.dll for storing credentials which is Windows specific. Secure Credential Management is essential and enabline PowerShell to use the Credential stores Microsoft and Apple recommends would be a great way to increase security for PowerShell scripts (especially non-interactive ones).

Although I'd theoretically like to make mine cross-platform, I don't have a MacBookPro anymore, so I won't be implementing that myself...
Since even the credential prompt OS-specific -- they might as well implement cross-platform native storage in the core.
For better or worse, I've actually been considering going the opposite direction, and making the storage pluggable, so that it can use something that's not user+machine specific, maybe KeePass or Thycotic SecretServer etc.

RFC https://github.com/PowerShell/PowerShell-RFC/pull/208
Please discuss there.


Evaluate VideoPose3d

can it run easily?
do we need any further libraries (declathon)
what are the results / which parameters should we use

Done in Wiki

Closed during Sprint Review 1
By
@fierc3 @MadMeister


Please make a PR for MiMa against 3.1.x

Hi Chee Seng,
I merged this into 3.0.x:
https://github.com/scalatest/scalatest/pull/1158
But when I try to pull to 3.1.x, again we get conflicts. Can you make a new PR for adding MiMa to 3.1.x? Once I merge that in I'll also pull it to 3.2.x.
Thanks.
Bill

Completed in the following PR:
https://github.com/scalatest/scalatest/pull/1269

Next step for this one: https://github.com/scalatest/scalatest/issues/1271
OK got it right this time. So closing this since it is done.


Upgrade Node from outdated version 10

Node 10 is End of life since 2016 https://github.com/nodejs/Release?tab=readme-ov-file#end-of-life-releases
it is mentioned here https://github.com/redhat-solution-patterns/solution-pattern-camel-migration/blob/33de2c3bedbf6654292ef2e39e74139b9cfcefbb/README.adoc?plain=1#L37
(even though I'm not sure where it is used after)

Thank you @apupier we will look at this and upgrade Node
Just as an FYI: Nodejs in this case  is used test the instructions locally :) but nevertheless good practice to keep this updated. Thanks for stopping by and for your comments.


Serialize proofs

The strategy is to use ark_serialize::{CanonicalSerialize, CanonicalDeserialize} recursively as low as possible via macros. If we'd like to expose serde::Serialize we should do this at the highest level. If we try to do serde at a lower level we'll have to use serde's serialize_with on nearly every field.
The lack of compatibility between these two appears contentious:

https://github.com/arkworks-rs/algebra/issues/178
https://github.com/arkworks-rs/algebra/pull/506
https://github.com/EspressoSystems/jellyfish/issues/288

Issues remaining:

Does not yet remove generators
R1CS proof contains the UniformSpartanKey which should not be in the proof, but rather "known" by the verifier

The PR manually implements ark_serialize::{CanonicalSerialize, CanonicalDeserialize} for types including PhantomData<T>. I believe the macros will work for these as long as T: Send + Sync based on the arkworks default impls.
https://github.com/arkworks-rs/algebra/blob/bb663bc27e776af81e66c94d9016bde2dbba9968/serialize/src/impls.rs#L275-L282

T: Send + Sync strategy described above works.


DragonflyBSD: Remove unused Errno's

EUNUSED* were removed from <sys/errno.h> in DragonflyBSD, so there is no
need for them to be in nix either. This also fixes the build on
DragonflyBSD.
r? @asomers
cc/ @mneumann
Signed-off-by: Levente Kurusa<EMAIL_ADDRESS>

@asomers ping can we merge this? it fixes the build on DragonflyBSD.

Is everything good on the libc front?

Yup, see https://github.com/rust-lang/libc/pull/1160


fix: SyntaxError when parsing chunked decimal with exponential

Issue
When a decimal with exponential (e.g. 0.1234e-5) is chunked right after the exponential sign, Jaxon.Stream raises a ParseError complaining about a syntax error, although the JSON is valid.
Example:
iex(1)> [~s({"decimal":1.123e-), ~s(4})] |> Jaxon.Stream.from_enumerable() |> Stream.run()
** (Jaxon.ParseError) Syntax error at `{"decimal":1.123e-`
    (jaxon 2.0.0) lib/jaxon/stream.ex:55: anonymous fn/2 in Jaxon.Stream.from_enumerable/1
    (elixir 1.12.0) lib/stream.ex:902: Stream.do_transform_user/6
    (elixir 1.12.0) lib/stream.ex:649: Stream.run/1

Solution
The C decoder, after reading the exponential sign, moves move to the next character and checks if it's a digit without checking if we reached the end of the buffer.
When the buffer ends with the exponential sign, it will check if the next address in memory is a digit to decide wether the decimal is legit.
Checking if we reached the end of the buffer prevents this behaviour.

Coverage remained the same at 86.124% when pulling b994c0d08cd02796c417afdb36a2fe3bbd31ca5f on orlera:fix/parse-error-when-exponential-chuncked into a0c0ff1d1007fe257fb936d7fad18c4ca5c3436c on boudra:master.


update fast-json-patch to the latest version

resolves console warnings produced by the usage of the old version
standardizes interface expected by add_keyword to be a function taking
2 arguments - source and patch

Here's the console warning produced by the current version:
jsonpatch.apply is deprecated, please use `applyPatch` for applying patch sequences, or `applyOperation` to apply individual operations.

Coverage remained the same at 100.0% when pulling 8672de133a8329c0fab73f946d8dd1d9a6a042e8 on jstewmon:update-fast-json-patch into bc61807c96e293727e898412cf49f306d4ad8021 on epoberezkin:master.

merged #23


Bugfix/fix attachment is parsed as wi link

Supersedes https://github.com/solidify/jira-azuredevops-migrator/pull/566

[x] Integration tests passing


PDF Output - Draft comments visible in link text

Tested with latest DITA OT 3.3 trunk code.
For example, I have a topic with a section, title and draft-comment:

   <title><draft-comment author="tst">123456789</draft-comment>This is a section title (3)</title>

T

Then in another topic, I add an xref to the above section:

<xref href="topic.dita#concept_lks_kwj_sy/section_m3g_pwj_sy"/>.

The PDF output shows the draft comment text inside the link text. The HTML-based output does not have this problem.

See places like: "plugins\org.dita.pdf2\xsl\fo\links.xsl":
           <xsl:template match="*[contains(@class, ' topic/section ')][*[contains(@class, ' topic/title ')]]" mode="retrieveReferenceTitle">

Possibly we need to add a new template in the "insert-text" mode which ignored draft-comment, but it should be somehow connected to the parameter:
       <xsl:template match="*[contains(@class, ' topic/draft-comment ')]" mode="insert-text"/>

Same problem when having draft-comment in topic titles.

Same issue with draft-comments in table/figure titles showing up in List of Tables/Figures (DITA-OT 3.3.3)

this issue comes up in LoT/LoF as well when table or figure titles contain draft comments

@thendarion I do not remember this issue too well anymore, there is this "args.draft" parameter which can be enabled for the published output and I do not know how well it works anymore if you add this template which ignores any draft comment.

Removing draft content is conceptually similar to filtering. If we moved removal to preprocessing, then all transformation targets could inherit the functionality. Perhaps something to consider for DITA-OT 4.0?
(Similarly, I wish preprocessing would remove <draftintro> topics from <bookmap> publishing when args.draft != true; see #3663 for details.)


changing the way the onresize event is handled in IE8. This way is handled only...

... once, and prevents an infinite resizing loop.
I've been using your js library integrated with angular, and when tested my app in IE8 I experienced an infinite resize loop (the charts shrinks slowly but continuously).
I found these two posts:
http://cyanbyfuchsia.wordpress.com/2012/06/20/window-resize-and-internet-explorer-8/
http://stackoverflow.com/questions/1852751/window-resize-event-firing-in-internet-explorer
and decided to implement the solution that seemed more tidy.
This code did the trick for me.
Hope it helps.

Cleaning up PRs


Raise error if trying to serve model without signature

I guess I should have facilitate this to be merge a week ago, at least :) Let's solve the follow-up problem separately in #488


Could you please provide guidance on the calculation of FID?

Hello, I greatly appreciate your selfless sharing of this GitHub repository; it has been immensely beneficial for my learning progress. However, I am currently unclear on how to calculate the Fréchet Inception Distance (FID) metric using your code as a foundation. Would it be possible for you to provide some guidance or recommendations on how to perform FID calculations?
Thank you very much for your contributions.

I used https://github.com/toshas/torch-fidelity for this.

Thank you very much for your guidance! I used the CelebA 64 x 64 model you provided on GitHub, but I found that the images generated by the model scored over 30 when calculating the FID compared to the images from the CelebA dataset. I believe there might be some mistakes on my part, and I hope you can provide some guidance.
Could I trouble you to offer some guidance once again? And thank you for your previous generous assistance!