refactor: Update Year Date in Footer.tsx

What type of PR is this? (check all applicable)

[ ] 🍕 Feature
[x] 🐛 Bug Fix
[ ] 📝 Documentation Update
[ ] 🎨 Style
[ ] 🧑💻 Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test
[ ] 🤖 Build
[ ] 🔁 CI
[ ] 📦 Chore (Release)
[ ] ⏩ Revert

Description
This PR fixes #455
I wanted to get help too on this I could have changed the year fro 2022 to 2023 but I am making it automatic ..
Related Tickets & Documents
document.write(new Date().getFullYear())

I have added the following as a replacement to the static year 2022 .
but should I have added this below code??
console.log(document.write(new Date().getFullYear()))

Mobile & Desktop Screenshots/Recordings

Added tests?

[ ] 👍 yes
[ ] 🙅 no, because they aren't needed
[x] 🙋 no, because I need help

Added to documentation?

[ ] 📜 README.md
[ ] 📓 docs.opensauced.pizza
[ ] 🍕 dev.to/opensauced
[ ] 📕 storybook
[ ] 🙅 no documentation needed

[optional] Are there any post-deployment tasks we need to perform?
[optional] What gif best describes this PR or how it makes you feel?

HI @tmsagarofficial  I will make a change in the title.

@bdougie What do I do now? what about the tests which have failed? 😅

npm run format

Is it done now?

You have to change the values that npm run format is telling you it can't fix, then it is ready! 😅 🍕

@bdougie What do I do now? what about the tests which have failed? 😅

npm run format
Those are lint changes needed. This will also need another approval to get merged.

I really need help with this. Where do I run this ? Also, I'm getting errors if I'm trying to run that locally

Run npm run format in the project folder, where you installed the dependencies.

@tmsagarofficial, @0-vortex & @TAKANOME-DEV but I think there is a disconnect in your knowledge on how npm run format works.
Perhaps leverage the Discord for clarification.
@diivi if you are looking for a new docs addition. npm run format would be a great addition.

Nice,
Maybe I can do something like this - https://torsion.org/borgmatic/docs/how-to/develop-on-borgmatic/#code-style (from another project I contribute to).
Does OpenSauced have a Code Style guide or something related that I could refer to?

Okay, just checked the README for this project; a new heading Code Linting  in the Introduction to Contributing Section sounds good.

Okay, just checked the README for this project; a new heading Code Linting in the Introduction to Contributing section sounds good.

Better title, "Applying Lint Styleguide"

What do you think about using git hooks/pre-commit or husky for these tasks too?

Let's see now

@tmsagarofficial follow these steps and it should be good:

In the root of the project, run npm run format
Next, build the project to make sure it's all good: npm run build
Add the changes: git add src/components/Footer.tsx
Commit and push :pizza:

What do you think about using husky for these tasks too? I can try to set one up for the format, test scripts. also checking semantic PRs client side could be easier with husky.

Added

Let's see now

@tmsagarofficial follow these steps and it should be good:

In the root of the project, run npm run format
Next, build the project to make sure it's all good: npm run build
Add the changes: git add src/components/Footer.tsx
Commit and push 🍕

@TAKANOME-DEV 4 should be: npm run push instead of commit if you want to really follow the docs!!!

@diivi @bdougie There is a work in progress on what the correct style guide for the frontend is, both feeding off the backend rules but not consolidated. While hot and insights have diverged in that manner, we did not have the time or resources to unify the rules and only apply the generic npm run format for eslint fixing in a holistic way. The reason it's somewhat performant is that our configuration is currently made up only of auto-format rules, meaning running lint --fix would generally solve most issues.
Because there are multiple ways a user can overload this, like the OP is potentially using IDE formatting, we should only document how to use them and potential bottlenecks. Part of the triage/maintainer docs on this are already live, while the introduction to contributing doesn't go into much detail. Would love sections like "how to open your first issue" or "how to open your first commit" but feel like that doesn't solve OP problem :<

There is a work in progress on what the correct style guide for the frontend is, both feeding off the backend rules but not consolidated. While hot and insights have diverged in that manner, we did not have the time or resources to unify the rules and only apply the generic npm run format for eslint fixing in a holistic way.

Adding reference to npm run format is all that is needed in the docs. We don't need to list out the style guide.


luci-app-firewall v2: Ease creation of multiple day traffic rules

Creating a traffic rule that spans multiple days currently requires
creating three rules, unless the rule only covers complete days. You
need to create one rule for the first day, one rule for the complete
days, and then one rule for the final day. In addition to making
creating multi day-rules a bit of as hassle, performance suffers when
many multi day-rules are present on a system.
The --datestart/--datestop arguments to iptables, which is what
Start/Stop Date maps to, supports specifying a time of day. This PR
extends Start/Stop Date to also accept an optional time. The format of
the fields are now either yyyy-mm-dd or yyyy-mm-ddThh:mm:ss. As before,
Start/Stop Time will override the time specified in Start/Stop Date.
The translations are also updated, with the exception of Russian and
Ukrainian. My knowledge of the cyrillic alphabet is a bit limit, to say
the least.
v1->v2:

Update commit message
Remove markup from translation strings.
Extend existing datatype instead of adding a new type. I have added a
flag "allow_time" to "dateyyyymmdd" that, when set, enables users to
pass a time in addition to date.
The time-part of "dateyyyymmdd" is optional. I decided to check if
time is passed or not by checking the length of val.

Signed-off-by: Kristian Evensen<EMAIL_ADDRESS>

I will close this one and create a v3, fixing up the conflicts.


Universal Button Search

As we know there are at least 3 ways to make a button:

<button class="second grey">Lorem Ipsum</button>

<input type="submit" class="grey" value="Lorem Ipsum">

Lorem Ipsum

Currently we can deal with  element using $(By.linktext("Link")); but I think it would be good idea to add new By.buttonText("text") feature;
New kinds of button can be identified by button tag if classic button, by submit if input and by By.linktext if link-button
This feature will make happy all Bootstrap users

As we know there are at least 3 ways to make a button

There are many ways to create buttons not just 3.
What about divs, custom tags, span?

I said "at least"...

So it seems to be an impossibility then.

Well, most of other elements have '*btn' in classname so what is the problem? This feature will not cover all cases but helps with most used cases

This sounds very specific to Bootstrap, I would probably like something more agnostic.
I get the button tag and possibly the type='submit', that's cool, but everything else sounds way too edge case.
In terms of *btn for the class name, what happens if that name is used in the context of something else? Maybe "btn" is an abbreviation for a component or a company name, who knows.
But then every time I use By.buttonText('foo'), it might be give me something I didn't expect.

@kenshir007 @JasonTolotta I agree that this is too bootstrap-specific.
Probably it's a good idea to create a dedicated library (or collection of components? Samples? Site?) "selenide-bootstrap". Probably we could even create many libraries like this: "selenide-angular", "selenide-jquery-mobile" etc.
But more generally, I believe that a way better idea is using IDs/classes with business meaning.
When possible, I would use
$("#downloadTransactionsReport").click();

instead of $("button").click(). In this case I don't care if it's button, span or link.
Searching by text is also a good idea. Assuming that your button has some meaningful text like "download report" (not just "Link"), this test is also good:
$(By.linktext("Download report")).click();


For RKE2 node pools, allow selecting an existing machine config instead of always creating a new one

This feature is available if you are using Terraform. We've had requests to also make this selectable from the Rancher UI.
Edit:
I propose allowing users to edit DigitaloceanConfigs or the equivalent for each infrastructure provider. I think we should be able to change the machine pools section of the form so that by default, you create a new config object, but you can also reference an existing one. However, I couldn't create a DigitaloceanConfig from YAML, as it seems to have to be auto-generated when you create the cluster provisioning resource. Still need to find out why the create/edit functionality for these resources is hidden or disabled in the UI.

Need to talk with someone in the backend with Terraform experience what UI needs to do here.

Gaurav said the name of the resource we want is MachineTemplate:

the MachineTemplate should be reusable across MachinePools / MachineSets, from a sample cluster template.. https://github.com/ibrokethecloud/cluster-template/blob/main/digitalocean/templates/cluster.yml#L57-L67

I asked Donnie about the technical limitation where we don't allow reusing the same machine configs in RKE2 cluster provisioning. He offered these reasons to help explain why it is the way it is:

By not allowing machine configs to be reused, it simplifies RBAC a lot. It would be much more complicated to give individual users access to different machine config resources in the same namespace.
When we create a new machine config every time, each one has an owner ref defined in it, which makes it associated with the one specific cluster. The advantages of this are that a) they will show up in the Related Resources tab of the resource detail page, and b) it is easy to clean up the machine config when a cluster is deleted.

If the ask is just to make it easier to fill out the form, it would be relatively easy to just help the user clone values from one node pool to another. We already have a cloning mechanism for creating custom roles and such.
It would require a lot more work, on both front end and backend, to treat machine configs more like node templates with a whole separate system of RBAC and access control where one person can create it and share it with others. We should confirm that this is a smaller ask and that it's just about reusing the same machine config templates that already exist in the cluster, and that you already have access to because you created them yourself.

The difference between a machine config and node template is that node templates are only for provisioning RKE1 clusters and machine configs are only for provisioning RKE2 and K3s clusters. The reason that machine configs are only for RKE2/K3s is that those clusters are provisioned with Cluster API (CAPI) and the machine config is designed specifically to work with CAPI.

Based on a quick look at the CAPI docs https://cluster-api.sigs.k8s.io/tasks/updating-machine-templates.html, it looks like another key difference is that machine templates are supposed to be immutable. That could explain why they were not treated as a drop-in substitute for node templates, since we allow editing node templates.

It sounds like k8s machine template and rancher node template are the same thing. In rancher, how do we utilize a template for a pool?
Please review the scenario stated at the bottom of this issue on why we need to be able to utilize and update pool node templates
https://github.com/rancher/dashboard/issues/6020

It sounds like k8s machine template and rancher node template are the same thing.

For the scenario in your issue, if you were using an RKE1 node template, you would be able to update the config. My interpretation of the CAPI docs is that Rancher will not be able to let you modify the machine template because it is considered immutable by CAPI. So in your case you would need to create a new node pool through the Rancher UI.
In CAPI it says you can edit a machine pool to swap out a reference to an old machine config to a new one. My thought is that if Rancher were to bring a similar UX to RKE2 cluster provisioning as we have for RKE1, we would basically have to fake the appearance of modifying the machine template in the UI. Basically, the implementation of "editing" a node pool would involve creating a new machine config and editing the node pool to point to the new one.

As I stated in my other comment, the capi states you can do exactly what you are saying. You can edit a pool to use a different machine config. So this wouldn't be faking any appearance, this would be allowing to do what the capi supports. Not having to create a whole new pool to use the new machine config, just edit the existing pool to use the new machine config.

I think we are on the same page, it's just that my comment wasn't clear. When I said you would have to create a new node pool in Rancher, I meant that as the best workaround that the Rancher UI currently offers, not what is required by CAPI.

I learned a bit more about this from watching Donnie's knowledge transfers, so I'm going to capture my notes here to help with implementation later.
Although each infrastructure provider provides their own machine template CRDs to use with CAPI, we don't use those directly. Instead we created our own version of the CRDs for each infrastructure provider we support. Our CRDs have the type <provider>machines.rke-machine.cattle.io. We have created CRDs for:

