Reduce api call to token service endpoint

TL;DR
When we use this action with workload identity  there is a high number of call made to the token exchange api endpoint.

By default the exchange token endpoint is rate limited to 6k per minutes. As I got some issue with this limit, I tracked down the usage, and this action is one of the few culprit I found.
Detailed design
No response
Additional information
I know this action is using the official  @google-cloud/storage  library, and I'm pretty sure it is something to be fix on this library but I hope it is ok to open this issue here.

Hi @GregoireW - can you please provide your action.yml so I can reproduce this on my end? Are you seeing that audit log once per object upload? Are you using google-github-actions/auth?

Hello,
There is not a 1-1 api call - file to be transferred, it may be linked to the parallel things but not sure.
Here a simple test I use ( I tried direct workload identity and SA workload identity, the result is the same ) :
      - uses: actions/checkout@v4
        id: checkout

      - name: generate
        run: |
          mkdir site
          for i in {1..250} ; do
            head -c 1M </dev/urandom > site/test-$i.txt ;
          done;

      - id: 'auth'
        name: 'Authenticate to Google Cloud'
        uses: 'google-github-actions/auth@v2'
        with:
          workload_identity_provider: projects/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
          service_account: yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy

      - name: Publish report
        uses: google-github-actions/upload-cloud-storage@v2
        with:
          path: ./site
          destination: zzzzzzzzzzzzzzzzzzzzz
          parent: false
          process_gcloudignore: false
          gzip: false

