[Rendering][JS] Toggle and ChoiceSet input not working inside Container with selectAction

Target Platforms
NodeJS
SDK Version
2.10.0
Application Name
Outlook Web
Problem Description
When we have ToggleInput or ChoiceSetInput inside a Container with selectAction, we are unable to select/toggle the option, as it only executes the selectAction (OpenUrl in this example). We have a customer scenario expecting it to both execute and toggle.
ToggleInput is not working across all Outlook clients.
Screenshots
No response
Card JSON
{
    "type": "AdaptiveCard",
    "id": "427FB9DB-E2E6-4A26-B684-454D6B62A731",
    "version": "1.4",
    "padding": "None",
    "body": [
        {
            "type": "Container",
            "id": "511975d2-8f4a-1b61-2407-4912b4bf04e5",
            "padding": "None",
            "items": [
                {
                    "type": "Input.ChoiceSet",
                    "id": "6856d976-d5da-5c10-f794-c530ce38a289",
                    "placeholder": "Placeholder text",
                    "choices": [
                        {
                            "title": "Choice 1",
                            "value": "Choice 1"
                        },
                        {
                            "title": "Choice 2",
                            "value": "Choice 2"
                        }
                    ],
                    "style": "expanded"
                }
            ],
            "selectAction": {
                "url": "https://aka.ms/amdesigner",
                "type": "Action.OpenUrl",
                "id": "anything-1"
            }
        },
        {
            "type": "Container",
            "id": "83424b22-3ea7-2049-a047-9a63c367bf44",
            "padding": "None",
            "items": [
                {
                    "title": "Insert your text here",
                    "value": "false",
                    "id": "f846f7f0-b7ed-31f9-bf50-af249e0d10b9",
                    "type": "Input.Toggle",
                    "wrap": false
                }
            ],
            "selectAction": {
                "url": "https://aka.ms/amdesigner",
                "type": "Action.OpenUrl",
                "id": "anything"
            }
        }
    ],
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "@type": "AdaptiveCard",
    "@context": "http://schema.org/extensions"
}

Sample Code Language
No response
Sample Code
No response

This is not a recommended or supported scenario.


iOS native dependency management

Following this project's example, let's say I want to create and distribute an iOS.NET library for Google-Mobile-Ads-SDK. This has the following native dependencies:

nanopb
PromisesObjc
GoogleUtiliites
GoogleUserMessagingPlatform
GoogleAppMeasurement

Then, say a different developer creates and distributes an iOS.NET library for FirebaseFirestore. That has dependencies:

BoringSSL-GRPC
FirebaseCore
FIrebaseCoreInternal
FirebaseFirestore
GoogleUtilities
PromisesObjc
abseil
gRPC-C++
gRPC-Core
leveldb-libary
nanopb

Please correct me if I'm wrong, but wouldn't there be a major linking issue if both of these theoretical iOS.NET packages embedded their xcframework dependencies? In this example, nanopb, GoogleUtilities, and PromisesObjc are shared.
In the examples currently published (Firebase messaging and analytics), the analytics library appears to be getting used as a 'dumping ground' for the shared dependencies, with the messaging library not including these as native dependencies, but instead referencing the analytics csproj.

The analytics library is considered core basically with what google is doing.  We also didn't want to create different libraries/packages for every single sub-dependency because it will be too much to manage even if this does move to some form of community project.
You are correct there could be linking issues if another outside libraries ref different packages.  This is why nothing has been pushed to nuget (and may not be at all).  We can't solve all issues, but this shows relatively how easy binding native libraries can be done, so people can help themselves before the Firebase Messaging deadlines.

The analytics library is considered core basically with what google is doing.

I was really hoping to see improvement in this area. This approach (which is what FIrebase.Core does now) forces apps to take a dependency on Analytics in cases where you might really just need PromisesObjc (as a contrived example).

We also didn't want to create different libraries/packages for every single sub-dependency because it will be too much to manage even if this does move to some form of community project.

This is exactly what the Android side is doing, and has been doing for years with what appears to be the part-time attention of a single developer. This approach seems to be more maintainable over time since dependency management is reduced to a (relatively) simple version mapping task.

This is why nothing has been pushed to nuget (and may not be at all).

This really isn't good. You're describing a future where all published iOS.NET libraries with any Google/Firebase dependencies would be incompatible with each other.

so people can help themselves before the Firebase Messaging deadlines.

I'm sure this is appreciated, but the path of least resistance for anyone in this situation right now would just be to use my fork.
Feel free to close this issue, or convert it to a discussion if you'd rather.

This is exactly what the Android side is doing, and has been doing for years with what appears to be the part-time attention of a single developer. This approach seems to be more maintainable over time since dependency management is reduced to a (relatively) simple version mapping task.

There is more involved than you probably realize here.  In any case, there is just two of us right now, doing this in our free time to try to close a gap that exists.

This really isn't good. You're describing a future where all published iOS.NET libraries with any Google/Firebase dependencies would be incompatible with each other.

Again... we're just closing a gap, not solving every single problem.  You can clearly see that Microsoft isn't going to put resources here, so instead of complaining about it... we decided to try to do something about it.  This isn't a sponsored project.  There is no problem with incompatibility.  We're simply trying to find ways to make binding easier while providing some much needed bindings for the community.  They can also take the patterns here and apply them to accomplish other bindings.

I'm sure this is appreciated, but the path of least resistance for anyone in this situation right now would just be to use my fork.

Then do it.  No one is stopping you.  If you think you've got a better answer and you want to support it going forward, all the power to you.

Feel free to close this issue, or convert it to a discussion if you'd rather.

We're happy to listen and discuss, but you need to dial it down a notch.  There is a enough bile in that MAUI thread.  We aren't here for that.  We're just trying to help.


Add models directory for new generators

This fixes #94 for the new generators. This separates models into their own directory and allows sequelize models to set up relationships which are sync'd to the database.

Just one comment, then I'll merge it in. Thanks again, this is great!


device.load unsupport video

Please! I find do Device Class load(routerRtpCapabilities) and getRtpCapabilities() just return audio sdpmessage

Pls upload more info, eg. the parameter of Device#load.

Same here:
https://github.com/haiyangwu/mediasoup-demo-android/issues/4

@whatisor pls upload running log from logcat. BTW It's open-source, may you pls debug with your device, figure out the root cause and create a PR ? 👏

@haiyangwu 1,2 month ago, it works well.
Then suddenly, it stops working.
Have you changed https://v3demo.mediasoup.org/ setting?
I tried with https://github.com/versatica/mediasoup-demo to setup local server, but same issue.
I wonder if https://v3demo.mediasoup.org source is totally same with https://github.com/versatica/mediasoup-demo?

@whatisor
Could you share what device you are using?
Also would be interested in the log and the sdp offer generated by the device.

@ethand91 I shared log here:
haiyangwu/mediasoup-demo-android#4
I am using Android Emulator. It worked with VP8 last time.

Real-time update, now I am debugging.
Matching codec steps is crazy, it compares local vp8 with all other remote but not vp8 remote
[DEBUG] ortc::matchCodecs() | Mime diff video/vp8-audio/opus
[DEBUG] ortc::matchCodecs() | Mime diff video/vp8-video/vp9
[DEBUG] ortc::matchCodecs() | Mime diff video/vp8-video/h264
[DEBUG] ortc::matchCodecs() | Mime diff video/vp8-video/h264
[DEBUG] ortc::matchCodecs() | Mime diff video/vp8-audio/opus
[DEBUG] ortc::matchCodecs() | Mime diff video/vp8-video/vp9
[DEBUG] ortc::matchCodecs() | Mime diff video/vp8-video/h264
[DEBUG] ortc::matchCodecs() | Mime diff video/vp8-video/h264

@whatisor I just verified on my phone, it's broken now. Maybe some update of https://v3demo.mediasoup.org/ leads to the bug. I'll fix it, but sorry, time not guaranteed 🤫

@haiyangwu , just please try to remove channels info from video codecs.

@haiyangwu，请尝试从视频编解码器中删除频道信息。

you are right   I remove video channel is OK  Thanks'

@whatisor Thx, following your advice, a quick fix already committed and it works.


Adding 3 Rhus meetings.

Our first 3 Rhus meetings, almost in place.
Need a final confirmation from Max regarding rooms.

Amazing!!! Thanks :) I'll test these out and merge :)


The Example Wording cop check for should is case sensitive.

It would be nice if the Example Wording cop also caught wordings like this:
it 'Should do something' do

and not only
it 'should do something' do

@EsterYtterbrinkAtTrialbee so you mean, that it should start with an capital letter?
Good idea. Feel free to create a pull request - otherwise I'm not sure when I find the time to do this.


fixing rest path in the docs

Docs fixes based on customer/user feedback

There are a few other files that need to be updated:

proc_making_caches_available.adoc
proc_synchronizing_data_target_clusters.adoc
proc_query_getting_statistics.adoc
proc_setting_up_target_clusters.adoc

Thanks @ryanemerson

Thanks @domiborges


Move client for more compatibility

Goal of this PR
Move client from archive namespace to its own, so when emulator updates flow-go we don't break unnecessarily.

API changes

Misc

[ ] PR title will be clear as part of the changelog
[ ] PR is against the correct branch
[ ] PR is labelled appropriately
[ ] PR is linked to an issue

I'm OK with these changes generally, and we're deprecating this repo in favor of ANs/ONs. In the next few months, we're expecting to release script execution on observers which would replace this.

@peterargue as we removed (remote storage) forking from emulator, this does not make much sense now, I can close as  new architecture is coming I guess.


Fixes timeout in hping so it actually times out if timeout is exceede…

…d. Also improves error-message if syntax of hping.timeout can't be parsed.
Seems like my editor also removed some tailing whitespaces.

Thanks Emil!


Adding OpenTelemetry exporter code

Moving exporter code from https://github.com/microsoft/opentelemetry-azure-monitor-python
Updated code to use swagger generated data models and ApplicationInsights client
Adding tests and examples

Please rename the examples/ folder to samples/

/azp run python - monitor - ci

/azp run python - monitor - ci

/azp run python - monitor - ci

/azp run python - monitor - tests

/azp run python - monitor - tests

Are you planning to move the rest of the components that are not expected for GA (like metrics) in a separate PR or after GA? It will be difficult to keep track of changes if they touch code that will exist here (in trace) as well as code that exists in the other microsoft repo.

@lzchen will move rest of the code as separate PR including metrics code, most likely in a different branch like we discussed

/azp run python - monitor - ci

/azp run python - monitor - tests


MNT: refine license, add @xmnlab, gcc930 rebuild, remove libstdcxx-ng dep

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Just some maintenance:

