CUDNN_STATUS_BAD_PARAM with included cifar10 model

Environment info
Operating System:
Debian 3.16.7-ckt20-1+deb8u3 (2016-01-17) x86_64 GNU/Linux
Python 2.7
If installed from binary pip package, provide:

Which pip package you installed.
https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.7.1-cp27-none-linux_x86_64.whl
The output from python -c "import tensorflow; print(tensorflow.version)".
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcurand.so locally
0.7.1

Steps to reproduce

Go to /usr/local/lib/python2.7/dist-packages/tensorflow/models/image/cifar10
Run python cifar10_train.py as root
Observe output
F tensorflow/stream_executor/cuda/cuda_dnn.cc:383] could not set cudnn filter descriptor: CUDNN_STATUS_BAD_PARAM
Aborted

What have you tried?

Messing with LD_LIBRARY_PATH and making sure all cuda packages are updated to 7.5 (and CudNN 5.0). Training the simple softmax models on GPU is possible.

Logs or other output that would be helpful
(If logs are large, please upload as attachment).
root@leviathan:/usr/local/lib/python2.7/dist-packages/tensorflow/models/image/cifar10# python cifar10_train.py
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally
... Loads other CUDA libraries as above ...
Filling queue with 20000 CIFAR images before starting to train. This will take a few minutes.
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:900] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_init.cc:102] Found device 0 with properties:
name: Tesla K40c
major: 3 minor: 5 memoryClockRate (GHz) 0.745
pciBusID 0000:01:00.0
Total memory: 11.25GiB
Free memory: 11.15GiB
I tensorflow/core/common_runtime/gpu/gpu_init.cc:126] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_init.cc:136] 0:   Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:717] Creating TensorFlow device (/gpu:0) -> (device: 0, name: Tesla K40c, pci bus id: 0000:01:00.0)
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:51] Creating bin of max chunk size 1.0KiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:51] Creating bin of max chunk size 2.0KiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:51] Creating bin of max chunk size 4.0KiB
... and so on up to 16.00 GB:
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:51] Creating bin of max chunk size 16.00GiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:73] Allocating 10.60GiB bytes.
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:83] GPU 0 memory begins at 0x5047a0000 extends to 0x7aaa4019a
F tensorflow/stream_executor/cuda/cuda_dnn.cc:383] could not set cudnn filter descriptor: CUDNN_STATUS_BAD_PARAM
Aborted

If you are installing the pip package for 0.7.1, check that you are using cudnn r4 (make sure the libraries being loaded are the correct version).

Ah, I am using cudnn r5. Is it not backwards compatible? Another error was preventing me from using r4. Thank you, and I will open another bug if r4 continues to give me trouble!

No, it's not backwards compatible from the pip installation, the APIs are often different.
https://github.com/tensorflow/tensorflow/pull/1794 is a change to allow compiling from source to support cudnn r5.  Since it's RC, we're unlikely to package it in our official PIPs until it is officially released (as they work out bugs), but that commit should add basic support for it.

Alright thanks!

Hello can you tell me what is the right cuda and cudnn version to use? Should I be using cuda 7.0 and cudnn v3 then?

for 0.8.0 pips, cuda 7.5 and cudnn v4.
If you build from sources, you can use anything from cuda 6.5-cuda 7.5 and cudnn v2 - cudnn v5

If you have the error CUDNN_STATUS_BAD_PARAM, make sure that the problem does not come from your code.
For example if you give an empty array as an input. It happened to me and this was the reason.
I'm running v5 with TF built from the sources.

Just to weigh in on @philipperemy  's answer, CUDNN_STATUS_BAD_PARAM can indeed be sort of unrelated to cuda, and hide a "simple" code error. In my case, I was trying to convolute an input with a kernel bigger than the actual input. Code to reproduce :
class _network(nn.Module):
    def __init__(self):
        super(_network, self).__init__()

        self.test_module = nn.Sequential(
            nn.Conv2d(1, int(64 / 2), 4, 2, 1, bias=False),
            nn.LeakyReLU(0.2, inplace=True),
        )

    def forward(self, input):
        output=self.test_module(input)
        return output

input=Variable(torch.zeros(64,1,1,1).cuda())

network=_network()
network=network.cuda()
output=network(input)

This gives the CUDNN_STATUS_BAD_PARAM error with Pytorch 0.3.1 and Python 3.6. Removing the "cuda" from the network and the input yields a much more informative error on what is actually happening :

RuntimeError: Calculated input size: (3 x 3). Kernel size: (4 x 4). Kernel size can't greater than actual input size at /pytorch/torch/lib/THNN/generic/SpatialConvolutionMM.c:46

@Soltius63 thanks for the explanation :)


[Feature Request] OIDC Single Sign On

I would like to see a way to restrict who can login to the UI. Whil I can put an Identity aware proxy in the front I wonder if we could add support for OIDC (optional)

+1

+1

We use Cloudflare Zero Trust tunnel to provide such functionality:

run chatgpt-ui in private network
run cloudflared access ... tunnel revers-proxy near it
configure OIDC Sign-in in Cloudflare Zero Trust console to access it

It is free for under 50 users. Works great.


Is there a better way to obtain all parameter values?

Say I want to compute the L2 loss of a given network, here's what I'm doing now:
vecs = jax.tree_flatten(params)[0]
vecs = jax.tree_map(jnp.ravel, vecs)
vecs = jnp.concatenate(vecs)
loss = jnp.sum(vecs ** 2)

Is there a better way of doing so?
e.g., something like:
loss = jnp.sum(hk.param_values(params))

Hi @uduse , you can implement L2 loss given a params dict (or any jax pytree of arrays) as follows:
def l2_loss(params):
  return 0.5 * sum(jnp.sum(jnp.square(p)) for p in jax.tree_leaves(params))

Typically you want to do this on a subset of parameters (e.g. ignore batch norm params). You can do that with Haiku's filter API before calling this API:
l2_params = hk.data_structures.filter(lambda m, n, v: ('batchnorm' not in m), params)
loss = l2_loss(l2_params)

Our imagenet example uses l2 loss if you want to see this in a full example https://github.com/deepmind/dm-haiku/blob/master/examples/imagenet/train.py.

It's also worth noting that jax has an undocumented function jax.flatten_util.ravel_pytree that is similar to tree_flatten but actually ravels everything into one long array as well.


fix: restore the way of getting ip and port for api server

What type of PR is this?
/kind bug

What does this PR do?

restore the way of getting ip and port for api server
Which issue(s) does this PR fix?

Fixes #
Special notes for your reviewer:

Does this PR introduce a user-facing change?

/lgtm
/approve


[FEAT] Delete Customer API Endpoint

Description
Create an API endpoint to soft delete a customer. This endpoint will handle the soft deletion of customer records by marking them as deleted and ensure proper validation and error handling.
Acceptance Criteria
API Endpoint Implementation:

The endpoint should be accessible at api/v1/customers/{customerId}.
The endpoint should accept HTTP DELETE requests.

Data Validation and Authorization:

The API should validate the customer ID to ensure it exists in the database.
Only authenticated admins should be allowed to delete customer records.

Response:

On success, the API should return a 200 OK status code with a success message.
On failure, the API should return a 400 Bad Request status code if the customer ID is invalid or a 404 Not Found status code if the customer is not found.

Request Example:
DELETE /api/customers/{customerId}
Successful Response:
{
  "message": "Customer deleted successfully",
  "status_code": 200
}

Error Response:
{
  "message": "provide a valid customer ID ",
  "status_code": 400
}

if a valid customer ID provided but no customer with this ID found in the database
{
  "message": "Customer not found ",
  "status_code": 404
}

Purpose
Provides a backend service to delete customer records securely, ensuring only authorized admins can perform this action.
Requirements

Develop server-side logic to handle customer deletion requests.
Validate the customer ID before attempting deletion.
Implement authorization to ensure only admins can delete customers.
Handle success and error responses appropriately.

Expected Outcome
API endpoint allows admins to delete customer records securely, returning appropriate success and error responses.
Status Codes

200: Customer was successfully deleted.
400: Invalid customer ID.
404: Customer not found.
500: A server error occurred.

Testing

Write unit tests to ensure the endpoint validates input correctly and handles deletion.
Perform load testing to ensure the endpoint can handle multiple requests.
Test various scenarios for deleting customers, including invalid IDs and unauthorized access.

@chukssomzzy
i will wok on it but i don't have access on the repo so i couldn't add in progress label

@chukssomzzy
if you have access, could you add it for me please

Do you have nodejs or python dev on your team yet?

@Ahmed_Dabour - FastAPI
@Ashade_Samson - Nest.js

@FreemanBoss
could you label our issue to be in progress

Please sorry just seeing this. Should I still label it?

Yes please @FreemanBoss

Done!


Replicaset failed while using dynamic persistent volume

Using Dynamic Persistent Volume on a replicaset failed. I have two nodes in the cluster. Looks like the scheduler tried to put two replicas in a different node and it failed. What is recommendation here?
Multi-Attach error for volume "pvc-f1abb0d3-3d88-11ea-87d7-c66ae62af630" Volume is already used by pod(s) personapi-deployment-76f87f7d88-tjzlg
Warning  FailedMount         74s (x12 over 26m)  kubelet, aks-linuxpool-32527354-1  Unable to mount volumes for pod "personapi-deployment-76f87f7d88-gldd6_development(afa36837-3d89-11ea-87d7-c66ae62af630)": timeout expired waiting for volumes to attach or mount for pod "development"/"personapi-deployment-76f87f7d88-gldd6".
Deployment YAML below:
apiVersion: apps/v1
kind: Deployment
metadata:
name: personapi-deployment
namespace: development
labels:
app: personapi
spec:
replicas: 3
selector:
matchLabels:
app: personapi
template:
metadata:
labels:
app: personapi
spec:
containers:
- name: personapiv1
image: <xxxxx>.azurecr.io/person:v1
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 250m
memory: 256Mi
volumeMounts:
- mountPath: "/mnt/azure"
name: volume
volumes:
- name: volume
persistentVolumeClaim:
claimName: azure-managed-disk
apiVersion: v1
kind: Service
metadata:
name: personapi-service
namespace: development
spec:
selector:
app: personapi
ports:

protocol: TCP
port: 80
targetPort: 80
type: LoadBalancer

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

ID: d1ac572f-c613-71fc-580a-2805b740b793
Version Independent ID: b4aeef15-7b0f-abc7-872e-28051e10d6ca
Content: Dynamically create and use a persistent volume with Azure disks in Azure Kubernetes Service (AKS)
Content Source: articles/aks/azure-disks-dynamic-pv.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

