Play 2.5.1 (with SBT plugin) doesn't work

Hi,
Thank you for this project. The download / resolve speed is really amazing.
We're using coursier for play 2.4.x apps and it works without problems.
When trying to use play 2.5.1 there are strange issues however:
130 2016-03-31 09:43:36 mriehl@isdeblnnl084 play-bug  git:(master) 1M 1A
» bin/sbt.sh                                                                                FAIL
[info] Loading global plugins from /data/home/mriehl/.sbt/0.13/plugins
[info] Updating {file:/data/home/mriehl/.sbt/0.13/plugins/}global-plugins...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Loading project definition from /data/home/mriehl/workspace/play-bug/project
Resolving default:play-bug-build:0.1-SNAPSHOT

1 error(s):
  net.java.dev.jna:jna::
    Not found: /data/home/mriehl/.sbt/0.13/plugins/target/resolution-cache/net.java.dev.jna/jna/resolved.xml.xml
    Not found
    Not found: /data/home/mriehl/.ivy2/local/net.java.dev.jna/jna/ivys/ivy.xml
    Not found: http://nexus/content/repositories/typesafe-releases/net.java.dev.jna/jna//ivys/ivy.xml
    Not found: http://nexus/content/repositories/sbt-plugin-releases/net.java.dev.jna/jna//ivys/ivy.xml
    Not found: http://nexus/content/groups/public/net/java/dev/jna/jna//jna-.pom
java.lang.Exception: Encountered 1 error(s) in dependency resolution
        at coursier.Tasks$$anonfun$updateTask$1.coursier$Tasks$$anonfun$$report$1(Tasks.scala:355)
        at coursier.Tasks$$anonfun$updateTask$1$$anonfun$apply$22.apply(Tasks.scala:484)
        at coursier.Tasks$$anonfun$updateTask$1$$anonfun$apply$22.apply(Tasks.scala:484)
        at scala.collection.mutable.MapLike$class.getOrElseUpdate(MapLike.scala:189)
        at scala.collection.mutable.AbstractMap.getOrElseUpdate(Map.scala:91)
        at coursier.Tasks$$anonfun$updateTask$1.apply(Tasks.scala:476)
        at coursier.Tasks$$anonfun$updateTask$1.apply(Tasks.scala:167)
        at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
        at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
        at sbt.std.Transform$$anon$4.work(System.scala:63)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
        at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
        at sbt.Execute.work(Execute.scala:237)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
        at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
        at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
[error] (*:update) java.lang.Exception: Encountered 1 error(s) in dependency resolution

I don't really know what to make of this. Any ideas on how to track it down?

This is the project that generates the error: https://github.com/mriehl/play-bug
I'm running bin/sbt.sh run.

The problem seems to come from addSbtPlugin("org.irundaia.sbt" % "sbt-sassify" % "1.4.2") rather than the play plugin. I'll have a look at it later.

https://github.com/alexarchambault/coursier/pull/213 seems to have fixed it (by chance). I added a related non-regression test for that in it (https://github.com/alexarchambault/coursier/pull/213/commits/cc0ece263df35501a6e477c76c2d6513b4e7492e).

That's great, merci! Would you consider creating a new release soon? Or can you recommend building local snapshots from master, if it's stable enough?

@mriehl Snapshots should be usable, yes. I may do a release soon though, if time allows. Beware that the organization and module name of the plugin changed ("io.get-coursier" %% "sbt-coursier"), and that this leads to spurious errors if the former modules ("com.github.alexarchambault" %% "coursier-...") are around - the former shouldn't be added along the new ones.


Trained model sharing and questions on test module

Dear MIC-DKFZ,
Thanks for the great respo. I'm a pytorch starter, and I'm using this U-Net example as a beginning.
Enviroment: Ubuntu 16.0, Titan XP, pytorch 1.0, batchgenerators 0.19

Following the guideline, the 2D training process works well. The trained model can be found here.

The 3D training process also works but we need to modify the loggers in train3D.py as 2D case.  Trained model of 3D U-Net

loggers={ "visdom": ("visdom", {"auto_start": c.start_visdom})}

batchgenerators 0.19 released recently. I use the new verson and it works well. pytorch 1.0 also works well. So the requirements.txt may be updated.

The test module in experiments does not implement. It is a litter difficult for pytorch beginners to finish it. Would it be possible for you to complete the test module in U-Net 2D and 3D at your convenience? So this respo will be a complete U-Net example.
I think it is worth to enrich this great respo and make it to be a good begining/tutorial for pytorch starters in medical image segmentation, becuase I do not find such starter-friendly respo in github. Most of the U-Net respos are for CV rather than for medical image segmentation.
Although I can not contribute the valuable code now, I can do the code testing work and share the trained model.
Looking forward to your reply!
Best,
Jun

Hi @JunMa11,
thank you for sharing your experience with our repo. I think I can provide an example "test()" method in the future. I'm on vacation for the next 2 weeks, but maybe after that.
Thank you for testing the newest versions of the imported frameworks. I'll update the requirements.txt accordingly.
I'll contact you again in about 2 weeks.
Cheers,
André

Hi @elpequeno ,
Thanks for your quick reply and approval.
I wish you a very good journey.

Thank you :-D
You are welcome.
If you want to practice a little since you say you are a beginner: The test() method will look similar to the validation. You need to load your test data, iterate over them and calculate the metrics you are interested in. For a start, I would say DICE, IOU, precision, and recall. Of cause, there are many more, but that sounds like a good start for me.

Thanks for your guidance. I will try it.

I added a test method to the 2D UNetExperiment. Results are printed in the terminal and also stored in a JSON file.
Check it out and tell me if this helps. I'll close this task.

Get it.
Thank you very much.


[feature] Mutation Observer on header element

It would be cool if smooth-scroll could use a MutationObserver on the header element so it can adjust the scroll offset when that header element changes (which can quite often happen by media queries).

This is a cool idea. I think at the very least, I should calculate the header height in real time as I'm about to scroll instead of caching that when the script is initiated.
MutationObserver adds a bit more weight, doesn't have the deep backwards compatibility the script currently enjoys, and doesn't have a great polyfill option.

Alright, updated: https://github.com/cferdinandi/smooth-scroll/releases/tag/v15.1.0