Add LGPL2.txt/GPL2.txt license files I forgot to list previously.
Add @xmnlab to maintainers -- he probably wasn't added to the team before because he's only been listed on the 2.x branch.
Remove unused {{ compiler('cxx') }} dep and thus the libstdcxx-ng run dependency.
Rebuild with gcc=9.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

thanks @mbargull !


Decrement TypeScript to ~4.6.3 ahead of migration to core monorepo

This PR aligns the TypeScript version and compiler options used by this package with the core monorepo.
This is in preparation for migrating the eth-json-rpc-provider package into the core monorepo.
No adjustments in code were necessary.
Closes https://github.com/MetaMask/core/issues/1682
See https://github.com/MetaMask/core/issues/1551

I'm not sure I understand why these changes are necessary? We should strive to keep packages up-to-date with the module-template as much as possible.

Closing and consolidating into #28. New PR will avoid downgrading TypeScript version and removing compiler flags.


Return null response on page with redirect

I checked many similar issues including #2479 #4970 #1729 but no workaround or merged fix worked.
Steps to reproduce
Tell us about your environment:

Puppeteer version: 1.20
Platform / OS version: tested on Mac OS 10.13.6 and Last Amazon Linux 2 in Docker
URLs (if applicable): http://www.faalkaart.nl
Node.js version: v12.4.0

What steps will reproduce the problem?
Please include code that reproduces the issue.
Run this code:
const puppeteer = require('puppeteer');
const url = 'http://www.faalkaart.nl';
// const url = 'https://basisbeveiliging.nl/'; // with this it works
(async () => {
    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    // The following shows that redirection are followed:
    // await page.setRequestInterception(true);
    // page.on('request', r => { console.log(r._url); r.continue() });
    const response = await page.goto(url, {
        timeout: 15000,
        waitUntil: ['domcontentloaded', 'networkidle0']
    });
    // await page.waitFor(5000); // If we intercept request and wait we can see that the page is loaded but the context had been lost since response is null
    if (response) {
        console.log('Response is OK');
    } else {
        console.log('Response is null');
    }
    await browser.close();
})();

What is the expected result?
Response is OK
What happens instead?
Response is null
Some ideas about the cause
Intercepting request I was able to see that redirection chain is

http://www.faalkaart.nl/
http://faalkaart.nl/
https://faalkaart.nl/  <--- domcontentloaded is triggered after this one
https://basisbeveiliging.nl/  <--- networkidle0 is triggered after this one

Note that it happens with a redirection initiated by javascript

I've encountered the same issue - does anyone know if this could be a bug with Chrome's debugging protocol itself, or in Puppeteer?


[BUG] The harvester status appears to double running in the console

Describe the bug
The harvester status appears to double running in the console
To Reproduce
Steps to reproduce the behavior:

Install harvester via ISO installation. (node01)
Add two more nodes to the environment(node02 and node03)
Shut down node01
Observe node02 and node03

Result:
The harvester status appears to double running in the console

Environment:

Harvester ISO version: master (716900d)
Installation Mode: ISO/app-mode
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630):

Validated on master-head
Edit the harvester deployment, set the replica to three, delete one or two of the pods then observe the status.


A shorter equivalent way to declare <T extends @Nullable Object> [working decision: no]

The situation
The status quo isn't a disaster, but it sure ain't great:

As much of a pain as it is to write all that out, it bothers me much more that users will see it in Javadoc, and there's no real way around it.
Candidate solution
interface Foo<@SomeNewAnnotation T>
The annotation name should not necessarily allude to the idea of being nullable, but should convey the idea that it "accepts either nullness", i.e. "is actually parameterized along the nullness axis at all".
This is for type variables only; it would be impossible to put before a wildcard.
The current syntax would continue to work, and I'd assume we don't care whether a tool recommends switching to the shorter style or not.
Advantages

