Android native UI components are not re-layout on dynamically added views

Is this a bug report?
Yes.
Have you read the Contributing Guidelines?
Yes.
Environment
Environment:
OS: macOS High Sierra 10.13.2
Node: 8.9.4
Yarn: 1.3.2
npm: 5.6.0
Watchman: 4.9.0
Xcode: Xcode 9.2 Build version 9C40b
Android Studio: 3.0 AI-171.4443003
Packages: (wanted => installed)
react: 16.2.0 => 16.2.0
react-native: 0.53.0 => 0.53.0
Description
The issue can be noticed if you bridge to React Native the following views:
A view with elements that have a visibility to gone on the initial render won't be displayed after you've set is visibility to visible. view.isShown() will return true, but it will not be there or it will be there but not really re-layout.
A view with elements that are dynamically added, simply by view.addView() or let's say you want to load an image with Fresco it will only work if it was loaded on the initial render.
I've noticed that native components are re-layout on hot reloading, but this.forceUpdate() or changing props won't trigger a re-layout. As an ugly workaround, if we interact with the native component height or width it will trigger a re-layout, so every time you want to toggle a visibility from gone to visible or dynamically adds views you can alter his size.
I've also implemented needsCustomLayoutForChildren without notable change.
Expected Behavior (Native)
Here's the native implementation directly inflated inside an Activity.

Actual Behavior (React Native)
Here's the exact same layout as above, but bridged to react native and inflated inside SimpleViewManager.

Reproducible Demo
https://github.com/charpeni/react-native-android-visibility-issue
Related to #5531 (Already flagged in RN 0.18).

Same issues . I think the maintainers are have only iOS devices and don't want support android. I think they  do work on react-native only because they  likes write code on js for iOS.

@ardmn This issue is unfortunate, but please stay polite and respectful.

@charpeni Are you think that I am not polite and respectful ? Where ? I'm not insulting anybody. I'm just telling you how I see it. I am only say about my thinks.

You're not insulting directly anybody but telling how you see it is unnecessary and totally unrelated to the issue. This type of comments won't lead to a resolution, many contributors are working hard to maintain and support Android and they shouldn't be uncomfortable with your perception.

@charpeni

This type of comments won't lead to a resolution, many contributors are working hard to maintain and support Android

You are right. But why it's work on iOS and nit work on Android ?

This type of comments won't lead to a resolution

I think that more comment can draw more people. More people => more chance to solve problem ;)

We are running into the same problem while developing the react-native wrapper of our Android SDK.
As far as I can tell the issue is that if you attach a ViewGroup to the react-native view hierarchy any change you make inside this ViewGroup causes  a layout pass to be triggered. Layouting on Android happens top-down so the ReactRootView gets the layout calls which it will drop since layouting is handled by the UIManagerModule.
ViewGroupManager already has a needsCustomLayoutForChildren method which tells react-native to call the regular Android layout for any react views you add. There also needs to be a way to tell react-native that we have added a ViewGroup which needs all regular layout calls forwarded. All this would need to do is to call layout() with the already calculated values on your views when ever layout is requested.

@charpeni what is your Android API?
Is there any different between API 24 and API 25?
I also have an issue that is related with Fresco module.

@efkan I've only used the default value of a RN project. Also, this bug doesn't only impact Fresco.
@irgendeinich What's your workaround in PSPDFKit?

@charpeni
What I ended up doing is just calling the layout methods inside a FrameCallback.
I've got something like this in my custom View returned by the ViewManager.
Choreographer.getInstance().postFrameCallback(new Choreographer.FrameCallback() {
    @Override
    public void doFrame(long frameTimeNanos) {
        for (int i = 0; i < getChildCount(); i++) {
            View child = getChildAt(i);
            child.measure(MeasureSpec.makeMeasureSpec(getMeasuredWidth(), MeasureSpec.EXACTLY),
                    MeasureSpec.makeMeasureSpec(getMeasuredHeight(), MeasureSpec.EXACTLY));
            child.layout(0, 0, child.getMeasuredWidth(), child.getMeasuredHeight());
        }
        getViewTreeObserver().dispatchOnGlobalLayout();
    }
    Choreographer.getInstance().postFrameCallback(this);
});

Any news about this issue?

I'm using the latest release, v0.55, this issue still happen

with v0.55, this bug still appears.

Is anyone currently working on this issue?

it's not a bug it's a feature of react-native, but need more info about update customView in customModule with react-native flow

@Dimon70007 how this could be a feature?

react-native does for you all dirty job to reach the best perfomance (but there is almost no documentation in react-native for situation when you want create native lib youself - assumed that you already have a good knoledges about android api) p.s. sorry for my bad english

Is anyone working on this issue?

with v0.57.7, this bug still appears.

public class RNTViewManager extends ViewGroupManager<RNTView> {

    ...

    @Override
    public boolean needsCustomLayoutForChildren() {
        return true;
    }

}

needsCustomLayoutForChildren return true has no effects. the view added dynamically is still not visible.
how to fix it?

I confirm this is happening in 0.59.9 as well. @jedi4ever works for me. Thanks.

I confirm this is happening in 0.59.9 as well. @jedi4ever works for me. Thanks.
me too，with rn v0.59.9，the above method is not solved，help me。

https://github.com/facebook/react-native/issues/17968#issuecomment-518623588 helped me.

For anyone interested I found a better hack to to fix the re-layout not being called on your custom View.
getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
   @Override
   public void onGlobalLayout() {
       requestLayout();
   }
});

Add the above code in your custom View constructor.
I have also tried @jedi4ever hack, but while it works I don't prefer it because the hack calls for a redraw of the whole tree endlessly.

Same issue with view rendering in React Native. Thanks. There are those who in custom view created fragments?

For anyone interested I found a better hack to to fix the re-layout not being called on your custom View.
getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
   @Override
   public void onGlobalLayout() {
       requestLayout();
   }
});

Add the above code in your custom View constructor.
I have also tried @jedi4ever hack, but while it works I don't prefer it because the hack calls for a redraw of the whole tree endlessly.

Your solution didn't work for me, I've placed it to constructor but even dough the listener was not being called when I add a view to a parent view.

I reply to @jedi4ever post:
Choreographer.getInstance().postFrameCallback(new Choreographer.FrameCallback() {
            @Override
            public void doFrame(long frameTimeNanos) { }
})

Choreographer docs

However, there are a few cases where you might want to use the functions of the choreographer directly in your application. Here are some examples.

If your application does its rendering in a different thread, possibly using GL, or does not use the animation framework or view hierarchy at all and you want to ensure that it is appropriately synchronized with the display, then use Choreographer#postFrameCallback.
... and that's about it.

Each Looper thread has its own choreographer. Other threads can post callbacks to run on the choreographer but they will run on the Looper to which the choreographer belongs.

postFrameCallback

Posts a frame callback to run on the next frame.

The callback runs once then is automatically removed.
Parameters

--
callback | Choreographer.FrameCallback: The frame callback to run during the next frame.

doFrame

Called when a new display frame is being rendered.

This method provides the time in nanoseconds when the frame started being rendered. The frame time provides a stable time base for synchronizing animations and drawing. It should be used instead of SystemClock#uptimeMillis() or System#nanoTime() for animations and drawing in the UI. Using the frame time helps to reduce inter-frame jitter because the frame time is fixed at the time the frame was scheduled to start, regardless of when the animations or drawing callback actually runs. All callbacks that run as part of rendering a frame will observe the same frame time so using the frame time also helps to synchronize effects that are performed by different callbacks.

Please note that the framework already takes care to process animations and drawing using the frame time as a stable time base. Most applications should not need to use the frame time information directly.

I can confirm that the issue is still present in version 0.62.2.
I faced this same situation in another scenario but of the same nature and @irgendeinich trick pointed me in the right direction but instead of repeatedly updating the view hierarchy I installed a OnHierarchyChangeListener to the parent view and whenever the view was added/removed to the parent I triggered the manual re-layout on the parent view group.
I ended up with something like (kotlin code):
private fun installHierarchyFitter(view: ViewGroup) {
  if (context is ThemedReactContext) { // only react-native setup
    view.setOnHierarchyChangeListener(object : OnHierarchyChangeListener{
      override fun onChildViewRemoved(parent: View?, child: View?) = Unit
      override fun onChildViewAdded(parent: View?, child: View?) {
        parent?.measure(
          MeasureSpec.makeMeasureSpec(measuredWidth, MeasureSpec.EXACTLY),
          MeasureSpec.makeMeasureSpec(measuredHeight, MeasureSpec.EXACTLY)
        )
        parent?.layout(0, 0, parent.measuredWidth, parent.measuredHeight)
      }
    })
  }
}

Choreographer.getInstance().postFrameCallback(new Choreographer.FrameCallback() {
@Override
public void doFrame(long frameTimeNanos) {
for (int i = 0; i < getChildCount(); i++) {
View child = getChildAt(i);
child.measure(MeasureSpec.makeMeasureSpec(getMeasuredWidth(), MeasureSpec.EXACTLY),
MeasureSpec.makeMeasureSpec(getMeasuredHeight(), MeasureSpec.EXACTLY));
child.layout(0, 0, child.getMeasuredWidth(), child.getMeasuredHeight());
}
getViewTreeObserver().dispatchOnGlobalLayout();
}
Choreographer.getInstance().postFrameCallback(this);
});

How to use kotlin?

Is this still a bug on RN 0.63? We are using 0.61 and plan to upgrade to 63 soon
I plan to use the workaround but wondering if this is fixed on 0.63?

No, I used RN 0.63.2 for my custom camera.
I still need to do this for now.

I found a workaround. Whenever you want to refresh layout, you need to call below method with layout parent view argument.
private void refreshViewChildrenLayout(View view){
      view.measure(
                View.MeasureSpec.makeMeasureSpec(view.getMeasuredWidth(), View.MeasureSpec.EXACTLY),
                View.MeasureSpec.makeMeasureSpec(view.getMeasuredHeight(), View.MeasureSpec.EXACTLY));
        view.layout(view.getLeft(), view.getTop(), view.getRight(), view.getBottom());
}

@vKeyGeek thanks, worked for me

