v1.14.0

https://github.com/WasmEdge/WasmEdge/releases/tag/0.14.0 is released (2024-05-24).
How do I get wasmedge-go v0.14.0?

Hi @hiroshi
Thanks for this issue. The WasmEdge-go is not yet up-to-date with 0.14.0. If you are interested in using Go SDK, you can try to downgrade to 0.13 or try to upgrade the codebase to 0.14.0. Thanks.

I'm trying to use wasmedge-quickjs with wasmedge-go.
When I tried quickjs with wasmedge CLI 0.13, the fetch API is very slow or timed out, but it solved since I updated wasmedge to 0.14 as I recall.
I do same with version 0.13.4 of wasmedge-go and wasmedge, got same result.
I'll try to solve this problem. Thanks.

Hi @hiroshi,
Sorry that due to the limited engineering resource, we don't have plan to update WasmEdge-go with 0.14.0 now.
We'll publish the new version after the major higher priority tasks are completed.
And we also welcome the contributors.
Thanks!


fix mpi_finalize fail

Change ESMA_env and MAPL version

Hold please.  Matt tagged v2.1.3 with v2.1.2+intel19.1. I created a v2.1.3+intel19.1 and pushed that tag. It is identical to v2.1.2+intel19.1 I was just being clumsy/stupid.

Ah. I figured it out. The LDAS never got v2.1.2 since it was a slight NAS bugfix. LDAS doesn't run at NAS as far as I know, so I never gave you one. So, when I was making this new ESMA_env tag, I saw the last I gave you was 2.1.1 and said, "Let's advance that patch by 1".
🤞 this is the last time I do this. Sorry about that

@weiyuan-jiang : Can you please update the branch if needed and then re-test?  I'm a bit lost as to what exactly the tags should be in Externals.cfg.

I have updated it and am testing it fully under sles12


Failed to recognise file format or the file format is not currently supported

Hi wingardium,
Thank you for sharing your code for reading and converting SPC files to TSV files.
I would like to read/convert spc files from UV-Vis spektrofotometar, Shimadzu 1700 and to analyze it, but I got message:
Failed to recognise file format or the file format is not currently supported.
I have looked at code and the value of “bytes[1]” of file https://github.com/wingardium/spc-reader-java/blob/master/src/main/java/Reader.java line in 121 is -49.
Could you, please, tell me what is the problem and could it be solver to read “my scp format”?

Hi mpele,
I started this tool initially for helping with the lab team in my university to convert spc files. Apparently our lab team only produces LSB format spc files. So unfortunately, this tool now only supports LSB format.
MSB, OLD supports will be added. I haven't been able to find a Shimadzu spc data format specification file. So I am not sure how the structure of this Shimadzu format is.
If you happen to have the Shimadzu spc data spec and would like to share it with me, I am happy to take some time to add it into this tool.

It looks like that Shimadzu has its own property spc file format.
Thanks for help
On Thu, Mar 16, 2017 at 11:21 AM, wingardium<EMAIL_ADDRESS>wrote:

Hi mpele,
I started this tool initially for helping with the lab team in my
university to convert spc files. Apparently our lab team only produces LSB
format spc files. So unfortunately, this tool now only supports LSB format.
MSB, OLD supports will be added. I haven't been able to find a Shimadzu
spc data format specification file. So I am not sure how the structure of
this Shimadzu format is.
If you happen to have the Shimadzu spc data spec and would like to share
it with me, I am happy to take some time to add it into this tool.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wingardium/spc-reader-java/issues/1#issuecomment-287014769,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALp4qnNN54wprDai13_nYahUWbNHQG7Gks5rmQ0OgaJpZM4Me7cO
.


Create PostCORTX.md

Describe your changes in brief
Changes

[ ] Why is this change required? What problem does it solve?
[ ] If proposing a new change then please raise an issue first

How Has This Been Tested? (Optional)

[ ] Please describe in detail how you tested your changes.
[ ] Include details of your testing environment, and the tests you ran to
[ ] How your change affects other areas of the code, etc.

Screenshots (if appropriate)
Checklist

[ ] tested locally
[ ] added new dependencies
[ ] updated the docs
[ ] added a test

View rendered doc/integrations/PostCORTX.md

This is the initial draft.  The final commit is imminent.

Closing because this looks incomplete.  Please let us know @wsmithparsec if you want help to complete this or if you think it should be re-opened.  Thanks for your interest in CORTX!


Support .jpg sources

Currently we expect 8 bit raw input. Some microscope cameras are UVC devices that only output JPEG streams. This messes up the pipeline and needs at least minor tweaking

We have a handful of different input cases currently:

8 bit raw
12 bit raw
.jpg

Where "raw" here means a flattened pixel buffer as opposed to say .jpg
We probably need to setup the pipeline different for each of these especially in order to get optical capture. Ex: one quick hack would be to encode .jpg inputs into raw, but then to save as .jpg you'd need to re-encode it. Similarly hacks like this will make saving 12 bit raw difficult.
Some cameras (ex: my web cam) support both raw and .jpg. Ideally, at least for testing, we should also have the ability to force one of those configurations. Ideally we should also auto detect a default. Note that this is per caps negotiation which is different than setting properties as is allowed today (ie via "source_properties").

Out of scope for now. Re-open if we have a use case that would specifically benefit from this


Add custom resource view for cli

What can be improved
Provide a custom resource view for the kubectl/oc cli's to better expose the state of the Session
Why
Easier view of the Session state.
https://medium.com/@xcoulon/customizing-the-server-side-printing-of-your-kubernetes-custom-resources-1c84b7631686

That's as far as we can get
❯ ike develop -d ratings-v1 -p 9080 -r 'ruby details.rb 9080'  --route header:ike-session-id=feature-y
....
❯ oc get sessions
NAME           REF NAME     STRATEGY       ROUTE TYPE   ROUTE NAME       ROUTE VALUE   AGE
bartek-lmwwp   ratings-v1   telepresence   header       ike-session-id   feature-y     54s