Amazonec2Machines
AzureMachines
DigitaloceanMachines
HarvesterMachines
LinodeMachines
VmwarevsphereMachines.

The primary reason we created these provider-of-a-provider CRDs is so that RKE2 cluster provisioning can have full feature parity with RKE1 provisioning, specifically so that Rancher can provision each node using flags passed to the rancher-machine CLI.
In addition to that, the custom resources of type <provider>configs.rke-machine-config.cattle.io contain all the provider-specific configuration to create machines. When you create a resource of that type, Rancher creates the objects needed for Cluster API to be aware of those machines.
While the CAPI clusters are at cluster.x-k8s.io.cluster, Rancher's cluster provisioning cluster resource is at provisioning.cattle.io.cluster. The latter resource has a concept of node pools, while the former does not reference machine configs at all. The provisioning.cattle.io.cluster has machine info at spec.rkeConfig.machinePools and each machinePool there has a machineConfigRef. Those point to Rancher's special infrastructure config objects, for example a DigitaloceanConfig.
While CAPI does have a concept of MachinePools, Rancher does not use them due to the fact that they are experimental. So Rancher must use MachineDeployments in order for CAPI to keep track of nodes. (CAPI introduced MachinePools to replace both MachineDeployments and MachineSets.) So while Rancher's cluster resource does define node pools in its YAML, these do not reference CAPI's MachinePools.
Rancher uses a machineConfigRef to map between Rancher's cluster resource and CAPI. For example, let's say I have a provisioning cluster resource in which there is a node pool at spec.rkeConfig.machinePools, and in that node pool is defined a machineConfigRef pointing to a DigitaloceanConfig. That config is what I created when filling out the form to provision an RKE2 cluster. When Rancher creates a corresponding MachineDeployment for CAPI, it is named c2-pool and the same machine config details are under spec.template.spec.infrastructureRef, except the details are in a DigitaloceanMachineTemplate instead of a DigitaloceanConfig. From what I understand, Rancher copied the details from the DigitalOceanConfig to the DigitalOceanMachineTemplate.
In my local testing, I tried editing a DigitaloceanConfig referenced by one of my node pools just to see what would happen. When I changed a value in it, it triggered a new DigitaloceanMachineTemplate to be created. Then I checked the YAML for the MachineDeployment created by the same node pool and confirmed that its infrastructureRef had indeed been changed to point to the new DigitaloceanMachineTemplate's name. And when I went to Edit Config for the cluster, the node pool reflected the change.
That approach seems promising to me but I don't know if it's recommended, so I'll ask some more questions about it next week.

After talking with the backend cluster provisioning team, it sounds like this would be a lot of effort and would not be worth it, given other more important priorities. I am moving this ticket to To Test for QA to acknowledge this issue as a won't fix.

How can we create node templates for Harvester?

@catherineluse is there a documentation guide on automating cluster creation with config yaml files?


Promisify nedb & request

Because of the lack of bluebird in this library, you had to promisify nedb from scratch. But basically, you could have used Promise.promisifyAll(Datastore.prototype);.
On the other hand, request-promise library already promisifies request library.

First of all thank you very much for your contribution, It made me happy to share your information with me.

Promise.promisifyAll(Datastore.prototype);
I'm asking because I do not really know. Does this solution solve it literally? This method will provide a more legible spelling/understanding if it really works completely. I did not examine this database in detail when I wrote the project.

On the other hand, I did not do that because the second solution will add extra dependency. request-promise
If you have any other ideas, I would like to talk and discuss fondly.
Thank you again for your contribution.
Çağatay

It's proven in the past that Bluebird's (https://github.com/petkaantonov/bluebird) Promise implementation is faster than the actual Promise in NodeJs.
Following code will promisify all functions that include callbacks. Therefore you don't need to do return new Promise((res, rej) every time.
const Promise = require('bluebird');
Promise.promisifyAll(Datastore.prototype);

For example: you can just use the following code:
return this.categories.findOne({name: obj.category});

On the other hand using Bluebird will enable this function:
quiet() {
    return new Promise(resolve => {
      this.slient = !this.slient;
      resolve(slient);
    });
  }

to be replaced by this:
quiet() {
  this.slient = !this.slient;
  return Promise.resolve(this.slient);
}

On the other hand, when promisifying an actual class/function that you didn't write from scratch, developers tend to make mistakes. Therefore, adding request-promise will have more benefits for the library in the long term.
But again, it's your choice.
Best.

I'll rewrite lazy with your instructions in few days
Thanks your advices 👍


HMR not working

Submit a feature request or bug report

[x] I've read the guidelines for Contributing to Roots Projects
[ ] This is a feature request
[x] This is a bug report
[x] This request isn't a duplicate of an existing issue
[x] I've read the docs and NPM Debugging Guidelines post and followed them (if applicable)
[ ] This is not a personal support request that should be posted on the Roots Discourse forums

What is the current behavior?

When running npm run start http://localhost:3000 loads fine without JS/CSS
If a file is updated browser sync detects the change and triggers a build which is returned back as built
HMR is missing from the console
Console contains Uncaught SyntaxError: Unexpected token <
yarn run build works fine

What is the expected or desired behavior?
HMR compiles the SCSS/JS and injects into the browser
Bug report
Please provide steps to reproduce, including full log output:

git clone repo
update publicPath and devUrl
make some changes to the scss
run yarn run start

Please describe your local environment:
WordPress version: 4.7.4
OS: 10.12.2
NPM/Node version: 3.10.10/v6.9.5 - I also tried the latest version and latest LTS
Where did the bug happen? Development or remote servers?
Development

I found this ticket in the Yarn thread. Is all webpack stuff up to date?
https://github.com/yarnpkg/yarn/issues/857

I reinstalled yarn, restarted my machine and removed node_modules. Still happens from a fresh clone of this repo. Pretty sure it's a weird edge case that is not effecting other people

I tried this on another machine and it worked fine. Then nuked nvm, npm, yarn and after that it worked again on a fresh install of the repo. Closing this


Updating version of rules_apple so that instrumentation filter will work

When using the ios_unit_test rule, the instrumentation_filter flag was not being respected when running a bazel coverage command. https://github.com/bazelbuild/rules_apple/pull/1824 fixed this problem. This PR updates the version of rules_apple to point to the commit after https://github.com/bazelbuild/rules_apple/pull/1824 merged.

The current SHA is using a fork off of rules_apple 2.0: bazel-ios/rules_apple#5
@dostrander - What's the best way to handle this bump? Cherry-pick the change onto our fork? What's the blocker keeping us forked?

Can we also switch to a patch-based approach as well to make changes in rules_ios more isolated vs. folks having to manage the fork?

@mattrobmattrob personally i agree and would go with the patch based approach. I was getting some push back though through back channels so i went with the forking strategy. @jerrymarino would you like to weigh in on this a bit

Yeah this LGTM overall - we've got some patches on the LTS tag but it shouldn't impact this PR.. Hoping those would land upstream soon anyhow and we can remove the fork 🤞

So did we decide to go forward with this PR pointing back to the main rules_apple branch, or do we need to get the change from rules_apple into the fork and the ref and sha updated to point to the fork?

Yeah you generally shouldn't have to worry about our Bazel 5.0 branch unless it causes an issue for CI or you want to back port features to work with Bazel 5. I added a gist of this here
The CI is just general github action flake, and LGTM
INFO: Build completed, 1 test FAILED, 76 total actions
//tests/ios/lldb/app:objc_app_variable_test                               FLAKY, failed in 1 out of 2 in 600.3s
  Stats over 2 runs: max = 600.3s, min = 254.4s, avg = 427.4s, dev = 173.0s
  /private/var/tmp/_bazel_runner/c2342bca25695567c8c3f3be166b56b3/execroot/build_bazel_rules_ios/bazel-out/darwin-dbg/testlogs/tests/ios/lldb/app/objc_app_variable_test/test_attempts/attempt_1.log
//tests/ios/lldb/app:objc_app_po_test                                   TIMEOUT in 3 out of 3 in 602.5s
  Stats over 3 runs: max = 602.5s, min = 600.4s, avg = 601.1s, dev = 1.0s
  /private/var/tmp/_bazel_runner/c2342bca25695567c8c3f3be166b56b3/execroot/build_bazel_rules_ios/bazel-out/darwin-dbg/testlogs/tests/ios/lldb/app/objc_app_po_test/test.log
  /private/var/tmp/_bazel_runner/c2342bca25695567c8c3f3be166b56b3/execroot/build_bazel_rules_ios/bazel-out/darwin-dbg/testlogs/tests/ios/lldb/app/objc_app_po_test/test_attempts/attempt_1.log
  /private/var/tmp/_bazel_runner/c2342bca25695567c8c3f3be166b56b3/execroot/build_bazel_rules_ios/bazel-out/darwin-dbg/testlogs/tests/ios/lldb/app/objc_app_po_test/test_attempts/attempt_2.log


#[Object] macro panic with default u32

When defining #[Object] resolvers, this code compiles:
    /// List all registered `Shelter`s.
    async fn shelters(
        &self,
        ctx: &Context<'_>,

        #[graphql(
            desc = "The maximum number of `Shelter`s to fetch.",
            default = 25
        )]
        limit: i32,

        #[graphql(desc = "The number of initial `Shelter`s to skip.", default)]
        offset: u32,
    ) -> FieldResult<Vec<Shelter>> {
     todo!()
}

However, this fails to compile:
    /// List all registered `Shelter`s.
    async fn shelters(
        &self,
        ctx: &Context<'_>,

        #[graphql(
            desc = "The maximum number of `Shelter`s to fetch.",
            default = 25
        )]
        limit: u32,

        #[graphql(desc = "The number of initial `Shelter`s to skip.", default)]
        offset: u32,
    ) -> FieldResult<Vec<Shelter>> {
      todo!()
}

Error:
error[E0308]: mismatched types
  --> src/graphql/query.rs:17:1
   |
17 | #[Object]
   | ^^^^^^^^^ expected `u32`, found `i32`
   |
   = note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info)
help: you can convert an `i32` to `u32` and panic if the converted value wouldn't fit
   |