Persistent Volume can either be Azure Disk and Azure File. I believe in this case you are trying to use a PVC with a Deployment Object.
While this is supported, there is a limitation with the number of replica a deployment object can have. Since Azure Disk is a single POD volume (can only be attached to a single VM / Pod. Running 2 replica will cause the reported issue.
In AKS, the Default Storage Class is configured to provision standard Azure Disk.
When a user wants to leverage Dynamic Persistent Volume Claim, he normally only set the volume Size and let the default storage class do its magic. (in this case , provision an Azure Disk, Attach it to the VM where the POD is running, and mount the disk on the VM)
If multiple replicates are needed with a PVC, a Statefulset should be used instead of a Deployment Object.
ref: https://akomljen.com/kubernetes-persistent-volumes-with-deployment-and-statefulset/

Any update?

We will now close this issue. If there are further questions regarding this matter, please tag me in a comment. I will reopen it and we will gladly continue the discussion.


Nested objects inside of the data attribute on payload

Hi.
Is it possible to send custom payloads inside of the data attribute? For example, nested objects? I am trying to send some nested objects inside of the data attribute and I am getting the following errors:
Message: Invalid JSON payload received. Unknown name "metadata" at 'message.android.data[3].value': Cannot find field.
Thank you.

Hello!
According to Google's spec, it can contain custom payloads, in the sense that the data object can contain whatever keys you want, but the values can only be strings. Hope that helps!

Thank you @vincedevendra !


Increase AM resource percentage to 40% of cluster

Raising this is necessary for a small cluster such as singlenode, where there may be a large number of AM containers compared to total cluster size.

:+1:


Is there a way to inspect body/query params and respond with dynamic data?

Looking through the documentation I can't seem to find anything that would solve this issue so I figured I'd come here for some clarification. My use case is simple.
Given:
fetch('/artifact/:id', { params: { id: 1 } })
where 1 represents an Identifier but can change based on the interaction point, is there a way to setup a fetch mock that would be able to see that query param and respond with different data based on what that is set to.
i.e.
const responseMap = {
  0: 'foo',
  1: 'bar',
  2: 'baz',
};

fetchMock.get('express:/artifact/:id', (url, options) => {
  return responseMap[options.params.id];
});

yields: 'bar'

No there isn't. I would accept a PR to implement it, though I'm not sure what the API should look like. Overloading the options object with a params property feels ok I guess
You could implement something for yourself by using https://github.com/pillarjs/path-to-regexp and applying it to url


Add artists view ld8

Implement Artwork grid in Show View with Infinite Scroll.
Links to LocalDiscovery 8 in Jira

Fails

:no_entry_sign:

No CHANGELOG added.

:no_entry_sign:

[danger-plugin-jest] Could not read test results. Danger cannot pass or fail the build.

Warnings

:warning:

This PR comes from a fork, and won't get JS generated for QA testing this PR inside the Emission Example app.

  Generated by :no_entry_sign: dangerJS

👍  Muy bien


Created Solution of kepler equaiton

The code contains function to calculate the solution of Kepler equation from eccentricity, and mean anomaly
To solve the equation call the function "solve_kepler_equation" with the parameter as
1st: eccentricity
2nd: mean anomaly
Returns: Eccentric anomaly (float)
Created By:
Vivek Patidar
20JE1098
Section A-> C

Section A-> C
Created by:
Vivek Patidar
20JE1098

This was also merged.


Replace deprecated env vars passed to the kubelet-wrapper

This fixes #207.
The following environment variables used by kubelet-wrapper have been
deprecated:

KUBELET_VERSION has been replaced with KUBELET_IMAGE_TAG
KUBELET_ACI has replaced with KUBELET_IMAGE_URL
RKT_OPTS has been replaces with RKT_RUN_ARGS

See https://github.com/coreos/coreos-overlay/blob/build-1220/app-admin/kubelet-wrapper/files/kubelet-wrapper#L29-L39.

ok to test

I signed it!

@pbx0 CLA is signed and this is ready for review. Thanks!

@carolynvs thank you for fixing this!
Would it work for you to hold off on getting this merged until closer to the k8s v1.6.0 release (end of March-ish)? The reason I ask is that I know there are some installations that base decisions off these values - and changing it mid-minor-release might cause some headaches.
I was hoping to get changes like this, and https://github.com/kubernetes-incubator/bootkube/issues/246, wrapped into the bootkube release containting v1.6.0, as that provides a pretty clear upgrade line for existing users.

@carolynvs actually, ignore my previous comment - for some reason I was thinking we were generating the kubelet service file, but this is just updating the hack examples - which shouldn't affect existing users.
Let me run a quick test on this and see if we can get it merged.


How to fix issues.

Bot exited unexpectedly. Restarting in 5 secs
Bot path: /Users/OuBdw/PokemonGo-Bot-Desktop/gofbot
python ./pokecli.py
Python: Traceback (most recent call last):
File "./pokecli.py", line 38, in
from pgoapi.exceptions import NotLoggedInException, ServerSideRequestThrottlingException, ServerBusyOrOfflineException
ImportError: No module named pgoapi.exceptions

from the bot dir run
virtualenv .
source bin/activate
pip install -r requirements.txt

I have the some issue, running pokecli.py its self works for me. I guess the problem is in the desktop version.

#51 give you the solution.. problem is in main.js that set python command on windows system in the pywin dir, overriding the PATH var on windows, that don't have lib and modules installed..
just comment line 174, 175 and 176 on main.js
;)

just comment line 174, 175 and 176 on main.js

var pythonCmd = 'python';
//if (os.platform() == 'win32') {
//  pythonCmd = path.join('C:/', 'pywin', 'python.exe');
//}

https://github.com/PokemonGoF/PokemonGo-Bot-Desktop/issues/138


StyledFirebaseAuth does not render with firebase ^9.8.1

Description
StyledFirebaseAuth renders no visible output when using firebase: ^9.8.1. No errors in console.
The below illustration is from my local dev environment. Not logged in. HTML is output, but not enough to actually construct a UI.

Configuration looks like the following
const uiConfig = {
    signInFlow: 'popup',
    signInOptions: [
        GoogleAuthProvider,
        EmailAuthProvider
    ],
    callbacks: {
        // Avoid redirects after sign-in.
        signInSuccessWithAuthResult: () => false,
    },
}

Have tested firebase auth lib itself and it works as expected for logging users in/out.
I speculate the problem is how StyledFirebaseAuth handles the functional approach of firebase 9+.

same issue here

This issue still happen ?

I managed to get StyledFirebaseAuth working in one project with firebase 9.12.1, firebase-admin 10.0.2, and react-firebaseui 6.0.0. Still, now I have an identical setup in a new project and now the StyledFirebaseAuth does not render anymore. No errors. Seems pretty random, the quality of the Firebase looks pretty low.


The types folder is not flow checked

We have our 'global' type definitions within the src\flow folder, which is references in the [libs] section of .flowconfig.
As a result of this, the typing within these files is not being checked. For example, the AST typing refers to a Byte type which is not defined anywhere:
https://github.com/xtuc/js-webassembly-interpreter/blob/master/src/types/AST.js#L250
You can verify that this is an issue by just randomly deleting type definitions. e.g. if you delete this line:
https://github.com/xtuc/js-webassembly-interpreter/blob/master/src/types/AST.js#L3
the flow checks still pass.
I think there are two potential resolutions:

Does Flow have a setting where you can specify a library definition that flow actually type-checks?
Move these type definitions outside of the [libs] setting - although this probably means that we'd have to explicitly import types each time we use them.

Interesting, I might have ignored the type folder in eslint (can't find it on mobile sorry) because it complains that none of them are used.
Sometimes I notice that when you have a parse error in that file flow fails silently, it's quite annoying.

Interesting, I might have ignored the type folder in eslint (can't find it on mobile sorry) because it complains that none of them are used.

Ah - I hadn't checked the eslint ignore file, you're right, that folder is ignored. I'll see if I can find a fix.
Unfortunately my previous typed-JS experience has all been with TypeScript, which is subtly different in the way that these things are configured!

Ok, so I think that the fix would be to not ignore the folder and add some rules on top of the file, what do you think?
It's my bad, I could have make that experience better from the beginning.

no problem - I'll try to fix this shortly after finishing off data segment / string parser

Fixed by https://github.com/xtuc/webassemblyjs/commit/e4dfc316a682895e326e3ae7f2b9d6f95f311090


Can you add option to calculate strength of given folder? all files inside that folder?

e.g. we give folder path it calculates weight strength of all files so that we can see the overtraining pattern of embeddings
for example I usually save check point every 10 epoch during training so I have a lot of pt files
thank you

@Zyin055 awesome ty
hopefully i am going to show in my upcoming tutorial video

Just based on my experiences. There is no mathematical best number, it's just a tradeoff between flexibility and fit-ness.

Just based on my experiences. There is no mathematical best number, it's just a tradeoff between flexibility and fit-ness.

perhaps if we dont provide folder path and just provide folder argument, it can try the currently located folder. I am just trying to make it easier for people who is going to watch my video :D

I'd have to redo the whole launch arg parsing code, not willing to do it just for that feature.

I'd have to redo the whole launch arg parsing code, not willing to do it just for that feature.

ok it is fine ty so much for this update. i will clearly explain it


Introduce Attachments

Attachments are most requested by the community when Data Collection is demonstrated. This is a high priority feature addition.
https://developers.arcgis.com/ios/latest/swift/sample-code/edit-feature-attachments.htm

Complete.


Grammar correction

"it's" can not be used like this. Changing to "the"
Cheers

I agree, but could I not change it to its'?

In the above example, we got out our fancy die from its' box.

Its is the possessive form of it. Its' is not valid English for historic reasons.

You are correct. I don't know why I kept the apostrophe.


Afoxman/build tweaks

Move away from using a toolchain file on Windows (setting the compiler explicitly isn't a great idea). Push settings into the CI loops and the CMake logic instead.

There's a lot of white-space changes in here, due to the recent changes I made to enable VSCode settings for the project. Specifically, the trim trailing whitespace. These will stop showing up as we touch the various files. Sorry for the noise.


Update cross-encoder model prefix

Closes #6658
Checklist

[x] By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and subject to the Developers Certificate of Origin.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@HenryL27 Could you please review this PR?


validator - add shadow detection

@wfvining and @cwhanse I recommend that we implement shadow detection in https://github.com/pvlib/pvanalytics instead.

I agree

Ok, we can leave this issue open since we would still need SFA wrapper functions of the pvanalytics algorithm. I don't expect this will happen within the DOE funding period, though.


Externalize the extension configuration templates

Building on the overlay-support branch.
There's a lot of work left to do on this but I wanted to get this out early with just one template done to work out the design issues.

[x] default extension template path as per https://github.com/ehazlett/interlock/blob/overlay-support/config/utils.go#L8
[x] externalize all templates
[x] docs

I'm testing by building a Swarm with swarmer and this
docker run -it \
  --name dev \
  --net mynetwork \
  --publish 8080:8080 \
  --volume $(pwd)/config.toml:/bin/config.toml \
  --volume $(pwd)/docs/examples/nginx/nginx.conf.template:/etc/interlock/nginx.conf.template \
  --volume $DOCKER_CERT_PATH:/etc/docker/ \
  --volume `pwd`:/go/src/github.com/ehazlett/interlock \
  golang:1.6-wheezy \
  /bin/bash

cd src/github.com/ehazlett/interlock/
make build
cmd/interlock/interlock -D run

Closes #91

Ya overall this looks like a good direction.  We will have to be careful about error handling as this could blow up more easily as it will be user provided.  Perhaps we should attempt to compile the template early to make sure as a first step.

If the user forgets to include a template, it will fails pretty fast in ~1 sec.
# time cmd/interlock/interlock -D run
INFO[0000] interlock 1.1.0-dev (0b98d62)
DEBU[0000] using tls for communication with docker
DEBU[0000] docker client: url=tcp://<IP_ADDRESS>:3376
DEBU[0000] loading extension: name=nginx
INFO[0000] interlock node: id=0ec19fc84df5f127044efaca2c3b195276bb99711a5c583900589f89d38ab565  ext=lb
DEBU[0000] starting event handling
DEBU[0000] event received: status=interlock-start id=0 type= action=
DEBU[0000] notifying extension: lb
DEBU[0000] triggering reload                             ext=lb
DEBU[0001] reaping key: reload
DEBU[0001] triggering reload from cache                  ext=lb
DEBU[0001] checking to reload                            ext=lb
DEBU[0001] updating load balancers                       ext=lb
DEBU[0001] generating proxy config                       ext=lb
DEBU[0001] proxy config path: /etc/nginx/nginx.conf      ext=lb
DEBU[0001] saving proxy config                           ext=lb
FATA[0001] open /etc/interlock/nginx.conf.template: no such file or directory  ext=nginx

real	0m1.075s
user	0m0.020s
sys	0m0.050s

Is that fast enough or should I add a check early on in run.go?
I'll also put a couple of log messages in there before the FATAL on how to remediate the problem.
log().Infof("Missing nginx configuration template: template=%s", p.cfg.TemplatePath)
log().Infof("Examples of an nginx configuration template: url=https://github.com/ehazlett/interlock/tree/master/docs/examples/nginx")

ya that should be good

This is ready for final review. FWIW, tests are passing locally.

FWIW, I've got an image out there for testing this etoews/interlock:templates and here are some example files for working with it.

Ignore the "Experimental multi-interlock config" commits. When #110 merges, I'll rebase the externalized templates commits onto master and PR directly to master. The multi-interlock config will be another PR.

Thanks!  I'll get some time to check this out.

@ehazlett I'm going to squash and rebase this on master and give you a clean look at it.

Superseded by https://github.com/ehazlett/interlock/pull/113


add resource setting for kubeRbacProxy

same as https://github.com/SumoLogic/tailing-sidecar/issues/544, the kubeRbacProxy container also need resources setting.

@sumo-drosiek Can we have a release for this feature?


All assertions should poll until timeout

Is your feature request related to a problem? Please describe.
95 times out of 100 , direct assert is not good choice in UI testing.
Describe the solution you'd like

Get text  h1  equals   Expected text should poll, the library default timeout, that h1 element text equals to Expected text.
Keyword should pass if text is found withing timeout from the element
Keyword should fail if text is not found withing timeout.

Describe alternatives you've considered
Creating separate polling / waiting functionalities.

First version is now there for discussion and experimentation after commit https://github.com/MarketSquare/robotframework-browser/commit/86e18c7f154b011ce79f9aec0278157c8b8138c9

Done this


ASP.NET Core 3 Preview 8 - swagger.json 404

ConfigureServices:
services.AddControllers();

services.AddSwaggerGen(c =>
{
    c.SwaggerDoc("", new Microsoft.OpenApi.Models.OpenApiInfo
    {
        Title = "My API",
        Version = "v1"
    });
});

Configure:
if (env.IsDevelopment())
{
    app.UseDeveloperExceptionPage();
}

app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();

app.UseSwagger();

// Adds swagger UI
app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});

app.UseEndpoints(endpoints =>
{
    endpoints.MapControllers();
});

Swashbuckle version: 5.0.0-rc2
Problem: https://localhost:44392/swagger/v1/swagger.json returns a 404 and the UI says Fetch error undefined /swagger/v1/swagger.json.
Am I doing something wrong?

I'm ashamed... The problem was the empty name in c.SwaggerDoc. Weird that it doesn't give any errors :/

Well... I may be more ashamed than you as my problem was not to map the controllers... so thanks anyway as I could fix my error by seeing your code.
Code missing:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});