Easier to write
Easier to read (in source or, importantly, in javadoc)
Lets users get by with the "basic model" (bits of nullness info ride along with types, and checkers Do Smart Things with that) for a while longer before they have to understand the "type system model" (parallel hierarchies and non-null<:nullable; or union types; see #274)
With the right name, it's more clear why classes like in #78 would not use it
For a happy CF user considering whether to make their library JSpecify-friendly, adding @NullMarked changes very little other than forcing their <@NonNull A>'s to change to <A>s and their <B>'s to change to (the syntax we're discussing). This feature would make that change more of a lateral move, less of a "do I even want to do this?"
Subjectively JSpecify may feel less like it hates its users

Drawbacks

(YAA) Yet another annotation
It's more to ask from tool owners
The best name we can find might still not be that good
Two Ways To Do The Same Thing
Suggests that type parameters are special, when really we're only (elegantly) augmenting types themselves
Could be used when there is also a bound, which is confusing. If analyzing source we can say "don't do that", but we might see this in bytecode anyway (though when the bound is plain Object we can't complain).

Now or later?
This is marked Post-1.0. A few arguments for moving it up to 1.0:

Certain bad first impressions (e.g., that we obviously don't care about usability) might already have done their damage by the time we do
API owners can't safely use it until tool support has percolated all the way out to their users
Some APIs would be left doing it the long way forever

Alternatives
Could be obviated by reconsidering #82 or #12 (not to imply we are planning to do that).
Having @Nullable itself serve this purpose is probably a non-starter since some tools will continue recognizing their own @Nullable annotation there with a different meaning (#85, which I still feel fine about rejecting)

I am open to doing something here.  Maybe interface Foo<@PossiblyNullable T>?  I think the tradeoffs are spelled out pretty clearly above.  I do think that assuming the rules don't end up being super complex, this a relatively minor ask for tool owners.

since we aren't proposing to let users write interface Foo<@SomeNewAnnotation T extends Number>

Oh, sorry, for the second time today, I was commenting on an earlier version of a post. It sounds like you're proposing to allow that after all? (As you say, it does sound like we'd be required to, since we bytecode doesn't distinguish between interface Foo<@SomeNewAnnotation T> and interface Foo<@SomeNewAnnotation T extends Object>.)

Indeed, when analyzing dependent code we'd have to recognize <@TheAnnotation T extends Object>; then, it's equally clear what <@TheAnnotation T extends NotObject> is intended to mean, so it might as well recognize that too.
But when analyzing source, we would want tools to complain about using this together with any explicit bound. At best it's redundant (when the bound is @Nullable) and at worst the bound becomes an outright lie.

The idea is more than "accepts either nullness," since we aren't proposing [edit: oops, I'm probably wrong, see below] to let users write interface Foo<@SomeNewAnnotation T extends Number> with behavior equivalent to interface Foo<T extends @Nullable Number>.
The idea is more than even "can accept any type argument, even nullable ones": In interface Foo<T extends @Nullable Object, U extends T>, U "can (sometimes) accept any type argument, even nullable ones," but we wouldn't want @SomeNewAnnotation there.

It sounds to me like when @SomeNewAnnotation is used, it does mean those things; it's just that when your goal is to "mean those things", @SomeNewAnnotation isn't always the way to do it. Fair? I don't think that bothers me tooo much.

Yes, that's very fair: @SomeNewAnnotation means those things; the absence of @SomeNewAnnotation doesn't mean the absence of those things.
I still find the drawbacks more compelling than the advantages overall (+1 to the comment that you lay them out clearly here), but I retract the additional drawback that I'd been describing above.

It's too bad we can't overload Nullable@, imo this approach both makes a lot of intuitive sense and keeps our ontology of annotations smaller.
Another idea I think would be so-so is to move the annotation one level up and apply it at the type declaration level, but that wouldn't show up in a useful way in javadoc, right? something like: @NullableTypeParams interface <T>.

I feel that if class Foo<@Nullable T> is valid at all then #85 is the only reasonable meaning for it to have. If it had the meaning we're discussing here, it would be super mysterious why T isn't nullable and only the apparently-redundant @Nullable T is.
Hmm, to me it feels too hacky to pretend this is a property of the class, even assuming it's extremely rare for a class's type params to be of mixed bounds.

If there is any possibility of class Foo<@SomeNewAnnotation T>, perhaps a palatable name for it would be class Foo<@Any T>. I realize this doesn't mesh with how other languages use "any". But, maybe we can at least downplay "the name is so long and ugly" from our list of disadvantages of the approach.

I see how that name would be used only in Java sources, sidestepping concerns about the Kotlin Any. However, I happen to know from bitter experience that there is another commonly used Any class, com.google.protobuf.Any. That probably makes the name a non-starter for us.

I actually think the idea of someone maintaining a javadoc postprocessor is... not terrible, given all the room for improvement. But I would be surprised if someone signs up for it!
For JSpecify we should assume it is what it is, and take that into account.

Have you guys used Eclipse null analysis lately?

So I agree with @sviperll points on user pain (reddit) but clearly Eclipse has no problem shoving @NonNull/@Nullable everywhere (actually it is worse in that it will actually attach the @NonNull annotation to the type when Eclipse compiles even thought it isn't actually annotated thus when you go check with an annotation processor you will see the annotation present! ... There is a bug filed somewhere for that).
Yes I am probably the last person still using Eclipse but I have gotten used to the above and luckily this only happens in the IDE.
In great irony to the above Eclipse does allow you to specify if generics are to be interpreted as @NonNull or unspecified (unspecified is more or less T extends @Nullable Object).

IntelliJ will do interesting thing as well. If you have it try to infer and auto annotate your code (I have never gotten that feature to work) it will just @NotNull on everything.
So for me I don't mind the extra step as a library author and or even the javadoc bloat (although I do like @bowbahdoe idea of using ? for nullable... maybe Eclipse can use it instead for hover over as well as the possible future ! for nonnull).

actually it is worse in that it will actually attach the @NonNull annotation to the type when Eclipse compiles even thought it isn't actually annotated thus when you go check with an annotation processor you will see the annotation present! ... There is a bug filed somewhere for that

I've seen you before on conversations of https://bugs.eclipse.org/bugs/show_bug.cgi?id=572354, so probably that :)

Luckily they (JDT) now has their issues on github: https://github.com/eclipse-jdt/eclipse.jdt.core/issues
The last time I used bugzilla besides Eclipse was when CVS was still an OK option. It was one of my biggest pain points of Eclipse. I wish even intellij moved over (albeit their bug system is much better than bugzilla).
I don't see that bug on github so I'll add it later.

This belongs in the Post-1.0 bucket, rather than saying 'working decision: no'.  (You could say that we made a "working decision" to postpone it, but we aren't generally tracking things that way.)


Refactor command parameters

There is an established convention for CLI parameters. Here are a few links you can read through to get a basic idea:

https://unix.stackexchange.com/questions/21852/single-dashes-for-single-character-options-but-double-dashes-for-words
https://serverfault.com/questions/387935/whats-the-difference-betwen-the-single-dash-and-double-dash-flags-on-shell-comm
https://superuser.com/questions/372203/whats-the-difference-between-one-dash-and-two-dashes-for-command-prompt-paramet

Parameters that are a single character should use a single hyphen - so that they can be used together if they don't require values.(e.g. command -abc)
Parameters that are multiple characters should use a double hyphen --. (e.g. CoreLocationCLI --json)
There are also established conventions for parameters like --help, which would be useful for anyone who discovers the program and wants to learn more.
So, you could alias the current mulit-character commands like this:
-h, --help
-v, --verbose

etc.

Here are some suggestions:
-h, --help
-f, --format
-j, --json
-v, --verbose
-V, --version (print version information)
-w, --watch (currently -follow)

f is already used by format, so I suggested -w, --watch. Another idea is -c, --continuous.

Looks great. That suggested set is good. Perhaps leave off -V.
Here is a library that may be able to do this https://github.com/apple/swift-argument-parser

Thank you, fixed and released


TextInput BUG RN 0.76.1

Description
TextInput on focus leads app to crash with error attempt to invoke virtual method 'void com.facebook.react.uimanager.UIManagerModule.onBatchComplete()' on a null object reference on Android platform.
TextInput styles set to width 100%, value is form store and onChangeText  = just simple store action. Even without value and action - app is crashes on TextInput focus
Steps to reproduce
1 Import TextInput
2. Style TextINput as you wish.
3. yarn android
4. WTF?!?!?!?!
React Native Version
0.76.1
Affected Platforms
Runtime - Android
Output of npx react-native info
System:
  OS: macOS 15.1
  CPU: (16) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
  Memory: 42.98 MB / 16.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 22.5.1
    path: /usr/local/bin/node
  Yarn:
    version: 4.2.2
    path: /usr/local/bin/yarn
  npm:
    version: 10.8.2
    path: /usr/local/bin/npm
  Watchman:
    version: 2<IP_ADDRESS>
    path: /usr/local/bin/watchman
Managers:
  CocoaPods:
    version: 1.15.2
    path: /Users/trickyc0d3r/.gem/ruby/3.3.0/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 24.1
      - iOS 18.1
      - macOS 15.1
      - tvOS 18.1
      - visionOS 2.1
      - watchOS 11.1
  Android SDK:
    API Levels:
      - "29"
      - "31"
      - "33"
      - "34"
      - "35"
    Build Tools:
      - 30.0.3
      - 33.0.1
      - 33.0.2
      - 34.0.0
      - 35.0.0
      - 35.0.0
    System Images:
      - android-34 | Google Play Intel x86_64 Atom
      - android-35 | Pre-Release 16 KB Page Size Google APIs Intel x86_64 Atom
    Android NDK: Not Found
IDEs:
  Android Studio: 2024.1 AI-241.18034.62.2411.12071903
  Xcode:
    version: 16.1/16B40
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.12
    path: /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home/bin/javac
  Ruby:
    version: 3.3.4
    path: /usr/local/opt/ruby/bin/ruby
npmPackages:
  "@react-native-community/cli":
    installed: 15.0.0
    wanted: 15.0.0
  react:
    installed: 18.3.1
    wanted: 18.3.1
  react-native:
    installed: 0.76.1
    wanted: 0.76.1
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true
iOS:
  hermesEnabled: true
  newArchEnabled: true

Stacktrace or Logs
its unreachebale

Reproducer
https://github.com/trickyc0d3r/textinput_0761_android_fuckedup/blob/main/ReproducerApp/App.tsx
Screenshots and Videos
No response

Its all about react-native-avoid-soft-input! Let it be burned

I am running into the same issues and I am using TextInput from react-native. How did you fix it?

the same for me, both 0.76.1 and 0.76.2 for bare TextInput

https://github.com/facebook/react-native/issues/47662

Its all about react-native-avoid-soft-input! Let it be burned

Hello! Di you fix it?

the same for me, on 0.76.0, 0.76.1 and 0.76.2 for bare TextInput.
@trickyc0d3r could you reopen the issue?

Hello! Di you fix it?

@Chasen-Zhang
implementation ("androidx.appcompat:appcompat:1.3.1") {
    version {
        strictly '1.3.1'
    }
}

Did you try this? If it works let me know, does not work for me.

I found that I used the UI library: https://github.com/wix/react-native-ui-lib
When I remove it, The Errors gone! So you guys shoud check what libraries you have used.
@deividgp @maksym-kyryliuk @muzhaqi16 @trickyc0d3r

Yes, I am using react-native-ui-lib too and it does look like the error happens either with it or ine of it's dependencies.

This is an outdated API that has been deprecated in the new architecture. Please check whether other libraries still depend on it, and comment it out if necessary. I am using , and I resolved the issue by commenting out the following line in react-native-ui-libpackage com.wix.reactnativeuilib.keyboardinput.utils.


Improve Model Server modal error handling with dynamic spec

Description

Fix #893
Add error handling for the dynamic spec of the ServingRuntime object.
How Has This Been Tested?

Delete the servingruntimes-config ConfigMap
Create a new Model Server
Check there's a warning now in the modal
Create a new servingruntimes-config ConfigMap with a default-config key
Check that the alert is gone

Merge criteria:

[X] The commits are squashed in a cohesive manner and have meaningful messages.
[X] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[X] The developer has manually tested the changes and verified that the changes work

/assign @andrewballantyne

Could you run it through a few error states and let me know what you test -- because this was my first test.

Could you run it through a few error states and let me know what you test -- because this was my first test.

Fixed, huhg, that's the problem of manual testing, I was testing a malformed yaml, but not a yaml that's correct but does not contain the correct values 🤦♂

@andrewballantyne fixed the latest issue, I think is ready to go.

Looks if I change the apiVersion to serving.kserve.io/v1alpha2 (using the default-config as a base) it hits a 400 error, does not show the error and then closes the dialog without warning -- not completing anything -- no runtime created.

Fixed, it seems that I was implementing wrong allSettledPromises . It does not propagate errors to the catch, but rather returned an array with the promises either resolved or rejected, that's why it wasn't triggering any issue. @andrewballantyne


Increase unit tests coverage for directives

test this

test this

Codecov Report

Merging #737 into master will increase coverage by 0.16%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #737      +/-   ##
==========================================
+ Coverage   97.47%   97.64%   +0.16%
==========================================
  Files          31       31
  Lines        2658     2799     +141
  Branches      229      404     +175
==========================================
+ Hits         2591     2733     +142
+ Misses         67       55      -12
- Partials        0       11      +11

Impacted Files
Coverage Δ

browser/directives/breadcrumb.js
100% <100%> (+22.22%)
:arrow_up:

browser/pages/confirm/controller.js
80.66% <0%> (-1.73%)
:arrow_down:

browser/model/helpers/downloader.js
96.94% <0%> (-1.52%)
:arrow_down:

browser/services/componentLoader.js
98.78% <0%> (-1.22%)
:arrow_down:

browser/model/jdk-install.js
97.68% <0%> (-0.52%)
:arrow_down:

browser/services/data.js
99.55% <0%> (-0.45%)
:arrow_down:

browser/directives/pathValidator.js
100% <0%> (ø)
:arrow_up:

browser/main.js
100% <0%> (ø)
:arrow_up:

browser/model/helpers/hash.js
100% <0%> (ø)
:arrow_up:

browser/model/helpers/installer.js
100% <0%> (ø)
:arrow_up:

... and 17 more

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 4b8ea91...a1664c0. Read the comment docs.


Airflow Webserver Replicas

Checks

[X] I have checked for existing issues.
[X] I have looked through the FAQ.

Question
I would like to understand why the number of airflow webserver pods is always 1 even if we set the web.replicas = 3

@aashishadhh this is because the correct value is web.replicas not webserver.replicas.

Oops mistake on the thread.
I have been using web.replicas = 3 and the issue is same.
Went through the previous issues, tried adding a static web server key and still the number of web server pod running is 1.
But when i edited the deployment using kubectl edit airflow-webserver then updated the replicas to 2 then two pods for webserver started running

@aashishadhh I just tested, and multiple replicas is working fine.


Make all dynamic memory allocations via core API functions in jerry-ext

Direct calls to malloc and free should be avoided,
jerry_heap_alloc and jerry_heap_free should be used in their
place. Build-time configuration should decide whether those calls
manage dynamic memory on the engine's heap or on the system heap.
JerryScript-DCO-1.0-Signed-off-by: Akos Kiss<EMAIL_ADDRESS>

JerryX should not rely on any internal things. That is a key design principle.

JerryX should not rely on any internal things. That is a key design principle.

@zherczeg jerry-ext should not rely on any internal functions, true. But jerry_heap_alloc and jerry_heap_free are public API, not internal routines (those would be their ecma_... counterparts). And using jerry API memory allocation routines is definitely better aligned with the memory management of the rest of the engine than malloc/free. Using the system memory allocator would force jerry-ext users to have two allocation mechanisms in parallel (if they configure the engine to use its own), or would prevent the use of jerry-ext (if system allocator is not available).
BTW, jerry-ext/debugger is already using jerry_heap_... routines, for the same reasons, I guess.

@zherczeg jerry-ext should not rely on any internal functions, true. But jerry_heap_alloc and jerry_heap_free are public API, not internal routines (those would be their ecma_... counterparts). And using jerry API memory allocation routines is definitely better aligned with the memory management of the rest of the engine than malloc/free. Using the system memory allocator would force jerry-ext users to have two allocation mechanisms in parallel (if they configure the engine to use its own), or would prevent the use of jerry-ext (if system allocator is not available).
BTW, jerry-ext/debugger is already using jerry_heap_... routines, for the same reasons, I guess.

True, I forgot these functions are exported.
In general, what is the gain here? Jerry allocator is better than the system allocator, or we don't expect to have enough memory provided by the system? I would prefer allocating everything with malloc outside of JerryScript.

True, I forgot these functions are exported.
In general, what is the gain here? Jerry allocator is better than the system allocator, or we don't expect to have enough memory provided by the system? I would prefer allocating everything with malloc outside of JerryScript.

Well, "outside" JerryScript, i.e., an embedder application does whatever it want. It knows very well what the platform allows or disallows. It knows whether using system allocator is OK or not. But the engine was designed to be able to run on systems where the system allocator must not be used for dynamic memory allocation (that's why it has its own heap, if configured so, and its own memory allocators).
But jerry-ext is kind of a grey zone. It is not the core of the engine, it must not use internal routines, but it shall be "universal". Wherever the engine can work, the extensions should work, too (there may be some exception to that, but they should be the exceptions, not the rule). Therefore, if an extension needs dynamic memory, it should allocate that via the jerry_heap_... API functions. (And then, depending on the configuration of the engine, that will be channeled through either to the engine's allocator, or to the system allocator.) If that would not be the case, perhaps the public heap API functions would not even be needed.

Well, "outside" JerryScript, i.e., an embedder application does whatever it want. It knows very well what the platform allows or disallows. It knows whether using system allocator is OK or not. But the engine was designed to be able to run on systems where the system allocator must not be used for dynamic memory allocation (that's why it has its own heap, if configured so, and its own memory allocators).
But jerry-ext is kind of a grey zone. It is not the core of the engine, it must not use internal routines, but it shall be "universal". Wherever the engine can work, the extensions should work, too (there may be some exception to that, but they should be the exceptions, not the rule). Therefore, if an extension needs dynamic memory, it should allocate that via the jerry_heap_... API functions. (And then, depending on the configuration of the engine, that will be channeled through either to the engine's allocator, or to the system allocator.) If that would not be the case, perhaps the public heap API functions would not even be needed.

Would it be a good idea to make this configurable (jerry-ext can or cannot use malloc)? So people could choose the best for them. The default can be not to use it.

Would it be a good idea to make this configurable (jerry-ext can or cannot use malloc)? So people could choose the best for them. The default can be not to use it.

Would it be a good idea to make this configurable (jerry-ext can or cannot use malloc)? So people could choose the best for them. The default can be not to use it.

jerryx_heap_free  and jerryx_heap_malloc

Would it be a good idea to make this configurable (jerry-ext can or cannot use malloc)? So people could choose the best for them. The default can be not to use it.

jerryx_heap_free  and jerryx_heap_malloc

@zherczeg I'd keep configiration options to a minimum. Especially in this case. At least, for now. Adding that configurability would also mean adding a new memory management layer, even if thin.
Something like jerryx_heap_alloc (or JERRYX_HEAP_ALLOC) would be needed, which would either get translated to malloc or jerry_heap_alloc (depending on jerry-ext configuration), which in turn can get translated to malloc or jmem_... (depending on jerry-core configuration). This sound a bit overly/unnecessarily complex to me with those cascaded decisions.
If that should be implemented, I'd leave for a follow-up feature implementation PR (not by me).

@zherczeg I'd keep configiration options to a minimum. Especially in this case. At least, for now. Adding that configurability would also mean adding a new memory management layer, even if thin.
Something like jerryx_heap_alloc (or JERRYX_HEAP_ALLOC) would be needed, which would either get translated to malloc or jerry_heap_alloc (depending on jerry-ext configuration), which in turn can get translated to malloc or jmem_... (depending on jerry-core configuration). This sound a bit overly/unnecessarily complex to me with those cascaded decisions.
If that should be implemented, I'd leave for a follow-up feature implementation PR (not by me).


bootstrap: send abort for client-server-start if client-server-script cannot be downloaded

This is a little tricky in that client-server-script would have normally been the one doing the RB for client-server-start.  Also, bootstrap has no code (currently) to actually call roadblock.  That is not a big problem, it just means we need the same function in client-server-script that calls roadblock in bootstrap as well.  I am willing to live with the duplicated code :)

repoen in engine subproject


Gasless publish flow

📝 Changed routes:

/contracts
/contracts/new/custom

(view full size)
(view full size)

/contracts/publish

(view full size)

Commit b569daa5c3cd9d45b38647176e2986ea08eedd9e (https://thirdweb-j44uen9w1-thirdweb.vercel.app).

Prompts to sign but then I get this:


Thoughts for a new API

I feel the usage of this library should be more intuitive than it is right now.
Current API:
public listen(path: string, operation: string, callback: Function);

The problems I see with it:

The operation parameter is usually not essential, and it causes more confusion than helps. The callback for "add" and "replace" operations are often the same anyway (from my experience)
The number of arguments in the callback varies according to the number of matches the path has - which can be confusing. (Which argument number is the value? BTW "removed" operations doesn't have a value! 😖 )

In order to address these issues, I'd like to propose some possible solutions.
Omitting  the operation parameter
By omitting the operation parameter, the callback should receive its value somehow. Given the current behaviour of the callback, it could be used as the last argument.
container.listen(
  "entities/:id/:attribute",
  (entityId: string, attribute: string, value: any, operation: string) => {
    console.log(entityId, attribute, operation, value);
  }
);

Having a standard for the arguments in the callback
By having the same signature in the callback for any kind of change ("add", "remove", "replace"), all the confusion should be gone, and it plays nicer with TypeScript.
interface DataChange {
    path: string[];
    value: any;
    operation: string;
}

container.listen("entities/:id/:attribute", (change: DataChange) => {
    // Destructing the variables from the path (this pattern may repeat a lot)
    let [ entityId, attribute ] = change.path;

    console.log(entityId, attribute, change.operation, change.value);
})

A variation of this one would be to have the path as an object, already populated with the named segments.
interface DataChange {
    path: any;
    value: any;
    operation: string;
}

container.listen("entities/:id/:attribute", (change: DataChange) => {
    let entityId = change.path.id; // extracted from `:id` in the first argument
    let attribute = change.path.attribute; // extracted from `:attribute` in the first argument
    console.log(entityId, attribute, change.operation, change.value);
})

Requesting feedback 😇
I'd love to gather some feedback before changing the API, since this library has been ported to C# and C++. Would be awesome to have a solution that everybody's happy about :)
Would you recommend a different approach? /cc @AnubisCode @seiyria @niklaswolf @darkyen @michalhainc @bmovement @JoaoMosmann @chunho32
Sorry for the long post, thanks for reading all this :)

I think these proposals are build on logical arguments, at this moment I have no objections/improvement ideas to this matter

I like the idea of having a path and no operation. For me, some code looks like this:
    this.worldRoom.state.listen('players/:id/effects/:effect', 'add', (entityId, effect, value) => {
      this.clientGameState.updatePlayerEffect(+entityId, effect, value);
    });

    this.worldRoom.state.listen('players/:id/effects/:effect', 'remove', (entityId, effect) => {
      this.clientGameState.updatePlayerEffect(+entityId, effect, null);
    });

Simplifying it would be great.
There are a few things like that. I know I ran into a confusing point, as well, with this code:
    this.worldRoom.state.listen('mapData/openDoors/:id/isOpen', 'add', updateDoor);
    this.worldRoom.state.listen('mapData/openDoors/:id/isOpen', 'replace', updateDoor);

The add never fired when adding a new door with the isOpen property (openDoors is an object), instead, to make it work, I had to do this:
    this.worldRoom.state.listen('mapData/openDoors/:id', 'add', updateDoor);
    this.worldRoom.state.listen('mapData/openDoors/:id/isOpen', 'replace', updateDoor);

Also, I don't know how feasible it is to request and send batched updates, but I have code like this:
    this.worldRoom.state.listen('players/:id/:attribute', 'replace', (entityId, attribute, value) => {
      if(!includes(['x', 'y', 'dir', 'swimLevel'], attribute)) return;
      this.clientGameState.updatePlayer(+entityId, attribute, value);
    });

Every update will fire at least twice, because of x and y. x and y may not change (moving along an axis), but most often I get two updates where I could get one. I don't know what an API for this could look like, though. It's not the end of the world, but if it was something that could be factored in, that would be great.

I really like the last variation, where path is an already populated object, simply because it requires less work for the developer. In every case you would have to destruct the variables from path anyway, so I like the approach to do this automatically. It looks more cleaner and understandable too I think.
Furthermore the general approach of only having one parameter for the callback makes it much easier having very "long" pathes. In the current implementation you'd have to provide a parameter for every path-part. In the new approach this would be much easier as it would be done automatically!

about the last variation:
looks like not the most productive. to checking includes(['x', 'y', 'dir', 'swimLevel'], attribute) every updates - veeeeery no effective.

It's not the best idea, I did it to get around this issue: https://github.com/endel/delta-listener/issues/4 - I could change it back. But it's still a case where I have to watch x, y, dir, swimlevel, and bind the change to them 4 different times.

Another thing that I noticed is that variables prefixed with a dollar sign do not get sent across. I don't know if that's intentional, but it's not documented anywhere.
I use $var to note that "this is a temporary variable and should not be saved, but is relevant in some way." I can always use a different prefix of course but if that's intentional (or me doing something wrong) that should at least be documented. :D

Thanks for the feedback guys! I really appreciate your time to reply here :)
This new approach is actually 1.3x faster than the previous one. When the new version of Colyseus comes out this new API will be there as well :) Will try to provide some docs for upgrading.
@seiyria I like the way you're approaching the listeners. I've been thinking lately that it would be awesome to build a another tool on top of delta-listener to allow automatic property changes, by using decorators - somewhat similar to how Unity3D's state synchronization works:
import { sync } from "sync-tool"

class Entity {
    @sync x: number;
    @sync y: number;
}

The challenge here is how to infer to object scope based on the room's data. I'm totally interested in implementing this eventually.

@endel you have no idea how awesome something like @sync would be! It's basically what I would want - the sugar looks nice and it would be SO much nicer on the client side.

@endel why do that and not use Observables instead?

@darkyen I don't have much experience using Observables. I see that a uncompressed implementation has 11kb (https://github.com/zenparsing/zen-observable/blob/master/src/Observable.js)
If the benefits of using it pay off, why not? :D
Do you have some example how the API usage may look like using Observables?

Well, I don't have much to argue with. But the changes being a single Object, and also containing the path as an Object is great, much less prone to mistakes than the Array and parameters variations.

One thing that I definitely want to make note of, since I'm running into it right now. If I do something like this:
this.worldRoom.state.listen('players/:id/agro', 'replace', updateSpecificAttr.bind(this, 'agro')); and agro is an object, I'm hoping that replace (or the new equivalent) would also watch the keys inside of it, somehow, and send me updates for any change for this object. Otherwise, I have to:
    this.worldRoom.state.listen('players/:id/agro/:player', 'add', updateSpecificAttr.bind(this, 'agro'));
    this.worldRoom.state.listen('players/:id/agro/:player', 'replace', updateSpecificAttr.bind(this, 'agro'));
    this.worldRoom.state.listen('players/:id/agro/:player', 'remove', updateSpecificAttr.bind(this, 'agro'));

And I don't care about /:player, it's just there to grab all the updates from the object.

Thanks guys!

Released<EMAIL_ADDRESS>with this change.
Released<EMAIL_ADDRESS>using it.

(Next steps will be updating the C# and C++ implementations.)
Maybe for 3.0.0 we can use Observables. Making slow and incremental changes :)


Nuget packages and symbols

We need to have another go at figuring out the best practice for including symbols and perhaps source in nuget packages.
I had been including the PDB files in the packages but that felt a bit odd and that hack is no longer working for packages targeting multiple frameworks.  I'm removing that configuration from the csproj files to get things building again.

done


Debugging settings, tools and tricks

I wanted to know if there any settings, tools and tricks that can be used for making debugging applications built on Aeron easier.

AeronStat is a useful little tool to understand media driver state that can be found in the samples.
It can also be useful to turn on event logging. This can be enabled with the following property.
-Daeron.event.log=all
The value can be add, prod, admin, or a comma separated list which can be found in EventConfiguration.

Awesome tools! Thanks Martin.


How does shrine works with non-image files?

Hi, I haven't found much info on non image files.
I am going to use pre-signed s3 urls so there is no way I can tell upfront if the file is image or not and I want all kids of files uploaded.
Hopefully shrine will work in my case, is there anything to keep in mind in this use-case?

Yes, Shrine works with any types of files, the README just demonstrates images because they're the most common types of files. The base functionality of Shrine doesn't have any image-specific logic, it just treats all files the same (just some plugins and processing add image-specific functionality, but naturally you just won't load those when you're handling all types of files).
Note that as per contribution guidelines it would be great if you ask questions on the google group, and use GitHub issues only for bugs or pull requests. Thanks!


Allow skipping processing images based on a predicate

Fixes #8.

I like this idea. However, thinking about the signature of the predicate a bit - I wonder if we should make it more flexible? (Or, easier to make more flexible in the future)
In particular, right now, the predicate can skip based on the file path, which works great in your case where you have separate directory structures. But maybe if my directory structure wasn't as clean, and I wanted to skip based on some other criteria, I couldn't because nothing else can be provided to the predicate. For example, maybe I want to skip on a case-by-case basis by setting a flag on the images to skip (like, setting a custom data-svimg-skip attribute on specific images or something), but I couldn't make a predicate to do that.
My first thought was to pass through all the properties to the predicate, but I haven't thought through whether that's safe to expose all of them, and I imagine we'd have to clone the properties we pass to the predicate so the predicate can't manipulate the values. Maybe at a minimum, we make the function signature an object like this to make it easier to pass additional properties in the object without breaking existing predicates?
skip?: (args: { src: string }) => boolean;

That's a great suggestion, I've applied that now. :smiley:


[0.10.6] @Nullable ignored and warns as non-null field

This is easily resolved by adding the suppression, but it appears to be a regression unless I am doing something wrong?
> Task :guava:compileJava
/Users/ben/projects/caffeine/guava/src/main/java/com/github/benmanes/caffeine/guava/CaffeinatedGuavaCache.java:156:
warning: [NullAway] @NonNull field CaffeinatedGuavaCache$AsMapView.entrySet not initialized
    @Nullable EntrySetView entrySet;
                           ^
    (see http://t.uber.com/nullaway )
  Did you mean '@SuppressWarnings("NullAway.Init") @Nullable EntrySetView entrySet;'?
/Users/ben/projects/caffeine/guava/src/main/java/com/github/benmanes/caffeine/guava/CaffeinatedGuavaCache.java:157:
warning: [NullAway] @NonNull field CaffeinatedGuavaCache$AsMapView.keySet not initialized
    @Nullable KeySetView keySet;
                         ^
    (see http://t.uber.com/nullaway )
  Did you mean '@SuppressWarnings("NullAway.Init") @Nullable KeySetView keySet;'?
/Users/ben/projects/caffeine/guava/src/main/java/com/github/benmanes/caffeine/guava/CaffeinatedGuavaCache.java:158:
warning: [NullAway] @NonNull field CaffeinatedGuavaCache$AsMapView.values not initialized
    @Nullable ValuesView values;
                         ^
    (see http://t.uber.com/nullaway )
  Did you mean '@SuppressWarnings("NullAway.Init") @Nullable ValuesView values;'?
3 warnings

Um, that's really weird. We are definitely not seeing that behavior in general (i.e. for all @Nullable fields) or it would be literally impossible to get NullAway to work on any non-trivial codebase. But if the code in question is here, then I also don't immediately see what could be going on. Do you have a minimal repro? Is the fact that we have a final inner class part of the issue? (There was a change in NullAway 0.10.6 about final fields, but not classes, I think...)

Sorry, I don't have a repro but I pushed the commit to a dev branch if you want to run the build.
./gradlew guava:compileJava

lazaro@lazaro--java:~/caffeine$ git checkout -b v3.dev origin/v3.dev
branch 'v3.dev' set up to track 'origin/v3.dev' by rebasing.
Switched to a new branch 'v3.dev'
lazaro@lazaro--java:~/caffeine$ ./gradlew guava:compileJava
Downloading https://services.gradle.org/distributions/gradle-8.0-rc-1-bin.zip
[...]

BUILD SUCCESSFUL in 29s
10 actionable tasks: 1 executed, 9 from cache
Configuration cache entry stored.

Well, something really weird is going on here... does your gradle build set a specific java version? If not, what do you get out of java -version?
cc: @msridhar

Yes, the build uses Java 11 via a toolchain. Maybe due to the remote build cache it was not run locally? you can try
./gradlew guava:clean guava:compileJava --console plain --no-build-cache

Update: That did the trick.
Also, got a repro now:
  @Test
  public void repro705() {
    defaultCompilationHelper
            .addSourceLines("Test.java",
                    "package com.uber;",
                    "import com.google.common.collect.ForwardingConcurrentMap;",
                    "import java.util.Map;",
                    "import java.util.Map.Entry;",
                    "import java.util.Set;",
                    "import java.util.concurrent.ConcurrentMap;",
                    "import java.util.concurrent.ConcurrentHashMap;",
                    "import org.checkerframework.checker.nullness.qual.Nullable;",
                    "class Test<K, V> {",
                    "  @Nullable Foo f;",
                    "  final class Foo { }",
                    "}")
            .doTest();
  }

And the first commit in NullAway it fails on (after #702). Looking into the cause.

Got a candidate fix: #706
Issue is in how we detect the locations of type use annotations (i.e. how we figure out we are looking at @Nullable List<T> vs List<@Nullable T> (we don't yet support reasoning about the later case, but we are getting the foundations set there). We were missing some handling of the case where the annotation is on an inner type.
That suggests one, admittedly annoying, alternative workaround:
+  @SuppressWarnings("NullableOnContainingClass")
   final class AsMapView extends ForwardingConcurrentMap<K, V> {
-    @Nullable EntrySetView entrySet;
-    @Nullable KeySetView keySet;
-    @Nullable ValuesView values;
+    @Nullable CaffeinatedGuavaCache<K,V>.EntrySetView entrySet;
+    @Nullable CaffeinatedGuavaCache<K,V>.KeySetView keySet;
+    @Nullable CaffeinatedGuavaCache<K,V>.ValuesView values;

(Alternatively, suppressing NullAway or remaining on 0.10.5 for a couple days are good options too!)
Realistically, we probably won't be able to cut NullAway 0.10.7 until after the new year, but once we do, it should include the fix above :)

thanks for the quick fix! I'll remove the suppression whenever the next release lands.

Update: NullAway 0.10.7 is now out with the #706 as the only change. I just tested updating the dep in the repro given above and it all builds successfully, except for some EP warnings about AvoidObjectArrays which seem unrelated.
This is a temporary fix, pending some more principled handling of type use annotations that matches JSpecify semantics (see #708), but it should resolve this issue.


MPO generation for multi-coupling terms

Mike Zaletel pointed out to me that the curent MPO generation is inefficient in terms of the bond dimension of the resulting MPO for certain models. The MPO graph should not only be built from the left, but from both sides.
In the case of 4-body terms sum_ijkl A_i B_j C_k D_l with each i < j < k < l having D entries (e.g. circumference on a cylinder), this can reduce the bond dimensions from something scaling as O(D^3) in the current implementation to O(D^2).
For terms like sum_i A_i B_{i+d_1} C_{i+d_2} D_{i+d_3} which we have in most cylinder models, it doesn't matter too much, though

This was addressed by Wilhem with the rewrite in the mixed_xk branch, and fixed in #148 to also work with long-range couplings.
Thanks again, Wilhelm!


Postgres Database service resource creation finishes prematurely

Provider version: 2.0.4.
Target cloud: AWS, London Region
I'm currently experiencing an issue when spinning up a service of type pg.
Consider the following example script
resource "aiven_service" "myservice" {
    project = "example-project"
    cloud_name = "aws-eu-west-2"
    plan = "business-8"
    service_name = "example"
    service_type = "pg"
    project_vpc_id = "${aiven_project_vpc.vpc_aws_eu_west_2.id}"
    termination_protection = true
    pg_user_config {
        ip_filter = ["<IP_ADDRESS>/0"]
        pg_version = "10"
    }

    timeouts {
        create = "20m"
        update = "15m"
    }
}

resource "aiven_database" "mydatabase" {
    project = "example-project"
    service_name = "example"
    database_name = "exampledb"
}

resource "aiven_service_user" "myserviceuser" {
    project = "example-project"
    service_name = "example"
    username = "user"
}

The issue that I'm having is that on terraform apply after the service is created Terraform goes on to immediately create the database and user, which returns with 404 errors saying that the service doesn't exist. Running terraform apply again creates the database and user. Is it possible to wait until the service is ready for further updates before marking it as created?

We have a couple of solutions here:

Use references between resources and Terraform will build a dependency graph out of thoughts.

resource "aiven_service" "myservice" {
    project = "example-project"
    cloud_name = "aws-eu-west-2"
    plan = "business-8"
    service_name = "example"
    service_type = "pg"
    project_vpc_id = "${aiven_project_vpc.vpc_aws_eu_west_2.id}"
    termination_protection = true
    pg_user_config {
        ip_filter = ["<IP_ADDRESS>/0"]
        pg_version = "10"
    }

    timeouts {
        create = "20m"
        update = "15m"
    }
}

resource "aiven_database" "mydatabase" {
    project = aiven_service.myservice.project
    service_name = aiven_service.myservice.service_name
    database_name = "exampledb"
}

resource "aiven_service_user" "myserviceuser" {
    project = aiven_service.myservice.project
    service_name = aiven_service.myservice.service_name
    username = "user"
}

Use depends_on

resource "aiven_service" "myservice" {
    project = "example-project"
    cloud_name = "aws-eu-west-2"
    plan = "business-8"
    service_name = "example"
    service_type = "pg"
    project_vpc_id = "${aiven_project_vpc.vpc_aws_eu_west_2.id}"
    termination_protection = true
    pg_user_config {
        ip_filter = ["<IP_ADDRESS>/0"]
        pg_version = "10"
    }

    timeouts {
        create = "20m"
        update = "15m"
    }
}

resource "aiven_database" "mydatabase" {
    project = "example-project"
    service_name = "example"
    database_name = "exampledb"

    depends_on = [
        aiven_service.myservice
    ]
}

resource "aiven_service_user" "myserviceuser" {
    project = "example-project"
    service_name = "example"
    username = "user"
    depends_on = [
        aiven_service.myservice
    ]
}


Fixed #346

Support import scoped BOM dependencies in use-latest-releases.

Can someone review this please? I would like to fix other goals too.


Switch to GitHub Actions

Travis is currently used for CI, but we can switch to GitHub Actions.
Please see https://github.com/nodecraft/b2-cloud-storage/pull/14 for details on what needs to be included. (Code coverage can be ignored for now).

Workflow test.yml - needs tweaks to support testing on more than just Linux
Readme badge

Can I try to do this one please ?

Absolutely @bLandais , thanks for wanting to contribute!
Just submit a PR when you're ready and good luck on reaching your 4 PRs for Hacktoberfest!
PS. We have quite a few other repos that could use switching over too if you're interested in those; https://github.com/issues?q=is%3Aissue+org%3Anodecraft+label%3Ahacktoberfest+is%3Aopen

Closed by #8


bump knative serving 0.35.1

Signed-off-by: Kenny Leung<EMAIL_ADDRESS>

needs a rebase

@mattmoor  @tcnghia
    cgroup_test.go:75: Error getting cgroup information: stat /sys/fs/cgroup/memory/memory.limit_in_bytes: no such file or directory
    cgroup_test.go:75: Error getting cgroup information: stat /sys/fs/cgroup/cpu/cpu.cfs_period_us: no such file or directory
    cgroup_test.go:75: Error getting cgroup information: stat /sys/fs/cgroup/cpu/cpu.cfs_quota_us: no such file or directory
    cgroup_test.go:75: Error getting cgroup information: stat /sys/fs/cgroup/cpu/cpu.shares: no such file or directory
    cgroup_test.go:101: Can't find the 'cpu.cfs_period_us' from cgroups

any pointers on these conformance test failures?
dont see any changes in the release that might introduce these failures

I'd try rerunning things.  Those are environmental things that I'd expect to be provided by something much lower level than knative 🤔

Codecov Report

Merging #52 (6120b19) into main (da17b61) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #52   +/-   ##
=======================================
  Coverage   70.76%   70.76%
=======================================
  Files           4        4
  Lines         195      195
=======================================
  Hits          138      138
  Misses         40       40
  Partials       17       17

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

I'd try rerunning things. Those are environmental things that I'd expect to be provided by something much lower level than knative 🤔

it is an environmental thing, though it seems persistent at this point.
havent had much luck pin pointing to what it is, last time it passed was on Nov 10.
pinned down all the actions and deps and still failing.
it is running fine on knative/serving, so im somewhat lost on what else could have changed

I'd try rerunning things. Those are environmental things that I'd expect to be provided by something much lower level than knative 🤔

it is an environmental thing, though it seems persistent at this point. havent had much luck pin pointing to what it is, last time it passed was on Nov 10. pinned down all the actions and deps and still failing. it is running fine on knative/serving, so im somewhat lost on what else could have changed

good, im not going crazy, issue noted here, https://github.com/knative/serving/issues/13529
These errors are caused because the paths that we're checking ([here](https://github.com/knative/serving/blob/327bf9168f44a81fd16b32118cb6c1a040f776ed/test/conformance/runtime/cgroup_test.go#L59-L60), [here](https://github.com/knative/serving/blob/327bf9168f44a81fd16b32118cb6c1a040f776ed/test/conformance/runtime/cgroup_test.go#L80), and [here](https://github.com/knative/serving/blob/327bf9168f44a81fd16b32118cb6c1a040f776ed/test/conformance/runtime/cgroup_test.go#L84)) don't exist on systems using cgroups v2 (for example, Fedora 36 or Ubuntu 22.04).


Release new 0.4.0 version

Description and motivation
As a number of new features have been introduced since 0.3.0, we should start the preparations for a new release:

[x] include final features
[x] revise codebase and final testing
[x] revise documentation
[x] publish release

0.4.0 is up!


Display individual markers on the map

The ability to display individual marker on the map, clicking on a point displays all the relevant information belonging to that point.

done


Adding docker volumes to vdsm

Can you somehow add a docker volume (let's say nfs mount) as an additional volume in vdsm? Thanks

I know, but the desired use-case is to employ vdsm for Photos only, and it would be more helpful for the synced pics to reside on a network share (be it nfs or cifs) that can be easily browsed from other apps/endpoints as well. If the nfs share is mounted using remote mount it cannot serve as storage area for Photos and pics sync.

a different possibility would be to use an iscsi lun, I'll look into it and get back

it works fine with an iscsi mounted lun having btrfs

yea, but it suffices to have the LUN at hand for recovery purposes instead of vmdks or host storage

Hi! As the iscsi lun gets mounted late in the boot sequence, there is an issue with enabling user home service on that given volume. It needs to be done either by enabling it and choosing the volume in the web interface, after each restart, or by scripting somehow and running it post lun mount.  This could be achieved by synoservice command with userhome enable arguments prior to 7.0, but is no longer available in 7.x and systemctl does not seem to do it. Any idea on how to achieve it? Thanks


Can't clone on Windows

Here is what I got. Seems like filename too long is the issue?
$ git clone https://github.com/IdentityServer/IdentityServer4.Samples.git
Cloning into 'IdentityServer4.Samples'...
remote: Counting objects: 3802, done.
remote: Compressing objects: 100% (29/29), done.
remote: Total 3802 (delta 9), reused 0 (delta 0), pack-reused 3773
Receiving objects: 100% (3802/3802), 6.41 MiB | 12.48 MiB/s, done.
Resolving deltas: 100% (2511/2511), done.
error: unable to create file Quickstarts/8_EntityFrameworkStorage/src/QuickstartIdentityServer/Data/Migrations/Id       entityServer/ConfigurationDb/20170319194441_InitialIdentityServerConfigurationDbMigration.Designer.cs: Filename too long
error: unable to create file Quickstarts/8_EntityFrameworkStorage/src/QuickstartIdentityServer/Data/Migrations/Id       entityServer/PersistedGrantDb/20170319194432_InitialIdentityServerPersistedGrantDbMigration.Designer.cs: Filename        too long
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry the checkout with 'git checkout -f HEAD'

is this resolved?

No, the same error. I end up download the zip.

you probably hit MAX_PATH on Windows


envoy returns HTTP 426 for proxying traffic to nginx http2 endpoint

First, this problem happens randomly and I still cannot repo it. I post an issue here to see if you have ideas. And I will update it once I have more information.
In my case, I have a remote dependency, it's a nginx enabled http2. And I try to connect to it via Envoy:
My service ---HTTP 1.1---> Envoy ---HTTP 2---> Nginx Plus (SLB)
OS: ubuntu 14.04
Envoy: v1.5.0
Here is a related config I pick from my large config:
admin:
  access_log_path: /tmp/admin_access.log
  address:
    socket_address: { address: <IP_ADDRESS>, port_value: 9901 }

static_resources:
  listeners:
  - name: listener_0
    address:
      socket_address: { address: <IP_ADDRESS>, port_value: 10000 }
    filter_chains:
    - filters:
      - name: envoy.http_connection_manager
        config:
          stat_prefix: ingress_http
          codec_type: AUTO
          route_config:
            name: local_route
            virtual_hosts:
            - name: local_service
              domains: ["www.google.com"]
              routes:
              - match: { prefix: "/" }
                route:
                  timeout: 60s
                  host_rewrite: www.google.com
                  cluster: service_google
          http_filters:
          - name: envoy.router
  clusters:
  - name: service_google
    connect_timeout: 0.25s
    type: STRICT_DNS
    dns_lookup_family: V4_ONLY
    lb_policy: ROUND_ROBIN
    hosts:
    - socket_address:
        address: www.google.com
        port_value: 443
    http2_protocol_options: {}
    tls_context:
      sni: www.google.com
      common_tls_context:
        alpn_protocols: h2

From the service log, I can see some of the response status codes are 426 (~1%), but I cannot repo it stably.
But I got a chance to do it by nc and got the following:
$ nc <IP_ADDRESS> 12345
GET /cms/service/search?search=SEX&page_num=0 HTTP/1.1
host: A_PRIVATE_DOMAIN

HTTP/1.1 426 Upgrade Required
server: envoy
date: Thu, 01 Feb 2018 07:42:58 GMT
content-length: 0
x-envoy-upstream-service-time: 2

GET /cms/service/search?search=SEX&page_num=0 HTTP/1.1
host: A_PRIVATE_DOMAIN

HTTP/1.1 200 OK
server: envoy
date: Thu, 01 Feb 2018 07:43:06 GMT
content-type: application/json
content-length: 5428
vary: Accept-Encoding
x-api-version: bf8d7cd
etag: "j2jBnN6O4An7p/NjdexSWjaih5Q="
content-md5: A/Vrt9tfWp4jxmmf/sbnJg==
api-version: 4.0.0
request-id: a31779e4-9ee4-409e-83da-6290f81498bb
response-time: 96
x-cache-status: REVALIDATED
x-envoy-upstream-service-time: 63

{"pages":5,...

Envoy access log:
[2018-02-01T10:07:44.756Z] "GET /cms/service/search?search=Meet%20The%20Mill&page_num=0 HTTP/1.1" 426 - 0 0 0 0 "<IP_ADDRESS>" "-" "f08b0651-572a-96c9-a9d1-ade1aac6efbe" "A_PRIVATE_DOMAIN" "<IP_ADDRESS>:443" nginx_cluster - <IP_ADDRESS>

I can get 400 from envoy randomly as well:
HTTP/1.1 400 Bad Request
server: envoy
date: Thu, 01 Feb 2018 10:13:22 GMT
content-length: 0
x-envoy-upstream-service-time: 1

I am wondering if this 426 is happening on the remote nginx and envoy return it directly to the client.

more info:

i cannot repo this issue without high load -- I can only repo this in our production
i cannot repo it with domain www.google.com
this url is a url enabled nginx cache, if i repo this issue, i can see in the following success request the cache is not hit.

May be this is an issue of nginx plus.
But I think envoy should not let the downstream know about upstream status 426.

FYI it looks to me like the 426 is coming from NGINX, not Envoy. (Same for the 400). You can tell this by the x-envoy-upstream-service-time header. Beyond that no idea right now. This is the first I have heard of an issue like this. I might ask NGINX to help debug if you are paying for Plus already?

Yeah, I'd argue if upstream wants H2 and Envoy is configured to do h2 and HTTP/1 it's an upstream bug that H2 is not negotiated so I don't think it's worth the complexity to add functionality to Envoy to retry with H2 only.
Admittedly it would be a bit confusing if Envoy were configured for HTTP/1.1 only, a user were doing H2-to-Envoy and got a proxied 426 from an Envoy-Upstream HTTP/1 connection, but I think the best we could do at that point was have a configuration option to swallow the 426 and 50x instead.

One other pretty bizarre thing here: NGINX Plus appears to be returning 426 when Envoy is speaking h2, since Envoy does not negotiate. Given that it's random, this sounds like some caching bug to me in their server.

We have paid for NGINX plus. And how to debug?

And how to debug?

Ask NGINX to help determine why it is returning a 426? I'm not going to claim there is no chance this is a bug in Envoy, but there is not much to go on here.

Thanks, we will reach NGINX for help.
BTW, we are going to allow http traffic to work around currently.

I finally find the root cause, it's the issue of ourself, neither Envoy nor NGINX.
The full route is like this:
Service --> Envoy --> NGINX SLB --(x)--> Envoy --> Another Service
In route x, is what the problem happen.
This route is for a legacy API, which enabled NGINX cache for performance reason, but in this route's proxy config, it missed a shared config proxy_http_version 1.1, which default to use HTTP 1.0 for all NGINX upstream.
And Envoy will return HTTP 426 if the request is HTTP 1.0. (#170)
The reason why this is happening randomly is because I deploy only part of the machines in cluster.


add HCP pipelines

https://github.com/Washington-University/HCPpipelines

Yes, we have a bidsapp for these pipelines: bidsapphcppipelines_4.3.0

I am trying to work with hcpasl pipeline but do not succeed. Should it be also installed?

Dear @lucsanara - the hcp-asl pipeline is not yet available in Neurodesk, but I opened an issue for it now: https://github.com/NeuroDesk/neurocontainers/issues/848 . Do you want to try to contribute this pipeline to Neurodesk?

Sure! Not sure how it works to install it. I ran:
conda create -n hcpasl python=3.11 cython 'numpy>=1.25'
conda activate hcpasl
pip install git+https://github.com/physimals/hcp-asl.git
It did not work when entering the command process_hcp_asl

@lucsanara - it needs a few more things to make this work. We can try to have a look at this in the next weeks - would that work for you or do you need it urgently?


Feature Request: Tooltip on DataGrid column's name

Feature Request
Inspired by Google Finance, having a tooltip on the column header would be great to give the user a column description. Please find a screen recording describing the feature:
https://github.com/openfun/cunningham/assets/45729124/410bd853-6458-4cc2-a1ec-ea763c3ed938
(Please note that the component here is not a proper table or data grid, I use this screen recording to illustrate what would be a similar feature for our existing component).
Wdyt? It's absolutely not a top priority, but a nice to have. It would be especially useful in Warren while dealing with complex data.

I totally support this feature request


chore: Unify dockerfiles

Description
Changes proposed in this pull request:

use Dockerfiles with kyma configuration
Remove not needed dockerfiles, and github actions

Related issue(s)
https://github.com/kyma-project/busola/issues/3298
Definition of done

[x] The PR's title starts with one of the following prefixes:

feat: A new feature
fix: A bug fix
docs: Documentation only changes
refactor: A code change that neither fixes a bug nor adds a feature
test: Adding tests
chore: Maintainance changes to the build process or auxiliary tools, libraries, workflows, etc.

[x] Related issues are linked. To link internal trackers, use the issue IDs like backlog#4567
[x] Explain clearly why you created the PR and what changes it introduces
[x] All necessary steps are delivered, for example, tests, documentation, merging

/override tide


Why have a virus?

This is literally a DLL Injector, what you expected? Is obvious that an anti-virus would detect it as virus, but is not. Please read the source code of the injector if you don't believe me.

I only said that how can I do so that this alert does not appear every time and the program is not eliminated :c

I only said that how can I do so that this alert does not appear every time and the program is not eliminated :c

Read the post you wrote, you didn't say that.
You should not disable your antivirus, only create an exception for the software to run. Guide of how to do it using Windows Defender.

Thanksssssssssss I love u <3


@@bs.deriving accessors appears broken for single records

When I do this:

I get this:

Note that I typed in [@@bs.deriving {accessors}], and refmt rewrote it as above.
Was asked to file this as single record punning issue.

I temporarily solved using [@@bs.deriving {accessors, accessors}]

We don't have single-record punning, see the note here: https://reasonml.github.io/guide/language/record#syntax-shorthand
So you'd need to use {accessors: accessors}
It's the curse of using a more familiar syntax unfortunately. I'll leave this issue open so that we can somehow provide a better error message. Sorry for the trouble!

Fixed. This is now accepted in BS:
type a =
  | A float int
[@@bs.deriving accessors];


iOS Cadre Can't Use Site

<EMAIL_ADDRESS>log in on iPhone or iPad, gets blankness

The issue appears to be users trying to use Event Manager in Private / Incognito mode. IT doesn't work for our site.
Without investigating thoroughly, it looks as though the issue is that, in private mode, Safari makes it look as though local storage works, but then when the code actually tries to use local storage, it doesn't work.
Another possibility, or maybe an additional one, is that cookies don't work. There are other possibilities as well, but it doesn't seem worth it to investigate further. Just don't use private mode.


Made file change time header optional

Change a header to optional so it doesn't interfere with older versions.
Also a small change to logic for delete if exists

API change check for com.azure:azure-storage-blob
API changes are not detected in this pull request for com.azure:azure-storage-blob

API change check for com.azure:azure-storage-file-share
API changes are not detected in this pull request for com.azure:azure-storage-file-share

/azp run java - storage - tests

Overriding check enforcer which is failing due to unrelated tests. The stress scenarios step is succeeding, which is the goal of this PR

/check-enforcer override


Unable to install symfony/webpack-encore-bundle

Hello. I'm currently facing a requirement problem between symfony/flex and symfony/webpack-encore-bundle. I'm using symfony/website-skeleton 3.4.99, which comes with symfony/flex 1.2.7 and the last version of symfony/webpack-encore-bundle needs it to be at leat 1.3.1. I updated my project using composer update, but it's really problematic I had to do it on fresh project install. Symfony projects need to work together, not against each others...
PS C:\Laragon\www\project> composer require symfony/webpack-encore-bundle
Restricting packages listed in "symfony/symfony" to "3.4.*"
Using version ^1.6 for symfony/webpack-encore-bundle
./composer.json has been updated
Restricting packages listed in "symfony/symfony" to "3.4.*"
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - The requested package symfony/flex (locked at v1.2.7, required as ^1.3.1) is satisfiable by symfony/flex[v1.
2.7] but these conflict with your requirements or minimum-stability.

Installation failed, reverting ./composer.json to its original content.

EDIT : I know composer.json has symfony/flex ^1.3.1, but composer still install 1.2.7, even after clearing all caches.
{
    "type": "project",
    "license": "proprietary",
    "require": {
        "php": "^7.0.8",
        "ext-ctype": "*",
        "ext-iconv": "*",
        "symfony/flex": "^1.3.1"
    },
    "flex-require": {
        "sensio/framework-extra-bundle": "^5.1",
        "symfony/asset": "*",
        "symfony/console": "*",
        "symfony/dotenv": "*",
        "symfony/expression-language": "*",
        "symfony/form": "*",
        "symfony/framework-bundle": "*",
        "symfony/monolog-bundle": "^3.1",
        "symfony/orm-pack": "*",
        "symfony/process": "*",
        "symfony/security-bundle": "*",
        "symfony/serializer-pack": "*",
        "symfony/swiftmailer-bundle": "^3.1",
        "symfony/translation": "*",
        "symfony/twig-bundle": "*",
        "symfony/validator": "*",
        "symfony/web-link": "*",
        "symfony/yaml": "*"
    },
    "require-dev": {
    },
    "flex-require-dev": {
        "symfony/debug-pack": "*",
        "symfony/maker-bundle": "^1.0",
        "symfony/profiler-pack": "*",
        "symfony/test-pack": "*",
        "symfony/web-server-bundle": "*"
    },
    "config": {
        "preferred-install": {
            "*": "dist"
        },
        "sort-packages": true
    },
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "App\\Tests\\": "tests/"
        }
    },
    "replace": {
        "paragonie/random_compat": "2.*",
        "symfony/polyfill-ctype": "*",
        "symfony/polyfill-iconv": "*",
        "symfony/polyfill-php70": "*",
        "symfony/polyfill-php56": "*"
    },
    "scripts": {
        "auto-scripts": {
            "cache:clear": "symfony-cmd",
            "assets:install %PUBLIC_DIR%": "symfony-cmd"
        },
        "post-install-cmd": [
            "@auto-scripts"
        ],
        "post-update-cmd": [
            "@auto-scripts"
        ]
    },
    "conflict": {
        "symfony/symfony": "*"
    },
    "extra": {
        "symfony": {
            "allow-contrib": false,
            "require": "3.4.*"
        }
    }
}

λ  composer create-project symfony/website-skeleton:3.4.* . -vvv

...

Installing symfony/website-skeleton (v3.4.99)
  - Installing symfony/website-skeleton (v3.4.99): Downloading https://api.github.com/repos/symfony/website-skeleton/zipball/ac083f8a5ef1f37356c73c85e41118371d34c44a

...

Extracting archiveCreated project in .
Reading ./composer.json
Loading config file ./composer.json
Failed to initialize global composer: Composer could not find the config file: C:/Users/Alexis/AppData/Roaming/Composer/composer.json
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section
Reading ./composer.lock
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Reading ./composer.lock
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.

...

  - Installing symfony/flex (v1.2.7): Downloading https://api.github.com/repos/symfony/flex/zipball/8618b243d44bac71e4006062f245d807d84f7a6c
Downloading (connecting...)
Following redirect (2) https://codeload.github.com/symfony/flex/legacy.zip/8618b243d44bac71e4006062f245d807d84f7a6c
Downloading https://codeload.github.com/symfony/flex/legacy.zip/8618b243d44bac71e4006062f245d807d84f7a6c
Downloading (100%)Writing C:/Users/Alexis/AppData/Local/Composer/files/symfony/flex/eb65a02d56aa2adcabf7569aecbf81f35f68b137.zip into cache from C:\Users\Alexis\Desktop\test\vendor/symfony/flex/437fc61728e0483e82738ec063c3bf6c

 Extracting archiveLoading plugin Symfony\Flex\Flex

EDIT 2: I don't know why there is a composer.lock in branch 3.4, but this is the culprit.
"name": "symfony/flex",
"version": "v1.2.7",
"source": {
    "type": "git",
    "url": "https://github.com/symfony/flex.git",
    "reference": "8618b243d44bac71e4006062f245d807d84f7a6c"
},

I don't know why there is a composer.lock in branch 3.4, but this is the culprit.

Good catch, removed.


Set up Demo for PCT Agile Team

Title of ticket: Set up Demo for PCT Agile Team
Description
Bethany Frei is setting up an agile project for PCT improvements. After an initial meeting, she was interested in seeing the work we've done/how we work.
DOD

[ ] Set up meeting for demo
[ ] Put together slides/content and Agenda
[ ] Review/Approve content with PO
[ ] Complete Presentation

@m-prodan Is this still needed? I can set something up for january if so

Yes - thanks for the poke, let's try and set something up for then.

This has been underway for sometime and that team now attends our sprint reviews. Closing


MNT : add explicit db alias

So that we can import multiple things that use mongoengine and
independently control which host/database/post each set of
odm templates looks at.
If the alias is not explicitly specified it falls back to using the
default one which is the source of the conflicts as the connection
related state is held as module-level global state in mongoengine
it will be shared by all odm_templates in the same python process.
This change should be completely transparent to all existing code.

While you are there, can you rename mds_config to connection_config to match filestore?

:-1: on than renaming.  Does not gain much and just adds (yet) more churn.

OK OK. Churn bad.


testing: unclear what t.Skip does in the context of fuzzing

The current "first class fuzzing" proposal design doc (https://go.googlesource.com/proposal/+/master/design/draft-fuzzing.md) only has one mention of "skip":
	// Run the fuzz test
	f.Fuzz(func(t *testing.T, a string, num *big.Int) {
		t.Parallel() // seed corpus tests can run in parallel
		if num.Sign() <= 0 {
			t.Skip() // only test positive numbers
		}

As I was porting one of my fuzz funcs from go-fuzz to first class fuzzing, I remembered that go-fuzz actually has two kinds of "skips":

The function must return 1 if the fuzzer should increase priority of the given input during subsequent fuzzing (for example, the input is lexically correct and was parsed successfully); -1 if the input must not be added to corpus even if gives new coverage; and 0 otherwise; other values are reserved for future use.

So it seems like, with go-fuzz, you have three options: give priority (+1), must ignore (-1), or default behavior (0).
Personally, I only used +1 or 0 in my go-fuzz funcs; I never had any input that must never be added to the corpus. I've adapted those returns for the new fuzzer so that the return 1 is now a regular return ending the function, and return 0 is now a t.Skip to signal an uninteresting input. Here's an example: https://github.com/mvdan/sh/commit/e186e04cbf119ac6e51d2010cb37674374557046
I'd love it if the meaning of t.Skip in the context of fuzz funcs was better documented. Perhaps my understanding of what it does is incorrect, or perhaps it doesn't correspond to return 0 in go-fuzz.
Another question is whether we want an equivalent to go-fuzz's return -1. I personally didn't have a need for it, but others might be using it and not know how to transition those to the new fuzzer.
cc @katiehockman

The docs do say:

The Skip method of *T can be used in a fuzz target if the input is invalid, but should not be considered a crash.

Still unclear to me if this means that the input can end up in the cached corpus inside the build cache or not - to my understanding, that would be the difference between go-fuzz's 0 and -1.

cc @golang/fuzzing We should clarify this.
Currently T.Skip does nothing specific to fuzzing; it's like returning early.
We should make sure that if T.Skip is called, an input will not be considered "interesting" even if it provides new coverage. I think that would be equivalent to return -1 in go-fuzz.

So I guess go-fuzz's return 0 would be equivalent to just return without t.Skip? In that scenario I guess I'd mostly avoid t.Skip in the context of fuzzing, just like I didn't need to use return -1 for go-fuzz. Some guidance on when or when not to use Skip would be certainly welcome.

Did you mean Go 1.19 here? Or is this Go 1.18?

CC @golang/fuzzing
What is the status of this issue?  Thanks.


ffmpeg_noise entity not created if input unavailable on startup

Home Assistant release with the issue:
0.80.1
Operating environment (Hass.io/Docker/Windows/etc.):

Ubuntu standalone install
Component/platform:

binary_sensor.ffmpeg_noise (https://www.home-assistant.io/components/binary_sensor.ffmpeg_noise/)
Description of problem:
If the input source (ie, RTSP stream) is not available when Home Assistant starts up, the binary_sensor entity is not created. I think it would make more sense to create the entity but consider it unavailable.
The same stream is configured with an ffmpeg camera which is created without issue. The base ffmpeg component allows a run_test parameter to skip the startup test.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
binary_sensor:
    - platform: ffmpeg_noise
      name: Noise Sensor
      input: rtsp://<IP_ADDRESS>:8554/unicast
      extra_arguments: -filter:a highpass=f=300,lowpass=f=2500,volume=volume=2 -codec:a libmp3lame -ar 16000
      initial_state: false
      duration: 2
      reset: 30
      peak: -30

Traceback (if applicable):
2018-10-15 14:22:18 ERROR (MainThread) [haffmpeg.tools] ReturnCode: 1 / STD: b'' / ERR: b'ffmpeg version 3.4.4-0ubuntu<IP_ADDRESS> Copyright (c) 2000-2018 the FFmpeg developers\n  built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)\n  configuration: --prefix=/usr --extra-version=0ubuntu<IP_ADDRESS> --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared\n  libavutil      55. 78.100 / 55. 78.100\n  libavcodec     57.107.100 / 57.107.100\n  libavformat    57. 83.100 / 57. 83.100\n  libavdevice    57. 10.100 / 57. 10.100\n  libavfilter     6.107.100 /  6.107.100\n  libavresample   3.  7.  0 /  3.  7.  0\n  libswscale      4.  8.100 /  4.  8.100\n  libswresample   2.  9.100 /  2.  9.100\n  libpostproc    54.  7.100 / 54.  7.100\n[tcp @ 0x55f9077d4aa0] Connection to tcp://<IP_ADDRESS>:8554?timeout=0 failed: Connection refused\nrtsp://<IP_ADDRESS>:8554/unicast: Connection refused\n'
2018-10-15 14:22:18 ERROR (MainThread) [homeassistant.components.ffmpeg] FFmpeg 'rtsp://<IP_ADDRESS>:8554/unicast' test fails!
/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/camera/ffmpeg.py:35: RuntimeWarning: coroutine 'FFmpegManager.async_run_test' was never awaited
  if not hass.data[DATA_FFMPEG].async_run_test(config.get(CONF_INPUT)):

The RuntimeWarning in the traceback above has been solved in https://github.com/home-assistant/home-assistant/pull/17609.

configuration.yaml
ffmpeg:
  run_test: false

That fix the problem too?

I am not sure what you mean by
If the input source (ie, RTSP stream) is not available when Home Assistant starts up, the binary_sensor entity is not created.

I just setup a dummy stream that doesn't exist and the binary sensor gets created every time.

I can't recreate my original problem and FFmpeg sensors no longer run input validity tests on startup. Closing.


Removal of unnecessary error checking routine

This situation occurs because the dependancy (zlibjs/bin/rawinflate.min.js) doesn't do a sanity check on distances going back farther than the current buffer.
 But rawinflate.min.js doesn't check for this like the infgen debug tool (and others) would. So CyberChef would happily provide this as the result: 123...123...
Where the dots are just nulls of likley empty memory preceding the actual buffer
So with the example in this source
// e.g. Input data of [8b, 1d, dc, 44]
last			! 1
fixed			! 01
literal ']		! 10110001
match 158 5		! 0 00100 11011 10000011
infgen warning: distance too far back (5/1)
This means we have a literal ']' and then we are asking for 158 more characters and to find them a distance of 5 back. This explains why the ']', why it repeats every 5, and why it is a length > 158.
This code should just be removed; it isn't justified. Being that this issue is a lack of sanity checking in a dependancy, and that this routine only catches the symptom of one of the nearly unlimited edge cases like this, AND it could filter out correct inputs, such as a recipe of this as input to RAWDEFLATE ]OMG[]HAX[]OMG[]HAX[]OMG[]HAX[]OMG[]HAX[]OMG[]HAX[]OMG[]HAX[]OMG[]HAX[]OMG[]HAX[]OMG[]HAX[]OMG[]HAX[]OMG[]HAX[]OMG[]HAX[]OMG[]HAX[]OMG[]HAX[]OMG[]HAX[]OMG[]HAX Then getting an error with the INFLATE even though the input is actually valid.

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


Introduction of repo-tool packages with api-report

Hey, I just made a Pull Request!

Replace the scripts/api-extractor.ts with the new CLI package backstage-repo-tools api-reports command.
Today the api-report tooling runs directly from a script. converting it to a package will make it easy to share tooling in case of needed and give better dependency management
TODO:
the script was moved "as is" and will require future work to add tests and refactor on more readable parts
:heavy_check_mark: Checklist

[ ] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[ ] All your commits have a Signed-off-by line in the message. (more info)

You may want to turn on autoformatting on save in your editor (see warnings about prettier)


Drop Casks does not work

When running brew drop equinox or brew drop --cask equinox (or any other cask) I get the following error:
Error: no implicit conversion of Array into String
/usr/local/Homebrew/Library/Homebrew/formulary.rb:217:in `exist?'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:217:in `resolve'
/usr/local/Homebrew/Library/Taps/superatomic/homebrew-bundle-extensions/cmd/drop.rb:67:in `block in drop'
/usr/local/Homebrew/Library/Taps/superatomic/homebrew-bundle-extensions/cmd/drop.rb:57:in `each'
/usr/local/Homebrew/Library/Taps/superatomic/homebrew-bundle-extensions/cmd/drop.rb:57:in `drop'
/usr/local/Homebrew/Library/Homebrew/brew.rb:93:in `<main>'

Line 67 in drop is the culprit:
brew_name_resolves_to_full_name = Formulary.resolve(brew.name).full_name == brew.full_name
Although this works wonderfully to avoid formulae conflicts, this does not work for casks. A slight oversight.
@superatomic are you aware of a similar function to Formulary.resolve that exists for Casks? If there isn't one, we could only perform the check for formulae and move on.
Let me know what you think.

Oops! I didn't even think to test whether casks worked with brew drop. That's my bad.
I'm sure that their must be some equivalent method to Formulary.resolve for casks, although I haven't looked through Homebrew's source code for it yet. I'll take a look and let you know what I find.
Finally, thanks for the helpful bug report!

I'm not going to be able to access a computer today. I'll try to get a fix out as soon as I can. Apologies for the delay!

It looks like Cask::CaskLoader.load is the equivalent of Formulary.resolve for casks.
Additionally, to get the short name of a cask, brew.token needs to be used instead of brew.name, because brew.name an array of a cask's display names instead of it's actual name (but for formulae brew.name refers to the correct value).

Sorry for the delay! The problem should be fixed now, just run brew update, and the command brew drop equinox (and other uses of brew drop that remove casks) should successfully run without errors.

No worries at all! Thanks for the quick support!


Add easy way for users to record/access debug/crash log

Right now the average user is not able to supply a debug log when reporting a bug. We need to come up with a better way of doing things.
See pull request #368 for an old attempt at improving the situation.

Is ACRA not an option - or still an option, but needs more work than the PR did?