(I understand this isn't exactly what you asked for, but I hope it gets you 99% there with better performance and easier script maintenance).

@cferdinandi: A MutationObserver would make more sense with your other project gumshoe (which I also heavily use), because updating the dimensions (of selectorHeader) during scrolling or using polling would be too performance consuming.


Empty username

I installed re with go get github.com/jordanlewis/re and created a Personal Access Token with repo scope and copied that to $HOME/.github-issue-token and ran
chmod 600 ~/.github-issue-token
git config --global github.user NicolaiRuckel

If I run re I don't get any output.
I can see PRs with re -p user/project but it doesn't show the "Created by me:" and "Involving me:" lines but just the PRs. For a specific PR I get the following output:
2021/07/22 12:06:59 Fetching details for PR 100
Username for 'https://github.com': 2021/07/22 12:06:59 Fetched issue comments in 306.136518ms
2021/07/22 12:06:59 Fetched pr in 390.695837ms
2021/07/22 12:06:59 Fetched reviews in 441.184566ms
2021/07/22 12:07:00 Fetched review comments in 1.120997684s

This looks like my username is not read from my Git configuration. Do you have any ideas what the problem might be?

You need to specify which GitHub repo to use with -p. I created this thing for my own work on https://github.com/cockroachdb/cockroach, so it defaults to that one :)

That's what I did. I tried it with a few of the repositories I'm involved with and I have the same problem with all of them.

Hmm, okay, let me have a look. It's possible something has rotted. Thanks for trying out the project by the way!

Are the repos that you're testing with private?

I don't think that this project works properly with private repos. The code that fetches the refs uses https:// style github repo urls instead of git@ ones, which I think are required to work with private repos.
Do you have any public repos to test with to confirm my hypothesis?
Overall I'm realizing that the code probably should be restructured to use only GitHub API calls and not anything to do with the local git client, but I'm not sure when I'll have time to get to that.
In the mean time, you could try editing https://github.com/jordanlewis/re/blob/master/review.go#L112 to use the<EMAIL_ADDRESS>style URL instead and see if that fixes things for you.

Yes, that was the problem. It works fine with public repositories as long as they have a branch named master.
I'll look into the changes you suggested when I have time, but I need to look into Go first, since I never did anything with that. :D
I really like the idea of the tool, though. Switching back and forth to the browser is really tedious, so I was happy to find an alternative to that (although it doesn't work for me at the moment).


Address ServiceBinding extension

As discussed in a previous PR, there is some open questions about having the ServiceBinding CR in the core spec.
Main points are how to extend it for framework specific value-add, while still maintaining a degree of interoperability.

I think it's very important to have a concrete ServiceBinding CR in the spec, for interoperability and to make it easier for users to write a binding - not having to first learn how a particular framework does binding.
If there are framework particular optimizations, there are many ways, but I think we should NOT introduce new apiVersions / Kinds, as that would go against the main points made above.
I think two paths worth looking into:

a set of annotations that can toggle framework specific optimizations
if we think the extensions will go beyond what annotations can provide, we could have a wildcard extensions elements in the CR with a free form object underneath it.

I agree that we should have something in the spec that connect provisioned services to the application service projection. The trick will be what we define as that core and how we can open it up for extension.
One well known approach is Ingress, the shape of the resource is well defined and a controller annotation is used for implementations to discriminate who reconciles a particular resource. Extensions are hacked on via annotations since the spec structure is not extensible. The extensions we have defined so far do not lend themselves cleanly to being shoved in an annotation.
CRDs open up new paths for extension via conversion web hooks. Different versions of a resource can be converted to/from each other exposing different resources shapes to clients while persisting a single canonical version. The current spec defines the shape for v1alpha1, an implementation that wants to provides extensions could also install v1alpha1-openshift1. This approach has a drawback that only a single implementation may be installed into the cluster.
Another approach that has been discussed is to treat the ServiceBinding resource as a duck-type. I don't think this works since anyone trying to create a binding would need to know the concrete resource provided by the implementation since duck types are not real resources.
An open question is how we should handle the spec extensions that have been defined so far. Should the shape of those extensions be registered with the main v1alpha1 version, or should they require a vendor version string? If we define them in the main version, should the fields use a prefix to indicate they are extensions and are not required to be supported? Should implementations fail a resource that uses an unsupported extension or apply as much of the resource as it understands?

We discussed this issue in today's hangout.  We noted that the spec's maturity is directly tied to the ServiceBinding CR in terms of breaking changes, so we will need to make sure their versions have an equivalent level of maturity.

Another topic that came up was: we are currently proposing that extension elements such as mappings, and env are properties of the ServiceBinding CR, but they are not in the core spec CRD.
One way to solve that is to just simply define a extensions (CRD type of object), Golang type of rawExtension, where the processor can look for the extensions that it supports:  both the spec extensions, as well as their custom platform extensions.

@scothis and I discussed this at great length Friday and I'm reasoning about this particular problem with a specific use-case: I'm a CRM vendor and want to shrink-wrap and distribute my application in a way that will run on many different Kubernetes distributions.
From this perspective, I know how I'd define my application, and I know how I'd define a database; both of these are concrete types that can be instantiated given enough images and controllers.  But linking them together is difficult (impossible?) if there isn't a concrete ServiceBinding resource type.  There's no duck'd type that I could define in my kustomize scripts that would be portable across multiple platforms.
This leads to the conclusion that there should be a "minimum" resource type defined in the spec that is entirely for cross-platform portability.  It won't be able to make use of any of the platform-specific extensions (e.g. OLM descriptors for synthesizing a secret), but I think that's OK.  Since I know of the spec, it's reasonable to believe that I'll know to create a provisioned service duck'd type of some kind or possibly a SyntheticProvisionedService.  Either way, I know enough to ensure that I can get all the resource types wired up only using the core spec (note, this assumption is something I should be challenged on).
To be very clear, I don't think that supporting this minimum spec-required type precludes a platform from also supporting a custom resource type that adds in the platform's specific mix of extensions and non-spec'd behavior.  Platforms should be free to define a similar resource type, but that isn't portable and have a single controller that supports both (or three or even five types!).  The only requirement is that it shouldn't be a spec.bindings/v1alpha1 where users might get confused about what's portable and what's not.
Now, if I look back over to the extensions, what might I want to be able to do, in a cross-platform way, that cannot be achieved in any other way.

Binding Secret Generation Strategies
I don't need to generate secrets; I'm in control and can create them canonically
Mapping Existing Values to New Values
I don't need to map values; I'm in control and can create them canonically
Binding Values as Environment Variables
Now this one has no other way to achieve it (maybe some .profile.d scripts) and I now think there's an argument for moving this into the core spec (to be discussed separately)
Synthetic Provisioned Service
I don't need to generate a synthetic service; I'm in control and can either customize my types or create something specific to my deployment
Cluster Role
This is self referential (I control both the label on the application/provisioned service and the aggregate) and controlled by another Kubernetes component so achievable without this spec's implementation providing support
Label Selectors
Again, there's no other way to achieve this and as the example shows, this one is pretty likely to be needed.  I'd consider this a candidate for promotion to the core spec as well (to be discussed separately)

Nice write up @nebhale
Something else I'd like to propose for consideration is that for a capability be included (core or extension), it needs at least one implementation. This will help focus on value and ensuring the spec is reasonably implementable.

great discussion!
The way I group these capabilities in my mind is:
(1) spec core
(2) spec extensions
(3) vendor extensions
If we keep a healthy consensus bar for what makes it into (2) vs (3), then we'll likely have spec extensions that more than a single platform supports, so my suggestion is that both (1) and (2) belong in the concrete ServiceBinding defined in the spec for portability.   It's just that the deeper someone chooses to go with (2) the less choices for portability they may have, but it's still portable across platforms.
Choosing to stay within just (1) yields the greatest portability - but even so, still within platforms that support the spec, so not much different than a scenario where it's staying within platforms that support the spec + specific extensions (2).
For (3) that's when I would say the platform / vendor could choose to add specific annotations (e.g. NGINX annotations on Ingress), or create a new resource type, in addition to support the spec's type (e.g. OCP's Route, but still supports Ingress).

For (1) and (3), I think we're in complete agreement. The question is how to strike the right balance with (2).
By combining (1) + (2) into the CRD definition, core spec implementors will need to actively reject resources that include unsupported fields. Unless it's absolutely clear to a user which fields are core and which are extensions, they will be surprised when a resource that worked under one implementation stops working under another. It also couples the semantic versioning of extensions with the core spec. If there is a breaking change in an extension, the core version will need to be bumped, so the standard for what is an extension needs to be as high as the core, but just be optional to implement. In this world the line between (1) and (2) is blurry.
If we decouple (1) + (2) into separate versions of the CRD, then it will be obvious to users what is core and what is an extension because the resource version number will be different. Portability of the extension behavior should not be expected. Extensions could be versioned independent of the core spec as the implementation is choosing which extensions to ship and could support different versions of the same extension concurrently. In this world the line between (2) and (3) is blurry; the distinction being that minimum requirements for the extension are defined by the spec.

After thinking more about this, I like @nebhale's idea of promoting some of the extensions into the core spec.
In fact, if we go a little further and say that anything that affects ServiceBinding's CRD schema MUST be in the core spec, then we would have the following:

Promoted to core spec

env vars
data mappings
labels

Dropped from spec

Synthetic CR

Remains in extension (but lives outside of the ServiceBinding CR anyways)

ClusterRoles
annotations / x-descriptors

This would simplify things a lot because then ServiceBinding CRs become extremely portable, and new framework-specific apiVersions are only needed when annotation augmentation is not sufficient.

@arthurdm I'm in agreement with your list broadly, with the exception of data mapping.  Specifically, are you comfortable with data mapping being as simple as it currently stands in the extension?  Straight substitution, no interpolation?  My concern is that it could possibly get much more complicated (e.g. Go templating) and become onerous for implementors to become compliant.

ya, we would probably need to have a pass at each one and discuss the details.  There will be things more attractive to one framework versus the other.   Perhaps this can be the primarily activity between RC2 and RC3?
For the data mappings, I think it would be nice to support both JSON Path and GO Templates (as a side note - I just realized that the path of the secret generation extension was modified to just say JSON Path, probably something that should be reverted as we had some use cases that required GO Templates).
If the complexity is too high for implementors, I guess one point of negotiation would be to toggle the capability of the data mappings via an annotation on the ServiceBinding CR - so they are always there in the CRD, but the type of value you can use varies according to the annotation support.

The problem with Go templates as a requirement is that it almost forces you to implement a controller in Go.  I know there are Rust and Java implementations of controllers in the wild, and forcing them to recreate Go's templating mechanism in their languages seems wrong.

that's a fair point.   What if the core spec REQUIRED the simple mapping it has now, but then introduced an OPTIONAL annotation support that would toggle template (JSON | GO) support?

How about?

Implementations MUST support the direct-substitution syntax.  Implementations MAY support other mapping syntaxes.

Supporting multiple templating grammars will be a point of incompatibility and increase the surface area as there would need to be a way to distinguish between different grammars.
I don't have strong feelings about which grammar is blessed so long as it is secure against arbitrary foreign templates, is well defined and has libraries in multiple languages.
Go templates are used by kustomize and kubectl. So while there is precedent for go templates, if we also use go templates at runtime, then then our runtime template would need to be escaped; but this is likely a concern for whatever scheme we choose depending on the context.

Supporting multiple templating grammars will be a point of incompatibility

I definitely agree - but I think since there's a strong argument on both sides, an "opt-in incompatibility" can be a reasonable middle ground.

there would need to be a way to distinguish between different grammars

Ya, I was thinking perhaps the spec could add an annotation that would specify which type of template language is being used (default is the simple substitution).
So augmenting @nebhale's suggestion we could have:

Implementations MUST support the direct-substitution syntax, and MAY support other mapping syntaxes.  Authors of a ServiceBinding CR that want to use a different mapping syntax MUST specify the name of the templating language (e.g. jsonpath, or gotemplate) using the service.binding/mappings-template annotation.

We've gotten off into the weeds on the mapping templating system and it should probably become its own issue.  Weirdly I've come around to the idea that we should drop every templating mechanism except Go Templates as that's the only common templating system throughout the rest of the Kubernetes ecosystem.  But let's move that discussion out of here.
I'll will put together a PR that makes concrete the movement of the sections as I think we've agreed on, early next week.


Custom icons in the jump taskbar list

Environment
Windows build number: Win32NT 10.0.19042.0 Microsoft Windows NT 10.0.19042.0
Windows Terminal version (if applicable): 1.4.2652.0

Steps to reproduce
Add something with a custom icon. For example:
 // Backup server
"name": "Backup",
"guid":  "{5061f744-37f9-4c7c-aba5-51fa0789ee01}",
"icon": "C:/Users/Mystic/OneDrive/Software/Resources/Icons/Terminal/centos.png",
"commandline": "ssh user@ip",
"suppressApplicationTitle": true,
"tabColor": "#147967",
"fontFace": "MesloLGS NF",
"fontSize": 9,
"cursorShape": "vintage",
"historySize": 9001

And my icons are here

Expected behavior
Icons are displayed on the taskbar (by right-clicking)

Actual behavior
Only the standard powershell icon is displayed

But everything is fine in the terminal itself.

"icon": "C:/Users/Mystic/OneDrive/Software/Resources/Icons/Terminal/centos.png",

Convert the / to // or \\.
More information in thread #7706

Need to be replaced all the way, or just at the beginning? If it's not difficult, can you give an example? Maybe I'm doing something wrong, but nothing has changed for me.

Change it to:
"icon": "C://Users//Mystic//OneDrive//Software//Resources//Icons//Terminal//centos.png",

It didn't work for me. Only like this:
"icon": "C:\\Users\\Mystic\\OneDrive\\Software\\Resources\\Icons\\Terminal\\centos.png",

Cool. If your issue has been fixed you can close this issue now.


Keyboard and KeyboardInputField not receiving tap events

Overview
The KeyboardInputField and the Keyboard dont seem to receive tap events, only mouse click events.
edit using toolkit 2<IP_ADDRESS>: KeyboardInputField receives events, but the Keybord is not a collider for the gaze
Expected Behavior
Tap events would be converted to mouse click events and pass through to the keyboard and input field
edit using toolkit 2<IP_ADDRESS>: KeyboardInputField receives events, but the Keybord is not a collider for the gaze so cant tap on keys
Actual Behavior
Tap events are not passed, only mouse click events.
edit using toolkit 2<IP_ADDRESS>: Keyboard is a collider for the gaze
Steps to reproduce
Create a KeyboardInputField and a Keyboard instance in a scene, play and try to edit the input field.
Will work in editor (mouse click)
Will work in emulator (when using mouse input)
Wont work in emulator and device (when using tap)
edit using toolkit 2<IP_ADDRESS>: Input field works, keyboard inaccessible to tap
Unity Editor and Toolkit versions
Latest working we could find:
Unity 2017.1.2f1
MRTK 2017.1.2
SDK 10.0.16299.0
Doesnt seem to work on any later combination.
see edits
Our current workaround:
Added the IInputClickHandler interface and converted Tap events to Mouse click events for the following classess:
KeyboardInputField, KeyboardValueKeys, KeyboardKeyFunc

edit using toolkit 2<IP_ADDRESS>: KeyboardInputField works, Keyboard is not a collider

I'm not able to repro this. The MRTK keyboard is working for me in the KeyboardTest example scene. Are you still seeing this issue?


Fix sporadic misplacement of hover tooltips

References
Fixes https://github.com/jupyter-lsp/jupyterlab-lsp/issues/859

Code changes

Input and output types of the function on_hover

Technically, the change in on_hover argument is unnecessary; it was to clarify the Throttler's behavior.

Process hover only when the virtual positions of a query and a response match

User-facing changes
None.

Backwards-incompatible changes

None.
Chores

[x] linted
[ ] tested
[ ] documented
[ ] changelog entry

I'll investigate how the hover test fails occassionally.

Is this still in progress? Asking since I will be reorganising the codebase this week for 4.0 release so if it is good enough or will be soon, then we could merge and iterate later (a test case would be nice, but can be added in another PR).
Also if you have any other local work I can wait a bit before going into full refactor mode (which will mean that all frontend PRs will need to be re-applied manually).

Thank you for asking.
It seems the tests went successful so it's good to go, I suppose.
I do have a working demo of https://github.com/jupyter-lsp/jupyterlab-lsp/issues/362 so I'll send it as a PR later. But I don't mind re-working on the PR after the full refactor of the code base.

Thanks!


players can restore / rob items infinitely?

version 1.4.1 fabric 1.19
repro:

give myself restore / rob permission or set op
/kill
try /grave restore or button in the scroll
the grave model disappears and a message says I restored items
restore again, I get another copy of previous items

Since the restore/rob functions do require OP by default, it's intended to be reusable if the grave would be unfairly robbed and then required to be restored or something like that. I just feel like that's easier than just having it only restorable once. Would you want a config like restoresPerGrave or something like that? Let me know if you'd like anything else. I'm not sure of your usecase but I can make a new feature that's more or less tailored for your specific usecase

might be off-topic but my use case:

a tiny private server for friends
uses graves to only prevent item despawn (and has nice grave model)
doesn't need features like grave lock/unlock/restore/rob, instead, everyone is trusted and can open every grave (so we can helping other players bring back items)
players can view their graves and coordinates, OP can view all graves

Now I think what I really need first is a way to disable these features (lock/unlock/restore/rob) and related notifications, and make graves public openable.
Back to the original issue, I feel really weird to retrieve items from "nowhere" even as an OP, I am curious what use case needs to restore items multiple times. If someone's grave is robbed and he asks OP to restore his items, now both the robber and the owner have a copy of items, so why don't we just disable rob in such a case? This sounds like shouldn't be the default setting

Alright sorry I've not responded I've not really had the time to work on the mod for some time now, but I believe I'm back now. You're correct you can disable commands and then they should not appear in the GUI. You can also configure graves to not be unlockable. You can also disable the tellDeathPos config to not let people know where they died.
I assume you did this already but you can change the rob cooldown to 0, so people can always rob other graves. There is currently not a way to disable the "your grave has been robbed" message, however I will try and implement that in the next update.
To see your own graves you can do /yigd grave, or just /yigd which by default everyone has permission to do, but only OPs have permission to see other players graves with the command /yigd grave [user]. OPs also have the command /yigd moderate which will bring the person executing the command a list of all players who have graves.
When it comes to the restore multiple times thing, in the end it's really just a way for me to make sure people don't lose their items because of me. It's happened before I've left some bad error in the code where graves just vanish, and some mods (I know about twilight) have entities that can destroy graves (and then nothing will drop). So in the end I just want to make sure people don't lose their valuable items. I understand why this can seem weird, but I just don't want anyone to get mad all their stuff is gone, and they already used the restore but it failed or something.
Is this enough of an explanation to you? If you want you can send me your config file and I can customize it to what you've asked for if you can't find the configs for yourself. Also I may not implement my idea of the restorePerGrave config unless you specifically ask for it, since I don't see a valuable enough use in it (but please do tell me if you do)
I think I've answered all questions, but please let me know if I missed anything

thanks for the fantastic explaination!
yes now i think all i needs are

disable the rob message
correct gui buttons respect to permissions (already tracked in another issue)

maybe there will be other people have the same question like me, you can ask them to check this issue

I've added a config notifyWhenRobbed in GraveRobbing you can disable to not notify people when graves are being robbed. The GUI buttons will now also respect permission api permissions, like that other issue was about.
Let me know if there's anything else you would like to see in the mod!


Protecting API endpoints with auth

Actually, this is already the case, because you can only access login page and /api/trylogin.


Measure peak memory before and after calling remote function

Here are the memory usage stats from running examples/lithops-matmul-random.py
  array_name  peak_mem_end_mb_max  peak_mem_delta_mb_min  peak_mem_delta_mb_mean  peak_mem_delta_mb_max  required_mem_mb  num_tasks  mem_oversubscription_factor
0  array-003           136.429568               0.688128                0.688128               0.688128           0.0004          1                  1720.320000
1  array-007           136.425472               0.962560                0.962560               0.962560           0.0004          1                  2406.400000
2  array-009           437.841920             300.253184              300.739584             301.101056         300.0000        100                     1.003670
3  array-010           437.616640             300.236800              300.417188             300.871680         300.0000        100                     1.002906
4  array-011           701.911040             499.580928              537.556799             563.286016         300.0000       1000                     1.877620
5  array-012          1181.986816             746.471424              950.947089            1046.556672         400.0000        300                     2.616392
6  array-013          1124.282368             811.687936              933.135142             987.684864         500.0000        300                     1.975370
7  array-014           897.388544             744.833024              756.900250             761.831424         300.0000        100                     2.539438
8  array-016           864.882688             591.286272              714.185318             728.387584         400.0000        100                     1.820969

required_mem_mb is the memory that cubed calculates is needed before execution. It is calculated by considering the NumPy operations required to perform the task.
peak_mem_delta_mb_max is the maximum change in peak memory (before and after running the function) for all the tasks in computing an array.
mem_oversubscription_factor is the factor by which peak_mem_delta_mb_max exceeds required_mem_mb. Why this factor is so large is still topic of investigation.

This shows that an oversubscription factor of 3 would be sufficient for this computation (it's actually around 4, since the runtime image is 2000MB and the memory limit is 500MB, see examples/lithops-matmul-random.py).
Code to generate the above table:
import pandas as pd

plan_df = pd.read_csv("history/plan-1657724370.csv")
stats_df = pd.read_csv("history/stats-1657724370.csv")

# convert memory to MB
plan_df["required_mem_mb"] = plan_df["required_mem"] / 1_000_000
plan_df = plan_df[["array_name", "required_mem_mb", "num_tasks"]]
# note that on linux ru_maxrss is in KiB (see https://pythonspeed.com/articles/estimating-memory-usage/#measuring-peak-memory-usage)
stats_df["peak_mem_start_mb"] = stats_df["ru_maxrss_start"] * 1_024 / 1_000_000
stats_df["peak_mem_end_mb"] = stats_df["ru_maxrss_end"] * 1_024 / 1_000_000
stats_df["peak_mem_delta_mb"] = stats_df["peak_mem_end_mb"] - stats_df["peak_mem_start_mb"]

# find per-array stats
df = stats_df.groupby('array_name', as_index=False).agg({
    # 'peak_mem_start_mb': ['min', 'mean', 'max'],
    'peak_mem_end_mb': ['max'],
    'peak_mem_delta_mb': ['min', 'mean', 'max'],
})

# flatten multi-index
df.columns = ["_".join(a).rstrip("_") for a in df.columns.to_flat_index()]
df = df.merge(plan_df, on="array_name")
df["mem_oversubscription_factor"] = df["peak_mem_delta_mb_max"] / df["required_mem_mb"]
print(df)


fix: correct histogram benchmark

Description
Include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Minimal checklist:

[ ] I have performed a self-review of my own code
[ ] I have added DocC code-level documentation for any public interfaces exported by the package
[ ] I have added unit and/or integration tests that prove my fix is effective or that my feature works

Thanks, could you possibly fix the SwiftLint issues introduced with the previous PR too?
package-benchmark/Tests/BenchmarkTests/StatisticsTests.swift:110:54: warning: Trailing Comma Violation: Collection literals should not have trailing commas. (trailing_comma)
package-benchmark/Tests/BenchmarkTests/OperatingSystemAndMallocTests.swift:39:1: warning: Line Length Violation: Line should be 120 characters or less: currently 126 characters (line_length)
package-benchmark/Tests/BenchmarkTests/OperatingSystemAndMallocTests.swift:40:1: warning: Line Length Violation: Line should be 120 characters or less: currently 124 characters (line_length)
package-benchmark/Tests/BenchmarkTests/OperatingSystemAndMallocTests.swift:66:1: warning: Line Length Violation: Line should be 120 characters or less: currently 132 characters (line_length)


Compatibility with<EMAIL_ADDRESS>

When installing MobX 5+, NPM will fire warnings of react-mobx-router5's dependencies because it requires ^4.0.0. Can this be adjusted to (also) be compatible with ^5.0.0 ?
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.

PS: Sorry for cross-posting but both libraries need to be updated.

See https://github.com/LeonardoGentile/react-mobx-router5/issues/9#issuecomment-401844688


Add option to exclude completed pods?

Hi,
We're facing an issue when we have lots of completed pods:
# kubectl get pods --all-namespaces | grep -i completed | wc -l
   11863

And kube-eagle struggles to iterate over that many objects and therefore Kubernetes control plane crashes:

Is there a way to exclude pods in completed state?

Hi @apsega ,
as of now there's no such option. I'd draft this issue as feature request to exclude pods from scraping with specific conditions:

by state e. g. "completed, failed, ...."
by namespace
...

This way it is a bit more generic and may help with slightly different use cases as well. PRs are for that are welcome. I don't think I'll work on that in the near future.


Nightly period

Hi to everyone.
I have some instances that must be up during night and stopped during the day.
For example, an instance that must start art 19.00 and stop at 10.00. I tried with:
begintime 19:00
endtime 10:00
It doesn't works, beginperiod must be lower than endtime
1st period
begintime 19:00
endtime 00:00
2nd period
begintime 00:00
endtime 10:00
Doesn't works too. Only the 2nd period is working, the 1st is ignored.
Maybe anyone has a solution?
Best regards,

For period 1 only specify the begin and no end time, that will work.
You can verify the scheduled periods using the scheduler-cli describe-schedule-usage command with the schedule and period you want to check. It tells you exactly in which periods your instance will be active.

Fantastic. It's true, I didn't try this solution before. Thank you!

Too fine to be true. It does not works.
SCHEDULE
descriptionString: Nightly-stop
nameString: nightly-stop
periodsStringSet[2]
0: backup-hours
1: backup-hours-2
timezoneString: Europe/Rome
typeString: schedule
use_metricsBoolean: true
PERIODS:
begintimeString: 19:00
descriptionString: Backup hours
nameString: backup-hours
typeString: period
use_metricsBoolean: true
weekdaysStringSet[1]
0: mon-sun
descriptionString: Backup hours 2
endtimeString: 10:00
nameString: backup-hours-2
typeString: period
use_metricsBoolean: true
weekdaysStringSet[1]
0: mon-sun
LOG
2018-03-09 - 11:00:16.434 - DEBUG : [ Instance EC2:i-xxxxxx (testserver) ]
2018-03-09 - 11:00:16.434 - DEBUG : Current state is running, instance type is c3.large, schedule is "nightly-stop"
2018-03-09 - 11:00:16.434 - DEBUG : Time used to determine desired for instance is Fri Mar 9 12:00:05 2018
2018-03-09 - 11:00:16.434 - DEBUG : Checking conditions for period "backup-hours-2"
2018-03-09 - 11:00:16.434 - DEBUG : [running] Weekday "fri" in weekdays (mon-sun)
2018-03-09 - 11:00:16.434 - DEBUG : [stopped] Time 12:00 is after stoptime 10:00, returned state is stopped
2018-03-09 - 11:00:16.434 - DEBUG : Checking conditions for period "backup-hours"
2018-03-09 - 11:00:16.434 - DEBUG : [running] Weekday "fri" in weekdays (mon-sun)
2018-03-09 - 11:00:16.434 - DEBUG : [running] Time 12:00 is before starttime 19:00, returned state is any
2018-03-09 - 11:00:16.434 - DEBUG : "Any" state period found for current time in schedule "nightly-stop", desired state is any
2018-03-09 - 11:00:16.434 - DEBUG : Desired state for instance from schedule "nightly-stop" is any, last desired state was stopped, actual state is running
Anyone with suggestions is welcome! Thank you!

Can you try this:
scheduler-cli create-period --name period-1 --begintime 19:00 --endtime 23:59 --stack InstanceScheduler
{
"Period": {
"Endtime": "23:59",
"Type": "period",
"Name": "period-1",
"Begintime": "19:00"
}
}
scheduler-cli create-period --name period-2 --begintime 00:00 --endtime 10:00 --stack InstanceScheduler
{
"Period": {
"Endtime": "10:00",
"Type": "period",
"Name": "period-2",
"Begintime": "00:00"
}
}
scheduler-cli create-schedule --name every-night --periods period-1,period-2 --stack InstanceScheduler --timezone Europe/Rome
{
"Schedule": {
"RetainRunning": false,
"Enforced": false,
"Name": "every-night",
"StopNewInstances": true,
"Periods": [
"period-1",
"period-2"
],
"Timezone": "Europe/Rome",
"Type": "schedule"
}
}
You can simulate and see your savings using the following period that shows the running hourrs/periods in a defined period.
scheduler-cli describe-schedule-usage --name every-night --stack InstanceScheduler --startdate 20180301 --enddate 20180308
{
"Usage": {
"2018-03-01": {
"BillingHours": 15,
"RunningPeriods": {
"Period-1": {
"Begin": "03/01/18 19:00:00",
"End": "03/01/18 23:59:00",
"BillingHours": 5,
"BillingSeconds": 17940
},
"Period-2": {
"Begin": "03/01/18 00:00:00",
"End": "03/01/18 10:00:00",
"BillingHours": 10,
"BillingSeconds": 36000
}
},
"BillingSeconds": 53940
},
"2018-03-02": {
"BillingHours": 15,
"RunningPeriods": {
"Period-1": {
"Begin": "03/02/18 19:00:00",
"End": "03/02/18 23:59:00",
"BillingHours": 5,
"BillingSeconds": 17940
},
"Period-2": {
"Begin": "03/02/18 00:00:00",
"End": "03/02/18 10:00:00",
"BillingHours": 10,
"BillingSeconds": 36000
}
},
"BillingSeconds": 53940
},
"2018-03-03": {
"BillingHours": 15,
"RunningPeriods": {
"Period-1": {
"Begin": "03/03/18 19:00:00",
"End": "03/03/18 23:59:00",
"BillingHours": 5,
"BillingSeconds": 17940
},
"Period-2": {
"Begin": "03/03/18 00:00:00",
"End": "03/03/18 10:00:00",
"BillingHours": 10,
"BillingSeconds": 36000
}
},
"BillingSeconds": 53940
},
"2018-03-04": {
"BillingHours": 15,
"RunningPeriods": {
"Period-1": {
"Begin": "03/04/18 19:00:00",
"End": "03/04/18 23:59:00",
"BillingHours": 5,
"BillingSeconds": 17940
},
"Period-2": {
"Begin": "03/04/18 00:00:00",
"End": "03/04/18 10:00:00",
"BillingHours": 10,
"BillingSeconds": 36000
}
},
"BillingSeconds": 53940
},
"2018-03-05": {
"BillingHours": 15,
"RunningPeriods": {
"Period-1": {
"Begin": "03/05/18 19:00:00",
"End": "03/05/18 23:59:00",
"BillingHours": 5,
"BillingSeconds": 17940
},
"Period-2": {
"Begin": "03/05/18 00:00:00",
"End": "03/05/18 10:00:00",
"BillingHours": 10,
"BillingSeconds": 36000
}
},
"BillingSeconds": 53940
},
"2018-03-06": {
"BillingHours": 15,
"RunningPeriods": {
"Period-1": {
"Begin": "03/06/18 19:00:00",
"End": "03/06/18 23:59:00",
"BillingHours": 5,
"BillingSeconds": 17940
},
"Period-2": {
"Begin": "03/06/18 00:00:00",
"End": "03/06/18 10:00:00",
"BillingHours": 10,
"BillingSeconds": 36000
}
},
"BillingSeconds": 53940
},
"2018-03-07": {
"BillingHours": 15,
"RunningPeriods": {
"Period-1": {
"Begin": "03/07/18 19:00:00",
"End": "03/07/18 23:59:00",
"BillingHours": 5,
"BillingSeconds": 17940
},
"Period-2": {
"Begin": "03/07/18 00:00:00",
"End": "03/07/18 10:00:00",
"BillingHours": 10,
"BillingSeconds": 36000
}
},
"BillingSeconds": 53940
},
"2018-03-08": {
"BillingHours": 15,
"RunningPeriods": {
"Period-1": {
"Begin": "03/08/18 19:00:00",
"End": "03/08/18 23:59:00",
"BillingHours": 5,
"BillingSeconds": 17940
},
"Period-2": {
"Begin": "03/08/18 00:00:00",
"End": "03/08/18 10:00:00",
"BillingHours": 10,
"BillingSeconds": 36000
}
},
"BillingSeconds": 53940
}
},
"Schedule": "every-night"
}

I have the exact same issue. Two periods , one that stops at 02:00 (lets call it abc) and one that starts at 08:00 (lets call it xyz)
So i assigned Schedule123 with periods {abc, xyz} but this doesnt work either. The state table for all tagged instances shows "any" state

In order configure this you need the following periods
Tue-Sat, start 0:00, stop 2:00
Mon-Fri, start 08:00, stop 23:59
A schedule containing these periods
Starts at workdays at 8am and stops on the next day at 2am.
A fix for an issue that might stop/start at midnight has been deployed to aws answers from where you can update your stack
Regards,
Arie

Thanks for the reply, only issue with this is i have things running on these machines closer to 2am, if i run the proposed solution this will stop the instance at 23:59. If i am not mistaken?

The latest maintenance release 2.2.2 that is on aws labs wil detect that there is an adjacent period at 0:00 and will keep the Instance running.

amazing, thanks for that info. Will try that out and report back.

Closing due to time elapsed since last correspondence. Please re-open this if you are still having an issue.

I have a similar situation. But here i don't want to mention the start or end time. I just want to mention the amount of time. Suppose if instance starts at 07:00 Hrs, it should be stopped after 2 Hours at 09:00 Hrs...  or if it has started at 11:00 Hrs after 2 hours, it should stop at 13:00 Hrs.


Ingest BDNYC spectra JSON files

Just as a note: the binary file update will fail since there is a bug with the Github Action to push it to our repo (details at https://github.com/dmnemec/copy_file_to_another_repo_action/issues/44)


Implemented Random Generator algorithm

Use the Random Generator (http://tetris.wikia.com/wiki/Random_Generator) algorithm rather than completely random piece generation.

hi ccostes! sorry I missed this pull request. Does it still need merging?

Honestly not sure - cleaning up old PRs and have no memory of this 😆

Ok I might take a look at it later today. I probably need to update all the crates for this repo


New User

Created a form and scripts allowing users to signup for an account.

I think it's ready to merge now, after writing missing code 🙂


Update hybrid-cloud-extension-installation.md

Corrected all "VMWare" references to "VMware." Made documentation consistent.

Looks good.


docs: rework ql training homepage (sd-3764)

This PR makes a few changes to the 'QL training and variant analysis` homepage.

It adds links to all of the C/C++ and Java slides that will be available, once published on help.semmle.com.
The training project only had one document: index.rst. That seemed silly, so I have moved that over to the learn-ql project and renamed it ql-training.rst.
The ql-training-rst project (containing the rst source files for the slide shows) has been renamed ql-training.
There has been some minor rearranging of learn-ql/index.rst and learn-ql/writing-queries/writing-queries.rst

I have also mentioned the requirement to have Sphinx 1.7.9 in order to build the slides in readme.rst.
It has been noted that several redirects will be required when the project structure changes make it to help.semmle.com. There will also need to be changes to build in the code repo.
@felicity-semmle I think this reorganisation makes sense.
@shati-semmle would you mind reviewing the text changes please? The preview is here.

Obviously the code repo is required before generate-sphinx works on this PR. I've raised a PR for that change.

Thanks for the suggestions @shati-semmle! Both accepted.
Re. the other points: Yes, I'll fix the horizontal squashing in a follow-up PR. I at least get a horizontal scroll bar on the notes that overflow. Do you see that too? 'Easily bitten' is not a typo, but also not the best phrase to use here. I'll update that!

Ah yes, I hadn't spotted the scroll bar!
(And sorry, the typo I was referring to was "it easy to get bitten" instead of "it's ...")

Ah, I'll fix the typo on this PR then!


Dockerhub image for release-v7.0.1

It has been almost 30 days since the release-v7.0.1 was tagged, but there is no image at https://hub.docker.com/r/tvial/docker-mailserver/tags
Usually images follow releases pretty quickly. Has this process changed?
Thank you

Not that I know, but I don't have access to that part. @fbartels do you know?

As the image is already up I think this issue should be closed, right?


[SPARK-7886] Add built-in expressions to FunctionRegistry.

This patch switches to using FunctionRegistry for built-in expressions. It is based on #6463, but with some work to simplify it along with unit tests.
TODOs for future pull requests:

Use static registration so we don't need to register all functions every time we start a new SQLContext
Switch to using this in HiveContext

Merged build triggered.

Merged build started.

Test build #34472 has started for   PR 6710 at commit 77b46f1.

Test build #34472 has finished for   PR 6710 at commit 77b46f1.

This patch fails to build.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Rand(seed: Long) extends RDG(seed)
case class Randn(seed: Long) extends RDG(seed)
class StringKeyHashMap[T](normalizer: (String) => String)

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

Test build #34473 has started for   PR 6710 at commit ff906f2.

Test build #34473 has finished for   PR 6710 at commit ff906f2.

This patch fails to build.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Rand(seed: Long) extends RDG(seed)
case class Randn(seed: Long) extends RDG(seed)
class StringKeyHashMap[T](normalizer: (String) => String)
      logInfo(s"Using user defined output committer class $
      logInfo(s"Using output committer class $

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

Test build #34478 has started for   PR 6710 at commit 52ddaba.

Test build #34478 has finished for   PR 6710 at commit 52ddaba.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Rand(seed: Long) extends RDG(seed)
case class Randn(seed: Long) extends RDG(seed)
class StringKeyHashMap[T](normalizer: (String) => String)

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

Test build #34481 has started for   PR 6710 at commit e76a3c1.

Test build #34481 has finished for   PR 6710 at commit e76a3c1.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Rand(seed: Long) extends RDG(seed)
case class Randn(seed: Long) extends RDG(seed)
class StringKeyHashMap[T](normalizer: (String) => String)

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

Test build #34482 has started for   PR 6710 at commit 852f9c0.

Test build #34482 has finished for   PR 6710 at commit 852f9c0.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Rand(seed: Long) extends RDG(seed)
case class Randn(seed: Long) extends RDG(seed)
class StringKeyHashMap[T](normalizer: (String) => String)

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

Merged build triggered.

Merged build started.

Test build #34484 has started for   PR 6710 at commit b802c9a.

Merged build finished. Test FAILed.

Test build #34484 has finished for   PR 6710 at commit b802c9a.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class SimpleFunctionRegistry extends FunctionRegistry
case class Rand(seed: Long) extends RDG(seed)
case class Randn(seed: Long) extends RDG(seed)
class StringKeyHashMap[T](normalizer: (String) => String)

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

Test build #34489 has started for   PR 6710 at commit 6930822.

Test build #34489 has finished for   PR 6710 at commit 6930822.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class SimpleFunctionRegistry extends FunctionRegistry
case class Rand(seed: Long) extends RDG(seed)
case class Randn(seed: Long) extends RDG(seed)
class StringKeyHashMap[T](normalizer: (String) => String)

Merged build finished. Test PASSed.

This LGTM except for two minor issues. I'm merging this since @rxin is going to open a follow-up PR for HiveContext soon and can fix those issues there.

Feedbacks addressed in https://github.com/apache/spark/pull/6712


-deleteItem: Explain some Mac-only code

I wrote this code to fix issue #11. Lots of people read it and two have tried to remove it (see #43 and #79). A comment would be helpful.

Merged in 6dd271889bab489d5db1d53e902c157fa791ef10


Feature Request: Asset with kubectl v1.27

Hi eks v1.27 is out and I need this to support it.
Can you please do step 2 of your process and open up the necessary branches: https://github.com/cdklabs/awscdk-asset-kubectl/blob/kubectl-v24/main/CONTRIBUTING.md#contributing-a-new-kubectl-asset.
I'll be happy to create a PR for the change

This was done but the issue was never closed: https://www.npmjs.com/package/@aws-cdk/lambda-layer-kubectl-v27


Are forked repositories required? What commits to use?

Is semantic segmentation not possible with this repository and upstream tensorflow and tensorflow/models alone as detailed in your comment?
It seems that, for example, upstream tensorflow/models vgg doesn't contain the parameter fc_conv_padding.
If specific forks/commits are needed, which ones should I use?

Hi,
We have mentioned it here:
https://github.com/warmspringwinds/tf-image-segmentation#installation
Basically, you need a custom tensorflow/models fork.

I don't think this branch exists:
git clone -b fully_conv_vgg https://github.com/warmspringwinds/models

turns out I'm not using that model, so not needed. Though I think one of the other branches in the repository referenced does work.


Create GitHub action for accessibility Unit Testing

Background on the problem the feature will solve/improved user experience
The team is adding in fixes for accessibility in this issue #209. We should add this as ongoing test in the CI/CD pipeline so that all new code that comes in is tested automatically.
Describe the solution you'd like
Add a GitHub action that tests for accessibility and stops the PR or change request if the code is found not compliant to accessibility level 1 requirements as stated here.
Some resources

IBM provided automated tools
other open source tools [TBD]

Tasks

[ ] add GitHub action that triggers on all code pushes
[ ] will be nice if the GitHub action prints out a report after running

Acceptance Criteria
All new code coming into Five Fifth Voters is tested for accessibility issues when pushed into a branch or when a PR is created. Code is only deployed to production if it has passed the level 1 accessibility requirements.
@davidnixon @GeraldMit @Sabine-Justilien @demilolu
This was previously captured in #209.

I'd be happy to take a look at this one if it's still available.

@dmtrek14 it's yours!

@dmtrek14 how's it going with this issue :) ? Are you still working on it?


Fix incorrect month key for swedish translation

Sometime in the past the translation key for March was accidentally translated into swedish in the swedish month translation file.
This restores it to the correct key so translations of March into swedish works again.

Coverage decreased (-0.04%) to 71.201% when pulling e9a7d2a110b7104ffbbf30c3554cc47485149118 on behe:fix_march_sv into 4599699b61279446a5bee305aa6a69174ac80dc5 on bitwalker:master.


I was wondering if was really necessary to parse all sheets immediately on instantiation? It would do wonders for performance if these can be lazy loaded.
My use case: I need to hide sheets in a large spreadsheet (100+ sheets), based on the data in just a few sheets. It would be much more performant to parse just the sheets whose data we need as the rest of the sheets don't need to be parsed in order to hide them.
Thanks!

Just wondering if there is a design decision behind this implementation or should we try to put together a PR?


ability to override TracerProvider

Provide callers the ability to override which TracerProvider is being used at hook creation time.
This is a more idiomatic usage, e.g.:

https://pkg.go.dev/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp#WithTracerProvider
https://pkg.go.dev/go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux#WithTracerProvider
https://pkg.go.dev/github.com/XSAM/otelsql#WithTracerProvider

Thanks - very clean :+1:


Group LDAP Sync

What problem are you facing?
The current GitLab group implementation do not allow to configure LDAP link. Currently we have to set it up manually.
See: https://docs.gitlab.com/ee/api/groups.html#add-ldap-group-link-with-cn-or-filter

How could Crossplane help solve your problem?

That sounds like a reasonable addition. If anyone has the time to work on it, feel free to open a PR and assign me as reviewer.

I could definitely use this.


Works with native ES6 promises

Coverage decreased (-5.1%) to 94.898% when pulling c405536cf9da8ea22c3f6616e384ffa8caa95cdc on bouncehead13:es6-promise-fix into 856cb2986641058c316968b33f1edc2a3d4a180d on johannesjo:master.

Thank you very much! It would be really great, if you could also provide one or two unit tests for this functionality. But if you don't have time I can also do it.


[0.2.38] Models always produce the same output when setting top_k to 0, still using min_p

So I just installed the latest release and immediately realized that it always produces the same token sequence (meaning the same answer for the same question etc.). Tested multiple models, all the same. Switching back to 0.2.37 fixes the issue. Reinstalling 0.2.38 makes the issue reappear.
Did some default parameter or sampling behavior change?
As usual I use the following parameters (they worked flawlessly before):
temperature 1.19
repeat_penalty 1.0
min_p 0.02
top_p 1.0 (disabled)
top-k 0 (disabled)

System: Ubuntu 20.04, CUDA

Did you check the seed?

Did you check the seed?

Thanks for asking. For the seed I use -1. The issue only occurs in version 0.2.38, not earlier.
Did the seed behavior change? In the API reference it says, that default seed is None. Since when is that?

Alright, I found the devil. It's about the top_k parameter. Something must have changed. Setting it to 0 to disable it, seems to be an issue all of a sudden.
Would be nice if somebody here could check if it's actually about llama-cpp-python or llama.cpp.

Hey @m-from-space could be a bug, here is the sample method https://github.com/abetlen/llama-cpp-python/blob/310fbf4e494e30d6a78be1b8a6b9be81f61204e7/llama_cpp/_internals.py#L689 it should be nearly identical to the one in llama.cpp

I think I can reproduce the issue in llama.cpp and have made a PR for a fix: https://github.com/ggerganov/llama.cpp/pull/5388 .
You are calling llama_sample_top_k directly instead of via sampler_queue, correct?

Thank you @JohannesGaessler, I hope this PR will soon make it into llama-cpp-python. Version 0.2.38 and 0.2.39 still have this issue. So I am leaving this open for now.

@JohannesGaessler thanks for the fix!
@m-from-space yup should have a new release tonight or early tomorrow!

This is fixed for me in [0.2.41], probably [0.2.40] as well, didn't test it.


where are the mp4 coding and what line in the version 0.4.2

Describe your problem here.
the reason why im asking this is because so i can build it without the mp4 video support or is it hard coded in the hx files
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
 Should help

My guess is that it is somewhere in playstate

startVideo, PlayState.hx


Add load_as_dataset function for Datasets

Would be good to have a helper function to load files external to pyIATI as Datasets.

iati.resources.load_as_dataset() does something similar (need to ensure things work in a DRY manner so feature parity is maintained).
Need to see check what the scope of this (and the resources module as a whole) is with regards to loading files outside of library resources.

In 0.3.0.


unparsing is slow after #110 fix

Pretty printing cells k and the constraint inside a proof took <0.1s before, ~40s after.
Consider supporting 2 versions of unparsing: the old and the new one.
This script illustrates the issue. It runs a relatively short proof from casper project, on 2 versions of K gnosis branch. One before the rebase on latest master, one after. Run the script below inside an empty dir, go to verified-smart-contracts and compare the two .out files.  Vyper compiler runs twice slower now. I cannot run the whole test suite even if I leave it overnight.

I really need a better example if I'm going to test this; you're asking me to check out some random branch of k that may or may not contain changes that will conflict with my ability to debug this issue. Give me a minimal example that I can test with the master branch of k and I'll look into it.

The changes are definitely related to #110. I already verified this. You can pick any semantics from tutorial and run it with master and pre-#110 k. Preferably one with a bigger configuration. Even for IMP I noticed that pretty printing adds a few seconds.

I tested kool-typed-dynamic with the latest version of k and was unable to reproduce any kind of performance regression. I did however reproduce it with commit a3adf2120bde353b7cd89f2d31662ff2c24c6631 that you mentioned, so I suspect this relates to the performance problems associated with Module.overloads() which was fixed by #125.
Please close if updating to the latest version of k fixes your issue, otherwise I will need a more specific example that you have tested on the latest version of k.

Finally got time to verify this. Pretty printing is faster now, around ~0.5s overhead for the example I posted but more for real scenarios we are using with kprove. It is still slower than before the changes, up to 10x slower. I cannot measure exactly because many things since changed.
We'll live with that. Thanks for looking into this!


Minor changes

Doc-string added.
Comments added.
Some nomenclature related edits in function names.

I am sorry, I've uploaded wrong files. Closing it and uploading a new one


Strange behavior of sample_predictions

Hi Matt and Scott,
Thanks for adding the exogenous input capability to the code!  Very cool!
I am testing it right now with a bunch of sample data, and I am getting some strange results for sample_predictions regardless of the specifics of the LDS model or sampling.  Here are the data:
  inputs = array([[ 0.        ,  0.        ],
    [ 2.72785283,  7.53608657],
    [ 0.        ,  7.23201033],
    [ 2.0261219 ,  7.07866193],
    [ 2.42989525,  7.67644583],
    [ 2.80870737,  7.83475645],
    [ 0.        ,  7.9209767 ],
    [ 0.        ,  7.79186987],
    [ 2.78714571,  8.37162161],
    [ 2.49732917,  8.14119562],
    [ 2.71444   ,  7.94740989],
    [ 2.54583288,  8.05844122],
    [ 2.51490101,  8.18854467],
    [ 1.61097519,  7.88220925],
    [ 2.58138165,  7.85400085],
    [ 2.45695553,  7.71646971],
    [ 2.86483477,  7.96989029]])

  Data = array([[ 7.53608657],
    [ 7.23201033],
    [ 7.07866193],
    [ 7.67644583],
    [ 7.83475645],
    [ 7.9209767 ],
    [ 7.79186987],
    [ 8.37162161],
    [ 8.14119562],
    [ 7.94740989],
    [ 8.05844122],
    [ 8.18854467],
    [ 7.88220925],
    [ 7.85400085],
    [ 7.71646971],
    [ 7.96989029],
    [ 7.68803383]])

Just to be specific, consider
 model = DefaultLDS(D_obs = 1, D_latent = 2, D_input = 2)

Prediction step:
 T_given = 13
 T_predict = 4
 given_data= data[:T_given]
 given_inputs = inputs[:T_given]

 preds = \
     model.sample_predictions(
         given_data, inputs=given_inputs,
         Tpred=T_predict,
         inputs_pred=inputs[T_given:T_given + T_predict])

And here's the plot:
figure_2.pdf
What I don't get is why even the first predicted point is so far off the real data.  Isn't it anchored to the real deal?  Or am I using sample_predictions wrong?

Hi @hedgy123,
Thanks for raising this! There was definitely a minor bug in sample_predictions, and I just fixed it in https://github.com/mattjj/pylds/commit/6a05fdce508f6251a461ab435387acfb31b442ce.
However, I reran your example and I think the jump is partly explained by uncertainty in the latent state. I wrote a simple gist to play with this, and when I plot the smoothed data along with the sampled predictions, the jump doesn't seem so strange.
https://gist.github.com/slinderman/31fdf5acdc0affdf4dc60670069d314a
Please let us know if you think this solves your issue.
Best,
Scott

Thanks so much, Scott!  The fix definitely helped.
I think it might also help if I were to place some ad-hoc constraints on the parameters.  For example, suppose it's known empirically that specific inputs should result in non-decreasing outcomes (in other words, the regression coefficients for a given input should always be >=0).  Is there any way to impose these types of constraints on the model?
Thank you again, I really appreciate your help.

Hi @hedgy123, sorry to let this issue slide.  To add constraints on the regression, you'd have to write a special subclass of Regression.  I imagine this is more work than it's worth, but let me know if you give it a shot!


Setup automated testing with travis or similar

For open projects there are many CI tools that will let us do free automated testing on PRs and new commits, I've used travis in the past, and its worked well for me.  Once we have some automated tests written (#3) we should setup a tool to run them for us.

See PR #7


How to use https in pinpoint

I change the ws:// to wss:// but get the error 500. The server has no error print
Pinpoint Vserion : 1.6.2
nginx Vserion : 1.12.0
nginx conf :
` server {
listen       443 ssl;
server_name  monitor.xxxx.com;
ssl on;
ssl_certificate        crt/server.crt;
ssl_certificate_key    crt/server.key;
ssl_dhparam            crt/dhparam.pem;
ssl_client_certificate crt/ca.crt;
ssl_verify_client on;
ssl_prefer_server_ciphers on;
ssl_session_cache    shared:SSL:10m;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains;preload" always;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
keepalive_timeout 70;
ssl_session_timeout 10m;
    #charset koi8-r;

    access_log  logs/pinpoint.log  main;

    error_page  404              /404.html;

location /agent/ {
    	proxy_pass http://pinpoint_tomcat;
    	proxy_http_version 1.1;
    	proxy_set_header Upgrade $http_upgrade;
    	proxy_set_header Connection "upgrade";
	}

    location / {
             proxy_pass   http://pinpoint_tomcat;
    }

 }`

We do not provide technical support.


Fix optional parameter syntax on aggGrade help message

Closes #166

-->

Your issue is a duplicate of #139, consider linking this PR to the older one.


How to Pause the camera

How to I can pause and resume recording.

Hi @iVoGia, pausing and resuming the video is currently not supported by the Framework. It would involve concatenating the multiple video files recorded notably. While this is a feature that should technically be possible to implement, it is currently not currently in the roadmap 👍


I want to change the epoch during training, where should I change it?

Hi， I modified the epoch in datasets_tar.yaml, but I didn't train on my modified epoch when I trained, or do I need to modify my epoch somewhere else

You can edit the number of training iterations here.

Sorry, I'm stupid, this document doesn't show the epoch, how should I change it, can you elaborate more

There is no argument that controls the number of epochs. Instead, you can calculate the number of training iterations (steps) needed for your desired number of epochs and modify this argument accordingly.

I have tried several times but still don't understand how to change the epoch with these codes. I hope you can let me know how to modify the code to change the epoch when it's convenient for you. Should I consider the epoch_size parameter in datasets_tar.yaml as well?

I'm sorry, there is no argument that controls the number of epochs in the training. You can only control the number of training iterations/steps that the training code will do.


[WIP] Added no_tax_id field

Changes Unknown when pulling 42a15ef8a1a006e167cb4da208764194c0739bd9 on no_tax_id into ** on master**.

Changes Unknown when pulling 87f44d1f000b533c4226ef4357108e36b284f73c on no_tax_id into ** on master**.


document pdb usage

https://kubernetes.io/docs/tasks/run-application/configure-pdb/
Document how pdb together with HPA and deployments looks like.

This is documented under the scheduling docs.


cake-theme.ts

Hey there! Don't expect this to actually merge and not certain I remember what I'm doing but Tijn inspired me to do a PR and I loved Carsenk themes so (I'm not completely sure what this looks like yet) but this is an alternative lightTheme in festive childlike pastels colors. The luminosity of the original theme colors are relatively the same so the contrast shouldn't change. Simply, the whites and greys have become slightly tinted pinks and blues and the darker colors have taken on shades of purple and blue. It's a bit whacky, and intended on looking like a silly myspace-ish birthday cake throwback— perhaps for fun, to use on your Birthday. Or a teen might like it.
In all seriousness, when my node is back up and I figure out Git on Windows, I'll have more to add.
Won't take a rejection personally, was just for fun and to learn again. <3

had to make a few modifications to get it working, but here's what it looks like if you want to see!
You'll need to modify app.module with the following lines:
around line 128
import { cakeTheme } from "./theme/cake-theme";

and modify around line 250
      themes: [lightTheme, darkTheme, icydarkTheme, legendsTheme, cakeTheme],

see my feedback above

Ah! I wasn't sure which classes went to which. Thanks! On it. Will give it a shot. :) BRB

I think I did it right this time lol. Let me know.

Your screenshots look so much better than mine @lazynina
Is the logo filter too pink? It matches the hearts (hot pink)
@carsenk Wish we could break out more theme classes i.e. .feed-post__blue-border & .tab-underline-active are very visible selection markers. Even if it could match link color by default.
Just realized how fun this would look with the confetti animation lol!


dsh MUST require PHP >= 7.4

dsh MUST show an error message and exit if either of the following is true:

PHP is not installed on the system
The installed version of PHP is < 7.4

Fixed in commit fe90adeafeec66664955a2bfb8019d22b7f0e50c


improve performance

Fix for issue https://github.com/brightmart/text_classification/issues/146

@brightmart Hello, could you deal with the PR asap？


imap IDLE support for real time notifications

Is your feature request related to a problem? Please describe.
As it stands now using laravel-imap I am using the laravel scheduler to look for new messages every minute. This works fine, however it requires additional setup and introduces up to 60 seconds extra latency when not really needed.
Describe the solution you'd like
Modern mail daemons pretty much all support the IDLE command to let the client leave the TCP connection open and be notified in real time of any new messages.
Describe alternatives you've considered
I guess increasing the polling interval into seconds would reduce the latency too, not really practical though.
Additional context
https://en.wikipedia.org/wiki/IMAP_IDLE
https://www.limilabs.com/blog/imap-idle
https://tools.ietf.org/html/rfc2177

Solved with v2.0.0: https://github.com/Webklex/laravel-imap#idle


Integration on general domains

I am wondering if it possible to integrate an n-dimensional function on a set that is not an n-dimensional box in a way similar to the Monte Carlo integration routines in Numerical Recipes. If the function returns 0 when x is not in the set maybe this will just work in the current implementation of Cuba.jl?

I'm not sure I understand what you mean, could you please provide an example of what you would like to do? If you're asking for a way to integrate a domain different from the n-dimensional hypercube, then read the first "tip" box in the documentation: https://giordano.github.io/Cuba.jl/stable/

Say that I want to integrate on a domain A that is not a hyper-rectangle (in my case A is a n-dimensional convex polytope but that does not really matter here). What I would do is to compute the smallest hyper-rectangle B such that A \in B and pass the bounds defined by B to Cuba. The function to be integrated would just return f(x) = 0 if x \in (B \ A). Do you think this would work?

If you are going to integrate a function on a domain larger than what you want, and define the integrand such that it returns zero outside the domain on which you actually want to integrate, yes, that would do the trick.

@arbenede did it solve your issue?

Mose`, I did not have a chance to try this yet however I think that you can close this issue for now.

I'm going to close this issue, then.  Feel free to ping me here if you come across the same problem again


No handlers could be found for logger "util"

Hey mikar, so far I've gotten this error when I start blockify from the terminal on every distribution I've tried it on. Despite that, the app continues to run and works so feel free to dismiss this post if you already know and it's not an issue.
No handlers could be found for logger "util"
2015-07-23 10:41:28 ERROR    dbus     Spotify not found in DBus session. Is it running?
** Message: pygobject_register_sinkfunc is deprecated (GstObject)
2015-07-23 10:41:28 ERROR    player   Could not parse playlist source: [Errno 2] No such file or directory: '/home/roman/.config/blockify/playlist.m3u'
Thanks again!

Hey, i didn't know about this.
It's interesting because it shows how much i fail at python.
The code checks if str(variable) is None but apparently str(variable) is None can never be true as the result is always a string, even if variable == None.
The question remains why blockify keeps working with an impaired or broken DBus connection. Are you sure functionality is not impacted?
If you tell me what distributions you've tried i can try to reproduce.
Regards

Did you get a chance to attempt to reproduce the issues? Which version of Spotify is needed for blockify to work?
Just pure speculation without any knowledge of what's actually going on, but I realized Fedora 22 has SELinux, so I thought maybe apps are somehow isolated from each-other. Maybe your app wasn't able to reach Spotify, so I opened a terminal earlier, logged in as root and got a different set of errors on start (At the very least the errors are more detailed as root user than last time.):
No handlers could be found for logger "util"
2015-07-24 14:53:31 ERROR    util     Could not parse option autodetect for section general. Using default value.
2015-07-24 14:53:31 ERROR    util     Could not parse option automute for section general. Using default value.
2015-07-24 14:53:31 ERROR    util     Could not parse option start_spotify for section general. Using default value.
2015-07-24 14:53:31 ERROR    util     Could not parse option substring_search for section general. Using default value.
2015-07-24 14:53:31 ERROR    util     Could not parse option update_interval for section cli. Using default value.
2015-07-24 14:53:31 ERROR    util     Could not parse option unmute_delay for section cli. Using default value.
2015-07-24 14:53:31 ERROR    util     Could not parse option use_cover_art for section gui. Using default value.
2015-07-24 14:53:31 ERROR    util     Could not parse option autohide_cover for section gui. Using default value.
2015-07-24 14:53:31 ERROR    util     Could not parse option update_interval for section gui. Using default value.
2015-07-24 14:53:31 ERROR    util     Could not parse option unmute_delay for section gui. Using default value.
2015-07-24 14:53:31 ERROR    util     Could not parse option use_interlude_music for section interlude. Using default value.
2015-07-24 14:53:31 ERROR    util     Could not parse option start_shuffled for section interlude. Using default value.
2015-07-24 14:53:31 ERROR    util     Could not parse option autoresume for section interlude. Using default value.
2015-07-24 14:53:31 ERROR    util     Could not parse option radio_timeout for section interlude. Using default value.
2015-07-24 14:53:31 ERROR    util     Could not parse option playback_delay for section interlude. Using default value.
2015-07-24 14:53:31 ERROR    util     Could not parse option playlist for section interlude. Using default value.
2015-07-24 14:53:31 ERROR    dbus     Spotify not found in DBus session. Is it running?
** Message: pygobject_register_sinkfunc is deprecated (GstObject)
** Message: pygobject_register_sinkfunc is deprecated (GstObject)
2015-07-24 14:53:31 ERROR    player   Could not parse playlist source: [Errno 2] No such file or directory: '/root/.config/blockify/playlist.m3u'
I tested again and confirmed the ads are still playing.
Another thought: Fedora uses pulseaudio, rather than alsa, which has caused other sound issues for me with other applications, so maybe your app is trying to use alsa?

@RomanSC The errors you got when running blockify as root are because it looks for the settings file relative to the home directory. Since the root user doesn't have blockify's config file(s) in its home directory, it fails at parsing it/them and it says that it's falling back to default values instead.
So that's unrelated.

@ChaoticMind "No such file or directory: '/root/.config/blockify/playlist.m3u'" That makes sense, I see that now, thanks for that.
Is there anything else I could try to get the program working?

There is no need to reproduce. You are using blockify with an unsupported version of Spotify (<IP_ADDRESS>.gcedaee38).
You can downgrade spotify or see if any of the projects similar to blockify have been updated to support Spotify >= 1.0.0.
Regards

I am getting the same error using spotify 0.9.17 and sometimes the ads are not muted.
No handlers could be found for logger "util"
** Message: pygobject_register_sinkfunc is deprecated (GstObject)
2015-08-09 16:57:53 ERROR    player   Could not parse playlist source: [Errno 2]

Please post the whole error message. Also, check out the troubleshooting section in the README.

This is the error I get when I start blockify from the command line and could not find something else in the log.  However blockify is working fine now and I think that I had problems to get it to work because I used the script from the archlinux wiki that starts spotify after blockify:
https://wiki.archlinux.org/index.php/Spotify#Mute_commercials


Add Support For Lazy Loading Poster Attributes on  Tags

This pull request resolves #279

@tuupola do you have any feedback on why this wasn't an appropriate addition?

It seems this was closed when I deleted an old branch. I think I am still able to cherry-pick this to master.

awesome, thank you.  if its any help I can reapply these changes to a current copy of master and submit a new PR

That would be great. Thanks!


Add ESLint Disable Watcher to apps

Added my own little Probot. Let me know what you think 😄

Yes, the description is totally stolen from @JasonEtco 😬

Looks like the app is private.

@j-f1 How so? Is there some config I have to set to public?

@koddsson On the advanced settings for your GitHub App, there's an option to make the app public.  This is what I currently see when I go to https://github.com/apps/eslint-disable-watcher

Ahhh! I didn't notice the "Advanced" tab. Maybe the apps should have a banner about it being private or something. Anyways I made it public!


WEBC-484 - Make API Product call compatible with version lower 1.9

ran all the test on 1702, looks good

ran all the test on 1702, looks good


fix(loader): multiple static translation files

Two problems:

The docs has a typo,  files parameter is an object

The url arr is not looking up values from the passed file object

Modified picked.


ignore docs folder in composer release

For https://github.com/spatie/ray/issues/352
https://getcomposer.org/doc/04-schema.md#archive

@AdrianMrn Thanks for suggesting this.
I'm thinking our own docs zit uses these zips to import data. I think this would break our import.


Add Floating action button control

Add Floating action button control with ripple and show/hide animations

The icon flickers when you click  , otherwise it works


[Request] is it possible to hide "world" favicon that appears before actual page favicon loads?

Hello, I'll include a brief video that should clarify better
https://user-images.githubusercontent.com/73554423/196661747-4495378b-74e6-4028-bea7-d4256bb00a29.mp4
I find that "world" favicon annoying and would really love to hide it, do you know if it's possible to do so?
Thanks for mainteining WaveFox!

I can't reproduce this effect. Try the code below
.tab-icon-image:not([src], [crashed], [sharing], [pictureinpicture], [busy]) {     content: ( your image ) !important; }

Code didn't work, but it gave me an idea that helped me figuring out what to look for.
Removing lines #586-603 fixed this for me, so thanks for the help!

I re-examined this issue. Made a small change. Now the globe icon will not be displayed when opening or closing a tab.

Thanks for futher looking into this! The attention to details you put into WaveFox is really astonishing!


Websocket transport?

Is your feature request related to a problem? Please describe.
Experimenting with writing MCP Servers in Cloudflare Workers/Durable Objects. Currently doing a simple pivot from stdin/stderr to HTTP, e.g.
server.setRequestHandler(ListToolsRequestSchema, async () => {
  const { url } = await serverReady
  const resp = await fetch(`${url}/tools/list`)
  return resp.json()
})

server.setRequestHandler(CallToolRequestSchema, async (request) => {
  const { name, arguments: args } = request.params
  const { url } = await serverReady
  const resp = await fetch(`${url}/tools/call/${name}`, {
    method: 'POST',
    body: JSON.stringify(args)
  })
  return resp.json()
})

Describe the solution you'd like
It would be a bit neater if I could do something like:
// On the local server
const serverReady = await // boot something locally or get an auth token for remote
const proxy = new TransportProxy()
const localTransport = new StdioServerTransport()
const wsTransport = new WebsocketTransport({ url: serverReady.wssUrl })
await proxy.connect(localTransport, wsTransport)

// Inside the worker
const webSocketPair = new WebSocketPair();
const client = webSocketPair[0], server = webSocketPair[1];

const transport = new WebsocketTransport({ connection: server })
this.ctx.waitUntil(server.connect(transport))

return new Response(null, {
  status: 101,
  webSocket: client,
});

The issue with making this completely generic is being able to establish the websocket in a secure way. I can see the advantage of stdin/stdout in that respect! But I thought I'd raise the issue to see if there'd been interest in using websockets like this?
Describe alternatives you've considered
Making Claude Desktop config allow a "websocket" URL instead of a "command", and a "headers" field instead of "args" for auth? That sounds like the end goal, but this might be a good stopgap.
Additional context
I am also not sure if @modelcontextprotocol/sdk works out of the box in Cloudflare Workers, but that should be a fairly easy fix.

Auth and remote MCP servers generally is something we're discussing in https://github.com/modelcontextprotocol/specification/discussions/64. It's not fully fleshed out at the moment, but please do chime in with your thoughts there!
I don't think this is specific to the TS SDK, so I'm going to suggest we move conversation to the Discussion, but please do open a new issue if there's something else to discuss.


Warning: Accessing PropTypes via the main React package is deprecated. Use the prop-types package from npm instead.

ie. PropTypes handling needs updating to the newer way of importing separate prop-types modules as per the docs...

If you can do it and make a PR that will be great.


Improve release notes

Problem/Motivation
The current release process generates uninformative release notes. Unless you jump through a lot of hoops, a user cannot see whether an upgrade will fix issues, have breakages, provide new features, or essentially change nothing.
Expected behavior
When updating zwave js UI addon via home-assistant, the actual changes to functionality are surfaced to the user.
Actual behavior
When the addon is updated in home assistant UI, the only note is "Update zwave-js/zwave-js-ui to vNNNNN @ someone (#PRNUM)".
Clicking through to the PR, there is an expandable section that shows the zwave-js-ui release notes, which often just state a zwave-js bump (with no link to see zwave-js updates).
From there to chase updates you must manually go to the node-zwave-js repo, keeping track of version numbers along the way.
Steps to reproduce
Do an update of zwave-js-ui addon in Home Assistant
Proposed changes
Include Z-Wave JS UI and Z-Wave JS changes, or at least major changes, in Z-Wave JS UI Addon release notes.
I understand this is conceptually a violation of the separation of changes from different components, but from the point of view of a user doing an update this would be necessary to allow them to understand the change. I don't usually expect dependencies changes to be passed through, but given that most of the relevant changes come from these two deps it seems wise in this situation.  Perhaps a header like "Changes from [X]" would help prevent confusion about which component is actually shipping the change that the user gets.

The release notes are copied from upstream for example:
Features
bump [@zwave-js/server](https://redirect.github.com/zwave-js/server)[@1](https://redirect.github.com/1).39.0 ([#3970](https://redirect.github.com/zwave-js/zwave-js-ui/issues/3970)) ([ab24962](https://redirect.github.com/zwave-js/zwave-js-ui/commit/ab2496231ff3e8403d5b06e5f92df24b908781d6))
bump<EMAIL_ADDRESS>([#3965](https://redirect.github.com/zwave-js/zwave-js-ui/issues/3965)) ([f909f84](https://redirect.github.com/zwave-js/zwave-js-ui/commit/f909f84185cdad7bcf6e8b7d37c65da1b781cad2))
bump<EMAIL_ADDRESS>([#3968](https://redirect.github.com/zwave-js/zwave-js-ui/issues/3968)) ([885ea26](https://redirect.github.com/zwave-js/zwave-js-ui/commit/885ea266644412af3c81b859543f00c5148147bf))

As the upstream doesn't publish the fixes, what would you suggest be done here?

This add-on updates dependencies; I'm sorry, but I'm not planning on copying all upstream releases notes. It is also odd to do, as in, Unbuntu wouldn't merge all upstream release notes for all packages they update?
The dependency bumps are linked and contain all details you'd need.
Nevertheless, thanks for the suggestion though 👍
../Frenck

It could be better though… the links are not actually helping here as it is links to yet more bumping of versions in PRs that don’t actually land on the release notes of the repositories.
I personally have been caught out multiple times where the underlying zwave library has broken my set up. To then check to see what changes/fixes is incredibly manual and not well linked to what is an arbitrary number in home assistant update to the actual underlying changes in the core zwave functions.
This extension is providing what is a core service to those using it, 75% of my home is zwave and I need the UI aspects that this extension provides, but even just trying to determine the included changes is painful.

I hear you, however, as said above as well; I have no plans or intention of changing it.
Sorry 🙏
../Frenck

Which is fine. Are you open to someone else potentially automating this?

Are you open to someone else potentially automating this?

I'm fine with what I have here now. As said, I don't agree on including upstream release notes from all dependencies used.
../Frenck


Add app_profiler repository

We're open-sourcing the https://github.com/Shopify/app_profiler repository soon! :tada: Will merge this once the repository is public.

Yeah, that's a fair point. We will workshop the name.

It is now public and live!


Make more customizable issues form

#18 introduces an issues template.
We could be even more specific/tailored to the application by using:
https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#creating-issue-forms
However, this is currently in beta (only available for public repositories, and Im not sure we should invest alot of time in it atm).

Resolved in #20 and #21


Invalid migration generated when migrated to 2.0

I updated my packages to 2.0 and generated migration without making changes to my code. It generated these blocks for all my int ID columns

migrationBuilder.AlterColumn<int>(
                name: "ID",
                table: "UserActions",
                type: "int4",
                nullable: false,
                oldClrType: typeof(int))
                .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);

The problem is when I try to apply this migration I get error bacause it tries to create sequence for ID column but it already exists.
This is sql that gets generated
CREATE SEQUENCE "UserActions_ID_seq" START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE NO CYCLE;
ALTER TABLE "UserActions" ALTER COLUMN "ID" TYPE int4;
ALTER TABLE "UserActions" ALTER COLUMN "ID" SET NOT NULL;
ALTER TABLE "UserActions" ALTER COLUMN "ID" SET DEFAULT (nextval('"UserActions_ID_seq"'));
ALTER SEQUENCE "UserActions_ID_seq" OWNED BY "UserActions"."ID"

This is code from previous migration where that table was created
migrationBuilder.CreateTable(
                name: "UserActions",
                columns: table => new
                {
                    ID = table.Column<int>(nullable: false)
                        // I had to replace this after migrating to 2.0
                        //.Annotation("Npgsql:ValueGeneratedOnAdd", true),
                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn),
                    Message = table.Column<string>(nullable: true),
                    ResourceAction = table.Column<int>(nullable: false),
                    ResourceName = table.Column<string>(nullable: true),
                    Time = table.Column<DateTime>(nullable: false),
                    UserName = table.Column<string>(nullable: false)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_UserActions", x => x.ID);
                });

Also a lot of migrationBuilder.DropForeignKey(...) and migrationBuilder.DropIndex(...) and then migrationBuilder.AddForeignKey(...) were created and when the AlterColumn operation fails and i try to apply that migration again it fails because it already dropped foreign keys and indexes.

Which version did you upgrade from? If it's from 1.0, you may need to read http://www.npgsql.org/efcore/migration/1.1.html.

Thanks. I was on some very old version and I have missed that since I never migrated to 1.1.


Add WebSocket Compression

API docs don't have the APIs yet, so can't link to them

Want to wait for @blowdart to review before merging to make sure I have enough warnings in the doc 😃


PoC: Deploy MonitoringStack and ServiceMonitor via ADO

Signed-off-by: Mayank Shah<EMAIL_ADDRESS>

ServiceMonitor part should go away. This should be limited to the MonitoringStack CR

closing in favor of #264

closing in favor of #264


Continuous Integration with CircleCI

Create account on CircleCI if you don't have one.
Integrate with Github account.
Add this project.
Crate a configuration folder in the project as .circleci.
Add default recommended configuration into the file as config.yml.
Add workflows, more than 1 if needed. (prod, dev, tests etc.)
Select branches that would be effected.
Add related instructions to the documentation.

Master branch is selected for this application to work with continuous integration process. Whenever a new push comes to master branch, CircleCI is triggered and all the workflows are run. The result can be followed from the added badge in readme file.

This is cancelled since Github Actions is enough for now.


Add a Action route

As a Customer
I need to perform actions like cancelling an order, liking a product, suspending a user, etc.
So that I can I can use my wishlist more effectively
Details and Assumptions

There exists a model for items in a wishlist
There exists a database to request item information in a wishlist
There is an endpoint for each Action

Acceptance Criteria
Given I am a customer
And I have a specific wishlist ID
And there is an item in the wishlist that I want to perform certain Action
When I send a request to perform an Action
Then the wishlist's status is updated according to the request I sent

Hi Yanfeng, I think an action could be applicable to both a "wishlist" like "lock/unlock/make a copy?"
and "wishlist items" to "lock/unlock/make copy " as well. So this might be split into 2 different stories.


Pluralsight - Unable to download webpage: HTTP Error 429

Hi,
I will start with an acknowledgement I've read all the 429 related issues here, none seem to fit.
I'm running the latest version. I'm trying to download a course with options --username "my-user-name" --password "my-password" --user-agent "my-user-agent-here" --sleep-interval X --no-overwrites --verbose "course-url"
It downloads fine but hits 429 after a period of time:
[pluralsight] course-name-here-video: Downloading webpage
[pluralsight] course-name-here-video: Downloading mp4-high URL
WARNING: Unable to download webpage: HTTP Error 429:
[pluralsight] course-name-here-video: Waiting for 2 seconds to avoid throttling
ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 666, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 316, in extract
    return self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/pluralsight.py", line 226, in _real_extract
    self._sort_formats(formats)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 829, in _sort_formats
    raise ExtractorError('No video formats found')
ExtractorError: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Surely, it's not youtube-dls fault that I got 429. Nor is changing the location you download from the solution. Simply, by waiting some period of time and then rerunning the script, it works flawlessly.
I'm running with default retries parameter (docs say "default is 10") so I would expect to have the request retried 10 times. From error message, it doesn't look so. Also, sleeping sleep-interval before retrying would be good. Does that happen?
It looks to me like a totally recoverable error, but instead the script halts. Am I missing something?

--retries has effect only on the actual final downloading. I doubt 429 is recoverable at all since it's a sign of overuse.
You can skip videos that encountered an error during extraction with -i.

@dstftw It is recoverable. Every time I encounter 429 and script hard fails and exit, I'm able to rerun it and it works. By definition 429 is

The user has sent too many requests in a given amount of time
so it's recoverable by sleeping for some time before retrying. The docs you brought advise to contact the provider if 429 happens. With Pluralsight, 429 is a sign you start to hit a rate limit, not that your account is blocked (if that happens, you get 402 or simply 403).

When hitting a rate limit, (some sites would even provide extra info)[https://httpstatuses.com/429] with Retry-After header set. Sleeping for that period of time should keep the script running.
If that use case is not covered currently, please consider this task a feature request.


Rename Repo

Per the naming guidelines recently published, this repo should be renamed alertmanager-k8s-operator. Will need a ticket into IS.

Done!


Feature/update with new args

Update dependencies
Get arguments in spark with new api
Use new unit tests methods.

Did a pass and just have few questions but the rest look good to me.

@henry-cask : Addressed comments. Have a look.

LGTM


Add a smoke tests groovy - orchestrator

This PR has to be reviewed by @bsquizz

I don't think we need this in every repo. @bsquizz I think one should be sufficient, right?
If we do this everywhere then we'll just end up running the same set of tests with the same set of images something like 8 times, right? I would think we would be fine if we just gate all of the PRs to stable on the smoke tests running on the -api repo.

I don't think we need this in every repo. @bsquizz I think one should be sufficient, right?
If we do this everywhere then we'll just end up running the same set of tests with the same set of images something like 8 times, right? I would think we would be fine if we just gate all of the PRs to stable on the smoke tests running on the -api repo.

I chatted with @carbonin about this a bit more to fill him in on what we're shooting for... I think dev & QE need to talk a bit more about what and how they want to test in a smoke run, keeping in mind that the smoke tests have direct access to the pods deployed in the smoke environment, so they can do things like talk directly to kafka or a postgres DB to "seed" data or "read/validate" data. It may be the case that in some repos we can get away with only deploying/testing certain pieces of the topo-inventory set instead of deploying the whole thing repeatedly. And we may be able to seed the DB instead of using a real external provider all of the time.