when this link will be updated in the package?

when  i try to compile contracts it showing this error.
Downloading zksolc 1.2.0
Error in plugin @matterlabs/hardhat-zksync-solc: Failed to download https://github.com/matter-labs/zksolc-bin/raw/main/win32-amd64/zksolc-win32-amd64-v1.2.0 - 404 received.
that link pointing to the last commit.

same issue...

Same..

we've updated the protocol so devs should use zksolc version 1.3.x. Version 1.3.8 is the latest available currently. In addition, please update @matterlabs/hardhat-zksync-solc to the latest version (currently 0.3.16)

Windows support was just added after 1.2.0, so older versions were never released.


handle UTF-8 properly in the BPE tokenizer

I believe there're something wrong with handling utf-8 in the BPE tokenizer. I've met several times about utf-8 errors during text generation, but i'm not sure how to reproduce this error.
I suppose that we can find out what's wrong after get a deep understanding about the BPE algorithm from https://github.com/karpathy/minbpe

Oh, I can reproduce it. I'll double-check.

Isn't it possible to be caused by invalid UTF8 string?


Add version labels to OpenJ9 overrides file

This way, the versions for x86_64 and s390x images might move independently

@ryanemerson while working on building DG 8.0.1 images for IBM Z/s390x, IBM PEs found this issue about tags colliding, the same we found before for Intel images.
By making versioning independent for every architecture, we can get around that.
This version (GA.1) was built by IBM PEs and will go through QE now, so I think it's a good candidate for introducing the change.
Thank you!


Create a test page to generate links for testing

@vldkh here is the HTML website for testing the vendor SDK, https://app.zenhub.com/files/166818382/ba8fb443-e865-460f-b7f0-e0eb124fe731/download


Rotate an image 90 degrees with mode=false cuts left part

Expected Behavior
If I rotate the follow image 90 degrees with the follow code, I expect the image is rotated and not cut if I set the mode param to false
Example image:

Example code:
const Jimp = require("jimp");

(async () => {
    const example_image = await Jimp.read(__dirname + "/example.png");

    example_image.rotate(90, false);

    await example_image.write(__dirname + "/example_rotated_result.png");
})();

Expect result image:

Current Behavior
The current behavior is, that the image is rotated like expected but is moved 1px to left, means the first left part is cut and there's a transparent part at right
Wrong result image:

Failure Information (for bugs)
If I use an old version it works like expected.
The last working version is v0.5.6 - this bug seems to occur since v0.6.0
Correct result image:

I suspect the changes in https://github.com/oliver-moran/jimp/pull/708
Steps to Reproduce
See above code
Screenshots
See above images
Context

Jimp Version: 0.8.6-canary.815.502.0 (0.8.5 generally does not work because an other bug https://github.com/oliver-moran/jimp/issues/797)
Operating System: Linux Mint 19.2
Node version: 12.13.0

Failure Logs
No error logs occurs

May it's the same bug like https://github.com/oliver-moran/jimp/issues/721

I had fixed this for me with https://github.com/oliver-moran/jimp/issues/721#issuecomment-633270838


How to switch between GPU and CPU?

In the previous caffe implementation, the GPU/CPU switching is controlled by SyncedMemory class.
How can I achieve this in caffe2?  Should I specify the functions,  such as cudaMemcpy, in our new opertor?
I noticed that in softmax_op.cu file, this is achieved by the following function:
cudaMemcpyAsync(
&total_weight,
total_weight_ptr_.data(),
sizeof(float),
cudaMemcpyDeviceToHost,
context_.cuda_stream());
}
Is there any easier way to do this without worrying about device exchange? The function cudaMemcpyAsync is not easy to use compared to mutable_cpu_data or mutable_gpu_data functions in previous version caffe.

I also want to know that

Good question. Maybe is there any tutorial about right way how do it in caffe2?


enable to pass port number as argument

I appreciate your great project.
Because I want to store data to PostgreSQL running by docker, I added port number as optional argument.
Thank you for your consideration.

Welcome to football.db.   Thanks for adding the database server --port option. Keep it up. Cheers. Prost.


bug: Issues with using ESLint.

Neovim version (nvim -v)
NVIM v0.10.2 Build type: Release LuaJIT 2.1.1731601260
Operating system/version
macOS Sequoia 15.1.1 (24B91)
Read debugging tips

[X] I have read through the debugging tips.

Add the debug logs

[X] I have set log_level = vim.log.levels.DEBUG and pasted the log contents below.

Log file
Log file: /Users/user_name.local/state/LazyVim/conform.log
2024-12-30 10:36:25[WARN] Formatters unavailable for /Users/user_name/Projects/application/core/web/src/app/modules/billing/subscription/details/details.component.ts
2024-12-30 10:36:27[WARN] Formatters unavailable for /Users/user_name/Projects/application/core/web/src/app/modules/billing/subscription/details/details.component.ts
2024-12-30 10:36:27[WARN] Formatters unavailable for /Users/user_name/Projects/application/core/web/src/app/modules/billing/subscription/details/details.component.ts
2024-12-30 10:40:24[WARN] Formatters unavailable for /Users/user_name/.config/LazyVim/lua/plugins/conform.lua
2024-12-30 10:45:47[WARN] Formatters unavailable for /Users/user_name/Projects/application/core/web/src/app/modules/billing/subscription/details/details.component.ts
2024-12-30 10:45:47[WARN] Formatters unavailable for /Users/user_name/Projects/application/core/web/src/app/modules/billing/subscription/details/details.component.ts
Formatters for this buffer:
LSP: eslint, vtsls, null-ls
eslint error: Unknown formatter. Formatter config missing or incomplete
prettier ready (html, typescript) /Users/user_name/Projects/application/core/node_modules/.bin/prettier
Other formatters:
fish_indent unavailable: Command not found
shfmt ready (sh) /Users/user_name/.local/share/LazyVim/mason/bin/shfmt
stylua ready (lua) /Users/user_name/.local/share/LazyVim/mason/bin/stylua
Describe the bug
There is an issue with Conform and ESLint. The language server works correctly, validating errors, etc., but when I add it to Conform as a formatter, it doesn’t work and throws an error.
ESLint is installed both locally and globally.
I checked its presence in node_modules.
It was installed via LazyExtras.
Installed the latest, clean LazyVim package
What is the severity of this bug?
breaking (some functionality is broken)
Steps To Reproduce

Install a clean LazyVim package
Install a clean Angular project
Install all necessary dependency
Setup eslint as a formatter in conform config

Expected Behavior
You can use ESLint for formatting with Conform
Minimal example file
No response
Minimal init.lua
-- bootstrap lazy.nvim, LazyVim and your plugins
require("config.lazy")

Additional context
No response

eslint error: Unknown formatter. Formatter config missing or incomplete

This is supposed to happen when a formatter fails to initialize for some reason.

Setup eslint as a formatter in conform config

Can you share your whole eslint formatter setup please?

Completely clean installation of the LazyVim package with LazyExtras linting.eslint enabled.
I want to confirm that ESLint linting works correctly.


Feature: Quickly view the head or tail of the selected file

Quickly view the head or tail of the selected file, it's helpful to confirm if the file is deletable.
Suggestion:
The key h mapping for quickly view the head of the selected file.
The key t mapping for quickly view the tail of the selected file.

There is already possibility to show contents of a file with the v key binding. When opened, you can scroll to the end of file using G or ctrl+end. Is it usable for you?

Sorry for don't notice the v key binding to view file content.


OpenSSL handshake error 40 when updating..

Configured and setup worker / when updating from Unifi I get the following:
Host and IP obscured.

root@WCDream-Wall:~# inadyn -n -1 --force -f /run/ddns-eth18-inadyn.conf
inadyn[489163]: In-a-dyn version 2.9.1 -- Dynamic DNS update client.
inadyn[489163]: Update forced for alias dynamic.fakedomain.net, new IP# 4#.19#.13#.2##
inadyn[489163]: OpenSSL error:<PHONE_NUMBER>60:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../ssl/record/rec_layer_s3.c:1562:SSL alert number 40
root@WCDream-Wall:~#

