Add ol.version

This PR suggests adding a property ol.version which will hold the version number of the library. I think it makes a lot of sense to have such version information available not only in the file header, but also as a property of the library itself.
This property must be set manually before releasing.
Please share your thoughts on this.

There seems to be some level of interest in this: http://gis.stackexchange.com/questions/200602/identifying-openlayers-3-version-at-runtime/221640
My use case is simply to confirm that the correct version is loaded at runtime.  Server/proxy/broswer caching can result in the wrong version of ol.js being loaded.

Server/proxy/broswer caching can result in the wrong version of ol.js being loaded.

Then you should be fixing your server's and/or proxy's cache settings.

Then you should be fixing your server's and/or proxy's cache settings.

This premises that you have access to these. But this is often not the case. If the software runs on a infrastructure of a customer for example. With a version property you could then save a lot of time when searching for the cause.

but you can see the version in the header?

but you can see the version in the header?

We are speaking about an automatic check, right? Of Course, you can look in the header, but why you should waste your time to manually do it, if it can be done automatically? Apart from this you couldn't check this if the application is running at an intranet.

Then you should be fixing your server's and/or proxy's cache settings.

Agreed, though it's difficult to resolve or identify the problem when you cannot query the version that was actually loaded.


jsmn: declare struct names to allow forward decls

Both jsmntok_t and jsmn_parser are declared as anonymous structures
that are typedeffed to their actual name. This forces all downstream
users of jsmn to always use the typedef name, instead of using e.g.
struct jsmn_parser. While this might be considered a matter of taste,
using typedefs only has the technical downside of disallowing forward
declarations. E.g. if a dependent whishes to declare a pointer to
jsmntok_t without actually pulling in the "jsmn.h" header, then he is
not able to do so because there is no way in C to provide a forward
declaration for typedefs to anonymous structs.
Fix this by providing names for both jsmntok_t and jsmn_parser
structures.

This been laying around for so long. Sorry about that.
For the most part I would just merge this pull request, although it made me think a little about the naming conventions used in JSMN. How come jsmntok has the _t postfix yet jsmn_parser does not?
Having this ironed out I have no reason to keep this pull request waiting.

Don't get me wrong, the burden of that is not on you, @pks-t. I just want to make sure something as silly as this won't become a problem later on.

This been laying around for so long. Sorry about that.

No worries, I know it's hard sometimes to keep up :)

For the most part I would just merge this pull request, although it made me think a little  about the naming conventions used in JSMN. How come jsmntok has the _t postfix yet jsmn_parser does not?
Having this ironed out I have no reason to keep this pull request waiting.

I'm not entirely sure what you propose. Do you propose that I keep the same struct names as the typedeffed ones (that is, using struct jsmntok_t instead  of struct jsmntok, even though it's inconsistent with struct jsmn_parser)?

Well, if only I could return 10 years back and rewrite the original code. :see_no_evil:
We all know that POSIX explicitly forbids ending your own types with _t. But historically it was used for opaque typedefs.
So my original code, clearly, makes no sense - tokens are not opaque at all, and must remain regular struct jsmntok type (or better struct jsmn_tok?), to give a hint that one will have to access its fields, and to match POSIX recommendations. With this in mind, struct jsmn_parser is also OK, but might have been aliased as jsmn_parser_t, although I see little point in it.
Would it be too brutal if we abandon _t suffices and leave it plain unaliased structs? I honestly don't see how to fix a broken thing without making a breaking change.

I still have in mind quite breaking changes for a future release, so the change of names might be added to the todo list for when that happens. For now, it probably would be smart to just drop the _t in the name of the structure and keep it in the typedef, exactly the way it's done in the pull request. This could in theory make it less painful to adjust code when we do finally drop the _t postfix. Although, that could be not the case if name gets changed to jsmn_tok.
For now I'd give this change a pass.

Just to make sure I'm not missing anything: do you expect me to make any changes right now?

Not really. Seeing that @zserge seems to be alright with it too then into the code it goes. The naming probably will be adjusted in the future but it's not a concern for now.

Cool, thanks a lot!


Escape HTML from nodeValue

Tip: add ?w=0 to the diff to ignore whitespace (I removed trailing whitespace).
Added new functions to escape/unescape HTML entities &, ", ', <, >.
Page with example of previous behaviour (put in base directory to run).

  <title>Hello World</title>

Hello <script>alert('hi');</script> World

Notice that with the original code, an alert is received, and the  text disappears.  With the new code, it remains, and no alert is received.
I'm no jQuery hacker or anything, but some code I'm working on was using this library and I finally traced the bug down to this plugin.  We're using underscore so this was a much more minor change when I made it for us.  Thought I'd push it back to you in case you want it.

Ouch! Just ran into this bug yesterday on (cburschka/cadence#192) and had to add an emergency workaround. I suppose I'll switch to your fork in the next version.


Release 0.9.3

[x] Start a new release branch:git flow release start 0.9.3

[x] Rotate CHANGELOG.md (following Keep a Changelog principles)
[x] Ensure outstanding changes are committed:git status # Is the git staging area clean?
git add CHANGELOG.md
git commit -m "0.9.3"

[x] Publish the release branch:git flow release publish 0.9.3

[x] Test the release branch on staging
[x] Start a new release pipeline job with the SHA (see command below) of release/0.9.3 that was tested on staginggit rev-parse --short HEAD

[x] Run migrations, if applicable (see the showmigrations release pipeline stage):./scripts/manage ecsmanage -e production migrate

[x] If necessary, publish any new tiles
[x] Finish and publish the release branch:

When prompted, keep default commit messages
Use 0.9.3 as the tag message

git flow release finish -p 0.9.3

Production deploy is complete. Confirmed that I can see the new national municipal boundary in production:


[crosswalk-17][misc] Update baseline for webmanu-system-android-tests

Impacted TCs num(approved): New 0, Update 3, Delete 0
Unit test Platform: Crosswalk Project for Android 17.46.448.0
Unit test result summary: Pass 3, Fail 0, Blocked 0
https://crosswalk-project.org/jira/browse/XWALK-5582

LGTM


Local stored plugins are not automatically updated when there is a new version of open-scd [TBD]

Describe the bug
If an OpenSCD user still have an old version in the browser storage, OpenSCD will be broken. The use has to go clear the browser memory manually to fix this problem.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
The local storage need to be updated/reloaded with the latest version of OpenSCD. This should be an automatic process.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Most likely on all platforms

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

I did a little curiosity research which may or may not help:
We could use a file to remove cache control but in general we want caching (see here]
Notionally Github pages is only cached for 10 mins (see here)
It seems like we could update our cache control headers in our index file as per this comment
<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>

That would be if it's a Github Pages issue.
Perhaps the other likely cause is some kind of PWA caching.
The following thread suggests we should make sure the version in our manifest.json is updated when a new release occurs.
I note that our package.json and our manifest.json are not currently in synch so that may be related and is probably where I would start.
https://github.com/openscd/open-scd/blob/f30e344d415c672345b5b20a231db1c20840b902/packages/open-scd/manifest.json#L42-L44
https://github.com/openscd/open-scd/blob/f30e344d415c672345b5b20a231db1c20840b902/packages/open-scd/package.json#L1-L4

Talked about it in refinement
@danyill, that is a different problem. The problem we have is for example if we add a new official plugin it is not added automatically to OpenSCD. The user has to clear the local storage so it gets reinitialized.
Our suggestion is to compare the plugins.js's array with the one stored in local storage:

if there is a new one, just add it to array in local storage
and if removed a plugin then we also remove it from the local storage

This was the manually added plug-ins can stay and you don't have to add them again.

This might be connected to the newly developed plugins store.
@trusz do you have any thoughts on this ?


How can I access onChange method?

Hi,
Thank you for your amazing efforts.
I'm facing a slight issue, when I remove the selectbutton, ( set showSelectLocationButton: false, ), the select button is gone, but there's no way to trigger onPicked method
Is there onChanged method or someway I can access the location?

added in the latest version.


Load Balancing

Right now it takes forever to run puppeteer/lighthouse with the client waiting. Puppeteer also needs a lot of resources. It's very likely this breaks down with several users in parallel. In general AppEngine is supposed to launch up new instances, but not sure how well this would work:
https://cloud.google.com/appengine/docs/flexible/nodejs/how-requests-are-handled
We could also skip running our own lighthouse, and just use the PSI API which contains a full lighthouse report. Two reasons why I don't wanna do this right now:

I want the 'full' run which also gives 'unused-javascript' audit, and PSI doesn't run the 'full' config, so we'd lose this
PSI uses simulated network, and then timestamps of the performance marks doesn't fit to timestamp of rest of lighthouse trace (this one we can maybe fix ourselves)

After some thinking decided to go with pagespeed insights rest api instead of puppeteer plus lighthouse. Much more scaleable and cheaper to host ;-)


Support plugin remove@version

See Issues #354 and #355
Currently you can only specify the @version syntax in the phonegap plugin add command, not phonegap plugin remove. I assume because you can only have one version of a plugin installed, so it's assumed you would just use the general remove command, such as:
   $ phonegap plugin remove org.apache.cordova.camera

vs
   $ phonegap plugin remove<EMAIL_ADDRESS>
Ultimately both should work though if the user does specify the version and it matches. Currently you get a misleading error.
For instance, here's how it works currently:
$ phonegap plugin add<EMAIL_ADDRESS> [phonegap] adding the plugin<EMAIL_ADDRESS> [phonegap] successfully added the plugin

If I change my mind about the version and decide to run:
$ phonegap plugin remove<EMAIL_ADDRESS>[phonegap] removing the plugin<EMAIL_ADDRESS>{ name: 'CordovaError',
  message: 'Plugin<EMAIL_ADDRESS>is not present in the project.     See "plugin list".' }
   [error] Plugin<EMAIL_ADDRESS>is not present in the project. See    "plugin list".

Though it is definitely present after verifying again and looking at package.json just to make sure...
org.apache.cordova.camera hollyschinsky $ more package.json
{
"version": "0.2.9",
"name": "org.apache.cordova.camera",
"cordova_name": "Camera",
...
}

if anyone has found a solution to this issue, id be most greatful.

@hollyschinsky did we ever file a Cordova issue for this? I am unable to find it in Apache Cordova's JIRA. If not, I can file it.

