[release] Update current milestone to 7.58.0

Part of the new process, the 7.57 branch is already created and we'll build the RC on it

Merging as I need this commit on main for the next steps of the process

/merge


Drive Listing

Just wondering if you would be interested in having this feature. I used some of the code from the OpenPathDialogWindowController to detect and open up the device accordingly.

Sure, I'll take it! Thanks!!
A table is rather boring. I think the UI should ultimately be something like a collection view with icons and labels. But it's a nice start!

cool. i'll look into spicing up the UI for that.


Add test to reproduce assert when using var.global_get in vcl_init

Please note that this pull request does only contain the test case, not the fix for it.

Is this happening with v3, v4 or both?

It happens with both. The test file is identical for v3.

I will move this to a ticket.


AWS EBS timeout using kube-aws

I'm setting up a kubernetes cluster to run jenkins on AWS.  Using kube-aws to generate the cluster, I can't get EBS to mount (although it shows in-use after creating the deployment).  I've made sure the EBS is available (always new) and in the same availability zone.  The same deployment works when using kube-up from kubernetes.io.  Below are the details.
I've tried hyperkube 1.3.0 and 1.3.2.
Deployment:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: jenkins
  namespace: jenkins
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: master
    spec:
      securityContext:
        fsGroup: 1000
      containers:
      - name: master
        image: jenkins:2.7.1-alpine
        ports:
        - containerPort: 8080
        - containerPort: 50000
        volumeMounts:
        - mountPath: /var/jenkins_home
          name: jenkins-home
        resources:
          limits:
            cpu: 500m
            memory: 500Mi
          requests:
            cpu: 500m
            memory: 500Mi
      volumes:
      - name: jenkins-home
        awsElasticBlockStore:
          volumeID: vol-9xxxxx
          fsType: ext4

Error message:
FirstSeen	LastSeen	Count	From							SubobjectPath	Type	Reason		Message
  ---------	--------	-----	----							-------------	--------	------	 	-------
  14m		14m		1	{default-scheduler }							NormalScheduled	Successfully assigned jenkins-1059742402-b96n5 to ip-10-0-0-50.us-west-2.compute.internal
  12m		1m		6	{kubelet ip-10-0-0-50.us-west-2.compute.internal}			Warning		FailedMount	Unable to mount volumes for pod "jenkins-1059742402-b96n5_jenkins(76e01b91-4eb9-11e6-9fb1-0a937718ab49)": timeout expired waiting for volumes to attach/mount for pod "jenkins-1059742402-b96n5"/"jenkins". list of unattached/unmounted volumes=[jenkins-home]
  12m		1m		6	{kubelet ip-10-0-0-50.us-west-2.compute.internal}			Warning		FailedSync	Error syncing pod, skipping: timeout expired waiting for volumes to attach/mount for pod "jenkins-1059742402-b96n5"/"jenkins". list of unattached/unmounted volumes=[jenkins-home]

Same problem for me, I just deployed a new Kubernetes cluster with kube-aws (compiled from current master) and my EBS volume fails to mount with the same timeout error.
For me the volume even remains in the "available" state on AWS.
Tried with both hyperkube 1.3.0 and 1.3.2 as well.
Here is my replication controller:
apiVersion: v1
kind: ReplicationController
metadata:
  labels:
    app: grafana
  name: grafana
spec:
  replicas: 1
  selector:
    app: grafana
  template:
    metadata:
      labels:
        app: grafana
    spec:
      containers:
        - image: grafana/grafana
          name: grafana
          ports:
            - containerPort: 3000
              name: grafana
          volumeMounts:
            - name: data
              mountPath: /var/lib/grafana
      volumes:
        - name: data
          persistentVolumeClaim:
            claimName: staging-grafana-claim

Using the following PersistentVolume and PersistentVolumeClaim:
apiVersion: v1
kind: PersistentVolume
metadata:
  name: staging-grafana
  labels:
    failure-domain.beta.kubernetes.io/region: us-east-1
    failure-domain.beta.kubernetes.io/zone: us-east-1b
spec:
  capacity:
    storage: 8Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  awsElasticBlockStore:
    volumeID: vol-xxxxxxxx
    fsType: ext4

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: staging-grafana-claim
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 8Gi

And the error I get:
12m	12m	1	{default-scheduler }				Normal	Scheduled	Successfully assigned grafana-y0pbq to ip-10-20-10-210.ec2.internal
10m	1m	5	{kubelet ip-10-20-10-210.ec2.internal}		Warning	FailedMount	Unable to mount volumes for pod "grafana-y0pbq_default(a4fd807c-4f1b-11e6-a2d7-12fe6d946c59)": timeout expired waiting for volumes to attach/mount for pod "grafana-y0pbq"/"default". list of unattached/unmounted volumes=[data]
10m	1m	5	{kubelet ip-10-20-10-210.ec2.internal}		Warning	FailedSync	Error syncing pod, skipping: timeout expired waiting for volumes to attach/mount for pod "grafana-y0pbq"/"default". list of unattached/unmounted volumes=[data]

How can I debug this further?

Nevermind, I found the problem.
My EBS volume was actually encrypted with a specific KMS key and I had forgotten to authorize the IAM role to use this key.
However the error message when running kubectl describe on the pod is clearly not helpful in this case. I figured what my problem was by running aws ec2 attach-volume ... manually on the controller machine, which gave me a CustomerKeyHasBeenRevoked error and stated that the KMS key couldn't be used.
Would have been helpful if Kubernetes had shown this error message instead of "timeout expired...".
@samhagan not sure if this helps, since for you the volume appears to be "in-use" after the deployment, which would indicate that the attach volume command has been successful.

@doubliez thanks for letting me know.  I will take a closer look at my permissions.

I was able to get it working by changing by EBS Volume Type = Standard (magnetic) instead of gp2.  By default kube-aws spins up instances with standard volume types.  I'm not sure if EC2 instances can only have one type of EBS Volume Type, but this did fix my issue.  Agree with @doubliez that a more detailed error message would have been helpful.


Islamic provinces outside CK3 - what if Islam is wiped out

See /configurables/no_islam_overrides.txt

Hindu also appears outside of CK3 scope in the Indonesia/Malaysia area. Would we eliminate that too? I'm not sure this is a good idea unless it's an Imperator save or some such.

No, no, all the provinces listed in that file are Sunni or Ibadi in EU4 Vanilla. The replacements are usually Hindu or Animist.

Ah, it's for IR save conversions. That makes more sense. The phrasing of the issue had me think it was for if Islam died out in CK3 in general.


Add new option "Timeout" for pipeline jobs

By default, a job from a pipeline run is running for ever and this is the expected behavior. We don't know how long a job should run and therefore we don't set a global timeout for pipeline jobs.
Therefore, we should provide the user the possibility to manually set a job timeout via job declaration: https://github.com/gaia-pipeline/protobuf/blob/master/plugin.proto#L15
This also includes updates for all SDKs. For example: https://github.com/gaia-pipeline/gosdk/blob/master/job.go#L29

I wonder. The plugins have health checks. We could intentionally ping a plugin if it's still healthy and just working on something for a long time. If a healthcheck fails after X times of trying, I think it should be safe to kill the job off. If the health check fails that generally would mean that the plugin/job is dead. Not?

That's already implemented by the go-plugin. If the health check does not respond, go-plugin will terminate the process. At least that is what I can read from the code 😄

I'll add this. Plus the UI for it.


Automated cherry pick of #8003: regional network filter bugfix

Cherry pick of #8003 on release/3.4.
#8003: regional network filter bugfix

/lgtm
/approve


add tests for fsPromises.chown()

currently there are no tests involving the promises version of the fs.chown() function.
fs.chown() currently has tests for

should be a function
should automatically set file uid/gud to 0
should allow updating of uid/gid

I would like to be assigned to implement these same tests for fs.promises.chown().
Thanks,
Thomas N

Great, go for it @ThomasNolte.


xadapt: default overload for 1D arrays

The xadapt() function requires a shape argument, which is unnecessarily tedious if you wanted a 1D xtensor.  (For instance, when doing arithmetic with array shapes.)  Is there any reason not to just adapt containers to a 1D array by default?  If not, here's a little PR that adds the necessary overloads.

Hi, indeed there is no reason to not adapt containers to 1D array/tensor by default, thank you for catching this!

:+1:

btw. what kind of arithmetics do you find useful on arrayshapes? maybe we'll have our own shape types in the future and we could implement some basic arithmetic on them, so feedback what's useful would be interesting.

what kind of arithmetics do you find useful on array shapes?