Seeing the same here, just provisioned a brand new UCG-Ultra:
root@Cloud-Gateway-Ultra:~# inadyn -n -1 --force -f /run/ddns-eth4-inadyn.conf
inadyn[64329]: In-a-dyn version 2.12.0 -- Dynamic DNS update client.
inadyn[64329]: Update forced for alias test.domain.name, new IP# <IP_ADDRESS>
inadyn[64329]: OpenSSL error:<PHONE_NUMBER>36:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../ssl/record/rec_layer_s3.c:1562:SSL alert number 40
root@Cloud-Gateway-Ultra:~#

After the update I'm getting this:
root@GatewayVIE:~# inadyn -n -1 --force -f /run/ddns-eth4-inadyn.conf
inadyn[647553]: In-a-dyn version 2.12.0 -- Dynamic DNS update client.
inadyn[647553]: Update forced for alias gateway.domain.com, new IP# <IP_ADDRESS>
inadyn[647553]: Fatal error in DDNS server response: DDNS server response not OK
inadyn[647553]: Error response from DDNS server, exiting!
inadyn[647553]: Error code 48: DDNS server response not OK

Are you omitting https://from the server field?

After removing the "Worker Scripts" entry from the API token it looks better but not entirely good:
inadyn[977673]: Successfully sent HTTPS request!
inadyn[977673]: Successfully received HTTPS response (784/8191 bytes)!
inadyn[977673]: DDNS server response: HTTP/1.1 200 OK
Date: Mon, 30 Dec 2024 16:09:36 GMT
Content-Length: 0
Connection: close
Cf-Placement: local-VIE
Report-To: {"endpoints":[{"url":"REDACTED"}],"group":"cf-nel","max_age":604800}
NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Server: cloudflare
CF-RAY: 8fa34b823e28c30a-VIE
alt-svc: h3=":443"; ma=86400
server-timing: cfL4;desc="?proto=TCP&rtt=9967&min_rtt=9367&rtt_var=3569&sent=5&recv=7&lost=0&retrans=0&sent_bytes=2859&recv_bytes=730&delivery_rate=224565&cwnd=247&unsent_bytes=0&cid=3b39e96b37c4a834&ts=2824&x=0"

inadyn[977673]: Fatal error in DDNS server response: DDNS server response not OK
inadyn[977673]:
inadyn[977673]: Error response from DDNS server, exiting!
inadyn[977673]: Error code 48: DDNS server response not OK

So it looks like the response code is 200 OK but the content length is 0. Probably inadyn expects a content.

Running into the same error response. IP address updates in the record in Cloudflare. Shows in inadyn output as an error despite being successful
root@Peacock:~# inadyn -n -1 --force -f /run/ddns-eth8-inadyn.conf --loglevel=debug
inadyn[2938759]: In-a-dyn version 2.12.0 -- Dynamic DNS update client.
inadyn[2938759]: Resolving hostname xxx.works => IP# 96.xxx.xxx.xxx
inadyn[2938759]: Get address for custom
inadyn[2938759]: Checking for IP# change, querying interface eth8
inadyn[2938759]: Checking IPv4 address 96.xxx.xxx.xxx ...
inadyn[2938759]: IPv4 address 96.xxx.xxx.xxx is valid.
inadyn[2938759]: IPv6 address disallowed, enable with 'allow-ipv6 = true'
inadyn[2938759]: Invalid/local address fe80::xxxxxxxxxxxxx for eth8, skipping ...
inadyn[2938759]: Checking IPv4 address 96.xxx.xxx.xxx ...
inadyn[2938759]: IPv4 address 96.xxx.xxx.xxx is valid.
inadyn[2938759]: No IP# change detected for custom, still at 96.xxx.xxx.xxx
inadyn[2938759]: Update forced for alias xxx.works, new IP# 96.xxx.xxx.xxx
inadyn[2938759]: Sending IP# update to DDNS server, connecting to unifi-cloudflare-ddns.xxx-yyy.workers.dev([<IP_ADDRESS>]:443)
inadyn[2938759]: Sending IP# update to DDNS server, initiating HTTPS ...
inadyn[2938759]: SSL connection using TLS_AES_256_GCM_SHA384
inadyn[2938759]: Certificate OK
inadyn[2938759]: SSL server cert subject: /CN=xxx.workers.dev
inadyn[2938759]: SSL server cert issuer: /C=US/O=Google Trust Services/CN=WE1
inadyn[2938759]: Sending alias table update to DDNS server: GET /update?ip=96.xxx.xxx.xxx&hostname=xxx.works HTTP/1.0
Host: unifi-cloudflare-ddns.xxx-yyy.workers.dev
Authorization: Basic a29jaC50aGVvcnlAZ21haWwuY29tOnBsSVdWeUI1X2ZTV1BRUFBPRDd0VmtuVjdCWTZQbEFvRUhHWUVwUHU=
User-Agent: inadyn/2.12.0 https://github.com/troglobit/inadyn/issues
inadyn[2938759]: Successfully sent HTTPS request!
inadyn[2938759]: Successfully received HTTPS response (779/8191 bytes)!
inadyn[2938759]: DDNS server response: HTTP/1.1 200 OK
Date: Mon, 30 Dec 2024 16:22:31 GMT
Content-Length: 0
Connection: close
Cf-Placement: local-EWR
Report-To: {"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=dwVrjtIOm41gU%2FULTB1etTFIQD94tWkUfzoQ%2BKctnttpP3udqbRl9h5fZSwKPzdYAkmG4hhlftNtk2jeKNheA3S9NmzfYaEOmMZbTwP88EtEa4%2FEh2c1yX4au0cEzWFhOOdi63US4QJHZ9FX%2FyOvzwI23rRoEovIBoq0bBbm4f8%3D"}],"group":"cf-nel","max_age":604800}
NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Server: cloudflare
CF-RAY: 8fa35e7ac87e43ac-EWR
alt-svc: h3=":443"; ma=86400
server-timing: cfL4;desc="?proto=TCP&rtt=6742&min_rtt=6736&rtt_var=2530&sent=5&recv=6&lost=0&retrans=0&sent_bytes=2860&recv_bytes=731&delivery_rate=429928&cwnd=242&unsent_bytes=0&cid=38f7dcef1f159c0a&ts=929&x=0"
inadyn[2938759]: Fatal error in DDNS server response: DDNS server response not OK
inadyn[2938759]:
inadyn[2938759]: Error response from DDNS server, exiting!
inadyn[2938759]: Error code 48: DDNS server response not OK

Are you omitting https://from the server field?
Yes, I do.

But I think I found the underlying root cause already with applied --loglevel=debug:
More than one zone was found! You must supply an API Token scoped to a single zone.
However the API token is already restricted to a single DNS zone (plus Account -> Worker Scripts -> Edit). Not sure if latter is needed.

Are you using a User API Token or an Account API Token? Only the User API Token is supported

Are you using a User API Token or an Account API Token? Only the User API Token is supported

Yes, it's a user API token; not a global API key.
But removing the account worker scripts permissions made it a step further (see https://github.com/willswire/unifi-ddns/issues/75#issuecomment-2565672596).
But inadyn is still not satisfied with the response...

Yeah that’s weird @mike2307. Let’s try adding some content to the response and see if that helps.

@mike2307 can you try deploying the 75-openssl-handshake-error-40-when-updating branch, which includes content in the HTTP 200 success response?

@mike2307 can you try deploying the 75-openssl-handshake-error-40-when-updating branch, which includes content in the HTTP 200 success response?

Yes! This results in a success. :+1:

Great! Merging the PR and closing this issue


AllowedCorsOrigins gets an error

In the client debug log,
No 'Access-Control-Allow-Origin' header
The code below will fail with an error
CorsPolicyService.cs
var origins = await _documentSession.Query()
.SelectMany(x => x.AllowedCorsOrigins.Select(y => y.Origin))
.ToListAsync().ConfigureAwait(false);
AllowedCorsOrigins is now recognized by modifying it as follows.
SelectMany(x => x.AllowedCorsOrigins).Select(y => y.Origin)
Error Sto

Thank you for identifying the issue , I have fixed it and a test for verification.

version 2.0.5 pushed to nuget


[FEAT]: Allow default users to upload documents

What would you like to see?
is there a way i can allow default users to upload documents?

Currently, that is not permitted under the default role but will be handled via:
https://github.com/Mintplex-Labs/anything-llm/issues/840
https://github.com/Mintplex-Labs/anything-llm/issues/797
https://github.com/Mintplex-Labs/anything-llm/issues/727
https://github.com/Mintplex-Labs/anything-llm/issues/587


"Golden file" testing pattern

Moving from hard-wired file expectations to stdlib-style golden file testdata directory

This PR is not yet ready for merging.  I just wanted to get one test modified to get feedback on the pattern before I do the rest.  Comments and suggestions welcome.

Closing out due to integration test issues


Add defaults when loading api cache, and remove them when saving

Could you take a look if this makes sense? It seems to work for me.
It cuts the size of the API info from 31M to 11M and compressed size from 2.6M to 2.0M (1.2M of the compressed size is sources of our packages).
In future we could use the same scheme for cached API info in indexdb.

@mmoskal this broke the monaco toolbox; I think it's removing all of the snippets

Whoops, didn't realize it was also used for monaco.

Hmmm... I don't see snippets coming in:
[16:00 pxt-32]$ grep snippet temp/api-cache.json |uniq -c
   3339      "snippet": null,
      1       "snippet": "img` `",
   2995      "snippet": null,
[16:00 pxt-32]$

I did this change to make sure I don't compress api-info.json:
diff --git a/cli/cli.ts b/cli/cli.ts
index 36eba0c54..6444b7c36 100644
--- a/cli/cli.ts
+++ b/cli/cli.ts
@@ -2081,8 +2081,8 @@ function buildTargetCoreAsync(options: BuildTargetOptions = {}) {
                 });
             }

+            nodeutil.writeFileSync(apiInfoPath, JSON.stringify(builtInfo, null, 1));
             cfg.apiInfo = compressApiInfo(builtInfo);