17 | (#[Object]).try_into().unwrap()
   |

My current workaround is to use graphql(default_with = "25") for an unsigned input number. However, I believe it should be possible to use graphql(default = 25) for both unsigned and signed input numbers.
Note that the same error occurs if I specify the type on the default value, i.e. graphql(default = 25u32).
Specifications

Version: async-graphql 2.4.3, rustc 1.48.0 (7eac88abb 2020-11-16) [stable, x86-via-rosetta]
Platform: MacOS 2020 M1

Thank you for your suggestion, and I will review the code implementation here.

Released v2.4.3. 🙂


Use LDAP config key encryption instead of key ldap_method

Configuration key method used in https://github.com/geerlingguy/ansible-role-gitlab/blob/cb999d2900ce2a61222200121fe76eca65d0f2f8/templates/gitlab.rb.j2#L35 is deprecated in favor of key encryption. See https://docs.gitlab.com/ee/administration/auth/ldap/

Do not close, some this needs to be fixed


500 error on shared embed links

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/1756
Originally created by @derek-knox on 2020-02-18 16:16:47

Locally the share functionality works as expected, but not in production (at least on meltano.meltanodata.com).
Confirm why the 500 is occurring (the embed app is launching as expected so I think there's an issue with either the embed token table or something else in the Python code)
@mbergeron Do we know if the db migration occurs automatically or not? Maybe the issue relates to this?

View 7 previous comments from the original issue on GitLab


UI - Change field name for snapshot enable to be more descriptive.

Rancher server version - Build from master
"snapshot enable" field name is currently "Enabled" .  Can it be changed to "Snapshot Enabled"?

In hopes of further clarification the label will now read Recurring etcd Snapshot Enabled. Additionally the input has been moved to below the target config settings since these settings apply to both recurring and one-time snapshots.

Version: Master 2.2 (3/11/19) 540d086476c9
Confirmed issue. The names have changed and been moved downwards below etcd snapshot config options. This makes it more clear these are recurring snapshots per Wes' comment.

Smoke tested this area to ensure still working correctly, etc.


How to apply the network for many classes

In mnist, it is 10 classes, and we need 10 capsules; but if the num_capsule continue to go up OOM will happen...
So how to apply the CapsNet for .., for example, 50 classes or even more?
Thank you for answering!

@strongrex2001 There’s no good solution in current version. Maybe using more Conv2D layers is a possible way.


encapsulate mat-datepicker so that it outputs an epoch timestamp

Coverage increased (+0.3%) to 83.065% when pulling fc19c45c2c2b78ca07b443a27cd8c2ee013846c3 on feature/CAB-2641 into 26279c31b07cef50f7e1e84bedfba5f17c44853f on develop.


Scrobbling doesn't work - internet radio RMF

Hi!
I have problem, when I'm listening music from internet radio RMF. In the case internet radio, e.g. http://www.rmfon.pl/play,46
it recognizes this site I think, because LastFM sign is red (see screenshot), but it behaves like no music was playing. Songs isn't shown on my Last.fm profile. I haven't changed anything on my computer and in the past it was working but now it isn't. One thing which was changed it's RMF site, but address is the same. Could you help me?
BR,
Insane_pl (my Last.fm username)

Hi!
Can you please test the latest version? You can install it as an unpacked extension. I've checked scrobbling from RMF right now, works fine on the latest version,

Do you mean 1.58 version?

No, I mean the latest version from this repository, which is not released yet, but contains the RMF fix.

Could you tell me step by step how to do it? I tried, but I think I did something wrong, because it still isn't working...

Download https://github.com/david-sabata/web-scrobbler/archive/master.zip and unpack it in to any place:

Go to chrome://extensions/ and enable developer mode:

Click on 'Load unpacked extension...' button and select the unpacked folder:

Don't forget to disable the extension from Web store first!
If you still cannot install it, just wait for next release. :)

Thank you very much, Alex! It's working, but this extension needs to stay in developer mode to work. But plus is that it's working for all (I think) RMF station, not only for few (I had to enter path for each station earlier...). Thanks! And one more question (I'm wonder :) ) - when will be next release? ;)
Best regards from Poland :)
Insane_pl

Going to close this as fixed.

Good to hear it's working for you!

when will be next release?

No one knows that :)

Actually I'll leave this open until the next release for reference.
Perhaps we should turn your detailed instructions into a wiki page ;)

It's not mine - I took it from https://github.com/david-sabata/web-scrobbler/issues/1038#issuecomment-240474600 :D
But I agree it should be placed into a wiki.

@InsaneLastFM RMF scrobbling should works fine in recently released version. Can you please check that?

Hi Alex! Do you mean 1.59? I will check :)

Sooo, Dear Aleksey, I don't have good news. It's not working. I will test it precisely and I will write you list of things which are NOK (not OK) :) I need to compare 1.58 (from your link) and 1.59.

OK, it's working. Just in the beginning I don't have this:

... and I didn't see songs on my profile. Very slowly it regonized songs or didn't recognized.... but I turned on 1.58 and after 1.59 one more time and it is OK. It recognized songs, send information to my profile, I don't need enter path for each station separately... It's working fine :)

@InsaneLastFM could you please close the issue as resolved?

Resolved :)


wasmtime-wiggle: add small integration test to crate

Feature
The wasmtime-wiggle crate is tested via its use in wasmtime-wasi. It does not have any tests local to the crate. We should add them.
Benefit
wasi is a very complicated interface & implementation that could make it hard to track down whether a bug is in wiggle, wasmtime-wiggle, or wasi-common. Having a integration test would help us narrow that down. It would also serve as documentation on how to use the crate.
Implementation
The wiggle crate's test suite has a number of witx files and implementations. We could add tests that show those integrated end-to-end with wasmtime to the wasmtime-wiggle crate.
We would probably have to write the WebAssembly code that exercises these apis by hand (.wat). That is less than ideal, but I believe we should avoid adding the complication of a Rust or C wasm toolchain to the testing story.
Alternatives
Yolo?

wiggle has a wasmtime_integration test these days.


release for mgmt vmware

https://github.com/Azure/sdk-release-request/issues/439

Still need to wait for service team to confirm about the client name. Please don't merge.

@Abyssknight  Please also change the swagger readme.python.md


fix inconsistent capitalization of TypeScript

Just noticed this while reading this doc.

@evmar apologies for the delay in getting to this.
Please can you ensure the DCO is satisfied?
https://github.com/cue-lang/cue/blob/master/doc/contribute.md#asserting-a-developer-certificate-of-origin
Thanks

Sorry, too much effort for a typo fix.  Maybe if I write another patch I'll do it.

Thanks once again for raising this fix.

Sorry, too much effort for a typo fix

Understood. I can quite empathise that the steps required to contribute a first change are burdensome.
However, they are necessary for the efficient running of a project of this size.
Thankfully, many of the setup pieces are one-off. And those that are guidelines (e.g. commit message style) become second nature with practice.
That said, we are always looking at ways to make contributing to the project easier (of course balanced with other constraints and requirements) so please share any other feedback you might have.
If in future you spot any typos, please do feel free to raise them as issues if that is easier.


ft(API end point for fetching a specific question)

What does this PR do?
A new feature (endpoint for fetching a specific question).
Description of Task to be completed?

Writing endpoint using the MVC structure

How should this be manually tested?

Clone the repo using git clone https://github.com/fejiroofficial/stackOverflow-lite.git.

run git checkout ft-get-question-160037684

run npm install and npm start.

npm run migrate

To test for error

npm test
-using postman

Pull Request Test Coverage Report for Build 83

8 of 16 (50.0%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.5%) to 32.226%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

models/questions.js
0
2
0.0%

models/answers.js
1
3
33.33%

controllers/getSingleQuestion.js
4
8
50.0%

Totals

Change from base Build 81:
1.5%

Covered Lines:
93

Relevant Lines:
213

💛  - Coveralls


error TS2536: Type 'key' cannot be used to index type 'Store<string, S, G, {}>

🔎 Search Terms
error TS2536
🕗 Version & Regression Information

This is a crash
This changed between versions ______ and _______
This changed in commit or PR _______
This is the behavior in every version I tried, and I reviewed the FAQ for entries about _________
I was unable to test this on prior versions because _______

⏯ Playground Link
No response
💻 Code
error TS2536: Type 'key' cannot be used to index type 'Store<string, S, G, {}>'.
354 [key in Keys]: () => Store<string, S, G, {}>[key];
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Found 1 error in ../../node_modules/.pnpm/pinia@2.1.7_typescript@5.4.2_vue@3.4.21/node_modules/pinia/dist/pinia.d.ts:354

🙁 Actual behavior
throw error TS2536
🙂 Expected behavior
it's ok in 5.3.3
Additional information about the issue
No response

Please provide a repro case. Without it, the issue can't be investigated.

myself and some others have been encountering this error upgrading to 5.4.5 https://github.com/vuejs/pinia/discussions/2605
here is a repro. this job first typechecks with 5.3.3 then installs typescript 5.4.5 and typecheck then fails
https://github.com/dten/pinia_ts_repro/actions/runs/8710652508/job/23893007875

Discussion about this issue has been posted here: https://github.com/vuejs/pinia/discussions/2605
I posted a workaround: https://github.com/vuejs/pinia/discussions/2605#discussioncomment-9851659


Platform error

Hi,
Atfer I configure the HB and restart I got this error:
Error: The requested platform 'isolarcloud' was not registered by any plugin.
Any ideas for the fix?
Thanks.

Fixed:
config.json is case sensitive so you should use:
"platform": "ISolarCloud"
But still got an error:
[6/23/2021, 2:46:10 PM] [isolarcloud] TypeError: Cannot read property 'pageList' of null
at ISolarCloudAPI.getPowerStations (/usr/local/lib/node_modules/homebridge-platform-isolarcloud/isolarcloudapi.js:51:37)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:9713) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'forEach' of undefined
at PlatformISolarCloud. (/usr/local/lib/node_modules/homebridge-platform-isolarcloud/platform.js:51:27)
at processTicksAndRejections (internal/process/task_queues.js:97:5)

Thanks for the correct of the name case.
Can you please enable debugging and send the logs?

hi! i have the same problem, do someone have a fix?


fix: deal with missing iowait

Helps with at least one case from https://github.com/ericaltendorf/plotman/issues/38.

Showing a - or something would be nice instead of -1s.

Shows - for @Handri-Kosada on macOS and 4s here on Linux at the moment.


feat(performance): parallelize batch query sending

Resolves https://github.com/google/osv-scanner/issues/1411#event-15601233836
This change parallelizes BatchQuery sending with the maximum concurrent number set at 10.
Performance improvement: Using rocket.chat.json as an example (3 BatchQuery sending), it reduces the scanning time from 26 seconds to 17 seconds.

Codecov Report
Attention: Patch coverage is 71.42857% with 12 lines in your changes missing coverage. Please review.

Project coverage is 69.43%. Comparing base (04ac265) to head (13bf11c).

Files with missing lines
Patch %
Lines

pkg/osv/osv.go
71.42%
8 Missing and 4 partials :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1440      +/-   ##
==========================================
- Coverage   69.61%   69.43%   -0.18%
==========================================
  Files         186      186
  Lines       18645    18663      +18
==========================================
- Hits        12979    12958      -21
- Misses       4965     4997      +32
- Partials      701      708       +7

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


networkStats

Issue Type

[X ] Question

Expected behavior
Is there a way to get networkStats() for all interfaces at once?

not yet but this is an interesting enhancement. I will have a look on it.

@codeniner : as this needs a change in the interface, I will add this in version 4.0. I plan to finish that in the next few weeks.

Should work now. Attention breaking change. networkStats() returns an array now. To get stats for all network interfaces just call networkInterfaces('*'). Version 4.0.0 published


Chore/browserify

test have always been failing? loaded() doesn't return true? what?

Yeah we were checking the wrong variable -- probably they updated their script since we built this integration.


[Generator] Improved content type matching

Motivation
Generator side of https://github.com/apple/swift-openapi-generator/issues/315.
Depends on https://github.com/apple/swift-openapi-runtime/pull/65.
Modifications
Adapted the generator for the new content type matching logic, see the issue and the runtime PR for more details.
Result
The generated code uses the new content type matching logic, which works correctly even for content types with parameters and wildcards.
Test Plan
Adapted tests. The core of the matching logic is exhaustively tested in the runtime PR.

Landed as part of https://github.com/apple/swift-openapi-generator/pull/350