I tried to modify this action to use the transfer manager  ( https://github.com/google-github-actions/upload-cloud-storage/compare/main...GregoireW:upload-cloud-storage:main ) , but no luck there apparently

Hi @GregoireW - I did some digging, and I think this is happening in the GCS library and/or Google Auth library itself. I have three theories from tracing the code:

The default library creates a new AuthClient on each API call, which doesn't do token caching. Can you try the branch google-github-actions/upload-cloud-storage@sethvargo/auth and send debug logs and see if the number of auth requests goes down?

I don't see any locking in the GoogleAuth library, so it's possible that all 100 requests are happening simultaneously, all mint a token, and all cache the token. That would be an upstream bug.

I tried tracing the code in GoogleAuth, but it's quite complex. I do see functionality for caching the returned token, but I'm unclear on the scope to which that is cached and how the cache is invalidated. It's possible this is an upstream bug or misunderstanding.

Hi @sethvargo
The google-github-actions/upload-cloud-storage@sethvargo/auth as the same issue as the v2 branch.
My guess was also a missing lock issue on the authentication side, If I found time this week I will try to override the google authent.
On a side note, if you use "gcloud storage cp ..."  you have the same issue :/

On a side note, if you use "gcloud storage cp ..." you have the same issue :/

In that case, I definitely think it's an upstream bug sadly. Are you able to file a bug against the google-auth library? Noting that it happens in multiple paths is helpful. We shouldn't be exchanging an STS token on each file upload.

I started with the auth js lib, will see what will be the result.
In the meantime I put a lock on the authentication ( https://github.com/GregoireW/upload-cloud-storage/blob/7a3d155590ac7d56d02e7c150065170c27de9366/src/client.ts#L305-L311 )   but clearly it slow down upload ( but at least I got only 2 token exchange api call )
I tried to set something like "if alreadyAuthenticated  return super.request  else lock (super.request)"  when the first file are uploaded it is ok, only 1-2 api call to token exchange,  then when authentication is done and the lock is not there anymore the number of call increase again. so ...

I tried to set something like "if alreadyAuthenticated return super.request else lock (super.request)" when the first file are uploaded it is ok, only 1-2 api call to token exchange, then when authentication is done and the lock is not there anymore the number of call increase again. so ...

Yea, you really need the lock around the call to the auth token, not the call to the object upload (but you don't have access to those internals at this scope).

I refined the lock usage:
https://github.com/GregoireW/upload-cloud-storage/blob/ab0fd3cf9ce46216ecbefeead2072fd4194f271b/src/client.ts#L305-L321
With this I lock the authent only on the first call  the number of call stay at 2, and the total duration is close to what it was without lock so until new thing, I guess I will stay with that.

This should be resolved as of this auth v9.13.0:

https://github.com/googleapis/google-auth-library-nodejs/pull/1841

Thanks Daniel - I think we need @google-cloud/storage to pull in that update first though. Do you know when the next release is scheduled by chance?

It should be automatically pulled in as it is a minor release (no manual update required). This can be verified via npm ls google-auth-library after an npm install.

Ah great, thank you!

Hum... unfortunately, the issue is not resolved with the latest version. The number STS api call is still high.

Hmm - the new version definitely pulled in the latest version.

I double-checked on the library side and I’m unable to reproduce on the latest version with the auth schemes mentioned. Is there any way you can confirm the auth client in use?

The package lock reference<EMAIL_ADDRESS>a npm explain google-auth-library  give:
npm explain google-auth-library
<EMAIL_ADDRESS>node_modules/google-auth-library
<EMAIL_ADDRESS>from<EMAIL_ADDRESS>  node_modules/@google-cloud/storage
<EMAIL_ADDRESS>from the root project

If I compile this action on my computer, thebuild is exactly the same, so it is<EMAIL_ADDRESS>that is in use.

Thanks for that information. Would it be possible to determine the resolved type of AuthClient? This can be checked via GoogleAuth#getClient from the google-auth-library.

I did this in the actions:
const auth = new GoogleAuth({
      projectId: opts?.projectID,
      universeDomain: opts?.universe,
    });
    auth.getClient().then((client) => {
      console.log('The created client is: ', client);
    });
    const options: StorageOptions = {
      authClient: auth,
      ..............

The log I get :
The created client is:  IdentityPoolClient {
    _events: [Object: null prototype] {},
    _eventsCount: 0,
    _maxListeners: undefined,
    credentials: {},
    eagerRefreshThresholdMillis: 300000,
    forceRefreshOnFailure: false,
    universeDomain: 'googleapis.com',
    projectId: null,
    quotaProjectId: undefined,
    transporter: DefaultTransporter {
      instance: Gaxios {
        agentCache: Map(0) {},
        defaults: {},
        interceptors: [Object]
      }
    },
    cloudResourceManagerURL: URL {
      href: 'https://cloudresourcemanager.googleapis.com/v1/projects/',
      origin: 'https://cloudresourcemanager.googleapis.com/',
      protocol: 'https:',
      username: '',
      password: '',
      host: 'cloudresourcemanager.googleapis.com',
      hostname: 'cloudresourcemanager.googleapis.com',
      port: '',
      pathname: '/v1/projects/',
      search: '',
      searchParams: URLSearchParams {},
      hash: ''
    },
    stsCredential: StsCredentials {
      clientAuthentication: undefined,
      crypto: NodeCrypto {},
      tokenExchangeEndpoint: 'https://sts.googleapis.com/v1/token',
      transporter: DefaultTransporter { instance: [Gaxios] }
    },
    scopes: undefined,
    cachedAccessToken: null,
    audience: '//iam.googleapis.com/projects/123456789123456789/locations/global/workloadIdentityPools/my-pool/providers/github',
    subjectTokenType: 'urn:ietf:params:oauth:token-type:jwt',
    workforcePoolUserProject: undefined,
    serviceAccountImpersonationUrl: 'https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/my-serviceaccount@myproject.iam.gserviceaccount.com:generateAccessToken',
    serviceAccountImpersonationLifetime: 3600,
    configLifetimeRequested: false,
    projectNumber: '123456789123456798',
    supplierContext: {
      audience: '//iam.googleapis.com/projects/123456789123456798/locations/global/workloadIdentityPools/my-pool/providers/github',
      subjectTokenType: 'urn:ietf:params:oauth:token-type:jwt',
      transporter: DefaultTransporter { instance: [Gaxios] }
    },
    credentialSourceType: 'url',
    subjectTokenSupplier: UrlSubjectTokenSupplier {
      url: 'https://pipelinesghubeus2.actions.githubusercontent.com/xxxxxxxxxxxxxxxxxxxxxxxxx/00000000-0000-0000-0000-000000000000/_apis/distributedtask/hubs/Actions/plans/yyyyyyyyyyyyyyyyyyyy/jobs/zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz/idtoken?api-version=2.0&audience=https%3A%2F%2Fiam.googleapis.com%2Fprojects%2F123456789123456798%2Flocations%2Fglobal%2FworkloadIdentityPools%2Fmy-pool%2Fproviders%2Fgithub',
      formatType: 'json',
      subjectTokenFieldName: 'value',
      headers: {
        Authorization: '***'
      },
      additionalGaxiosOptions: { retry: true, retryConfig: [Object] }
    },
    [Symbol(shapeMode)]: false,
    [Symbol(kCapture)]: false
  }

I've completed a deep dive on this and I'm still unable to reproduce after the fix. However, I do see a path were it would attempt to request a new token each request; do you mind checking the expiry_date value of the generated tokens? You can do so by modifying the provided snippet to:
auth.getClient().then((client) => {
  console.log('The created client is: ', client);
  client.on('tokens', (token) => console.dir({expiry_date: token.expiry_date});
  client.getAccessToken();
});

If the expiry is within 5 minutes it would be eagerly refreshed each time:

https://github.com/googleapis/google-auth-library-nodejs/blob/3ae120d0a45c95e36c59c9ac8286483938781f30/src/auth/authclient.ts#L109-L112
https://github.com/googleapis/google-auth-library-nodejs/blob/0b78d91534d97b37859a2303b332f8ccd52dbf69/src/auth/baseexternalclient.ts#L579-L596
https://github.com/googleapis/google-auth-library-nodejs/blob/3ae120d0a45c95e36c59c9ac8286483938781f30/src/auth/baseexternalclient.ts#L693-L704

I got  Thu, 15 Aug 2024 06:18:49 GMT   { expiry_date:<PHONE_NUMBER>000 }   so it means the expiry date is in one hour.

Thanks, with that I believe we're dealing with the library creates a new AuthClient on each API call case mentioned above: https://github.com/google-github-actions/upload-cloud-storage/issues/364#issuecomment-2246316882
I don't see much else we can do on the auth lib side to improve the experience.

@danielbankhead is there anything I can do in this GitHub Action to re-use the auth client on API calls?

in the authorizeRequest / request  (and other) function in the auth library there is an await getClient().  There is no lock there, so multiple client can be created at the same time.
I did set the authentication manually in the storage object:
https://github.com/GregoireW/upload-cloud-storage/blob/4ac2eeba706588c37334cedb60c564701c0c204f/src/client.ts#L165-L171
then I force an await before launching upload:
https://github.com/GregoireW/upload-cloud-storage/blob/4ac2eeba706588c37334cedb60c564701c0c204f/src/client.ts#L231-L233
it reduces the number of API call to 2.
@danielbankhead  is locking getClient is something possible on oauth side ? or should we put something like I did on client side ?

@danielbankhead is locking getClient is something possible on oauth side ? or should we put something like I did on client side ?

That's an excellent point, I'll work on this on the auth side shortly. We haven't had this issue for any other AuthClient type, which made this very difficult to catch.

Released in v9.14.0:

https://github.com/googleapis/google-auth-library-nodejs/pull/1845


Feature request: API to disable/enable a control

Use case: In this sketch, the Y and Z sliders are initially independent. The toggle option allows the user to lock Y to Z. When toggled,  the present ratio of Y to Z is computed and then, as the Z slider is dragged, the Y slider automatically remains in correspondence.
Problem: All works well when the Z slider is moved, but if the user attempts to move the Y slider, erratic behavior occurs and ultimately resets.
Solution: The ideal behavior would be to allow the sketch creator to programmatically disable/enable the Y slider in accord with the toggle, like this sketch. Disable means the control is still visible, but not adjustable by the user. Perhaps the blue color in the UI changes to gray. The corresponding numeric value should remain visible.
Question: Is there an alternative approach to this use case?

That's a fair use case, thank you for the detailed explanation. I will look into adding disable/enable functionality to the library.


Field Permissions incorrect

Describe the bug
When setting PERMISSIONS on a table to FULL (clicking on ✅ for each Create, Select, Update, Delete), it incorrectly sets each defined field to:
DEFINE FIELD can_be_sold ON product TYPE bool PERMISSIONS FOR select, create, update, delete WHERE FULL
To Reproduce
DEFINE a table.
DEFINE some fields.
Go to Table Permissions.
Then clicking on ✅ for each Create, Select, Update, Delete
Expected behavior
When setting FULL permissions, don't add WHERE.

I just ran into this,
For now, the workaround is to, just to toggle permissions in the GUI to NONE, then FULL in each CREATE, SELECT, UPDATE, DELETE for every newly created field or any field you intend to fix immediately.
The problem is with initial default values for the permission, will address it in a PR shortly.
Even after the fix, the old incorrect permissions in your database "... WHERE FULL" must be manually changed to "... FULL"

This has been fixed in #394


Build error "ERROR in node_modules/angular-dual-listbox/lib/basic-list.d.ts(14,9): error TS1086: An accessor cannot be declared in an ambient context."

Getting the below error while run & build.
ERROR in node_modules/angular-dual-listbox/lib/basic-list.d.ts(14,9): error TS1086: An accessor cannot be declared in an ambient context.
While i have the below code in the file which meets this error.
export declare class BasicList {     /** Name of the list */     private _name;     /** Last element touched */     last: any;     /** text filter */     picker: string;     dragStart: boolean;     dragOver: boolean;     pick: Array<any>;     list: Array<any>;     sift: Array<any>;     constructor(name: string);     get name(): string; }

Try setting  "skipLibCheck": true in tsconfig.json.
"compilerOptions": {
    "skipLibCheck": true
}

Try setting  "skipLibCheck": true in tsconfig.json.
"compilerOptions": {
    "skipLibCheck": true
}

Thanks a lot @czeckd . That worked !!

Thanks a lot @czeckd . That worked !!


Updated default dirs regarding Symfony 3.4+/4 compat

It's too bad that is not merged... Even deployer is very slow with MR :(
It's very hard to deploy SF4 ...

I apologize for not having merged this on time. For some reasons I needed to abandon the maitenance of this bundle ... but now I'm back and I promise fast reviews and merges. I use this bundle (not yet to deploy Symfony 4 apps) and I plan to keep using it, so I will not abandon this project.


tests and CI

We should really create a few basic tests to start with and then build and verify the tests for commits and PRs in a CI setup...

I started out with adding a "github action" that fails in a mysterious way - I've submitted a support issue to github about that.
I'm also about to setup travis for CI jobs in PR #21


[Gradle] Fix not matched spaces in settings

I had a settings.gradle.kts where includes with a space in front of the opening parenthesis were not discovered.
This PR should fix that issue.

@feelepxyz All green now and ready for merge.

@feelepxyz All green now and ready for merge.


HTML comment support / omission?

I received this issue downstream on markdown-to-jsx: https://github.com/probablyup/markdown-to-jsx/issues/110
I think the issue might be that remark treats HTML comments as unprocessed block content, generically labeled with "html". Could the comment be parsed out into its own AST node type or eliminated from the tree?

markdown-to-jsx: JSX doesn’t have comments, right? So what should happen here?
remark: Those comments are part of HTML, so I feel classifying them in remark as html makes a lot of sense? 😛

I feel like this is a weird edge case. The primary issue is if you have
text on the same line as a comment, it gets lumped in with the comment.
If there was a way to split out the text, but keep the comment as HTML that
would be fine.
On Thu, Jul 20, 2017 at 4:50 PM Titus<EMAIL_ADDRESS>wrote:

markdown-to-jsx: JSX doesn’t have comments, right? So what should happen
here?
remark: Those comments are part of HTML, so I feel classifying them in
remark as html makes a lot of sense? 😛
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wooorm/remark/issues/278#issuecomment-316825873, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAiy1kJXoayjZocjlQjDl3ZOjiUBKDllks5sP72FgaJpZM4OZlO2
.

Ah, I get it! Is this related to something I saw about JSX removing blank lines or something? Normally remark treats it as three nodes.
The “root cause” here also resulted in https://github.com/wooorm/strip-markdown/issues/14. But as that conforms to other markdown parsers, I don’t think anything should change here?

Nothing to do with JSX at all actually. This is my reaction to trying to
figure out how to use the AST in this case... I would have expected the
text on the same line to be in its own sibling text node.
On Thu, Jul 20, 2017 at 5:03 PM Titus<EMAIL_ADDRESS>wrote:

Ah, I get it! Is this related to something I saw about JSX removing blank
lines or something? Normally remark treats it as three nodes
https://astexplorer.net/#/gist/a5f7f382e606a4f025dee7440714f221/8ae80dbce2a4377e770e97714f85e6966d50e164
.
The “root cause” here also resulted in wooorm/strip-markdown#14
https://github.com/wooorm/strip-markdown/issues/14. But as that
conforms to other markdown parsers, I don’t think anything should change
here?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wooorm/remark/issues/278#issuecomment-316829258, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAiy1nAc3Mr-Ii41-KorSy5_YaVMcJDhks5sP8CfgaJpZM4OZlO2
.

Wait, the linked example has three lines, right? No text on the same line?

Sorry for the late response!
This is the way markdown sees HTML: commonmark (and thus markdown-it and GFM) agree. So I’d say this is the way it should be in the syntax tree!


[Azure.Core] The Read and ReadAsync methods of the ReadTimeoutStream class swallow exceptions of type System.Net.Sockets.SocketException

We're seeing an issue in the OpenAI library where the service is closing the connection possibly due to a timeout on their side. This results in a System.Net.Sockets.SocketException with the following message: "An existing connection was forcibly closed by the remote host". However, it appears that this exception gets swallowed by the Read and ReadAsync methods of the ReadTimeoutStream class, which have code to handle specific types of exceptions such as IOException, ObjectDisposedException, and OperationCanceledException, but swallow any other type of exception.
While the root of the issue is technically on the service for having closed the connection unexpectedly, from the perspective of our users, the client library appears to be hanging. No other useful information is provided to them until, eventually, the client library "recovers" by reaching the network timeout, which I believe results in a TaskCanceledException (?). However, losing the original SocketException explicitly stating that this was a server-side issue makes this error significantly less useful, and it can even give the impression that the library was the one at fault.

Thanks, @joseharriaga.   We'll take a look.
//cc: @annelo-msft

@joseharriaga, any chance you can provide a repro of the issue?
It looks like the Read/ReadAsync methods are potentially rethrowing a subset of exceptions (IOException, ObjectDisposedException, and OperationCanceledException) as TaskCanceledExceptions if the token is signaled, but a SocketException doesn't have any special handling so it would just get thrown as is after we fall through the catch blocks.

I was able to investigate further. I'm able to see a SocketException as a first-chance exception, and I can see that the NetworkStream class in System.Net.Sockets actually catches it and re-throws it as an IOException (with a SocketException inner exception) before it gets to Azure.Core. Then, Azure.Core catches this IOException and re-throws it just as expected.
It turns out that all is good with Azure.Core!
For the record: The reason why the client library is hanging is because the exception is causing a deadlock due to an issue in the client library's code. I have a proposed fix to take care of this deadlock, which I have communicated to the service team along with a more in-depth explanation of the above. I have also let them know that I will close this issue against Azure.Core.
Thank you!


0.2 release main README.md updates

Adding the final touches to the main page for the 0.2 release.

@OlivierBlanvillain @adelbertc Let me know if you have any comments about the changes to the main page. Also, it will be great if we can tag the release on github. Cheers!

Current coverage is 89.80% (diff: 100%)

Merging #87 into master will not change coverage

@@             master        #87   diff @@
==========================================
  Files            25         25
  Lines           471        471
  Methods         464        464
  Messages          0          0
  Branches          7          7
==========================================
  Hits            423        423
  Misses           48         48
  Partials          0          0

Powered by Codecov. Last update bf28d35...87c9d75

Awesome thanks! LGTM. Will merge and tag release tomorrow.


Installation Guide

Installation

Download the pretrained model and install Depth-Anything:
git clone https://github.com/LiheYoung/Depth-Anything
cd Depth-Anything
pip install -r requirements.txt

Copy and paste dpt.py in this repo to <depth_anything_installpath>/depth_anything folder. Note that I've only removed a squeeze operation at the end of model's forward function in dpt.py to avoid conflicts with TensorRT.

Export the model to onnx format using export_to_onnx.py, you will get an onnx file named depth_anything_vit{}14.onnx, such as depth_anything_vitb14.onnx.

Install TensorRT using TensorRT official guidance.

Click here for Windows guide

Download the TensorRT zip file that matches the Windows version you are using.
Choose where you want to install TensorRT. The zip file will install everything into a subdirectory called TensorRT-8.x.x.x. This new subdirectory will be referred to as <installpath> in the steps below.
Unzip the TensorRT-8.x.x.x.Windows10.x86_64.cuda-x.x.zip file to the location that you chose. Where:

8.x.x.x is your TensorRT version
cuda-x.x is CUDA version 11.6, 11.8 or 12.0

Add the TensorRT library files to your system PATH. To do so, copy the DLL files from <installpath>/lib to your CUDA installation directory, for example, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.Y\bin, where vX.Y is your CUDA version. The CUDA installer should have already added the CUDA path to your system PATH.

Click here for installing tensorrt on Linux.

Find trtexec and then export onnx to engine.
trtexec --onnx=depth_anything_vitb14.onnx --saveEngine=depth_anything_vitb14.engine

Add --fp16 if you want to enable fp16 precision
trtexec --onnx=depth_anything_vitb14.onnx --saveEngine=depth_anything_vitb14.engine --fp16

Download and install any recent OpenCV for Windows.

Modify TensorRT and OpenCV paths in CMakelists.txt:
# Find and include OpenCV
set(OpenCV_DIR "your path to OpenCV")
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})

# Set TensorRT path if not set in environment variables
set(TENSORRT_DIR "your path to TensorRT")

Build project by using the following commands or  cmake-gui(Windows).

Windows:

 mkdir build
cd build
cmake ..
cmake --build . --config Release

Linux(not tested):

mkdir build
cd build && mkdir out_dir
cmake ..
make

Tested Environment

TensorRT 8.6
CUDA 11.6
Windows 10

Hi,
I have an error when converting .onnx to .engine by following the above instruction (trtexec --onnx=depth_anything_vitb14.onnx --saveEngine=depth_anything_vitb14.engine)
The error message is "“Invalid Node - /If
/If_OutputLayer: IIfConditionalOutputLayer inputs must have the same shape. Shapes are [1,518,518] and [1,1,518,518].”"
BTW, I successfully created "depth_anything_vitb14.onnx" from "depth_anything_vitb14.pth".
I'm not sure where / what caused this error.
Could you point out where I should look into for debugging?
My tested environment:
Nvidia Jetson AGX Orin
Jetpack 6.0 DP
pyTorch 2.2.0
python 3.10
Cuda 12.3
TensorRT 8.6
OpenCV 4.8

Copy and paste dpt.py in this repo to <depth_anything_installpath>/depth_anything folder.

That beautifully works! the .engine file was successfully created by following the instruction.
However, there was another error when I ran a command "./depth-anything-tensorrt-simplified depth_anything_vitb14.engine test.jpg"
The error is
"terminate called after throwing an instance of 'cv::Exception'
what():  OpenCV(4.8.0) /home/ubuntu/opencv_build/opencv/modules/highgui/src/window_gtk.cpp:638: error: (-2:Unspecified error) Can't initialize GTK backend in function 'cvInitSystem'"
is there a specific opencv requirement?

Hi, just a question regarding the performance issue.
Is there a way to display / process faster by modifying something in the code, such as resolution? or this 118ms per frame is the maximum we can get?
As mentioned above, my test environment is Jetson AGX Orin 64GB memory 12 cores.
Attached a sample run video and image for your reference:
1.

2.
check_speed_2160p.webm

Hi, just a question regarding the performance issue.
Is there a way to display / process faster by modifying something in the code, such as resolution? or this 118ms per frame is the maximum we can get?
As mentioned above, my test environment is Jetson AGX Orin 64GB memory 12 cores.
Attached a sample run video and image for your reference: 1.  2. check_speed_2160p.webm

Maybe attach external GPU to your Jetson, if it's possible?

To the authors I would like to say Great work! There doesn't seem to be any CMakeLists.txt in place. I would like to contribute as well to this project, maybe shall I set-up a CMakeLists and auto install?

Yes, sure. There is indeed (CMakeLists.txt)[https://github.com/spacewalk01/depth-anything-tensorrt/blob/main/CMakeLists.txt]. But It would be great if you make it for linux.

Please send pull request

I will do it tomorrow after work will have to test it as well, it may not be that quick :)

For example stuff like this:
bool IsPathExist(const std::string& path) {
#ifdef _WIN32
    DWORD fileAttributes = GetFileAttributesA(path.c_str());
    return (fileAttributes != INVALID_FILE_ATTRIBUTES);
#else
    return (access(path.c_str(), F_OK) == 0);
#endif
}
bool IsFile(const std::string& path) {
    if (!IsPathExist(path)) {
        printf("%s:%d %s not exist\n", __FILE__, __LINE__, path.c_str());
        return false;
    }

#ifdef _WIN32
    DWORD fileAttributes = GetFileAttributesA(path.c_str());
    return ((fileAttributes != INVALID_FILE_ATTRIBUTES) && ((fileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0));
#else
    struct stat buffer;
    return (stat(path.c_str(), &buffer) == 0 && S_ISREG(buffer.st_mode));
#endif
}

Can be replaced by the crossplatform version std::filesystem (introduced in C++ 17)
[[nodiscard]] bool IsFile(const std::string& path)
{
    if (!std::filesystem::exists(path)) {
        printf("%s:%d %s not exist\n", __FILE__, __LINE__, path.c_str());
        return false;
    }

    return fs::is_regular_file(path);
}

I got stuck this evening with some unplanned issues. It seems that CUDA works with specific GCC compilers and as I am using the latest one it doesn't like it, there are also other problems with installing TensorRT library. I have slightly refactored the code and done improvements. But will be able to submit the PR only on the weekend.
cmake_minimum_required(VERSION 3.28)

project(depth-anything-tensorrt-simplified VERSION 1.0 LANGUAGES C CXX CUDA)

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)

set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED TRUE)

# TODO: Add more stricter compiler flags
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
    add_compile_options("-Wall" "-Wextra" "-Wcast-align" "-Wunused" "-O2" "-fexceptions" "-pedantic")
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
    add_compile_options("/W4" "/WX" "/we4715" "/O2" "/EHsc" "/permissive-")
endif()


Intermittent failures

For some reason which I'm as yet unable to trace I'm getting intermittent failures in my tests which asset for the existence of a callback.
So for instance I have a spec which looks something like this:
	describe "callbacks" do

		it "defined a callback to add itself to the router" do
			# Expect the callback.
			expect(subject).to callback(:enable_route).after(:create)
		end

		it "defined a callback to remove itself from the router" do
			# Expect the callback.
			expect(subject).to callback(:disable_route).after(:destroy)
		end

		it "defined a callback to update the routes if exired flag changes" do
			# Expect the callback.
			expect(subject).to callback(:update_route).after(:update).if(:expired_changed?)
		end

	end

Most of the time these specs will pass just fine, however on occasion they will fail, with the following error.
 Failure/Error: expect(subject).to callback(:update_route).after(:update).if(:expired_changed?)
   expected update_route to be listed as a callback after update if expired_changed? evaluates to true, but was not

This seems to happen when running suites of specs rather than individual specs on their own, if that makes much difference to the situation?
This is using version 1.1.1, rspec 2.14 and rails 4.1
Any suggestions or ideas as to what might be causing this?

Sounds to me like a spec is leaking state somewhere -  the matchers in your case examine the return value of the private method _update_callbacks on your model and then do some assertions on them. In your case, maybe putting a debugger into the statement here https://github.com/beatrichartz/shoulda-callback-matchers/blob/master/lib/shoulda/callback/matchers/active_model.rb#L67 and evaluating the assertions one by one will prove helpful.
Better failure messages with indications of partial failure would be helpful as well, I raised an issue for that.
Feel free to reopen if this proves to be a bug in the library.

@beatrichartz thanks for the suggestions. I'll take a closer looks at some point and try and pin down what's going on.


[472] - Fix for Accept nullable parameter

Fix for issue #472

@bastelfreak - Can you review this, Please.

@jahir-husain can you please rebase against our latest master branch and squash the commits down?

@jahir-husain can you please take a look at the comment and rebase against our latest master (so we get rid of the merge commits).

@jahir-husain please rebase instead of doing a merge.

any update?

@kntmrkm this PR needs a rebase. If you want you can  checkout the code locally, rebase it against our Head and then submit a new PR.

nullable has never been a JSON Schema keyword. It used to be a keyword of OpenAPI's schema, though isn't anymore. I don't know that a JSON Schema validator should be validating keywords that aren't part of JSON Schema.


Test fails on OS X El Capitan

Configured with ./Configure darwin64-x86_64-cc
After configuring, running make finishes without error. make test fails here:
../test/recipes/90-test_async.t ........... sh: line 1: 61186 Segmentation fault: 11  ../util/shlib_wrap.sh ./asynctest 2> ./test_async.tmp_err
../test/recipes/90-test_async.t ........... 1/1
#   Failed test 'running asynctest'
#   at ../test/testlib/OppenSSL/Test/Simple.pm line 64.
# Looks like you failed 1 test of 1.
../test/recipes/90-test_async.t ........... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/1 subtests

Can you confirm you have the very latest git master version including this recent commit which provides some OS/X fixes: 6e8ac5087061

I don't have that commit! I'll pull then try again...

Ok, with the latest commit make test no longer fails.


python collision of the backports namespace package

Issue description
collision between `/nix/store/qr9rrhalxbi1x914xj0hh9y73sfn1p3l-python2.7-backports.ssl_match_hostname-<IP_ADDRESS>/lib/python2.7/site-packages/backports/__init__.py' and `/nix/store/lazj5zfz9ysbadlrjwnzj4aa1znff7ff-python2.7-backports.shutil_get_terminal_size-1.0.0/lib/python2.7/site-packages/backports/__init__.py'

Steps to reproduce
Technical details

System: (NixOS: nixos-version, Ubuntu/Fedora: lsb_release -a, ...)
Nix version: (run nix-env --version)
Nixpkgs version: (run nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion)

What caused this to happen? Can you provide steps to reproduce the issue, and version details, as in the issue template?

Looks to be a similar issue as https://github.com/NixOS/nixpkgs/issues/22311 so I am closing this. As @lheckemann said you need to give more details.

@FRidh the issue is different - the problem is setuptools namespace packages generating namespace declaring init.py files - now if you merge the file tree of 2 of those, both will have a init.py with the same content

$ nix-build -E '((import <nixpkgs> {}).python.withPackages (ps: [ps.backports_ssl_match_hostname ps.backports_shutil_get_terminal_size]))'
these derivations will be built:
  /nix/store/cp5p81j8mk94jhjy55q6aip67vld3qxi-python-2.7.13-env.drv
building path(s) ‘/nix/store/wdh53zgsjfcw9zscy6mw9iq01cgwcgsb-python-2.7.13-env’
collision between `/nix/store/qr9rrhalxbi1x914xj0hh9y73sfn1p3l-python2.7-backports.ssl_match_hostname-<IP_ADDRESS>/lib/python2.7/site-packages/backports/__init__.py' and `/nix/store/lazj5zfz9ysbadlrjwnzj4aa1znff7ff-python2.7-backports.shutil_get_terminal_size-1.0.0/lib/python2.7/site-packages/backports/__init__.py'
builder for ‘/nix/store/cp5p81j8mk94jhjy55q6aip67vld3qxi-python-2.7.13-env.drv’ failed with exit code 25
error: build of ‘/nix/store/cp5p81j8mk94jhjy55q6aip67vld3qxi-python-2.7.13-env.drv’ failed

According to PEP 420 namespace packages shouldn't have an __init__.py

The __init__.py refers to PEP 382 which was rejected and was eventually replaced by PEP 420. Therefore, this is an upstream issue.
Even so, we can have a look at how to fix it for now.

I've reported the issue on the tracker of both packages:

https://bitbucket.org/brandon/backports.ssl_match_hostname/issues/10/conform-to-pep-420
https://github.com/chrippa/backports.shutil_get_terminal_size/issues/13

@FRidh pep420 doesn't apply to python2.7 - this is setuptools namespaces that need the file

Indeed, you're right.
I don't see any other solution than using python.buildEnv.override and passing ignoreCollisions = true;.

Closing because there isn't much else we can do here.


zabbix template might be outdated

After adding
shared_preload_libraries = 'pg_stat_statements'
to the postgresql.conf,
and after
CREATE EXTENSION pg_stat_statements;
I can find the view pg_stat_statements, but it doesn't have the column total_time (see https://www.postgresql.org/docs/13//pgstatstatements.html ).
Thus
select round((sum(total_time) / sum(calls))::numeric,2) from pg_stat_statements;
from the monitoring script fails.
Similar for function pg_current_xlog_location() does not exist
((( sorry for posting so many issues )))

No problem about too many issues, this is great motivation to start getting my stuff back in order to the public. I actually dont have a good template right now so will have to sit down and write one and revamp how things work ... If you find a good one I am more than happy to swap it out!
I'm just actually glad that you are getting some good mileage on some of my mostly undocumented images!

15-3.0.0 is a total rewrite and now includes support for the Zabbix Agent 2 :)

15-3.0.0 is a total rewrite and now includes support for the Zabbix Agent 2 :)