@filmaj I don't remember specifically from back then but guessing not if you didn't find it :/

No problem. Filed it in CB-12678.

Closing in favor of cordova issue, where it makes most sense to fix


add mandarin stickers

I'm aware that this is just a mirror repo. The upstream repo does not offer method of submitting PR so I'm posting here for them to pull from. If somebody could notify maintainer, that would be great.

I think the owner of the repo if "OchNoe/OchNö" from linux-forks
@Montandalar @yw05 (sorry for the ping) is there a way to contact them? LF doesn't have any social bridges...

I am only aware of the advtrains mailing lists and<EMAIL_ADDRESS>for other patches. For Och_Noe you could try to send him (the email address can be found in the commit log) the patch but (considering my experience of talking with him about git) I am not sure how far that would go.

Even if there would be some way to send patches it is in my opinion bad idea if there's no simple tools for it, better to just fork it and setup job to grab updates from upstream.
Could notify upstream devs about fork later / when getting in touch
So then if they want they can easily get patches / diffs like this:
https://github.com/mt-mods/technic/pull/257.patch
https://github.com/mt-mods/technic/pull/257.diff
Or just merge stuff by adding github as another remote and pulling stuff from there.

Even if there would be some way to send patches it is in my opinion bad idea if there's no simple tools for it, better to just fork it and setup job to grab updates from upstream.

There is git send-email for sending patches via email. Whether it is simple is subjective, though.

So then if they want they can easily get patches / diffs like this: https://github.com/mt-mods/technic/pull/257.patch https://github.com/mt-mods/technic/pull/257.diff Or just merge stuff by adding github as another remote and pulling stuff from there.

I suppose the main reason sending patches with git-send-email is preferred is that some email clients allow you to pipe the email directly to git am. I did it a few times with advtrains.

git send-email

That works only for few people, not for most users who do contribute to minetest mods. You should know that and I guess you also know reason for it...

I suppose the main reason sending patches with git-send-email is preferred is that some email clients allow you to pipe the email directly to git am. I did it a few times with advtrains.

See above.

git send-email

That works only for few people, not for most users who do contribute to minetest mods. You should know that and I guess you also know reason for it...

There are currently a few reasons I can think of against the use of git-send-email:

Anonymity. Register another account or use an email alias
git-send-email does not work well with a proxy (this was reported by someone else): copy the content into the web interface.

I suppose the main reason sending patches with git-send-email is preferred is that some email clients allow you to pipe the email directly to git am. I did it a few times with advtrains.

See above.

In case I have not made this obvious enough: what I mentioned was the main reason of sending patches directly instead of the URL.
In reply to the "above" post, I do not see how email does not "[allows people] to have usable platform for discussion". In case you do not have an idea of how email-based discussions on patches look like, here is an example: https://lists.sr.ht/~gpcf/advtrains/<20211226212113.21978-1-tanavit%40laposte.net>
The problem with CI (if that is what you mean by "workflow job integrations") is that nobody has set up CI for the mod. There are enough ways to do CI out there, and you can obviously do it with email-based discussions, as in the case with advtrains (I keep bringing this up because I have experience with it).

Besides that, you can just pipe curl <github-patch-url> | git am or curl <github-diff-url> | git apply, it also provides way to paste contents to mail in case user is not able to do that in command line (and most users are not able to).

I am not sure why most users are not able to use the command line. This is not North Korea. Even Windows allows you to use Git in the CLI, and we do in fact have patches sent via email from Windows, in case you are wondering: https://lists.sr.ht/~gpcf/advtrains/patches/21549
Mass discussion is not Github-specific either. The fact that there is no mailing list for the ehlphabet mod does not mean you can't do mass mailing via email.
I am not sure how the rest of the "easy to use" arguments make sense (I started writing this post when the arguments were added, so I am not copying those over). In fact, I would say that one of the advantages for advtrains to have email-based discussions over fancy UIs is that we keep out people who are not even competent enough to do 10 minutes of reading.

In case you do not have an idea of how email-based discussions

What I am saying is that not all people want to use email based discussion, GitHub as a platform provides both email based and web UI based discussions and allows users to choose what they want and/or are able to use.

I am not sure why most users are not able to use the command line.

Many windows users use various GUI clients and not all those provide easy way to use all core features but limited set of features that are still more than enough for contributions.

Even Windows allows you to use Git in the CLI

Allows to use is completely different thing from know how and be able to. Windows allows you to run a lot of Linux programs through WSL, that's not the point.

Mass discussion is not Github-specific either.

That's true and I think I already mentioned that GitHub allows both email based and web UI (with extremely easy access) based discussions.

have email-based discussions over fancy UIs is that we keep out people who are not even competent enough to do 10 minutes of reading.

You know you can reply to this comment directly using your email and everyone subscribed discussing this pull request will get your reply? Thing is one of contributors can use fancy web UI while another can use email however they choose.
Personally I would be fine with CLI + email only workflow but not everyone is, thing with using GitHub (or some other similar git service) as a platform is that it gives more options for users.
You could simply go take a look at Minetest mods at ContentDB and see how many of those are hosted on GitHub / GitLab / similar platforms and then think about why users did choose to use those.
Take a look at https://content.minetest.net/packages/?random=1&lucky=1 say 10 times and take a look at source code link, where it is hosted?

You know you can reply to this comment directly using your email and everyone subscribed discussing this pull request will get your reply? Thing is one of contributors can use fancy web UI while another can use email however they choose.

Some mailing lists do have reply buttons if that is what you are after. There are web interfaces that register themselves as mailto: link handlers, so it is not necessary to set up an email client (that does depend on the provider, though). Also you can likely set up an email client in less than 15 minutes (including reading the tutorial) or so so it should not be a paritular problem.

You could simply go take a look at Minetest mods at ContentDB and see how many of those are hosted on GitHub / GitLab / similar platforms and then think about why users did choose to use those.
Take a look at https://content.minetest.net/packages/?random=1&lucky=1 say 10 times and take a look at source code link, where it is hosted? Then think about how many contributors are familiar with email + git workflow vs web ui (+possibly git) workflow.

More importantly, how many people are aware of email-based platforms? Self hosting is not an option for most people out there, and Sourcehut is just a small platform that is still in testing phase. It should not be surprising that most people are not even aware of git+email-based workflow/hosting platform, so being familiar with it or actively using it should be out of the question. Low awareness does not imply inferiority though, for obvious reasons (and as history has proven)

Och_Nö has an interesting relationship with git, as in he much prefers SVN and only commits direct to master and pushes to his stuff on Bananach Space. If you really need to get people to work inside the Pull Request/GitHub system, the best way I can probably think of to submit stuff to Och_Nö is for patches that get consensus here, make a script to email them to<EMAIL_ADDRESS>as yw05 mentioned, a la git-send-email and hope gpcf and Och_Nö sort it out. Don't know if that can be done with GitHub actions? Yes, I know this is incredibly cumbersome to work with but I don't see it changing because the git email workflow is just how it's done for LinuxForks projects.
It might be work talking to gpcf to get more mailing lists set up on Sourcehut since it's currently only advtrains and misc-patches, but I also don't know how the licensing works and if that would cost gpcf more. gpcf should respond promptly to email if you wanted to talk to him about it. That way for any minetest-mirrors repos, the script to send the git emails can just point at an appropriate and specific mailing list. At some point you need to get your hands dirty with the mailing list anyway because I'm sure the maintainer would prefer to respond on the mailing list.
My reasoning having been explained I will summarise my suggested approach:

Opening a PR on a minetest-mirrors that points to git.bananach.space should automagically send an email to the appropriate mailing list (for now misc-patches, in future specific) on sourcehut.
PR submitter needs to respond to any queries from the maintainer via email*. They probably don't need to subscribe to the mailing list as long as the thread doesn't get broken.
Once maintainer responds over on sourcehut: whether it gets rejected or accepted, you have to close the PR and not merge it. The maintainer will merge using the git email workflow which will create different commit hashes.
The script that fetches from the original source will get the merged code automatically of course.
Once the PR is dealt with by upstream, close it on here with a comment about what happened upstream. e.g. "merged upstream as " or "rejected upstream".