-            nodeutil.writeFileSync(apiInfoPath, JSON.stringify(cfg.apiInfo));

             let info = travisInfo()
             cfg.versions = {

Hm, a handful more weird bugs that all seem to stem from this change:
Kinds in arcade not showing up, and events with the fake variable draggable params broken: https://github.com/microsoft/pxt-arcade/issues/1457
fixed instance missing for optional params, and not all fixed instances showing up in dropdowns (at a glance I think it's missing the subclasses e.g. effects like StarField don't seem to be in the list anymore, even though they extend ParticleEffects): https://github.com/microsoft/pxt-arcade/issues/1455
and https://github.com/microsoft/pxt-arcade/issues/1456 (which is the bug I found yesterday / richard reported here just above)

I have a PR coming later today


Flushable throttle that does not fire until there is a pause in incoming events?

I'd like to wait to send some requests until the user is done with input, or at least pauses.  I'm trying something like the below, but the code never gets past a certain point. It works fine if I use takeEvery instead of takeLatest. What am I overlooking here? Any advice would be greatly appreciated!
(PS, I am of course yielding the activeTasks somewhere not shown in this bit of code)
const activeTasks = all([
  throttleUntilLast(5000, 1000, types.UPDATE_A_VALUE, updateValues),
])

function* flushableThrottle({ ms, leadingDelay, pattern, task }, ...args) {
  try {
    yield delay(leadingDelay);
    const throttleChannel = yield actionChannel(pattern, buffers.sliding(1));
    while (true) {
      const action = yield take(throttleChannel); // THIS IS THE LAST LINE EXECUTED
      yield fork(task, ...args, action); // NEVER MAKES IT TO HERE
      yield race({
        flush: take([types.PREPARE_TO_QUIT, types.FORCE_UPDATE]),
        wait: delay(ms)
      });
    }
  } catch (err) {
    log.error(err);
  }
}

function* throttleUntilLast(ms, leadingDelay, pattern, task, ...args) {
  try {
    const params = { ms, leadingDelay, pattern, task };
    yield takeLatest(pattern, flushableThrottle, params, ...args );
  } catch (err) {
    log.error(err);
  }
}

function* updateValues(args) {
  log.warn("Flushing buffer");
}

Mysteriously after stepping away from my code for several minutes, I saw it was then making it to updateValues(), but never hitting log.warn("Flushinjg buffer");
I have since been unable to reproduce this, which makes it even more baffling to me.

Nesting throttle inside takeLatest looks generally like a not good idea - especially without cleaning the inner channel on cancellation. Could u describe ur desired behaviour in more detail? I cant decipher it quickly from given code.

Yeah sure. Thanks @Andarist.
Basically what I'm trying to have a background sync operation like in the example where you laid out the code for the throttle with a flushable buffer, but I also want to wait until a user has stopped adding input to their local document before syncing it to the cloud for the sake of not overloading the server with a new updates.
For example, if someone types for 30 seconds straight, I'd like to wait until their is a lull in the input to allow the task to proceed. What I tried to do above was to add a leading delay to the task so that it would have a chance to be canceled if newer input occurred.
I'd also like to keep the throttle for flexibility, as there might be times that it makes sense to have both, although in most cases the throttle is not strictly necessary here.
Does that make sense? I feel my explanation could be more clear, but I'm not sure how to make it so.

@Slapbox
//  LINE-1:
const action = yield take(throttleChannel); // THIS IS THE LAST LINE EXECUTED

// LINE-2:
yield takeLatest(pattern, flushableThrottle, params, ...args );

I think the problem in your code is that when LINE-1 get executed,  takeLatest on LINE-2 can take the same action. takeLatest will cancel the existing flushableThrottle instance so the iterator jumps out after LINE-1 gets executed.

Basically what I'm trying to have a background sync operation like in the example where you laid out the code for the throttle with a flushable buffer, but I also want to wait until a user has stopped adding input to their local document before syncing it to the cloud for the sake of not overloading the server with a new updates.

I suspect what you need is  debounce rather than throttle (though they are very similar).  debounce helper is implemented in master branch now, however it is not available in 1.0.0-beta.1, so you need to implement it manually.
The code of debounce is as follows, you can edit the code according to your requirements.
export function debounce(ms, channelOrPattern, worker, ...args) {
  return fork(function*() {
    while (true) {
      let action = yield take(channelOrPattern)
      while (true) {
        const { nextAction, timeout } = yield race({
          nextAction: take(channelOrPattern),
          timeout: delay(ms),
        })
        if (timeout) {
          yield fork(worker, ...args, action)
          break
        } else {
          action = nextAction
        }
      }
    }
  })
}

I also think that debounce is what u are looking for. Going to close this as solved, feel free to open a new issue though.

Sounds good to me. @shinima and @Andarist thank you both very much for your help. I'm going to play with this.
Not that it's required given the code above, but is there a timeline for a redux-saga release with debounce?
Thanks again to you both.

Not sure, we'll try to cut a new release in following weeks.


Update all dependencies for the sequencing-server

There is a security alert for the sequencing-server. We should just do a pass over all the dependencies and update them to the latest versions.

It looks like we're using<EMAIL_ADDRESS>which requires<EMAIL_ADDRESS>and the fixed version is 6.9.7. There isn't a newer beta release but I can keep my eye out for a release that fixes this.
I'll still update the other dependencies though!

As a reference, this async error handling behavior is why we decided to push to express 5 while it's still in beta.


Priority should be given to local refs

This merge request introduces an "overwrite" parameter to the update method of the OdxLinkDatabase class. This parameter, set to False for imported references, allows local references to take priority over imported ones.
In diaglayer. _resolve_odxlinks, the overwrite=False setting ensures that imported references do not override locally defined references.
odxtools version: 8.0.5

@andlaus can I proceed to merge the changes if you approve them? The fix is highly needed.

No need, I'll merge this. thanks for the catch :)


[minor][test] switch from 2.4.1 to 2.4.2 in HiveExternalCatalogVersionsSuite

What changes were proposed in this pull request?
update HiveExternalCatalogVersionsSuite to test 2.4.2, as 2.4.1 will be removed from Mirror Network soon.
How was this patch tested?
N/A

cc @srowen @dongjoon-hyun

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/10187/
Test PASSed.

Test build #104880 has started for PR 24452 at commit 28ba064.

Test build #104880 has finished for PR 24452 at commit 28ba064.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

thanks, merging to master/2.4!

Sorry for missing your ping here, @cloud-fan . Late LGTM~


foundation 6 support

rails gem foundation-rails <IP_ADDRESS> is out.
foundation 6 support would be great

What has changed? Do we need to change the rails_layout gem? I haven't investigated the differences as I am not using Foundation.

at a first look main changes are in top-bar
here is a top-bar recreation with foundation 6

Seems Zurb has not yet released a migration guide or upgrade instructions for Foundation 5 to 6. See:
https://github.com/zurb/foundation-sites/issues/7246
If anyone has figured out what we need to support Foundation 6, please let me know.


python37 install fails: Missing dependency 'mpdecimal'

Script throws an error on 2.5.1 Missing dependency 'mpdecimal'
package python37 is already installed, forced install
pkg: Missing dependency 'mpdecimal'

Failed to install the following 1 package(s): https://pkg.freebsd.org/FreeBSD:12:amd64/latest/All/python37-3.7.10_1.txz

I am stuck not finding any of the unifi devices on my network (pfsense --> poe lite 16 --> ap a6 lite) - however my gut tells me that this is not related...

Fix in new install 2.6.26


Curb Presets with type dropdown

Right now, the curb presets are split is very specific small presets.
I suggest to add the "type" to the preset, so I can easily switch from one preset to the other.
AFAIK once I switch the type, iD will automatically change the preset.
So its just a shortcut to going back to the search and selecting a different kerb.
Also, the preset only has two fields, so adding the kerb=* type would not make it too complex.
I found for myself: I select the first one from the search results and only then remember to check if there is one that fits better.

Off topic (but I did not want to open another issue): Could the search results be improved? I see 44 results for "kerb" and "curb" which include quite a lot that are not curbs. Should I create another ticket for this?

@tordans Sounds good. I generally like to hide fields with untranslated tags where possible, but I agree in this case it's convenient to be able to switch curb types quickly.
Search can always be improved 😅. In this case I'm fine the results since the top five are indeed the most relevant.


Preparing Release 0.9.0

Increase version numbers
Extend documentation on how to use the library in client- and server-side projects
Credit the people who's PR were merged

Seeing as release 1.0.1 (including nuget-package) is out, I'm closing this issue.


Feature Request: TMDB integration

Description
I kindly request the integration of your addon with TMDB, a widely-used movie and TV show information database. This integration would serve to automate the process of finding artwork for dramas and improve the naming accuracy by fetching data from TMDB. Furthermore, it would provide additional valuable information such as ratings, plot details, and cast information.
Benefits of Integration

Artwork
Naming
Ratings
Additional Information

Artwork: TMDB can automatically retrieve high-quality artwork, enriching the visual experience for users.
Naming: Integrating with TMDB would enable your addon to fetch accurate naming information for dramas.
Ratings: Displaying ratings from TMDB can assist users in quickly assessing the quality and popularity of each drama. This information would be valuable in helping users make informed decisions about what to watch next.
Additional Information: By fetching plot summaries and cast details from TMDB, your addon can provide users with comprehensive information about each drama. Additionally, it would be incredibly useful to link the cast members with Dramacool's popular stars, allowing users to explore related content more efficiently.
Conclusion
I believe that implementing this integration will significantly enhance the usability and convenience of your addon. It would streamline the process of finding and organizing dramas, providing users with a more immersive and satisfying experience.
Thank you for considering this feature request. I appreciate your dedication to improving the addon and your responsiveness to user feedback. I look forward to seeing the continued growth and success of your project.
This is my setup now (Okay artwork & Bad Titles):

Hi, thanks for the proposal. I just have a few questions regarding it.

Do you know if there exist any addon or library that can be used for fetching these information?
Also, do you know if there is any restrictions to their API?

Do you know if there exist any addon or library that can be used for fetching these information?

Maybe TMDB Helper  could fetch the information for your addon.

Also, do you know if there is any restrictions to their API?
They rate limit somewhere in 50 requests per second range.  . I don't think there's much restrictions.

Also, I found a really cool and useful website  like TMDB but for Asian Dramas! You could scrape their top airing/upcoming/popular shows for aesthetics and link them automatically by their name with dramacool contents.

I'm sorry, I've never developed a Kodi addon in my life, I'm sorry I couldn't help you much as I wanted to. But I'm sure you can do it!

Might be easier to create a player.json for jurialmunkey's TMDB-Helper which would pull TMDB meta data, then search for the video with the dramacool add-on. The only issue would be unique Asian titles that haven't been added to the database at themoviedb.org. I can host a player I just don't know how to code it. https://github.com/mrgsi/tmdbh.players/tree/master

Anybody knows how to install it on kodi Nexus 20.2 ? Please reply

https://github.com/groggyegg/groggyegg.github.io/blob/master/README.md

Anybody knows how to install it on kodi Nexus 20.2 ? Please reply

https://github.com/groggyegg/groggyegg.github.io/blob/master/README.md

The Lime repository(zip) is installing correctly. But when i click install from repository and then click lime addon it gives me error

What is the error? I just tried it myself and it installed with no issues on Kodi 20.2. I'm thinking you could have a dependency failing. That isn't uncommon when installing a new add-on. If that is the case you can manually install the dependency by going to the add-on and clicking dependencies to find it on the list. Once that is installed you can go back and install the add-on. It should tell you in the error messages. I know error messages flash really quick.

What is the error? I just tried it myself and it installed with no issues on Kodi 20.2. I'm thinking you could have a dependency failing. That isn't uncommon when installing a new add-on. If that is the case you can manually install the dependency by going to the add-on and clicking dependencies to find it on the list. Once that is installed you can go back and install the add-on. It should tell you in the error messages. I know error messages flash really quick.

This kind of error is showing

Summary:
In order for this to work

Implement TMDB API request
Store TMDB data for known dramas in db
Replace dramacool data
Context menu for manually updating a drama’s TMDB link
Context menu for refreshing a drama TMDB data

Can't believe, it's been this long, and mrgsi retired.
Wouldn't it be easier to somehow get data from tmdb-helper? You could ask the dev for some help, I guess.
If you don't want to, I guess your plan works too. I'm just happy you're considering it to work on. Because it just looks ugly without the proper thumbnail and posters.
To tackle that, I myself now maintaining 3 drama lists on trakt:

Top Airing Drama
Trending Drama
Popular Drama

They look great now, but updating them manually is a hassle. I wish trakt made it free to collaborate in lists.

Wouldn't it be easier to somehow get data from tmdb-helper? You could ask the dev for some help, I guess.

Not possible as far as I know. The only way to retrieve the data is for skinning.

It seems that TMDB does not have all the shows in dramacool and also the naming is a bit different which makes it a bit complicated to match. So I will probably not spend too much time on that. Instead, I have added a route to support TMDB Helper instead.
dramacool.json

hey thanks for making a player for tmdbhelper. I got really excited when I found you have a player, this isn't in the gplayers that everyone is using.
I was hoping you would be kind enough to help me here
I'm not a coder, been using microsoft copilot to use your path in the player to make me a script
it came up with this
import xbmc
import xbmcgui

def get_episode_info():
    episode_info = {}
    episode_info['showname'] = xbmc.getInfoLabel('ListItem.TVShowTitle')
    episode_info['year'] = xbmc.getInfoLabel('ListItem.Year')
    episode_info['season'] = xbmc.getInfoLabel('ListItem.Season')
    episode_info['episode'] = xbmc.getInfoLabel('ListItem.Episode')
    return episode_info

def play_episode():
    episode_info = get_episode_info()
    showname = episode_info['showname']
    year = episode_info['year']
    season = episode_info['season']
    episode = episode_info['episode']

    # Construct the search URL
    search_url = f'plugin://plugin.video.dramacool/search?title=%22{showname}%22&year={year}'

    # Log the search URL
    xbmc.log(f'Search URL: {search_url}', xbmc.LOGINFO)

    # Map the final URL
    final_url = f'plugin://plugin.video.dramacool/{showname.replace(" ", "-").lower()}-{year}-episode-{episode}.html'

    # Log the final URL
    xbmc.log(f'Final URL: {final_url}', xbmc.LOGINFO)

    if xbmc.getCondVisibility('System.HasAddon(plugin.video.dramacool)'):
        xbmc.executebuiltin(f'PlayMedia({final_url})')
    else:
        xbmcgui.Dialog().notification('Error', 'DramaCool plugin not found', xbmcgui.NOTIFICATION_ERROR)

# Call the function to play the episode
play_episode()

I've been messing with this for a while. It works some times and other times it does not, says can't connect to domain.
I'm only doing this for shows right now then plan to work on movies
the shows it does work for, I don't get a popup to pick the stream option after, It would be better if I figured that out too.
I plan to approach Fen Lite dev and ask him a feature request.
If the movie is asian but not animation and it fails to find a source, then it should use this path to get stream from dramacool.
tmdbplayer can;t do that, it has fallback but any movie you ask fen lite will try to resolve, as long as it tries, it doesn't matter if it doesn't find a result. it won't go to fall back option. whereas Fen Lite can code it in himself. if a movie doesn't bring an option then fallback on dramacool. cool right?
but for my own personal needs I would love to understand why the script isn't working. it should be straight forward with your player information. it works 100% in tmdbhelper. any help would be appreciated thanks. also dramacool is best kdrama addon!


add stdout log provider

should have a log provider that logs to stdout (useful for debugging of minio)

Added stdout log target in cwm-worker-logger via https://github.com/CloudWebManage/cwm-worker-logger/commit/5579baa7da4d938de8f2f1a0e67b0a8b56c8caf6.


Remove forward declares, extern template usage

We had a fun realization around Christmas break that our use of forward declares has been a bit 'cargo culted'. That is, the vast majority of our forward declares can be seemingly deleted with no consequence as it's already a condition where the compiler has nothing else to do but defer to see if the symbol exists at link time.

All usage of extern templates can be removed
At this point in time, I'm not sure why all the forward declare macros can't be removed, but I haven't thought of this as much

Completed by https://github.com/AztecProtocol/aztec-packages/pull/3953


Spanish Characters not working properly

Are you using the latest version of jsPDF?
Yes
Have you tried using jspdf.debug.js?
Yes
Steps to reproduce
https://jsfiddle.net/wegh1n9c/2/
I'm using 1.4.1 which supports Unicode characters but I'm unable to print the following text:
Casares, MÁLAGA
download (94).pdf
As you can see in the above PDF it doesn't show the text as it should and also the alignment gets messed up. It should align to the right of the page.
I'm really stuck on this issue, so any help would be greatly appreciated.
Thanks

Load a ttf with spanish symbols like shown in examples/basic.html and create your pdf.

@arasabbasi Woah Thanks man!
Actually, I tried that already after looking over every single issue related to fonts here but it still didn't work.
After your suggestion, I tried it again and this time I removed the pdf.setFontType("bold") and it worked. I think it might be because the font which I loaded was set as normal.
How can I add multiple font types like "Normal", "Bold" etc?
Also is there a good way to convert google fonts to base64? I tried a few web solutions but I cannot copy such a large text to clipboard for some reason as the browser gets stuck.
While I can easily copy the text from the example file you mentioned above.

Currently jsPDF only supports ttf. You can add fonts as bold.

I see!
Also, I think some warnings might really help save time, I spent the whole day trying to make this work.
It should display a warning if it cannot find the font with "bold" type instead of silently rendering the default font and not the one which I set above.
I thought there might be something that I'm doing wrong perhaps which caused the issue.
Anyways, Thanks for the quick replies man! I really appreciate you taking the time to reply :)