I had this issue on android when creating a wrapper for the mapbox navigation SDK. Here is how I solved it - https://github.com/homeeondemand/react-native-mapbox-navigation/commit/4fceba358224cb3bc5ee9a649320723c4dea0ea8
override fun requestLayout() {
    super.requestLayout()

    // This view relies on a measure + layout pass happening after it calls requestLayout().
    // https://github.com/facebook/react-native/issues/4990#issuecomment-180415510
    // https://stackoverflow.com/questions/39836356/react-native-resize-custom-ui-component
    post(measureAndLayout)
}

private val measureAndLayout = Runnable {
    measure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY),
            MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY))
    layout(left, top, right, bottom)
}

How about the FPS if do a workaround with manuallyLayoutChildren? I am getting less frames rather than the actual one.

I found a workaround. Whenever you want to refresh layout, you need to call below method with layout parent view argument.
private void refreshViewChildrenLayout(View view){
      view.measure(
                View.MeasureSpec.makeMeasureSpec(view.getMeasuredWidth(), View.MeasureSpec.EXACTLY),
                View.MeasureSpec.makeMeasureSpec(view.getMeasuredHeight(), View.MeasureSpec.EXACTLY));
      view.layout(view.getLeft(), view.getTop(), view.getRight(), view.getBottom());
}

it's worked for me too, thanks

any update about this bug?

Unbelievable that this bug is still open.

Had similar issues trying to auto-size some content from a native Android View being hosted inside of a React Native view. Wanted to share the workaround approach that worked for me - involves similar usage of a measureAndLayout helper from the requestLayout() override, but then utilizing a call to UIManager to updateNodeSize(id, width, height) from the onMeasure override.
In case it helps anyone else...
    override fun requestLayout() {
        super.requestLayout()
        post(measureAndLayout)
    }

    private val measureAndLayout = Runnable {
        measure(
            MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY),
            MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)
        )
        layout(left, top, right, bottom)
    }

    override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
        var maxWidth = 0
        var maxHeight = 0
        for (i in 0 until childCount) {
            val child = getChildAt(i)
            if (child.visibility != GONE) {
                child.measure(widthMeasureSpec, MeasureSpec.UNSPECIFIED)
                maxWidth = maxWidth.coerceAtLeast(child.measuredWidth)
                maxHeight = maxHeight.coerceAtLeast(child.measuredHeight)
            }
        }
        val finalWidth = maxWidth.coerceAtLeast(suggestedMinimumWidth)
        val finalHeight = maxHeight.coerceAtLeast(suggestedMinimumHeight)
        setMeasuredDimension(finalWidth, finalHeight)
        (context as ThemedReactContext).runOnNativeModulesQueueThread {
            (context as ThemedReactContext).getNativeModule(UIManagerModule::class.java)
                ?.updateNodeSize(id, finalWidth, finalHeight)
        }
    }

I was still experiencing this issue in 0.73+...
Solved it by wrapping my View class with a workaround:
internal class MyReactNativeView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : MyView(context, attrs, defStyleAttr) {

  override fun requestLayout() {
    super.requestLayout()
    post(measureAndLayout)
  }

  private val measureAndLayout = Runnable {
    measure(
      MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY),
      MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)
    )
    layout(left, top, right, bottom)
  }

}

classic rn madness

Looks like I have this issue with react-native 0.76 and Fabric Android native component.
Are there any plans to solve it or at least provide confirmed by rn-developers workaround in documentation?


Limit Thumbnail upload file types

The Issue
The error message retrieved for choosing unsupported file format as thumbnail does not contain much information as to why the file failed to upload
Steps to Reproduce
1.try publishing a content
2.chose for example MP4 as thumbnail
3. YOu'll simpley get and error "upload failed"
Expected Behaviour
maybe only show supported files instead of showing all files for the thumbnail option
Actual Behaviour
shows all files
Suggested Solutions
When the publisher chooses the option to upload thumbnail with the thumbnail tool, it should only show the supported file format in the directory
System Configuration

LBRY Daemon version: 	0.20.4
LBRY App version: 0.23.0
LBRY Installation ID: 3cXLZiAWXwwJbv4fjhbXVgFtaBuUiFQM7afXmFYu5ss1chD1WCpxGUp8aW68gjeNRC
Operating system: Windows (Windows-10-10.0.16299)

Anything Else

Screenshots

https://cdn.discordapp.com/attachments/377895389992321064/473956934626574357/unknown.png
this shows after showing "upload failed"
https://cdn.discordapp.com/attachments/377895389992321064/473957937560420405/unknown.png

Thanks for filing! At a minimum, we should validate the file extension. If it's possible, we should open the file selection screen with only the valid types (as you mentioned).

Can I help with this issue?

@chrisza4 Sorry I missed this. Go ahead! You can start working on any issue with the help wanted tag, just leave a comment saying you are starting on it so no one else starts on the same one.


Remove m_ from AllocaitonRecord struct members

AllocationRecords are simple structs with three public members, so I don't think using m_ is beneficial there.

I like this in general. Needs an updated CHANGELOG though 😄

I like this, but the conflicts need resolving.


Updated dependencies

Coverage remained the same at 100.0% when pulling c1ece7ea062d989a829776ce454f88c14655a702 on update-dependencies into 56c03e06e361fef52d90c03599d1b7f53399d0da on master.


Game crash when using this power

I used a code from the wiki which makes the game crash, Here's the crash log and the power, I have been directed here by a moderator from the origin's server.
Crash Log
sunblindness.txt

Also this power doesn't work, no error as far as I can see, it just doesn't work.
Night Vision


Transclude ui sref and remove logo link

Transclude ui-sref, not sref in rg-header-item
Remove ng-click and pointer from RgHeader-logo as nowhere clear for it to go

TP https://rockabox.tpondemand.com/entity/11030

LGTM, besides comment. @nwhite89?


FeedPollDelay in ChangeFeedProcessorOptions is not respected