*One special case: perhaps the automatic PR email from the script can include a reply address that will add comments sent over email to the pull request comment section? I know you can respond to GitHub PRs via email when you get sent email notification. In any case, this is only one-way: The maintainer can reply to GitHub but the submitter can't post a GitHub comment and expect it to appear on the mailing list (unless there's even more GitHub action magic available for that?)
As you can see, it involves a bit of manual labour and/or a fair bit of GitHub-side automation work (if that's possible). I really just think anyone who can reasonably be expected to learn git email workflow should bite the bullet; I didn't find it that hard myself. gpcf has a good link for a git email workflow tutorial website but I can't find it with a search engine right now.
As an alternative let me list the steps for dealing with sourcehut directly:

(once only) git config --global --edit. Fill out the following fields, e.g. for Outlook - other email providers will also provide their SMTP info, usually with a quick internet search. You may have already used this kind of info to set up email accounts in your email client.

# The user section will probably already be present if you've already committed before.
# This info is automatically filled into the email when you start to send.
[user]
    email =<EMAIL_ADDRESS>    name = Ty Coon
[sendemail]
    smtpencryption = tls
    smtpserver = smtp-mail.outlook.com
    smtpuser =<EMAIL_ADDRESS>    smtpserverport = 587

Mark your commit with a branch. Check out the branch.
git send-email master..HEAD
To<EMAIL_ADDRESS>or other mailing address list
Choose the edit option and add a message there much like writing a PR message. Add the message above the first ---
Save the file and send the message - you will need to enter your password each time you send the email.
Repeat 3-4 for each commit interactively. Yes, one email per commit.
Respond to any emails you receive with Reply-All in any email client of your choosing.

That's not that difficult in my opinion. I get it though  - you just want to be able to navigate to GitHub.com and see your notifications, and you want making PRs to be as simple as pushing a GUI button and typing some text in your browser. I just think that unless we're talking about somebody who has no idea how to use a command line, following the steps I provided is easier because it avoids double handling by doing the maintainer's way.

Sounds good but can be way simpler.
I think following workflow would work for us:

Create fork repo to mt-mods org (and possibly delete mirror repo from minetest-mirrors).
Add workflow to create pull requests from upstream repo to mt-mods repo.
Create workflow that sends patch to<EMAIL_ADDRESS>when mt-mods pull request is merged.

Good:

Fairly simple and similar workflow is already in use for some repos (excluding post merge patch mailing)
Allows having some different content/commits on mt-mods repo

still allows upstream to accept patches
still allows pulling updates from upstream

Large parts of this workflow is already in use and proven to be usable.

Bad:

Workflow will fail if upstream wont accept or reject patch as is but overwrites patch contents without adding their own commits

In that case it might be better to forget about upstream and only pull one way from upstream, I would not recommend doing extra work just to post patches toward upstream in that case.

Opinion based:

Restricts merge strategy on mt-mods side to keep manageable history

Apologies for ambiguous "workflow"-use, corrections to make it clear:

Add automated github workflow actions to create pull requests from upstream repo to mt-mods repo.
Create automated github workflow actions that sends patch to<EMAIL_ADDRESS>when mt-mods pull request is merged.

Create workflow that sends patch to<EMAIL_ADDRESS>when mt-mods pull request is merged.

This does need some consideration as it would basically mean that the mailing list (i.e. upstream) is not notified about the pull request. I would prefer a system where Github and the sourcehut list are effectively bridged, somewhat similar to what Montandalar mentioned.
Also, @gpcf: how did you set up the advtrains repo so that git.bananach.space automatically pushes to sourcehut? is that possible with Github?

This does need some consideration as it would basically mean that the mailing list (i.e. upstream) is not notified about the pull request.

Yes it would be just another fork where things are reviewed on other side and changes offered to upstream and some attempts made to allow having similar history on both sides without large discrepancies.
Good thing is that it allows having somewhat diverging histories through separate merge commits and basically would mean that there's no need to wait for upstream to accept merge requests. (and that workflow is already actively used for other repos where upstream is hosted similar way)

Spoke to Och_Nö on LinuxForks server today. He said that anyone who plays on that server should contact him there in-game, otherwise the email in the commit log is the correct place to send to. Also spoke to gpcf and he said he's open to the idea of making more sourcehut mailing lists, which I think would be great for the approach I previously outlined.
I agree with S-S-X that keeping the two histories related is not strictly necessary, although of course it may be cleaner to do so. Most linuxforks mods don't get commits very often anyway so it may hardly matter. There's the caveat though that using the patch method doesn't preserve commit ids, whereas direct pulling does.

closing in favour of #4


Add deviation for Arista to support same import policy attached to al…

…l AFIs for given (src-protocol, dst-protocol, network-instance) triple

Pull Request Functional Test Report for #3010 / c939bbb8e96cc3f6ac5365ea5598e878c7779257
Virtual Devices

Device
Test
Test Documentation
Job
Raw Log

Arista cEOS

RT-2.12: Static route to IS-IS redistribution
22825adf
Log

Cisco 8000E

RT-2.12: Static route to IS-IS redistribution
9d1f0ffb
Log

Cisco XRd

RT-2.12: Static route to IS-IS redistribution
6b4cb1c6
Log

Juniper ncPTX

RT-2.12: Static route to IS-IS redistribution
3dd04a01
Log

Nokia SR Linux

RT-2.12: Static route to IS-IS redistribution
696691d3
Log

Openconfig Lemming

RT-2.12: Static route to IS-IS redistribution
4014e4e3
Log

Hardware Devices

Device
Test
Test Documentation
Raw Log

Arista 7808

RT-2.12: Static route to IS-IS redistribution

Cisco 8808

RT-2.12: Static route to IS-IS redistribution

Juniper PTX10008

RT-2.12: Static route to IS-IS redistribution

Nokia 7250 IXR-10e

RT-2.12: Static route to IS-IS redistribution

Help

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 55.5%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1983

Relevant Lines:
3573

💛  - Coveralls


ASVspoof Dateset Support

Hello, I am a beginner to ASV problems, and I try to understand by starting from the sv_voxceleb1 downstream task. However, the example uses the VoxCeleb dataset. Can the dataset be changed to the ASVspoof dataset?
I noticed that the upstream models mostly use 16000hz wav for training, but ASVspoof is flac, so I wonder if this is feasible?

ASVspoof 2021

Hi,
I think our downstream evaluation codebase is quite dataset dependent. So I do not think you can easily change to use the ASVspoof dataset. But adding new tasks based on the current framework is quite straightforward. You can follow the instruction here: https://github.com/s3prl/s3prl/tree/main/s3prl/downstream#add-new-downstream-tasks

I found this function that can process data sets in the documentation, but the link is dead. I don’t know if the documentation has expired.
https://s3prl.github.io/s3prl/_autosummary/s3prl.problem.asv.superb_asv.html#prepare-voxceleb1-for-sv


Retrieve full list of AutoScaling Groups

Currently, terraforming can't generate over 50 AutoScaling Groups.
This PR fix it like EC2.

LGTM :+1: Thanks :exclamation:


Add hudi component into hadoop-testing

Mix-using data lake table formats seem to have issues. i.e. the extended catalyst rules and SQL grammars have conflicts.

Mix-using data lake table formats seem to have issues. i.e. the extended catalyst rules and SQL grammars have conflicts.

Hi Mr Blue, wdyt about putting the pre-downloaded table format specified dependencies into the default .ivy spark.jars.ivy?
So when users want to play Lakehouse Suit, they can just run these command like blow:
# for spark shell:
spark-shell --packages org.apache.hudi:hudi-spark3.4-bundle_2.12:0.14.1 --conf 'spark.serializer=org.apache.spark.serializer.KryoSerializer' --conf 'spark.sql.catalog.spark_catalog=org.apache.spark.sql.hudi.catalog.HoodieCatalog' --conf 'spark.sql.extensions=org.apache.spark.sql.hudi.HoodieSparkSessionExtension' --conf 'spark.kryo.registrator=org.apache.spark.HoodieSparkKryoRegistrar'

# for spark sql:
spark-sql --packages org.apache.hudi:hudi-spark3.4-bundle_2.12:0.14.1 --conf 'spark.serializer=org.apache.spark.serializer.KryoSerializer' --conf 'spark.sql.extensions=org.apache.spark.sql.hudi.HoodieSparkSessionExtension' --conf 'spark.sql.catalog.spark_catalog=org.apache.spark.sql.hudi.catalog.HoodieCatalog' --conf 'spark.kryo.registrator=org.apache.spark.HoodieSparkKryoRegistrar'

This can avoid re-downloading from the remote maven repository and would not contaminate other components.

maybe some places like /opt/hudi/xxx.jar?

maybe some places like /opt/hudi/xxx.jar? Then the user could use spark-sql --jars /opt/hudi/xxx.jar even offline.

sounds good~

One more thing, Hudi depends on HFile as its metadata-store's inner format(MOR table). HFile belongs to hbase-server(version 2.4.9). However, the hbase-server depends on hadoop 2.x. So when it integrates with hadoop 3.x, it would occur NoSuchMethod exception.
I must rebuild hbase with hadoop-3 profile, then rebuild hudi-spark-bundle.
More information is here: https://hudi.apache.org/docs/troubleshooting#how-can-i-resolve-the-nosuchmethoderror-from-hbase-when-using-hudi-with-metadata-table-on-hdfs
So providing the out-of-box bundle would benefit more users.

since it's not included in the classpath, bundle is fine.


Conversion to ES6 should have resulted in a major version change

Due to ES6 conversion, this module no longer works in Node.js environments < 4. As a result, while electron is perfectly usable in earlier environments, downloading electron no longer works. This is causing builds to fail during the npm install process.
The workaround here, in order to support earlier environments, would be to either a) revert back to ES5 or b) use babel or some other transpiler to transpile the ES6 code to ES5 pre-publish.

Personally, I'd be more inclined to yank 2.2.0 and publish 3.0.0.

@malept I am not convinced that is optimal.
a) If electron wants to continue supporting installations via npm install, then, in order to support installing on earlier Node.js versions (electron-prebuilt currently runs builds on Node.js versions 0.10, 0.12, and iojs), then the electron module cannot use the updated electron-download module. And any future bug fixes, etc, will need to be back ported to a separately maintained version. This electron-userland split seems to entail more work than need be.
b) Not clear why the module was converted to ES2015 in the first place. If the intent is to simply download electron, not sure why this module would want to limit the possible installation environments and only target newer Node.js versions.
c) But if ES2015 is deemed necessary, using sthg like babel to transpile pre-publish is common practice and would allow catering to both demands.

Related issue: rtsao/unitest#13

To your points:

a) If electron wants to continue supporting installations via npm install, then, in order to support installing on earlier Node.js versions (electron-prebuilt currently runs builds on Node.js versions 0.10, 0.12, and iojs), then the electron module cannot use the updated electron-download module.

I have a pull request that I made yesterday that updates Travis to instead run builds on Node >= 4 (and I should also update it to require electron-download 3.0.0, once that's released).

b) Not clear why the module was converted to ES2015 in the first place. If the intent is to simply download electron, not sure why this module would want to limit the possible installation environments and only target newer Node.js versions.

The code accrued a lot of technical debt, which made it rather non-trivial to add a feature (namely, checksum support). Adding the feature would have taken about the same amount of time with or without the refactor, so I chose making the code clearer.

c) But if ES2015 is deemed necessary, using sthg like babel to transpile pre-publish is common practice and would allow catering to both demands.

I would personally be more amenable to this suggestion if babel weren't so heavyweight.

@malept
Re: b. Fair enough. Although nothing about checksum support demands ES2015 features and thus necessitates breaking changes.
Re: a) and electron-userland/electron-prebuilt#189. I fail to see why dropping support for prior Node.js versions is a good thing. 0.12 is still an officially supported version through the end of the year. 0.10 (officially supported until October) still has considerable use in enterprise deployments. In particular, electron should not be forced to undergo a breaking change simply to accommodate this module's decision to only support ES2015 environments.
Re: c. While I am sympathize with the desire to clean-up and modernize a code base, ultimately that needs to be balanced with a code base's use in the broader context. Here, that context is electron, which should be capable of being installed alongside any version of Node.js >=0.10. And I'd argue that electron and its supported install environments should dictate the supported install environments of associated tooling, not the other way around. So, in this case, the decision to clean-up should consider this constraint and view using sthg like babel as part of the cost of modernization.