let's give that a try ....


Direct handling of hdf5 in javascript

Direct handling of hdf5 in js (especially in the browser) has been tried at the time of development but was not possible. It might be possible now: https://github.com/usnistgov/jsfive
This would make the server component obsolete and would therefore be a huge enhancement.

It definitely looks like this issue can be resolved using: https://github.com/usnistgov/h5wasm as mentioned in https://github.com/HDF-NI/hdf5.node/issues/29


Unable to open base configuration reference file Examples/WhisperAX/Debug.xcconfig

This file appears to be missing. Repro steps:

Clone the repo: git clone https://github.com/argmaxinc/WhisperKit.git
Open the example project: open WhisperKit/Examples/WhisperAX/WhisperAX.xcodeproj
Attempt to build.
Observe.

Looks like the fix here is to do the following after step 1:
cd WhisperKit;make setup


Unmutable environment

Aim
Change mutable variables given in environment to lambda.
Mutable variable is created and then given as environment to lambda function. Lambda function changes this variable's value.
Expected Behavior
Mutable variables change their values outside of lambda function when they are in this function's environment.
Bug
Variables don't change their value.
To Reproduce

Use repository: https://github.com/vlayer-xyz/repro-derived-constant
Run nargo execute
See the result

Project Impact
Nice-to-have
Impact Context
No response
Workaround
None
Workaround Description
No response
Additional Context
No response
Installation Method
Binary (noirup default)
Nargo Version
nargo version = 0.26.0 noirc version = 0.26.0+c46b164ce56e6a8f81255fb17eb6539bd040f336
NoirJS Version
No response
Would you like to submit a PR for this Issue?
None
Support Needs
No response