I was trying to figure out if we e.g. can contact route to have it as one column, but I'm getting an error from kubebuilder saying sth like:
ERRO[0000] Error: Field spec.additionalPrinterColumns[2].JSONPath, Value {@.status.route.type}:{<EMAIL_ADDRESS>spec.additionalPrinterColumns[2].JSONPath: Invalid value: "{@.status.route.type}:{<EMAIL_ADDRESS>must be a simple json path starting with .

Seems that it is not really possible (yet?):
https://github.com/operator-framework/operator-sdk/issues/3872#issuecomment-691745700


Package request: diesel-cli

Project description
Diesel CLI generates schema.rs and performs other database operations for Rust projects that use Diesel.
Metadata

homepage URL: https://diesel.rs/
source URL: https://github.com/diesel-rs/diesel/tree/master/diesel_cli
license: mit | apache2
platforms: all

I should have a PR soon.


refactor #198: convert null checks in Network.kt to kotlin style

Issue Fix
Fixes #198

[x] Run the unit tests with ./gradlew check to make sure you didn't break anything

[x] If you have multiple commits please combine them into one commit by squashing them.

@garvit984 Please review.


Formatting makes LS non-responsive

If I call the Format action then:

The document is not formatted.
The language server becomes non-responsive. Nothing else seems to work anymore.

This seems to be a recent regression.

I can reproduce it too.

I found out that problem is caused by CodeSniffer code. CS is trying to read values from STDIN and after that LS is not responsive. I'm not sure how exactly this affects LS but without this code everything works ok.
https://github.com/squizlabs/PHP_CodeSniffer/blob/2.7.0/CodeSniffer/CLI.php#L406

Why is it running that code when we are using the programmatic API though?

CodeSniffer API looks to be far from perfect in this case.

I'm not even sure if I want to keep formatting inside the LS. It made sense when we could do it from the AST, but now we use CodeSniffer. If a user uses a different linter, we cannot support it. And we also only use it for the formatting, not for linting. It is also the only reason we keep the string content in memory in addition to the AST. It might make more sense to build CodeSniffer support as a separate LS.

CodeSniffer can be used for static code analysis too, i.e. for producing more diagnostics.
The string content is not kept in memory just for CodeSniffer. The LS has the obligation to do it for any document that is currently opened, i.e. has a didOpen notification, but not yet a didClose.
I don't see any benefit of excluding CodeSniffer from this language server. It is resource efficient to have most, if not all, intellisense features in a single language server.

@mniewrzal Could you report this to CodeSniffer? They should not interact with command lines, STDIN or STDOUT when used programmatically

Sure, I agree that this should be fixed on their side.


misc. changes

add ScratchAddons logging blocks
ignore undefined custom blocks
pass theme down to block context
make colorCategory mandatory
run project load function on page load

I'd like to clean this up eventually, but LGTM for now


[KYUUBI #1493] Make a reasonable thread pool size for listing file statuses

Why are the changes needed?

Close #1493.
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[x] Run test locally before make a pull request

thanks, merging to master


Feature request: allow for binary caches that are not guaranteed to be available

I have a laptop and a desktop both running Nixos. To save downloads and building, I have the desktop configured to use services.nix-serve, and the laptop configured with the desktop's as a binary cache. This is only a local host name on my home network, since my desktop isn't globally available (and if I'm going to download something over the global internet, it might as well be from cache.nixos.org).
For the most part this works great; I make a point of running updates on the laptop when I'm at home, after updating the desktop.
The major pain point is when I need to update dev environments or use ad-hoc nix shells on the laptop while I'm away from home. Being unable to connect to my desktop's local hostname completely blocks realising nix store paths; it doesn't consider other binary caches or local building as a fallback. I have to either manually add --option binary-caches https://cache.nixos.org/ to every nix command where I'm away from home, or list my desktop only in nix.trustedBinaryCaches and add --option binary-caches https://my.desktop.machine to every nix command when I am at home.
One thing that would address this problem would be a way to disable a specific binary cache for each command without overriding the whole list of them, or a single flag to rest to the default list (so I don't have to remember the exact spelling of the binary cache names; the slash on the end of https://cache.nixos.org/ gets me every time, for example).
But much better would be a way to mark a binary cache as optional in the nixos configuration (or another list of binary caches in between nix.binaryCaches and nix.trustedBinaryCaches). Such caches should be used by default if available, but unavailability should not be treated as an error.
Then I could have all of my nix machines running services.nix-serve and all listing each other as optional caches, and whichever ones happen to be powered on, reachable, and have the packages I'm installing would transparently speed up my installations on other machines, but I wouldn't have to manage the process at all.

At some point I used a following trick (which is also annoying to manage but oh well): I did SSH with port forwarding between the machines and listed the forwarded port on localhost as the binary cache; this way if there is no SSH it is at least a clear «binary cache down» outcome which  turned out simpler to handle.

This is more of a Nix rather than Nixpkgs issue. See https://github.com/NixOS/nix/issues/1990.

Yeah, the linked issue is sufficient.


Rolling from sheet isnt working

I keep getting this error when I press any of the orange buttons. I have no modules on.

Yeah, spotted this one last night myself. I have a fix and I'll try and get a version rolled out this evening.

Okay, version 0.2.2 has been released. @Flintwyrm let me know if you're still seeing issues. Closing the issue.


When protected with Fire Protection armor heat damage still "shows" via visual/audio

When in the nether and beeing protected with Fire Prod IV armor, damage is applied about every 4 or 5 "cycle" (which is intended behaviour, correct?)
But even when I don't receive the overheating damage, I have the damage sound and the damage "jerk". Is this intended?
It quite confusing to "see and hear" damage, but not to receive it.

Ok so i think whats happening is the game thinks your taking damage from being on fire because the source of the hyperthermia damage is set to the same source as fire damage is. So the fire protection enchantment is stopping some of the damage just as if you were on fire. If you set yourself on fire with fire protection you should still have the damage tilt and audio even if you take no damage.
I might make it so fire protection cools you a bit just like leather armor warms you.


gh-170: add scientific python recommended blacken-docs

Add blacken-docs for formatting of documentation files.
Refs: #170, #187

Has this been run over the repository with no changes?

Yes, everything is already in good shape.

Are you 100% sure this is not already covered by ruff?

https://github.com/astral-sh/ruff/issues/3792


Create a request per region for vm reconfigure

This allows the make_request call to be routed to the correct region for the vms listed.
Paired with @bdunne on this.
@lgalis @h-kataria please review
/cc @gtanzillo @gmcculloug

:+1: LGTM

@bdunne can you take another look?

Euwe Backport details:
$ git log -1
commit 508c234ae924394cc9f04cee8879f9ae52f3012c
Author: Brandon Dunne<EMAIL_ADDRESS>Date:   Wed Oct 26 15:47:54 2016 -0400

    Merge pull request #12150 from carbonin/allow_vm_reconfigure_across_regions

    Create a request per region for vm reconfigure
    (cherry picked from commit 0b4ec090b5412b254f7a38bcd888c08dc92b5148)


Stack root should be replaceable.

The root should be replaceable.
Possible solutions could be the use of resetTo or a custom solution. The custom solution would be due too android.
Only the root should be replaceable, otherwise you can just pop and push with animation.

You can use push with the reset flag


Added properties of sections and fixed small bug with area_of_circle

I added a file to the geometry tools to calculate section modulus (and other properties) of bodies. These include rectangular bars, round bars, T sections, and I sections.
Lastly I noticed that the area_of_circle function allowed for complex numbers but was not correctly calculating the area of a circle in the complex plane. The correct radius for a complex radius is the complex modulus of the radius (i.e. radius = a + bi = [a^2 + b^2]^(1/2)).

Refactoring to fix too many arguments error.


Update to upstream main commit 3d30ad0

Description

Reviewer Checklist

[ ] API Go Documentation
[ ] Tests: Unit Tests (and E2E Tests, if appropriate)
[ ] Comprehensive Commit Messages
[ ] Links to related GitHub Issue(s)

This merge attempt resulted in a manually-resolved (approach:theirs) conflict, which is undesirable.  Throwing away this PR to re-do with a cherry-pick approach.


Array.prototype.at should return a more precise type when operating on a tuple

Suggestion

Extracted out of #45512
🔍 Search Terms

List of keywords you searched for before creating this issue. Write them down here so that others can find this suggestion more easily and help provide feedback.
Tuple Array.prototype.at
✅ Viability Checklist

My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion

at called on a tuple should work consistently with how index access on tuples works.
const tuple = [1, 2, 3] as const;
const element = tuple.at(1);
type T = typeof element; // currently `number | undefined`, ideally should be `2`

// Should also work with negatives.
const element2 = tuple.at(-1);
type U = typeof element2; // ideally should be `3`

// Compiler error or `undefined` for out of bounds numbers?
const element3 = tuple.at(100); // should be compiler error or
type V = typeof element3; // should be undefined

📃 Motivating Example

This is how tuples work when using index access.
💻 Use Cases

Preferring .at(index) to [index].
Partial Hack Solution
as suggested by @djmisterjon
interface ReadonlyArray<T> {
    /**
     * Returns the item located at the specified index.
     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.
     */
    at<U extends number>(index: U): this[U];
}

I don’t think there’s a way to handle negative indices without the compiler special-casing .at internally (it’s just another method); you can’t do arithmetic on literal types.  The hack you posted is about the closest you can get.

You can get negative indices to work for tuples (template literals to drop the minus sign and then use the numberlike string to index into a shifted reversed tuple), but nobody would want this in the actual TS library.  Still, enjoy:
⚙🛠
type Reverse<T extends readonly any[], U extends any[] = []> =
  T extends readonly [infer F, ...infer R] ? Reverse<R, [F, ...U]> : U

type At<T extends readonly any[], I extends number> =
  `${I}` extends `-${infer J}` ? [never, ...Reverse<T>] extends infer R ? J extends keyof R ? R[J] :
  undefined : never : I extends keyof T ? T[I] : never;

interface ReadonlyArray<T> {
  at<I extends number>(index: I): At<this, I>;
}
interface Array<T> {
  at<I extends number>(index: I): At<this, I>;
}

const tuple = [1, 2, 3] as const;
const element = tuple.at(1);
type T = typeof element; // 2
const element2 = tuple.at(-1);
type U = typeof element2; 3
const element3 = tuple.at(100);
type V = typeof element3; // undefined

Playground link

For positive indices I really don't see a reason not to use a[n] vs a.at(n), and negative indices are not really representable today.
@jcalz ow my soul

and negative indices are not really representable today.

Like some could just be hard coded right for at least small numbers? This seems to work fine in the playground:
declare global {
    interface ReadonlyArray<T> {
        at<R>(this: readonly [...any[], R], index: -1): R;
    }
}

const a = [1,'foo', { x: 10 }] as const;

const z = a.at(-1);

Yeah, if support for positive indexes and -1 are added, that should handle most use cases.

@jcalz ow my soul

@RyanCavanaugh ah yes, the theological argument for #26382

The return type of array[idx] is wrong. Should I open an issue for this?
let a = [Array(0), Array(0)]
let b: number = a[2]

Had this problem, I think @Jamesernator's code should be:
declare global {
  interface ReadonlyArray<T> {
    at<R>(this: readonly [...any[], R], index: number): R;
  }
}

so it allows reference by any index

@wesbos That type is not correct, R will always be the type of the last item in the array:
const instruments = ["guitar", "drums", "base", "vocals", "keys"] as const
type Instrument = typeof instruments[number];
let value = instruments.at(2);
//  ^? "keys"

[Playground]

@wesbos I think you want something more like this:
interface ReadonlyArray<T> {
    at<R extends ReadonlyArray<T>, I extends keyof R>(this: readonly [...R], index: I): R[I];
}

[Playground]

@jamiebuilds  hmm.. Works for me, your playground correctly logs the 3rd item

@jamiebuilds Why do you need this: readonly [...R] and not just this: R?

"Too Complex" mean, i am too lazy to code, but if you give me 1M$ , i will do it.


[Azure AD Preview] v<IP_ADDRESS> new cmdlet documentation

Docs Build status updates of commit 3251d24:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

azureadps-2.0-preview/AzureAD/Add-AzureADMScustomSecurityAttributeDefinitionAllowedValues.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/Get-AzureADMSAttributeSet.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/Get-AzureADMSCustomSecurityAttributeDefinition.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/Get-AzureADMSCustomSecurityAttributeDefinitionAllowedValue.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/Get-AzureADMSServicePrincipal.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/Get-AzureADMSUser.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/New-AzureADMSAttributeSet.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/New-AzureADMSCustomSecurityAttributeDefinition.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/Set-AzureADMSAttributeSet.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/Set-AzureADMSCustomSecurityAttributeDefinition.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/Set-AzureADMSCustomSecurityAttributeDefinitionAllowedValue.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/Set-AzureADMSServicePrincipal.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/Set-AzureADMSUser.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

mapping/groupMapping-2.0-preview.json
:white_check_mark:Succeeded

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

Docs Build status updates of commit 6b6e5fe:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

azureadps-2.0-preview/.vscode/settings.json
:white_check_mark:Succeeded

azureadps-2.0-preview/AzureAD/Add-AzureADMScustomSecurityAttributeDefinitionAllowedValues.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/Get-AzureADMSAttributeSet.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/Get-AzureADMSCustomSecurityAttributeDefinition.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/Get-AzureADMSCustomSecurityAttributeDefinitionAllowedValue.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/Get-AzureADMSServicePrincipal.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/Get-AzureADMSUser.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/New-AzureADMSAttributeSet.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/New-AzureADMSCustomSecurityAttributeDefinition.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/Set-AzureADMSAttributeSet.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/Set-AzureADMSCustomSecurityAttributeDefinition.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/Set-AzureADMSCustomSecurityAttributeDefinitionAllowedValue.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/Set-AzureADMSServicePrincipal.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

azureadps-2.0-preview/AzureAD/Set-AzureADMSUser.md
:white_check_mark:Succeeded
View (azureadps-2.0-preview)

mapping/groupMapping-2.0-preview.json
:white_check_mark:Succeeded

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

Hi @msewaweru
This pull request is ready to be merged.
thanks

@CelesteDG, we now have the go ahead to merge this.


Homebridge UI plugin menu items for some plugins missing

Describe The Bug
Some recently published plugins are missing the Manage Version and Report An Issue items in the plugin menu, and the author name is missing beside the @ symbol.
You can still click on the @ symbol to display the Donate to window, but the @ in front of the author name is missing.
Normal display of menu items and author name:

Plugin missing the menu items and author name:

This is particularly problematic as the user cannot change to another plugin version due to the missing Manage Version item
Normal display of Donate to:

Display of Donate to for a plugin where the author name is missing:

You can still click on the single @ character to open the Donate to window
Logs
No response
Config
No response
Homebridge UI Version
4.56.2
Homebridge Version
1.8.3
Node.js Version
20.14.0
Operating System
Raspberry Pi OS / Raspbian
Environment Info
Using hb-service
Raspberry Pi Model
Raspberry Pi 4 B

Same for me

Additionally: newer published versions are now shown as being available, the user has no visibility of any updates.
WS has a new release but it does not appear as an available update:
https://github.com/ebaauw/homebridge-ws/releases/tag/v2.7.23

Same for me, I think it is related to #2069

Indeed, I observe the following for my affected plugin in my dev environment:
[22.06.2024, 07:37:48] [Homebridge UI] [homebridge-eosstb] Failed to check registry.npmjs.org for updates: "Cannot read properties of undefined (reading 'length')" - see https://homebridge.io/w/JJSz6 for help.

@donavanbecker @bwp91  We cannot update Homebridge UI , you need to add manualy in package.json "maintainers": ["maintainer-name"] and release new version with latest tag. Without this we have error: [Homebridge UI] [homebridge-config-ui-x] Failed to check registry.npmjs.org for updates: "Cannot read properties of undefined (reading 'length')" - see https://homebridge.io/w/JJSz6 for help.

@jsiegenthaler @grzegorz914 you need to add manualy in package.json "maintainers": ["maintainer-name"] and release new version with latest tag. In new Homebridge UI it will be solved.

@jsiegenthaler @grzegorz914 you need to add manualy in package.json "maintainers": ["maintainer-name"] and release new version with latest tag. This is because NPM stop adding this automatically to release. Homebridge UI check author (maintainer) from latest release and now it is empty. New UI version fix this.

That NPM has stopped adding maintainers field feels like a bug in NPM and should be fixed there.  The NPM Documentation does not document a "maintainers" field but explicitly states... "npm also sets a top-level "maintainers" field with your npm user info."
In addition, the npmjs.com package settings page lists maintainers and allows you to invite another person to be added as a maintainer... all done outside of the package.json source file.
If this is the documented behavior, then it's a bug in NPM that it has stopped adding this field.

And over here npm states themselves...
"The "maintainers" field in the top-level of the registry metadata (ie, not versioned) is the npm-controlled list of the npm usernames of the people with permission to write to that package. This can be modified via the npm owners command." (emphasis mine).
So I believe that it is not correct to recommend adding maintainers field to each package.json file.

@dkerr64

NPM always add maintainers to package, now stopped.
Homebridge had a bug that checked maintainers.lenght before checking if it exists at all. It was fixes. #2069
Homebridge check maintainers from latest stable release of plugin, and first of maintainers you see on plugin card next to heart icon.
So if plugin doesnt have any new release  2-3 days (since npm does not add maintainers), everything works.

@mkz212 yes good summary... I was working on my plugin and noticed the problem, I tracked it down to checking the length statement then discovered that it had just been fixed, so all good from Homebridge side.
I do think that NPM need to fix their bug. Is there a bug report open?

I believe the issue I just experienced may be related to this.  I set up the Homebridge Simplisafe3 by @nzapponi yesterday and tested arming and disarming my alarm through a HomeKit scene successfully.  This morning I ran my scent that should have turned the alarm off, but found out it had not when the security company called because the alarm went off when it should have been turned off 4 hours ago by my HomeKit scene.
However, the Homebridge log shows the following occurring afterwards.
[6/22/2024, 1:10:08 AM] [Homebridge UI] Running job to cleanup config.json backup files older than 60 days...
[6/22/2024, 2:42:42 AM] [Homebridge UI] Running scheduled instance backup...
[6/22/2024, 2:42:42 AM] [Homebridge UI] Creating temporary backup archive at /var/folders/zn/gzbnx7mj0c1_kmm0h0ngm9hm0000gn/T/homebridge-backup-EMm0dT/homebridge-backup-0ECEF6C38D83.tar.gz
[6/23/2024, 1:10:11 AM] [Homebridge UI] Running job to cleanup config.json backup files older than 60 days...
[6/23/2024, 2:42:42 AM] [Homebridge UI] Running scheduled instance backup...
[6/23/2024, 2:42:42 AM] [Homebridge UI] Creating temporary backup archive at /var/folders/zn/gzbnx7mj0c1_kmm0h0ngm9hm0000gn/T/homebridge-backup-etcwtG/homebridge-backup-0ECEF6C38D83.tar.gz
[6/23/2024, 2:42:42 AM] [Homebridge UI] [homebridge-config-ui-x] Failed to check registry.npmjs.org for updates: "Cannot read properties of undefined (reading 'length')" - see https://homebridge.io/w/JJSz6 for help.
[6/23/2024, 12:35:36 PM] [Homebridge UI] [homebridge-config-ui-x] Failed to check registry.npmjs.org for updates: "Cannot read properties of undefined (reading 'length')" - see https://homebridge.io/w/JJSz6 for help.
[6/23/2024, 12:35:36 PM] [Homebridge UI] [homebridge-config-ui-x] Failed to check registry.npmjs.org for updates: "Cannot read properties of undefined (reading 'length')" - see https://homebridge.io/w/JJSz6 for help.
[6/23/2024, 12:42:42 PM] [Homebridge UI] [homebridge-config-ui-x] Failed to check registry.npmjs.org for updates: "Cannot read properties of undefined (reading 'length')" - see https://homebridge.io/w/JJSz6 for help.
I have now tested arming and disarming using my HomeKit scene and it appears to be working now.  I cannot find an explanation as to why the Good Morning scene that turns the alarm off did not run 4 hours ago as it should have.  I would appreciate any insight.

I have the same problem, all day

@mkz212 yes good summary... I was working on my plugin and noticed the problem, I tracked it down to checking the length statement then discovered that it had just been fixed, so all good from Homebridge side.
I do think that NPM need to fix their bug. Is there a bug report open?

https://github.com/orgs/community/discussions/129220

I have the same problem, all day

To fix error in plugin you need to add manualy in plugin package.json "maintainers": ["maintainer-name"] and release new version with latest tag. This is because NPM stop adding this automatically to release. Homebridge UI check author (maintainer) from latest release and now it is empty. New Homebridge UI version will fix this.

@solomonj1963 Everyone now have error [homebridge-config-ui-x] Failed to check registry.npmjs.org for updates: "Cannot read properties of undefined (reading 'length')". This has nothing to do with controling the plugin. It is caused by a problem with NPM. And the fact that the new version of Homebridge UI does not have 'maintainers' in package.json.

@donavanbecker @bwp91

We cannot update Homebridge UI.
You need to add manualy in package.json "maintainers": ["maintainer-name"] and release new version with latest tag.
Without this we have error: [Homebridge UI] [homebridge-config-ui-x] Failed to check registry.npmjs.org for updates: "Cannot read properties of undefined (reading 'length')" - see https://homebridge.io/w/JJSz6 for help.

@mkz212 Can you elaborate on this comment - We cannot update Homebridge UI.
I just went and updated mine and had no issues.

@NorthernMan54
I have UI 4.56.2, so the last version before fix.
It shows me error in logs: [Homebridge UI] [homebridge-config-ui-x] Failed to check registry.npmjs.org for updates: "Cannot read properties of undefined (reading 'length')" - see https://homebridge.io/w/JJSz6 for help..
This is because latest release of Homebridge UI - 4.56.3 has no maintainers in package.json.
So it doesn't show me update option.

if you have UI 4.56.2 then you are not on the latest. v4.56.3 has the fix for this, this is resolved.

if you have UI 4.56.2 then you are not on the latest. v4.56.3 has the fix for this, this is resolved.

Yes. I know. But i cannot update to 4.56.3 because you release it whit package.json without maintainers. So now my version check for the maintainers lenght from the latest release what produce error because there is NO maintainers in latest release!

@mkz212 I just went into the UI and selected 4.56.3

@donavanbecker @NorthernMan54
Oh, okay, I already know what it's about. and why we don't understand eachother. I mean that there is a error in the logs (and users dont know what is it) and that the update notification does not pop up. So users do not know there is fix.
Not everyone knows that you have to click on the Homebridge UI text on the widget to open the version selection window - It's not so obvious, because most people are used to the notification shows up!

That's right @mkz212.  I'm a fairly experienced homebridge user I think, but I was surprised to see there was a later version under the install dialog, with 'Up to Date' as the status for Homebridge UI.

That's right @mkz212. I'm a fairly experienced homebridge user I think, but I was surprised to see there was a later version under the install dialog, with 'Up to Date' as the status for Homebridge UI.

That's what I mean! Everyone is so used to the fact that a notification about the update shows up that no one even knows that there is an option to install the selected version after you click on Homebridge UI text. BTW: such an option to instalk other version should also be in settings / UI settings.

I'm sorry to be so dense but I cannot see any clickable Homebridge UI text.  I have homebridge-config-ui-x v4.52.2 but neither the "Homebridge UI" text in the Plugins window nor the "homebridge-config-ui-x v4.52.2" text is clickable.  And the only entry in Homebridge UI vertical ellipses menu is "API Documentation".
How do I install homebridge-config-ui-x v4.52.3.
Thanks.

@oogje
In Status tab (there where you have widgets and qr code).

@oogje Good Question.  It's from the Status Page in a box that looks like this

Alas, my status page doesn't look like that - no Homebridge UI text.  macOS 14.5, Safari 17.5.

For everyone with such problem - you can update by clicking on Homebridge UI text.

Alas, my status page doesn't look like that - no Homebridge UI text. macOS 14.5, Safari 17.5.

Click on the icon right bottom to manage view and add status widget.

I'm sorry if I'm derailing this issue but I don't see a status widget other than the one in my previous screenshot.  I don't have a child bridge.

@oogje click reset layout

@mkz212 , I edit my last comment to show the reset layout.

@oogje hmm... this is strange. It should be there. So this is a bug.
You can also try run terminal and type: npm install -g<EMAIL_ADDRESS>

@mkz212  Will do.  Thank you!

Thank you guys I updated to version v4.56.3 manually because homebridge didnt't offer me an option to update automatically.

@mkz212 - In regards to the "maintainers" field with package.json, as it is documented as being supplied by npm, and not a user supplied field, lets wait and see what happens on the npm side over the next few days.  I expect that is an issue with a recent release on their side, and would expect it to be resolved by them within a few days.

@mkz212 - In regards to the "maintainers" field with package.json, as it is documented as being supplied by npm, and not a user supplied field, lets wait and see what happens on the npm side over the next few days. I expect that is an issue with a recent release on their side, and would expect it to be resolved by them within a few days.

I agree.

I opened a support ticket with NPM on Thursday, along with this thread on GitHub Community (which is what they say to do when giving feedback, according to this). If anyone wants to chime in on that thread, or upvote it, or whatever, it might get them to investigate it sooner rather than later

@solomonj1963 this bug is only related to the Homebridge UI asynchronously checking for updates on existing packages, it wouldn't have any impact on the functionality of the plugins themselves

@solomonj1963 this bug is only related to the Homebridge UI asynchronously checking for updates on existing packages, it wouldn't have any impact on the functionality of the plugins themselves

If you have UI v.4.56.2 or below, for every plugin that doesn't have maintainers in package.json in latest release, you cannot update plugin and cannot access 'Instal other version' in plugin menu. So some impact is...

That is true! I just wanted to clarify because I don't think this bug had anything to do with what was being described in this comment

@solomonj1963 this bug is only related to the Homebridge UI asynchronously checking for updates on existing packages, it wouldn't have any impact on the functionality of the plugins themselves

Thank you for the response.  I hope you are correct with that.  In my case, all I can say is that I had a "Good Morning" scene which included setting my Simplisafe alarm system to off.  The same scene triggers alot of other activity around my home that did occur.  The only device used in that scene that is on my homebridge instance is the Simplisafe system.  I had nothing showing in any of my logs that homebridge or my plugins saw that I had activated that scene.  Other devices on my home-assistant platform did see it and acted as expected.  So, I'm not complaining, but I feel like this was a big gap in my instance and it is within reason it could be for others.  I'm only recommending a little more thought be invested on this potential impact.

@solomonj1963 this bug is only related to the Homebridge UI asynchronously checking for updates on existing packages, it wouldn't have any impact on the functionality of the plugins themselves

If you have UI v.4.56.2 or below, for every plugin that doesn't have maintainers in package.json in latest release, you cannot update plugin and cannot access 'Instal other version' in plugin menu. So some impact is...

The problem is even worse, because the UI 4.56.2 and below are not detecting that there is a new UI release.  To test, I just installed hombridge following instructions here.  And it installed UI v4.56.2 and reports that it is up-to-date...

So your average user has no idea that the Homebridge UI is out-of-date, AND will not get any prompting for ANY other plugin that has had an update published.... unless the plugin owner adds the maintainers list to their package.json.
And... this UI needs to add it to its own package.json, which will hopefully then cause homebridge to highlight that a new UI is available.

Opened #2076 as this one is closed.


pool keep-alive

While https://github.com/felixge/node-mysql/commit/5ea649d6d94f1dde7e28dff73d04ec188582a86d addresses the issue of getting a connection that has timed out from being idle too long. Why not also have some type of keep-alive behavior to prevent them from becoming idle too long in the first place? Something to the effect of:
Pool.prototype._startKeepAlive = function(){
  var pool = this;
  this._keepalive = setInterval(function(){
    pool._freeConnections.forEach(function(connection){
      connection.ping(function(err){
        if (err) {
          connection.destroy();
          pool._removeConnection(connection);
        }
      });
    });
  }, this.config.keepalive);
};

What is the status on this? :)

I think it it not necessary to do keep alive.
As long the wait_timeout from the DB server is not reached, my connections keep alive.
After the wait_timeout the DB server disconnects this connection.
Then the client closes this connection on 'end'.
If you need longer inactive connections, set "wait_timeout" on the server.


Feature request: context() and with_context() on Result and Option

I just switched from Snafu to thiserror, and on the whole my code has become a lot cleaner and clearer.
One thing that I miss is Snafu’s context() method on Result. It works much like the context() method in anyhow, but it allows adding structured context to an error. My current use case:
#[derive(Debug, Error)]
enum MyError {
    // . . .
    #[error("failed reading page {path:?}")]
    ReadPageFile { source: io::Error, path: PathBuf },
}

impl MyError {
    #[allow(non_snake_case)]
    fn ReadPageFileMap(path: &Path) -> Box<dyn FnOnce(io::Error) -> MyError> {
        let path = PathBuf::from(path);
        Box::new(|source: io::Error| MyError::ReadPageFile { source, path })
    }
}

fn read_from(path: &Path) -> Result<Page> {
    let raw = fs::read_to_string(path)
        .map_err(MyError::ReadPageFileMap(path))?;
    // . . .
}

Put more simply, I just want a convenient way to convert an io::Error into MyError::ReadPageFile while adding a path field to it.

Here is the relevant method https://docs.rs/snafu/0.6.0/snafu/trait.ResultExt.html#tymethod.context

Even though I would love to have such a convenient method, it doesn't seem to be in the scope of this crate. To quote from the documentation:

Thiserror deliberately does not appear in your public API.
You get the same thing as if you had written an implementation
of std::error::Error by hand, and switching from handwritten impls
to thiserror or vice versa is not a breaking change.

Context selectors in snafu are great and the big selling point of the library. But as @Luro02 mentioned, it isn't a good fit for the design of this library.
Thanks anyway!


should organic molecule be divided into fragments?

Hi, I am impressed by your research ideas and achievements. I am a beginner and I have some questions:
1）how to divide fragments for organic molecules, such as heterocyclic compounds? According to the files in folder test/CF3, it seems the molecule is divided into atoms.

2）have any papers been published about this method? Although the tutorial has detailed steps, I have not fully understood the principles.
Thanks.
P.S.

some errors in FAMO/parsegjf.py:

from chemistry.atom import Atom
from chemistry.molecule import Molecule

should be
from atom import Atom
from molecule import Molecule

Thanks for your comments, especially for the bug report.
Concerning your molecule of interest, the key point would be why you wanna apply FAMO or whatever method to your system, or what information you wanna learn from bonding analysis. For example, if you want to compute the pi-orbitals of the right-hand-side ring with heteroatoms, you can can align the whole molecule to the left part only (so the left part will be "aligned away"). If you wanna compute how the S=O group interacts with the rest part, you can divide the molecule into a S=O group (it its triplet state, but there would be a rotational symmetry issue here, which may require some tricks) and the C8H6 fragment (also in its triplet state).

In any case, I'd say organic molecules (which have rather traditional bonding patterns) are not the best case to apply FAMO analysis. I'm still exploring its scope but for now I think it's most suitable for cluster compounds and metalloaromatic systems.

I see. Thank you for your detailed response!👍


Propagate the default tags from aws provider

Describe the Feature
With ressources related to the AWS provider, we can set default tags as explain in https://www.hashicorp.com/blog/default-tags-in-the-terraform-aws-provider
Is this possible to your module to take them into account in order to propagate them to the ressources created ?
Otherwise it works with an explicit declaration tag :
module "nodegroup" {
  source  = "cloudposse/eks-node-group/aws"
...
  tags = merge(
    local.default_tags,
    { other = "value" }
)

Thus not a big deal but just wanted to know if you plan to add it automatically or I we need to explicit set them.
Thank you :)
Expected Behavior
Use the default tags declared in AWS provider, cf. https://www.hashicorp.com/blog/default-tags-in-the-terraform-aws-provider
Use Case
We use the default tag to propagate a tag that indicates from which git project and in which folder the ressource configuration comes from.
Describe Ideal Solution
Instead of explicit declared default tags to use in the module, use them automatically
Alternatives Considered
No response
Additional Context
No response

This module does not create an Autoscaling Group (EKS does that automatically), and in all other cases the default tags are automatically propagated, so there is nothing for us to do here.


runtime: performance degradation in go 1.12

What version of Go are you using (go version)?
go 1.11.12, planning to upgrade to go 1.12.15
Does this issue reproduce with the latest release?
Yes, with go 1.12.15
What operating system and processor architecture are you using (go env)?
Ubuntu 18.04
What did you do?
Since go 1.11 is about to go EOL, we are planning to upgrade to the next version. I attempted
to upgrade to go 1.12.15, but I am seeing 15-20% performance degradation. A similar result was seen with go 1.13.6.
What did you expect to see?
I was hoping to see performance improvement with a newer go compiler.
What did you see instead?
Instead of performance improvement, saw performance degradation instead.
Is there anything in newer go versions (1.12 and beyond) that could answer the above performance degradation? I read online that the scheduler was modified to allow preemption of long-running goroutines. While I do not know if this could cause the performance issue, is there any way to revert this scheduler behavior just for test purposes. Any other suggestions are welcome.

Hi,
thanks for reporting this, but your description of the issue is far too vague to be actionable.
Please provide a runnable, auto-contained benchmark that demonstrates the problem on the latest 1.13 release, together with some benchmarking results on the platform you are running on.

Thanks for the response. I do see the performance issue with 1.13 also. Give me a few days to come up with a sample code that demonstrates the issue.

Sorry for the delay, it took me a while to narrow down the problem code path. Attached is a sample benchmark test. I am running this test on my Mac and here are the results -
1.11.13-
goos: darwin
goarch: amd64
BenchmarkBlockSplit-12    	       1<PHONE_NUMBER> ns/op
PASS
1.13.7 -
goos: darwin
goarch: amd64
BenchmarkBlockSplit-12    	       1<PHONE_NUMBER> ns/op
PASS
So, 2.5 msec -> 2.9 msec equates to 16% drop in performance.
perf.txt

Here's a simple reproducer. I can reproduce on Linux.
package main

import (
	"fmt"
	"sync"
	"time"
)

var sink []byte

func main() {
	start := time.Now()
	var wg sync.WaitGroup
	for i := 0; i < 10; i++ {
		wg.Add(1)
		go func() {
			for i := 0; i < 16000; i++ {
				sink = make([]byte, 64*1024)
			}
			wg.Done()
		}()
	}
	wg.Wait()
	fmt.Printf("time: %f\n", time.Since(start).Seconds())
}

This test is really allocation heavy. It's going to depend on the precise details of how allocation is done. I get these times:
go1.11.13: 0.689 sec
go1.12.16: 0.973 sec
go1.13.7: 1.151 sec
tip: 1.099 sec

I think most of the difference has to do with how big the heap grows. Here's my eyeballing the maxiumum RSS (adding lots of iterations to the innermost loop so I can watch top while it runs):
go1.11.13: 310MB
go1.12.16: 202MB
go1.13.7: 158MB
tip: 98MB

This test is stressing the allocator so much that it goes way beyond 200% of live heap data, which should only be 640KB or so. You'll see that we've made steady improvements on how much over we go. Of course, that means that we'll run garbage collections more often, which will hurt the run time.
I'm not sure there's any bug here. It just seems like a different speed/memory tradeoff. To actually demonstrate a regression, I think we'd need to hold heap size constant somehow.
@mknyszek

Our app which is showing performance degradation is also allocation heavy, which is why we are seeing this performance degradation with newer go runtime. Having said that, over the last few weeks I have made lots of changes to improve memory management and did see improvements that make the performance drop lower. From what you are saying above, it seems like memory allocator heavy apps will have to take a hit when they upgrade to a newer go runtime.
In your test above it seems time taken increased from 0.689 sec -> 1.151 sec which is a 65% increase. Is this big drop in performance solely attributed to running GC more often?

@interviewQ Some background: there was a known regression in the slow path of the allocator in Go 1.12, which was intentional in order to support returning memory to the OS more eagerly. For the vast majority of programs, this wasn't noticed. The regression only showed up in microbenchmarks, not in any real production services or applications (as far as we could see/find). You need to be really allocation bound to notice this, as @randall77's benchmark shows. Note that @randall77's reproducer makes many 64 KiB allocations without ever touching that memory (aside from zeroing), which would already meaningfully reduce the load on the allocator.
However, it's also been known that allocating heavily and in parallel has had serious lock contention issues since at least Go 1.11. This was noticed when we worked on the regression in Go 1.12. In Go 1.14 we worked to fix these issues (#35112) and it went reasonably well. I'm fairly confident that the allocator is now faster, so this seems to me like it's the change in the default trade-off in these "way past the heap goal" cases as @randall77 says.
With that being said, @interviewQ could you:

Check if using the tip of the master branch for Go results in less memory used for your application.
If so, try cranking up GOGC to the point where you're using the same amount of memory as before, then measure CPU performance again.

Hopefully the net effect will be that we made performance better. :) If not, we can move on from there.

First of all thanks a lot for these quick replies and very useful info.
I had tested with 1.14beta1 in Dec and that still showed the performance issue.
Did the fix for 35112 go after 1.14 beta1 was released? I was planning on retesting with 1.14 when it gets released (was due on Feb 1). However, I could try the tip of the master branch.

There may be a regression in the default configuration, but have you looked at memory use like I mentioned? If it went down, you could increase GOGC from the default until your memory use is the same as before (in the steady-state) and see if it performs better? Since you mentioned you're relatively new to Go, check out the comment at the top of https://golang.org/pkg/runtime for an explanation of GOGC, and also see https://golang.org/pkg/runtime/debug/#SetGCPercent for more information.

In our app, we have 1000 goroutines, all allocating memory in parallel, so from what you are saying above "allocating heavily and in parallel" is what applies to our app.

The number of goroutines doesn't really matter since that's just concurrency. The GOMAXPROCS value is your actual level of parallelism (up to the number of independent CPU cores on your machine). What is GOMAXPROCS for your application?

Using sync.Pool is something I have thought about but it seems non-trivial since I will need to figure out when to put the buffer back to the pool. It is not impossible just hard to figure out using sync.Pool.
What if I have 1 goroutine whose only job is to alloc memory. These 1000 goroutines can talk to this "allocator" goroutine (via channels). That way these huge allocations happen from only 1 goroutine and contention is eliminated. Please let me know if this makes sense. Also, I come from C++ world and hence new to Go, so please pardon my ignorance.

Contention isn't really eliminated; you're just moving it from the allocator and to the channels in this case. Before trying to restructure your code for this please give my suggestion above a try. You might just have to increase GOGC to get the same level of CPU performance for the same memory usage.

GOMAXPROCS = number of CPU cores. Our app runs on EC2 instances, so it depends on which instance we are running on. In my test GOMAXPROCS = 72. I will try out your suggestions and will get back to you (most likely tomorrow).

I ran tests with various go versions and checked RSS usage.
1.11.13 -  3.3 GB
1.13.7 - 3.4GB
1.14 (tip of master) - 4.6 GB
Actually, RSS increased with 1.14, due to this I did not so the GOGC adjustment. On this note, I see mention of SetMaxHeap function in runtime (https://blog.golang.org/ismmkeynote). Is this something that would be included in future versions of Go?
Relative to 1.11.13, performance-wise I see 25% drop with 1.13.7 and 12% drop with 1.14.
I have made changes that reduce heap allocation in the app and that lowers the drop in numbers.
@mknyszek

Just out of curiosity, how did you measure RSS?
I just want to be very precise on this because the virtual memory usage of Go increased significantly with 1.14 (around 600 MiB, which admittedly doesn't account for everything you're seeing), but most of that memory is not mapped in/committed.
Thanks for the quick turnaround on this and for your cooperation. 72 cores is not a level of parallelism I've personally ever tested, it's possible we have some scalability problems at that level that we haven't seen before.
As another experiment, can you try setting GOMAXPROCS to 48 or so? There are other things I'd be interested in looking at as well, but I'll wait for your reply first.

@interviewQ Also, if you'd be willing to share a GC trace, that would give us a lot more insight into what the runtime is doing. You can collect one by running your application with GODEBUG=gctrace=1 set and capturing STDERR.

I measured RSS by looking into "top" output, did you mean something else when you mentioned memory usage of the application. I had collected gctrace but did not save it. Will run the test again and give you the output. Planning to run the following tests -

GOMAXPROCS=72, gctrace=1, go 1.11.13
GOMAXPROCS=72, gctrace=1, go 1.13.7
GOMAXPROCS=48, gctrace=1, go 1.11.13
GOMAXPROCS=48, gctrace=1, go 1.13.7

Do you also need results from 1.14 (top of master branch)?

@interviewQ I did not mean anything else, that's exactly it. Thank you for confirming.
Running those sounds great to me. If you have the time/resources to try tip of the master branch as well that would be very helpful too.

@mknyszek
Finished tests and am attaching results. I saw go1.14rc1 was released yesterday, so tested with that.
Keeping 1.11.13 as the baseline, with GOMAXPROCS=72, I see huge perf drop (25% or so) with 1.13.7. There is a perf drop with 1.14rc1 also but very less (around 5%).
Keeping 1.11.13 as the baseline, with GOMAXPROCS=48, I see huge perf drop (20% or so) with 1.13.7. With 1.14rc1 perf seems the same as 1.11.13.
Comparing GOMAXPROCS=72 with GOMAXPROCS=48, we are reducing CPU resources by 35%, but perf does not drop that much.
1.11.3 - perf drops around 7%
1.13.7 - perf remains the same
1.14rc1 - perf drop around 3%
The app in question is CPU bound, there is no real i/o to slow it down. It is also memory alloc heavy.
Archive.zip

If you have any code changes in go runtime, I can test it with our app and give it a whirl.

@mknyszek
I ran tests on an EC2 instance with 36 core CPU. With this, I see a similar performance with go 1.11.13 vs 1.13.7. Go 1.14rc1 is actually slightly faster than go1.11.13. So, the performance issue which I am seeing is only with CPUs with large number of cores. This points to the lock contention issue in the memory allocator that you mention above. I do see this has improved considerably in Go 1.14, but it is still slower than Go 1.11 (only with large number of cores). Is there any way to improve this any further in Go1.14.

@mknyszek
I ran tests on an EC2 instance with 36 core CPU. With this, I see a similar performance with go 1.11.13 vs 1.13.7. Go 1.14rc1 is actually slightly faster than go1.11.13. So, the performance issue which I am seeing is only with CPUs with large number of cores. This points to the lock contention issue in the memory allocator that you mention above. I do see this has improved considerably in Go 1.14, but it is still slower than Go 1.11 (only with large number of cores). Is there any way to improve this any further in Go1.14.

Thinking about this more, it doesn't make sense that if Go 1.11 collapses at 48 cores that it would do better than Go 1.14 at 72 (in terms of allocations). One case I can think of is that the Go 1.14 allocator just completely breaks down at 72 cores, doing worse than Go 1.11.
So I set up a 72-core VM and ran some allocator scalability microbenchmarks. These show that the 1.14 allocator scales much better than Go 1.11: around 1.5-2x throughput improvement at 72 cores for a range of allocation sizes (anywhere from 1 KiB to 64 KiB).
I think that perhaps the scalability of another part of the runtime got worse in Go 1.12, and that perhaps scalability improvements are carrying things a bit. I don't know what that is, but now that I have a 72-core VM I can experiment more deeply.
I poured over the GC traces for Go 1.11 and Go 1.14 for several hours, doing a bunch of aggregate analysis, and things have certainly changed a lot (e.g. much more time spent in assists in Go 1.14 vs. older versions; this is not totally unexpected), but nothing stands out as "this is obviously the cause" to me. Though, since I don't think this relates to #35112 anymore, I'm going to take a closer look at the Go 1.13 GC traces and see what I can glean from them.

@gopherbot remove WaitingForInfo

So I set up a 72-core VM and ran some allocator scalability microbenchmarks. These show that the 1.14 allocator scales much better than Go 1.11: around 1.5-2x throughput improvement at 72 cores for a range of allocation sizes (anywhere from 1 KiB to 64 KiB).

@mknyszek
In the app I am testing, we have several large-sized block allocations. A lot of the allocations are fixed 64K blocks. Other allocations are for blocks sized 50K-120K. I just thought of providing this info. Maybe for larger block allocs and that too in parallel with large number of cores (72),
we have hit some scalability limits with go 1.14 vs go 1.11.

@interviewQ Right, I figured based on the original benchmark you provided, that's why I explicitly tried out 64 KiB allocations. I can try out larger ones but up to 128 KiB they all have the potential to be satisfied out the page cache, so the scalability of the allocator should be fine.
@aclements suggested to me that if there is some scalability problem in the runtime here, and your application is indeed CPU-bound, we should be able to figure out what it is (or get a strong hint) by just looking at a differential profile for the same version of Go but for different GOMAXPROCS. So for example, for Go 1.14, if you could collect a pprof CPU profile of your application running with GOMAXPROCS=36 and GOMAXPROCS=48 and GOMAXPROCS=72, you can look at the diff in pprof and see if anything is growing. If anything is, that will point heavily to whatever the bottleneck is.
You can collect a profile by using https://golang.org/pkg/runtime/pprof/ and then running go tool pprof --diff_base=low_count.cpu high_count.cpu then typing the command "top 20" in the interactive input.

It's not clear to me yet if this should be a release blocker for 1.14, but I'll tentatively add it for visibility so we can discuss it in a release meeting.

We've looked over this, and it should not be a release blocker for Go 1.14, because it's not a regression that is specific to 1.14 (it affects previous releases too). Removing release-blocker.

@interviewQ I think this was waiting on pprof results from you, described in https://github.com/golang/go/issues/36521#issuecomment-584392139.


Update RetroFuture.netkan

New KS link
Hardcode previous author
Bump epoch
Add suggestions
Filter FS and .ckan file

Original license is CC-BY-NC-SA-4.0 but new author redistributes this mod as MIT, which isn't allowed. I pinged amankd to change this
Closes #2812

I think we should hold off on merging until licensing is addressed. Also while CC-BY-NC-SA was the license, http://forum.kerbalspaceprogram.com/index.php?/topic/116664-sharing-stuff-cc-by/ states the license is now CC-BY. But a CC-BY license (if I understand it correctly) means it can't be relicensed under MIT.

License on KS is canged to CC-BY-NC-SA-4.0


document automatic enabling

Fixes #583

@bblimke wasn't sure how much is really necessary to say about this.  Might be worth mentioning if you're going to change the behavior in the future.

@lanej thank you! good idea to put that in the docs.


Feature/render survey images

Description
This PR is to document a pivot we made in our project to have a gender neutral lifestyle based survey. This adds images and renders them to the page. This also adds the correct keys to the state object within StylePreferences and add more detailed copy.
Motivation and Context
We decided that having a gender neutral survey would be both more fun, more progressive, and easier to render a single survey no matter what crate is selected.
Screenshots (if appropriate):

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[X] My code follows the code style of this project.
[X] My change requires a change to the documentation.
[X] I have updated the documentation accordingly.

This looks great. I'm really happy we changed up the survey to be gender neutral - progressive!


Full PREreview - undefined co-reviewer appears after saving draft

I'm not sure this is a bug or it's expected behavior, but while testing the adding co-reviewer workflow I saved a draft full PREreview and saw that an avatar appeared at the top of the editor and when I hovered on it it said "undefined co-reviewer". This happened before I added a co-reviewer and mentor.

@dasaderi just pushed a fix to dev for this!


Use more careful format string/quoting in validator messages

For example, change this (scroll to right):
Attribute "leaf_switches[\"leaf\"].mlag_info" required when "leaf_switches[\"leaf\"].redundancy_protocol" has value "\"mlag\"".

To this:
Attribute "leaf_switches[\"leaf\"].mlag_info" required when "leaf_switches[\"leaf\"].redundancy_protocol" has value "mlag".

Closes #943


chore: Adding NOTICE file to ignore secret scans

Fixing the secrets scan stage by ignoring the NOTICE file for the scans.

:tada: This PR is included in version 3.1.3 :tada:
The release is available on:

v3.1.3
GitHub release

Your semantic-release bot :package::rocket:


Support Swift 4.2

🏄  Support Swift 4.2

@cruisediary it should work just fine on Swift 4.2 - are you seeing behavior where it isn't?


zoomTo={value} option not working

I have tried on several occasions to get the zoomTo={value} option to work.   It worked well in the past, however recently it has stopped working.

unable to repro this.
what value are you passing to to zoomTo?
can you please give me a codesandbox that demos the issue

Sure, here is an example of the "zoomTo" prop not working as expected.
https://codesandbox.io/s/react-cropper-with-slider-w7s9i

zoomTo is only applied at initial render i.e. when cropper is initialised.
Try the zoom method on cropper instance if you want to zoom after that.

Interesting, I bring this up because the "zoomTo" method was working (even after initialized) on my application for months and then just stopped.  The "zoom" method is expecting a function not a number value, I can dive into it more to make it work but it seems that something broke with "zoomTo" along the way.

I've found the fix for this issue   /**      * do zooming when zoomTo param is changed (passind data to cropperjs)      */     useEffect(() => {        if(combinedRef.current?.cropper?.canvasData && typeof props?.zoomTo === 'number') {          const cropper = combinedRef.current.cropper;          cropper.zoomTo(props.zoomTo);        }     },[props.zoomTo]);
I could create a branch with the fix on the repo but don't have a permission to do this

@rizvanua Thanks.
You can fork and then create a PR from there.

@rizvanua please check the latest beta release and thanks for the PR.

const cropperRef = useRef(null);
const [zoom, setZoom] = useState(1);
// Handle zoom change

const handleZoomChange = (event) => {
const newZoom = parseFloat(event.target.value);
setZoom(newZoom);
if (typeof cropperRef.current?.cropper !== "undefined") {
const cropper = cropperRef.current.cropper;
const currentData = cropper.getData();
cropper.zoomTo(newZoom);
const newData = cropper.getData();
const scaleX = currentData.width / newData.width;
const scaleY = currentData.height / newData.height;
const newCanvasData = {
left: currentData.left / scaleX,
top: currentData.top / scaleY,
width: currentData.width / scaleX,
height: currentData.height / scaleY,
};
cropper.setData(newCanvasData);
}
};

You can Archive this functionality using this logic it works for me.

 <input           type="range"           onChange={handleZoomChange}           min="0.1"           max="3"           step="0.1"           value={zoom}         />


[7.2] File Picker for JS: TypeError "tbody.rows.count is not a function" (action: download)

The OneDrive file picker for JavaScript opens, authenticates and displays my files just fine. It also lets me select a file and closes the dialog when I click “Open”. But the opener window does not receive proper file info – instead, I see these messages in the browser console:
[OneDriveSDK] calling xhr failure callback, status: EXCEPTION
TypeError
  message: "tbody.rows.count is not a function"
  stack: "startAjaxRequest@https://example.com/picker:56:4699
XMLHttpRequest.prototype.open@example.com/picker:56:13291
[33]</</h</e.prototype.start@https://js.live.net/v7.2/OneDrive.js:3:18202
c/<@https://js.live.net/v7.2/OneDrive.js:2:3299
I@https://js.live.net/v7.2/OneDrive.js:10:2890
j@https://js.live.net/v7.2/OneDrive.js:10:4195
c@https://js.live.net/v7.2/OneDrive.js:2:3271
p@https://js.live.net/v7.2/OneDrive.js:2:3576
[8]</</c</t.prototype.queryItems@https://js.live.net/v7.2/OneDrive.js:2:22202
[8]</</c</t.prototype.makeApiRequest@https://js.live.net/v7.2/OneDrive.js:2:21947
[5]</</g</e.prototype.launch/<@https://js.live.net/v7.2/OneDrive.js:2:10858
S@https://js.live.net/v7.2/OneDrive.js:10:2601
A@https://js.live.net/v7.2/OneDrive.js:10:2712
U@https://js.live.net/v7.2/OneDrive.js:10:2504
d@https://js.live.net/v7.2/OneDrive.js:10:751"

[OneDriveSDK] Received ajax error.
{
  errorCode: "webRequestFailure",
  message: "HTTP error status: -1",
  apiEndpoint: "https://example.sharepoint.com/_api/v2.0/"
}

The OneDrive picker returned SUCCESS

The error messages are identical on both Chrome 65 and Firefox 60.
My picker invocation code looks like this:
function launchOneDrivePicker()
{
    var odOptions = {
        clientId: 'CLIENTID',
        action: 'download',
        multiSelect: false,
        advanced: {
            endpointHint: 'https://example.sharepoint.com/',
            accessToken: 'ACCESSTOKEN'
        },
        success: function(files)
        {
            console.log('The OneDrive picker returned SUCCESS');
        },
        cancel: function() { },
        error: function(e)
        {
            console.log('The OneDrive picker returned an ERROR:', e);
        }
    };

    OneDrive.open(odOptions);
}

Any help is appreciated – thanks in advance!

@tistre is the above still a problem? This seems like a problem with the app which invokes the picker, not the picker itself as we do not utilize tables anywhere.

@KevinTCoughlin Yes, I still get the same error message – and there’s no table on the invoking page as well. Weird.
7.2 is still the current version?

@KevinTCoughlin Yes, I still get the same error message – and there’s no table on the invoking page as well. Weird.
7.2 is still the current version?

Yea 7.2 is latest still.  I was able to get a valid downloadUrl when I omitted both accessToken and endpointHint from the File Picker configuration.
When I use only an endpointHint I received an error and the Picker fails to open... seems unintentional and a bug which requires investigation.
As a workaround, are you able to omit endpointHint?
My configuration:
var options = {
    clientId: '00000000-0000-0000-0000-000000000000',
    action: 'download',
    success: (files) => console.log('success', files),
    cancel: (err) => console.log('cancel', err),
    error: (err) => console.log('err', err)
};

OneDrive.open(options);

As part of a repository clean up effort we are closing older issues. If this issue remains, please: open a new issue, reference this issue, and provide any additional details that may help in resolution. Thank you for your understanding as we work to improve our responsiveness.


bug: Changing font color of button with background color and outline does not work

Bug Report
Ionic version:

[x] 4.x
Current behavior:

Button's color is set the same as it's background color (in my case *color="primary")
Expected behavior:

Button's color should be able to be changed by setting the --color scss property.
Additionally, when a button has color="primary" its text should be --ion-primary-color-contrast and not --ion-primary-color.
Steps to reproduce:

Add an ion-button with  color="primary" and fill="outline". Then try to set the text color in scss with the property --color: ???
Related code:
https://jsfiddle.net/gfzevhsu/2/

insert short code snippets here

Other information:

Ionic info:

insert the output from ionic info here

Ionic:
Ionic CLI                     : 5.4.6 (/usr/lib/node_modules/ionic)
Ionic Framework               : @ionic/angular 5.0.1
@angular-devkit/build-angular : 0.801.3
@angular-devkit/schematics    : 8.3.25
@angular/cli                  : 8.3.25
@ionic/angular-toolkit        : 2.1.2
Cordova:
Cordova CLI       : 9.0.0<EMAIL_ADDRESS>Cordova Platforms : android 8.1.0
Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.1.3, (and 6 other plugins)
Utility:
cordova-res : not installed
native-run  : not installed
System:
NodeJS : v10.15.3 (/root/.nvm/versions/node/v10.15.3/bin/node)
npm    : 6.4.1
OS     : Linux 4.4

Thanks for the issue. I am going to close this as this is not a bug in Ionic Framework. If you want to customize the color of your ion-button you should use either the CSS Variables provided or the color property, but not both.


What is the difference between the Administrator, User, and Reader roles?

I think I understand the difference between the Administrator and Reader roles, but how does the User role differ from the other roles?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 77d95db6-9983-7346-d0eb-4b7443e4e252
Version Independent ID: 0a22cccc-318d-592f-d1ab-09ec01d88087
Content: Environment - Azure Pipelines
Content Source: docs/pipelines/process/environments.md
Product: devops
Technology: devops-cicd
GitHub Login: @RoopeshNair
Microsoft Alias: ronai

@Slooz  Thank you for the question.
Roles are often ambiguous and can be defined differently depending on the task.
Please refer to deployment pool security roles and include additional questions below.

So if somebody manually triggers a deployment job, will the job only succeed if that person is a User or Administrator? Will the deployment job fail if the person that manually triggered it was a Reader?

Also, I opened this Issue specifically against the Environments documentation. I'm specifically asking about the Roles that you assign in the Security page for Environments. I don't think this is ambiguous. As far as I know, Environments are only used for one task, which is for deployment jobs.
This is different from the deployment pool security roles. There should be a separate section for environment security roles.

Administrator can administer permissions, manage, view and use an environment
User can view the environment and use it in a pipeline.
Reader can only view the environment.

The roles have no bearing on whether who is triggering the pipeline but during authoring whether they can consume the environment or not.

Thank you.
So to make sure I understand correctly, the difference between a User and a Reader is that a User can create a pipeline that uses the environment, while a Reader cannot create a pipeline that uses the environment?

User can create the pipeline that references an environment. It will prompt for authorization so that the pipeline can  deploy to the environment. Once authorized, the reader can trigger the pipeline as well.


Running multiple callbacks asynchronously for a subscriber

This is my first time using pythons asyncio and nats so I maybe not understand how everything should fit together but I was expecting the cb argument to be running async upto the max_inflight value.
For example in a script like this
import asyncio
import random
from nats.aio.client import Client as NATS
from stan.aio.client import Client as STAN

async def run(loop):
    nc = NATS()
    sc = STAN()

    await nc.connect(io_loop=loop)
    await sc.connect("test-cluster", "client-demo", nats=nc)

    async def cb(msg):
        wait_time = random.randint(0, 6)
        print("Wait time " + str(wait_time))
        await asyncio.sleep(wait_time)

        print("Received a message (seq={}): {}".format(msg.seq, msg.data))
        await sc.ack(msg)

    # Subscribe to get all messages from the beginning.
    await sc.subscribe("greetings", start_at='first', cb=cb, max_inflight=5, manual_acks=True, ack_wait=60)

if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    loop.run_until_complete(run(loop))
    loop.run_forever()

If I published 5 messages onto the greetings channel I was hoping for 5 intertwined cb calls running together but they each run sequentially waiting for the previous one to finish.  Does the library support have multiple callbacks running in async?

For now I'm just creating a task inside cb to call a separate coroutine and ignoring the returned task value.
async def b(msg):
    wait_time = random.randint(0, 6)
    print("wait time " + str(wait_time))
    await asyncio.sleep(wait_time, loop=loop)
    print("Received a message (seq={}): {}".format(msg.seq, msg.data))
    await sc.ack(msg)

async def cb(msg):
    asyncio.create_task(b(msg))

Seems to work ok for now, I don't need to clean the tasks up on interrupt of the script anyway.

That approach is correct by the way, this library like other NATS client libraries process the messages sequentially with head of line blocking, concurrency could be increased as part of the logic from the callback as you mention.


sdist is missing tox.ini

The sdist package at PyPI is missing tox.ini.  Please add the missing file to sdist to make downstream testing easier.  Thank you.

Sure, that makes sense.

Shall be in the release. There will probably another patch release soon due to a regression.

Fix with release 5.3.5.


Compute checksums for indicators

Motivation
Chart-diff can detect if chart config has changed, but it cannot detect if the underlying data changed (we only have indicator ID in chart config). If we had the indicator's checksum saved in MySQL, we'd be able to do those kinds of checks.
This could also be useful for automatically approving charts in chart-diff that are identical. We could replace indicator IDs with their checksums in chart config and compare them.
Implementation
The most intuitive approach seems to be calculating checksums from data & metadata JSON files that we save to R2.
data.json
We should sort the data first before calculating the checksum. Then the checksum could even be etag (we could calculate it ourselves or get it from R2).
metadata.json
Metadata contains fields that shouldn't be part of the checksum, like createdAt or updatedAt.
This could correspond to the etag of the file, but the problem is that metadata contains fields that shouldn't be part of the checksum like updatedAt, etc. So it would likely differ from the etag.
Risks
Computing checksums could be CPU-intensive and might hurt the performance of large datasets.

implementing this in https://github.com/owid/etl/pull/2743

@Marigold can this be closed?

Done.


Update ui theme and module to add search widget in collections page

Relates to bug does not fully implement https://github.com/jhu-idc/iDC-general/issues/106. This PR creates the components described in the ticket, but limits its scope to only the list of (all) collections.

Update references for UI code in composer.lock to point to latest commits

jhu-idc/idc-ui-theme commit 25615b020baf5b60fb21859c67d296106527f773
jhu-idc/idc_ui_module commit dbe5edee7434a4da824f7a84fb2c9404c2c8b900

Remove a config file that was enabling Twig debugging by default

No configuration changes were made here, so I have not updated the snapshot.
Changes:

Adds new route /collections
Changes the "Library Collections" card on the front page to navigate to the new collections route
Adds "Featured Collections" block showing collections marked as "featured"
Adds a search widget allowing users to search collections

User can enter arbitrary text to search. This text is treated as a solr query, so should allow for proximity search
Search results are paged with a user adjustable page size
User can change sort order and sort by parameters
Clicking on a search result will take you to the item's Drupal page (which is currently a placeholder)

There is no data by default in this PR. The page and search widget are rendered even if there is no data, but to check the searching behavior, you'll need to add some collection data.
Notes and exceptions

The current global search component in the top right of the header is a default Drupal component with an implementation separate from the newly added search component.
If you edit an existing collection to check the "Featured Item" flag (featuring that collection), you may need to clear Drupal cache for it to appear in the "Featured Collections" component on the /collections page
User search passes the text box search as a raw Solr query to allow users to use advanced features like proximity search. This may result in some unexpected behavior

Hi John,
I pulled down this branch and can get to the collection page as described.  This is what I'm seeing though:

Also, I don't see any collections listed unless I'm logged in.

I realize this is talking about number of collections, but on first glance it makes me think there are two pages of results:

The strange text appearing below the collection titles is Drupal Twig debugging, perhaps set by a stray codebase/web/sites/default/services.yml file. This file was added by accident during the previous theme related PR, but should be deleted in this PR.
Good note about the page label, though. Maybe we should change to it "Showing 1 - 2 of 2 collections" or something to make it more clear

The strange text appearing below the collection titles is Drupal Twig debugging, perhaps set by a stray codebase/web/sites/default/services.yml file. This file was added by accident during the previous theme related PR, but should be deleted in this PR.
Good note about the page label, though. Maybe we should change to it "Showing 1 - 2 of 2 collections" or something to make it more clear

yeah that makes sense to me about specifying what the number of things is that we're referring to.

After I reset my code, it is working correctly now.  I had done something in git that was a flawed method. After a reset, I do see the collections listed correctly with no twig injected data.  I do see collections for a non-logged in user.
One thing I'm noticing -- featured collection section does not seem to refresh when an object is changed from featured to not featured (and reverse). If I make a collection featured, it does not show up as featured right away in the featured collection section.  Likewise, if I remove it as a featured collection, it does not disappear.   I think there's some weird caching there.  I'm seeing this when both logged in and not.   (I'm using firefox and tried it in safari - both have issues.) Clearing cache will fix it, but any subsequent changes behave the same.

Other than the above issue around caching, this looks good to me.

@htpvu
Options
To expand on the search options menu, each option is presented with a dropdown

Sort by

Relevance (default)
Title (alphabetical by collection title)

Sort order

Ascending
Descending

Items per page: 5, 10, 25, 50
Current page: integers from 1 to max number of pages provided by search service

@bseeger latest commit should address the Featured Items caching issue


Models with schemas that depend on other schemas will throw a KeyErro…

…r when generating code. This is due to the class_map missing entries for other schemas. The solution is to share the entire class_map during schema_info generation.

@tyclintw,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


upgrade nestjs version to 9.2.1

Enhancements:

Upgrade nest version to 9.2.1
Importing HttpModule and HttpService from the new @nest/axios package instead of using the @nestjs/common.

In response to this issue:
https://github.com/benMain/nest-azure-ad-jwt-validator/issues/48#issue-1303575223
And this open question in StackOverFlow:
https://stackoverflow.com/questions/74357292/npm-install-failing-due-to-nest-azure-ad-jwt-validator-package-compatibility-wit

I will leave the package versionning to you: @benMain
Thank you.

@mehdi-ichka I have just released a version 5 with nest 9 compatibility. Thanks dude!


Python tests shouldn't spam the log

It's great that we're testing how one part of the system under test behaves when another part of the system under test encounters a staged failure, but we should clean up our act by not allowing the test log to be spammed full of exception tracebacks.

I think that's just a py.test thing. Assign to me?

I don't think so; I think it's that we use a logging_pool._LoggingPool for the pool in which we run simulated application code, and when that simulated application code throws an exception, it gets logged. I think what I have in mind for this is another kind of pool on which you can do things like setting expectations of what exceptions tasks run within it are allowed to throw and asking it what exceptions tasks have thrown and that kind of thing.

Since this was filed we've changed the way test output is recorded and this is no longer a problem.


Improved italian translation

Hi all!
I've added some entries to the italian translation there were missing, as you can see from the commits.
I hope that for such a thing like this, isn't necessary to create an issue. I'm kinda new to PR and issues 😅

A new inspection was created.

A new inspection was created.

The inspection completed: 1 new issues

A new inspection was created.

The inspection completed: No new issues

The inspection completed: No new issues

It is perfect, don't worry. Thanks @rinodrummer ! Merged, it'll be available later today after it's tagged.
Cheers!


Remove periods (.) from share messages

There's a . appended to all messages, so even when there isn't a message the period gets used.
This becomes an issue for example with linkedin, where by default with "no message" you'll see the following:

Instead of what could be:

Fixed in version https://github.com/SaraVieira/react-social-sharing/releases/tag/v1.3.3 :DD


Change HTTP transport version

Purpose

Downgrade transport version due to test failures
Related issues https://github.com/ballerina-platform/ballerina-lang/issues/14809

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@f74e733). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master   #14818   +/-   ##
=========================================
  Coverage          ?   64.33%
  Complexity        ?      544
=========================================
  Files             ?     2286
  Lines             ?   100467
  Branches          ?    13314
=========================================
  Hits              ?    64633
  Misses            ?    30771
  Partials          ?     5063

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 f74e733...d23fa57. Read the comment docs.


ENH: Port investigative scripts, examples for SmartSPIM-to-CCF registration

Changes

Ports scripts and examples from thewtex/allen-registration private repository, including:

Library helper scripts
Example notebooks
Label postprocessing CLI application

Adds project infrastructure and updates README

@thewtex and/or @dyf Please review the proposed README update and let me know if anything needs clarification.
https://github.com/AllenNeuralDynamics/aind-ccf-alignment-experiments/blob/3a586f6b7aababb26fcd0afa73cbeb1165927bb2/README.md


Migrate this documentation to use KEDA

The Azure Kubernetes Metric Adapter project has been archived, and its readme recommends using KEDA:

This project was an exploration for Azure integration with the Kubernetes HPA and has been in Alpha status. It was a success and helped inspire other projects in this solution space. It is now in maintaince mode and will not be getting any new updates given that KEDA (CNCF Sandbox Project) has all the features in this solution.

So please update the documentation accordingly.
There's even a built-in add-on for KEDA on AKS.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b63a79cb-cc95-2135-2eee-4dbacaebb9b0
Version Independent ID: 57506d98-9be9-bc9c-0e57-687f2f595236
Content: Autoscale AKS pods with Azure Application Gateway metrics
Content Source: articles/application-gateway/ingress-controller-autoscale-pods.md
Service: application-gateway
GitHub Login: @Caya
Microsoft Alias: caya

@aelij , thank you for your feedback. We have assigned this to the content owner/author for review.
@mscatyao , for your review.

Hi - The previous article owner is no longer available, and I have assumed ownership. I will update the article as I am able. I am closing this issue as duplicate because we have others saying the same thing. Thanks for bringing this up. #please-close

@greg-lindsay Issue is almost a year old... not a great SLA ;) BTW it's helpful to indicate the duplicate issue number to allow the user to track it.