Add extra env to helm template

What this PR does / why we need it:
Provide the ability to add extra env variables to the replicated-sdk deployment.
Steps to reproduce
Add the following snippet to the helm value file.
extraEnv:
  - name: TEST
    value: 123

Run helm template repli .  --dry-run --debug -f values.yaml.tmpl and you should see the value added in the replicated-deployment env.
Does this PR introduce a user-facing change?
A new `extraEnv` attribute was added to the helm values.

Does this PR require documentation?
NONE

Thanks for the contribution, @Utwo! It looks like we may need to pull these changes into a branch to run our tests on them. I can do that and share the PR here.

Alright, thank you!

Alright, thank you!

https://github.com/replicatedhq/replicated-sdk/pull/96 Is merged with these changes and will be available in the next release. Thanks again!

Nice! Do you know when the next release will be available?

Nice! Do you know when the next release will be available?

@Utwo I'll aim to get this released tomorrow for you and will keep you posted.

FYI - this one is available now in v1.0.0-beta.9. Let us know how it works out for you.


RAC-4123 can't create ipmi obm settings from rmm catalog

I changed the operator so that only the variable value is compared instead of its value and type.
@johren @jimturnquist

Closing this PR as user will need to pass ipmichannel as designed ( string) instead of  using as string or integer.


Update inference.py and generate.py in NeuralChat

Add the flag --return_stats to see END_OF_STREAM_STATS.

please rebase after https://github.com/intel/intel-extension-for-transformers/pull/264


Arjen Kamphuis

Twitter - https://twitter.com/ArjenKamphuis/
As requested by https://twitter.com/dutchdelphidude/status/1149536155743870977

https://about.me/arjenkamphuis


Update pyEight for Python 3.7 Compatability

Description:
Recent change to Python 3.7 in the docker container broke the pyEight library due to some old helper syntax.  This increases the library version which has been updated to the new async/await syntax to work correctly with Python 3.7.
Related issue (if applicable):
Pull request in home-assistant.io with documentation (if applicable):
Checklist:

[X] The code change is tested and works locally.
[X] Local tests pass with tox. Your PR cannot be merged unless tests pass
[X] There is no commented out code in this PR.

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[X] New dependencies have been added to the REQUIREMENTS variable (example).
[X] New dependencies are only imported inside functions that use them (example).
[X] New or updated dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[ ] New files were added to .coveragerc.

If the code does not interact with devices:

[ ] Tests have been added to verify that the new code works.

Unfortunately, I don't currently maintain a formal change log.  It's something I can do in the future.  For now, the commit history syncs well with the releases and I try to keep them descriptive:
https://github.com/mezz64/pyEight/commits/master


WebRequestMessage needs to use string for RequestUserId

Since the logging microservice does not own the user model from the security service, it cannot assume the userid will be a guid. Change this to be a string following conventions for all foreign references using storagekey.
Create new migrations. This will be a breaking change.

Changed to string RequestUserStorageKey


Add module extension-solon & example-solon-test

What this PR does / why we need it?
Add module extension-solon & example-solon-test ( for solon java application development framework)
Summary of your change

Add module extension-solon and unit testing
Add module example-solon-test and unit testing

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


staging -> main (v1.0.0)

Before merging this PR, we'll probably want to update the Core dependencies in our Podfile.lock to the GA versions.

Before merging this PR, we'll probably want to update the Core dependencies in our Podfile.lock to the GA versions.


Add dependencies for import types

microsoft/types-publisher#767
Fixes #35
Fixes #47

Fixup PR is https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44092

I just tested DefinitelyTyped/DefinitelyTyped#44092 locally, on top of DefinitelyTyped HEAD, and marked it ready for review. It's ready to merge as soon as this change is released.

I'll merge/ship/merge tomorrow morning (PDT) so that I have all day to respond to problems.

This is done now.


New package: Plasmatrace v0.7.3

Registering package: Plasmatrace
Repository: https://github.com/pvermees/Plasmatrace
Created by: @pvermees
Version: v0.7.3
Commit: e991bca5b07091b0b701eceb76d83d107815e46f
Git reference: HEAD
Description: Julia package for LA-ICP-MS data reduction

Closing in favor of https://github.com/JuliaRegistries/General/pull/118858


Kubernetese - login failure. However other services can contact it just fine.

I have a load of pods setup in Kubernetese. Other service like Jenkins, Artifactory and sonar can all connect to the LDAP server.
However when I login to the PHPadmin server now. I get the following error.
This was working, confused on why it's not. Is there away to parse out the current values if I exec in to the container?
error	Unable to connect to LDAP server openldapsvc.default.cluster.local
Error: Can't contact LDAP server (-1) for user
error	Failed to Authenticate to server
Invalid Username or Password.

Openldap service below. -

apiVersion: v1
kind: Service
metadata:
  name: openldapsvc
  labels:
    app: openldap
spec:
  ports:
  - port: 389
    protocol: TCP
    name: ldap
  selector:
    app: openldap
---
apiVersion: v1
kind: ReplicationController
metadata:
  name: openldap
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: openldap
    spec:
      containers:
      - name: openldap
        image: osixia/openldap:1.1.2
        env:
        -
          name: "LDAP_DOMAIN"
          value: "example.io"
        -
          name: "LDAP_ORGANISATION"
          value: "DDUK"
        -
          name: "LDAP_ROOTPASS"
          value: "root"
        -
          name: "LDAP_ADMIN_PWD"
          value: "root"
        ports:
        - containerPort: 389
          name: ldap
        volumeMounts:
        - mountPath: /var/lib/ldap
          name: data
        - mountPath: /etc/ldap/slapd.d
          name: config
        - mountPath: /etc/ldap/ssl
          name: ssl
      volumes:
        - name: data
        # This AWS EBS volume must already exist.
          awsElasticBlockStore:
            volumeID: @@@volume-id1@@@
            fsType: ext4
        - name: config
        # This AWS EBS volume must already exist.
          awsElasticBlockStore:
            volumeID: @@@volume-id2@@@
            fsType: ext4
        - name: ssl
        # This AWS EBS volume must already exist.
          awsElasticBlockStore:
            volumeID: @@@volume-id3@@@
            fsType: ext4

php pod
apiVersion: v1
kind: Service
metadata:
  name: openldapadminsvc
  labels:
    app: openldapadmin
spec:
  type: LoadBalancer
  ports:
  - port: 8888
    protocol: TCP
    name: https
    targetPort: 443
  selector:
    app: openldapadmin
---
apiVersion: v1
kind: ReplicationController
metadata:
  name: openldapadmin
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: openldapadmin
    spec:
      containers:
      - name: openldapadmin
        image: osixia/phpldapadmin:0.6.7
        env:
        -
          name: "PHPLDAPADMIN_LDAP_HOSTS"
          value: "#PYTHON2BASH:[{'openldapsvc.default.cluster.local': [{'server': [{'tls': False}]},{'login': [{'bind_id': 'cn=admin,dc=example,dc=io'}]}]}, 'openldapsvc.default.cluster.local']"
        ports:
        - containerPort: 443
          name: https

Hi,
can you try without a login bind_id set ?
value: "#PYTHON2BASH:[{openldapsvc.default.cluster.local': [{'server': [{'tls': 'false'}]}]}]"

Hi Osixia,
Thanks for replying. However if I remove that it automatically gives me and issue where the default user shown is cn=admin,dc=example,dc=org. IT should be cn=admin,dc=example,dc=io
Also the example servers it's trying to connect to are all ldap,dc=example,dc=org which is also wrong.

any joy?

sorry this was my fault. I checked them template I built and the wrong sservice name was entered somehow.

this was from a kube problem. If you look at the reference URL in the bind it uses the old URL. The new system has rvc in the domain name.

this was from a kube problem. If you look at the reference URL in the bind it uses the old URL. The new system has rvc in the domain name.


Support "extra" titles on flashes for disambiguation

From Makin (thanks!):

We're not decided on the text styling yet, but were thinking of subscript / smaller text, semi-transparent text, or italics (or some combination thereof). Mockup from Makin:

YAML will be a new field, maybe something like Disambiguation Title:. I'd like a name which is generic enough to be applied to other objects if we implement the same sort of thing for things in general later.
For now this would just be a pretty straightforward change to the linkThing content function, and some sort of display on the ==> flash page itself.

Related to #103.

Marking this with "additional names" label for tracking—regardless the presentation on track pages (for example), this will probably be based on that feature.


fix Mistaken stats when analyzing table incrementally and partition number less than 512

Proposed changes

Fix bug that mistaken stats when analyzing table incrementally and partition number less than 512
Fix bug that cron expression lost during analyzing
Mark system job as running after registered to AnalysisManager to avoid submit same jobs if previous one take long time

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 45.39 seconds
stream load tsv:          549 seconds loaded<PHONE_NUMBER>9 Bytes, about 129 MB/s
stream load json:         19 seconds loaded<PHONE_NUMBER> Bytes, about 118 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.4 seconds inserted 10000000 Rows, about 340K ops/s
storage size:<PHONE_NUMBER>0 Bytes

run buildall

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 46.69 seconds
stream load tsv:          534 seconds loaded<PHONE_NUMBER>9 Bytes, about 133 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          64 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
insert into select:          29.1 seconds inserted 10000000 Rows, about 343K ops/s
storage size:<PHONE_NUMBER>9 Bytes

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 45.71 seconds
stream load tsv:          535 seconds loaded<PHONE_NUMBER>9 Bytes, about 133 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          64 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
insert into select:          28.8 seconds inserted 10000000 Rows, about 347K ops/s
storage size:<PHONE_NUMBER>1 Bytes

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 46.66 seconds
stream load tsv:          533 seconds loaded<PHONE_NUMBER>9 Bytes, about 133 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          64 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.1 seconds inserted 10000000 Rows, about 343K ops/s
storage size:<PHONE_NUMBER>7 Bytes

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 45.93 seconds
stream load tsv:          534 seconds loaded<PHONE_NUMBER>9 Bytes, about 133 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          64 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          28.9 seconds inserted 10000000 Rows, about 346K ops/s
storage size:<PHONE_NUMBER>7 Bytes


71 create pypi ci workflow