Note to myself:
Check if warning should be thrown if given font is not existing.

#1833 will be part of v. 1.4.2


updated a background image repeat fixes

I make a background image in website to not repeat and improve the UI Part

please add a screenshot for the same


Polling for unmanaged_nodes

For some issues in request-tracking-svc.ts:83 (to begin with), this request never times out and keeps recurring.
http://<IP_ADDRESS>:8080/api/v1/unmanaged_nodes        [HTTP/1.1 404 Not Found 3ms]
no element found                                           unmanaged_nodes:1:1
"Refreshing the requests in the store"                         app.js:28155:17

On the surface this looks like a polling(-like) approach, and shouldn't ideally happen in event model. When there are unmanaged node(s), there should be event triggering to handle the situation, instead of looking for it constantly.

Our plan is to use websocket notifications for this kind of periodic requests. But websockt is not fully implemented in the backend. This is a stopgap arrangement till we get there.


Resumable Download

Hey
unless I've miss something, it seems that mist can not resume partly downloaded updates.
It would be great to add an argument --resumable-download to prevent mist overwriting already present partly downloaded updates and resume download where it previously stopped.
This would help a lot for downloading updates for low-bandwith users.
Please note that this is the default behavior of softwareupdate utility.
Let me know if you have any question.

@Guisch as you have pointed out in https://github.com/grahampugh/erase-install/issues/301, mist-cli attempts to resume / retry interrupted or failed downloads using the values specified by the --retries and --retry-delay flags.
I believe what you are looking for is resume capability if the mist process is killed / restarted?
Not sure what options I have with URLSessionDownloadTask resuming downloads between sessions (my understanding is the session is temporary / ephemeral), but happy to investigate and see what options are available 👍

From my quick Googling it seems I would need to write out any captured URLError to disk and attempt to read this back in when retrying to download from a new process 🤔
Stay tuned...

@Guisch as you have pointed out in https://github.com/grahampugh/erase-install/issues/301, mist-cli attempts to resume / retry interrupted or failed downloads using the values specified by the --retries and --retry-delay flags.

Exactly

I believe what you are looking for is resume capability if the mist process is killed / restarted?

Yes
I'm not familiar with Swift but from the link you gave, URLSessionDownloadTask seems to be able to resume download with withResumeData
Also found that post from the creator of Nuke: https://kean.blog/post/resumable-downloads#resumable-downloads-in-nuke

Looks like we have resumable downloads working! 🥳
Note: The --cache-downloads flag will be required to hold onto the resumable data which is being stored in the temporary directory.
Firmware example:
➜ mist-cli ✔ sudo mist download firmware "macOS Ventura" --retries 3 --retry-delay 3 --cache-downloads
┌──────────────────┐
│ INPUT VALIDATION │
└──────────────────┘
  ├─ Download search string will be 'macOS Ventura'...
  ├─ Include betas in search results will be 'false'...
  ├─ Only include compatible firmwares will be 'false'...
  ├─ Cache downloads will be 'true'...
  ├─ Output directory will be '/Users/Shared/Mist'...
  ├─ Temporary directory will be '/private/tmp/com.ninxsoft.mist'...
  ├─ Force flag has not been set, existing files will not be overwritten...
  ├─ Firmware name will be 'Install %NAME% %VERSION%-%BUILD%.ipsw'...
┌────────┐
│ SEARCH │
└────────┘
  ├─ Searching for macOS download 'macOS Ventura'...
  ├─ Found macOS Ventura 13.0.1 (22A400) [2022-11-09]
┌───────┐
│ SETUP │
└───────┘
  ├─ Creating new temporary directory '/private/tmp/com.ninxsoft.mist/com.ninxsoft.mist.13.0.1-22A400'...
┌──────────┐
│ DOWNLOAD │
└──────────┘
  ├─ UniversalMac_13.0.1_22A400_Restore.ipsw.. [ 735.23 MB / 12.20 GB (06.03%) ]
  ├─ The network connection was lost.
  ├─ Retrying attempt [ 1 / 3 ] in 3 seconds...
  ├─ UniversalMac_13.0.1_22A400_Restore.ipsw.. [ 735.23 MB / 12.20 GB (06.03%) ]
  ├─ The Internet connection appears to be offline.
  ├─ Retrying attempt [ 2 / 3 ] in 3 seconds...
  ├─ UniversalMac_13.0.1_22A400_Restore.ipsw.. [ 735.23 MB / 12.20 GB (06.03%) ]
  ├─ The Internet connection appears to be offline.
  ├─ Retrying attempt [ 3 / 3 ] in 3 seconds...
  ├─ UniversalMac_13.0.1_22A400_Restore.ipsw.. [ 735.23 MB / 12.20 GB (06.03%) ]
  ├─ Saving resume data to '/private/tmp/com.ninxsoft.mist/com.ninxsoft.mist.13.0.1-22A400/UniversalMac_13.0.1_22A400_Restore.ipsw.resumeData'...
  └─ Maximum number of retries reached.
Error: maximumRetriesReached
➜ mist-cli ✔ sudo mist download firmware "macOS Ventura" --retries 3 --retry-delay 3 --cache-downloads
┌──────────────────┐
│ INPUT VALIDATION │
└──────────────────┘
  ├─ Download search string will be 'macOS Ventura'...
  ├─ Include betas in search results will be 'false'...
  ├─ Only include compatible firmwares will be 'false'...
  ├─ Cache downloads will be 'true'...
  ├─ Output directory will be '/Users/Shared/Mist'...
  ├─ Temporary directory will be '/private/tmp/com.ninxsoft.mist'...
  ├─ Force flag has not been set, existing files will not be overwritten...
  ├─ Firmware name will be 'Install %NAME% %VERSION%-%BUILD%.ipsw'...
┌────────┐
│ SEARCH │
└────────┘
  ├─ Searching for macOS download 'macOS Ventura'...
  ├─ Found macOS Ventura 13.0.1 (22A400) [2022-11-09]
┌───────┐
│ SETUP │
└───────┘
  ├─ Nothing to do!
┌──────────┐
│ DOWNLOAD │
└──────────┘
  ├─ Resuming download...
  ├─ UniversalMac_13.0.1_22A400_Restore.ipsw... [ 01.04 GB / 12.20 GB (08.49%) ]
...

Installer example:
➜ mist-cli ✔ sudo mist download installer "macOS Ventura" --retries 3 --retry-delay 3 --cache-downloads application
┌──────────────────┐
│ INPUT VALIDATION │
└──────────────────┘
  ├─ User is 'root'...
  ├─ Download search string will be 'macOS Ventura'...
  ├─ Include betas in search results will be 'false'...
  ├─ Only include compatible installers will be 'false'...
  ├─ Cache downloads will be 'true'...
  ├─ Output directory will be '/Users/Shared/Mist'...
  ├─ Temporary directory will be '/private/tmp/com.ninxsoft.mist'...
  ├─ Force flag has not been set, existing files will not be overwritten...
  ├─ Application name will be 'Install %NAME% %VERSION%-%BUILD%.app'...