Nothing very complicated or surprising, I think. :-)
I typically deal with 3D (sometimes 2D) images that are too large to process in RAM all at once.  Therefore, I end up dividing the data into blocks (or tiles).
Furthermore, I'm not usually interested in processing all possible blocks of the array, but rather some subset of them which intersects some internal box of interest.  Merely iterating over the blocks of interest involves all four operators (+, -, *, //), and also min() and max().  (% is sometimes useful for assertions.)  It's all fairly straightforward using numpy.  (If it helps, I've pasted some example code in the details section below.)
Another common shape operation is to expand a box by some halo, to provide extra input context for an image filter such as Gaussian smoothing.
In general, most of my shape manipulations will always be on the Python side, but even so, shape manipulation can be useful within C++ functions, too.  For instance, here's a simple Python function that I eventually rewrote using numba, and then more recently rewrote again using xtensor.  The xtensor version is embarrassingly verbose at the moment, partly because I didn't know how to use xadapt at the time that I wrote it.
(BTW: I think xtensor would also benefit from some convenience functions that make ND functions easier to write, such as numpy's ndindex() and vigra's subarray().  But I will save that for another issue and/or pull request. ;-)

Details: Example block iteration functions

# Grid:
# Describes a blocking scheme, which is simply a grid block shape,
# and an offset coordinate for the first block in the grid.
Grid = namedtuple("Grid", "block_shape offset")

def clipped_boxes_from_grid(bounding_box, grid):
    """
    Generator.

    Assuming an ND grid with boxes of size grid.block_shape, and aligned at the given grid.offset,
    iterate over all boxes of the grid that fall within or intersect the given bounding_box.

    Returned boxes that would intersect the edge of the bounding_box are clipped so as not
    to extend beyond the bounding_box.
    """
    for box in boxes_from_grid(bounding_box, grid.block_shape, grid.offset):
        yield box_intersection(box, bounding_box)

def boxes_from_grid(bounding_box, grid):
    """
    Generator.

    Assuming an ND grid with boxes of size grid.block_shape, and aligned at the given grid.offset,
    iterate over all boxes of the grid that fall within or intersect the given bounding_box.

    Note: The returned boxes are not clipped to fall within the bounding_box.
          If either bounding_box[0] or bounding_box[1] is not aligned with the grid,
          some returned boxes will extend beyond the bounding_box.
    """

    if grid.offset is None or not any(grid.offset):
        # Shortcut
        yield from _boxes_from_grid_no_offset(bounding_box, grid.block_shape)
    else:
        grid_offset = np.asarray(grid.offset)
        bounding_box = bounding_box - grid.offset
        for box in _boxes_from_grid_no_offset(bounding_box, grid.block_shape):
            box += grid_offset
            yield box

def _boxes_from_grid_no_offset(bounding_box, block_shape):
    """
    Generator.

    Assuming an ND grid with boxes of size block_shape, and aligned at the origin (0,0,...),
    iterate over all boxes of the grid that fall within or intersect the given bounding_box.

    Note: The returned boxes are not clipped to fall within the bounding_box.
          If either bounding_box[0] or bounding_box[1] is not aligned with the grid
          (i.e. they are not a multiple of block_shape),
          some returned boxes will extend beyond the bounding_box.
    """
    bounding_box = np.asarray(bounding_box, dtype=int)
    block_shape = np.asarray(block_shape)

    # round down, round up
    aligned_start = ((bounding_box[0]) // block_shape) * block_shape
    aligned_stop = ((bounding_box[1] + block_shape-1) // block_shape) * block_shape

    for block_start in ndrange( aligned_start, aligned_stop, block_shape ):
        yield np.array((block_start, block_start + block_shape))

def ndrange(start, stop=None, step=None):
    """
    Generator.

    Like np.ndindex, but accepts start/stop/step instead of
    assuming that start is always (0,0,0) and step is (1,1,1).

    Example:

    >>> for index in ndrange((1,2,3), (10,20,30), step=(5,10,15)):
    ...     print(index)
    (1, 2, 3)
    (1, 2, 18)
    (1, 12, 3)
    (1, 12, 18)
    (6, 2, 3)
    (6, 2, 18)
    (6, 12, 3)
    (6, 12, 18)
    """
    if stop is None:
        stop = start
        start = (0,)*len(stop)

    if step is None:
        step = (1,)*len(stop)

    assert len(start) == len(stop) == len(step), \
        f"tuple lengths don't match: ndrange({start}, {stop}, {step})"

    for index in product(*starmap(range, zip(start, stop, step))):
        yield index

def box_intersection(box_A, box_B):
    """
    Compute the intersection of the two given boxes.
    If the two boxes do not intersect at all, then the returned box will have non-positive shape:

    >>> intersection = box_intersection(box_A, box_B)
    >>> assert (intersection[1] - intersection[0] > 0).all(), "Boxes do not intersect."
    """
    intersection = np.empty_like(box_A)
    intersection[0] = np.maximum( box_A[0], box_B[0] )
    intersection[1] = np.minimum( box_A[1], box_B[1] )
    return intersection

ok, thanks for the info!
I am currently working on an alternative shape container that has some space allocated on the stack by default (which should speed up xarrays quite a bit), so we can see if we implement some simple arithmethics like +=, /= ... for those shapes.
Also, about the subarray-view, I believe that idea is similar to what I have started in this PR: #514. This PR currently returns subarrays per dimension (i.e. if you have a 3x3x3 array, you can get an iterator with three elements of 3x3). I was already thinking about how to extend this to some sort of "box", ie. you could select you want a "cutout" 2x2 arrays from your array and then it would return an iterator over all 2x2 boxes. The implementation would probably be a strided view on a strided view :)
But we found some performance issues in the strided view and need to make them a bit faster first, haha!

Also, about the subarray-view, I believe that idea is similar to what I have started in this PR: #514. This PR currently returns subarrays per dimension (i.e. if you have a 3x3x3 array, you can get an iterator with three elements of 3x3).

Nice, that looks useful.  It's a step along the way toward a Generalized UFuncs API, which would be a nice feature (and probably easier to use than xt::reduce, at least in some cases).
Still, I think it would be nice to be able to call xt::view with an arbitrary start/stop coordinate pair, like vigra's subarray().  That's useful for extracting objects from an image, for example.

I was already thinking about how to extend this to some sort of "box", ie. you could select you want a "cutout" 2x2 arrays from your array and then it would return an iterator over all 2x2 boxes. The implementation would probably be a strided view on a strided view :)

You are probably way ahead of me on this topic, but that sounds similar to skimage.util.view_as_blocks, which merely creates a single view with some clever stride choices. However, it does require the input to be a contiguous row_major array.
A while ago, I tried the view_as_blocks trick using xtensor, and it seems to work:
xt::xarray<int, xt::layout_type::dynamic> arr_plane
  {{1, 1, 1, 2, 2, 2, 3, 3, 3},
   {1, 0, 1, 2, 0, 2, 3, 0, 3},
   {1, 1, 1, 2, 2, 2, 3, 3, 3},
   {4, 4, 4, 5, 5, 5, 6, 6, 6},
   {4, 0, 4, 5, 0, 5, 6, 0, 6},
   {4, 4, 4, 5, 5, 5, 6, 6, 6}};

// Duplicate 3 times -> Now it's 3D with shape (3,6,9)
xt::xarray<int, xt::layout_type::dynamic> arr = xt::stack(std::make_tuple(arr_plane, arr_plane, arr_plane), 0);

// Now it's 6D with shape (1,2,3,3,3,3)
arr.reshape({1,2,3, 3,3,3}, {9*6*3, 9*3, 1*3, 9*6, 9, 1});


SPOT InterruptionHandler Awareness

Hi @DavyJones2010 ! I'd like to contribute, please could you describe the issue a bit more?

thx Saxena, @xie-rufeng will describe this issue to you in detail :)

Hi @SaxenaAnushka102 ！a preemptible instance is forcibly recycled due to a market price change or insufficient resources, an interruption event is triggered，At present, after the instance is released in the Alibaba Cloud console,It will still exist in the jenkins node pool for a while。
Need to sense interrupt events. Delete this instance from the node pool in advance.
Learn more from Receive a preemptible instance interruption event https://www.alibabacloud.com/help/en/elastic-compute-service/latest/receive-a-preemptible-instance-interruption-event


optimisticData function does not use fallback as currentData

Bug report
When using the optimisticData function (see #1850) does not use data from SSR fallback as currentData.
As long as SWR has not revalidated the fallback data you can't really use it as basis for new optimisticData.
Description / Observed Behavior
consider this example
const myListResponse = useSWR(`api/myList`);

async function addToList(item) {
  await myListResponse.mutate(
    async () => { /* some fetch PATCH adding the item to the list */ },
    {
        populateCache: true,
        rollbackOnError: true,
        revalidate: false,
        optimisticData(currentData?) {
          return [...(currentData ?? []), item];
        },
      }
  )
}

Even if fallback: { "api/myList": ["foo", "bar"] } is set in <SWRConfig> the currentData argument is undefined when addToList() is called before the fallback has been revalidated.
This leads to undesired results:

data is ['foo', 'bar'] initially (from fallback)
addToList('baz') is called
data is now ['baz'] (from optimisticData function)  because currentData was undefined but should have been ['foo', 'bar']
fetched data arrives
data is now ['foo', 'bar', 'baz']

In my case addToList it is called from an effect but it could also be caused by a fast clicking user or slow network connection.
Expected Behavior
currentData should use fallback data if it can.
And the process should be like this:

data is ['foo', 'bar'] initially (from fallback)
addToList('baz') is called
data is now ['foo', 'bar', 'baz'] (from optimisticData function) because currentData was ['foo', 'bar']
fetched data arrives
data still is ['foo', 'bar', 'baz']

Repro Steps / Code Example
See snippet above - I'm not sure how to best create a repro without building a sample api. 🙈
Additional Context
SWR version.
2.0.0-beta.6 in next 12.2
I have found two possible workarounds.

don't mutate if still loading:

async function addToList(item) {
  if (myListResponse.isLoading) return;

  await myListResponse.mutate(
  …

fallback to fallback data manually:

        optimisticData(currentData?) {
          currentData = currentData ?? myListResponse.data;

          return [...(currentData ?? []), item];
        },

Both seem suboptimal.
Thanks for investigating this. ❤

Thanks for reporting this! Sounds like a fair case to cover 👍

After dicussing with @shuding , it's more like by designed currently. since the fallbackData is per hook, you can have different fallback value for the same resource. But mutate() works per resource, so you might not be able to know the fallback value for each hook.

@huozhi I'm facing the same problem as @djfarly at the moment. The documentation indeed states that fallbackData is per hook, but to my understanding fallback is not. Still the data stored as fallback is not being use as currentData. Is this by design as well?

Currently we're not using it to commit the data into the cache, the fallback and the fallbackData are all for fallback purpose when data is undefined. Even though fallback is set through SWR configuration, it doesn't fill data into cache.
So in your case I think you'd more like to use mutate to fill the cache first, or just share the fallback value between the mutation fetcher and swr configuration


[Task] Add unit test cases for CloseChatButton component

Task Description:
Currently, we run unit tests using jest which can be found here.
However, the test cases are not yet comprehensive enough and work can be done to cover more grounds. Specifically for this issue, we hope to add test cases for the CloseChatButton component.
Deliverable(s):
New unit test cases that cover the testing of the CloseChatButton component.
Additional Context:

Button components can be found here
An example for AudioButton can be found here which may serve as a good source for reference

@tjtanjin I can help you with this one

@tjtanjin I can help you with this one

Go for it!


Changes to editor_help.cpp make the built in editor help unreadable  on smaller or scaled screens

Godot version
3.x (1cf6d21)
System information
Windows 10 GLES3/2
Issue description
The changes made in https://github.com/godotengine/godot/pull/55560 to editor_help.cpp make the page unreadable on smaller or scaled screens.
There is no need to have 3 columns in the editor help because some of the [default] options can be very long resource path names pushing the other columns and making them unreadable.
The original solution worked better.
ProjectSettings.xml on 1920 x 1080 and 125% scaling with this pr

Steps to reproduce
Open Project Settings with the latest 3.x using scaled screen
Minimal reproduction project
No response

cc @pycbouh

There is no need to have 3 columns in the editor help because some of the [default] options can be very long resource path names pushing the other columns and making them unreadable.
The original solution worked better.

Overall, I don't agree with this. It didn't work better for the majority of classes. But it's hard to find a good solution that covers all edge cases. Like the ProjectSettings docs which have abnormally long property names.
I'm not sure how text rendering for tables works in 3.x, but it shouldn't really break types onto new lines like that, it has plenty of spaces for them. And the gaps can be reduced between columns to prevent to depicted property name from line wrapping. But I'm not confident that we can control these aspects of text rendering in the text label as granularly.

Anytime you have a long property or a [default: "res://with_a_long_resource_name.tres"] will crowd all other columns like you see above.
In the screen shot above this
    application/config/use_hidden_project_data_directo
ry

get croded because of this  further down
    [default:
"res://default_bus_layout.tres"]

I see 3 main issues with your solution:

How will you detect edge cases? Is there some algorithm that can detect visual crowding? Before crowding was avoided because because it would sort itself out having more space in column 2 to put the long property name on one line and the default on the line beneath but with 3 columns this cannot be avoided. This issue can pop up anywhere in modules or addons.
Docs will no longer have a consistent look as edge case pages now look differently.
You will have two different code for two different ways of rendering the same thing.  I thought the idea was to have one thing work one way only.

You will have two different code for two different ways of rendering the same thing. I thought the idea was to have one thing work one way only.

If this was true, I would rather we have a solution that helps make the majority of the docs more readable rather than a solution that handicaps the rest for the benefit of a single outlier. And this is the case of a single outlier, as only ProjectSettings realistically can have such long-long names because that's essentially setting paths stored as properties.
Thankfully, that's not true. It makes sense to add a special case for ProjectSettings because of its unique nature and make it work better for its unique composition of long name and also, sometimes, loner values.

Hello.
So I did more testing.  OS  singleton shows crowding as well for me.  AnimationPlayer too a bit if I have both Scripts tab and the other tabs extended too much. Probably other pages as well. Editor minimized crowding is much worse now.
AABB on editor not maximized with pr (default breaks off in 3 rows)

and without pr (default break off in 2 rows)

To me the bottom one is easier to read since there's less line breaking. I can read continously for longer.  Lines should break off at words but code should break off logically otherwise is hard to read.  With 3 colums there's just not enough space for long lines to grow into.
A better approach would be to keep the 2 columns and have the default move to the 2nd line if there's no more room on the first. This would give more room for long properties to grow into and potentially line breaking.
Broken lines are super hard to read. I assume people with disabilities would struggle even more.  I personally don't care if it was 2 columns or 3 but reading code like this is really difficult
this_is(som
e, code wh
ich) is [ver
y, long]

Also the idea to hardcode doc names and  implement alternative layouting just for a couple of edge cases I dunno why but I would not take that approach. Doesn't seem future proof.  I think a better approach would be revert and explore a more solid alternative that is equivalent to or better than the previous implementation.  Anyway that's all I had to say.  Hope you guys acn figure it out.

The editor UI will break if you keep making the window smaller and smaller, so I'm not sure what you are trying to demonstrate with those last examples...

Hi thanks for the reply.
Sorry I guess I should have explained myself more correctly. So just to re-iterate here are some of the points I was trying to demonstrate:

Changes to editor_help.cpp makes the doc pages break more easily and overall broken lines look worse than before.
In order to get docs to render correctly you now need at least a full HD screen, no scaling and Godot Editor to be maximized.
ProjectSettings is biggest offender but I can see it also in OS and AnimationPlayer and pretty much anywhere when editor is not maximized.
When editor is not maximized docs looks more crowded and harder to read than before.
Your solution to hardcode some pages and render them differently doesn't sound like a permanent solution and cannot account for docs from addons/modules.

Hope that is more clear. Thanks 😊

I don't mind much what kind of solution is used, but I agree that there are cases where the docs break more easily now than they used to, and that's particularly visible whenever there are very long types, or very long property names, or very long default values.
It would be good to find an approach that could reduce the frequency of these issues for 3.5, and maybe also tweak the format so that when wrapping does happen, it does not look weird like now.
ProjectSettings in 3.4.4-stable in 1080p (no scaling):

ProjectSettings in current 3.x (37fd526dddc610ff6b48fd2084c1c6a678c47b54):

The broken "Dictiona" / "ry" is really bad. "PoolStri" / "ngArray" is also annoying, and it breaks in a different pattern for some reason.

This is also weird but not horrible, it's just weird that the wrapped lines are dedented.

Fixed by #61904.


Assignment of a unique USB PID for TULIP4041 from Raspberry Pi admin.

Currently the TULIP4041-DevBoard project is using the default USB VID (Vendor ID) and PID (Product ID) value.
While using the USB VID value of 0x2E8A is reasonable (we're on RPi's platform), using the default PID (0x0009) is potentially problematic as it can easily lead to collisions with other RPi-based DIY projects.
A unique TULIP4041 PID can requested from this github site:   https://github.com/raspberrypi/usb-pid
See the Assignment section for a link to the request form.
It appears this is a free service.
Robin

I have considered this. There is an explanation about the posible use. Recommendation is to use a custom ProductID if a special driver is needed. In the case of the TULIP there is no requirement to use any custom driver on the host since only standard CDC ports and an MSC device are used. The ports can be identified with the iManufacturer and iProduct which are set for the TULIP devices.

I don't know if you want me to start a new issue or keep going on this one.
I will keep adding to this one about USB issues until further notice.
USB Sub-issue 1
All the issue occurs on an Ubuntu 22.04 system.
I am attempting to get the Debug UART (GPIO0 & GPIO1) working.
I have a good USB-Serial adapter connected to these two GPIOs, which create serial port /dev/ttyUSB0)
I am using minicom for terminal emulation. (see attached screenshot)
As you can see in the screenshot it appears there is mismatch with the baud rate (my guess).
Any help in understanding and resolving this Debug UART issue would be appreciated.

USB Sub-issue 2
In order run the terminal emulator in user mode, e.g. not requiring sudo,  I created a udev rules file specific for TULIP4041.
See attached file "99-tulip4041.rules.txt"
Rename this from 99-tulip-4041.rules.txt to 99-tulip-4041.rules and then copy into udev
#download 99-tulip4041.rules.txt
sudo cp 99-tulip-4041.rules.txt /etc/udev/rules.d/99-tulip4041.rules

This again feeds back to concerns about a unique PID.
This udev rules file triggers for PID==0009, which again is susceptible to being used by other pico DIY projects.
If you have questions, I will be glad to help answer them.
99-tulip4041.rules.txt

About Sub issue 1: This is not a USB issue, as it refers to the UART on GPIO0/1. This is an item that I thought was solved, but crept in when migrating to Pico2. The UART baud rate is off since it was derived from the original 150MHz main clock, but this is now 125MHz. This requires a new firmware update, which I will do later this week. In case you want to compile your own firmware, divide the baud rate by 1.2.
When using the UART with the current firmware, beware that it gives you a number of commands that do not work anymore or simply have no effect and the welcome message is incorrect. I use it only for monitoring the HP41 power modes.

About Sub Issue 2: This is a bit out of my league, I only use a Windows system and have very limited knowledge about Linux. But I have used specific (USB defined) iManufacturer, iProduct and iSerialNumber settings. The serial number is derived from the unique number in the FLASH device, and the combination is used to identify a specific device (on Windows at least). I have connected several TULIP devices and I can easily assign a fixed COM port to any interface of any device without mixing them up. Disadvantage of using a new Product ID is that the system will most likely ask for a new driver to be installed. I have tried out various options while figuring out the multi-channel CDC USB descriptor setup and found the current setup the easiest to use.

Regarding sub issue 2, on Linux one can avoid having to use sudo to run minicom if the user is added to the group 'dialout' and logging out and then back in.

The Debug UART issue was fixed by adjusting the baud rate, as suggested.  THANKS!

I am still seeing error messages when creating instances of the /dev/ttyACMx on the Ubuntu side.
But, as can be seen below, the Ubuntu system is at least defining them in device-space.
When I attempt to connect via terminal emulation to (for example) /dev/ttyACM1, there is no output or response.
I will continue to investigate this on the Ubuntu side.
The following spew section is from the dmesg log, showing the -32 errors (usual a permission error).
[ 3533.286194] usb 2-1.7.1: reset full-speed USB device number 27 using ehci-pci
[ 3533.386141] usb 2-1.7.1: device descriptor read/64, error -32
[ 3533.594214] usb 2-1.7.1: device descriptor read/64, error -32
[ 3533.802140] usb 2-1.7.1: reset full-speed USB device number 27 using ehci-pci
[ 3533.902243] usb 2-1.7.1: device descriptor read/64, error -32
[ 3534.110131] usb 2-1.7.1: device descriptor read/64, error -32
[ 3534.318226] usb 2-1.7.1: reset full-speed USB device number 27 using ehci-pci
[ 3534.738023] usb 2-1.7.1: device not accepting address 27, error -32
[ 3534.818155] usb 2-1.7.1: reset full-speed USB device number 27 using ehci-pci
[ 3535.234215] usb 2-1.7.1: device not accepting address 27, error -32
[ 3535.234965] usb 2-1.7.1: USB disconnect, device number 27
[ 3535.370119] usb 2-1.7.1: new full-speed USB device number 28 using ehci-pci
[ 3535.470083] usb 2-1.7.1: device descriptor read/64, error -32
[ 3535.678009] usb 2-1.7.1: device descriptor read/64, error -32
[ 3535.886138] usb 2-1.7.1: new full-speed USB device number 29 using ehci-pci
[ 3535.986069] usb 2-1.7.1: device descriptor read/64, error -32
[ 3536.194034] usb 2-1.7.1: device descriptor read/64, error -32
[ 3536.302506] usb 2-1.7-port1: attempt power cycle
[ 3536.906005] usb 2-1.7.1: new full-speed USB device number 30 using ehci-pci
[ 3537.322056] usb 2-1.7.1: device not accepting address 30, error -32
[ 3537.422244] usb 2-1.7.1: new full-speed USB device number 31 using ehci-pci
[ 3537.838117] usb 2-1.7.1: device not accepting address 31, error -32
[ 3537.838204] usb 2-1.7-port1: unable to enumerate USB device
[ 3669.907784] usb 2-1.7.1: new full-speed USB device number 32 using ehci-pci
[ 3671.654726] usb 2-1.7.1: New USB device found, idVendor=2e8a, idProduct=0009, bcdDevice= 1.00
[ 3671.654735] usb 2-1.7.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3671.654739] usb 2-1.7.1: Product: TEST4041
[ 3671.654741] usb 2-1.7.1: Manufacturer: Mein-USB
[ 3671.654744] usb 2-1.7.1: SerialNumber: FA63A4D7872E4425
[ 3676.786254] cdc_acm 2-1.7.1:1.0: ttyACM0: USB ACM device
[ 3692.146161] cdc_acm 2-1.7.1:1.2: ttyACM1: USB ACM device
[ 3707.506045] cdc_acm 2-1.7.1:1.4: ttyACM2: USB ACM device
[ 3722.865880] cdc_acm 2-1.7.1:1.6: ttyACM3: USB ACM device
[ 3738.225600] cdc_acm 2-1.7.1:1.8: ttyACM4: USB ACM device
[ 3748.465228] usb-storage 2-1.7.1:1.10: USB Mass Storage device detected
[ 3748.465940] scsi host7: usb-storage 2-1.7.1:1.10
[ 3779.422045] usb 2-1.7.1: reset full-speed USB device number 32 using ehci-pci
[ 3786.353670] cdc_acm 2-1.7.1:1.0: ttyACM0: USB ACM device
[ 3791.473576] cdc_acm 2-1.7.1:1.2: ttyACM1: USB ACM device
[ 3796.592936] cdc_acm 2-1.7.1:1.4: ttyACM2: USB ACM device

But as can be seen, the five CDC devices are created.
robin@mandible:~/pico/hp41/TULIP-DevBoard/TULIP4041-P2$ ls -l /dev/ttyA*
crw-rw-rw- 1 root dialout 166, 0 Nov  2 18:19 /dev/ttyACM0
crw-rw-rw- 1 root dialout 166, 1 Nov  2 18:19 /dev/ttyACM1
crw-rw-rw- 1 root dialout 166, 2 Nov  2 18:19 /dev/ttyACM2
crw-rw-rw- 1 root dialout 166, 3 Nov  2 18:19 /dev/ttyACM3
crw-rw-rw- 1 root dialout 166, 4 Nov  2 18:19 /dev/ttyACM4

Good work. If you are doing your own firmware, you can play with the USB descriptors in the file usb-descriptors.cpp and tusb_config.h. But be careful, it is easy to mess up things as I found out the hard way myself.
For the baud rate, I would recommend to correct using the clock frequency differences. I might reduce the clock speed more to save power. I have already changed this in my own sources (not yet published).
Sorry, I cannot help with Ubuntu. I did a test on a Raspberry Pi with their Linux, and it worked straight away.


watcher firing 'add' events for existing files

this will list all current files in a directory
var chokidar = require('chokidar')
var watcher  = chokidar.watch('./public/images', {persistent: true})

watcher.on('add', function(path){
  console.log(path, ' added')
})

if I use the ignoreInitial option like so, it will skip initial files, but will print them again when a new file is added
var chokidar = require('chokidar')
var watcher  = chokidar.watch('./public/images', {persistent: true, ignoreInitial: true})

watcher.on('add', function(path){
  console.log(path, ' added')
})

related to #110, I'm using linux

I have the same issue on macOS currently.
With the code
    watcher.on('add', path => {         logger.debug('added file %s', path);     });
I do get:

all files in the watched folder, when one file is added
all remaining files, when one file is deleted

When I add ignoreInitial (even given I don't want this for my case), it ignores the first watch round, but gives me all files when a file is added or removed.


Home Screen Performance POC - Step 3

On top of the changes for Step 1, break down the home screen to separate out a specific reducer to its own container. Calling this reducer should show the home screen continue to be responsive while fresh data is being fetched and updated. Bench Mark to see number of renders with console out or some other mechanism

This is not relevant anymore. The new account management and redux persist already follow this approach.


Add name check for basin id field

See #7, the problem was that the intersected polygons contains the fields/values of both shapefiles. In this case, the basin id field was present in the user shape file but also HydroATLAS (HYBAS_ID). This led to the problem that one intersected polygon had a HYBAS_ID that is not part of the basin_ids list (which only contains the basins between the thresholds).
In this PR I am adding a check that makes sure that the user specified BASIN_ID_FIELD is different to any HydroATLAS field.

Also update the Wiki to include this information.


testing strategies?

This is likely addressed with a section in the readme, but what are some guidelines for testing without relying on a live SQS instance?  Do you mock the Propano.publish and .listen_to_queue methods and check for the messages you expect?

Hey @iHiD pretty cool gem, I'm wondering how you guys do tests around listeners, specifically in the callbacks. do you happen to have an example with rspec or another library? Thanks so much.


 A selector for this would be great.
Just sharing my personal fix for this:
    theme: {
      colors: {
        foreground: 'var(--un-preset-theme-fg)',
        'foreground-base': getForeground(options.colors.base),
        'foreground-primary': getForeground(options.colors.primary),
        'foreground-secondary': getForeground(options.colors.secondary),
      },
    },
    rules: [
      [
        'hue-base',
        {
          '--un-preset-theme-fg': getForeground(options.colors.base),
        },
      ],
      [
        'hue-primary',
        {
          '--un-preset-theme-fg': getForeground(options.colors.primary),
        },
      ],
      [
        'hue-secondary',
        {
          '--un-preset-theme-fg': getForeground(options.colors.secondary),
        },
      ],
    ],

Yeah thats a pretty good idea, you mean to select between the dark fg and light fg colors? Something like darkfg:fg-black lightfg:fg-white?

I think there could potentially be some magic stuff here to allow an extra color to come with the hue 0-12 for fg, maybe even like fg[1..12] etc

I don't think it would have to be difficult, it's only about this part of the docs:

The following classes would suffice:
-bluefg
-redfg
Etc.
-huefg
For sky-amber it would be black, for the other colors it would be white

I suppose 11 and 12 are universal foregrounds for lower numbered backgrounds, could just add another color to every palette for the appropriate high contrast foreground color. I'll look into it.

Yes you're right, for the lower numbered backgrounds 11 and 12 are fine indeed.
You solution sounds fine 👌🏼

Added in 2.5.2


How to hide some existing containers ?

What version of Traefik are you using (traefik version)?
Traefik version v1.1.2 built on 2016-12-15_10:21:15AM
What is your environment & configuration (arguments, toml...)?
defaultEntryPoints = ["http"]
[entryPoints]
  [entryPoints.http]
  address = ":80"
  [entryPoints.https]
  address = ":443"

[docker]
  endpoint = "unix:///var/run/docker.sock"
  domain = "docker.localhost"
  watch = true

[backends]
    [backends.dev8]
        backend = "dev8"
        enable = false

What did you do?
Using the toml file
What did you expect to see?
I use Traefik on existing docker cluster, so I have already a dozen of containers, now I want to hide some of them, group others, the problem is that there is no method to ama,ge containers labels, We can modify the domain anytime.
What did you see instead?
I still see my container

How about setting the traefik.enable label to false?

@timoreimann I think that the problem is related to Docker, because when I made some searches, there is no method to set labels on existing docker containers (just setting labels on creating ..)

@chermed you could be right, I'm not too familiar with the Docker integration.
@vdemeester can probably clarify for sure.

@chermed @timoreimann there is no way to set labels to existing containers yep 😅. If you use swarm mode, that's another story, you can update labels on the services.
The best way to achieve what you want is to make sure Træfik doesn' export anything by default, thus you'll have to explicitely use labels on docker container for them to be taken into account by Træfik 👼.

@chermed @vdemeester is there anything we could do to improve clarity on this point (like extending documentation), or should we close this issue right away?


tarball issue

npm WARN tarball tarball data for react-native@https://github.com/expo/react-native/archive/sdk-35.0.0.tar.gz (sha512-KBH833yTYW/u2E1KKTAq2jYAqZOgXyLwg/TVpG6JbHyTG424f5gF4CB7KUw==) seems to be corrupted. Trying one more time

Hi @cmdhakar-001 ! This isn't a problem with our repo. It must probably be a problem with your npm package. You could try re-installing npm on your machine.

yes i got the issue. thanks


CASMTRIAGE-4162: add a python3 shebang

Description
This file did not contain a python shebang, leaving it at the mercy of whatever the default python interpreter may be.  This PR adds a shebang for python3.

Checklist Before Merging

[x] If I added any command snippets, the steps they belong to follow the prompt conventions (see example).
[x] If I added a new directory, I also updated .github/CODEOWNERS with the corresponding team in Cray-HPE.
[x] My commits or Pull-Request Title contain my JIRA information, or I do not have a JIRA.

/backport main


share variables across packages

consider the following app structure:
app.html
app.coffee
app.styl ## global styles, e.g. primary = #222
packages/
    FirstPackage/
        package.styl ## package styles, e.g. background: primary
    SecondPackage/
        package.styl
    ThirdPackage/
        package.styl

how can the packages use the styles defined app.styl?

This is a problem that every CSS pre-processor encounter with the meteor build system. Hopefully a new upcoming meteor API will allows us to solve this issue. See #10 for more details.


Request : Add WebP format

Hi, could you add WebP format to the available image format which can be inspected ?

Will try to get that working next. 👍

Should be working now! Check here!


Regression: Include with wildcards no longer applies Exclude in a case-insensitive way to folder names

Let's say you have an item like so:
<Result Include="test0\**\*.txt" Exclude="@(KnownFiles)" />
In VS2015, the names of any folder names in the Exclude value would be case-insensitive when the exclude was applied. As of VS2017, this seems to no longer be the case.
So, let's say KnownFiles="test0\myFolder\123.txt", but the include wildcard returns test0\MyFolder\123.txt (note "myFolder" vs "MyFolder"). In VS2015 (msbuild 14.0), Result would be empty, where as in msbuild 15.0, the result contains "test0\MyFolder\123.txt".
Sample project attached.
msbuildtest.zip

Note: a workaround is to modify the msbuild script to first assign the wildcard to a separate item, and then apply the exclude.
For example:
<IntermediateResult Include="test0\**\*.txt"/>
<Result Include="@(IntermediateResult)" Exclude="@(KnownFiles)" />


Consider deferring browser download

Currently the browsers for the tests are downloaded when npm install is invoked so that all test dependencies are present right away without further setup. This was also needed before because there was no way in Puppeteer to selectively download browsers at a later time.
However, nowadays Puppeteer exposes a separate browsers package/CLI. This could allow us to defer downloading of the actual browsers until the tests are actually started. This could be good for two reasons:

It avoids problem in e.g. the CI build if a new nightly release is published and the version rollover happens; see https://github.com/puppeteer/puppeteer/issues/10414.
It will likely reduce the installation time which benefits the CI build too because it doesn't actually use the browsers.

Wow, this is a good proposal. Since it reduces installation times and improves CI efficiency. While Puppeteer is more associated with Chromium, it has Firefox support now.
You can install Firefox with @puppeteer/browsers:
Just use the npx @puppeteer/browsers install command, specifying Firefox.
npx @puppeteer/browsers install firefox@<version> --path ./browsers
(example): npx @puppeteer/browsers install<EMAIL_ADDRESS>--path ./browsers
Or if you want the stable version:
npx @puppeteer/browsers install firefox --path ./browsers
Now you can configure Puppeteer to use the Firefox you just installed. :)


Activations

keep testing part in comments,forgot to remove it.
also rather than checking for isinstance(X,ndarray) in each function ,i think we need to just place at the right place once.

only changes in activation funcs, all that previous commits are useless.they were done to update my fork with your main code


inboxer: 1.0.3 -> 1.0.4

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/inboxer/versions.
These checks were done:

built on NixOS
Warning: no binary found that responded to help or version flags. (This warning appears even if the package isn't expected to have binaries.)
found 1.0.4 with grep in /nix/store/p1nbzvgxwp6fczn96a1wdblpvm5h42m8-inboxer-1.0.4
directory tree listing: https://gist.github.com/e6ce6651760c07005f1d533c2cafc824

cc @mgttlinger for review

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: inboxer
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: inboxer
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: inboxer
Partial log (click to expand)
shrinking /nix/store/p1nbzvgxwp6fczn96a1wdblpvm5h42m8-inboxer-1.0.4/opt/Inboxer/.inboxer-wrapped
strip is /nix/store/fzcs0fn6bb04m82frhlb78nc03ny3w55-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/p1nbzvgxwp6fczn96a1wdblpvm5h42m8-inboxer-1.0.4/bin
patching script interpreter paths in /nix/store/p1nbzvgxwp6fczn96a1wdblpvm5h42m8-inboxer-1.0.4
checking for references to /build in /nix/store/p1nbzvgxwp6fczn96a1wdblpvm5h42m8-inboxer-1.0.4...
shrinking RPATHs of ELF executables and libraries in /nix/store/p1nbzvgxwp6fczn96a1wdblpvm5h42m8-inboxer-1.0.4
shrinking /nix/store/p1nbzvgxwp6fczn96a1wdblpvm5h42m8-inboxer-1.0.4/opt/Inboxer/libffmpeg.so
shrinking /nix/store/p1nbzvgxwp6fczn96a1wdblpvm5h42m8-inboxer-1.0.4/opt/Inboxer/libnode.so
shrinking /nix/store/p1nbzvgxwp6fczn96a1wdblpvm5h42m8-inboxer-1.0.4/opt/Inboxer/.inboxer-wrapped
/nix/store/p1nbzvgxwp6fczn96a1wdblpvm5h42m8-inboxer-1.0.4

Changes look good to me


Could not find or access '/opt/software/nomad_1.1.0_linux_amd64.zip

TASK [ansible-nomad : install | Copy nomad file to agent.] ***********************************************************************************************************fatal: [xxxx]: FAILED! => {"changed": false, "msg": "Could not find or access '/opt/software/nomad_1.1.0_linux_amd64.zip' on the Ansible Controller.\nIf you
are using a module and expect the file to exist on the remote, see the remote_src option"}

solution:
- name: install | Copy nomad file to agent.
  unarchive:
    src: "{{ nomad_file_path }}"
    dest: "{{ nomad_bin_path }}"
    creates: "{{ nomad_bin_path }}/nomad"
    remote_src: yes

add remote_src: yes

this issue is for nomad

No need to add remote_src: yes, the file will be stored locally in ansible host.


Should run workflow for BESTSELLER repository

[No story]
Damn it, I thought I had changed this... So much waiting for nothing!

We agree that github.ref == 'refs/heads/master' should also be true for us right?


HEAD request on 404 not closing the connection

Scenario:
server.js:
const express  = require('express');
const app = express();

app.get('/', (req, res, next) => {
  res.send('hello world');
});

app.listen(3000);

generate a 404 with a HEAD request:
$ curl -X HEAD localhost:3000/404

then the connection just stays open. however if you send a HEAD request with -I instead, the connection is closed (by curl maybe?):
$ curl -I localhost:3000/404
HTTP/1.1 404 Not Found
X-Powered-By: Express
Content-Security-Policy: default-src 'self'
X-Content-Type-Options: nosniff
Content-Type: text/html; charset=utf-8
Content-Length: 143
Date: Fri, 21 Jul 2017 14:38:50 GMT
Connection: keep-alive

shouldn't express (or finalhandler) close the connection in the case of a 404 for a HEAD request? seeing as it's the one setting the 404 header in the first place?

Hi @joelmukuthu connection management (closing / opening) is managed by the underlying Node.js HTTP server. You can see the exact same behavior with the following code:
var http = require('http')

var server = http.createServer(function (req, res) {
  res.end('hello, world!')
})

server.listen(4000)

You should file the issue over at Node.js core: https://github.com/nodejs/node


PageUp/Down navigation for CTRL-G dialog

Added PageUp/PageDown for goto-dialog navigation. Needed because with many items in the listcontrol one wants to quickly go through the cache hits.

Removed Cursor up/down key wrap around, because the top/end can reached with VK_HOME/VK_END, thus no need for wrap around

Would it be better to just forward these to the list control rather than try to manually apply the changes to the list control?  See commit 1049ec4c94cfd252851a3dcbbee6ebc6bc1aa1d1 .

Sure, good point, that's a much more lean and mean approach.


version 2.10.2

@OliverJAsh this should fix the last issue

@OliverJAsh what do you think? Maybe you can try to temporary patch the .js file locally with this change to double check the fix before publishing, just to be safe

@gcanti Sorry I had to run an errand. I've tested locally and this definitely fixes it. Thank you!

Patch released 👍


Rename Sequence to Track

In discussion with some folks new to the project it has become clear that the term "Sequence" is sometimes confusing, and doesn't match the common terminology used when talking about timelines in practice. I would like to propose that we rename "Sequence" to "Track" (both the class name and in the file format).
The schema versioning mechanism should be able to accommodate this. Specifically, older .otio files with "Sequence.1" objects in them would be read into OTIO as Track objects and then serialized out again as "Track.1" without loss of any data.
If you have any opinions about this (pro or con), please comment.

Addressed by #173


feat(packager): default packageManager in config to be the value of yarn-or-npm

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
The changes are appropriately documented (not applicable).
? The changes have sufficient test coverage (if applicable).
[x] The testsuite passes successfully on my local machine (if applicable).

Summarize your changes:
The packageManager option is a new feature as of Electron Packager 8.7.0.
I'm wondering if it actually needs to have test coverage.

Does this affect pruning behavior?  I wouldn't be to keen on changing this default (breaking change potentially) without extensive testing of the different pruning results

It doesn't appear to affect pruning behavior. I have tests in Packager itself, see https://github.com/electron-userland/electron-packager/blob/4f1758765e1ce30f1e0c6b76c3b916c374056899/test/prune.js#L79-L93
Let me know if you think I should add more detailed tests there.

@malept I played with this a bit and noticed a few things

The node_module tree generated by each were slightly different (both worked but they were differently structured)
I still don't 100% trust yarn on windows to do the "Right Thing(tm)" so I'm not too keen on making this default.

IMO this would be a breaking change as well (changing default), it wasn't breaking in packager because we gave people the option, but in forge forcing them onto yarn could quite easily make it a breaking change for their exact code base.
Maybe we should leave this till a good reason for 4.0.0 appears?

I still don't 100% trust yarn on windows to do the "Right Thing(tm)" so I'm not too keen on making this default.

That's fair.

Maybe we should leave this till a good reason for 4.0.0 appears?

Yeah maybe by then Yarn will be better on Windows 😄

Closing in favor of #251.


The table says pull_request whilst the section and examples are dedicated to pull_request_target  in "events-that-trigger-workflows" doc

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target
What part(s) of the article would you like to see updated?
It seems that there is a typo in https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target  The table says pull_request whilst the section and examples are dedicated to pull_request_target
Additional information
No response

Every five minutes every two minutes what's being mailed when the negative cam op people used to do you don't know how many years you've been with my mail or what's mine with this system.  How much negative work has been done, now they are engaged in this cycle of just being attached to him and this is up jo hai apna jo hai they are emailing every two to five minutes to think of the benefit that it happened like this.  It's happening like you are the people who are very successful and supportive of other people and do good things for them. You are fools.   Have you shown me any benefits so far? In all these years, have you shown me half a dollar or even one dollar from my payment?   How much do you earn in the cycle of the issue and fooling others and collecting your money? You just take five dollars seven dollars and subscribe to your channel or your apps, whatever it is, and that's it.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>


push  std::vector data package

Hi, I just find push one data in example.cc, how to push std::vector data package ? need help ,Thanks!

Start here https://stackoverflow.com/help/minimal-reproducible-example


Filled in Docs for Panorama Sky

Just trying to get some work done completing the class ref!

Should be fixed now!

Looks good. Thanks! :)

Cherry picked into 3.0.3


Add DB activity based routing

Hi all,
This is an attempt to add support for primary-replica routing based on recent writes on the table level.
We've implemented this as a separate process alongside PgPool-II before.
This will perform much better as it's incorporated into PgCat itself.
You can read all about the approach here: https://medium.com/tailor-tech/using-database-read-replicas-in-distributed-systems-d80eaf6bbf8a

I have gotten around to testing the PR. It works as described. I have a few notes

There is an inconsistency in the units used for TTL, we should reflect the units being used in the name of the config and variables to avoid putting milliseconds in a second field.. I think unspecified unit name should mean seconds, otherwise unit should be specified
Documentation isn't accurate as you need query_parser_enabled as well as query_parser_read_write_splitting to see the correct routing behavior
I am ready to merge the PR as soon as we have some tests added.

Another related note but not strictly necessary as part of this PR, is about propagation of this information to other PgCat instances in a HA deployment. I don't think it is necessary but I was curious if you had thoughts on this.

Thanks for the detailed review!
Changes:

I've synced the fork and rebased over main.
I've updated the configs that are millisecond based to have ms in the their name - I completely agree with you on this.
I've updated the config docs about the required enabled options for this to work.

HA Note:
I mention this in the considerations section in the config.md file when enabling this feature. As a whole as mentioned in the article i linked to - you're right, it's an issue. One way to resolve this is to have a centralized cache for the activity but I think that from a performance and reliability standpoint i'd prefer to use sticky sessions and get all of the same DB's client to use the same PGCat instance (we've achieved this with istio).
I also didn't want to add any kind of dependency on an external cache.
There are probably many other way's to resolve this but this has been the best tradeoff i've come up with to get this great feature with limited impact on reliability or performance.
Would love to get this merged - let me know if there's anything else I should do here.

That makes sense.
I ran the tests and clippy is complaining about
error: very complex type used. Consider factoring parts into `type` definitions
   --> src/query_router.rs:617:10
    |
617 |     ) -> Option<(Vec<Expr>, Vec<Vec<Ident>>, Option<&'a Vec<Assignment>>)> {
    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
    = note: `-D clippy::type-complexity` implied by `-D warnings`
    = help: to override `-D warnings` add `#[allow(clippy::type_complexity)]`

error: could not compile `pgcat` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
error: could not compile `pgcat` (lib test) due to 1 previous error

Exited with code exit status 101

Not sure why clippy didn't show me this issue 🤔
anyway - updated accordingly 🙏🏼


Fix: Broken links in sample repo README

Linked Issue
Closes #5895

This sample repo is also used in the quickstart, which we want to keep as seamless and low friction as possible. Whilst we do need to make sure that it works in cases where people create a sample repo with a name other than 'quickstart', IMHO if we have to pick one it should be the quickstart experience.
What about if the sample repo population code could do a search and replace at execution time to build these image and code references to the repo dynamically? That would avoid this image problem, and the code samples below too.

@rmoff Thanks, though I disagree with you initial statement - added some code to handle the search and replace


Prevent modal closing

Hi guys.
I have modal with form inside, and if form not submitted and user want to close it I want to throw him a confirm() box with some text like 'Are you sure ?'. And depends on true/false close it or not.
I've found onBeforeClose method in documentation, but I have problem with preventing closing. Even though it recieve click or keydown event, I can't prevent it with 'traditional' technics like preventDefault or returning false;
So, any Idea how to do it ?

If you are loading the  confirm() within the modal-content element, there is no reason for the modal to close, If I understand correctly, you just want to initialise a prompt or alert within the modal before submitting the form.
Within modal-content just attach an event to the click of button and on the click, simply display a hidden div, rough eg:
<form>
<input type="text>
etc etc
</div>
<button type ="button" id="confirm-prompt">
Submit Form
</button>

<div class="prompt">
</div>

.prompt {
   display:none;
   position:absolute;
   top:0;
   left:0;
   right:0;
   bottom:0;
  background: rgba(0,0,0,0.5);
  color:white;
}

var prompt = document.getElementById('confirm-prompt');
var showPrompt = document.getElementById('show-prompt'); // id of css div for overlay
prompt.addEventListener('click', function(e) {
      e.preventDefault();
      showPrompt.style.display = 'block';
 });

Side note, use stackoverflow dude.

@panoply Thank you for your response.I'm sorry, but It looks like, I wasn't really clear. And my example with form made it even more confused.
So. in a nutshell. when user trying to close modal window (by clicking close button or clicking outside of modal window), I want to have opportunity to prevent this closing.

man, post on stack.

Hi @makedonec88,
You could toggle the CSS selector of your close item.
An example:
const modal = new VanillaModal({
  close: '.closeButton.isActive',
});

<button class="closeButton">Close</button>

And have a successful validation callback from your form's validation handler, which adds an isActive class to the button. I'm not sure what validation methodology you're using, but here's a very basic example to illustrate the solution:
myForm.validate({
  success: () => {
    // If an error subsequently occurs, remove the `isActive` class
    document.querySelector('.closeButton').classList.add('isActive');
  },
  error: () => {
    // If an error subsequently occurs, remove the `isActive` class
    document.querySelector('.closeButton').classList.remove('isActive');
  }
});

Since the open and close DOM listeners are delegated from the document root node, you can quite safely inject them into and remove them from the DOM according to your needs.


How can we send the mjml assets and other details in ajax

When we run the demo in the storage we see many parama passing.how can we send the parama mjml-assets,mjml-compone ts,mjml-styles,mjml-html.
Please find the attached screenshot

Mis understand


refactor(Algebra/Polynomial/Basic): define nsmul/zsmul for Polynomial

The goal of this PR is to make the ring instances on Polynomial independent of the module structure. This is currently somewhat useless and will only be useful in an upcoming PR that splits this entire file Polynomial/Basic.lean. But since adding definitions while splitting files is very annoying to review, let's do it in multiple steps.

Thanks!
bors merge

The goal of this PR is to make the ring instances on Polynomial independent of the module structure.

Why is this desirable? The nsmul/zsmul pattern is a lot more pleasant if you can define the general smul instance first and recover the nsmul/zsmul actions as special cases.

Ouch, the bot was slightly too fast for your review :(
Anyway, the nsmul/zsmul instance are defined separately since there is no correct instance of SMul M R -> SMul M R[X]: they need to preserve 0 too.

Right; I guess my claim is that SMulZeroClass should be treated as just as primitive as MulZeroClass, and so it doesn't seem problematic to me to require it when building the AddCommGroup structure.

Oh, the second PR that I merged and I already did something controversial... :facepalm:


How to display categories and tags in the sidebar ?

The question is in the title.

display categories and number, click to display all posts of the category
display tags and number, click to display all posts with this tag

Not supported by theme. You’ll need to customize layouts to do this.

The _includes/sidebar.html  layout ?
Do you have references to help me ?
rgds,

https://superdevresources.com/tag-cloud-jekyll/

Thank you so much !
Excellent theme I discovered day after day.


add anchor to review types

The review type '22' is a general comment type that is attached to single codecomments, reviews with multiple comments or to simple approve and request changes comment. This comment can be used to create a link towards this action on an pull request.
Adds an anchor to the review comment type, so that when its getting linked to it, it actually jumps towards that event.
This also now fixes the behavior that after you created a review you will be redirected to that review and because this is an general comment type other mails will also be 'fixed' such as the approved or request changes.
Resolves https://codeberg.org/forgejo/forgejo/issues/1248

(cherry picked from commit 1741a5f1fe6adc68bb5f87bdd1c5bdc5bfaa45c7)

It duplicates with line 406, but HTML element ID should be unique.

Please update branch so that it can be merged.


fix: Improve async event loop handling in component tools, this Improves the Agent as Tool Functionality

Fix: Improve async event loop handling in component tools
Description
Enhanced the _build_output_function in component tools to properly manage async event loops and added comprehensive tests for agent tool functionality. This addresses issues with event loop closure and resource cleanup in async operations.
Changes

Added proper event loop management in _build_output_function
Improved documentation with comprehensive docstrings
Added cleanup of pending tasks to prevent resource leaks
Added pytest cases to verify agent tool functionality

This pull request introduces several important changes to improve the handling of synchronous and asynchronous methods, enhance error handling, and add new test cases. Key changes include the addition of a utility function to check if a method is asynchronous, updates to the AgentComponent class to handle missing chat history gracefully, and new tests for the AgentComponent class.
Enhancements to method handling:

Added is_async_callable utility function to check if a method is asynchronous in src/backend/base/langflow/base/tools/component_tool.py.
Updated _build_output_function to create wrappers for both synchronous and asynchronous methods, ensuring proper event loop management for async methods in src/backend/base/langflow/base/tools/component_tool.py.

Error handling improvements:

Enhanced AgentComponent to handle missing chat history gracefully by adding a try-except block in src/backend/base/langflow/components/agents/agent.py.

Test additions:

Added a new test case test_agent_as_tool to verify the functionality of using an agent as a tool in src/backend/tests/unit/components/agents/test_agent_component.py.

Minor improvements:

Added required inputs to the outputs attribute of AgentComponent in src/backend/base/langflow/components/agents/agent.py.
Updated _set_output_required_inputs to skip setting required inputs if they are already defined in src/backend/base/langflow/custom/custom_component/component.py.

Note: Merge only after
https://github.com/langflow-ai/langflow/pull/4389 Merges to Main

Agent As Tool Demo
https://github.com/user-attachments/assets/25c2387f-a22d-4599-ad6a-8cc394e66f3f


Enable telegram alerts on curvebot.fi

https://www.figma.com/file/vLd6scwseZilfUZJXI6oRQ/Curve-Bots?type=design&node-id=455%3A135056&mode=design&t=UvJtxp6R6eDkAByQ-1
This should have the same functionality and bot as on palomabot

This was done


findBytes() option to not use regex

Describe the bug
While trying to use findBytes java.lang.IllegalArgumentException is thrown due to the presence of b'\x28' or b'x\29' in the byteString parameter.
To Reproduce
Steps to reproduce the behavior:

Go to python interpreter
type "findBytes(currentProgram.getMinAddress(), b'\x28\x3F\x23\x00'))"

Expected behavior
( and ) to be properly handled when input as a byte string.
Environment (please complete the following information):

OS: Microsoft Windows [Version 10.0.17763.437]
Java Version: 12.1
Ghidra Version: 9.0.2

Additional context
This commonly occurs when attempting to search for pointers that have not yet been created. Attempting to delimit them from within jython causes the b'\x28' and b'\x29' values to be removed from the search when passed to findBytes.

The findBytes() method is expecting a regular expression, so you would have to escape all special regular expression characters.  Did findBytes(currentProgram.getMinAddress(), b'\\\x28\\\x3F\x23\x00') not work for you?  It seems to work for me.

I had replaced them with a single escape instead ( instead of \( and it resulted in results that had the ( or ) completely omitted.
The issue comes more from when using getBytes to retrieve bytes from an address and then using findBytes to find other instances of it. I did not expect it to treat it as a regular expression. Does adding the option to turn on/off regex sound like a reasonable solution?

Yes, it sounds reasonable to me.  I'll switch this over to an enhancement request.

There exists a method to find bytes that does not use string values:
`public final Address find(Address start, byte[] values);`

Have you tried using this method?

There exists a method to find bytes that does not use string values:
`public final Address find(Address start, byte[] values);`

Have you tried using this method?

The byte string would need to be converted to a Java byte[] first but it would probably work. When I initially raised the issue I didn't realize that Jython didn't require a wrapper like C-python does. I had though that there was a mistake when converting python regex to Java regex or something but that is clearly not the case.
I'm actually going to close this as I no longer see it as useful and didn't realize it was still open.

There is a way to search for bytes in a file without using regular expressions, other than documented above.
There is a plain findBytes() function on the [ghidra.program.model.mem.Memory()] (https://ghidra.re/ghidra_docs/api/ghidra/program/model/mem/Memory.html#findBytes(ghidra.program.model.address.Address,ghidra.program.model.address.Address,byte[],byte[],boolean,ghidra.util.task.TaskMonitor)) class.
Here's how it could be used:
Memory memory = currentProgram.getMemory();
memory.findBytes(currentProgram.getMinAddress(), b'\x28\x3F\x23\x00', null, true, monitor);


"Select a Meadow Project first." on non-Meadow projects

I'm digging into it, but I get "Select a Meadow Project first." on projects that have nothing to do with Meadow.

@bcr I believe this is fixed in the latest release.


Update full_demo.py

Description
fix bug
Test Plan
How did you test the new or updated feature?

If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process.
Type of Change (Check all that apply)

[ ] user-visible impact
[ ] breaking change for a client SDKs
[ ] breaking change for FNs (FN binary must upgrade)
[ ] breaking change for validators or node operators (must upgrade binaries)
[ ] breaking change for on-chain data layout
[ ] necessitate either a data wipe or data migration

Release notes

Sorry for the delay in reviews. Unfortunately this PR is too old. Feel free to send out another PR and assign it to me. Thanks!


Find out what vehicle model is used by the F1TENTH gym

https://f1tenth-gym.readthedocs.io/_/downloads/en/latest/pdf/#page=25.73


Unable to create pods: not enough IPs available, waiting on Azure CNS to allocate more

What happened:
When the nodepool get updated, pods are rescheduled all at once. This leads to a state in which the pods are not being created, because of IP starvation.
We have Pod CIDR set to <IP_ADDRESS>/12, which means the pool should have 1,048,574 IP addresses available.
But I only see pods with IP address 100.112.1.x - 100.112.5.x. I don't understand why 100.113.x.x isn't used for example?
The error we get:
Warning  FailedCreatePodSandBox  2m28s (x587 over 130m)  kubelet  (combined from similar events): Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "98f722bb934e891615d307eb75f1300d78fa379f60781ca190f02ca2ca3f6f60": plugin type="azure-vnet" failed (add): IPAM Invoker Add failed with error: failed to add ipam invoker: Failed to get IP address from CNS: AllocateIPConfig failed: not enough IPs available, waiting on Azure CNS to allocate more, IP config request is {[] 98f722bb-eth0 98f722bb934e891615d307eb75f1300d78fa379f60781ca190f02ca2ca3f6f60 [123 34 80 111 10 78 97 109 101 34 58 34 114 111 117 116 105 110 103 45 111 114 99 104 101 115 116 114 97 116 111 114 103 97 116 101 119 97 121 45 56 53 57 102 53 53 55 55 98 53 45 120 50 110 54 55 34 44 34 80 111 100 78 97 109 101 115 112 97 99 101 34 58 34 100 101 102 97 117 108 116 34 125[]  false}

What you expected to happen:
There shouldn't be IP starvation at all.
How to reproduce it:
That's a bit hard to describe, sometimes it happens and sometimes it doesn't it seems.
Orchestrator and Version (e.g. Kubernetes, Docker):
K8s version 1.30.3
Operating System (Linux/Windows):
Linux
Kernel (e.g. uanme -a for Linux or $(Get-ItemProperty -Path "C:\windows\system32\hal.dll").VersionInfo.FileVersion for Windows):
Linux version 5.15.0-1071-azure (buildd@lcy02-amd64-063) (gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #80-Ubuntu SMP Tue Aug 6 19:27:32 UTC 2024
Anything else we need to know?:
[Miscellaneous information that will assist in solving the issue.]
Network configuration: Azure CNI Overlay
Pod CIDR: <IP_ADDRESS>/12
Network policy: None

@kipusoep is this a persistent issue or does it resolve itself? Is this cluster using dynamic podsubnet or overlay networking mode? What size/scale is the cluster and workload?
If you see this consistently we want to investigate why - do you have an Azure support case for it?

is this a persistent issue or does it resolve itself?
It resolves itself, but we also had this on our production environment and it took quite some time to resolve, so it's a real PITA.
I think this time it took +/- 2 hours.
Is this cluster using dynamic podsubnet or overlay networking mode?
Not sure? I can only see Azure CNI Overlay for the Network configuration. Where should I look?
What size/scale is the cluster and workload? Which region?
We have 2 nodepools with 5 nodes in total. +/- 180 pods in total. West Europe is the region.
If you see this consistently we want to investigate why - do you have an Azure support case for it?
Yes we see this consistenly on all 4 of our clusters (dev/tst/acc/prd). If something triggers nodes to be recreated at the moment, our production workload is in jeopardy.
I'm afraid I am not able to create an Azure support case...

I think this time it took +/- 2 hours.

that is unexpected, seems like something is indeed wrong. especially at that relatively small scale.

I'm afraid I am not able to create an Azure support case...

we need to be able to identify your cluster to do any investigation, maybe you could email me the cluster FQDN? my full name @microsoft

Thanks Evan, I've sent you an email just now. Can you confirm you received it?

I did

Hey @kipusoep, I had a look through the logs and I don't see anything obviously wrong here. Transient Pod startup delays may occur if Nodes are restarted or the Node pool is scaled frequently as the underlying network is provisioned. This may be worse if the cluster is under-provisioned or overloaded.
Since the Pods do end up with functional networking, this seems unlikely to be an issue in the networking components themselves. Consistently 2h delays would be unexpected, but on the order of minutes is normal.
A change which may resolve this issue for you is already rolling out - the Nodes will stay in NetworkNotReady until they actually have IPs provisioned that are ready to provide to Pods, and then the Node will become Ready for Pod scheduling. Until then no Pods should be scheduled there.
Unfortunately, without a support ticket there's not much more investigation I can do here. The best next steps would be to open an Azure Support request so that the AKS team can take a look and re-involve container networking if necessary.

Hey @rbtr, as mentioned the logs that I provided were not originating from the same situation.
I still need to reproduce the issue and harvest some logs.
Having Nodes waiting to be provisioned with enough IPs would help, but that means new nodes would be unschedulable for 2 hours and that's still unacceptable.
I must admit I'm a bit confused about the way this report goes; first you want to help and now all of a sudden I need an Azure support request.
In any case I will need to provide logs I guess, so I will still go and reproduce the issue, harvest some logs and then come back here. If you still don't see anything out of the ordinary I will move on to our CSP to create a support ticket (but I'd much like to prevent that, as it's a cumbersome process).

I still want to help; I'm telling you what you need to do so that we can continue to help.
This repo is for opensource collaboration on azure-cni and azure-cns, and from what you have provided so far, those components appear to be operating normally. The behavior you're describing is not isolated to these components, it's with AKS as a system.
What you're asking for is production support for your AKS cluster(s). That needs to go through Azure support for several reasons, such as that they will collect logs and data from your environment that I cannot directly access without a real prod support request, try to repro, consolidate all the investigation into a single place, link related reports for tracking, and manage things like communicating impact and an outage to affected users like yourself if this turned out to be a widespread issue.
That's the reason why one of the first things I asked was if you had a support ticket:

...do you have an Azure support case for it?

So I just ran into this again by accident and I was able to fetch the Azure CNS pod log as well.
The log of the pod itself:
rpc error: code = Unknown desc = failed to setup network for sandbox "4ab223aa23a33d10a539a1077f0b3f900a09e75c5659f6464daef6a60d3007bd": plugin type="azure-vnet" failed (add): IPAM Invoker Add failed with error: failed to add ipam invoker: Failed to get IP address from CNS: AllocateIPConfig failed: not enough IPs available for 09265823-4093-4882-8ff7-a0812ef4edb2, waiting on Azure CNS to allocate more with NC Status: , IP config request is {[] 4ab223aa-eth0 4ab223aa23a33d10a539a1077f0b3f900a09e75c5659f6464daef6a60d3007bd [123 34 80 111 100 78 97 109 101 34 58 34 102 114 111 110 116 101 110 100 45 97 110 116 119 101 114 112 101 110 45 53 102 98 52 54 100 102 54 54 53 45 53 108 53 122 55 34 44 34 80 11 100 78 97 109 101 115 112 97 99 101 34 58 34 100 101 102 97 117 108 116 34 125[]  false false []}

And the log from the Azure CNS pod:
2024/10/18 11:37:59 [1] [azure-cnsrequestIPConfigsHandler] Code:FailedToAllocateIpConfig, {DesiredIPAddresses:[] PodInterfaceID:75c0b533-eth0 InfraContainerID:75c0b5330df1417b80d5774cd44d35ad3a322976c235b4551f388dac94e86591 OrchestratorContext:[123 34 80 111 100 78 97 109 101 34 58 34 102 114 111 110 116 101 110 100 45 97 110 116 119 101 114 112 101 110 45 53 102 98 52 54 100 102 54 54 53 45 53 108 53 122 55 34 44 34 80 111 100 78 97 109 101 115 112 97 99 101 34 58 34 100 101 102 97 117 108 116 34 125] Ifname: SecondaryInterfacesExist:false BackendInterfaceExist:false BackendInterfaceMacAddresses:[]}, &{PodIPInfo:[{PodIPConfig:{IPAddress: PrefixLength:0} NetworkContainerPrimaryIPConfig:{IPSubnet:{IPAddress: PrefixLength:0} DNSServers:[] GatewayIPAddress:} HostPrimaryIPInfo:{Gateway: PrimaryIP: Subnet:} NICType: InterfaceName: MacAddress: SkipDefaultRoutes:false Routes:[] PnPID:} {PodIPConfig:{IPAddress: PrefixLength:0} NetworkContainerPrimaryIPConfig:{IPSubnet:{IPAddress: PrefixLength:0} DNSServers:[] GatewayIPAddress:} HostPrimaryIPInfo:{Gateway: PrimaryIP: Subnet:} NICType: InterfaceName: MacAddress: SkipDefaultRoutes:false Routes:[] PnPID:}] Response:{ReturnCode:FailedToAllocateIpConfig Message:AllocateIPConfig failed: not enough IPs available for 09265823-4093-4882-8ff7-a0812ef4edb2, waiting on Azure CNS to allocate more with NC Status: , IP config request is {[] 75c0b533-eth0 75c0b5330df1417b80d5774cd44d35ad3a322976c235b4551f388dac94e86591 [123 34 80 111 100 78 97 109 101 34 58 34 102 114 111 110 116 101 110 100 45 97 110 116 119 101 114 112 101 110 45 53 102 98 52 54 100 102 54 54 53 45 53 108 53 122 55 34 44 34 80 111 100 78 97 109 101 115 112 97 99 101 34 58 34 100 101 102 97 117 108 116 34 125]  false false []}}}.


Need Serializer

Image from lecture slides
Use this general idea for DDR serializer, but make it 8:1 instead of 4:1

Current serializer appears functional:

Unknown whether signals match or not. Needs debugging.


max vmname length set to 15 chars

max vmname length set to 15 chars, to respect the azure limitation for vm-names


make it possible for an installer pod to have extra args

etcd needs to be able to change the static pod on a per node basis.  This makes it possible to register pod mutation functions in both the installer command (to adjust the static pod) and the installer controller (to tell the installer command what to adjust).
@hexfusion @mfojtik @sttts

see usage in https://github.com/openshift/cluster-etcd-operator/pull/8

comments addressed


Update meta yaml to require 0.3.7.

This probably isn't important!

Indeed, the meta.yaml doesn't contain any changes that are 0.3.7 only.


Feature: Delete Color from Token

Make a feature to delete the color of a IOTA-Token

Added in 0.1.2 https://github.com/iotaledger/pollen-wallet/releases/tag/v0.1.2


Please create a release of Baargin on GitHub, so users can run baargin using the command:

Sure ! We will do that once all the PRs will have been merged


bug: broken help file

Did you check docs and existing issues?

[X] I have read all the lazy.nvim docs
[X] I have searched the existing issues of lazy.nvim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
0.10
Operating system/version
linuxmint latest
Describe the bug

Steps To Reproduce
search help file using telescope, open it.
It is wrongly rendered.
I am using lazy.nvim v11.10.4
Expected Behavior
rendered correctly
Repro
No response

looking at recent commit history it seems like the past two days the thing was added and removed like 3 times
idk why exactly, the commits didn't really touch this logic at all

right, docs are built on the docs branch, but my generic ci also builds them on the main branch.
Will fix...

This is now fixed https://github.com/folke/lazy.nvim/actions/runs/9859867908


SidePanel tab is not working in-meeting

Discussed in https://github.com/OfficeDev/Microsoft-Teams-Samples/discussions/175

Originally posted by june-dit October 14, 2021
Manifest has the following settings for the sidePanel tab, but the application icon is not showing on the in-meeting toolbar, so there is no way to show the sidePanel, could you help me to figure out is there anything missing in the configuration or code to make the sidePanel work in-meeting? Thanks.
  "configurableTabs": [
    {
      "configurationUrl": "https://{{PUBLIC_HOSTNAME}}/sidePanelTab/config.html?name={loginHint}&tenant={tid}&group={groupId}&theme={theme}",
      "canUpdateConfiguration": true,
      "scopes": [
        "groupchat"
      ],
      "meetingSurfaces": [
        "sidePanel"
      ],
      "context": [
        "meetingSidePanel"
      ]
    }
  ],
```</div>

@june-dit - Could you please share the Teams SDK version which you are using?

@june-dit - Use version 1.7.0 or higher of Teams SDK, as versions prior to it do not support the side panel.
Please go through below link fore more details.
https://docs.microsoft.com/en-us/microsoftteams/platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings#meeting-sidepanel

We are closing this issue for now, Please feel free to reopen it, if required.


fix: Don't return nil documentation.value

Spec indicates that if documentation is present, then documentation.value should be a string.
https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#markupContentInnerDefinition
See also conversation at https://github.com/Saghen/blink.cmp/pull/562

@PaterJason This seems pretty straightforward. Did you have some concern about it?


Idiomatic monorepo setup

There are some excellent proposals made here by @sam-goodman for how to improve the monorepo setup with separate contracts/ and ui/: https://github.com/o1-labs/o1js/issues/1576#issuecomment-2054190363
Configuring workspaces (probably npm workspaces?) and TS as described in that comment seems like a major improvement over the flow of locally npm-linking subdirectories that we recommend in our docs: https://docs.minaprotocol.com/zkapps/how-to-write-a-zkapp-ui#local-development

npm link is an extra step that is easily missed, and it breaks the usual expectation that everything needed to develop is part of a repo and shared between developers explicitly
It's bad practice to override behavior globally on your machine, as npm link does

Alternative
A different way to approach this would be to move contracts and UI into the same project. Pro: it's simpler. I don't have a good sense of the trade-offs there tbh, should ask existing developers for their preferences

Configuring workspaces (probably npm workspaces?) and TS as described in that comment seems like a major improvement over the flow of locally npm-linking subdirectories that we recommend in our docs: https://docs.minaprotocol.com/zkapps/how-to-write-a-zkapp-ui#local-development

We need to revisit this and probably move away from recommending npm link as the workflow


Add metadata registration macros

start on metadata registration macros
add registration + rountrip tests for json
test w/newtypes
add remaining macros and tests
restrict macro to feature set

Thanks for the comments @MomoLangenstein.  I didn't know about that "magic" overloading.  I'd assumed it wouldn't work.

Of course, always happy to help. I also didn’t actively know about them until very recently. This PR now definitely looks very good to me

I also didn’t actively know about them until very recently.

Neat!  Gonna merge...


Show data summary on landing page using a tree

The server currently has a handy summary of the data held on the server shown in HTML. This is accessed by pointing a web browser at the root URL of your server (http://localhost:8000 if you are running a server on your local machine using the default setup).
This is very useful, but the format is currently a little counter-intuitive. One possibility to allow easier visualisation of the data is to use a JavaScript based tree (or perhaps two: one for the ReferenceSet hierarchy and one for the dataset hierarchy).
Some possibly libraries to use:
http://mbraak.github.io/jqTree/
https://www.jstree.com/
https://github.com/ctech-charlescerecedo/terms-tree-grid
Since we're already using jquery, using another jquery based approach should be fine. The above are just suggestions on where to start.

I think we will solve with by adding the catalog https://github.com/ga4gh/server/issues/1432


Pass by value where appropriate

Makes benchmark script runnable; doesn't pass data in by reference to threads and then destroy it.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/570/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/571/
Test PASSed.


Normalization of embedding

Hi,
Thanks for sharing the code. I am trying out the mnist example here:https://github.com/KaidiXu/auto_LiRPA/blob/319252bbe6c51a60852687418575429caf9205ee/examples/vision/simple_verification.py#L19
and was interested in adding a l2 normalization layer before the linear layer, defined by:
class Normalize(nn.Module):
    def forward(self, x):
        norm = x.norm(p=2, dim=1, keepdim=True)
        x = x.div(norm)
        return x

But I guess this operation is not currently supported since I see an error:NotImplementedError: There are unsupported operations
Could you let me know if there is a way to overcome this?

Hi @akshayv1, please see https://auto-lirpa.readthedocs.io/en/latest/custom_op.html. Let us know if you have further questions. Thanks!

Thanks for providing this support. Could you please add an example (considering ReLU or Leaky ReLU) so that it becomes easier to follow?

Thanks for reaching out! I understand the documentation for adding customized OPs is hard to follow at this time. We will provide an example for a custom operator but it can take some time (our team members are currently busy with a few projects). We should be able to make an example by next month.

I think I can prepare an example recently. It’s a good suggestion to have an example.

Hi @akshayv1 , we have added an example for custom op:
https://auto-lirpa.readthedocs.io/en/latest/custom_op.html
https://github.com/KaidiXu/auto_LiRPA/blob/master/examples/vision/custom_op.py
Please let us know if there is anything unclear. Thanks!


Do not unnecessary clone owned Cow when creating Value from Cow<str>

Cow::to_string takes &self and will clone already owned string, but then original cow will be dropped in From<Cow>::from implementation. This PR takes content out from Cow using into_owned which is no-op for owned Cows.

This is a very reasonable change :) . Thanks for your patch!


Use SAP HANA as the Database for a CAP Java Application

Tutorial URL: https://developers.sap.com/tutorials/cp-cap-java-hana-db.html
I have problems establishing the connection with the HANA database. when performing the "cds deploy --to hana: bookstore-hana" it shows the following error message:

When I try to compile, I also get the same error referring to the JDBC connection:

I have checked if port 443 is wrong:

but I get the same error, changing the port for the one in the image. This recommendation comes from the SAP note https://launchpad.support.sap.com/#/notes/0002501339 without success.
additionally in the configuration of the HANA instance in SAP Cloud Foundry, the configuration must be correct for port 443.

If anyone has any idea how to fix the problem, I really appreciate it.

Hey @locoalien this issue system is for problems with tutorial content itself - I'd definitely recommend you use the SAP Community Q&A (answers.sap.com) to ask about this. Sorry and good luck!

Hey @locoalien this issue system is for problems with tutorial content itself - I'd definitely recommend you use the SAP Community Q&A (answers.sap.com) to ask about this. Sorry and good luck!

Hi @maxstreifeneder
thanks for your answer. I have asked the same question in the sap community, but I have no answer on the solution. I will keep looking for how to fix it.

Thank you very much. 👍

Same issue observed from yesterday.. it was working before.

@kshanth @locoalien let's continue the discussion over there. Have already replied with 2 possible solutions.


running nodejs on embedded systems

I heard mention in the hardware wg that the docs team may be looking for someone to write a tutorial about running nodejs on embedded systems.  is this accurate?  I was looking to help out, but need more information.
thanks

Yep, I think some docs for hardware/robotics would be really helpful. From what the install process is like to introducing libraries one might need for things like gpio, it's all valuable. Just pick something you think a newbie might want to know how to do to get started working with node and robots. :smile:

@Frijol I saw your other issue here--you are @ Technical Machine, right?  Is this something you might be interested in collaborating on?

@Qard I get the feeling most people do not work with node-serialport directly, and instead use Cylon or Johnny-Five.
Is the guide to be more low-level, or more practical?
If the latter, I'd probably have it walk the user through using one or both of the aforementioned packages.  Also, Tessel has its own stuff too, I think.

I think it's probably best to focus on introducing what is available in the ecosystem and link to places where one can learn more about those things. Johnny-five, for example has plenty of documentation already, but lacks visibility to new users. I don't think the goal of the docs WG should be to duplicate community effort but rather to draw attention to it and fill in any gaps, if needed.

@boneskull at Tessel, actually (pedantic distinction)
Definitely interested in getting involved in this process. I've been writing http://tessel.github.io/t2-start/ lately

I'm going to close this as it's been dormant for over two years. Not a judgment or anything, just doing some tidying up. If anyone wants to pursue this, re-open this issue (if GitHub lets you) or leave a comment here. Or even better, open an issue in the main nodejs/node repository where it will get visibility. The docs are all there anyway and the Documentation WG isn't active and was de-chartered. (Hmmm....we need a word that's less harsh than de-chartered. It's expected that WGs will come and go.)


Fix: remove rendering  shadow from framebuffer picker

Please check if the PR fulfills these requirements

[ ] The commit message follows our guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

remove rendering  shadow from framebuffer picker

Codecov Report
Patch and project coverage have no change.

Comparison is base (e691235) 22.19% compared to head (471daed) 22.19%.

:exclamation: Current head 471daed differs from pull request most recent head a4b000b. Consider uploading reports for the commit a4b000b to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #205   +/-   ##
=======================================
  Coverage   22.19%   22.19%
=======================================
  Files          11       11
  Lines         473      473
  Branches       70       70
=======================================
  Hits          105      105
  Misses        364      364
  Partials        4        4

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Document simpler kube-up.sh

Now we just need a simple KUBE_CONTAINER_RUNTIME=containerd environment variable before kube-up.sh.

Apply LGTM based on https://github.com/containerd/cri/pull/1292#pullrequestreview-292126623


modified query expansion ui to match new design

repositioning page elements when query expansion is toggled on / off,
added reduced terms to homepage
tried to ensure new components work with responsive design and
banners, and different states of the homepage.

Codecov Report

Merging #133 into master will decrease coverage by 0.06%.
The diff coverage is 68.96%.

@@            Coverage Diff            @@
##           master    #133      +/-   ##
=========================================
- Coverage   79.67%   79.6%   -0.07%
=========================================
  Files         117     117
  Lines        7782    7802      +20
  Branches     1181    1183       +2
=========================================
+ Hits         6200    6211      +11
- Misses       1582    1591       +9

Impacted Files
Coverage Δ

app/src/app-run.js
86.44% <50%> (-1.28%)
:arrow_down:

app/src/search/search-input-controller.js
72.41% <66.66%> (-1.24%)
:arrow_down:

app/src/filters/filters.js
72.58% <68.42%> (-2.42%)
:arrow_down:

app/src/home/home-controller.js
81.25% <80%> (-0.35%)
:arrow_down:

Continue to review full report at Codecov.

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


Logged in from a new device eMail comes too often ?

Seems this notification is sent even if send from same browser, same device but new session ?

switched notification off for now

This should be enabled on a per user basis

if user wants notification then send
add property to user model