Repro is for an unrelated issue.
A repro for this issue is:
fn main() {
    let mut x = 3;

    let f = || {
        x += 2;
    };

    f();
    assert(x == 5);
}

The issue is that we allow x += 2; at all within the lambda since captures are meant to be immutable.
To capture mutable variables a mutable reference must be used:
fn main() {
    let x = &mut 3;

    let f = || {
        *x += 2;
    };

    f();
    assert(*x == 5);
}

Plan: LambdaContext appears to store these

resolver: https://github.com/noir-lang/noir/blob/f01d3090759a5ff0f1f83c5616d22890c6bd76be/compiler/noirc_frontend/src/hir/resolution/resolver.rs#L65
monomorphizer: https://github.com/noir-lang/noir/blob/95d4d133d1eb5e0eb44cd928d8183d890e970a13/compiler/noirc_frontend/src/monomorphization/mod.rs#L46


Cannot view results in dashboard except for first pipeline run

I have been trying out Cicada in one of my projects, but if I go to the dashboard I can only view the logs for the very first pipeline that I ran. I can only view the results for later pipeline runs in the links that are posted by the Cicada Bot in my PRs, but not on the dashboard.

In the browser console (Firefox) there are a few errors:
Object { input: {…}, result: TRPCClientError, elapsedMs: 384, context: {} }

context: Object {  }

elapsedMs: 384

input: Object { namespace: undefined, repo: undefined }

result: TRPCClientError: [
  {
    "code": "invalid_type",
    "expected": "string",
    "received": "undefined",
    "path": [
      "namespace"
    ],
    "message": "Required"
  }
]

<prototype>: Object { … }

Firefox can’t establish a connection to the server at wss://cicada-ws.fly.dev/. 4 [_app-5ea6b5860d5394e9.js:5:66099](https://cicada.build/_next/static/chunks/pages/_app-5ea6b5860d5394e9.js)
Firefox can’t establish a connection to the server at wss://cicada-ws.fly.dev/. [_app-5ea6b5860d5394e9.js:5:66099](https://cicada.build/_next/static/chunks/pages/_app-5ea6b5860d5394e9.js)
Firefox can’t establish a connection to the server at wss://cicada-ws.fly.dev/.

This is my pipeline file:
import { Job, Pipeline } from<EMAIL_ADDRESS>
const job = new Job({
  name: "My First Job",
  image: "ubuntu:22.04",
  steps: [
    {
      name: "Run bash",
      run: "echo hello from bash!",
    },
    {
      name: "Run deno/typescript",
      run: () => {
        console.log("Hello from deno typescript");
        console.log("I can read the local file system");
        console.log("e.g. here are all the directories in my project");
        console.log(Array.from(Deno.readDirSync("/app")));
        console.log("Or I can see my environment variables");
        console.log(Deno.env.toObject());
      },
    },
  ],
});

export default new Pipeline([job], {
  on: {
    pullRequest: ["main"],
    push: ["main"],
  },
});

@mschrage @superbryntendo any idea what is happening here?

Hmmm. Appears to not be common to all orgs. @GJZwiers is there any chance the name of the org or the repo changed recently?

@superbryntendo I did change the repo name something like 2-3 months ago.

It looks like other runs are getting "skipped" because they don't match the triggers you've set on the pipeline.

Hey @GJZwiers! Other runs are getting skipped because they don't match your trigger conditions. Currently, the pipeline will only run when on the "main" branch.

Thanks @mschrage , it's working now. Closing this,


Updating for Snappy Driver Installation

Just directing it to website rather than the sourceforge download page

Type of Change

[ ] New feature
[ ] Bug fix
[x] Documentation update
[ ] Refactoring
[ ] Hotfix
[ ] Security patch
[ ] UI/UX improvement

Description

Testing

Impact

Issue related to PR

Resolves #

Additional Information

Checklist

[ ] My code adheres to the coding and style guidelines of the project.
[ ] I have performed a self-review of my own code.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[ ] My changes generate no errors/warnings/merge conflicts.

it would make more sense to use https://www.glenn.delahoy.com/snappy-driver-installer-origin/ since this is where the webpage you linked redirects you when you attempt to download. this is the current maintainers site

Yes we can do that

it would make more sense to use https://www.glenn.delahoy.com/snappy-driver-installer-origin/ since this is where the webpage you linked redirects you when you attempt to download. this is the current maintainers site

I have changed it


feat(messagebox): add error,info and success message

affects: @fremtind/jkl-message-box-react, @fremtind/jkl-message-box
📥 Proposed changes
style and react wrapper for messageboxes
☑ Submission checklist

[x] I have read the CONTRIBUTING doc
[x] yarn build works locally with my changes
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have added necessary documentation (if appropriate)

💬 Further comments
closes: #39

None of the above are super important if we just want to get this in before the core refactor, but they should be addressed at some point (maybe make an issue if merged as is)


updted the smart contract table size, query it by get_table_rows api,return failed.

when i change my contract  table:lotterygame : uint8_t => uint16_t,just like:
  ///@abi table lotterygame i64
  struct lotterygame : public basegame {
    uint16_t current_index; //===========it was uint8_t  before
    uint16_t max_palyer; //=============it was uint8_t  before
    asset prize_pool;

    EOSLIB_SERIALIZE(lotterygame, (g_id)(randseed)(end)(date)(current_index)(
                                      max_palyer)(prize_pool));
  };

then i snd a table request
POST /v1/chain/get_table_rows HTTP/1.1
Host: <IP_ADDRESS>:8989
Content-Type: application/javascript
Cache-Control: no-cache
Postman-Token: e98f8987-1be1-a206-47b1-d737a5e45335

{
	"scope":"frank1111111",
	"code":"frank1111111",
	"table":"lotterygame",
	"json": true,
	"lower_bound":"",
	"upper_bound":-1,
	"limit":1
}

respone
{
    "code": 500,
    "message": "Internal Service Error",
    "error": {
        "code": 8,
        "name": "out_of_range_exception",
        "what": "Out of Range",
        "details": []
    }
}

and return an error,in my producter node log:
1957625ms thread-0   http_plugin.cpp:405           handle_exception     ] FC Exception encountered while processing chain.get_table_rows
1957625ms thread-0   http_plugin.cpp:406           handle_exception     ] Exception Details: 8 out_of_range_exception: Out of Range
read datastream of length 39 over by -4
    {"method":"read","len":39,"over":-4}
    thread-0  datastream.cpp:6 throw_datastream_range_error
error unpacking uint64_t
    {"type":"uint64_t"}
    thread-0  raw.hpp:616 unpack
Error unpacking field m_value
    {"field":"m_value"}
    thread-0  raw.hpp:368 operator()
error unpacking eosio::chain::symbol
    {"type":"eosio::chain::symbol"}
    thread-0  raw.hpp:616 unpack
Error unpacking field sym
    {"field":"sym"}
    thread-0  raw.hpp:368 operator()
error unpacking eosio::chain::asset
    {"type":"eosio::chain::asset"}
    thread-0  raw.hpp:616 unpack

any dieas? thank you
vertion info

Did you update your *.abi file?

yep, i run  eosioapp -g xxx.abi xxx.cppbefore deploy the contract

Did you already have data in the table? With the old layout?

yes,  the table data already exist in blockchain before i update the table struct

Then that is the problem. It is trying to serialize the old data out with the new abi and is failing.

If you need to keep the old data then create a new table and copy the rows over.

you mean i must rename the table name or deploy the contract with new account？

Revert the contract back to uint8_t so you can again interact with the table. Then if you want to preserve the data in the table. Create a new table with the new schema and copy the rows from the old table to the new. You can delete from the old table as you go or delete them all from the old table when done. At that point you can update your contract by removing the old table struct.

@heifner Is there an easy way to delete all data using cleos, or do you have to delete each row as it is searched?

Okay, Thank you. Was running into this error before and started a new blockchain, good to know that erasing the data will solve it.


Version 9 EOL & End of Support (even for security issues)

If you're trying to upgrade your (or someone else's dependencies) you may want to see A note about upgrading dependencies from version 9 version 10 big picture

A recent vulnerability has brought the topic of version 9 support back into the forefront.  The core team doesn't really have the time or focus to maintain two very different forks of the project.  Especially since the version 9 only truly exits to service a tiny audience (IE11, <1% browser share by caniuse.com).  We were kind of OK letting it live a bit longer as long as it didn't require any time/effort from us, but that's no longer proving to be the case.

Many, many issues and bugs have been fixed since the v10 release.
Many, many new features have been added.
Many grammars highlight WAY better than they did previously.
The v10 parsing engine is so much more flexible and reliable.
There are quite likely numerous vulnerabilities we've fixed along the way without even realizing it.

It's so obvious that v10 and modern browsers (released in the last ~4-5 years) is where we need to be focusing our time, not supporting very old browsers.  So if you're still using version 9:
If you aren't supporting IE11 users (or others with very obscure browsers)
You need to upgrade to v10.  No question.  For 90% of simple cases it's a trivial upgrade.  For complex integrations it may be a bit more effort (like most things). https://github.com/highlightjs/highlight.js/blob/master/VERSION_10_UPGRADE.md
If you're supporting IE11 users (or others with very obscure browsers)
Someone truly requiring IE11 support for "enterprisey" projects should perhaps look at Prism.js, which is a great project that still supports IE11. Or perhaps consider maintaining their own private fork of version 10 that supports IE11.  This should still technically be possible now (AFAIK) but may prove more difficult as time goes on.
So here is the current plan:

[x] One last v9 release (security fix).
[x] That release's release notes will mention the EOL and link to this issue. (and perhaps spew some other output, need to look at what is possible with npm).
[x] That release itself (and the current v9 release) will both be marked deprecated with a message to upgrade to v10.
[x] We may mark other prior releases deprecated as well.  I'm really curious why more npm projects don't do this. Does anyone know?
[x] SECURITY.md will be updated accordingly.
[x] v9 support will then be official EOLed.

So v9 users would want to upgrade to the latest v9 release and then either start working on upgrading to v10 or come up with other plans.

hello I try to upgrade highlight with npm in node and typeorm but I don't find the folder ... and you don't explain ho to do .... could you explain ?
thanks !

could you remove the warning when ou install highlight 10.4 : I have already the warning for 9 version .... thanks a lot !

There is no warning on the new version.

Hello @joshgoebel
Which new version? Because the warning still occur on 9.18.4 and it's a bit aggressive. Especially if the warning comes from a transitive dependency. Can you remove it or change the warning by a simple (and small) depreciation warning please.

Thanks :)

The warning should only be on installation.

Because the warning still occur on 9.18.4

Yes, the entire 9 series is no longer supported.   We pushed one last update to 9 just so anyone still using 9 would have a window to work on upgrading to 10.   It's not intended that anyone use 9.18.14 long-term.  The intentions is that everyone upgrades to v10.

Deprecation must be instrumented with npm deprecate

Yes, we're deprecating them also.  I'm not sure anyone pays attention to those though. I certainly haven't in the past.

This is exactly the problem. My users install the cli and have an unexpected warning in full page, for a dependencies it's doesn't really for a dependency that does not concern them (nor me for that matter). I can fix this problem because the helper-markdown maintainer is responsible to update his code.
I think the right solution is to use npm deprecate instead of a postinstall script!! (it's really a bad practice). By using npm deprecate, you inform npm and many other tools like snyk about the depreciation. Your postinstall script has no benefit for the final user ^^.
See you
Romain

First time doing something like this on NPM. :-)  Yes, I understand the issue you're raising now.  We need to think about what message we intend to send to users where we are not a direct dependency.  Which we didn't take into account (though it seems obvious in hindsight).  Are there specific guidelines published somewhere that specifically say "don't do this" with post-install?
It's definitely annoying that the "end user" here doesn't have a direct course of action, but I assume they would bug you, then you would bug upstream, etc... I feel like maybe there is no great choice here (or I just don't know best practices).  I feel deprecation alone is too quiet and it's possible post-install is too noisy...
I'll talk it over with the team.  I assume at this point we'd have to push out yet another release just to remove the warning, right? :-|

Are there specific guidelines published somewhere that specifically say "don't do this" with post-install?
Not especially, it's true. It's clearly my point of view, and we can agree on the fact that the big warning in post install is a bad use of postinstall ^^

I'll talk it over with the team. I assume at this point we'd have to push out yet another release just to remove the warning, right? :-|
I'm you can take a time to find a proper way to instrument that or just change the message so that it's less intrusive ;)
I understand your point of view though
Thanks

I'm you can take a time to find a proper way to instrument that

Did you have a suggestion other than deprecate?

or just change the message so that it's less intrusive ;)

What level of intrusion would you find reasonable? (just curious) :-)

Hello, the warning message when prompted for this version upgrade has some impact on the visual effect. It will prompt the version upgrade every time you save the file. Because we rely on other libraries, we don’t have the permission to update, but the upgrade prompt message will be updated every time during our development process. It will prompt you every time you save the file, which is very unfriendly!

The code here will cause us to prompt update information every time we save a file during program development, bad experience!
unfriendly!https://github.com/highlightjs/highlight.js/blob/c34318b6a720a0852d27cd13dc55ca896e1292ec/src/highlight.js#L33

What level of intrusion would you find reasonable? (just curious) :-)

Only one or two lines with the link is enough, not a big banner. This is the responsibility of each maintainer to upgrade his version. Your point is just to said to theses maintainers to upgrade his dependencies. If the maintainer doesn't have a time or doesn't want upgrade it, isn't not your responsibility ;). Your work is accomplished as long as you have indicated that version 9 is deprecated and that you will no longer support it for many very justified reasons (and posted on your github project).
My point is, because you've added this banner, it has a direct impact on my CLI installation (and user experience), when any developer install/use it on his system. It's not something that I wanted and I don't want to have feedback on a subject that is not my scope either ;)

Did you have a suggestion other than deprecate?
npm deprecated is the standard for your problem (or I forgot something). So I haven't other solution.

I would also like to echo what @Romakita has said. I think your job would be done, when you put out a warning saying this isn't supported any more and you have to go for new version. It is completely up to the maintainers to upgrade or not, their dependencies according to their requirements. Any issues they would face in future due to not upgrading to the latest version should be completely owned by them.
If you see the two bugs(one raised by me) where this issue has been mentioned, I believe both of them have no direct connection with what is currently there, but the impact is a bit big.

@ZQun Probably helpful to discuss the warn separately from the post-install notices.

It will prompt the version upgrade every time you save the file.

That's a bit unusual... why are you running npm install every time a file is saved?

I think your job would be done, when you put out a warning saying this isn't supported any more and you have to go for new version.

That's what I thought I was doing.  I don't consider deprecate a "warning".  The warning is visual (for sure) but if it actually BREAKS someones build I don't understand why... taht's what I'd be very curious to understand before we decide what to do here.

@MGM19 I saw your single issue, is there two?

@ZQun Probably helpful to discuss the warn separately from the post-install notices.

It will prompt the version upgrade every time you save the file.

That's a bit unusual... why are you running npm install every time a file is saved?

@joshgoebel
Hello,
You see, after I run the program in npm run dev, I will prompt every time I save a file

Ah, I understand what you  mean now.  Yeah, it is a bit more annoying if you're restarting your whole application every time a single file is saved.

Ah, I understand what you mean now. Yeah, it is a bit more annoying if you're restarting your whole application every time a single file is saved.

@joshgoebel
Hope you can handle it, thank you!

@ZQun Well, it's not causing any harm other than being a little noisy... in development you could simply comment out the warning line in highlight.js and then it would shut up...
I'm still trying to figure out how we want to approach this big-picture.

@joshgoebel
Sorry, if I put that out wrong, but I was meaning that total of two bugs - one from me and the other from @ZQun .
For me it's not the visual impact to be honest. I am using https://github.com/DannyDainton/newman-reporter-htmlextra to generate html reports for our API testing using Postman and Newman. The reporter have a dependency with highlight. So now I have a step in my Pipeline in which I use powershell script to run my collection and generate a report using the reporter. The step is now failing with an ##[error] badge. Since this step decides whether my pipeline should pass or fail, I can't suppress this error.

@MGM19 Yes, I see your issue now.  Just to be clear though we are NOT raising (or logging) any kind of error, only a warning.  Your build system is choosing to interpret the warning as an error.

in development you could simply comment out the warning line in highlight.js and then it would shut up...
My situation is that I can't even take this approach. All our pipelines are failing due to this and I am unable to explain a valid reason why it's happening to many, since highlight doesn't have any direct dependency.

@MGM19 You can always re-pin 9.18.3 until this is resolved to your satisfaction.

To be Honest, I am not sure if I can answer the criteria question. I haven't specified any criteria. The Pipeline is being configure using YAML and the specific step looks something like this.

pwsh: |
newman run "${{ parameters.collectionName }}" -e "${{ parameters.environmentFileName }}" --reporters "cli,htmlextra" --reporter-htmlextra-template ${{ parameters.htmlextraVersionFileName }}
displayName: 'run newman tests'
enabled: true
condition: succeeded()
failOnStderr: true
workingDirectory: '${{ parameters.workingDirectory }}'

I got your point that, your's is more than a warning rather than an error. But, I am not sure why powershell is considering it as a error.

https://nodejs.org/api/console.html#console_console_warn_data_args

The console.warn() function is an alias for console.error().

 :-)  Even another very smart associate I asked just now got this wrong also.  Warnings are not errors... but if you ask Node evidently they are.  So we'll probably have to do something about it now I think (and probably change our library in other places also long-term [at least when running in Node]).
But if you're broke, broke atm, please revert to 9.18.3 until we get this sorted.

@joshgoebel
I given a demo today with the CLI. You can see the log appear each time:

Is clearly not normal ^^.

The problem @joshgoebel currently is that, I believe I have very little/no control over upgrading/reverting highlight.js and it's more with the maintainers of the reporter.
I may be wrong, but as I am not an expert with node or npm, I am not sure how to head forward?
Any help would be really appreciated. With my limited knowledge, I believe I have to wait until this is resolved.

By the way, Thank you and happy that you found the root cause of why this happening. Really helpful is that bit of info.

@MGM19 In your own project can you not pin the version yourself:
npm install<EMAIL_ADDRESS>

@joshgoebel This is a small fix, but suddenly, we find ourselves adding a dependency that is not ours directly :)

@Romakita I didn't say it was a permanent solution, but MGM19 was asking how he could take some control.

yes :) no worries.

I have tried that and not sure why, that's not solving the issue. Still I can see the error. When I checked package.json inside the highlights.js folder inside the reporter's node_modules folder I am seeing this.

have you tried npm dedup after using the npm install ?

You can't change the reporters version, but I thought if you installed it yourself that the reporter might use that version - I'm not sure how such things work with NPM honestly.

have you tried npm dedup after using the npm install ?

Tried this now, but didn't help unfortunately.

You can't change the reporters package version, but I thought if you installed it yourself that the reporter might use that version when invoked from your package - I'm not sure how such things work with NPM honestly.

I too had a similar thought, but it didn't seems to be helping much. TBH, I am also not so aware how the upgardes work within NPM.

I plan to push a 9.18.5 release in a bit to resolve the warn vs log issue (and give people a way to turn off the warning).  Of course if your dependency has upgraded to 9.18.4 then they would also need them to upgrade to 9.18.5 to resolve your issue with warn logging to STDERR.

I plan to push a 9.18.5 release in a bit to resolve the warn vs log issue (and give people a way to turn off the warning). Of course if your dependency has upgraded to 9.18.4 then they would also need them to upgrade to 9.18.5 to resolve your issue with warn logging to STDERR.

Not necessarily. Example here: https://github.com/helpers/helper-markdown/blob/master/package.json#L29
The maintainers allow all versions after "^9.12.0", it doesn't need to update the dependency, but it explain why your banner have a side effect on any projects which use hightlight.js today.

 So you meant to say when @joshgoebel  pushes  9.18.5 it should, by default fix the issue and there is no upgrade we have to do even if it's one of our dependency?

@MGM19  It should but regarding the PR, It won't solve really the problem.
@joshgoebel Has added options and env variable to shutdown the warning (at runtime) by the code. It's a good intention, but
if in our case, the code is probably executed by a transitive dependencies, which it doesn't really know the existence of this issue/options.
And the questions as maintainers:
why I should add an option or an environment variable in my code for a log problem which would come from a transitive dependency. If we allow that then, anyone can add an environment variable to disable unwanted logs.