Conda-forge will automatically update it's recipe to the latest available PyPi version every 6 hours, read the docs will do the same, but after every push performed to a specific branch.


[Meta-issue] Unified way to manage pileup datasets/locations being used in central production

Impact of the new feature
ReqMgr2 / ReqMgr2MS
Is your feature request related to a problem? Please describe.
Not really from a problem, but looking for a better way to manage workflows and the pileup datasets required by central production activities.
At the moment, pileup datasets get defined within every single production campaign, they might contain specific locations as well, which is supposed to reflect where that dataset is currently available at. This seems to add unnecessary complexity to the system, with campaigns having multiple pileups, e.g.:
https://cmsweb.cern.ch/couchdb/_utils/document.html?reqmgr_auxiliary/CAMPAIGN_CONFIG_RunIIAutumn18DR
with having the same pileup dataset in different campaigns (and potentially with different locations), which can also mean that some of those pileup datasets might be replicated more than what we can afford (or wanted to).
Describe the solution you'd like
So, the solution I propose here is to have a unified view of the pileup datasets being used in production, as well as their current location on the grid, and the expected places that they should be available. This could be extended to other parameters as well, like number of replicas of the dataset, list of campaigns meant to use it, etc.
This is a meta-issue and it depends on the following GH issues:

[x]  [MS] Create a new microservice skeleton called MSPileup #11423
[x]  [MS] Create monitoring dashboard for MSPileup microservice #11429
[x]  [MS] Define a MSPileup pileup data structure to be persisted in the database #11424
[x]  [MS] Define MSPileup RESTful endpoint and actions for pileup data #11425
[x]  [MS] Define MSPileup logic for data placement, monitoring and removal #11426
[x]  [MS] Update MSTransferor to start consuming the MSPileup information #11427
[x]  [MS] Remove all the pileup rule removal logic from MSRuleCleaner #11428
[x] [MS] Fix document validation response and GET documents #11511
[x] [MS] Setup proper mandatory/optional values for MSPileup document #11498
[x] [MS] Manage auth/authz rules for MS services #11465
[x]  MSPileup: track existent rule ids in the document ruleIds field #11544
[x] [MS] update to the pileup active state should trigger a timestamp update #11546
[x] [MS] Premature deletion of pileup documents in the cleanup task #11547

Describe alternatives you've considered
keep using whatever we have
Additional context
none

@amaltaro , could you please provide technical details how to address this issue, i.e. translate from your plain english description into set of actions which should be applied in a code base. Once I'll have better understanding which system, components, code base should be used and where changes should go I can start working on this issue.

And we have just completed all the 13 tasks that were planned while conceiving this new microservice. Thank you very much @vkuznet! Closing this meta-issue out.


Cluster name in rancher and CCE differ

If possible the cluster name in rancher and CCE should be the same to avoid confusion.

This is known feature of Rancher:
https://github.com/rancher/rancher/issues/13251

Will be automatically fixed when Rancher changes that


Fix find_first_set() on Windows

I encountered a bug when running the tutorials on dynamic pools (tut_dynamic_pool_1 and tut_dynamic_pool_2). Both tutorials would crash on my machine (Windows 10, Visual Studio 2019) after encountering a stack overflow in FixedSizePool<T, MA, IA, NP>::allocate().
I traced the bug to where allocate() calls allocInPool(). The "search" (for loop) in allocInPool() would always fail, and a null pointer was returned. allocate() would then continue, passing the call to newPool(), and then recursing into allocate().
The "search" in allocInPool() was always failing because the Windows implementation of find_first_set() was incorrect. This appeared in two places, so I refactored the code (and added a unit test) before I fixed it.

Thanks @degrbg! I have opened a "local" PR so that we can run our internal testing. See #722

Thank you @davidbeckingsale!

Reopening; I'll close this when #722 is merged.


Support of Blazor Component

Is your feature request related to a problem? Please describe.
It is hard to apply giscus in Blazor WebAssembly since in Blazor components, dynamic loading of JavaScript is limited.
Describe the solution you'd like
A Blazor component that can be embedded in other Blazor components.
Describe alternatives you've considered
There is a related discussion on StackOverflow with IJSRuntime: https://stackoverflow.com/questions/67560407/include-javascript-component-into-blazor-component. It seems the second solution suggested works.

Additional context
I am trying to integrate it into my blog, so I will keep trying❤

I'm not familiar with Blazor, so I'm not sure if I can make this happen.
In the meantime, does it support Web Components? If so, you could try this package.

I'm afraid that it doesn't support direct import of Web Components.
Blazor components are defined as C# classes with Razor files.

I will try using IJSRuntime interface as backend for giscus once I have time for it.

I wrote a wrapper here Jisu-Woniu/giscus-blazor and upgraded it to NuGet. I did some simple tests, but I cannot ensure they work all the time.


How to set from, to, subject

Hi,
Thank you for putting this together.  I have a silly question, but how do you set the from, to, subject for the message.  I could not see this in the documentation or I must have overlooked it.  Could you please provide an example?  Thanks

@alif80 I tried with below and it worked
`		msg = mimemessage.factory({
contentType: 'multipart/mixed',
body: []
});
	msg.header('Message-ID', '<1234qwerty>');
	msg.header('from', 'from@gmail.com');
	msg.header('to', 'to@gmail.com');
	msg.header('subject', 'Test email');`

Yes, that's the way.


Support Confluent Cloud Natively

Currently to use Confluent Cloud for Principle management, you have to separately install a CLI tool, which you have to also login to manually first before running KTB.
This is to create a client in java to talk directly to Confluent Cloud rest endpoints, removing the external dependency.

@purbon i cannot add labels, (assume permission/contributor level needs to be higher) can you add appropriate labels please.

@purbon i cannot add labels, (assume permission/contributor level needs to be higher) can you add appropriate labels please.

api v2 has been released with early access https://docs.confluent.io/cloud/current/api.html#tag/Service-Accounts-(v2)

Finally API is GA for Confluent Cloud. I have started implementing something in #431 that might help this.


Issue running tools/check_spelling_pedantic.py locally

Running check_pedantic_spelling.py locally results in
~/Development/envoy(h1-casing):0 tools/check_spelling_pedantic.py fix
Traceback (most recent call last):
  File "tools/check_spelling_pedantic.py", line 540, in <module>
    locale.setlocale(locale.LC_ALL, 'C.UTF-8')
  File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/locale.py", line 604, in setlocale
    return _setlocale(category, locale)
locale.Error: unsupported locale setting

This is on OS X.
cc @zuercher

I think this is a dup and was fixed.


[New provider] support to deploy bosh on huawei cloud

Hey @zhongjun2, similar to my comment in: https://github.com/cloudfoundry/docs-bosh/pull/568,
would you and the other contributors please sign the CLA and the close/reopen this PR? We can take a look and try and get it merged once the CLA is signed.
Thanks!

@zhongjun2 are there any updates regarding @jrussett 's comment?

Hi @zhongjun2 is this still in active development? As @jrussett pointed out, the registry is no longer supported in BOSH. Every CPI is being asked to remove the registry. Does your CPI require the registry still?
Please update this PR or close if it's not looking to be merged anymore.
@h4xnoodle (Rebecca). CF BOSH Toronto

Sorry sorry for late, I will update this pr.
I am sorry. I am not sure what's your mean about " the registry is no
longer supported in BOSH", what's registry?
JUN
Thanks
Rebecca P<EMAIL_ADDRESS>于2019年3月26日周二 下午11:27写道：

Hi @zhongjun2 https://github.com/zhongjun2 is this still in active
development? As @jrussett https://github.com/jrussett pointed out, the
registry is no longer supported in BOSH. Every CPI is being asked to remove
the registry. Does your CPI require the registry still?
Please update this PR or close if it's not looking to be merged anymore.
@h4xnoodle https://github.com/h4xnoodle (Rebecca). CF BOSH Toronto
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/cloudfoundry/bosh-deployment/pull/295#issuecomment-476702311,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AL2JBukd6jpHNLcUJjs0To4DN4SvDB3-ks5vajxegaJpZM4WUfnn
.