renaming "test" split to "dev"

Nkululeko only knows two splits: train and test.
but it would be more correct to name the "test" split "dev" (short for development), as  we kind of always use it to optimize a model.
Any thoughts?

I think It is already implemented, but I checked again, and It is not yet.
The split of datasets under data already defines their dev sets (e.g., ravdess, crema-d). So. that split ("dev") was not used during model training? If so, maybe this is the cause of why the results (e.g., UAR) were below what I expected.
CMIIW, "dev" set actually is needed only for neural-network-based models (currently MLP, MLP-REG, CNN). For others like SVM, KNN, we can concatenate "train" and "dev" into "train".
So, IMHO, there will be three sets: train, dev, and test. For models other than mlp and cnn, train and dev will concatenated for train set. For unseen data (hidden test), we can make inferences/predictions from the model (already implemented partly?) to predict the target.

@felixbur
I think it makes sense. See my two cases above.
In case 1, the current 'test' split should be renamed to 'dev' split.
In case 2, we need to reintroduce the 'test' split again.
So, consider the following (it is common, e.g., in ComParE challenge). There are three splits given by the authors of the dataset: train.csv, dev.csv, and test.csv. Train and dev have labels, the test does not (in the CSV file, it only contains a file, the labels (e.g. emotion), are usually replaced by a question mark.
So there are possibilities for building a model:

using train only, evaluation metric for training
using train + dev, evaluation metric for dev
using train +dev for training and test, evaluation metric for training

The output in the last option will be a CSV file containing a file and prediction of labels. This file usually is submitted to the organizer to obtain the score of the test set.

A simple workaround maybe just keep the current test as it is but providing more option if test has label (default) to differ where is it dev (has label) or test (unseen).
[DATA]
test.has_labels = False

By default, it assumed test has labels (test.has_labels = True), if it hasn't

@felixbur
After realizing that Nkululeko already has .test and .demo modules, this proposal absolutely makes sense (renaming test to dev).
One suggestion point that after getting the best model, user will be allowed to use both train and dev data to train so the final model contains more training data.


disable interop tests in proxied environments

Stopgap fix for #282. Proposals/PR with better alternatives welcome.

Replaced by #288


Ways to exit a task

The system should provide the user a way to give up on a task.  Perhaps responding to "Forget that" or something like that.

That's a good idea. Also other global commands like "bye" or "repeat that" would be nice.


Annotations for local dataset

Hi,
I am trying to create annotations for custom dataset. From what I understand, I will have to create an empty JSON file in COCO format with the URL of images in dataset.
Is there any script to create json file in COCO format for custom dataset? Thanks.

Hello, I have the same problem. Even though I initialized with zeros for key points, bbox and segmentation, still I can't show any images in the browser? Do you have any suggestion for me? Thank you

@ankhzaya  Just make sure that none of the keys are empty and have some values in it. It will overwrite them once you start tagging.


Add missing shebang in squashing/setup.sh

setup.sh should be executable according to the instructions given in README.md

Thank you!


⚠ SpeakUpConference.com has degraded performance

In 5edce44, SpeakUpConference.com (https://www.speakupconference.com) experienced degraded performance:

HTTP code: 200
Response time: 13697 ms

Resolved: SpeakUpConference.com performance has improved in 3e58928 after 11 minutes.


Why does this app need permissions actions:write, and checks:write?

Thank you for your great project.
I have a question about the permission which this app requires.
I understand permissions contents:write is necessary to create commits, and pull_requests:write is necessary to post comments to pull requests.
But I'm not sure why permissions metadata:read, actions:write, and checks:write are required.
Could you explain what this app uses these permissions for?
Edit:
metadata:read is mandatory when pull_requests:write is set.

Great (and important) questions, thanks!

But I'm not sure why permissions ~metadata:read~, actions:write, and checks:write are required.
Could you explain what this app uses these permissions for?

actions:write: This is necessary to cancel workflow runs (see here).
checks:write: Depending on how branch protections are configured, autofix.ci is unable to push the fix commit. But this is only discovered after CI has finished (historically, uploaded artifacts were unavailable before the end of the run). We want to signal this problem to the user somehow, and this is done by adding a failed check run. With the new artifact upload API we could probably detect this earlier and provide feedback in the GHA CI job directly, but I haven't gotten around to looking into that yet. I haven't prioritized this as I don't think this permissions would change the overall risk meaningfully.

Thank you for your kind explanation!
actions:write: I think users can cancel workflow runs using concurrency.
checks:write: I see. I've confirmed that a check is updated when the app can't push a commit.
https://github.com/suzuki-shunsuke/test-autofix-ci/pull/2/checks?check_run_id=32433604923

I think it's a difficult to find the check, so maybe posting a comment is more easier to find.
Anyway, I understand the reason what this app use these permissions for.
Thank you.

actions:write: I think users can cancel workflow runs using concurrency.

Ah, I see. I misunderstood.
IIRC, even if the job using this action fails other jobs keep running.
The app can't get the uploaded artifact until the workflow run completes.
So concurrency has no meaning in this case because when a new workflow run starts the previous workflow run must finish.
To finish the previous workflow run soon, the app needs to cancel it.
I understood.


Include fix to usb-serial-jtag spurious resets

We need to make sure we have something similar to https://github.com/espressif/esptool/commit/32e80148493a83d34bad635287cb97e458d2af58 included in our Rust stubs here.

Also to include:

https://github.com/espressif/esptool/commit/6fd91afec42f7717f02bb41a4bb2789c73187c63
https://github.com/espressif/esptool/commit/80dc2104e163acddf6a6a6fa26c1e3f7068173c3


Fix web styling

Fixes a bunch of issues with the web design, especially with the basic responsiveness we already have.

Good idea, I meant to get round to this!