Hello everybody,
Describe the bug
When FeedPollDelay in CosmosDBTrigger is used (which uses ChangeFeedProcessorOptions) delay is not respected by the change feed mechanism. Calls to the leases collections are made every few seconds.
To Reproduce
ChangeFeedProcessorOptions looks as follows:
    public class Func
    {
        public const int FiveMinutesInMiliseconds = 300000;

        [FunctionName("Func")]
        public async Task Run([CosmosDBTrigger(
                databaseName: "databaseName",
                collectionName: "collectionname",
                ConnectionStringSetting = "COSMOSDB_CONNECTION_STRING",
                LeaseCollectionName = "leases",
                CreateLeaseCollectionIfNotExists = true,
                FeedPollDelay = FiveMinutesInMiliseconds)]

In the Azure Func option I see that option is set correctly:

There were no runs of the function between 9:15 and 9:40:

but then in CosmosDB Logs I see that the feed mechanism runs every single second

I tried to clean lease collection, stop and start a function - nothing helped.
Expected behavior
A single function call to the leases collection every 5 minutes.
Actual behavior
A lot of calls to the leases collection.
Environment summary
ActivityId to track function run - 6f6d4528-86fa-404a-9a34-7f0a9afc6fdf
Time when happened - 2021-01-19T09:22:32.782Z

@rmaziarka This is the wrong repo, don't you mean to send this to the Functions repo? https://github.com/Azure/azure-webjobs-sdk-extensions
In any case, this is not a bug and that setting does not measure the calls to the Leases collection.
The leases collection is used to store state. State is updated frequently, whenever your code finishes processing some changes, and periodically to refresh ownership of the leases by the current instance.
The FeedPollDelay affects Change Feed requests to the Monitored Collection (doesn't affect any interaction with the leases collection). And only applies when the Change Feed is checked and there are no changes. See the official docs: https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-cosmosdb-v2-trigger?tabs=csharp#configuration

For more details on the Change Feed Processor see: https://docs.microsoft.com/en-us/azure/cosmos-db/change-feed-processor

@rmaziarka This is the wrong repo, don't you mean to send this to the Functions repo? https://github.com/Azure/azure-webjobs-sdk-extensions
In any case, this is not a bug and that setting does not measure the calls to the Leases collection.
The leases collection is used to store state. State is updated frequently, whenever your code finishes processing some changes, and periodically to refresh ownership of the leases by the current instance.
The FeedPollDelay affects Change Feed requests to the Monitored Collection (doesn't affect any interaction with the leases collection). And only applies when the Change Feed is checked and there are no changes. See the official docs: https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-cosmosdb-v2-trigger?tabs=csharp#configuration

For more details on the Change Feed Processor see: https://docs.microsoft.com/en-us/azure/cosmos-db/change-feed-processor

Thanks @ealsur for that explanation.
But in that case which class / component / library is responsible for contacting with Lease collection? In a second image that you referred to in the comment, there is information update the lease store. So I would assume that it is something in azure-cosmos-dotnet library contacts my Lease collection every few seconds.

Thanks @ealsur for that explanation.
But in that case which class / component / library is responsible for contacting with Lease collection? In a second image that you referred to in the comment, there is information update the lease store. So I would assume that it is something in azure-cosmos-dotnet library contacts my Lease collection every few seconds.

@rmaziarka The Change Feed Processor contacts the lease store, like I mentioned, to checkpoint or to renew the leases ownership. The lease store usage (or the reason for it) is explained in https://docs.microsoft.com/en-us/azure/cosmos-db/change-feed-processor#components-of-the-change-feed-processor
Checkpoints happen every time your handler finishes processing a set of changes, there is no control over that that you can change, the checkpointing (updating of the lease) needs to happen to mark up to which part of the Change Feed you have already processed, so if the Function crashes or restarts, it can continue from that last point you processed.
Ownership refreshment happens based on the LeaseRenewalInternal that you can configure:

This is a key part of the dynamic load balancing. If you have multiple Function instances, they distribute the leases among themselves and each instance will process only it's owned leases.
What I don't understand is what is the concern with the lease store and why you want to limit the interactions, which are a core component of how the Change Feed is consumed.

@rmaziarka The Change Feed Processor contacts the lease store, like I mentioned, to checkpoint or to renew the leases ownership. The lease store usage (or the reason for it) is explained in https://docs.microsoft.com/en-us/azure/cosmos-db/change-feed-processor#components-of-the-change-feed-processor
Checkpoints happen every time your handler finishes processing a set of changes, there is no control over that that you can change, the checkpointing (updating of the lease) needs to happen to mark up to which part of the Change Feed you have already processed, so if the Function crashes or restarts, it can continue from that last point you processed.
Ownership refreshment happens based on the LeaseRenewalInternal that you can configure:

This is a key part of the dynamic load balancing. If you have multiple Function instances, they distribute the leases among themselves and each instance will process only it's owned leases.
What I don't understand is what is the concern with the lease store and why you want to limit the interactions, which are a core component of how the Change Feed is consumed.

@ealsur Let's start from the end. I was misled by the class ChangeFeedProcessorOptions in this repo so I thought that this repo is a proper one to ask this question. Do you find it required to move the discussion to the azure-documentdb-changefeedprocessor-dotnet repo?
And going back to my concerns. My case looks like that:

Once per hour contact a lot of external APIs.
Base on that put data in Primary and Secondary collections.
New data in Secondary collection starts CosmosDB Trigger.

Data is stored in CosmosDB in Serverless mode. So I pay for a single contact with the CosmosDB. And it turns out that cooperation with the Leases collection is the most expensive one across my app:

Mostly because other functions run once per hour. In the meantime, there is no traffic = no calls to CosmosDB = no money spent. But the Leases collection is requested every few seconds from the ChangeFeed. And it is completely pointless because there won't be any new data there.
So my goal is to cut down these request to the minimum - make them happen periodically every 5/10 minutes.

@ealsur Let's start from the end. I was misled by the class ChangeFeedProcessorOptions in this repo so I thought that this repo is a proper one to ask this question. Do you find it required to move the discussion to the azure-documentdb-changefeedprocessor-dotnet repo?
And going back to my concerns. My case looks like that:

Once per hour contact a lot of external APIs.
Base on that put data in Primary and Secondary collections.
New data in Secondary collection starts CosmosDB Trigger.

Data is stored in CosmosDB in Serverless mode. So I pay for a single contact with the CosmosDB. And it turns out that cooperation with the Leases collection is the most expensive one across my app:

Mostly because other functions run once per hour. In the meantime, there is no traffic = no calls to CosmosDB = no money spent. But the Leases collection is requested every few seconds from the ChangeFeed. And it is completely pointless because there won't be any new data there.
So my goal is to cut down these request to the minimum - make them happen periodically every 5/10 minutes.

And a few more info about the request to the Leases itself:

Unfortunately, CosmosDB obfuscated the param value, but if needed I can try to get it.

And a few more info about the request to the Leases itself:

Unfortunately, CosmosDB obfuscated the param value, but if needed I can try to get it.

I understand now the context. Sadly the Change Feed Processor (and the Trigger for instance) have a heavy dependency on the leases collection and there is no way to remove it.
The query you see being executed is the Change Feed Processor renewing the leases it owns.
You can potentially reduce the frequency of these queries/activities on the lease collection (all except the Checkpoint happening at the end of a batch being processed) by changing the values of these configurations:

The important rule is that the Expiration should be higher than the Renewal or the current instance will start to lose leases.
For example, you can increase the expiration to 120000 and the renewal to 60000, and that will reduce the query volume by ~50% and point operations that renew the lease too. Obviously the downside of this is that if your Function instance crashes unexpectedly, it will take 2 minutes for any other Function instance to be able to pick up the owned lease because it needs to wait 2 minutes until it can mark it as expired.

I understand now the context. Sadly the Change Feed Processor (and the Trigger for instance) have a heavy dependency on the leases collection and there is no way to remove it.
The query you see being executed is the Change Feed Processor renewing the leases it owns.
You can potentially reduce the frequency of these queries/activities on the lease collection (all except the Checkpoint happening at the end of a batch being processed) by changing the values of these configurations:

The important rule is that the Expiration should be higher than the Renewal or the current instance will start to lose leases.
For example, you can increase the expiration to 120000 and the renewal to 60000, and that will reduce the query volume by ~50% and point operations that renew the lease too. Obviously the downside of this is that if your Function instance crashes unexpectedly, it will take 2 minutes for any other Function instance to be able to pick up the owned lease because it needs to wait 2 minutes until it can mark it as expired.

Thanks @ealsur for that.
Unfortunately I tried these settings and nothing changed:

I turned off the function, the whole application but it doesn't make any change.

Thanks @ealsur for that.
Unfortunately I tried these settings and nothing changed:

I turned off the function, the whole application but it doesn't make any change.

@rmaziarka Try raising the LeaseAcquireInterval also, to a similar value than the LeaseRenewInterval, 2 minutes maybe. That was the other parameter I mentioned on the screen capture.

@rmaziarka Try raising the LeaseAcquireInterval also, to a similar value than the LeaseRenewInterval, 2 minutes maybe. That was the other parameter I mentioned on the screen capture.

Ehh, I could assume that I should do it as well 😕
Unfortunately, still no changes:

Ehh, I could assume that I should do it as well 😕
Unfortunately, still no changes:

@rmaziarka Is this running on Consumption Plan? Azure Functions in Consumption Plan has an external component that takes care of the scaling, this external component measures the pending number of documents to be read and decides how to scale. They use the Change Feed Processor Estimator API, which reads all leases, checks the current saved point and compares it with the latest state to calculate the difference.
I don't know how frequently they do that, but that would also match with that query and it's totally external to your Function code.
Does your report show the User agent performing those queries?

@rmaziarka Is this running on Consumption Plan? Azure Functions in Consumption Plan has an external component that takes care of the scaling, this external component measures the pending number of documents to be read and decides how to scale. They use the Change Feed Processor Estimator API, which reads all leases, checks the current saved point and compares it with the latest state to calculate the difference.
I don't know how frequently they do that, but that would also match with that query and it's totally external to your Function code.
Does your report show the User agent performing those queries?

@ealsur yes, I use Consumption Plan for my function app.
There is such information in logs:

I hope it'll help.

@ealsur yes, I use Consumption Plan for my function app.
There is such information in logs:

I hope it'll help.

@ealsur I tried to understand and apply this Change Feed Process Estimator in the project but I don't see any entry point when you use CosmosDBTrigger.
https://docs.microsoft.com/en-us/azure/cosmos-db/how-to-use-change-feed-estimator
Is it something configurable from the function side?

@ealsur I tried to understand and apply this Change Feed Process Estimator in the project but I don't see any entry point when you use CosmosDBTrigger.
https://docs.microsoft.com/en-us/azure/cosmos-db/how-to-use-change-feed-estimator
Is it something configurable from the function side?

@rmaziarka
I do not have access to the Consumption Plan details and internal workings, what I am saying is that, if you are on Consumption Plan, then I know the Functions runtime checks the estimation and know if they need to scale up/down. If there are no more events in your Change Feed for more than 5-10 minutes, Consumption Plan scales down and shuts down all instances. But periodically (I have no clue how often, it could be every 10 seconds) they would use the Estimator APIs, to know if there are any new changes and "wake up" instances to process them, this is not a hunch, this actually happens, so it could be very well the source of these queries. All this logic is completely external to Cosmos DB or the Cosmos DB Trigger, so there is nothing you can configure as far as I know (you could ask the Functions team through a support ticket maybe if the period they use to check is configurable). My only hunch based on the screenshot you pasted is the User Agent. At the end, it says changefeed-2.2.1, meaning the source is using the Change Feed Processor nuget 2.2.1, in your Function App project, you probably have the Cosmos DB extension nuget, which has a dependency on the CFP nuget, if your version does not match (for example, yours is higher), then it would confirm the suspicion that it's coming from there.
Regarding your second question, all those docs are for the Change Feed Processor, not related to Azure Functions Cosmos DB Trigger. Consumption Plan uses the CFP nuget and this API as far as I know:

https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.documents.changefeedprocessor.changefeedprocessorbuilder.buildestimatorasync?view=azure-dotnet#Microsoft_Azure_Documents_ChangeFeedProcessor_ChangeFeedProcessorBuilder_BuildEstimatorAsync
https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.documents.changefeedprocessor.partitionmanagement.iremainingworkestimator.getestimatedremainingworkperpartitionasync?view=azure-dotnet#Microsoft_Azure_Documents_ChangeFeedProcessor_PartitionManagement_IRemainingWorkEstimator_GetEstimatedRemainingWorkPerPartitionAsync

If your intent is to check if it's the same query, you could do the same from a console app.

@rmaziarka
I do not have access to the Consumption Plan details and internal workings, what I am saying is that, if you are on Consumption Plan, then I know the Functions runtime checks the estimation and know if they need to scale up/down. If there are no more events in your Change Feed for more than 5-10 minutes, Consumption Plan scales down and shuts down all instances. But periodically (I have no clue how often, it could be every 10 seconds) they would use the Estimator APIs, to know if there are any new changes and "wake up" instances to process them, this is not a hunch, this actually happens, so it could be very well the source of these queries. All this logic is completely external to Cosmos DB or the Cosmos DB Trigger, so there is nothing you can configure as far as I know (you could ask the Functions team through a support ticket maybe if the period they use to check is configurable). My only hunch based on the screenshot you pasted is the User Agent. At the end, it says changefeed-2.2.1, meaning the source is using the Change Feed Processor nuget 2.2.1, in your Function App project, you probably have the Cosmos DB extension nuget, which has a dependency on the CFP nuget, if your version does not match (for example, yours is higher), then it would confirm the suspicion that it's coming from there.
Regarding your second question, all those docs are for the Change Feed Processor, not related to Azure Functions Cosmos DB Trigger. Consumption Plan uses the CFP nuget and this API as far as I know:

https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.documents.changefeedprocessor.changefeedprocessorbuilder.buildestimatorasync?view=azure-dotnet#Microsoft_Azure_Documents_ChangeFeedProcessor_ChangeFeedProcessorBuilder_BuildEstimatorAsync
https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.documents.changefeedprocessor.partitionmanagement.iremainingworkestimator.getestimatedremainingworkperpartitionasync?view=azure-dotnet#Microsoft_Azure_Documents_ChangeFeedProcessor_PartitionManagement_IRemainingWorkEstimator_GetEstimatedRemainingWorkPerPartitionAsync

If your intent is to check if it's the same query, you could do the same from a console app.

@ealsur you are right - queries from my application has a different useragent:

Thanks for your time, I'll try to find some people from AF to get some details 😊

@ealsur you are right - queries from my application has a different useragent:

Thanks for your time, I'll try to find some people from AF to get some details 😊

From the sound of it, it looks like the scaling component of Azure Functions does not work fantastically well with the Serverless offering, and the reason seems to be the fact that they do some queries on the leases collection periodically to check if there is anything new on the Change Feed to decide whether to wake up or scale up instances. cc @ThomasWeiss

From the sound of it, it looks like the scaling component of Azure Functions does not work fantastically well with the Serverless offering, and the reason seems to be the fact that they do some queries on the leases collection periodically to check if there is anything new on the Change Feed to decide whether to wake up or scale up instances. cc @ThomasWeiss


Curly Braces are not implemented for forcing neume centering

Curly Braces {} are not being interpreted to force the neume to be centered over a different substring of the syllable.

I've got a local branch with some major changes to how lyrics work, so I'll take care of this at the same time.


Added Yash's Portfolio

I have added my portfolio. Kindly review it.

Good work. I am merging your PR.
Do give us a star by hitting the star button of this repo!

Good work. I am merging your PR.
Do give us a star by hitting the star button of this repo!

Yes I have starred this repo.


Move logging to Winston and add multiple log levels

Configure log level through environment variable LOG_LEVEL. Defaults to "warn"

Hey, sorry I missed this for... 4 months. Thanks for the improvements!


fixed broken link

Docs Build status updates of commit 83158b5:
:warning: Validation status: warnings

File
Status
Preview URL
Details

dynamicsax2012-technet/security-role-reference.md
:warning:Warning
View
Details

dynamicsax2012-technet/security-role-reference.md

Line 21: [Warning] Link 'http://download.microsoft.com/download/B/6/6/B66540B2-C8D7-4C5C-91D5-FF6760906A7B/MSDAX2012_Security_Roles_Licensing_Whitepaper.pdf' is insecure. Links to Microsoft sites must use 'https' instead of 'http'.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


fixes append_constraint

Table::append_constraint should accept an Index as well.
As what the document said:

An Index can also be manually associated with a Table, either through inline declaration or using Table.append_constraint()

 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.


Hyper v vhd update

PR Summary

Updated Hyper-V Module with current information
Cmdlet name - Changed bolded text to code spans
Parameters - Changed italic text to bold
Parameters - Changed code span text to bold
Applied text contractions
Applied syntax reflows
Fixed indented code blocks

PR Checklist

[X] Descriptive Title: This PR's title is a synopsis of the changes it proposes.
[X] Summary: This PR's summary describes the scope and intent of the change.
[X] Contributor's Guide: I have read the [contributors guide][contrib].
[X] Style: This PR adheres to the [style guide][style].

Unable to detect issue. Creating new branch.


Enable to save memo's setting

Describe the bug
For some reason you cannot save the settings in setting > memo. Whenever you change an option for example enabling auto compact mode and hit save. Then when you go back to the home page, the changes are not saved.
Steps to reproduce

Go to setting
Then go to memo settings
change any option, e.g. enable double click to edit
Hit save

The version of Memos you're using
0.22
Screenshots or additional context
This bug was found when using the Demo Site

Updating settings are not allowed on the demo site - there is no issue on your own implementation though


Maint/4.10.x/revert

I verified locally that reverting the "Update Beaker" commit fixes the problem. Maybe we can keep the packaging bump (unless they're somehow related)?


axis label precisions not set for E and F axes

Reported by steven c hankin on 11 May 2015 19:03 UTC
The variable ax_dec_pt controls the number of precision digits used on each axis. It gets initialized through its equivalence to  mode_arg in xprog_state_data, and can then be subsequently modified by users using SET MODE.  As a hack I am adding initialization of E_dim and F_dim precisions in xprog_state_data.F, but there is no way for the user to control these values.
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/2281

Comment by steven.c.hankin on 11 May 2015 19:11 UTC
oops.  I was premature typing this in.

Comment by steven.c.hankin on 11 May 2015 19:22 UTC
The fix looks simple except that it requires a complete recompile after.  Need to add a new mode pmde_5d_lab and insert it in value between pmode_time_lab and pmode_6d_lab.  (They need to be sequential because ax_dec_pt is equivalenced to the the bottom of the mode stack for these 6 modes.)
Then change the data initialization from its current -999 to the desired decimal places default on these axes.
Note that LOHI_LIMITS (or whatever its called) interprets -999 as 999 significant digits.

Comment by ansley.b.manke on 11 May 2015 20:43 UTC
(edited the formatting)
Just to fill in a couple things.  e_dim is defined in ferret.parm (where there are also all the other directions x_dim, ... too).
Until now, mode_6d_lab was meant just to control the number of dimensions that are output in SHOW commands, such as SHOW DATA, SHOW GRID, so that 4D datasets didn't have to be listed with such wide outputs:
yes? use levitus_climatology
yes? sh dat
     currently SET data sets:
    1> /home/users/tmap/ferret/linux/fer_dsets/data/levitus_climatology.cdf  (default)
 name     title                             I         J         K         L         M         N
 TEMP     TEMPERATURE                      1:360     1:180     1:20      ...       ...       ...
 SALT     SALINITY                         1:360     1:180     1:20      ...       ...       ...

yes? can mode 6d_lab
yes? sh dat
     currently SET data sets:
    1> /home/users/tmap/ferret/linux/fer_dsets/data/levitus_climatology.cdf  (default)
 name     title                             I         J         K         L
 TEMP     TEMPERATURE                      1:360     1:180     1:20      ...
 SALT     SALINITY                         1:360     1:180     1:20      ...

It apparently has an unfortunate naming parallel with LONG_LAB, LATIT_lab which may make it confusing to users.
Are you adding an argument to it to make it do what LONG_LAB, LATIT_LAB do?  If so is that what we want, or maybe some other means of control?

Comment by steven.c.hankin on 11 May 2015 21:10 UTC
In principle (for maximum uniformity of interface) I'd say that there should be digit-precision controls for the E and F axes that follow the style that we already offer for
.			pmode_long_lab		= 7,
.			pmode_lat_lab		= 8,
.			pmode_depth_lab		= 9,
.			pmode_time_lab		= 10,
--- missing ---
.			pmode_6d_lab		= 11, <== need sequential numbering for Equivalence
However, it is not clear whether it is worth the effort.  What is important, however, is to get a reasonable default in for the precisions.  Currently ax_dec_pt(F_dim) = -999 which results in the forecast axis limits we see here.
             VARIABLE : # of months lead achieving 0.5 std dev
             DATA SET : Ensemble
             FILENAME : ANDREW_FMRC
             LONGITUDE: 178.8E
             LATITUDE : 1S
             TIME     : 01-JAN-1996 00:00 to 01-DEC-1999 00:00 (averaged) JULIAN
             FORECAST LEAD TIME (day): -15.214285714285713524 to<PHONE_NUMBER>285

The analogous problem is even more serious on plot labels.

Comment by ansley.b.manke on 11 May 2015 21:23 UTC
Let's go ahead and fix this as outlined in comment 2.  We missed some things in the big code changes for 6D Ferret.
Because there's the existing equivalence to the mode_state let's make 5-d and 6-d mode settings that work as for the first 4 dimensions. The above usage about the "show" listings can just piggyback on the 6d_lab setting.  That's messy but not likely widely used.

Comment by ansley.b.manke on 12 May 2015 16:33 UTC
This is fixed.  I left the mode "6D_LAB' as-is.  (This might be one to just get rid of with the full switch to PyFerret.
Made new modes E_LABEL and F_LABEL which act in the same way as LONG_LABEL and LATIT_LABEL.  The  equivalence for ax_dec_pt to the contents of the mode stack is set so that the E and F dimension of this array are set to 1 as is done for X and Y.  So the MODES are:
yes? show mode
      MODE            STATE        ARGUMENT
...
      LONG_LABEL       SET               1
      LATIT_LABEL      SET               1
      DEPTH_LABEL      SET              -4
      CALENDAR         SET         minutes
      E_LABEL          SET               1
      F_LABEL          SET               1
 ...
      6D_LAB           SET

Creating a variable on an EF grid, and listing a point; this was the previous behavior, with way-too-long values on the E and F directions.  Similar things happen for plots in the label for orthogonal axes on the upper left of the plot.
yes? define axis/f faxis = {0.001, 0.123, 0.234, 0.498}
yes? define axis/e eaxis = {1001.1009, 1234.005, 2112.321, 2520.45}
yes? let efvar = _M[+ _n[gf=faxis](ge=eaxis])yes? list/n=3/m=2 efvar
             VARIABLE : _M[+ _N[GF=FAXIS](GE=EAXIS])
             E        : 1234.00500000000011
             F        : 0.23400000000000001
          5.000

With correct initialization of ax_dec_pt dimensions 5 and 6:
...
yes? list/n=3/m=2 efvar
             VARIABLE : _M[+ _N[GF=FAXIS](GE=EAXIS])
             E        : 1234
             F        : 0.2
          5.000
}


Array to_s and make inspect spec-compliant

Implement Array::to_s and inspect from #39
Added spec for to_s and inspect. To_s really just calls inspect so I made inspect spec compliant. Classical case of to_birds with one stone. Sorry...

WELL, ok, you got me with that one! :stuck_out_tongue_closed_eyes:
Question though... what I don't understand about your solution is how do you pass the visited hash down to children when calling inspect on those?
If you have the following data structure... won't your solution get stuck recursively calling each other?
# MRI

a = []
b = [a]
a[0] = b

p a.inspect # => "[[[...]]]"
p b.inspect # => "[[[...]]]"

I approved the PR. You can merge when you think it's ready!


Reduce default number of benchmark rounds

🚀 Pull Request
Description

Recent experience has shown that benchmarks run on GitHub actions are very accurate. I originally set the default of 4 rounds to compensate for an assumed inaccuracy of GHA (given it's a shared resource). I would like to try with 3, and if that's still accurate I might consider dropping to 2.

Consult Iris pull request check list

Add any of the below labels to trigger actions on this PR:

https://github.com/SciTools/iris/labels/benchmark_this

Any chance of this being merged soon?

Thanks @pp-mo!


Clean up mesh.actionManager attribute when it is disposed of.

Related forum issue: https://forum.babylonjs.com/t/how-do-you-dispose-the-actions-of-an-actionmanager/9985/6

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/14138/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14138/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14138/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/14138/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/14138/merge
https://gui.babylonjs.com/?snapshot=refs/pull/14138/merge
https://nme.babylonjs.com/?snapshot=refs/pull/14138/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/14138/merge#BCU1XR#0


🐛 [FirebaseAnalytics] FIREBASE_ANALYTICS_COLLECTION_ENABLED no longer works.

I have added
<key>FIREBASE_ANALYTICS_COLLECTION_ENABLED</key>
<false/>

to my Info.plist file to prevent analytics being enabled on startup.
Regardless, I am still seeing this in the console on launch;
Xcode build done.                                           34.7s
(lldb) 2020-10-24 14:42:42.128394+0100 Runner[3795:926278]  - <AppMeasurement>[I-ACS036001] Analytics screen reporting is disabled. UIViewController transitions will not be logged.
6.26.0 - [Firebase/Core][I-COR000005] No app has been configured yet.
[Firebase/Crashlytics] Version 4.1.1
6.26.0 - [Firebase/Analytics][I-ACS023007] Analytics v.60600000 started
6.26.0 - [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see http://goo.gl/RfcP7r)
6.26.0 - [Firebase/Crashlytics][I-CLS000000] Failed to download settings Error Domain=FIRCLSNetworkError Code=-5 "(null)" UserInfo={status_code=404, type=2, request_id=, content_type=text/html; charset=utf-8}
6.26.0 - [Firebase/Analytics][I-ACS800023] No pending snapshot to activate. SDK name: app_measurement
6.26.0 - [Firebase/Analytics][I-ACS023012] Analytics collection enabled
6.26.0 - [Firebase/Analytics][I-ACS023141] Purchase is a duplicate and will not be reported. Product ID: core_therapy

Is this expected? I have had this setting in place for a while but have only noticed the analytics being enabled in the log output fairly recently.
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, 1.23.0-18.1.pre, on Mac OS X 10.15.7 19H2 x86_64,
    locale en-GB)

[✓] Android toolchain - develop for Android devices (Android SDK version
    29.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 12.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 3.6)
[✓] VS Code (version 1.50.1)
[✓] Connected device (4 available)

• No issues found!

Hi @leidig54
Can you please provide your flutter pub deps -- --style=compact?
This also has to do with permissions so have you tried uninstalling the app from the target device and then running again?
Thank you


Fix "Could not install the app on the device" in example/android on Linux

by chmod +x example/android/gradlew

@flyskywhy Sorry for my late response, thank you for your contribution 😄


Fix repo card heigth for different repo descriptions

Hello! I had this minor issue on my website and I saw few other people using this template and having the same issue.
Brief
if two repo's in the same row has different number of lines for the descriptions, heights of the cards will not be the same if we don't force the number of lines to be displayed.
Solution
By looking at This issue I could see that they solved it by adding an new option, description_lines_count. This was used on the API request in order to fix the issue.

Issue reproduced:

Issue fixed after the commit:

Thanks for fixing this.


ms edge fix

fixes https://github.com/gabelerner/canvg/issues/416

In your demo page(http://gabelerner.github.io/canvg/examples/index.htm), when I use Edge 25 to test it. I find soccer&floorplan are still black image. Also using svg of exporting from highcharts, it's black image again.

@bitjjj create a new issue and add more debugging information (what's in console, etc.), this PR has seemed to fix at least some of the things.


Error message on the Windows terminal when using the executable distribution

Hi,
I built an executable distribution of Cottontail DB by using the Gradke task distZip. Afterwards, I tried starting it by executing bin\cottontaildb.bat config.json. The only response my Windows terminal gave me was: "Die eingegebene Zeile ist zu lang. Syntaxfehler."
If I start Cottintail DB via the executable JAR, there is no problem.

Hey Vera
Thanks. Basically, this is a known issue and can be attributed to a restriction of cmd.exe and the allowed length of commands. Am I assuming correctly, that you're using cmd.exe?
Where is Cottontail DB located?
Best,
Ralph

Hi Ralph,
Yes, I am using cmd.exe and I have cloned Cottontail DB to my laptop.
Best,
Vera

Hi Ralph,
Yes, I am using cmd.exe and I have cloned Cottontail DB to my laptop.
Best,
Vera

Hi Ralph,
Yes, I am using cmd.exe and I have cloned Cottontail DB to my laptop.
Best,
Vera

Yes but what folder? It may help to move everything to a top-lvl, e.g., C:\ since the issue is the length of all the different paths.

I have it in ...\Desktop\UniBas\6_Semester\Bachelorarbeit. I tried moving it to C:\ but I still get the same error.

The issue is resolved with the newest update.


[Bug Fix]Fix infinite rejection loop by adding ingress/egress bypass flows

This PR fixes issue #2548
This PR added some bypass flows in the ingress and egress table to make sure reject responses won't be enforced by network policies.
Why we need it
Previously, reject responses are controlled by network policies, which means that reject responses could also be rejected. It may cause an infinite loop of rejecting reject responses in the OVS pipeline.
Instead of Reject reject response, now we choose to Allow the reject responses.
Added Flows
table=45/50/60/85/90/100, priority=64990,ct_state=-new+rel,ip actions=resubmit(,61/101)
table=45/50/60/85/90/100, priority=64990,ip,reg0=0x2000000/0x7000000 actions=resubmit(,61/101)

Example
Suppose we have:

PodA on NodeA
PodB on NodeB
PolicyA: appliedTo: PodA,  ingress: Reject from PodB
PolicyB: appliedTo: PodB,  ingress: Reject from PodA,  egress: Reject to PodA

When PodA tries to talk to PodB using UDP, the process will be:

The packet will commit a conntrack on NodeA, then leave NodeA.
NodeB receives this packet. Due to the ingress rule of PolicyB, a reject response is generated by the controller with reg loaded.
Thanks to the second bypass flow above this reject response can bypass the egress rule of PolicyB, then leave NodeB
NodeA receives this reject response, an ICMP Destination Host Prohibited, whose ct_state is -new+rel.
Thanks to the first bypass flow above this reject response can bypass the ingress rule of PolicyA, then PodA will receive it.

Codecov Report

Merging #2579 (d182f6b) into main (cd72bc6) will decrease coverage by 17.91%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##             main    #2579       +/-   ##
===========================================
- Coverage   60.00%   42.08%   -17.92%
===========================================
  Files         282      153      -129
  Lines       22337    18531     -3806
===========================================
- Hits        13403     7799     -5604
- Misses       7502    10032     +2530
+ Partials     1432      700      -732

Flag
Coverage Δ

kind-e2e-tests
?

unit-tests
42.08% <0.00%> (-0.10%)
:arrow_down:

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

Impacted Files
Coverage Δ

pkg/agent/openflow/pipeline.go
25.02% <0.00%> (-46.45%)
:arrow_down:

pkg/ovs/openflow/default.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/util/runtime/runtime.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/config/node_config.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/cniserver/pod_configuration_linux.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/apis/controlplane/v1beta1/register.go
0.00% <0.00%> (-92.86%)
:arrow_down:

pkg/ovs/openflow/logs.go
9.52% <0.00%> (-90.48%)
:arrow_down:

pkg/apis/controlplane/register.go
0.00% <0.00%> (-90.00%)
:arrow_down:

pkg/agent/nodeportlocal/k8s/annotations.go
0.00% <0.00%> (-83.88%)
:arrow_down:

pkg/agent/agent_linux.go
0.00% <0.00%> (-80.00%)
:arrow_down:

... and 229 more

Added.

/test-all

code LGTM, nit in the PR description: let's mention the TCP reject response will also hit ct_state -new+rel?

For TCP, it will hit the flow with ct_state=-new+est which we already have.

Good one. I separated them.

/test-all

I edited the commit message when merging it. It would be better to wrap the message to ~76 characters per line in the original commit in the future.


Improvements in Leading Blog Page

Is your feature request related to a problem? Please describe.
Current "https://anshika-26.github.io/WordWise/blog.html#" is not consistent and there are lot of CSS bugs.
Also Some field like Author Info are repeated.
Describe the solution you'd like
I will Recreate the UIUX from scratch, It will solve the bugs, improve the design which will be responsible for all devices.
Additional context
Sceenshot where I faced Inconsistency and I am going to work on:

Thanks for raising this issue! However, we believe a similar issue already exists. Kindly go through all the open issues and ask to be assigned to that issue.If you believe that your issue is unique , feel free to comment and ask for it to be reopened , or you can also start a discussion regarding the same !

@ANSHIKA-26 No one working in this thing.

#871 exists


feat: update XUSD lend pool rewards

https://sovryn.atlassian.net/browse/SOV-428

This has been approved by QA


Create New Account -> Adress should be saved in address book automatically

0.5.4-BETA
When you create a new account (and enter a label), the account is created, but no label is visible. Also the account is not saved in the address book at all.
-> It should automatically get saved to the address book with the label.

Already fixed, will be ok in the next release.


Use transient's definition macros by their new names

See https://github.com/magit/transient/issues/192.

Some light testing shows everything is ok.
Thank you for taking the time to fix this for us.


[Feature] Concealer

This seems to be out of scope for this project but if possible having this in the project as a option it will be so nice.
Using treesitter to conceal markdown title and words and tables how glow does will make it quite nice to have notes.

I don't have plans to make this feature, sorry


Accessing a v-motion instance seems broken

Following the examples from the docs:
https://motion.vueuse.org/directive-usage.html#access-a-v-motion-instance
<template>
  <div
    v-motion="'custom'"
    :initial="{ opacity: 0, y: 100 }"
    :enter="{ opacity: 1, y: 0 }"
    :variants="{ custom: { scale: 2 } }"
  />

<button type="button" @click="customEvent">
  Click me
</button>

</template>

<script setup>
import { useMotions } from '@vueuse/motion'

// Get custom controls
const { custom } = useMotions()

const customEvent = () => {
   console.warn(custom)   // <-- Returns undefined
  custom.variant.value = 'custom' // <-- Does not work
}
</script>

Note the custom from useMotions() is undefined
Tested on v. 2.0.0-beta.27

Tested on v. 2.0.0-beta.27 and v. 2.0.0, accessing useMotions() with or without deconstruct is always empty ( equals to empty object )

I recently encoutered the same issue. After adding a few console log (or just randomly?) the useMotion started working again but it was not stable, and after reloading and/or restarting nuxt it broke again.
I got it working again after downgrading nuxt to 3.4.3 and deleting the .nuxt folder.

It looks like this is due to the properties on the object returned by useMotions being set after script is run. As mentioned already, a possible workaround would be not to deconstruct the object.
I'll mark this a bug since deconstruction is shown as an example in the documentation, will investigate it later!


Replay object has no expansion

I downloaded the Pack 1 replays from sc2client-proto. If i want to load such a replay with
replay = sc2reader.load_replay('/path/to/replay.SC2Replay', load_level=4)

an Exception will be raised:
AttributeError: 'Replay' object has no attribute 'expansion'

Is there a solution for that?

Not sure but you might have more luck with ggtracker/sc2reader.

Maybe the explanation is https://github.com/ggtracker/sc2reader/issues/49


Compatibility issue with Certbot 3.0

I am trying to run certbot via this command, but receive the error below.
certbot certonly -a dns-multi --dns-multi-credentials=/etc/letsencrypt/dns-multi.ini
The following plugins are using an outdated python version and must be updated to be compatible with Certbot 3.0. Please see https://community.letsencrypt.org/t/certbot-3-0-could-have-potential-third-party-snap-breakages/226940 for more information:

certbot-dns-multi

https://github.com/certbot/certbot/wiki/Architectural-Decision-Records#third-party-plugins-update-checklist

also found this in the logs:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
/snap/certbot/4182/lib/python3.12/site-packages/certbot/ocsp.py:238: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to this_update_utc.
  if not response_ocsp.this_update:
/snap/certbot/4182/lib/python3.12/site-packages/certbot/ocsp.py:240: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to this_update_utc.
  if response_ocsp.this_update > now + timedelta(minutes=5):
/snap/certbot/4182/lib/python3.12/site-packages/certbot/ocsp.py:242: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to next_update_utc.
  if response_ocsp.next_update and response_ocsp.next_update < now - timedelta(minutes=5):

After snap refresh, certbot-dns-multi plugin worked successfully. Thank you!!


[ Links are not showing proper ]:

Is your feature request related to a problem? Please describe.
The footer link are showing properly on the footer beacasue of the wrong color of the link
Describe the solution you'd like.
I chnage the background color of the links and test the color if should remocve the underline from the links
Describe alternatives you've considered.
If alternative are present in that then try to solve by the best method
Additional context.
No
Show us the magic with screenshots

Checklist

[X] I have checked the Existing Issues
[X] I have read the Contributing Guidelines
[X] I want to work on this issue. (optional)

not something we looking for.
Please understand.


Instream video support for Yieldmo adapter

Type of change

[ ] Bugfix
[x] Feature
[ ] New bidder adapter
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Does this change affect user-facing APIs or examples documented on http://prebid.org?
[ ] Other

Description of change

Instream video support for Yieldmo adapter

LGTM otherwise. sorry not sure if this was actually open to review... it just happened to be open on my window with all the prs

@MelodyLi2017 thanks,
yes, this PR is ready for review

Looks Good to me.


feat: support custom modifiers for glob imports

Description
Add support for custom modifiers for glob imports.
import.meta.globEager('/pages/**/*.page.client.js', {
  assert: { type: 'some-custom-modifier' }
})

Additional context
Two frameworks that are being built on top of vite-plugin-ssr need this.
What is the purpose of this pull request?

[ ] Bug fix
[x] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[ x Read the Pull Request Guidelines and follow the Commit Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[x] Ideally, include relevant tests that fail without this PR but pass with it.

Note: We might want to refrain extending assert with https://github.com/vitejs/vite/issues/7017. Supporting custom modifiers is an interesting idea though, and appending a ? suffix with it sounds like a fine approach, since the import reflection proposal isn't supported by bundlers yet.

@bluwy Thanks for mentioning #7017.

delay further changes in import modifiers

@patak-dev I understand the motivation to delay further import modifiers. The thing is that this PR is a blocker for @thetre97 who is building a Gridsome-like framework on top of vps, and it's also a blocker for the framework I'm currently building on top of vps and Telefunc.
Maybe, if it's ok from your perspective, we could merge this is in and keep it undocumented until we figure out #7017.

Supporting custom modifiers is an interesting idea though

This is not really something new, vps already uses a custom modifier ?meta. This PR just makes it work with glob imports.

This is not really something new, vps already uses a custom modifier ?meta. This PR just makes it work with glob imports.

Yeah, I mean making assert.type synonymous as ?${assert.type}. I don't think assert.type: "raw" was meant to work that way.
Re merging first, I think we can still implement https://github.com/vitejs/vite/issues/7017 first though. Most of the ground work has be done to support the assert.type syntax, and it's not until a few more days before the beta is released (I think). We just need someone to do it 😄

Makes sense.

We talked about this PR and we think we should add { as: 'raw' } for glob import marked as experimental in Vite 2.9 and deprecate the { assert: { type: 'raw' }} syntax. We can then remove the assert syntax in Vite 3.0 at the beginning of May.

I'll update my PR to also implement this.

@brillout would you explain the complete use case for both frameworks? What modifiers do they need? Or do they need this to be open-ended for users?

Will do.
Re the feat part. The way I see it is that it's a bug fix more than a feature (the reason I marked it as feat: is because I know from past experience that we have a slightly different view on what is a bug fix VS what is a feature :-)). Point being: if the user can already import './someFile.js?meta' today, why should we forbid the user to import.meta.glob('./someFile.js', { as: 'meta' })? Either we forbid custom modifiers everywhere or we allow custom modifiers also in glob imports. From a consistency point of view, I'd say this PR is a bug fix.
But maybe I'm missing something here :-).

Fair enough, but we would still need to discuss this with the team. I personally think that you have a point and reading through https://github.com/tc39/proposal-import-reflection, it looks like the <reflection-type> is open-ended and not defined by the standard. At least not by this proposal, that only names one:
import FooModule from "./foo.wasm" as "wasm-module"

We know that user suffixes will only collide with Vite and the ecosystem, but with the as we may collide with these keyboards. So we may need some kind of guard like { as: 'vite:meta' }

👍 Makes sense. Personally, I've a slight preference for the nicer aesthetics of omiting a guard over the minor reliability increase of having a guard. But I'm fine either way :-).
PR is now split:

Fix: https://github.com/vitejs/vite/pull/7215.
Feat: this PR will contain only the feat commit after the fix is merged.

This PR now contains only the feat. It's rebased and ready to be merged.
Sum up of why vps needs this.
vps has a ?meta transformer:
// pages/product.page.client.js

export const useClientRouter = true

// Some Vue/React component
export const Page = /* ... */

// This file can be quite large
/* ... */

// pages/product.page.client.js?meta (after transformation)

export const exportNames = ['useClientRouter', 'Page']

// This file is now only one LOC

(The meta transformer uses es-module-lexer to extract the ESM export names, similar to the example of this PR.)
Thanks to the meta transformer, the vps client router can do this:
// node_modules/vite-plugin-ssr/dist/client/router.js

// The vps client router needs to know all `export` of all `.page.client.js`

const clientPageFilesMeta = import.meta.globEager('/**/*.page.client.js', { as: 'meta' })
console.log(clientPageFilesMeta['/pages/product.page.client.js'].exportNames) // => ['useClientRouter', 'Page']

(It would be prohibitive to import.meta.globEager('/**/*.page.client.js') as it would mean that the browser would load all pages at once.)
I'm currenlty working on a vps refactor and the refactor needs this. (And the frameworks being built on top of vps need this refactor.)

@brillout we discussed with part of the team in the last meeting, and what was proposed was that this should be supported by a plugin at the moment. Maybe as import.meta.globEagerMeta, or using the syntax you are proposing and transforming it yourself to expand the imports (ping @antfu, @bluwy). One of the issues with continuing to expand on the current syntax is that we don't know how these proposals will evolve. We'll leave this PR for re-discussion in a future meeting though.

vps now uses a custom plugin instead of a glob import.
Other than HMR, it works, and I've an idea for making HMR work.
Although vps doesn't need this PR anymore, I still believe we should merge it. Let me elaborate.
The reason we don't merge this is because we are not sure whether we will keep supporting the { as: ... } syntax.
Let's imagine we deprecate this syntax and what merging this PR would then mean.
If we don't merge this PR, the message will be:

If you use import.meta.glob('someGlob', { as: 'raw' }), please change it to...

If we do merge this PR, the message will be:

If you use import.meta.glob('someGlob', { as: 'someModifier' }), please change it to...

The bottom line: the two messages are not really different.

the issues with continuing to expand on the current syntax

Precisely, we do not extend the syntax. It's only one syntax. Either we continue to support the syntax or we depreate it, but either way it doesn't really make a difference what the user does with that syntax.
That said, merging this PR does mean that more users will have to move to the new syntax. But I don't think we should block users from using custom modifiers because we are not sure about the syntax. It seemed to me that we already settled for the { as: ... } syntax, so I don't see why we don't stick to that decision.
One thing we can do is to mark the { as: ... } syntax as Experimental or Beta. (Like we already do for the Vite's SSR native API.)
If we want to be very conservative, we can even warn the user with something like:

This feature is meant only for Vite frameworks, do not use this if you are a end-user. Any minor may introduce breaking changes to the { as: ... } syntax.

This essentially enables us to deprecate the syntax whenever we want.
Either way, supporting the { as: ... } syntax only half-way doesn't make sense to me.
Writing the plugin did consume quite some time and we should spare the Vite ecosystem that effort.
Custom modifiers are crucial.
Beyond ?extractExportNames (I renamed ?meta), vps now uses a second custom modifier ?extractStyles.
vps now has first-class support for using Vue/React/... only on the server-side (zero/minimal browser-side JavaScript) and the ?extractStyles plays a crucial role: it removes all JS so that the client bundle can include all CSS imported by the server-side code, without including any of the server-side JS.
Such modifier will also be needed for React Server Components. (It's a new React 18 technique to write server-side components that never get loaded in the browser — in order to reduce browser-side bundle size.) (@frandiox I don't know if/how Hydrogen goes around that problem but let me know if you are interested in such modifier; I can share/publish it.)
Note that both ?extractExportNames and ?extractStyles apply to /**/*.page.server.js user files, which means that they need to be used in globs (or the the plugin I wrote).
There are probably other use cases for custom modifiers we are currenlty not forseeing.
Looking forward to ship<EMAIL_ADDRESS>(Regardless of whether we merge this PR :-).)

The reason I propose to start with a plugin on userland is that

This is rather a complex thing to fit all needs
Iterating in core takes a long time (a.k.a very long feedback loop)
And it could take a lot of discussions since we don't want to break existing usage, or at least before v3.0
Using a plugin would give you the full freedom of experimenting with different ideas and iterating faster. Breaking changes is way either to introduce in a plugin than the core.

And then if the community come up with a good interface that fits most of the needs, we could port it back to the core and released it as a part of v3.0 to only introduce breaking changes one.

This is rather a complex thing to fit all needs

I'm guessing you mean custom modifiers in general, since this PR in itself is trivial.
The trick some/file.${fileExtension}?someModifier&lang.${fileExtension} resolves all potential problems I forsee. It actually already is a reliable solution for the Vue plugin. Also note that vps has quite an extensive test suite with integrations with all kinds of libraries. If vps tests are green that's a significant signal. But really the strongest signal here is that the Vue plugin already uses that trick.

Iterating in core takes a long time (a.k.a very long feedback loop)

This PR only adds 3 LOCs to core: https://github.com/vitejs/vite/pull/7209/files#diff-b43945059cc51ad52c7854aafa9e0435ecd8312e0740715d99fb6c6f5545cae1R154-R156.

And it could take a lot of discussions since we don't want to break existing usage, or at least before v3.0

This PR does not break anything. As for breaking the { as: ... } syntax, we can communicate this syntax as an Experimental/Beta feature. We actually may want to do this regardless of whether we merge this PR, since v2.9 will support { as: 'raw' } anyways.

Using a plugin would give you the full freedom of experimenting with different ideas and iterating faster. Breaking changes is way either to introduce in a plugin than the core.

In principle I agree but not for this specific case. The only thing my plugin does is to circumvent the fact that this PR is not merged. There is nothing the plugin enables me to experiment.
It's actually the opposite: merging this PR fosters the Vite ecosystem to experiment with custom modifiers. Since this PR further enables custom modifiers.
If we want to be highly conservative, we can even add a flag vite.config.js#experiments.enableCustomModifierGlobs.
Bottom line:

We seem to be hesitant about the { as: ... } syntax, so we probably should add a Beta/Experiment warning for it. (Regardless of this PR since we already support { as: 'raw' }.)
We should merge this PR, fostering the Vite ecosystem to implement and experiment custom modifiers.

Such modifier will also be needed for React Server Components. (It's a new React 18 technique to write server-side components that never get loaded in the browser — in order to reduce browser-side bundle size.) (@frandiox I don't know if/how Hydrogen goes around that problem but let me know if you are interested in such modifier; I can share/publish it.)

I indeed tried to use glob modifiers a few months ago when implementing RSC the first time and was surprised that it wasn't supported (I believe this came up in a conversation with Evan on Hydrogen and RSC). We ended up finding a different approach but I think this feature could still help.
I don't have a strong opinion on syntax or whether this should be in core or in a separate plugin first to test it out. That said, it is something that feels like it should be supported out of the box just like normal imports 🤔

if you are interested in such modifier; I can share/publish it.)

I definitely am 👍

I definitely am 👍

https://github.com/brillout/vite-plugin-ssr/blob/70d85039b806b1ee09ad1eca3d9e71e0968fe180/vite-plugin-ssr/node/plugin/extractStylesPlugin.ts — I added thorough comments but let me know if something's not clear. In case you play with it, make sure to use DEBUG=extractStyes.
The plugin that re-implements the import.meta.glob functionality: https://github.com/brillout/vite-plugin-ssr/blob/70d85039b806b1ee09ad1eca3d9e71e0968fe180/vite-plugin-ssr/node/plugin/virtualPageFilesExportNames.ts. But it turns out HMR is tricker to make work than I initially thought. Even worse is that the root problem is cache invalidation. This means that new/removed glob matches will be ignored leading to quite some confusing bugs (it corrupts vps in non-obvious ways and makes a vps app seem like it randomly fails). @patak-dev is there anything I can do to fasten up the process of reviewing this PR?

I'm closing this PR in favor of vite-plugin-glob. I'm confident vite-plugin-glob will become a Vite built-in plugin. We can re-open this PR if it doesn't.

I propose to start with a plugin on userland

@antfu That was a great idea :-).


Error: Class 'puppetboard' is already defined

Greetings, i'm fairly new to using puppet and am trying to get puppetboard working but have run into an installation issue.  I have PuppetDB running on its own server and succesfully collecting reports from all of the agents, version 6.3.2 on CentOS 7.  I'm using the installation directions from the puppet forge but when i try to apply (puppet apply init.pp), I get the following error message:
Error: Class 'puppetboard' is already defined (file: /etc/puppetlabs/code/environments/production/modules/puppetboard/manifests/init.pp, line: 166); cannot redefine (file: /etc/puppetlabs/code/environments/production/modules/puppetboard/manifests/init.pp, line: 166) on node
The init.pp file is mostly default at this point except for defining the puppetmaster class, i've attached it below.  Any help would be greatly appreciated.  The init.pp file is below but in .txt format:
init.txt

Hi @Jmkgabriel. Do I see this correctly that you enabled the example within the init.pp of this module? The example(s) are meant to work in a standalone file that than calls this module. I suggest you take a look at the roles and profiles pattern. This is a design principle that provides a easy method to call external "component modules" (a puppet module that manages a specific component, like this puppetboard module).

This gave me the hint i needed.  It's now up and running and couldn't be more pleased, thanks for the nudge in the right direction.


New version: CUDA_Driver_jll v0.4.0+1

Autogenerated JLL package registration

Registering JLL package CUDA_Driver_jll.jl
Repository: https://github.com/JuliaBinaryWrappers/CUDA_Driver_jll.jl
Version: v0.4.0+1
Commit: 2625514b7e6296c807a86cc34c3a564275338d44
Revision on Yggdrasil: https://github.com/JuliaPackaging/Yggdrasil/commit/47fded2821094f19cbb2fe6a37b219e4a0c6fadc
Created by: @simonbyrne

Ahh, don't merge this yet!


[CODE IMPROVEMENT] if user specifies a “system” column but it doesnt exist, it should error out instead of continue running silently

🔧 Proposed code refactoring
if system column not in train dataframe.coljmns or in valid columns, then error out
Motivation
Otherwise user might erroneously believe they are using a system column

Conversation_chain_handler.py L140
change from a simple log to a raise error? There is so much stuff being printed in the log that the average person would miss the warning

How exactly is it possible to specify a column that does not exist?

I guess the issue is referring to the case if the training Dataframe contains a system column, but validation does not.

Conversation_chain_handler.py L140
change from a simple log to a raise error?

To keep the pipeline flexible, one should not raise an issue here. One may use a common evaluation datasets across different experiments (mt-bench, company specific evaluation dataset, ...) that does not contain any system column.
As a low-priority issue, one could think about adding Dataframe checks before running an experiment (alongside cfg checks). For now, logging a warning is sufficient IMO.

No, it doesn’t have to do with train vs valid. Just use any csv file, and in your config.yaml for training, type system=“column_that_doesnt_exist”. The code will still run, it will log a small error saying that the System column was not found. I’m suggesting that instead of logging that, you should just raise an AssertionError

Thanks for the clarification!
As mentioned, the reason to not raise an AssertionError but rather a warning for system prompt missing is intentional.
I'd go into the direction of adding DataFrame checks to check_config_for_errors and making them runnable via the command line.


✨ improve logging

Improve logging by adding logs into the processing
https://github.com/brmmm3/fastlogging
Do this with a few rules

no logging at a level more granular than a page
no logging of payloads

Putting logging in the processing slowed queries down ~1%, even when not logging and close to 10% when logging to console using fastlogging.
Suggested approach to log without impacting performance is to commit to IO after the query has finished, so the job collects logs and then emits the logs at the end.

Copied from task closed as a duplicate
Log things like the statistics, the user, the tables being queried, the outcome.
Maybe have a log verbosity level in the logs.
Include the size of the resultant dataset (rows, columns, bytes)

Try implementing fast logging again.

log errors
log warnings
log statistics

Don't log in the critical path as normal.

fastlogging added to the codebase, only a single log at the moment to prove it works.


[CI] Avoid a couple of false-positives in C++ linters

Clang-Tidy 10 flags a performance-unnecessary-value-param error with the following
  explicit BaseTrait(SpecificationDataPtr specificationData)
      : HasSpecificationData(std::move(specificationData)) {}

saying that specificationData should be a const reference. However, this snippet isn't a performance concern since specificationData is (immediately) moved. This idiom is beneficial in the case that BaseTrait was constructed with an rvalue SpecificationDataPtr, where a const reference would involve a pointless copy rather than a move.
Clang-Tidy 12 doesn't complain about this.
Unfortunately Clang-Tidy 12 also doesn't complain if I remove the std::move.  Neither does Clang-Tidy 14.  However, if I assign to a member variable rather than pass to the base class constructor then I get the expected

parameter 'specificationData' is passed by value and only copied once; consider moving it to avoid unnecessary copies

I'm not sure if allowing pass-by-value to the base class without move  is a bug or by design. I can't find anything in the Clang-Tidy changelog.  I'm pretty sure the move is still valuable, as can be seen in this compiler explorer demo.

Feel free to squash and merge at your leisure @feltech


Still an active plugin?

Still active?
Has it been tested on 2.5.*

TBH, I did not (I did not use Redmine for a while). Also there are several issues with current implementation.
But if you need it, I can try to revive it :)


[QUESTION] TLSV1.2 support

Questions?

Check the Troubleshooting / FAQ ? Yes, I've checked.
Search the issues ? Yes.

The infra guys from my team had updated the Kafka service and now it only supports TLS v1.2, the same code that used to connect before now doesn't work. I've tried to tune it a bit, searched through the docs and existent issues, and couldn't find anything conclusive.
So I thought it would be pertinent to ask: How could I enforce the TLS v.1.2 connection, since the debug message shows me it fails due to TLS1 usage, as shown below in the code section.
I'm yet to write a small POC to see if I can connect using the node-rdkafka lib, but I wasn't willing to migrate the code to that, in any case, I will update here as soon I have more news.
Bug Report
Environment

Node version: 12.18.1
Kafka-node version: 5.0.0
Kafka version: 2.2

Include Sample Code to reproduce behavior
I've tried to inject the TLSv1.2 protocol under the sslOptions object.
{
	"kafkaHost": process.env.KAFKA_HOSTS,
	"clientId": "kafkaadmin",
	"retries": 10,
	"ssl": true,
	"sasl": process.env.KAFKA_USER ? {
		"mechanism": "PLAIN",
		"username": process.env.KAFKA_USER,
		"password": process.env.KAFKA_PASSWORD,
	} : null,
	"sslOptions": process.env.KAFKA_USER ? {
		"rejectUnauthorized": false,
		"protocol": "TLSv1.2"
	} : null
}

PS: Some of the related issues reports that I found I couldn't conclude an answer from the thread itself, for example:
https://github.com/SOHU-Co/kafka-node/issues/1357

I was able to get this working with Event Streams on IBM Cloud
by adding
servername: "broker-0-hl4p818fzynjc1l1.kafka.svc05.us-south.eventstreams.cloud.ibm.com"
in sslOptions
because SNI is required in TLS connection, refer to this document:
https://cloud.ibm.com/docs/EventStreams?topic=EventStreams-data_security


Add Azure to sql-escape

The linked Wiz blog post mentions in the vulnerability affects "GCP,
Azure,and others". Adding Azure and its Postgres service to the
description since it's explicitly mentioned.

technically there's some overlap here with extrareplica, since the bug being discussed here is actually the first one in extrareplica's chain, but i think you're right that it should be documented here as well


Add smart polling for RTE

The "smart polling" idea is all about have more polling triggers than just timer.
We know -and we can pretty much depend on- that kubelet rewrites it checkpoints for resource manager each time a resource
allocation is performed. When this happens, something changed and we can poll again the podresources API to learn what.
This allows much faster response time without the need of having a very frequent poll interval, which is too taxing on steady state.
To quickly learn about the checkpoint changes, we use the standard fsnotify linux API using the go package.
The only drawback of this (optional) approach is that RTE now requires RO access to the while kubelet state directory(ies).

/lgtm


Create a unified default dashboard

Doesn't need login, multiple users etc.
Can just provide jump-links to logging, graphing, etc. pages

possibly duplicate of #437 ? adding Tabconf milestone for now,  because this could be a solution for displaying wargame results.

closing as duplicate of #437 , this issue was opened pre-pasta/helm i think we can clean it up


Volcano seems to randomly shutdown players

Volcano shutdowns my player after some time consistently. (Music is still playing at the time when it happens.)

This seems to be because of connections constantly being created. Possibly due to connection being lost or your code calls connect. It's a bit strange that it's not saying that there was a disconnect which leads me to believe your code is trying to connect multiple times which should not happen. Connect should only be called once unless the node is completely disconnected.
In the event that this is connection instability and your connection to the node is constantly being lost, you should be using the resume feature by sending a resumeKey and a resumeTimeout property in your connection open payload.

The reconnecting was done by me restarting my bot. It would not behave like that normally.

I thought that this means a problem with the server? Am I wrong?

That is not a problem with the server. That message is only displayed when a connection is closed for any reason. Like I mentioned, if you're facing connection issues, you should be using the resume feature. You should read lavalink's docs for more info on that.

I see, will look into it. Sorry for bothering you.


Input autocomplete place Google maps

Is there a posibility of to integrate the input for search directions and can to get latitude and longitude of direction write in this input.
or somebody has some idea more?.........
help me please!!!!!!!!!!!!!!!!!!!!!
thanks

my app is on angular and typescript + nativescript.
I don´t usderstand https://developers.google.com/places/android-api/autocomplete?hl=pt-br

You should go here: https://discourse.nativescript.org/ and ask for help.   Sounds like you are looking for https://www.npmjs.com/package/nativescript-google-places

Angular version
HTML:
<StackLayout class="input-field">                                                  <TextField class="input" [text]="startLocationAddress" (textChange)="locationSearchFromInput($event)"></TextField>                         <StackLayout *ngFor="let place of searchResults | async; let i = index">                                                      </StackLayout>                          <StackLayout class="hr-light"></StackLayout>                     </StackLayout>
COMPONENT:
`
locationSearchFromInput(searchWord) {
const placesUrl = 'https://maps.googleapis.com/maps/api/place/autocomplete/json?';
    return new Promise((resolve, reject) => {
        this.http.get(`${placesUrl}input=${encodeURI(place)}&types=geocode&key=${this.googleMapsApiKey}`)
            .subscribe(res => {
                resolve(res.json().predictions.map(place => place.description));
            });
    });

}
selectPlaceFromAutocompleteList(placeIndex) {
this.startLocationAddress = this.searchResults[placeIndex];
this.searchResults = [];
}
`

Here's what I did, which works quite nicely:
Component ngOnInit:
    ngOnInit(): void {
        this.getLocationOnce();

        var myThis = this;
        this.locationAutocomplete.autoCompleteTextView.loadSuggestionsAsync = function (text) {
            var promise = new Promise(function (resolve, reject) {
                http.request({
                    url: "https://maps.googleapis.com/maps/api/place/nearbysearch/json" +
                    "?location=" + myThis.latitude + "," + myThis.longitude +
                    "&radius=50000" +
                    "&keyword=" +text +
                    "&key=YOUR_GOOGLE_API_KEY",
                    method: "GET"
                }).then(function (response) {
                    console.log("Got a response from google places");

                    var responseJSON = response.content.toJSON();

                    var results = responseJSON.results;
                    var items: Array<TokenModel> = new Array();
                    for (var i = 0; i < results.length; i++) {
                        items.push(new TokenModel(results[i].name, null));
                    }
                    resolve(items);
                }, function (e) {
                    reject();
                });
            });

            return promise;
        }

    }

    /**
     * Get the current location of the user
     */
    public getLocationOnce() {

        let myThis = this;

        getCurrentLocation({
            desiredAccuracy: Accuracy.high,
            timeout: 5000
        })
            .then(location => {

                console.log("Location received: " + JSON.stringify(location));
                this.longitude = "" + location.longitude;
                this.latitude = "" + location.latitude;

            }).catch(error => {
            console.log("Location error received: " + error);
        });
    }

The view:
    <ScrollView>
        <StackLayout orientation="vertical">
            <StackLayout paddingTop="30px">

                <RadAutoCompleteTextView #locationAutocomplete
                                         [items]="suggestionTokens"
                                         maximumTokensCount="1"
                                         suggestMode="Suggest"
                                         displayMode="Token"
                                         completionMode="Contains"
                                         (onChange)="onSuggestionViewBecameVisible($event)"
                                         (suggestionViewBecameVisible)="onSuggestionViewBecameVisible($event)"
                                         (tokenAdded)="onTokenAdded($event)"
                                         (tokenRemoved)="onTokenRemoved($event)">
                    <SuggestionView tkAutoCompleteSuggestionView suggestionViewHeight="120">
                        <ng-template tkSuggestionItemTemplate let-item="item">
                            <StackLayout orientation="vertical" padding="10">

                            </StackLayout>
                        </ng-template>
                    </SuggestionView>
                </RadAutoCompleteTextView>
            </StackLayout>
        </StackLayout>
    </ScrollView>

Can you load new suggestions when input text changes?


[5.5] Add new json blade directive

This PR introduces a new @json directive for Blade. The purpose behind this new directive is to make it easier to inject PHP data structures into JS code while being IDE error free.
Alternatives to this approach like {!! $json !!} or {!! json_encode($data) !!} raise syntax errors in some IDEs (PhpStorm) but @json($data) doesn't.
Usage example:
let foo = @json($foo);

:+1: for making easier to interact with Vue components

I'd very much like this too.

What use case do you have for writing JSON in HTML btw?

@GrahamCampbell often, you'll find yourself in situations where you want to pass some server-side string/array/collection/whatever to your JavaScript. There are a few different ways to achieve that and outputing JSON is the most straighfoward way.

It would be rather nice if this method automatically called jsonSerialize on Collections and Models.

So this is like a built in replacement for this package?
https://github.com/laracasts/PHP-Vars-To-Js-Transformer

@eberkund no, this blade directive is just a handy way to output json; the package you mention has other functionalities.

@hackel Eloquent models and Collections implement JsonSerializable, so jsonSerialize is implicitly called when we use json_encode

This should be used with extreme caution due to XSS exploits. The previous method of putting json on the page is:
{!! $json !!} When you see someone use {!! !!} this is a red flag to check the input for XSS. Because the default version of @json() does not use any of the escaping options, this leaves the method open to XSS.
I would suggest that the default value be 15 as done in symfony JsonResponse:
    // Encode <, >, ', &, and " characters in the JSON, making it also safe to be embedded into HTML.
    // 15 === JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT
    const DEFAULT_ENCODING_OPTIONS = 15;

I don't think it would be an issue. I could do a pull request if @taylorotwell agrees.

@taylorotwell @themsaid Please consider @ryantology's warning above. IMO, this is the only safe default here. Right now, the @json directive is very much open for XSS exploits.
As with most other Blade features, this feature should offer a safe default, and offer the flexibility to employ less-safe variants to people who explicitly want that (and thus probably know what they are doing). This is already possible with the second $options argument.


Please deploy factory global parameters first

Hi, we would like to report a feature request, that deploy factory global parameters before any other thing.
We hit an issue that some linkedService's deployment required a pre-set global parameters. Right now we manually input the global parameters before doing the deployment. If you can make this work, it will smooth the automation.
Thanks,
Donghe

Can't find any problem with that. Actually, you can't use any Global Parameter in Linked Services.
If you have any specific issue - let me know, describe it and attach required files to reproduce the issue.


Re-run golint when package errors are hit

When we hit an error that files in a diff are from different packages, re-run golint on individual files instead of the group. This allows us to collect errors file by file instead of not at all.

Current coverage is 91.92% (diff: 100%)

Merging #122 into master will decrease coverage by <.01%

@@             master       #122   diff @@
==========================================
  Files            56         56
  Lines          3048       3047     -1
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           2802       2801     -1
  Misses          246        246
  Partials          0          0

Powered by Codecov. Last update 250cfd3...86a446f


Autocompletion of seed phrase.

Description:
Need to implement suggestions display from the moment when it only remains 1 option.
Actual: suggestions appear from the moment when entered one letter.

checked


Dynamics 365

Do we have a public facing architecture of Dynamics 365

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

ID: 096f9573-ba23-b0a0-23dc-7b0eb57a17d8
Version Independent ID: 45643fe7-700e-8eca-b7b9-563327472d6b
Content: Microsoft cloud IT architecture resources
Content Source: Enterprise/microsoft-cloud-it-architecture-resources.md
Service: o365-solutions
GitHub Login: @BrendaCarter
Microsoft Alias: bcarter

@lubergst Not at this time. I will forward this request to the Dynamics 365 team. Thanks for your question.