Hi @zhongjun2
The CPI has two API versions: 1, and 2. The v2 CPI allows bypassing of the registry. The registry is used to store values used during bootstrapping of VMs and attaching a disk. If your CPI used the registry before to store extra data for create_vm or attach_disk, it should now avoid the registry and use an existing method (the same method used in create_vm to supply the registry data). See https://bosh.io/docs/cpi-api-v2/ for more information.
Do you have code in your CPI that calls registry.update_settings or equivalent? If not, your CPI likely does not use the registry.
If the registry is not used at all, you do not need the registry section for the opsfile (https://github.com/cloudfoundry/bosh-deployment/pull/295/files#diff-0620d46b6a36fc73f29e2e4bd28a5bf4R27).

Thanks you
Rebecca P<EMAIL_ADDRESS>于2019年3月28日周四 上午12:29写道：

Hi @zhongjun2 https://github.com/zhongjun2
The CPI has two API versions: 1, and 2. The v2 CPI allows bypassing of the
registry. The registry is used to store values used during bootstrapping of
VMs and attaching a disk. If your CPI used the registry before to store
extra data for create_vm or attach_disk, it should now avoid the registry
and use an existing method (the same method used in create_vm to supply
the registry data). See https://bosh.io/docs/cpi-api-v2/ for more
information.
Do you have code in your CPI that calls registry.update_settings or
equivalent? If not, your CPI likely does not use the registry.
If the registry is not used at all, you do not need the registry section
for the opsfile (
https://github.com/cloudfoundry/bosh-deployment/pull/295/files#diff-0620d46b6a36fc73f29e2e4bd28a5bf4R27
).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/cloudfoundry/bosh-deployment/pull/295#issuecomment-477239665,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AL2JBsHvEcmUxmB2LbHQo1EuVZfXWkFzks5va5xUgaJpZM4WUfnn
.

Rebecca P
Thank you to give me so many detail info.
I checked the registry in my CPI. I have "registry.update_settings" in CPI
code[1][2].
So I have to switch to CPI API V2, like openstack cloud CPI does?[3] Is it
correct?
[1]
https://github.com/cloudfoundry-incubator/bosh-huaweicloud-cpi-release/blob/master/src/bosh_huaweicloud_cpi/lib/cloud/huaweicloud/server.rb#L154
[2]
https://github.com/cloudfoundry-incubator/bosh-huaweicloud-cpi-release/blob/master/src/bosh_huaweicloud_cpi/lib/cloud/huaweicloud/server.rb#L154
[3]
https://github.com/cloudfoundry/bosh-openstack-cpi-release/commit/64dd2ca49bf50b5674c58dba14f847fb844d0452#diff-4a7f262897759e3bb90ad7340f1f358e
JUN
Thanks a lot!
Rebecca P<EMAIL_ADDRESS>于2019年3月28日周四 上午12:29写道：

Hi @zhongjun2 https://github.com/zhongjun2
The CPI has two API versions: 1, and 2. The v2 CPI allows bypassing of the
registry. The registry is used to store values used during bootstrapping of
VMs and attaching a disk. If your CPI used the registry before to store
extra data for create_vm or attach_disk, it should now avoid the registry
and use an existing method (the same method used in create_vm to supply
the registry data). See https://bosh.io/docs/cpi-api-v2/ for more
information.
Do you have code in your CPI that calls registry.update_settings or
equivalent? If not, your CPI likely does not use the registry.
If the registry is not used at all, you do not need the registry section
for the opsfile (
https://github.com/cloudfoundry/bosh-deployment/pull/295/files#diff-0620d46b6a36fc73f29e2e4bd28a5bf4R27
).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/cloudfoundry/bosh-deployment/pull/295#issuecomment-477239665,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AL2JBsHvEcmUxmB2LbHQo1EuVZfXWkFzks5va5xUgaJpZM4WUfnn
.

Hi @zhongjun2, yes, you are correct! The Openstack CPI removed the usage of the registry. Some stemcells/directors need the registry still, so it is optionally used now. Check out this migration guide and let us know if you have more questions: https://bosh.io/docs/v2-migration-guide/#migrating-from-v1-to-v2-of-the-cpi-api-contract

Hi  Rebecca,
Do we have deadline to switch to CPI API V2?  or if the cpi don't switch to
cpi api v2, the cpi only can be merged to https://github.com/cloudfoundry.
Thanks
Rebecca P<EMAIL_ADDRESS>于2019年3月28日周四 下午9:44写道：

Hi @zhongjun2 https://github.com/zhongjun2, yes, you are correct! The
Openstack CPI removed the usage of the registry. Some stemcells/directors
need the registry still, so it is optionally used now. Check out this
migration guide and let us know if you have more questions:
https://bosh.io/docs/v2-migration-guide/#migrating-from-v1-to-v2-of-the-cpi-api-contract
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/cloudfoundry/bosh-deployment/pull/295#issuecomment-477600493,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AL2JBsiw2GdGuAGGRJi_Oxbx380WrF61ks5vbMcpgaJpZM4WUfnn
.


Fix typo in F.squeeze documentation

Fix typo

pfnCI, test this please.

Jenkins CI test (for commit 92b914470651eaceeb32347b913138d1d7b69af7, target branch master) failed with status FAILURE.

Jenkins CI test (for commit 92b914470651eaceeb32347b913138d1d7b69af7, target branch master) failed with status FAILURE.


error: failed to run custom build command for tauri v0.11.1

npm run tauri build
error: failed to run custom build command for tauri v0.11.1
...
--- stderr
Error: Os { code: 2, kind: NotFound, message: "No such file or directory" }
warning: build failed, waiting for other jobs to finish...
error: build failed
error: Result of cargo build operation was unsuccessful: exit code: 101
app:spawn Command "cargo" failed with exit code: 1 +1ms
app:tauri (runner) ⚠  [FAIL] Cargo CLI has failed +0ms
app:tauri Shutting down tauri process... +1ms
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>build: node scripts/build.js & tauri build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
cargo tauri-bundler -v
0.9.4
OS:   macOs Big Sur
Node:   14.16.0
NPM:  6.14.11

Did you install the tauri bundler? https://tauri.studio/en/docs/getting-started/setup-linux#4-tauri-bundler

I'm closing this since the bundler will be a library and you won't be needed to install it on the next release anyway. Let me know if this is still an issue for you.

Did you install the tauri bundler? https://tauri.studio/en/docs/getting-started/setup-linux#4-tauri-bundler

cargo tauri-bundler -v
0.9.4

I think that error may be caused when Tauri can't find your web assets. Can you post the result of tauri info?

I think that error may be caused when Tauri can't find your web assets. Can you post the result of tauri info?

Looks no problem, but I can not build.

Look, my demo is very easy.
create-react-app + tauri

are you building your react assets before you run tauri build

are you building your react assets before you run tauri build

yes I did.

do you have a github repo where i can clone and test it out locally?

do you have a github repo where i can clone and test it out locally?
https://github.com/tauri-apps/tauri/issues/1305#issuecomment-787948350

do you have a github repo where i can clone and test it out locally?

https://github.com/MonkeyInWind/tauri-demo

@MonkeyInWind I tested your repo and it worked just fine for me, both build and dev. I did have to change the build script to have && instead of &, but it didn't give me the same error you got. Unfortunately, 'm not sure what your issue is or what you can do to fix it. However, the next release of Tauri (coming this month hopefully) has a rewritten CLI that should fix your issue.

@MonkeyInWind I tested your repo and it worked just fine for me, both build and dev. I did have to change the build script to have && instead of &, but it didn't give me the same error you got. Unfortunately, I'm not sure what your issue is or what you can do to fix it. However, the next release of Tauri (coming this month hopefully) has a rewritten CLI that should fix your issue.

Ok, I will try to remove and reinstall, after the next version is released.
Thanks.


Logos are too dark to identify

The Toyota and Volkswagen logos are too dark to identify in dark mode.

Thanks to Juan Ignacio Villanueva for feedback and report of this bug.

Logos are now more visible.


NETOBSERV-581 - grouping for Nodes+NS broken

This PR fixes topology Nodes + Namespaces grouping and implements related metrics filters for the side panel.
Here is an example with Hosts + network-observability namespace:

/ok-to-test

tested and verified issue is fixed.

/qe-approved

/approve


Deploy Dockstore to the Unity shared services venue

Deploy Dockstore into the Unity shared services venue

@mcduffie please provide a status update on this ticket.

No movement. No person resources with enough time for Unity on my team to make this happen.

@mcduffie it sounds like @mike-gangl is okay with the TEST deployment for now, per his comment here: https://github.com/unity-sds/unity-project-management/issues/116#issuecomment-1989626441
We might have to live with this as a workaround in this PI until you have more time to address it later.


#3-Individual Content Pages-Nishka Kisten

A template has been created with components that will be found on all pages
Checklist:

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

Otherwise this looks great so far, good work


Replace GPT2TokenizerFast with tiktoken

The tokenizer is implemented in autopr.utils.tokenizer.get_tokenizer, and called at autopr/utils/repo.py:124 and autopr/repos/completions_repo.py:28. Currently it uses transformers' GPT2TokenizerFast, which isn't the correct way to calculate the token length.
Here's an example from OpenAI's cookbook on how to calculate token length for messages:
import tiktoken

def num_tokens_from_messages(messages, model="gpt-3.5-turbo-0301"):
    """Returns the number of tokens used by a list of messages."""
    try:
        encoding = tiktoken.encoding_for_model(model)
    except KeyError:
        print("Warning: model not found. Using cl100k_base encoding.")
        encoding = tiktoken.get_encoding("cl100k_base")
    if model == "gpt-3.5-turbo":
        print("Warning: gpt-3.5-turbo may change over time. Returning num tokens assuming gpt-3.5-turbo-0301.")
        return num_tokens_from_messages(messages, model="gpt-3.5-turbo-0301")
    elif model == "gpt-4":
        print("Warning: gpt-4 may change over time. Returning num tokens assuming gpt-4-0314.")
        return num_tokens_from_messages(messages, model="gpt-4-0314")
    elif model == "gpt-3.5-turbo-0301":
        tokens_per_message = 4  # every message follows <|start|>{role/name}\n{content}<|end|>\n
        tokens_per_name = -1  # if there's a name, the role is omitted
    elif model == "gpt-4-0314":
        tokens_per_message = 3
        tokens_per_name = 1
    else:
        raise NotImplementedError(f"""num_tokens_from_messages() is not implemented for model {model}. See https://github.com/openai/openai-python/blob/main/chatml.md for information on how messages are converted to tokens.""")
    num_tokens = 0
    for message in messages:
        num_tokens += tokens_per_message
        for key, value in message.items():
            num_tokens += len(encoding.encode(value))
            if key == "name":
                num_tokens += tokens_per_name
    num_tokens += 3  # every reply is primed with <|start|>assistant<|message|>
    return num_tokens

Our implementation should support both messages for chat completions models and simple strings for ordinary completions models (the tokenizer currently supports only simple strings).

Very cool! good demo, I recommend you put it in the README


UI: Added Hero Component and Course Detail Page

Issue Number
fixes # 3
Describe the changes you've made

Added responsive Hero component for the Course Detail page. Also added a new CourseDetail page on route /course/:id

@Abhishek-kumar09 @KeenWarrior Please review this PR, resolved all merge conflicts.


2.0.10 ActiveForm breaks form submission in certain instances

I recently upgraded to 2.0.10 and I noticed some weird behaviour with my form submissions; my forms would no longer submit unless I was submitting them via an AJAX procedure.
So I did some debugging, on all my non-ajax forms I have this binded to them...
$('form').not('.js-ajax').on('submit', function(e) {
    // Disable submit button
    $(e.target).find('button[type=submit], input[type=submit]').prop('disabled', true);
});

So as you can probably tell it disables the submit button when the user submits the form; if I comment out this code then the form will now submit; but the forms were submitting fine on 2.0.9 with this code enabled, which I confirmed by going back and forth between 2.0.9 and 2.0.10.
Now you ask what does this have to do with ActiveForm? Well this only happens on forms made with ActiveForm - I have a non-ajax form done without ActiveForm and it submits fine.
So, a summary:
2.0.10
Form submitted via AJAX: works
Form made with ActiveForm with submit button disabling: Doesn't work
Form made with ActiveForm without submit button disabling: Works
Form NOT made with ActiveForm: works
2.0.9 and below
All situations work
What steps will reproduce the problem?
Create standard and ActiveForm forms to test - test ActiveForm forms with and without submit button disabling on submit.
What is the expected result?
Form sbumits.
What do you get instead?
Forms you build with ActiveForm AND disable the submit button on submit don't submit.
Additional info

Q
A

Yii version
2.0.10

PHP version
5.5.28

Operating system
Win 7

Please post the code for opening the form and for submit button.

Opening form:
<?php $form = ActiveForm::begin(); ?>
Submit button:
<?=Html::button(Yii::t('general', 'Login'), ['type' => 'submit', 'id' => 'login_submit', 'class' => 'primary'])?>

Small sidenote: there is a Html::submitButton

@Thoulah Yeah, I'm using Html::submitInput on another form and it doesn't make any difference; but generally I prefer to use button's - the Html::submitInput is probably a remnant from earlier code.

@cyphix333, is your objective to prevent multiple submissions?

@dynasource yes. He's disabling the button after 1st submit.

Ive thought about this one a while. In the past Ive been using events like this. Adding 'disabled' as attribute + adding CSS, but although it looks like its working, you can be misleaded.
Different events for the submission of forms can override your events which makes your double submission prevention useless.
A trick which works 100% of the time though, without being 'disturbed' by other events, is the use of a ghost button. When you submit, a hidden 'brother' button is shown/created without functionality. You can click what you want on this brother, but it can never lead to a submission or trigger a submission event. Based on your configuration, you can show this brother for a few seconds.

https://github.com/yiisoft/yii2/issues/10498#issuecomment-253542255

@dynasource Hmmmmm...... interesting technique; and yes, I can see it's merit. That's something I am definitely going to be looking at moving forward. :)