Add additional pool prefixes and unit tests

Added a set of unit tests that do not need to run against a live NetBox.

Wrong destination for pull request. Oops.


Is there a way to tell if the onchange is coming from a ng-model change or user typing?

I'm using json editing with ace and updating an object on my scope every time the editor changes. Then I have a checkbox that a user can click to update a boolean in the object. I then reflect this in the ace editor.
Because I can't use databinding - I need to keep the values in sync manually with JSON.stringify/JSON.parse. This becomes a problem because the editor sends the onChange event even if the change comes from changing the scope value.
Is there a way of getting an event only when the ace editor changes by user input. How difficult would it be to add it? Any ideas how I can sidestep this problem?
Thanks

I have a similar problem. I want to implement auto save using ace but the onChange event is called also when loading the editor with ng-model.
I think that the behavior should be the same as the HTML input element where onChange is fired only if the user change the text. What do you think?
For now I have implemented auto save using onBlur.
thanks

You can use
editor.getSession().on('change', function() { // do something });

Where editor is the ace instance obtained using the onLoad event in the ui-ace attribute.


Blocking to install other package maatwebsite/excel v3

Summary of problem or feature request
I am using the laravel-datatables package and today I tried to install maatwebsite/excel v3 but getting the error as following, is there any to resolve/bypass the situation?
yajra/laravel-datatables-buttons v3.2.1 requires maatwebsite/excel ^2.0

System details

Operating System
PHP Version
Laravel Version
Laravel-Datatables Version

Hello!
Maybe a temporary solution to this ? I face the very same issue.
Thank you

Yes, buttons 4.0 should fixed excel 3.0 compatibility and its compatible on v8. Should be stable as per my project, just updated to it recently with no errors or code adjustments from buttons v3.


Add experimental TypeScript support and run code through prettier!

So as you may be aware, we're working pretty hard on on adding TypeScript support to prettier (prettier/prettier#13 and prettier/prettier#1480).
I thought now that we're parsing almost everything, that it would be a good time to add some experimental support to this extension.
I've adding a new config option, "prettier.runOnTypeScript" that is not documented in package.json, so no-one will find it by accident.
When the setting is enabled, the extension will also provide edits to TypeScript and TypeScript React files.
I then used this extension to run prettier on this extension's source code , with default settings plus "prettier.tabWidth": 4. I committed most of the changes.
Note that for this to work you need to install prettier@master from github, and install the correct typescript-eslint-parser commit from prettier's package.json.
When full TypeScript support is released in prettier, the only changed required are:

Remove the "prettier.runOnTypeScript" setting
Turn on TypeScript support if the installed version of prettier supports TypeScript (by version number).

Great!
I'm not sure in which case we need prettier@master ? To format this extension?

Turn on TypeScript support if the installed version of prettier supports TypeScript (by version number).

This part seems to be complicated to me. We bundle prettier with this extension (in which case we know its version) or we search for a prettier along the path (something we don't know before trying to format)
I'll review in details a little later but it seems we were mostly using single-quote

I'm not sure in which case we need prettier@master ? To format this extension?

To make use of the TypeScript feature, which is not stable enough in the most recent release (v1.3.1).

This part seems to be complicated to me. We bundle prettier with this extension (in which case we know its version) or we search for a prettier along the path (something we don't know before trying to format, ie already registered our formater)

If prettier is bundles with the extension, this is a non-issue.
If prettier is resolved from the path, you would use semver on resolved.version in requireLocalPkg() to make sure it supports TypeScript. (lets say hypothetically that TypeScript support lands in<EMAIL_ADDRESS>you would check semver.gte(resolved.version, "1.5.0").) If it doesn't mat you'd bail out of format().

Thanks I get it.
I've seen 3 ways to handle missing typescript support in local package:

Check it before registering the formater. VSCode will use default TS formater. This is weird as some project path may have prettier. I don't know how to do that
Throw like you said in format.
Fallback to bundled one in format. Similar to previous one, we still format but we hide user's bad setup

My preference goes to 2 and 3. I still don't know which one would be more friendly. (IMHO a little more 2)

I don't care personally, but when I started working on this extension it was using single-quote.
@esbenp Is that something you want?
Also 4 spaces indent, semi for what I can remember.

What's happening with eslintIntegration and runOnTypeScript ?

Made the languageId change and reformatted with:
"prettier.tabWidth": 4,
"prettier.singleQuote": true,
"prettier.trailingComma": "es5",
"prettier.runOnTypeScript": true,

What's happening with eslintIntegration and runOnTypeScript ?

One needs to take precedence. At the moment that is eslint.
Behind the scenes, prettier using typescript-eslint-parser for TypeScript parsing, so it should be possible to get prettier-eslint running on TypeScript code too, but I haven't looked in to that at all yet.
The other alternative would be to switch from prettier-eslint to tslint.

Thank you a lot for your work !
Will need to check what happens on typescript files with prettier-eslint and adjust the behavior accordingly.

prettier/prettier#1835 - Prettier will switch parser to TypeScript if filepath is set.
Prettier supports TypeScript from 1.4.0-beta.

I'll up update the PR shortly.

Great! Can we disable eslintIntegration on ts files? While you are at it :-)
More precisely enable eslintIntegration on javascript and javascriptreact only. I see CSS also coming (More language soon)

Warn : files not yet persisted have no path (Untitled)

Ended up keeping the language mapping rather than relying on prettier (due to the unsaved file issue).

Added CSS/LESS/SCSS support.
Marked prettier dependency as 1.4.0, which will be released soon.

Rebased
Bumped to 1.4.1,
changed docs (keep babylon/flow)
provided a warning when falling back to bundled prettier
skip eslint if running on non-JS.

Thank you very much ! That's perfect.
We can still add typescript as a parser later. (It may fail on flow tho)

Thanks guys! When can we expect a new version of prettier-vscode including<EMAIL_ADDRESS>?

now :D


keep_archived_assets docs could be better

There are multiple separate references to configuring file archiving via keep_archived_assets
I'm not sure how many of these you actually need to set to true in order to get keep_archived_assets to function correctly.  Possibly some of these are previous implementations and no longer do anything.  Seems like we should at have a single source of truth in the docs for how to enable this feature.
Undocumented:
https://github.com/silverstripe/silverstripe-assets/blob/1/src/AssetControlExtension.php#L47
    private static $keep_archived_assets = false;

Documented:
https://github.com/silverstripe/silverstripe-framework/blob/4/docs/en/02_Developer_Guides/14_Files/01_File_Management.md#configuring-file-archiving
SilverStripe\Assets\File:
  keep_archived_assets: true

https://github.com/silverstripe/silverstripe-framework/blob/4/docs/en/02_Developer_Guides/14_Files/03_File_Security.md#configuring-archive-behaviour
class MyVersiondObject extends DataObject
{
    /** Ensure assets are archived along with the DataObject */
    private static $keep_archived_assets = true;

https://github.com/silverstripe/silverstripe-framework/blob/4/docs/en/02_Developer_Guides/14_Files/04_File_Storage.md#versioned-and-archived-files-archived
SilverStripe\Assets\Flysystem\FlysystemAssetStore:
  keep_archived_assets: true

A quick test, indicative though not conclusive
        Config::modify()->set(File::class, 'keep_archived_assets', true); // works by itself
        Config::modify()->set(AssetControlExtension::class, 'keep_archived_assets', true); // works by itself
        Config::modify()->set(FlysystemAssetStore::class, 'keep_archived_assets', true); // does nothing

The optimal way of enabling keep archive would be to set keep_archived_assets to true on File. That's what the doc should say.
The FlysystemAssetStore way is non-sense. The AssetControlExtension way while working is probably more confusing than it needs to be.


DefaultTokenService - access token claims without distinct

DefaultTokenService has two different approaches to claims in identity/access token.
Identity token - https://github.com/IdentityServer/IdentityServer4/blob/45ac86e90ddbf38ace3f7ba8d8b0ef738527a18a/src/IdentityServer4/src/Services/Default/DefaultTokenService.cs#L138
Access token - https://github.com/IdentityServer/IdentityServer4/blob/45ac86e90ddbf38ace3f7ba8d8b0ef738527a18a/src/IdentityServer4/src/Services/Default/DefaultTokenService.cs#L176
It's a bug or it's based on some standards ?

I think the difference is just an oversight. Adding the distinct might make sense.

@leastprivilege -- this is an easy filter to add. any objections?

OK

Ok, I made the change.


Determine whether generated code needs to be checked in

From a comment on #21, there might be reason to check in the generated artifacts to enable people who do not use bazel to depend on this repository; and perhaps to make the test infrastructure easier to wrangle. I am quite opposed to checking in artifacts unless it really is blocking a workflow, so this issue is tracking whether enough need to outweigh the pain of checked-in generated code.
If this is causing you problems, please bump this issue!

I have a strong preference toward:

Checking in any generated code
Checking in vendored dependencies

Regardless of checking in vendored code, I would like to stress that cluster-registry must check in generated code to be compatible with non-bazel based project.
As someone who needs to use the cluster-registry client and coming from an org that hasn't used bazel in the past, this is a blocker.

Yes, I would prefer to check in any generated code as well.
On Wed, Oct 25, 2017 at 1:47 PM, Eric Chiang<EMAIL_ADDRESS>wrote:

Regardless of checking in vendored code, I would like to stress that
cluster-registry must check in generated code to be compatible with
non-bazel based project.
As someone who needs to use the cluster-registry client and coming from an
org that hasn't used bazel in the past, this is a blocker.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/cluster-registry/issues/24#issuecomment-339413474,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAWXmMU5ZwXyIYAp8IwcCsI-1izLO05dks5sv3Q5gaJpZM4P40hI
.

Another note: because this repo doesn't commit its BUILD.bazel files, it's not possible to depend on the generated code even if you're using bazel. (I might be wrong since I'm newer to bazel)

Generated code and BUILD files are now checked in.


Need some help with using seisflows in Cluster

Hello  @bch0w ,
I am encountering issues while using Seisflows on the CentOS cluster, which is managed by Slurm.
Initially, I tried setting up the system by implementing process seisflows par system slurm, but I encountered some problems.
(seisflows) [cugb@comput18 seisflows_workdir]$ seisflows check
which: invalid option -- 'u'
Traceback (most recent call last):
  File "/public/home/.conda/envs/seisflows/bin/seisflows", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/public/home/.conda/envs/seisflows/lib/python3.11/site-packages/seisflows/seisflows.py", line 1395, in main
    sf()
  File "/public/home/.conda/envs/seisflows/lib/python3.11/site-packages/seisflows/seisflows.py", line 447, in __call__
    getattr(self, self._args.command)(**vars(self._args))
  File "/public/home/.conda/envs/seisflows/lib/python3.11/site-packages/seisflows/seisflows.py", line 670, in check
    workflow.check()
  File "/public/home/.conda/envs/seisflows/lib/python3.11/site-packages/seisflows/workflow/forward.py", line 164, in check
    self._modules[req_mod].check()
  File "/public/home/.conda/envs/seisflows/lib/python3.11/site-packages/seisflows/system/slurm.py", line 94, in check
    assert(self.node_size is not None), (
           ^^^^^^^^^^^^^^
  File "/public/home/.conda/envs/seisflows/lib/python3.11/site-packages/seisflows/system/slurm.py", line 121, in node_size
    return self._partitions[self.partition]
           ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: None

I tried to identify the root cause by going through the codes, and it might be because I didn't set up _partitions. I attempted to set up partition and node_size, but was unsuccessful.
Therefore, I changed the system to cluster, which worked well. However, I am now facing a different issue.
(seisflows) [@admin1 seisflows_workdir]$ seisflows check
2024-02-24 15:20:38 (W) | optional module 'preprocess' has not been instantiated, some functionality of the 'Forward' workflow may be skipped
(seisflows) [@admin1 seisflows_workdir]$ seisflows submit
/bin/sh: /public/home/.conda/envs/seisflows/lib/python3.11/site-packages/seisflows/system/runscripts/submit: No such file or directory

I have provided all the information that might be relevant to help you understand the situation better.
Thank you for your time and assistance.
All my settings
seisflows par workflow forward

seisflows par system scluster

seisflows par solver specfem2d

seisflows par preprocess null

seisflows par optimize null

seisflows configure

seisflows check

seisflows submit

Best regards,
Zhang

Thanks for your question @zhangxiaoshuotttt, in order to run on a specific cluster, you will need to write your own sub-class that inherits from Slurm but provides some additional information like partition. Please see, for example, the Chinook sub-system (https://github.com/adjtomo/seisflows/blob/master/seisflows/system/chinook.py).
You can copy-paste and rename this class for your own purpose, and make adjustments to the internal _partitions variable to match the cores-per-node and partition names on your system (https://github.com/adjtomo/seisflows/blob/master/seisflows/system/chinook.py#L50-L52). Similarly the run_call_header and submit_call_header will need to be modified to match how you would call SLURM directives on your system.
Let me know if that makes sense to you! Happy to help you workshop this and include your subclass in the main package.

Thank you for your advice. I agree and will try it now. I'll share my experience if it works and hope it helps others.

I apologize for the delayed response. After testing on our school's cluster, I have found that the method suggested by @bch0w  works well. For beginners who wish to use Seisflows on a cluster managed by Slurm, all that is required is to create a sub-class that inherits from Slurm and provides additional information. @bch0w  has explained this clearly.
Thanks again for this advice.

Great to hear @zhangxiaoshuotttt! Thanks for following up on this, glad that worked for you. If you are interested in contributing your sub class to the package you are more than welcome to submit a Pull Request to the devel branch. I'll close this as complete for now but if you run into any issues please feel free to reopen or start a new one.


Implement proper initEvent property handling

The event dispatcher is using the new Event constructor, as to comply to Web Standards. The problem with this, is that many legacy event properties are now deprecated, which are still being used on older web applications that have yet to conform.
We can get around this by merging our event options to our event object.
-- Edit
It seems the new event objects have readonly properties (introduced with es6), so merging is out of the question. We can alternatively redefine the object's properties otherwise bypassing the prototype specifier.
Example,
var e = new KeyboardEvent('keydown');
var options = {
  cancelable: true,
  bubbles: true,
  which: 13
};
for (key in options) {
  Object.defineProperty(e, key, { value: options[key] })
};
document.dispatchEvent(e);

Resolved: https://github.com/neetVeritas/pyselenium-js/pull/31


Give preference to long lived nodes

One traditional way of preventing flooding attacks (where an attacker issues a bunch of STORE commands and causes nodes to run out of storage capacity) is to give preference to long lived nodes.
In the event a node runs out of capacity it should start dropping stored values of short lived nodes first.
Since we will likely have some kind of rate limiting built into the protocol (see issue #3), the only way to flood the dht would be from many nodes (a botnet for example). But more likely than not, all those botnet nodes will have been recently started making the attack unsuccessful. The attacker would have to keep them running a long time (implying that the owners of those computers never turn them off or restart) in order to have success.
Since vendors, who are the only ones storing data in the dht at the moment, are online most of the time anyway, this should work fairly well.
The only concern might be if most of the nodes in the network are buyers (very short lived nodes), then they can't distinguish between honest nodes and an attacker and may drop stored values from honest nodes. Given a k value of 20, it's likely that honest vendors will see their data persist if only on a few nodes. But it might require more tuning of the k value to ensure that in the face of a flooding attack.

so if I were to attack and saw this, I'd make sure to have my nodes running for a long time before starting the flood.

Yeah it isn't completely perfect, but it's better than nothing. Also consider that if you had a few long lived nodes and started a flooding attack, your IPs would get banned pretty quickly and the damage would be limited.
You would basically need control of a very large botnet where computers remain online for long periods of time. And even then, those nodes IPs will get banned as soon as they start the flood. The attacker would just need to hope the combined messages that do get through before getting banned are enough to be disruptive.
I guess that's an empirical question.

I think the idea is to make it financially or logistically too hard to pull off or sustain. With IPv6 the changing of IPs could hamper the ban method, but that's looking down the road a ways. This problem is common in smaller networks as they don't have strength in numbers and are easy to game or manipulate. Perhaps there's some kind of financial incentive we can make users commit to if they go above a certain size of data. Like have nodes return a message saying basic data storage full, if you need more space you got to pay.

great explanation @cpacia. I guess the only attacks possible then would be very unlikely, by individuals with lots of resources, and sort of a one off type of thing every few months. This def. sounds like a good defense strategy against sustained DDOS.


scripts: note to further investigate in download_blob_from_peer

Currently lbrynet blob get <hash> does not work to download single blobs which are not already present in the system.
The function locks up and never returns.
It only works for blobs that are in the blobfiles directory already.
This bug is reported in lbryio/lbry-sdk, issue #2070.
Since this script does in fact allow downloading an arbitrary blob, we may decide to copy parts of it and add them to lbry.extras.daemon.daemon.jsonrpc_blob_get in order to solve the previous issue.

thanks @belikor :+1:


Some tweaks to the README.

I just ran a small set of improvements to the Readme @oarrabi

Current coverage is 94.75% (diff: 100%)

Merging #30 into master will not change coverage

@@             master        #30   diff @@
==========================================
  Files            23         23
  Lines          1848       1848
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           1751       1751
  Misses           97         97
  Partials          0          0

Powered by Codecov. Last update 6ac2b07...bf1c4f5


Falcosidekick: allow custom labels/annotations on deployment objects

Motivation
The falcosidekick does not support adding custom labels/annotations to deployment objects. It would be useful to allow this so we can label/annotate to our needs.
Feature
Provide and option in chart values for specifying either common labels/annotations for all resources or specific labels/annotations for each resource.
Alternatives
There are no ways to set labels/annotations without directly editing the chart or using another tool to mutate the objects.
Additional context
The falco chart allows custom annotations on the daemonset. A similar implementation would be suitable.

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle stale

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

Since the v0.8.0 of the Falcosidekic chart, annotations and labels can be added to the resources.


Capture current password state fails

Describe the Issue
While using devel branch trying to run site.yml and it is dying @ line 26 column 10 when trying to find {{ ansible_user }} variable.
Expected Behavior
This wasn't expected :)
Additional Notes
Please consult MrSteve for further details.  :)

hi @Sicnus
I believe this has now been resolved. Please let us know if you are still seeing the problem.
thanks
uk-bolly


asset($imageFile) function

By accident i pass wrong image string to image() method and get strange error:
Call to undefined function ChrisKonnertz\OpenGraph\asset()
I found several asset function calls in OpenGraph class:
https://github.com/chriskonnertz/open-graph/blob/d0ddc588383f738146c8f64953c7214fd0fa0214/src/ChrisKonnertz/OpenGraph/OpenGraph.php#L275
https://github.com/chriskonnertz/open-graph/blob/d0ddc588383f738146c8f64953c7214fd0fa0214/src/ChrisKonnertz/OpenGraph/OpenGraph.php#L470
Fast investigation gave me no traces of this function. Can somebody satisfy my curiosity?

Hello.
Oh... well the solution of his riddle is that this is a Laravel function. I don’t know why it’s here.

Quick fix: https://github.com/chriskonnertz/open-graph/commit/8539c0f58dcae5bdd298eca660c9ec9e9a94e5cb
This is not a real fix but if the code did not work for you because of a missing function it should work now.
=> https://github.com/chriskonnertz/open-graph/releases/tag/v1.0.7


TB-4012 Expose variable for using root overlay

What 🕵 🔍

What does the pull request solve?
Exposes variable for using the root overlay in the toggleOverlay method of OverlayStateMixin

How to test 🥼 🔬

Just check the code

Screenshots 📸 📱

Before
After

References 📝 🔗

JIRA

Codecov Report

Merging #122 (23a06b1) into main (d4a509f) will not change coverage.
The diff coverage is 0.00%.

:exclamation: Current head 23a06b1 differs from pull request most recent head b5cefe6. Consider uploading reports for the commit b5cefe6 to get more accurate results

@@           Coverage Diff           @@
##             main     #122   +/-   ##
=======================================
  Coverage   46.08%   46.08%
=======================================
  Files          58       58
  Lines        2194     2194
=======================================
  Hits         1011     1011
  Misses       1183     1183

Impacted Files
Coverage Δ

lib/src/widget/overlay/overlay_state_mixin.dart
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


release request: make a release with #130

#130 updated html5ever to 0.25, it helps me clean up my own dependencies. Would you mind making a new release including it?

Thanks @notriddle!


Create site with pnp, SPO, CSOM and API Extreme slow

Category

[ ] Question
[ ] Typo
[X ] Bug
[ ] Additional article idea

Expected or Desired Behavior
I create with a api new site on sharepoint online.
at the moment this takes more than 360 seconds to create.
When i run the script after the timeout settings of 360 is exceeded my script returns with an internal server error 500 TimeOut
Observed Behavior
I tried to create servereal sites with the pnppowershell module,
this takes for ever to complete
Steps to Reproduce
connect to pnponline / sposervice
run command for "New-[pnp/spo]Site" with the correct paramter for teamsitesitecollection without a Unified GRoup.
With pnp this can take more than 240 seconds
with spo above 80 seconds
Are there more people experience this problem?

Anyone that has this problem also.
TOday i tested the create new teamsites without unified group with following commands.
new-pnptenantsite -title $title -url $Url -owner $owner -timezone [4] -template "STS#3"
new-pnptenantsite -title $title -url $Url -owner $owner -timezone [4] -template "STS#3" -wait
the first one is very quick but access to the site seems to takes longer
with the -wait on the end takes arround 50 up to 357 seconds
i also use the new-pnpsite, but this command creates teamsite with an unified group so didnt work for the testing

I believe the -wait flag simply makes it synchronous and not async (not wait around for it to complete).
This is more about the PNP PowerShell question though... as they may have more insights.
Transferring...


Firehose timestamps should be in ISO format

Corrected create and update timestamp formats.

Codecov Report

Merging #4294 (9687feb) into master (3498689) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master    #4294   +/-   ##
=======================================
  Coverage   95.08%   95.08%
=======================================
  Files         493      493
  Lines       55208    55208
=======================================
  Hits        52496    52496
  Misses       2712     2712

Flag
Coverage Δ

servertests
52.85% <0.00%> (ø)

test_responses
32.73% <0.00%> (ø)

unittests
94.99% <100.00%> (ø)

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

Impacted Files
Coverage Δ

moto/firehose/models.py
94.42% <100.00%> (ø)

Continue to review full report at Codecov.

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


Event title doesn't change

The event title should be loaded in with the page, and then changed every time the event selection buttons are pressed, as is functionality in rfidera.

Leaving this open for now as it is a feature that the app has yet to include, even if it more specifically applied to the older regme.


Remove final mentions of odbx.science

Just tidying up some code that still mentions the old domain, and updating the README badge for the public deployment.

pre-commit.ci autofix


Can be used to create a new PDF document Splited by Quantiy of pages?

The issue is this:
I had a scanned  pdf document with (10) pages , i need to open this document and split on 5 documents, each one  with 2 pages , that´s because the main document contains 5 distincts docs i  need to reclassify this.
can someone give me a idea to do this...

PDF.js is a PDF parsing and rendering library. It is not a PDF producer, so you should find another tool to write PDF files for you.


stm32 gpio_basic_api test fail with CONFIG_ZTEST_NEW_API

Describe the bug
when running the  tests/drivers/gpio/gpio_basic_api/drivers.gpio.2pin  on several stm32 target
the testcase fails
Please also mention any information which could help others to understand
the problem you're facing:

target platforms:  disco_l475_iot1, nucleo_f103rb, nucleo_f207zg, nucleo_f429zi, nucleo_f746zg, nucleo_g071rb, nucleo_g474re, nucleo_l152re, nucleo_wb55rg, nucleo_wl55jc, stm32f3_disco

What have you tried to diagnose or workaround this issue?
This  failure comes with the introduction of the  CONFIG_ZTEST_NEW_API
commit 9422fdff780dba817d9e531de8186af883710ca
of https://github.com/zephyrproject-rtos/zephyr/pull/49568

To Reproduce
Steps to reproduce the behavior:

west build -p auto -b nucleo_f746zg tests/drivers/gpio/gpio_basic_api/
west flash
See error

Logs and console output
*** Booting Zephyr OS build zephyr-v3.1.0-4322-g59884f3b882f  ***
Running TESTSUITE gpio_cb_mgnt
===================================================================
TESTSUITE gpio_cb_mgnt succeeded
Running TESTSUITE gpio_cb_vari
===================================================================
TESTSUITE gpio_cb_vari succeeded
Running TESTSUITE gpio_port
===================================================================
START - test_gpio_port
Validate device gpio@40021800
Check gpio@40021800 output 9 connected to input 14
OUT 9 to IN 14 linkage works
- bits_physical
- pin_physical
- check_raw_output_levels
- check_logic_output_levels
- check_input_levels
- bits_logical
- check_pulls
 PASS - test_gpio_port in 0.023 seconds
===================================================================
TESTSUITE gpio_port succeeded

------ TESTSUITE SUMMARY START ------

SUITE SKIP -   0.00% [gpio_cb_mgnt]: pass = 0, fail = 0, skip = 0, total = 0 duration = 0.000 seconds

SUITE SKIP -   0.00% [gpio_cb_vari]: pass = 0, fail = 0, skip = 0, total = 0 duration = 0.000 seconds

SUITE PASS - 100.00% [gpio_port]: pass = 1, fail = 0, skip = 0, total = 1 duration = 0.023 seconds
 - PASS - [gpio_port.test_gpio_port] duration = 0.023 seconds

------ TESTSUITE SUMMARY END ------

ERROR: Test 'test_gpio_callback_add_remove' assigned to test suite 'gpio_mgmt' which doesn't exist
ERROR: Test 'test_gpio_callback_enable_disable' assigned to test suite 'gpio_mgmt' which doesn't exist
ERROR: Test 'test_gpio_callback_self_remove' assigned to test suite 'gpio_mgmt' which doesn't exist
ERROR: Test 'test_gpio_callback_variants' assigned to test suite 'gpio_vari' which doesn't exist
===================================================================
PROJECT EXECUTION FAILED

Environment (please complete the following information):

OS: Linux,
Toolchain Zephyr SDK 0.15.0
Version used e5b049249eab5a9bc18a5575fd052e7f7d5bc41e

Expected behavior
*** Booting Zephyr OS build zephyr-v3.1.0-4320-g32ebeb0a5c84  ***
Running TESTSUITE gpio_basic_test
===================================================================
START - test_gpio_port
Validate device gpio@40021800
Check gpio@40021800 output 9 connected to input 14
OUT 9 to IN 14 linkage works
- bits_physical
- pin_physical
- check_raw_output_levels
- check_logic_output_levels
- check_input_levels
- bits_logical
- check_pulls
 PASS - test_gpio_port in 0.023 seconds
===================================================================
START - test_gpio_callback_add_remove
callback_2 triggered: 1
callback_1 triggered: 1
callback_2 triggered: 1
 PASS - test_gpio_callback_add_remove in 3.608 seconds
===================================================================
START - test_gpio_callback_self_remove
callback_remove_self triggered: 1
callback_1 triggered: 1
callback_1 triggered: 1
 PASS - test_gpio_callback_self_remove in 2.508 seconds
===================================================================
START - test_gpio_callback_enable_disable
callback_2 triggered: 1
callback_1 triggered: 1
callback_2 triggered: 1
callback_1 triggered: 1
 PASS - test_gpio_callback_enable_disable in 3.610 seconds
===================================================================
START - test_gpio_callback_variants
callback triggered: 1
OUT init a0001, IN cfg 3400000, cnt 1
callback triggered: 1
OUT init 60000, IN cfg 5400000, cnt 1
callback triggered: 1
OUT init 60000, IN cfg 5c00000, cnt 1
callback triggered: 1
OUT init a0001, IN cfg 3c00000, cnt 1
Mode 4400000 not supported
Mode 2400000 not supported
Mode 4c00000 not supported
Mode 2c00000 not supported
callback triggered: 1
callback triggered: 2
OUT init a0001, IN cfg 7400000, cnt 2
 PASS - test_gpio_callback_variants in 5.538 seconds
===================================================================
TESTSUITE gpio_basic_test succeeded
===================================================================
PROJECT EXECUTION SUCCESSFUL

Additional context
This is like the SUITE SKIP -   0.00% [gpio_cb_mgnt]: pass = 0, fail = 0, skip = 0, or SUITE SKIP -   0.00% [gpio_cb_vari]: pass = 0, fail = 0, skip = 0  are reported as error

@enjiamai could you please give any indication to help fixing this issue ?

Hi @FRASTM , I am looking at it, feedback you soon.

I see a similar pb occurs on west build -p auto -b disco_l475_iot1 tests/drivers/flash with commit f2cbd8405b884c7e06dc571a1b070e14cdaeb067  (PR https://github.com/zephyrproject-rtos/zephyr/pull/49502)
*** Booting Zephyr OS build zephyr-v3.1.0-4714-ge5b049249eab  ***
Running TESTSUITE flash_driver
===================================================================
E: ***** MPU FAULT *****
E:   Stacking error (context area might be not valid)
E:   Data Access Violation
E:   MMFAR Address: 0x20001678
E: r0/a1:  0x5d305b29  r1/a2:  0x29292929  r2/a3:  0x20646900
E: r3/a4:  0x2828203c r12/ip:  0x657a6973 r14/lr:  0x2029745f
E:  xpsr:  0x21000000
E: Faulting instruction address (r15/pc): 0x08003f90
E: >>> ZEPHYR FATAL ERROR 2: Stack overflow on CPU 0
E: Current thread: 0x200002c0 (main)
E: Halting system

I think I found the problem, my bad, the test suite name is not correct for "mgmt" and "vari". Working on the fix, thanks.


Modeling the floating substructure as flexible structure

Hi @jjonkman
I performed elastic analysis using SubDyn for the OC3 platform. Below is my SubDyn file. However, I encountered the following error during runtime. I wanted to ask what might be the cause of this issue?

YangLei
NRELOffshrBsline5MW_OC3spar_SubDyn.dat.txt

Dear @YangLeiTH,
Just a few comments:

Did you ensure that the mass, center of mass, and inertias of the OC3-Hywind spar are the same as what is documented in its specifications report (https://www.nrel.gov/docs/fy10osti/47535.pdf) through this SubDyn model?  I ask because the thickness of your members in SubDyn is quite small and I don't see any lumped masses that could be used to add ballast.  Without the correct mass and center of mass, the floating system may not be hydrostatically stable.
When modeling floating substructures, SubDyn should be told that the substructure is floating by setting NReact = 0 rather than NReact = 1 with all of the fixity flags set to zero.
When modeling a floating substructure in SubDyn, I would not suggest using Rayleigh damping of Guyan modes, which are the rigid-body modes when the substructure is floating.

Best regards,

Hi @jjonkman
I have solved the problem from the forum of NREL. But I have a new question to ask you, when enabling the SubDyn module, should the platform mass and all inertia be set to zero in ElastoDyn module?
Best regards,

Dear @YangLeiTH,
You should not double count any mass or inertia.  The mass of the substructure accounted for in SubDyn should be absent from the platform in ElastoDyn.  If the full substructure is modeled in SubDyn, then the platform mass and inertias in ElastoDyn can be zero.
When you enable both PtfmYDOF and YawDOF in ElastoDyn, please note that it is necessary to set PtfrmYIner nonzero as discussed recently in the following topic on our forum: https://forums.nrel.gov/t/wind-veer-parameter/2103/55.
Best regards,


🚑 add a prop 'decimalPlaces' for more flexible use

@xlsdg
Add a prop 'decimalPlaces' for more flexible use.
Just fixed the issue #28 'Decimal places property missing'.

Decimal places property missing #28
What happened to the decimals property? In a much earlier version there was a property that allowed for setting the decimal places. Now it's being ignored and I see no reference to it in the docs.

Cause  I  encountered this scene, too.
But the original property must place in the config, a little bit inflexible when configurate more than one instance.
The modifications are as follows:
decimalPlaces: {
type: Number,
required:   ##false,
default: 0,
}
const config = that.decimalPlaces ?
Object.assign({}, that.options, {
decimalPlaces: that.decimalPlaces,
}) :
that.options;
const instance = new CountUp(
dom,
that.endVal,
config
);

Is this going to be merged in soon I need to use decimals?

@xlsdg Please check this code


Change to Add Evidence navigation flow

Describe the bug
When adding evidence to an observation, the user should go back to the camera, then straight back to ObsEdit without landing on Suggestions a second time. Since they've already given an identification, there's no need for them to change their identification while adding evidence.
To Reproduce
Steps to reproduce the behavior:

Create an observation
Tap add evidence on ObsEdit
Tap camera to add evidence via the camera
Take a new photo to add to the observation
Land on suggestions, when we want the user to land directly back on ObsEdit

Expected behavior
Check with @abhasinat if the desired user flow isn't clear. This should only impact the camera, since we only show Suggestions after the camera screens.

FYI, this is the authoritative obs creation flow: https://www.figma.com/file/gzrhrvjMvaL5aFvgqnVtZ9/iNat-Mobile-Flows?type=whiteboard&node-id=29-4740&t=aKH7mnoVSljKYjJ0-0


Redirect URI Mismatch Error

Users attempting to log in with GitHub are encountering an error message stating that the redirect_uri is not associated with the application. This indicates a misconfiguration or potential security risk.
Steps to Reproduce:

Go to the login page of your application.
Click the "Continue with GitHub" button.
You will be redirected to GitHub's authentication page.
Click the "Sign in with GitHub" button.

Expected Behavior:
Users should be successfully redirected to the intended application after authentication.
Possible Causes:

Incorrectly configured redirect_uri in the application settings.
Mismatch between the registered redirect_uri and the actual redirect URL.
Security measures preventing unauthorized redirects.

Fixed by updating the url in Settings > Developer settings > Svelte MiniApps


BGPPeer CRD: move to beta

The CRD is stable enough, can be moved to beta so users can rely on it.

Lgtm once ci passes

LGTM


MacOS warning: FSEventStreamScheduleWithRunLoop is deprecated

Problem
On https://github.com/celestiaorg/celestia-app/commit/800de231082f3dabeb76385defbf69e1bad670b8 I'm observing a warning
$ make test
--> Running unit tests
# github.com/rjeczalik/notify
cgo-gcc-prolog:217:2: warning: 'FSEventStreamScheduleWithRunLoop' is deprecated: first deprecated in macOS 13.0 - Use FSEventStreamSetDispatchQueue instead. [-Wdeprecated-declarations]
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/FSEvents.framework/Headers/FSEvents.h:1138:1: note: 'FSEventStreamScheduleWithRunLoop' has been explicitly marked deprecated here

Proposal
The warning appears to originate from https://github.com/rjeczalik/notify which is transitively brought in via go-ethereum. I expect this issue to be resolvable after go-ethereum creates a release with https://github.com/ethereum/go-ethereum/pull/26176 (likely 1.11.0) and this repo upgrades to it.

Closed by https://github.com/celestiaorg/celestia-app/pull/1387
Verified no more warnings
$ make test-short
--> Running tests in short mode
ok  	github.com/celestiaorg/celestia-app/app	10.631s
?   	github.com/celestiaorg/celestia-app/app/encoding	[no test files]
ok  	github.com/celestiaorg/celestia-app/app/test	9.080s
?   	github.com/celestiaorg/celestia-app/cmd/celestia-appd	[no test files]
?   	github.com/celestiaorg/celestia-app/cmd/celestia-appd/cmd	[no test files]
?   	github.com/celestiaorg/celestia-app/pkg/appconsts	[no test files]
ok  	github.com/celestiaorg/celestia-app/pkg/da	0.855s
ok  	github.com/celestiaorg/celestia-app/pkg/inclusion	0.648s
ok  	github.com/celestiaorg/celestia-app/pkg/proof	1.023s
ok  	github.com/celestiaorg/celestia-app/pkg/shares	0.758s
ok  	github.com/celestiaorg/celestia-app/pkg/wrapper	0.278s
?   	github.com/celestiaorg/celestia-app/proto/celestia/da	[no test files]
?   	github.com/celestiaorg/celestia-app/testutil	[no test files]
?   	github.com/celestiaorg/celestia-app/testutil/blobfactory	[no test files]
?   	github.com/celestiaorg/celestia-app/testutil/keeper	[no test files]
?   	github.com/celestiaorg/celestia-app/testutil/namespace	[no test files]
?   	github.com/celestiaorg/celestia-app/testutil/network	[no test files]
?   	github.com/celestiaorg/celestia-app/testutil/testfactory	[no test files]
ok  	github.com/celestiaorg/celestia-app/testutil/testnode	1.424s
ok  	github.com/celestiaorg/celestia-app/x/blob	1.274s
?   	github.com/celestiaorg/celestia-app/x/blob/client/cli	[no test files]
ok  	github.com/celestiaorg/celestia-app/x/blob/client/testutil	2.226s
ok  	github.com/celestiaorg/celestia-app/x/blob/keeper	1.730s
ok  	github.com/celestiaorg/celestia-app/x/blob/types	0.439s
ok  	github.com/celestiaorg/celestia-app/x/blob/types/test	2.462s
ok  	github.com/celestiaorg/celestia-app/x/qgb	1.643s
?   	github.com/celestiaorg/celestia-app/x/qgb/client	[no test files]
ok  	github.com/celestiaorg/celestia-app/x/qgb/keeper	1.977s
ok  	github.com/celestiaorg/celestia-app/x/qgb/types	1.545s
ok  	github.com/celestiaorg/celestia-app/x/tokenfilter	1.563s


No ability to clear out resources after werf.io/set-resource-only-on-creation removed

The case:

werf.io/set-resources-only-on-creation was defined in the resource;
VPA has set some resource limits for the resource in the kubernetes;
user deletes werf.io/set-resources-only-on-creation annotation and redeploys an app.
werf does not clear resource limits that has been set by VPA.

Maybe werf should automatically clear resource limits in such case? For now it should be possible to delete limits by setting spec.containers[].resources=null explicitly in the templates, or by editing resource manually.
Take into account that resource without limits is always potentially dangerous.

There is no such feature as werf.io/set-resources-only-on-creation anymore.


fairseq installation failed

🐛 Bug
fairseq installation failed
To Reproduce
Steps to reproduce the behavior (always include the command you ran):
(venv) C:\Users\AMIT\PycharmProjects\nmtAmit\fairseq>pip install --editable ./
Obtaining file:///C:/Users/AMIT/PycharmProjects/nmtAmit/fairseq
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing wheel metadata ... done
Collecting cython
Using cached Cython-0.29.21-cp37-cp37m-win_amd64.whl (1.6 MB)
Collecting regex
Using cached regex-2020.7.14-cp37-cp37m-win_amd64.whl (268 kB)
Collecting cffi
Using cached cffi-1.14.0-cp37-cp37m-win_amd64.whl (176 kB)
Collecting tqdm
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError(<pip._vendor.urllib3.connection.VerifiedHTTPSC
onnection object at 0x000001C34F6E9408>, 'Connection to files.pythonhosted.org timed out. (connect timeout=15)')': /packages/af/88/7b0ea5fa8192d1733dea459a9e3059afc87819cb4072c43263f2e
c7ab768/tqdm-4.48.0-py2.py3-none-any.whl
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError(<pip._vendor.urllib3.connection.VerifiedHTTPSC
onnection object at 0x000001C34F6E9B48>, 'Connection to files.pythonhosted.org timed out. (connect timeout=15)')': /packages/af/88/7b0ea5fa8192d1733dea459a9e3059afc87819cb4072c43263f2e
c7ab768/tqdm-4.48.0-py2.py3-none-any.whl
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError(<pip.vendor.urllib3.connection.VerifiedHTTPSC
onnection object at 0x000001C34F6E9CC8>, 'Connection to files.pythonhosted.org timed out. (connect timeout=15)')': /packages/af/88/7b0ea5fa8192d1733dea459a9e3059afc87819cb4072c43263f2e
c7ab768/tqdm-4.48.0-py2.py3-none-any.whl
Downloading tqdm-4.48.0-py2.py3-none-any.whl (67 kB)
|████████████████████████████████| 67 kB 434 kB/s
Requirement already satisfied: torch in c:\users\amit\pycharmprojects\nmtamit\venv\lib\site-packages (from fairseq==0.9.0) (1.5.1+cu101)
Requirement already satisfied: numpy in c:\users\amit\pycharmprojects\nmtamit\venv\lib\site-packages (from fairseq==0.9.0) (1.19.0)
Collecting sacrebleu
Using cached sacrebleu-1.4.12-py3-none-any.whl (54 kB)
Collecting pycparser
Using cached pycparser-2.20-py2.py3-none-any.whl (112 kB)
Requirement already satisfied: future in c:\users\amit\pycharmprojects\nmtamit\venv\lib\site-packages (from torch->fairseq==0.9.0) (0.18.2)
Collecting mecab-python3==0.996.5
Using cached mecab-python3-0.996.5.tar.gz (65 kB)
Collecting portalocker
Downloading portalocker-1.7.1-py2.py3-none-any.whl (10 kB)
Collecting pywin32!=226; platform_system == "Windows"
Using cached pywin32-228-cp37-cp37m-win_amd64.whl (9.1 MB)
Using legacy setup.py install for mecab-python3, since package 'wheel' is not installed.
Installing collected packages: cython, regex, pycparser, cffi, tqdm, mecab-python3, pywin32, portalocker, sacrebleu, fairseq
Running setup.py install for mecab-python3 ... error
ERROR: Command errored out with exit status 1:
command: 'c:\users\amit\pycharmprojects\nmtamit\venv\scripts\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\AMIT\AppData\Local\Temp\pip-ins
tall-lctmv_th\mecab-python3\setup.py'"'"'; file='"'"'C:\Users\AMIT\AppData\Local\Temp\pip-install-lctmv_th\mecab-python3\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"',
open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\AMIT\AppData\Local\Temp\pip-rec
ord-7q3mmpux\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\amit\pycharmprojects\nmtamit\venv\include\site\python3.7\mecab-python3'
cwd: C:\Users\AMIT\AppData\Local\Temp\pip-install-lctmv_th\mecab-python3
Complete output (10 lines):
WARNING: The wheel package is not available.
running install
running build
running build_py
creating build
creating build\lib.win-amd64-3.7
creating build\lib.win-amd64-3.7\MeCab
copying src\MeCab_init.py -> build\lib.win-amd64-3.7\MeCab
running build_ext
error: [WinError 2] The system cannot find the file specified
----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\users\amit\pycharmprojects\nmtamit\venv\scripts\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\AM
IT\AppData\Local\Temp\pip-install-lctmv_th\mecab-python3\setup.py'"'"'; file='"'"'C:\Users\AMIT\AppData\Local\Temp\pip-install-lctmv_th\mecab-python3\setup.py'"'"';f=
getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\User
s\AMIT\AppData\Local\Temp\pip-record-7q3mmpux\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\amit\pycharmprojects\nmtamit\venv\include\si
te\python3.7\mecab-python3' Check the logs for full command output.
Environment

fairseq Version (e.g., 1.0 or master): installation failed
PyTorch Version (e.g., 1.0): pip install torch==1.5.1+cu101 torchvision==0.6.1+cu101 -f https://download.pytorch.org/whl/torch_stable.html
OS (e.g., Linux): windows 10
How you installed fairseq (pip, source): both
Build command you used (if compiling from source):
Python version: 3.7
CUDA/cuDNN version: 10.1
GPU models and configuration: rtx 2060

Sorry, I don't have access to a Windows machine to reproduce this. If you are able to figure it out, please share the details for other people who may run into this issue!

I'm trying to work this out myself, the problem is somehow related to mecab-python3 as a dependency specifically since just doing an installation of it itself through pip install mecab-python3 works with no problems.
I've narrowed down the fault to a part of the setup.py script by running the same command and trying to see where it breaks since it doesn't tell us what file is missing.
c:\python38\python.exe -u -c "import sys, setuptools, tokenize; sys.argv[0] = 'C:\\Users\\1mike12\\AppData\\Local\\Temp\\pip-install-dkxr7pxv\\mecab-python3\\setup.py'; __file__= 'C:\\Users\\1mike12\\AppData\\Local\\Temp\\pip-install-dkxr7pxv\\mecab-python3\\setup.py'; f=getattr(tokenize, 'open')(__file__); code=f.read().replace('\r\n', '\n'); f.close(); exec(compile(code, __file__, 'exec'))" install --record 'C:\Users\1mike12\AppData\Local\Temp\pip-record-u9dvxngc\install-record.txt' --single-version-externally-managed
 --compile --install-headers 'c:\python38\Include\mecab-python3'

Whatever is breaking is on this line:
 def mecab_config(arg):
            # error on next line line
            output = subprocess.check_output(["mecab-config", arg],
                                             env=clocale_env)

Hello, I'm the mecab-python3 maintainer. Sorry you're having trouble with the package.
It looks like your installation is pulling in mecab-python3 because of sacrebleu. A recent upgrade to mecab-python3 broke that package, I have opened a PR to fix it but it hasn't been addressed yet.
Versions of mecab-python3 before 1.0 don't have Windows wheels, and will not work on Windows unless the user already has MeCab installed and some other prep ready. 1.0+ has Windows wheels.
If you aren't using Japanese, it's probably fine to comment out the relevant parts of sacrebleu for the time being.

I still want to evalutate the model using the BLEU metric, it there a way to do this without disabling --eval-bleu altogether?
I'm wondering if there are any options where we can install sacrebleu that doesn't depend on mecab-python3.

sacrebleu has released a new version and now you can install fairseq  on windows 10.

Just tested installation myself. Everything worked! Should be good to close


Code Cleaning

Description
This is a fairly sizeable changelist of some changes to improve code health.
I'm trying to make one commit per big change to try and make it easy to follow.
Only big breaking change here is the removal of INamedNBTSerializable. I've removed it in favor of having explicit serialized names.
Todo

[ ] Finish standardisation of NBT keys
[ ] Move some keys from EIONBTKeys to CoreNBTKeys.
[ ] Review machine loot tables
[ ] Move slot access and inventory layout stuff to core.
[ ] Review lang values (not keys, that is a future task)

Checklist:

[ ] My code follows the style guidelines of this project (.editorconfig, most IDEs will use this for you)
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation

Maybe you could also look into the "range" of machines, as right now it's not unified. All of these methods should probably be in the base machine class

Maybe you could also look into the "range" of machines, as right now it's not unified. All of these methods should probably be in the base machine class

I'll take note of this as I have plans to review some machines stuff in my next PR :)

Once #167 is merged, I can finish the NBT key stuff and this will be ready to merge. For now opening for initial review.


Old JWT Tokens being presented to the API

Over a number of weeks I have seen behaviour (seemingly after a CRUD event) where the browser suddenly logs out. There seems to be no obvious reason for this, as the JWT is only a few minutes old.
Today I captured the event in logs where a previously issued JWE was presented to the API and rejected (causing the logout event).
Please see the log attached where a JWT is issues at the start of the session, then on a subsequent operation a previous token is presented.
2023-08-18 16:54:37,739 [pool-29-thread-1] JwtAuthenticationProvider ERROR- jwt validation failed, reason JWT rejected due to invalid signature. Additional details: [[9] Invalid JWS Signature: JsonWebSignature{"kid":"00001","alg":"RS256"}->eyJraWQiOiIwMDAwMSIsImFsZyI6IlJTMjU2In0.eyJqdGkiOiJZSkgxaGJ4aFJvZ1VDOHpMZjJfeWdnIiwiaWF0IjoxNjkyMzczODk2LCJhdWQiOiJIaXZlTVEtRWRnZS1BcGkiLCJpc3MiOiJIaXZlTVEtRWRnZSIsImV4cCI6MTY5MjM3NTY5NiwibmJmIjoxNjkyMzczNzc2LCJzdWIiOiJhZG1pbiIsInJvbGVzIjpbImFkbWluIl19.CPwswyJtkeHvOYWTK9Y6DTcEAA-2QeMKfWB-c80bAZbKmLacDjlcekHJM7L66HI1qG4MH3urWljQa4G0zbNztGoMu9NVp6EIAc_UW4YNSx-ovaFTAZLPyfFYvWtSlDjN84A5CZ2FVeKBTiBaO7QsvQ47_ak5dl4CtLZ_yD2HG01GzvkN9Lhk6046P8cT_SO_Bmsij4F7R1RsZAxa1mBTHAS8eKvexwAMzwWsXsvxha5imHsd14aIX8Poe321R_gZkQnooTRduisYsVxyMVaJZu3GSAfYF2xzxZ9UkwzUM4TTn2JiexVPIDm02m4xqgGu3rxe_4Sosz82Hy--MzY_lA]

2023-08-18 16:54:41,707 [pool-29-thread-2] JwtAuthenticationProvider INFO- Generated JWE 'eyJraWQiOiIwMDAwMSIsImFsZyI6IlJTMjU2In0.eyJqdGkiOiIwZmdDX3gzcHJrdHVwbWRLTHhMVUpnIiwiaWF0IjoxNjkyMzc0MDgxLCJhdWQiOiJIaXZlTVEtRWRnZS1BcGkiLCJpc3MiOiJIaXZlTVEtRWRnZSIsImV4cCI6MTY5MjM3NTg4MSwibmJmIjoxNjkyMzczOTYxLCJzdWIiOiJhZG1pbiIsInJvbGVzIjpbImFkbWluIl19.AtdhBfZiLJxiFmZMtFjmQmUhwMaG31ZklIIOdNrrh94C3w4Pr7v-Rn-k0D7VdlkF-LyamZUUAGIr4JG8Xse9NovKX8vBwvSodTOKv-9JBF5PB4Q3Tj_1GHGSTKXwzz6X2W339y18r0kwQp_hBt_Tl9mSHA4reIoAUJuB4SXfYZvHCoIcbnMqVgdZKt2i_xeCWsjvuB8vlsJ7Dm8EIdDrgJLHIVQhIb4Sv4cx0Lk_umiPAa3Kj7Ufyfg2n7G8zbF_VNnoPQdqmdJd1hpn3AYbnx5HwaplFtv5qafCHC572214UwOKqPx8mSrkvSeBtg08qPmolryavsgGjh5E48G2_w' for principal ApiPrincipal{name='admin', roles=[admin]}

2023-08-18 16:54:50,796 [pool-29-thread-1] JwtAuthenticationProvider ERROR- jwt validation failed, reason JWT rejected due to invalid signature. Additional details: [[9] Invalid JWS Signature: JsonWebSignature{"kid":"00001","alg":"RS256"}->eyJraWQiOiIwMDAwMSIsImFsZyI6IlJTMjU2In0.eyJqdGkiOiJZSkgxaGJ4aFJvZ1VDOHpMZjJfeWdnIiwiaWF0IjoxNjkyMzczODk2LCJhdWQiOiJIaXZlTVEtRWRnZS1BcGkiLCJpc3MiOiJIaXZlTVEtRWRnZSIsImV4cCI6MTY5MjM3NTY5NiwibmJmIjoxNjkyMzczNzc2LCJzdWIiOiJhZG1pbiIsInJvbGVzIjpbImFkbWluIl19.CPwswyJtkeHvOYWTK9Y6DTcEAA-2QeMKfWB-c80bAZbKmLacDjlcekHJM7L66HI1qG4MH3urWljQa4G0zbNztGoMu9NVp6EIAc_UW4YNSx-ovaFTAZLPyfFYvWtSlDjN84A5CZ2FVeKBTiBaO7QsvQ47_ak5dl4CtLZ_yD2HG01GzvkN9Lhk6046P8cT_SO_Bmsij4F7R1RsZAxa1mBTHAS8eKvexwAMzwWsXsvxha5imHsd14aIX8Poe321R_gZkQnooTRduisYsVxyMVaJZu3GSAfYF2xzxZ9UkwzUM4TTn2JiexVPIDm02m4xqgGu3rxe_4Sosz82Hy--MzY_lA]

I have managed to replicate a similar (same?) scenario with the frontend.
I'm tacking the token in the HTTP middleware, both when the request is sent ([dev] Token  FVazWA) and a 401 is returned, triggering a logout (dev] Token  FVazWA (logout)). Only printing the last 6 chars of the token :-)

What's happening is this:

Operations as usual, request being sent successfully (white) with the current token (FVazWA)
At some point the backend is shut down.
The following requests all fail (in red, (failed)net::ERR_CONNECTION_REFUSED))
The frontend is still operational, waiting for the connection to re-establish
The backend is restarted
The next request is this time successful, but still using the current token (no reason to clean it)
The backend doesn't accept the token, and returns a 401
The frontend logs the user out ([dev] Token  FVazWA (logout)) and the token is cleaned up ([dev] Token  undefined )
The frontend is now on the login page, waiting for re-authentication

The backend logs the following item:
2023-09-15 12:28:12,752 ERROR - jwt validation failed, reason JWT rejected due to invalid signature. Additional details: [[9] Invalid JWS Signature: JsonWebSignature{"kid":"00001","alg":"RS256"}->eyJraWQiOiIwMDAwMSIsImFsZyI6IlJTMjU2In0.eyJqdGkiOiI4X0hJd1ZneGx0ZExtQWQtTDZnbkxnIiwiaWF0IjoxNjk0Nzc3MjcwLCJhdWQiOiJIaXZlTVEtRWRnZS1BcGkiLCJpc3MiOiJIaXZlTVEtRWRnZSIsImV4cCI6MTY5NDc3OTA3MCwibmJmIjoxNjk0Nzc3MTUwLCJzdWIiOiJhZG1pbiIsInJvbGVzIjpbImFkbWluIl19.ju6gCAsIIBqbLJ_y-0seTMABoa98ANe9n2zhTvC6jSEAPa1Wr-8ogjCFRP22CJAQLImrCXGlF0kM7kINK3bnBMbKobxnDUum7Cn4Oq_E4TO4LTCrOLBGQaM56YNAJcPiAoWyWwWRcCLyLZUwIWOC6AVbuAr4-XJ5q_9icdYkxgjJzO9vG2LqkkR33sU6JrjHGAwlGt62ImwNo6k3FWe9zVUI2bvVDwZA_YYLE5AHj4NHrE7p7FF-4kPd5t27Z6239xu5oyRb8DDXF3IqF_Bqf4s6BNOb9ARRvbP6hPY17leRD8o9V6JtoASwxAuB5QbtxznVT_6hc3_CZeJqFVazWA]

clearly not recognising the current token as valid
The above scenario seems totally correct to me: there is no reason to indicate that the current token in store in the front is in any way invalid.
What happens to the backend JWT Provider when the system is shut down? I'm obviously expecting a loss of persistence (in memory storage?) so not surprised if I'm forced out at restart.
But what happens during the scenarios we have seen, where there was clearly no backend shutdown? Is there any case where the JWT Provider might lose its persistent state?

Thanks for the analysis. The backend shouldn't required to store the token.

The backend error message states that jwt validation failed, reason JWT rejected due to invalid signature
The payload is okay since it hasn't changed and the token is still before the expiry time (I've decoded it and check the iat and exp properties)
So maybe the backend JWT provider doesn't; recognise the signature since the private or public key has changed due to the restart? If that's the case, could it also happen during a "normal" session?

Incidentally, the frontend, thanks to React Query caching, is behaving pretty good when network is down but there are way too many operations that should not be available and way not enough feedback to the user notifying about the  downtime

Question - "... So maybe the backend JWT provider doesn't; recognise the signature since the private or public key has changed due to the restart? If that's the case, could it also happen during a "normal" session?"
It wouldn't be "normal" for this to occur during a session, however, we need to allow for the fact that the presented JWT could be considered invalid at any point by the API server for any number of reasons.

Descoping for .6 release since the issue is still not clear. Can be rescoped for .7 with addition of the re-issuance filter.