┌────────┐
│ SEARCH │
└────────┘
  ├─ Searching for macOS download 'macOS Ventura'...
  ├─ Found [012-93766] macOS Ventura 13.0.1 (22A400) [2022-11-10]
┌───────┐
│ SETUP │
└───────┘
  ├─ Creating new temporary directory '/private/tmp/com.ninxsoft.mist/012-93766'...
┌──────────┐
│ DOWNLOAD │
└──────────┘
  ├─ [ 1 / 7 ] 012-93766.English.dist.......... [ 07.47 KB / 07.47 KB (100.0%) ]
  │            Verifying... ✓✓✓
  ├─ [ 2 / 7 ] BuildManifest.plist............. [ 03.36 MB / 03.36 MB (100.0%) ]
  │            Verifying... ✓✓✓
  ├─ [ 3 / 7 ] Info.plist...................... [ 05.04 KB / 05.04 KB (100.0%) ]
  │            Verifying... ✓✓✓
  ├─ [ 4 / 7 ] InstallAssistant.pkg........... [ 137.12 MB / 12.15 GB (01.13%) ]
  ├─ The network connection was lost.
  ├─ Retrying attempt [ 1 / 3 ] in 3 seconds...
  ├─ [ 4 / 7 ] InstallAssistant.pkg........... [ 137.12 MB / 12.15 GB (01.13%) ]
  ├─ The Internet connection appears to be offline.
  ├─ Retrying attempt [ 2 / 3 ] in 3 seconds...
  ├─ [ 4 / 7 ] InstallAssistant.pkg........... [ 137.12 MB / 12.15 GB (01.13%) ]
  ├─ The Internet connection appears to be offline.
  ├─ Retrying attempt [ 3 / 3 ] in 3 seconds...
  ├─ [ 4 / 7 ] InstallAssistant.pkg........... [ 137.12 MB / 12.15 GB (01.13%) ]
  ├─ Saving resume data to '/private/tmp/com.ninxsoft.mist/012-93766/InstallAssistant.pkg.resumeData'...
  └─ Maximum number of retries reached.
Error: maximumRetriesReached
➜ mist-cli ✔ sudo mist download installer "macOS Ventura" --retries 3 --retry-delay 3 --cache-downloads application
┌──────────────────┐
│ INPUT VALIDATION │
└──────────────────┘
  ├─ User is 'root'...
  ├─ Download search string will be 'macOS Ventura'...
  ├─ Include betas in search results will be 'false'...
  ├─ Only include compatible installers will be 'false'...
  ├─ Cache downloads will be 'true'...
  ├─ Output directory will be '/Users/Shared/Mist'...
  ├─ Temporary directory will be '/private/tmp/com.ninxsoft.mist'...
  ├─ Force flag has not been set, existing files will not be overwritten...
  ├─ Application name will be 'Install %NAME% %VERSION%-%BUILD%.app'...
┌────────┐
│ SEARCH │
└────────┘
  ├─ Searching for macOS download 'macOS Ventura'...
  ├─ Found [012-93766] macOS Ventura 13.0.1 (22A400) [2022-11-10]
┌───────┐
│ SETUP │
└───────┘
  ├─ Nothing to do!
┌──────────┐
│ DOWNLOAD │
└──────────┘
  ├─ [ 1 / 7 ] 012-93766.English.dist.......... [ 07.47 KB / 07.47 KB (100.0%) ]
  │            Verifying... ✓✓✓
  ├─ [ 2 / 7 ] BuildManifest.plist............. [ 03.36 MB / 03.36 MB (100.0%) ]
  │            Verifying... ✓✓✓
  ├─ [ 3 / 7 ] Info.plist...................... [ 05.04 KB / 05.04 KB (100.0%) ]
  │            Verifying... ✓✓✓
  ├─ Resuming download...
  ├─ [ 4 / 7 ] InstallAssistant.pkg........... [ 223.30 MB / 12.15 GB (01.84%) ]
...

Changes can be found in this branch. A little more testing and I should be rolled this into main 👍

Awesome! Thanks for your work. I'm gonna test it in the coming days keep you posted.

Hey just wanted to let you know that It works really well 🚀 Thanks a lot for implementing it.


🐛 BUG: TypeScript keeps loading intelligence status indefinitely

Describe the Bug
The typescript extension keeps loading intelligence status indefinitely with very high usage of CPU.
Reloading the VSCode window seems to solve it for a while, then it will crash again.
I see this repeats when switching from astro to ts files or vice versa.
I removed all typescript extensions and I'm using the following versions:

Astro 2.5.5
TypeScript 5.0.4
Astro VsCode Extention 2.0.8

I see this error in tsserver.log:
Err 5091  [10:15:27.273] exit code:, 2
Info 5092 [10:15:27.273] -Astro Plugin- Error loading Astro file: /...path/[id]/RecommendedQueries/index.astro
Info 5093 [10:15:27.273] -Astro Plugin- Astro snapshot was not found after trying to load script snapshot for /...path/[id]/RecommendedQueries/index.astro
Info 5094 [10:15:27.273] FileWatcher:: Added:: WatchInfo: /...path/forms/GalleryForm.astro 500 undefined WatchType: Closed Script info
Info 5095 [10:15:27.280] -Astro Plugin- Successfully read Astro file contents of /...path/GalleryForm.astro
Info 5096 [10:15:27.286] -Astro Plugin- Successfully read Astro file contents of /...path/GalleryForm.astro
Info 5097 [10:15:27.339] -Astro Plugin- Successfully read Astro file contents of /...path/GalleryForm.astro
Info 5098 [10:15:28.215] -Astro Plugin- Successfully read Astro file contents of /...path/GalleryForm.astro
Info 5099 [10:15:33.514] -Astro Plugin- Successfully read Astro file contents of /...path/GalleryForm.astro
Info 5100 [10:15:33.514] -Astro Plugin- AstroSnapshot: /...path/GalleryForm.astro - patched scriptInfo
Info 5101 [10:15:33.514] FileWatcher:: Added:: WatchInfo: /...path/PropertyForm.astro 500 undefined WatchType: Closed Script info
Info 5102 [10:15:33.520] -Astro Plugin- Successfully read Astro file contents of /...path/PropertyForm.astro
Info 5103 [10:15:33.544] -Astro Plugin- Successfully read Astro file contents of /...path/PropertyForm.astro
Info 5104 [10:15:33.754] -Astro Plugin- Successfully read Astro file contents of /...path/PropertyForm.astro
Info 5105 [10:15:35.766] -Astro Plugin- Successfully read Astro file contents of /...path/PropertyForm.astro

The same error is repeated for a dozen of files in the project, that are not related to each other nor opened.
The crash does not happen at all times, but most of the time.
Steps to Reproduce

open a fresh astro project
create ts/Astro files
move between Astro and Ts files and monitor CPU usage and tsserver logs.

Does the same thing happen when using the normal release of the extension?

Interesting, I'll take a look. Very sorry for the inconvenience!

@Princesseuh Worth noting that I switched back to version 1.0.0 of the Astro VsCode extension (while keeping all other tools updated) and the problem seems to be resolved.

Can you try if the version in this comment still has the problem? https://github.com/withastro/language-tools/issues/593#issuecomment-1612474903

This should now be fixed in 2.1.0 of the extension. Please open another issue if this still happens!


MultipartUploadCommand.UploadPartAsync does not do retries

Describe the feature
Amazon.S3.Transfer.Internal.MultipartUploadCommand.UploadPartAsync() does not do retries.
I believe it should do, in the same way as DownloadCommand.ExecuteAsync(), basing on _s3Client.Config.MaxErrorRetry
Use Case
Than larger is multipart upload than higher is the probability of a total failure if not retry failed parts
Proposed Solution
No response
Other Information
No response
Acknowledgements

[x] I may be able to implement this feature request
[ ] This feature might incur a breaking change

AWS .NET SDK and/or Package version used
AWSSDK.S3 <IP_ADDRESS>
Targeted .NET Platform
.NET Framework 4.7
Operating System and version
Windows 10

`
private async Task UploadPartAsync(UploadPartRequest uploadRequest, CancellationTokenSource internalCts, SemaphoreSlim asyncThrottler)
{
var maxRetries = _s3Client.Config.MaxErrorRetry;
        for (int retry = 1; ; retry++)
        {
            try
            {
                return await _s3Client.UploadPartAsync(uploadRequest, internalCts.Token)
                    .ConfigureAwait(continueOnCapturedContext: false);
            }
            catch (Exception exception)
            {
                if (retry <= maxRetries)
                {
                     Logger.DebugFormat("Multipart Upload {0} part #{1} retry #{2}", uploadRequest.UploadId, uploadRequest.PartNumber, retry);
                }
                else
                {
                    if (!(exception is OperationCanceledException))
                    {
                        // Cancel scheduling any more tasks
                        // Cancel other UploadPart requests running in parallel.
                        internalCts.Cancel();
                    }
                    throw;
                }
            }
            finally
            {
                asyncThrottler.Release();
            }
        }
    }

`

@kasarino Good morning. Thanks for opening feature request. Have you looked at Retries and timeouts. AWS SDK for .NET should retry failed service API calls automatically based on retry mode and max error retry configuration. So I don't think we need to add duplicated capability specific to MultipartUploadCommand.UploadPartAsync() given that we have centralized retry for all SDK service API calls.
Thanks,
Ashish

Hello @ashishdhingra , thank you for reply.
I use TransferUtility.UploadAsync() as follows and it actually does not do retries...
            AmazonS3Config config = new AmazonS3Config()
            {
                ServiceURL = serviceURL,
                RetryMode = Amazon.Runtime.RequestRetryMode.Standard,
                MaxErrorRetry = 3
            };
            client = new AmazonS3Client(awsAccessKeyId, awsSecretAccessKey, config);
                var transferUtility = new TransferUtility(client);
                await transferUtility.UploadAsync( filePath,
                                          TargetBucket,
                                          TargetObjectKey
                                        );

@kasarino Could you please enable verbose logging using below code and share the logs to see if the failed UploadPartAsync call is not retried:
Amazon.AWSConfigs.LoggingConfig.LogResponses = Amazon.ResponseLoggingOption.Always;
Amazon.AWSConfigs.LoggingConfig.LogTo = Amazon.LoggingOptions.SystemDiagnostics;
Amazon.AWSConfigs.AddTraceListener("Amazon", new System.Diagnostics.ConsoleTraceListener());

Thanks,
Ashish

Hello @ashishdhingra
here are requested logs [https://file.io/jzpHJwMJq1bo]
Thank you!

Hello @ashishdhingra here are requested logs https://www.dropbox.com/s/ok6iq3tb7bztnyw/log400_no_retry_example.zip?dl=0 Thank you!

@kasarino Could you please share the following:

What is the endpoint https://emam.qstartest.net:18085? Doesn't appear to be AWS service.
Are you using 3rd party storage that simulates AWS S3 service?
Is the retry issue reproducible when used against actual AWS S3 service?

Unfortunately, we do not support 3rd party AWS simulated environments.
Thanks,
Ashish
Thanks,
Ashish

Hello @ashishdhingra
yes, I test at 3rd party S3 service (and it is hard to reproduce at actual AWS S3 as it almost never returns network errors :))
Thank you for your time, let's close this issue.