Ill open a new topic for this

http://pastebin.com/91cUfrnv

@samdark Looks cool. Gonna have to give that a shot too, though I generally don't re-enable the submit button unless it's an ajax form (which I do via jQuerys always promise method) as there isn't much point as it will be enabled again on the next page if there was an error.

Solution is by @SilverFire. I haven't tested it myself...

I have a similar issue with 2.0.10...
While 2.0.9 works fine 2.0.10 doesn't submit the form
<?php $form = ActiveForm::begin([
        'id' => 'form-barcode',
        'options' => ['data-pjax' => '1'],
        'enableClientValidation' => false
 ]); ?>

....
....

<?php
$this->registerJs("
    $('#form-barcode').on('change', ':text', function() {
        $('#form-barcode').submit();
    });
    $(document).on('pjax:end', function() {
        $('#form-barcode :text').val('');
    });
");

@makroxyz Your post reminded me to mention that I am extending from the ActiveForm class, basically to set some parameters so I don't have to do it each time, so I thought I would mention what I am doing here:
This is all I'm changing:
ActiveForm:
public $fieldClass = 'common\widgets\ActiveField';
public $fieldConfig = [
    'template' => "{label}\n{beginWrapper}\n{input}\n{hint}\n{endWrapper}",
];

public $enableClientValidation = false;
ActiveField:
public $checkboxTemplate = "
\n{beginLabel}\n{input}\n{labelTitle}\n{endLabel}\n{hint}\n
";
public $radioTemplate = "
\n{beginLabel}\n{input}\n{labelTitle}\n{endLabel}\n{hint}\n
";

thank god i was going nuts trying to figure out why my form wouldnt submit

We had a similar issue with our loader button.
Our submit buttons have a custom click handler attached, for rendering a loader animation and prevent multiple clicks.
The problem was introduced by the following line:
https://github.com/yiisoft/yii2/commit/3ba72da6fa11c7565de7ceb002bdf6ff86c841d4#diff-3096f348a33d8aa1d79ebe62e5e0f304R623
Since the form submission is now triggered by another data.submitObject.trigger("click"); instead of calling $form.submit();, the handler is called twice, which was prevented by returing false before the workaround.
As a workaround, now we just block click events where 'evt.originalEvent' is present: https://github.com/humhub/humhub/blob/master/js/app.js#L176
In your case the handler is probably not triggered, since the click event has no effect on your disabled button.

Oh, one feature, one bug. We also has also encountered with this issue. As @buddha87 wrote, this change brings problem.
@samdark, @VirtualRJ,  can you please clarify the reason of this change? It seems, that @AnatolyRugalev has already made support of HTML5 attributes in May'16 in more compatible way. In our application we also disable button to prevent any possible iteractions with it.

I agree it is in a more compatible way to the old way and specifically Yii, but taking the button/input options introduced in HTML5 and applying and restoring these to the form seems to me like a bit of a hack. No need for HTML5 to introduce these as it would also be possible to implement them purely on the basis of JS.
The 'solution' I created was in response to a relatively old issue #8197 and I did fail to see there was another solution implementation. I still think my solution respects the HTML5 standard more and is in that way cleaner, but as we now notice it can break submission with different double submission prevention techniques. Therefore I also very much support the initiative of a Yii2 OOTB double submit prevention system.


Home and End keys not working in search box

Bug
Using the "Home" or "End" keys in the search box opens the suggestions box below instead of jumping to the beginning or end of the text in the search box
To Reproduce
Steps to reproduce the behavior:

Click in  the search box
Type in some text
Try to use the "Home" or "End" keys to jump to the beginning or end
Suggestions box opens/is used instead and the text in the input field is replaced

Expected behavior
Cursor jumps to beginning or end of text in the input field (how it works on every editor, text box, browser etc. in the world)
Screenshots
System Configuration
Browser

LBRY Daemon version: -
LBRY App version: -
LBRY Installation ID: -
Operating system: -

Additional context

Thanks for filing, nice catch!

Thanks for filing, nice catch!

core issue lies in reach-ui's library: https://github.com/reach/reach-ui/issues/717

core issue lies in reach-ui's library: https://github.com/reach/reach-ui/issues/717


Either.mapBoth behaves differently in a pipe chain than when piped indepedendently

What version of Effect is running?
3.4.7
What steps can reproduce the bug?
Runnable example: https://effect.website/play#757d5ef0f85a
import { Effect, Either } from "effect"
import { NodeRuntime } from "@effect/platform-node"

const program = Effect.gen(function* () {
  yield* Effect.log("Got request for customerId");
  const customerIdReturn = yield* Effect.tryPromise(async () => {
    return 10;
  }).pipe(
    Effect.tapBoth({
      onSuccess: (_v) => Effect.log("Promise succeeded"),
      onFailure: (_e) => Effect.log("Promise failed"),
    }),
    /** Compilation error here
     src/main.ts(13,5): error TS2345: Argument of type '<A, E, R>(self: Effect<A, E, R>) => Effect<Either<A, E>, never, R>' is not assignable to parameter of type '(_: Effect<number, UnknownException, never>) => Either<Either<number, UnknownException>, never>'.
        Type 'Effect<Either<number, UnknownException>, never, never>' is not assignable to type 'Either<Either<number, UnknownException>, never>'.
          Type 'Effect<Either<number, UnknownException>, never, never>' is missing the following properties from type 'Right<never, Either<number, UnknownException>>': _tag, _op, right, [TypeId], and 3 more.
     *
     */
    Effect.either,
    Either.mapBoth({
      onLeft: (e) => {
        return e;
      },
      onRight: (v) => {
        return v;
      },
    })
  );

  /** No errors here */
  const withoutMapBothInChain = yield* Effect.tryPromise(async () => {
    return 10;
  }).pipe(
    Effect.tapBoth({
      onSuccess: (_v) => Effect.log("Promise succeeded"),
      onFailure: (_e) => Effect.log("Promise failed"),
    }),
    Effect.either
  );

  const foo = yield* withoutMapBothInChain.pipe(
    Either.mapBoth({
      onLeft: (_e) => {
        return "bad";
      },
      onRight: (_v) => {
        return 10;
      },
    })
  );
});

NodeRuntime.runMain(program)

What is the expected behavior?
I would have thought that the above were equivalent -- but maybe I am missing something more foundational here as I am new to trying out Effect. If equivalent, I wouldn't have thought there would be a typescript compilation error
What do you see instead?
No response
Additional information
No response

In the first snippet you will need a Effect.map, as it is an Effect<Either> at that point: https://effect.website/play#b15e020e6300


Upcoming breaking changes

A list of upcoming breaking changes I am considering (hopefully we can group all of these into one major version bump):

~Rename environment.name to environment.label~

~Related: rename place, product, badge, etc. "names" to "labels" throughout the docs (this is non-breaking)~

~Rename environment.overrides to environment.targetOverrides~
~Refactor experience.configuration.paidAccessPrice to use a more consistent style:~

# Enabled with a price
paidAccess:
  price: 50
# Disabled (default)
paidAccess: disabled

~Refactor experience.configuration.privateServerPrice to use a more consistent style:~

# Enabled with a price
privateServers:
  price: 50
# Enabled for free
privateServers: free
# Disabled (default)
privateServers: disabled

~Refactor state.remote.region to use a more consistent style:~

# Stndard region
region: us-west-2
# Custom region
region:
  custom:
    name: string
    endpoint: url

Refactor experience.passes.*.price to use a more consistent style: (?)

Not sure about this one, leaving it for now

# For sale, with a price
sale:
  price: 20
# Free
sale: free
# Not for sale
sale: disabled

~Move experience.configuration.icon and experience.configuration.thumbnails up a level~

All of these change were made in #124


Kernel support for AMD?

Hello,
I tried to use this AMI in a t3a instance, but discovered that was Not A Good Idea(tm). I quickly encountered hard lockups, and the system log showed me the kernel had "oopsed", and also that it doesn't seem to have AMD support built-in:
[    0.000000] Linux version 5.3.11<EMAIL_ADDRESS>(gcc version 8.3.0 (Debian 8.3.0-6)) #1 SMP Wed Nov 13 02:00:34 CET 2019
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.3.11 root=PARTUUID=505e8893-01 ro rootfstype=ext4 console=hvc0 console=ttyS0,115200
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   zhaoxin   Shanghai
[    0.000000] CPU: vendor_id 'AuthenticAMD' unknown, using generic init.
[    0.000000] CPU: Your system may be unstable.

[  219.411682] BUG: unable to handle page fault for address: ffffffffb4054df2
[  219.413418] #PF: supervisor write access in kernel mode
[  219.414694] #PF: error_code(0x0003) - permissions violation
[  219.416054] PGD 1220e067 P4D 1220e067 PUD 1220f063 PMD 110001e1
[  219.417530] Oops: 0003 [#1] SMP PTI
...

May I suggest either adding in AMD support, or mentioning in the readme that AMD is a no-go? Thanks!

TLDR: this is a serious issue, a fixed AMI release will be available within a few hours. I will post here more details after.

The AMD support is now built in, AMI with the fixed kernel 5.3.12 is Devuan Runit 2019-11-23 (Unofficial). I tested it on t3a.micro (AMD EPYC 7571), it boots fine.
Info:
Until recently, everything on AWS was based on Intel. That allowed me to optimize the kernel for Intel platform, with the risk that if Amazon decided to offer AMD based instance types, it won't boot. That's exactly what happened now. I am sorry I let you run against the wall here. Now the kernel is generic and will run on both Intel and AMD. Note, some more exotic CPUs are still disabled: Hygon, Centaur, Zhaoxin.
The main goal of this project is to offer a stable generic base OS on EC2. I expect it to work well on all instance types. This is more important than speed. Thank you for reporting this!

Thank you for maintaining this AMI - it's kind of my go-to at this point. Nice and minimal without much cruft to be removed :)
Did you try doing something a bit more CPU intensive? I was able to boot fine with the Intel-only kernel, but once I started e.g. compiling ZFS everything locked up after a little while.
Should I mention that you can even get ARM instances on EC2 these days? They're the a1 family. And no, I haven't tried them out.

Nice to hear you find my distro useful. I made it this way - minimal, no bloat, and yet with all the usual tools preinstalled. Kind of minimal "batteries included" general purpose OS.
I am doing something CPU intensive regularly - I compile the kernel on a EC2 instance. That being said, I never compiled ZFS, but I experienced lockups before - in my case this happened when PHP exhausted all RAM. This is not an issue specific to my distro, it is a Linux "feature". There are several ways to address this:

Use instance type with more RAM
Mount some SWAP space. You can enable swapfile autorun to create swap on instance start
check out OOMD, it is preinstalled. NOTE: this is a last-resort solution.

So far, I only maintain the kernel for x86 platform, and have no intention to support other platforms like ARM.

Somewhat tangentially, do you have the actual AMI build scripts available somewhere? I'd love to see how you've automated the whole thing (as I may need to do something similar).

You got me. I am very open about what I do here, but this setup is pretty much the only thing that I didn't published. The reason: this AMI build is being done by scripts that are very specific to my release and would be useless to anybody else in this form. That being said, there are a few quirks that I had to solve, so I will probably publish some interesting code snippets later.  I am working on a new website for that purpose. Big parts of what is required is already public in my repos.
The process itself is very simple. One shell script that uses awscli and a few jq tricks to build a new updated AMI from the latest published, in a rolling release manner. The whole build is done automatically within AWS. No other special tools for AMI building like VirtualBox or Packer are used. The idea is:

sin kernel, with enabled CLEANUP and SHARE in /etc/default/kernel-update
start new instance from latest AMI, and update the instance:

apt-get full-upgrade
sin install sin ec2-tools hiawatha nettools oomd runit-init
sin pull kernel from the instance that compiled it (see PULL_FROM in kernel)

reboot and run ec2-instance-bootstrap.sh
shutdown
export the instance as new AMI, set it as public, delete old AMIs, snapshots, volumes...
email me the results

Sample awscli + jq usage:
# FUNCTION: info about INSTANCE
get_instance_info () {
	INSTANCE_INFO=$(aws ec2 describe-instances --profile default --instance-ids "$1" \
	--query 'Reservations[*].Instances[*].{State:State.Name,PublicIP:PublicIpAddress}' 2>/dev/null)
	instance_state=$(printf "%s" "$INSTANCE_INFO" | jq -r '.[][].State')
	instance_publicip=$(printf "%s" "$INSTANCE_INFO" | jq -r '.[][].PublicIP')
}
# FUNCTION: info about AMI
get_image_state () {
	image_state=$(aws ec2 describe-images --profile default --image-ids "$1" 2>/dev/null |
	              jq -r '.Images[0].State')
}

Fantastic, thank you for sharing!


final changes

Cherry picked commit for the final changes.
Below were the changes made.

project_uid has been kept as an optional var

removed root user from each roles tests

The namespace has been updated to ansible, initially it was community. The reason to update to ansible was, as we upload the collection to galaxy, the namespace expected is as per the GitHub Username

All Documentations has been corrected & updated

A extra vars template file has been added which can be used to execute each role

Python-memsource package has been updated, similarly it has been included in requirements.txt file

Post translation role is performed using the project_name retrieved from the string passed and the recent most project is retrieved from memsource.

Added a small bug fix.
Post_translation.sh script is modified with permissions on execution.
The modified permissions get posted in the PR, the same has been removed.

Changes have been made and the commits have been squashed.


Fix warnings in lib.

You might like to take a closer look at the alias error ... case. I removed the definition that was being overwritten, but that might not be what you were expecting.

Coverage remained the same at 96.651% when pulling 9ec968e13f864ac1eeaf1afaa4bfb9ab4faa678b on ioquatix:fix-warnings into 16dec9f2c44d3a525a49fe92bc15c7b79e9de097 on igrigorik:master.

@igrigorik this could also use some attention.

@ioquatix apologies about the delay. What are the warnings being fixed here?

Well, if you add --warnings to rspec, you can see them for yourself. IF you review the PR, you can see there is the same method defined twice with different implementations, and a variable which is not initialised correctly.

@ioquatix ahh.. missed the conflict with later alias. Interesting, this means that there isn't a direct way to access the last error.. but if nobody complained about that, I guess it's safe to remove. LGTM.

You could rename it to be ‘last_error’?

True. Let's see if anyone complains first.. :)

My 2 cents: the close callback already yields the last error when available. As it is, the last error getter is of little value to me.

Okay, all good points 👍


[Issue]: Missing import sdk/server/fetch.ts

Description
It seems that https://github.com/wundergraph/wundergraph/blob/main/packages/sdk/src/server/plugins/fetch.ts is missing an import for Response resulting in (when --debug is enabled):
14:40:21.663 WARN  @wundergraph/server upstream fetch failed type="OpenAPI" error={"type":"ReferenceError","message":"Response is not defined","stack":"ReferenceError: Response is not defined\n    at fn (/var/www/experiments/wundergraph/node_modules/.pnpm/@wundergraph+sdk@0.179.0/node_modules/@wundergraph/sdk/src/server/plugins/fetch.ts:32:4)\n    at processTicksAndRejections (node:internal/process/task_queues:96:5)\n    at async field.resolve (/var/www/experiments/wundergraph/node_modules/.pnpm/@omnigraph+json-schema@0.95.7_@graphql-mesh+cross-helpers@0.4.1_@graphql-mesh+types@0.95.6_@g_4fasnebgtlgnpf62ldxqm6bxx4/node_modules/@omnigraph/json-schema/cjs/addRootFieldResolver.js:206:26)\n    at async Promise.all (index 0)\n    at async /var/www/experiments/wundergraph/node_modules/.pnpm/graphql-helix@1.13.0_graphql@16.8.1/node_modules/graphql-helix/dist/process-request.js:182:36\n    at async processRequest (/var/www/experiments/wundergraph/node_modules/.pnpm/graphql-helix@1.13.0_graphql@16.8.1/node_modules/graphql-helix/dist/process-request.js:59:20)\n    at Object.handler (/var/www/experiments/wundergraph/node_modules/.pnpm/@wundergraph+sdk@0.179.0/node_modules/@wundergraph/sdk/src/server/plugins/omnigraphOAS.ts:36:19)"}

When manually adding const fetch_1 = require("@whatwg-node/fetch"); and return new fetch_1.Response(text, resp); to the file the error is gone.
Reproduction
Enable --debug (and possibly --log).

@swahjak what node version are you on?

Node 16.18.1, PNPM 8.5.1.
  "dependencies": {
    "@wundergraph/nextjs": "^0.14.5",
    "@wundergraph/sdk": "^0.179.0",
    "graphql": "^16.3.0",
    "next": "^13.1.1",
    "react": "^18.0.0",
    "react-dom": "^18.0.0",
    "swr": "^2.2.0"
  },
  "devDependencies": {
    "@jest/globals": "^29.3.1",
    "@playwright/test": "^1.28.1",
    "@types/node": "^17.0.15",
    "@types/node-fetch": "^2.6.2",
    "@types/react": "^18.0.6",
    "jest": "^29.6.1",
    "node-fetch": "^2.6.7",
    "npm-run-all": "^4.1.5",
    "open-cli": "^7.0.1",
    "ts-jest": "^29.1.1",
    "ts-node": "^10.8.0",
    "typescript": "^4.8.2",
    "wait-on": "^6.0.1"
  }

Thanks looks like that's indeed the case. Response should be imported with node 16.
Will open an internal issue to fix this.

Opened a PR to fix this, however Node 16 is EOL and we recommend updating to Node 18 asap.


feat: frontend setup

Fixes #183

[x] Styling issues
[x] check tailwind config
[x] Connection success screen
[x] Shift assets from backend to front (public)
[x] Update app icon
[x] move return_to handling to React and make sure login redirect works
[x] dark mode images
[x] make sure API endpoints do not expose any data that they should not
[x] split up info api endpoint
[x] API posts should use JSON rather than form data
[x] Check error handling in echo_handlers
[x] Highlight in navbar
[x] update docker script to build react app
[x] nwc:success events
[x] fix react warnings on all pages
[x] make sure programmatically setting app configuration works (all parameters)
[x] add a middleware for endpoints that require the user to be logged in
[x] handle request methods as a set instead of a string in state
[x] convert all icons to components
[x] add typescript path aliases
[x] Consider creating UI components (Should be done in a follow-up PR)

Roland to review

[x] auth
[x] state management
[x] frontend error handling

Bumi to review

[ ] CSRF

Description
Uses React as frontend to replace html/template

@im-adithya there are some react warnings - could you check each page and fix them?

@im-adithya the react app crashes when providing custom parameters. Can you check them all?

closing in favor of https://github.com/getAlby/nostr-wallet-connect/pull/217