After explanation, the 9.18.5 should fix the problem if the transitive dependency don't call the method which contain the log. (but isn't sure).
@joshgoebel I'll give you feed when your release will be available. Can you consider, using this highlight method in Node.js context, the security issue is valid?

The maintainers allow all versions after "^9.12.0",

@MGM19 If this is the case then you should indeed be able to fix it yourself now that 9.18.5 is released.  The warn has been removed so your build system shouldn't see any error anymore.

Can you consider, using this highlight method in Node.js context, the security issue is valid?

If Highlight.js is being used to highlight user provided content there are potential issues (whether in the browser or on the server). And again these are only the known unknowns. :-)  Version 9 is really VERY VERY old an out-of-date.

from a transitive dependency.

It doesn't matter how deep a dependency it is, if you're using it for it's said purpose (even indirectly) then you should be aware of the deprecation and the security concerns of not upgrading.  And if you aren't truly using it, then you shouldn't see the warning.  We'll see how 9.18.5 goes. :)

If we allow that then, anyone can add an environment variable to disable unwanted logs.

I don't know what you mean here.

@MGM19 Sorry about breaking your build. :)  Lesson learned about warn.  And I've created an issue to track it in version 10 and see what changes may need to be made:
https://github.com/highlightjs/highlight.js/issues/2880

to be clearer if each npm module introduces an environment variable to disable logs that I did not have when developing my code, I will end up with a number of unwanted warnings and independent of my wish. I would therefore be forced to integrate these variables to fix the problem while everyone does the migration work. which may take time.
I don't want to deal with this complixity at the level of my code. Because it’ll be unmaintainable :)
we agree the best solution is to update but must it be possible.

Again just to be clear:  It's not just some random log output, it's a SERIOUS warning about version 9 deprecation and potential security concerns that people using the library (directly or indirectly) should know about.  We provide 3 different ways to disable the warning.  When it comes time to deprecate v10 we'll keep this bigger picture in mind and see if we can come up with something better.

Yes sure ;) thanks again

https://github.com/highlightjs/highlight.js/issues/2882

@joshgoebel , I am happy to let you know that my issue is now resolved and I didn't have to do anything except uninstall the newman htmlextra reporter and install it again. I think @Romakita was correct with maintainers allowing all version after 9.12.0. Now my builds are back to green. I would really like to appreciate all your time and efforts and also like thank you for acting on it swiftly.

@MGM19 Sorry about breaking your build. :) Lesson learned about warn. And I've created an issue to track it in version 10 and see what changes may need to be made:
#2880

Please don't be sorry. We all have met these unforeseen situations and in my case to be honest, I think you haven't done anything wrong as it's npm which considers warning to hard error. In one way it's good that, we all have our lessons learned and personally I am happy that I got to interact with you guys.
Thanks again for fixing it and doing it swiftly. I have tried 3 different builds and all have gone green, so I would assume that it is resolved. Any way I will confirm by EOD about any unseen issues if anything happens.

Just for information, the highlighted part in screenshot of package.json for highlight.js is what changed after I re-installed the reporter.

@joshgoebel
Hello,
<EMAIL_ADDRESS>did not install successfully, is it because I used the wrong command?

That's weird. Try it again?

That's weird. Try it again?

It feels like version 9.18.5 is in a different tab, "previous":"9.18.4","unsupported":"9.18.5"
After I executed npm install, I did not install 9.18.5 into the dependencies package-lock.json

@joshgoebel
Hello,
After I execute npm install, the default installation is still 9.18.4

@ZQun Is it possible for you to uninstall(may be globally) your package for which highlight.js is a dependency? And then install that again? As mentioned earlier, for me uninstalling my reporter and installing it again fixed the issue and it automatically picked 9.18.5.

Yes they were tagged differently but if you specify the version directly that should work regardless of the tag. You could also try
npm install highlight.js@unsupported￼

There is no problem using npm source to install. I can’t install using npm source in China in China. I have found a way and execute npm install git+https://github.com/highlightjs/highlight.js.git#9.18 .5 --save can be installed successfully!

@joshgoebel
Hello,
I encountered the following error while npm run dev, is there a solution?

@ZQun Our primary source repository is NOT a build product - it's only the raw source.
There is of course https://github.com/highlightjs/cdn-release, but the build is in build... I'm not sure if there is a way to tell npm to install from a repo using a given path.

@ZQun Our primary source repository is NOT a build product - it's only the raw source.
There is of course https://github.com/highlightjs/cdn-release, but the build is in build... I'm not sure if there is a way to tell npm to install from a repo using a given path. N/m CDN isn't going to help you because you're wanting the NPM library release I assume... yeah I dunno what to tell you if you can't actually access the NPM repository.
You could always build from source and then do the install locally.

@joshgoebel
Thank you for your answer. The problem has been solved, mainly using typeorm. Today I found that the following dependencies have been upgraded to version 10.x!

Relevant: v9 is now known to have potentially serious security issues for anyone using it to highlight user provided content:
https://github.com/highlightjs/highlight.js/security/advisories/GHSA-7wwv-vh3v-89cq

Hell sorryy to bother you I saw a lot of thing above but I can't understand thing so can anyone telle me how to  solve this please ?
npm run start

> @ start C:\Users\gigabyte\Documents\developer_site\website
> docusaurus-start

LiveReload server started on port 35729
Docusaurus server started on port 3000
Version 9 of Highlight.js has reached EOL and is no longer supported.
Please upgrade or ask whatever dependency you are using to upgrade.
https://github.com/highlightjs/highlight.js/issues/2877

I am really new to this and the first person who made the project is no longer here

@sowousmane
You could try the usual suspects:

`npm install highlightjs@11
npm upgrade highlightjs

But it's we're a transitive dependency (a dependency of a dependency) then you may first have to update/upgrade OTHER packages... all depends.

@joshgoebel  thank you so much


Support FMI 3.0

Just FYI, FMI 3.0 will be supported in the future.
Some refactoring is underway to accommodate this, but the actual FMI 3.0 support will not come before it's officially  released.

Just to update any potential followers. As time has passed and the standard has not been released yet, and also because it seems that the difference between FMI 3.0 and 2.0 seems much bigger than 1.0 to 2.0 I cannot promise that this library will ever receive support for FMI 3.0.


chore(main): release 0.5.0

:robot: I have created a release beep boop
0.5.0 (2023-10-06)
Features

stripping indexes and adding them later, and testing (#273) (c730e78)

Bug Fixes

precheck parameter value guidelines updated for #267 (#268) (e423929)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/Autodesk/pgbelt/releases/tag/v0.5.0 :sunflower:


Delay when Stream from RTSP camera link

Hi @dan246
I have got delay about 1 second when using the RTSP link from a HIK camera
I tried both your OpenCV Code and FFMPEG Code on Worker Docker
How to reduce delay?

Hi @xxtkidxx ,
In the project, the FFmpeg decoding method is set to TCP by default:
ffmpeg_cmd = [     'ffmpeg',     '-rtsp_transport', 'tcp',     '-loglevel', 'error',     '-i', camera_url,     '-vf', 'fps=1',     '-f', 'rawvideo',     '-pix_fmt', 'bgr24',  # Using 'bgr24' format     'pipe:' ]
TCP is reliable but may introduce latency due to its acknowledgment and retransmission mechanisms. If real-time performance is a higher priority for your use case, switching to UDP as the transport protocol can help reduce the delay.
P.S
You might be able to further reduce the delay by implementing the following mechanisms: lowering the FPS, adjusting the FPS buffer size, or using FFmpeg's low-latency mode, among others.

Hi @dan246
Thanh you for response,
My camera (HIKVision) not suport UDP protocol. When I uncomment the lines '-rtsp_transport', 'tcp', error has occurred
When I use the config as shown in the photo, the delay is reduced to about 0.7s. Frame recognition delay is about 1s
It seems like it's the best result right now

Hi @xxtkidxx,
Thank you for your response and for sharing your findings. I understand your situation and the limitations with your camera. I will continue researching decoding techniques to further reduce latency. If I discover any new optimizations, I’ll make sure to update the project.
Likewise, if you make any progress or find a solution, please feel free to share it as well.
Thank you!

Hi @dan246
I am very interested in your project and willing to contribute my finding.
There is a problem of 300ms delay between stream and recognized stream when I use model Yolo11n.pt
I checked that the frame processing time on yolo is only 50ms
What is your opinion on this?

Hi, @xxtkidxx
You're right; there's indeed no need to fetch camera_status from the API. This part has been fixed, and we can directly retrieve it from Redis. Also, I removed the supervision part—drawing the boxes directly using YOLO's results seems to be faster, doesn't it?

Hi @dan246
I will try your new code and give feedback
Thank you for your efforts

I tried the new code, the time has improved and is more stable but is still at 0.2s
I have some questions

My test system  with 4 cameras and 1 model, the total run for 1 loop take over 0.2s while the processing time of each camera is only 0.1s. Why is that?

Why is it necessary to set the waiting time for the next loop to at least 0.1s?

Hi @xxtkidxx
Thank you for your testing and feedback! This might be related to the overhead of asynchronous task switching or other logical factors. I’ve noted this issue and will analyze and optimize it further as soon as possible after I address my current tasks. If you have new observations or test results, feel free to share them with me!

Hi @dan246
I hope new result from you
Thanks you

Hi @xxtkidxx,
Based on your first question:
The total runtime exceeds 0.2 seconds because cameras are processed sequentially, and model inference is a synchronous blocking operation. This prevents true parallel processing and causes delays.
By switching to batch processing, images from multiple cameras are fed into the model together, reducing repetitive overhead. This optimizes the workflow, bringing the total runtime closer to the duration of a single model inference while maintaining each camera’s processing time at 0.1 seconds.
Based on your second question:
Setting a minimum wait time of 0.1 seconds prevents the event loop from entering a busy-waiting state. Without it, the program might immediately start the next loop, overloading the CPU and causing instability.
This pause ensures system stability and efficiency. After optimizations like batch processing, you can fine-tune the wait time as needed, but care must be taken to avoid excessive resource use.
I hope this addresses your concerns! I’ve already pushed the test code to the dev branch as appv2.py. Let me know if you need further clarification or assistance!

Hi @dan246
Cám ơn chia sẻ

Thank you for your sharing, I tried  your code for 6 cameras,the recognition speed improved  but after about 1 minute it was frozen for 10 seconds then the stream worked normally again. I sent a photo of the log

Hi @xxtkidxx ,
Thank you for sharing the log and results. From the observation, it seems there might be a resource contention or busy-waiting issue during the batch processing, which could explain the freezing behavior and the -5.63 seconds log entry.
As a first step, I suggest adjusting the wait time between batches to see if it alleviates the problem. You can start with a small delay (e.g., 10ms or 50ms) after processing each batch. This might help reduce system contention and improve stability without significantly affecting performance.
Please let me know if this adjustment makes a difference. If not, we can dive deeper into analyzing resource usage or other potential bottlenecks.

Hi @dan246

The problem occurs while we fetch  images from Redis (i have been disabed detection fuction), I'm trying to do it the way you suggested. However, if possible, let's check together to get the best results

Thank you for your update. As a quick adjustment, I suggest modifying the adjusted_sleep calculation in your main_loop to ensure there is always at least a minimal sleep duration, even if the elapsed time is very short.
You can change:
adjusted_sleep = max(0, self.SLEEP_INTERVAL - elapsed_time)

to:
adjusted_sleep = max(0.001, self.SLEEP_INTERVAL - elapsed_time)

This ensures a minimum sleep time of 1 millisecond, which might help avoid busy-waiting and improve system stability. Please try this change and let me know if it makes any difference.

Hi @dan246
I tried following your suggestion. The problem did not fix.
Please tell me your testing system? number of cameras, computer configuration and operating system. I will refer to it and check again
Thanks you

Hi @xxtkidxx
OK, My testing system is configured as follows:

Operating System: Windows 10
GPU: NVIDIA RTX 4090
Number of Cameras: 30
Number of Workers: 10

This is the setup I used during testing, and I did not encounter any negative seconds issues under these conditions. Please refer to these specifications and check if there might be differences or limitations in your system setup. Let me know if you have further questions or need additional support.

@xxtkidxx
Thank you for your question. Initially, I set the FPS to 30 for testing the system under a realistic workload with all 30 cameras running at high frame rates. However, during debugging and issue analysis, I later reduced the FPS to 1.
This adjustment was made for the following reasons:

Lowering system load: At 30 FPS, the total workload (especially for 30 cameras) was very high, which could make it difficult to isolate bottlenecks in the system.
More controlled environment: By reducing the FPS to 1, the data processing became more stable and manageable, making it easier to analyze specific issues like Redis operations or async scheduling.
Simplified debugging: With lower frame rates, I was able to pinpoint issues more effectively without being overwhelmed by the high volume of data.

@xxtkidxx
Thank you for the suggestion! I’ve already switched to using time.monotonic() in the dev branch. Regarding the new issue, I recommend starting with Gunicorn for better performance. Here are the details:
Install Gunicorn
You can install Gunicorn using pip:
pip install gunicorn
Run Flask with Gunicorn
Replace the Flask development server with Gunicorn for production use. Use the following command:
gunicorn -w 4 -k gevent -b <IP_ADDRESS>:5000 --timeout 120 app:app
Options explained:

-w 4: Specifies the number of worker processes. Adjust this based on your server's CPU cores.
-k gevent: Enables asynchronous workers, allowing efficient handling of multiple requests simultaneously.
--timeout 120: Prevents Gunicorn from prematurely killing long-running requests.

Optimize Your Code (Still to be Tested)
Replace time.sleep with await asyncio.sleep to ensure non-blocking execution. This is especially important for routes like /recognized_stream/<camera_id>.
These steps should improve your application's performance and help prevent the server from getting stuck when handling a high volume of requests. Let me know if you need further assistance!


SW-13731 - Respect umask for all created cache files

Alternative for Pull Request https://github.com/shopware/shopware/pull/366 by @FiveDigital
Internal Issue: https://issues.shopware.com/#/issues/SW-13731
Problem
Instead of a dozen different settings for file and directory permissions I would like Shopware to respect the umask of the PHP Process for all generated caches.
Example:
Your desired permissions for files of 660 and 770 for directories can be archived by setting the umask to 007.
This can be either done in the Apache configuration/startup script, or during early Shopware boot in the PHP Process itself. For that add umask(0007); to your config.php.
Implementation:
Most caches already did respect the umask.
This pull request fixes the remaining template and the proxy caches.
The only hardcoded permission of 0664 and 0775 are the generated Doctrine Proxies. This is due to the recent changes regarding a possible Security Misconfiguration Vulnerability in Doctrine: http://www.doctrine-project.org/2015/08/31/security_misconfiguration_vulnerability_in_various_doctrine_projects.html
I already reported that issue to Doctrine Upstream and provided a pull request to fix that. See:
https://github.com/doctrine/doctrine2/pull/5602
@FiveDigital @roman-1983
Can you please verify that this pull request will fix your permission issues?

I will pull this PR into our current project's repository an evaluate the changes. We always have problems like Unable to create the cache directory (/var/www/htdocs/var/cache/production_201601120732) on either the CLI or in the web. In our scenario the webserver user and the CLI users share the same group and all directories have the sticky bit set. This is a common scenario since you won't use the webserver user on CLI. But since there are directories and files without write permissions for the group we often run into problems.

@FiveDigital any feedback on this? Our internal tests are are positive so I am going to merge this PR during the day.

I will have a look at this today :+1: The solution itself is of course better than my initial approach. We will test this in our scenarios on the CLI and web and provide you with feedback asap. Does the creation of the cache folder itself production_201601120732 already respect the umask? We had problems with that folder and with the files under web/cache.

The cache directory already respected the umask.
See: https://github.com/shopware/shopware/blob/5.1/engine/Shopware/Kernel.php#L454
if (false === @mkdir($dir, 0777, true) && !is_dir($dir)) {
    throw new \RuntimeException(sprintf("Unable to create the %s directory (%s)\n", $name, $dir));
}

mkdir() applies the the umask by default.

Was merged with commit: https://github.com/shopware/shopware/commit/dfd3b21d587023f7d257a78db77f1040067b823b


Build on Windows for Raspberry Pi 4

electron builder 22.4.1
electron 8.2.1
electron-updater 4.2.5
target: linux, armv7l (raspberry)
sqlite3: "^4.1.1",
"build": "webpack --mode production && electron-builder --config .env.json",
I included https://github.com/mapbox/node-sqlite3 but this will want to build locally through node-gyp (in TeamCity). Which versions should I indicate to prevent manual local rebuild so that I can trigger the build from a Windows machine (so without rebuilds). Which binaries are available?
"win": {
"target" : [
{
"target": "nsis",
"arch": ["x64"]
}
]
},
"linux": {
"target" : [
{
"target": "AppImage",
"arch": ["armv7l"]
}

Please try with the latest version and get back to me if you still have issues 🙂


Can WYSIWYG be disabled completely?

Summary
I want to disable WYSIWYG, is there anyway to do that?
Version
3.1.1

@dehghani-mehdi
Sorry for late replying.
You can hide switch button for converting WYSIWYG.
new Editor({
  ...
  hideModeSwitch: true,
  initialEditType: 'markdown'
})


[BUG] System.IO.IOException: Access to the path '\?\C:\Users\User\AppData\Local\Bloxstrap\Roblox\Player\content\textures\Cursors\KeyboardMouse' is denied.

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[X] I have thoroughly looked through the available Wiki articles and could not find a solution to my problem.
[X] I am using the latest version of Bloxstrap.
[ ] I did not answer truthfully to all the above checkboxes.

Bloxstrap Version
v2.8.0
What problem did you encounter?
[BUG] System.IO.IOException: Access to the path '\?\C:\Users\User\AppData\Local\Bloxstrap\Roblox\Player\content\textures\Cursors\KeyboardMouse' is denied.

how can i fix it?
Bloxstrap Log
2024-10-26T09:53:25Z [App::OnStartup] Starting Bloxstrap v2.8.0
2024-10-26T09:53:25Z [App::OnStartup] Compiled Wednesday, 16 October 2024 at 12:44:37 PM from commit 42ffec26cf2e080fe22210305a08fcb286aeb577 (tag/v2.8.0)
2024-10-26T09:53:25Z [App::OnStartup] Loaded from %UserProfile%\AppData\Local\Bloxstrap\Bloxstrap.exe
2024-10-26T09:53:25Z [App::OnStartup] Temp path is %UserProfile%\AppData\Local\Temp\Bloxstrap
2024-10-26T09:53:25Z [App::OnStartup] WindowsStartMenu path is %UserProfile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
2024-10-26T09:53:25Z [Logger::Initialize] Initializing at %UserProfile%\AppData\Local\Bloxstrap\Logs\Bloxstrap_20241026T095325Z.log
2024-10-26T09:53:25Z [Logger::Initialize] Finished initializing!
2024-10-26T09:53:25Z [JsonManager<Settings>::Load] Loading from %UserProfile%\AppData\Local\Bloxstrap\Settings.json...
2024-10-26T09:53:25Z [JsonManager<Settings>::Load] Loaded successfully!
2024-10-26T09:53:25Z [JsonManager<State>::Load] Loading from %UserProfile%\AppData\Local\Bloxstrap\State.json...
2024-10-26T09:53:25Z [JsonManager<State>::Load] Loaded successfully!
2024-10-26T09:53:25Z [FastFlagManager::Load] Loading from %UserProfile%\AppData\Local\Bloxstrap\Modifications\ClientSettings\ClientAppSettings.json...
2024-10-26T09:53:25Z [FastFlagManager::Load] Loaded successfully!
2024-10-26T09:53:26Z [LaunchHandler::LaunchRoblox] Initializing bootstrapper
2024-10-26T09:53:26Z [LaunchHandler::LaunchRoblox] Initializing bootstrapper dialog
2024-10-26T09:53:26Z [Bootstrapper::Run] Running bootstrapper
2024-10-26T09:53:26Z [Bootstrapper::SetStatus] Connecting to Roblox...
2024-10-26T09:53:26Z [Deployment::TestConnection<https://setup.rbxcdn.com>] Connecting...
2024-10-26T09:53:26Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/versionStudio
2024-10-26T09:53:26Z [Deployment::InitializeConnectivity] Testing connectivity...
2024-10-26T09:53:27Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/versionStudio
2024-10-26T09:53:27Z [Deployment::InitializeConnectivity] Got https://setup.rbxcdn.com as the optimal base URL
2024-10-26T09:53:27Z [Bootstrapper::Run] Connectivity check finished
2024-10-26T09:53:27Z [Bootstrapper::CheckForUpdates] Checking for updates...
2024-10-26T09:53:27Z [HttpClientLoggingHandler::ProcessRequest] GET https://api.github.com/repos/bloxstraplabs/bloxstrap/releases/latest
2024-10-26T09:53:27Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://api.github.com/repos/bloxstraplabs/bloxstrap/releases/latest
2024-10-26T09:53:27Z [Bootstrapper::CheckForUpdates] No updates found
2024-10-26T09:53:27Z [Bootstrapper::GetLatestVersionInfo] Got channel as production
2024-10-26T09:53:27Z [Deployment::GetInfo] Getting deploy info for channel production
2024-10-26T09:53:27Z [HttpClientLoggingHandler::ProcessRequest] GET https://clientsettingscdn.roblox.com/v2/client-version/WindowsPlayer
2024-10-26T09:53:28Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://clientsettingscdn.roblox.com/v2/client-version/WindowsPlayer
2024-10-26T09:53:28Z [RegistryKeyEx::SetValueSafe] Writing '' to HKEY_CURRENT_USER\SOFTWARE\ROBLOX Corporation\Environments\RobloxPlayer\Channel\www.roblox.com
2024-10-26T09:53:28Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-4ffdeb3e393e469e-rbxPkgManifest.txt
2024-10-26T09:53:28Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-4ffdeb3e393e469e-rbxPkgManifest.txt
2024-10-26T09:53:28Z [Bootstrapper::SetStatus] Installing {product}...
2024-10-26T09:53:28Z [LaunchHandler::LaunchRoblox] Bootstrapper task has finished
2024-10-26T09:53:28Z [LaunchHandler::LaunchRoblox] An exception occurred when running the bootstrapper
2024-10-26T09:53:28Z [App::FinalizeExceptionHandling] System.IO.IOException: Access to the path '\\?\%UserProfile%\AppData\Local\Bloxstrap\Roblox\Player\content\textures\Cursors\KeyboardMouse' is denied.
   at System.IO.FileSystem.RemoveDirectoryRecursive(String fullPath, WIN32_FIND_DATA& findData, Boolean topLevel)
   at System.IO.FileSystem.RemoveDirectory(String fullPath, Boolean recursive)
   at Bloxstrap.Bootstrapper.UpgradeRoblox()
   at Bloxstrap.Bootstrapper.Run()
   at Bloxstrap.Bootstrapper.Run()

Fixed in 2.8.1 (assuming so, reopen if not)

Fixed in 2.8.1 (assuming so, reopen if not)
tried to reinstall on the discord and its still havent work for me


feat: Add PreferAny option to CPU preferences

What this PR does / why we need it:
This commit adds PreferAny option to CPU preferences that should allow a user to accept any topology when there are required number of vCPUs provided.
Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note:

None

/cc @0xFelix

/retest-required

/retest-required


Lost a lot of metrics like firehose_value_metric_rep_capacity_total_containers after upgarde to vertsion 6.x

Hello,
firehose_value_metric_rep_capacity_total_containers metrics and simular is lost ufter upgrade to new firehose_exporter.
how to fix that?
It's broke a lot of grafana dashboards like CloudFoundry CF: Cells Capacity ...

firehose_exporter.filter
was the reason


Add proper HEALTHCHECK colorization/intellisense (Dockerfile language)

Copied from @lostintangent original issue here: https://github.com/microsoft/vscode-docker/issues/43

This PR introduces basic colorization of the HEALTHCECK command in Dockerfiles, however, it doesn't support colorization of the healtcheck sub-commands (NONE and CMD) or any of the options (--interval, --timeout, --retry).

Additionally, the Dockerfile language service should provide auto-completion support for the HEALTHCHECK command, in order to make it easier to author.
The newly added linting support already fully supports validating the various permutations of the HEALTHCHECK command, and we have a snippet as well, so we just need to finish the colorization/auto-complete.

Moved to owning repo

Ah, sorry--didn't realize that file comes from further upstream.


Support Azure Role-Based Access Control (RBAC)

Steps to reproduce:

Grant Reader role to Storage Account.
Grant Storage Blob Data Contributor role to a container within the Storage Account.
In VS Code, do "Azure: Sign In".
In the Azure menu in VS Code, expand STORAGE and then expand the subscription the account is in.
Observe that the Storage Account is visible because Reader rights were granted.
Expand the Storage Account.

=> Error: The client '' with object id '' does not have authorization to perform action 'Microsoft.Storage/storage/storageAccounts/listKeys'...
Do the same thing in Azure Storage Explorer and everything works well. User can see the containers under the Storage Account and can browse the container the user was given access to. Other containers report an error as expected.
Expected result: Reader role is sufficient to see the containers in an Storage Account and access to Storage Account keys is not needed.

For now, I would recommend giving read access for the container and the storage account.

Setting Reader on the container and storage account doesnt work. The plugin still tries to list access keys and fails there.

Permission to list keys is included in the following built-in roles:

Owner
Contributor
Storage Account Contributor

It's an excessive permission but a possible workaround.

This issue has become stale and is at risk of being closed. The community has 60 days to upvote the issue. If it receives 5 upvotes we will keep it open and take another look. If not, we will close it. To learn more about how we handle issues, please see our documentation.
Happy Coding!

Hi,
I have the same issue.
It comes from the use of the default authentication type (keys) which is marked as legacy.

The AZ Cli has the same behavior, by default, but it can be overridden by the environment variable AZURE_STORAGE_AUTH_MODE or the --auth-mode parameter set to login.
I think the extension should have a parameter or use the same environment variable.
Here is an AZ Cli example:
$ az storage blob list -c stcontainer --account-name staccount
==> Access denied

$ az storage blob list -c stcontainer --account-name staccount --auth-mode login
==> Access granted

@romain-leonard I don't think users should be configuring up anything. I open the same thing up in the Azure Storage Explorer app and it works.

I add my vote to this, our security model at my place of work will never allow the authentication through as it stands, and I am missing the ability to be able to view the contents of our storage containers in VS Code.


Primata/465 unit test wrapping to amount and timelock

Summary

RFCs: Issue 465.
Categories:protocol-units.

Adds a test that ingests eth_details and checks if wrapped to value is as expected.
Changelog

adds test_wrapping_to_on_eth_details
adds fuzz_test_wrapping_to_on_eth_details

Testing
singular and fuzz
Outstanding issues
deeper integration with the stack maybe

Can you drop the command in the description to run the unit test? Just good documentation. We don't need to add this unit test into our CI.

@0xPrimata could you add the test command to run to test this, into the PR description.


Support "install per repository"

I'd like to have a way from the VSCode tool to perform the "install per repository" steps.
This would make it easier to undertake a workflow of:

dotnet new
Open vscode
Add paket

I'm happy to have a crack at adding this feature, but I can't for the life of me work out how to dev locally on the extension :(

I think @Krzysztof-Cieslak has a very good strategy for local dev
Aaron Powell<EMAIL_ADDRESS>schrieb am Di., 14. Aug. 2018,
03:36:

I'm happy to have a crack at adding this feature, but I can't for the life
of me work out how to dev locally on the extension :(
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ionide/ionide-vscode-paket/issues/65#issuecomment-412723763,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADgNIE3vJjmhPDJ9zJa6tQteFizVSeMks5uQimvgaJpZM4V7p8k
.

Fixed in 2.0


Fix -fmodule-map-file pointing to non-existent path

We were passing this unconditionally which would break in the case where we weren't generated a module map because an explicit one exists.
rdar://74115399

@swift-ci please smoke test

Tested locally to verify that this fixes the issue mentioned in #3246

We should probably add a test, I was just trying to have a PR quickly.

/Users/buildnode/jenkins/workspace/swift-package-manager-with-xcode-self-hosted-PR-osx/branch-main/swiftpm/Tests/XCBuildSupportTests/PIFBuilderTests.swift:1248: error: -[XCBuildSupportTests.PIFBuilderTests testLibraryTargets] : XCTAssertEqual failed: ("nil") is not equal to ("Optional(["$(inherited)", "-fmodule-map-file=$(OBJROOT)/GeneratedModuleMaps/$(PLATFORM_NAME)/FooLib1.modulemap"])")

@neonichu looks like a test needs to be updated?

Looks like the test is correct, but the fix isn't. We still need to impart for Swift targets. The only case where we shouldn't is for clang targets with an explicit module map.

@swift-ci please smoke test

CI passes: https://ci.swift.org/job/swift-PR-toolchain-osx/867/


Broken Link

The link to download the upload baseline is broken
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 1447d5c3-2847-6a77-4f02-9e15333a709e
Version Independent ID: 4eabe8ac-4289-66b8-1a7d-15e2c9adaf91
Content: Update Baseline - Windows Deployment
Content Source: windows/deployment/update/update-baseline.md
Product: w10
Technology: windows
GitHub Login: @jaimeo
Microsoft Alias: jaimeo

Hmm, OK. You mean that the download itself is broken, not the link to the download page?
Working links:

https://docs.microsoft.com/en-us/windows/deployment/update/update-baseline#policies-included-in-the-update-baseline
https://www.microsoft.com/en-us/download/details.aspx?id=101056
https://www.microsoft.com/en-us/download/confirmation.aspx?id=101056

Alternative download link:

https://www.microsoft.com/en-us/download/confirmation.aspx?id=101056&6B49FDFB-8E5B-4B07-BC31-15695C5A2143=1

weird, its working now thanks


Ensure thanos uses same version across all required containers

This fixes issues with stanos-store side container not writing data to the s3 buckets.
Related issue #139
Testing Instructions

Create pelorus namespace
Ensure noobaa is configured/deployed and bucket thanos is created
Deploy Pelorus with Thanos pointing to the noobaa s3 storage created
Ensure s3 bucket is not empty - typically takes 2h from the time of deployment (s3cmd command can be used: s3cmd ls s3://thanos).
Example s3cfg file vars from < > can be gathered from the noobaa status --namespace pelorus:

$ cat ~/.s3cfg
[default]
host_base = <ExternalDNS> # e.g. s3-pelorus.apps.cluster-mpryc1502ocp49n.mpryc1502ocp49n.mg.dog8code.com:443
host_bucket = <Backing Stores/TARGET-BUCKET> #e.g. nb.1661336201734.mpryc1502ocp49n.mg.dog8code.com
access_key = <AWS_ACCESS_KEY_ID>
secret_key = <AWS_SECRET_ACCESS_KEY>
use_https = True
check_ssl_certificate = False
check_ssl_hostname = False
signature_v2 = True
multipart_chunk_size_mb = 32
send_chunk = 1048576

Ensure pelorus gathers data, and grafana shows data
Uninstall pelorus and reinstall it
Ensure pelorus data has historical records and not only ones from the last installation

@redhat-cop/mdt

Some success, I wound up w/ data in software performance, but not software performance by app
some notes and screenshot
INFO[0000] ✅ Exists: Secret "noobaa-operator"
INFO[0000] ✅ Exists: Secret "noobaa-admin"
INFO[0001] ✈  RPC: bucket.read_bucket() Request: {Name:thanos}
WARN[0001] RPC: GetConnection creating connection to wss://localhost:43041/rpc/ 0xc000cc5740
INFO[0001] RPC: Connecting websocket (0xc000cc5740) &{RPC:0xc0004b1950 Address:wss://localhost:43041/rpc/ State:init WS:<nil> PendingRequests:map[] NextRequestID:0 Lock:{state:1 sema:0} ReconnectDelay:0s cancelPings:<nil>}
INFO[0001] RPC: Connected websocket (0xc000cc5740) &{RPC:0xc0004b1950 Address:wss://localhost:43041/rpc/ State:init WS:<nil> PendingRequests:map[] NextRequestID:0 Lock:{state:1 sema:0} ReconnectDelay:0s cancelPings:<nil>}
INFO[0001] ✅ RPC: bucket.read_bucket() Response OK: took 29.9ms

Bucket status:
  Bucket                 : thanos
  Type                   : REGULAR
  Mode                   : OPTIMAL
  ResiliencyStatus       : OPTIMAL
  QuotaStatus            : QUOTA_NOT_SET
  Num Objects            : 0
  Data Size              : 0.000 B
  Data Size Reduced      : 0.000 B
  Data Space Avail       : 1.000 PB
  Num Objects Avail      :<PHONE_NUMBER>740991

* Deployed... wait for 2-3 hours..

[whayutin@thinkdoe ~]$ s3cmd ls s3://thanos
[whayutin@thinkdoe ~]$ s3cmd ls s3://thanos
                          DIR  s3://thanos/01GCAAYZJ07RBY4RB7AD4NT4AT/
                          DIR  s3://thanos/01GCAAZ7N9TPQWC998AJ12E8HH/

[whayutin@thinkdoe ~]$ s3cmd ls s3://thanos/01GCAAYZJ07RBY4RB7AD4NT4AT/chunks/
2022-09-06 21:23       153741  s3://thanos/01GCAAYZJ07RBY4RB7AD4NT4AT/chunks/000001

Going to merge and retest tomorrow.

/LGTM