Support for background gradients and images in CupertinoSliverNavigationBar and CupertinoNavigationBar

Description
Adding support for gradient backgrounds and image backgrounds in CupertinoSliverNavigationBar and CupertinoNavigationBar.
Background gradients may be added like so:
CupertinoSliverNavigationBar(
     backgroundGradient: LinearGradient(colors: [
         Color(0xf44141).withOpacity(1),
          Color(0x9d41f4).withOpacity(1),
      ]),
      largeTitle: Text("Large title item 1"),
),

Here is the result:

Background images may be added like so:
CupertinoSliverNavigationBar(
      backgroundImage: NetworkImage("https://api.adorable.io/avatars/285/abott@adorable.png"),
      largeTitle: Text("Large title item 1"),
),

Here is the result:

Related Issues
https://github.com/flutter/flutter/issues/25144
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require Flutter developers to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (Please read Handling breaking changes). Replace this with a link to the e-mail where you asked for input on this proposed change.
[x] No, this is not a breaking change.

Thanks for your contribution. The general concept is sensible. Though rather than splitting out all the subcomponents of the BoxDecoration, see the Container implementation. We can let the user override a decoration instead. The color parameter can still be a shorthand for just overriding the color and if you supply both, color gets ignored.

I will dig into that idea.
I also will look into adding animation tween for gradients that would differ from one navigation bar to the next.
Brian Egan has a good article about this: https://flutterwidgets.io/animating-gradients.html

@xster I took the direction of your suggestion with having a background property on the CupertinoNavigationBar and CupertinoSliverNavigationBar that takes a BoxDecoration.
I also added support for LinearGradientTween which smoothly animates from one gradient to the other between views.
I am unsure though on how to handle the case where one CupertinoSliverNavigationBar would have a background with a gradient and another with a backgroundColor. As it stands the animation wouldn't be smooth.
My thought in cases where the background properties to animate are different, fallback to a cross fade or something. But I am unsure how to do that.
What do you think?

@xster I came up with a solution for animating between navigation bars with gradients and navigation bars with a backgroundColor:
if one of the navigation bars does not have a gradient set, I create a LinearGradient with the backgroundColor and animate between that and the gradient background. It feels a little hacky to me but I am not sure this can be done any other way.
I think a similar result could be achieved for background images where one would fade the image in/out hiding/revealing the backgroundColor. I am working on this.
And when animating between to images, just a simple cross fade.

TODO:

[ ] animate between two background images
[ ] animate between a background image and a gradient
[ ] animate between a background image and a color

@xster: I am done adding the support for background images also.
I have added all transitions too.
Transitions support:
color -> color
color -> gradient
color -> image
gradient -> gradient
gradient -> image
image -> image
Here is an example implementation:
Color:
CupertinoSliverNavigationBar(
    backgroundColor: Colors.blue,
    largeTitle: Text("Large title item 1"),
),

OR Color:
CupertinoSliverNavigationBar(
    background: BoxDecoration(
        border: Border(bottom: BorderSide(color: Colors.blue)),
        color: Colors.red,
    ),
largeTitle: Text("Large title item 1"),
),

Gradient:
CupertinoSliverNavigationBar(
    background: BoxDecoration(
        gradient: LinearGradient(colors: [
            Colors.orange.withOpacity(1),
            Colors.green.withOpacity(1),
        ]),
    ),
largeTitle: Text("Large title item 1"),
),

Image:
CupertinoSliverNavigationBar(
    background: BoxDecoration(
        image: DecorationImage(
            image: NetworkImage("https://api.adorable.io/avatars/285/abott@adorable.png"),
            fit: BoxFit.cover, // any BoxFit type works here
        ),
     ),
largeTitle: Text("Large title item 1"),
),

I see some tests are failing. I will have to check that but I would love to have your feedback and/or suggestions on how to improve it.
I have also noticed that during transitions, the color of the chevron and actions icons stay blue whatever the theme. But that will go into another PR as this is not related to my current code/PR.

I added support for computed luminance of gradient backgrounds.
My idea was to calculate the average luminance of the colors contained in the gradient's colors array. I decided to give more importance to the first and last colors as they are closest to the icons in the status bar (I doubled their value).
I also added the ability for the developer to override the computed luminance by adding a color property to the background whose computed luminance value takes precedence over the gradient's luminance value.

@HansMuller or @xster, can one of you please take another look at this PR? It's been languishing for a while now...
@benjaminhorner, can you please address the code conflicts and the test failures?  Those will need to be addressed before we can accept the PR in any case.

@gspencergoog I see all tests are failing Because platform_views depends on path_provider >=1.4.5 which requires Flutter SDK version >=1.9.1+hotfix.5 <2.0.0, version solving failed. but I must say I am unsure how to fix this. It doesn't seem related to my PR nevertheless the tests fail. Any suggestion on where or what to look for?

I agree that the version solving failure doesn't seem related to your PR. Perhaps you just synced to a broken revision on flutter/flutter master?  Maybe try syncing again. When I try your change locally at HEAD, it doesn't have the version solving issues (although it does have other analyzer failures).
You can run the analyzer locally with flutter analyze --flutter-repo.
Also, once that's resolved, you're going to need to add some tests for the code changes you made, since that's part of our tree hygiene requirements.
And I'd suggest reverting all of the whitespace-only changes you made: likely that is dartfmt formatting things: the Flutter tree doesn't use dartfmt. It also makes it harder to see what the substantive changes are.

Hey, I tried the LinearGradientTween from this PR and it worked great for me, thank you @benjaminhorner
And it would be great if we have this tween officially.

Since there has not been a response on this PR in some time, and it's not even mergable in its current state, I'm going to close it. Please feel free to ping the PR again if you plan to continue working on it.


Add XP Orb Merge Optimization

This Pull Request is focused on adding the XP Orb merging feature to Sponge 7. This will aid in optimizing the game performance by reducing the amount of EntityXPOrbs on the ground, thereby reducing the EntityXPOrbs tick time.
The PR implements two settings: xp-merge-radius and xp-orb-merge. The xp-merge-radius setting determines the distance at which nearby EntityXPOrbs will merge into a single entity. The xp-orb-merge setting, when set to true, enables the merging feature.
This feature will benefit not only the server performance but also the client performance for players in scenarios where there are numerous EntityXPOrbs on the ground. With the merging feature, the amount of entities being rendered will be reduced, improving the overall player experience.
EDIT:
Sorry for the old PR commits below, not sure why those are there lol.

Modifying the world from inside the constructor is a problem. Imagine a plugin that instantiates an orb but never spawns it. All nearby orbs in the world are removed, but the new merged one is never spawned. I think the merge logic should be moved to either on entity tick, either on entity spawn.
I'm personally against checking on each tick, this would add a lot of unnecessary processing, which may counter the potential performance gain. Also, for farms, this would continuously merge all incoming XP into one big orb, which may not be not desirable for all players. I'm sure some people love XP showers.
I think the correct way to do it would be to merge orbs on spawn. This would keep a good balance. At this point, this optimization can be implemented by a small plugin using just API and I don't think it needs to be added into Sponge directly.

@Yeregorix Yeah I do agree putting it under the entity spawn would be better. Why not include it in Sponge? There's already optimizations added that could be done through a plugin. I made this PR for the general community out there. Making more plugins for each performance issue is not the solution.

We used to put optimizations directly into Sponge but this has increased the maintenance cost and the risk of incompatibility with other mods on Forge, especially optimization mods which are often bundled by default in most packs.
Sponge should only be the base. Functionalities and optimizations should be reserved to plugins. Exception made for some optimizations that are heavily depending on Sponge internal code.
This is my own opinion and doesn't engage the Sponge team. I'm curious to see what other people might think of it.


Upload latest release and tweak readme how to make a release

Closing. Change manually integrated in https://github.com/j0057/github-release/commit/8a9e8a12895b1a3ef8af7d6fdd3e226290800c8c


file system restore_in_place does not work with time ranges

Hi! Is there a way to make filesystem restores work with time ranges and deleted files?
Here is my use case: devs ask to restore 1 month worth of deleted apache log files.
Maybe am I missing something, but restore_in_place with a time range does not work as expected/documented...

the find operation works (with "show_deleted: True") and returns the expected list of files that I pass as-is

>>> path, dictionary = subclient.find(file_name='access_log*.gz', from_time='2022-10-25 00:00:00', to_time='2022-11-25 23:59:59', show_deleted=True)

the restore_in_place operation only restores files of the date specified in "to_time"

>>> job = subclient.restore_in_place(path,from_time='2022-10-25 00:00:00', to_time='2022-11-25 23:59:59')
Maybe I need the restoreDeletedFiles option, but it is not implemented. I tried creating empty files and use overwrite=True but it does not work.

Hi @geof77,
This is not yet supported. Can you please create a support ticket at<EMAIL_ADDRESS>with this enhancement request?
Thanks,
Sachin


Add vlan remote mechanism support

This PR contains the remote vlan mechanism support enhancement for vpp. It is based on "Move some generic functions from internal/vppinit to sdk-vpp" and also contains the same commit (￼3b28b46).
Related PR: api#112

@ljkiraly I think this needs rebasing now that the api changes are merged?

Still I have the following topics to resolve:

The service domain should be get from Connection.NetworkServiceName. Currently the service name does not contains the domain. (e.g<EMAIL_ADDRESS>is broken down to service name: finance-bridge and service domain: domain.1)

Each interface in NSC has different MAC address. Some infrastructure the MAC filtering drops packets to unknown MAC addresses. The 'local mechanism' interface added to NSC namespace needs to have the same MAC address as the NIC that the vlan is going out.

Should work if the base interface is already added to VPP


Upmerge

Regular upmerge.

Codecov Report

Merging #15 into zephyr will increase coverage by 3.59%.
The diff coverage is 73.58%.

@@            Coverage Diff             @@
##           zephyr      #15      +/-   ##
==========================================
+ Coverage   77.29%   80.89%   +3.59%
==========================================
  Files         329      339      +10
  Lines       41085    41701     +616
==========================================
+ Hits        31756    33733    +1977
+ Misses       9329     7968    -1361

Impacted Files
Coverage Δ

examples/platforms/simulation/uart.c
81.08% <ø> (+0.17%)
:arrow_up:

include/openthread/coap.h
100.00% <ø> (ø)

src/cli/cli_dataset.hpp
100.00% <ø> (ø)

src/cli/cli_joiner.cpp
64.10% <0.00%> (-12.83%)
:arrow_down:

src/cli/cli_udp.cpp
68.03% <0.00%> (-0.82%)
:arrow_down:

src/core/api/border_router_api.cpp
100.00% <ø> (ø)

src/core/api/channel_monitor_api.cpp
66.66% <0.00%> (ø)

src/core/api/crypto_api.cpp
0.00% <0.00%> (ø)

src/core/api/dataset_api.cpp
59.25% <0.00%> (-19.69%)
:arrow_down:

src/core/api/thread_api.cpp
75.23% <0.00%> (+10.05%)
:arrow_up:

... and 300 more

Corresponding PR: https://github.com/zephyrproject-rtos/zephyr/pull/26243

cc @MarekPorwisz @lmaciejonczyk

https://github.com/zephyrproject-rtos/zephyr/pull/26243 is green, merging

Actually @rlubos should I merge or will you push?

@carlescufi I'll push, thanks!


Add color cells with rgb

@ajpmaclean : : Please review.

@ajpmaclean : No .txt file. Indent fixed. Please review.

Thanks