[helm-chart] Please provide a package for the helm chart for each release

Feature request type
enhancement
Is your feature request related to a problem? Please describe
Could you provide the generation of a helm chart package for each release.
This would facilitate the use and adoption of garnet in kubernetes.
Of course with a mention in the documentation would also be welcome.
Describe the solution you'd like
The package generation could be done using github workflows such as https://github.com/helm/chart-releaser-action
Describe alternatives you've considered
No response
Additional context
No response

There is an issue for more documentation on container usage #313

Please feel free to continue submitting PRs in this space. We are depending on community users who need Helm charts to help us maintain it. Thanks for your contributions!


How do i run inference with multiple models without maxing out my GPU VRAM?

I'm trying to tag a dataset using more than one WD14 model, so i wrote a simple script that iterates all the files in a directory for every model in a list, like this
model_list = ['SwinV2', 'ConvNextV2', 'MOAT', 'ViT']

for m in model_list:
    for child in directory.glob('**/*'):
          ratings, features, chars = get_wd14_tags(child, model_name=m, general_threshold=thresh)

my problem is, after every loop in model_list, inference time increases a lot, for the first loop it takes ~0.15 seconds to extract the tags from each image, no matter how many images, but by the time i'm doing the 4th loop it takes 15 seconds. But if i run the script 4 times with a single model in the list, every model takes the same 0.15 seconds.
Running it with the task manager open, i noticed that every time it loads a new model, the dedicated VRAM used by python increases by ~1.5gb, so once i reach the third loop, my poor 970 doesn't have any more free memory so i guess it start using the system RAM and that's why it slows down.
Is there a way to free the VRAM before loading a new model? I tried looking in the ONNX documentation but it's way above my level of understanding.
I'm running it on Win10 / onnxruntime-gpu / cuda11.8

Running it with the task manager open, i noticed that every time it loads a new model, the dedicated VRAM used by python increases by ~1.5gb, so once i reach the third loop, my poor 970 doesn't have any more free memory so i guess it start using the system RAM and that's why it slows down.

I remember the Geforce GTX 790 has at least 12GB of VRAM, so it seems not to be related to VRAM.

yes, it's 15 seconds per image once i max out the VRAM. Unfortunately the gtx970 has only 3.5 gb of VRAM, it's almot 10years old at this point, maybe you're thinking of some newer AMD card with a similar name

Actually, we can release VRAM by clearing the cache. The source code is available here: https://github.com/deepghs/imgutils/blob/main/imgutils/tagging/wd14.py#L69
Here's how you can use it:
from imgutils.tagging.wd14 import _get_wd14_model

_get_wd14_model.cache_clear()

Once the cache is cleared, the previously loaded model will be released.
However, this method is currently just a workaround. A more suitable approach would be for us to provide a complete VRAM management layer in the future. This part has already been added to the todo list.

Works perfectly for what i need to do, thanks for the help and also for writing this library, i spent months trying every commercial software with auto tagging but they were all too generic, while this does exactly what i wanted


Train ONNX models with Rust.

How would I go about training an onnx model using the onnx runtime and Rust?
There is a Rust wrapper for onnx runtime https://github.com/pykeio/ort
Would this need to be extended?

ONNX Runtime Training does not currently have any rust bindings yet.
C training api is available for consumption here.
ONNX Runtime now has rust bindings available at https://github.com/microsoft/onnxruntime/tree/main/rust. External contributions for rust bindings for training are welcome.

@vtantia, the work for adding the Rust bindings for ONNX Runtime Training is not currently planned in the near future.
The planning of such work will mostly be determined by the need of such bindings for internal production scenarios.
Having said that, external contributions are welcome, and we are happy to engage with contributors to provide necessary support for such work.

Thanks @baijumeswani for the detailed reply! Slightly unrelated to the issue but saw your recent blog post on ONNX Runtime Training as well and it was very explained so thanks for all your contributions.


Update screenshots that contain master branch name

content/_images/change-base-preview-type-radio-button.png
Seems this could be a single screenshot with an arrow to the radio buttons. The overlay text is kind of overwhelming.


Context Menu shell menu items slow to appear after app startup

Describe the bug
Context menu "open with" buttons takes arount 10 seconds to appear. I should wait for a while to see "open with" buttons
To Reproduce
Steps to reproduce the behavior:

Open folder
Right Click

Expected behavior
on first right click i should see "open with" buttons
Screenshots
This is the first time i open the folder and right click on blank area

After waiting for a while more "open with" options appear

Desktop (please complete the following information):

OS Version: Windows 10 20H2 19042.746
App version: <IP_ADDRESS>

Additional context
Does this problem occur again after restarting the app? Yes
Problem occur even after i restart pc
Log file
debug.txt
debug_fulltrust.txt

I ran into the same problem

I ran into the same problem

@Sibyl666 Does this happen if you open the context menu a second time or is it only the first time?

@Sibyl666 Does this happen if you open the context menu a second time or is it only the first time?

@Sibyl666 Does this happen if you open the context menu a second time or is it only the first time?

Ones,secound,everytime.....

@Sibyl666 Does this happen if you open the context menu a second time or is it only the first time?

Ones,secound,everytime.....

@yaichenbaum Yes it does after around 10 seconds it fixes itself

@yaichenbaum Yes it does after around 10 seconds it fixes itself

@Sibyl666 This issue appears to be resolved in main.


[incubator/vault] liveness and readiness probes indentation fix

indentation fix #13991

@jpds Can we get this merged?
This is breaking for me and a bunch of other people: https://github.com/helm/charts/issues/13991

/assign @mattfarina

Can we get this fixed, cause it seems like it shouldn't even have been here in the first place

Also waiting for this!

Duplicate change at #14108 too.

@jpds makes sense that you mark that one, since it is done earlier then this one, sorry about that, should have done the assigment on the other one!

Duplicate of #14108

Closing due to dupe going in. Thanks for the PR.


how to export jit

can you tell me or get me some advices to export jit of wenetspeech-lstm-transducer-stateless

Please refer to our documentation
https://k2-fsa.github.io/icefall/model-export/index.html

Please refer to our documentation https://k2-fsa.github.io/icefall/model-export/index.html

i find lstm-transducer-stateless can exported using torch.jit.trace.but in librispeech/ASR/lstm_transducer_stateless2/export.py should input bpe-model but  wenetspeech-lstm-transducer-stateless is lang_dir.how can i do ? thank

i use https://github.com/k2-fsa/icefall/pull/595/files#diff-d4a0c4d8b574ae5b1707e825e5f08e1e1cce9e7733f5d60ba2dc185b18da8aa9 export.py,but meet the error

and i use the modle of https://huggingface.co/csukuangfj/icefall-asr-wenetspeech-lstm-transducer-stateless-2022-10-14/tree/main

@csukuangfj I was trying to export jit model from pruned_transducer_stateless7, Facing issue with scaling.py and scaling_converter.py.
In sherpa/triton, https://github.com/k2-fsa/sherpa/blob/32da4486f1b23b04d0be72d1890f5dd7368aef46/triton/scripts/conformer_triton.py#L30 has ScaledConv2d being imported from scaling.py but its missing. Could you please help on this? I might be missing something.
Thanks
Sagar

Are you using the latest master?
Which script are you using and could you post the complete commands you are using?

Yes, I am using latest master in sherpa_server:latest docker. I am using https://github.com/k2-fsa/sherpa/blob/master/triton/scripts/export_jit.py and https://github.com/k2-fsa/sherpa/blob/master/triton/scripts/conformer_triton.py

Please post the detailed arguments you are using for the above scripts.

python3 pruned_transducer_stateless7/export_jit.py
--pretrained-model $ICEFALL_DIR/egs/librispeech/ASR/pruned_stateless_transducer7/en_in_model
--output-dir $ICEFALL_DIR/egs/librispeech/ASR/pruned_stateless_transducer7/en_in_model --bpe-model $ICEFALL_DIR/egs/librispeech/ASR/pruned_stateless_transducer7/en_in_model/bpe.model


[Missing SNMP Polling Profile] NEC IX2207

Device Vendor: NEC
Device Model: IX2207
System Object Identifier (SysOID): .<IP_ADDRESS>.<IP_ADDRESS>.84.18.1
List of critical metrics that you expect in the profile (does not need to be all-inclusive, just a general idea of your expectations):

Interface utilization
SYSTEM MIB https://jpn.nec.com/univerge/ix/Manual/MIB/PICO-SMI-MIB.txt

temperature
voltage
CPU utilization
Memory utilization

If there is a New Relic technical support case related to this request, please provide the case number: None
Please provide a public gist with a sanitized (sensitive information removed) SNMP walk of the device. Providing MIB files is not a substitute for an SNMP walk and failure to provide one here will result in delays for closing this issue. The output of these commands shows the "true story" of what a device will respond to in SNMP and is used to ensure that our profiles are efficient and accurate for your devices.
Gist Link: https://gist.github.com/zyun-i/63b24e9c113464f5851f9d0887b3fc40

Example SNMP walk commands:
# v2c example
snmpwalk -v 2c -t 10 -On -c $COMMUNITY_STRING $IP_ADDRESS . >> snmp_walk.out

# v3 example
snmpwalk -v3 -t 10 -l authPriv -u $USERNAME -a MD5|SHA -A $AUTH_PASS -x DES|AES -X $PRIV_PASS -ObentU -Cc $IP_ADDRESS . >> snmp_walk.out

Resolved with #489


Implement gradle wrapper retry distribution downloading in case of failure

Use case
Currently, gradle wrapper has no retry distribution downloading option. In case of any failures during downloading gradle distribution, it will fail without any excuses.
In my practice sometimes I'm facing an issue that download failed. It could be because of different issues e.g. Connection has been shutdown: javax.net.ssl.SSLException: java.net.SocketException: Connection reset or Downloading from https://services.gradle.org/distributions/gradle-6.9-all.zip failed: timeout. In that case, I need to restart the job while it will be successful.
Expected Behavior
I would like to propose an option to retry downloading in case of failure.  The default value will be 0. E.g.
systemProp.gradle.wrapper.download.retry
Overall it will be an option to increase stability for distribution downloading.
Current Behavior
Any connection issue leads to failed distribution downloading and failed to build overall.
Extra information
I've tried to implement such behavior and in my case, it is working perfectly fine. Around 1 out of 4 builds has such connection issue and retry allows downloading distribution without any issue (relatively to my infrastructure).

Seeing a lot of CI failures on GitHub Actions, recently, where it seems like Gradle wrapper cannot download Gradle:
2021-11-02T14:31:22.9392343Z Downloading https://services.gradle.org/distributions/gradle-7.2-bin.zip
.
. (Note the time difference)
.
2021-11-02T14:42:00.2593701Z ##[error]The operation was canceled.

Having a retry option would be very helpful.

In case anyone finds themselves running into this issue, I wanted to share a workaround.
Overview
I've created a Node.js script that downloads Gradle with retry attempts and backoff time. Have it run as a step in your build pipeline before the Gradle build step. This will provide the desired version of Gradle for the Gradle build step ahead of time and in a more fail-resistent manner for random failures.
Algorithm
The number of attempts to make for downloads is set to 5. The initial backoff time is set to 5 seconds. When a failure occurs, it waits the duration of the backoff time before trying again. For the next failure that occurs, the backoff time last used is doubled.
If all the attempts failed given this configuration, the timeline should look something like:

Attempt 1 failed
Wait 5 seconds
Attempt 2 failed
Wait 10 seconds
Attempt 3 failed
Wait 20 seconds
Attempt 4 failed
Wait 40 seconds
Attempt 5 failed

These values and the strategy can be adjusted; they were just a "gut feel." It's been observed to work for us without issue during the past month as of writing. You can at least go with this and see how it holds up or adjust as needed.
Code
Invoke the Node.js script as a step in your build pipeline before the Gradle build step.
The first parameter to node is the path to the Node.js script. The second parameter is the path to the gradlew file. Adjust the file paths as necessary for your workspace.
node "./build/download-gradle.js" "./android/gradlew"

File contents of download-gradle.js:
const pathToGradleWrapper = process.argv[2];
const { promisify } = require("util");
const exec = promisify(require("child_process").exec);

// `process` error handlers inspired by https://blog.heroku.com/best-practices-nodejs-errors
process.on("uncaughtException", (err) => {
  logFormatted(`Uncaught Exception: ${err.message}`);
  process.exit(1);
});

process.on("unhandledRejection", (reason) => {
  logFormatted(`Unhandled rejection. reason: ${reason}`);
  process.exit(1);
});

const main = async () => {
  await attemptGradleDownload();
};

const logFormatted = (message) => console.log(`${message}\n\n`);

const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));

const attemptGradleDownload = async () => {
  const attemptsToMake = 5;
  const initialBackoffTime = 5000;

  logFormatted(`Attempts to make: ${attemptsToMake}`);
  logFormatted(`Initial backoff time: ${initialBackoffTime}ms`);

  let currentBackoffTime = initialBackoffTime;

  for (let attempt = 1; attempt <= attemptsToMake; attempt++) {
    logFormatted(`Attempt ${attempt}`);

    try {
      // Run a Gradle command that is relatively inert but will cause
      // the version of Gradle we're using to be downloaded if needed.
      const runGradlePromise = exec(`${pathToGradleWrapper} --version`);

      runGradlePromise.child.stdout.pipe(process.stdout);

      await runGradlePromise;
    } catch (e) {
      logFormatted(`Attempt ${attempt} failed. Response: ${e}`);

      if (attempt < attemptsToMake) {
        logFormatted(`Waiting ${currentBackoffTime}ms until next attempt.`);

        await sleep(currentBackoffTime);
      }

      currentBackoffTime = currentBackoffTime * 2;

      continue;
    }

    logFormatted(`Gradle command succeeded on attempt ${attempt}`);

    break;
  }
};

(async () => {
  await main();
})();

In Conclusion
Hope this helps for anyone who can run Node.js scripts in their build pipeline! 😀


Kotlin | Improve limit break to detect total VM count

100 * 100 = 10k VMs. Limit break should limit the overall VMs, not just the individual params.
Expand limit break check to cover both testRuns and testShards. The number of devices should be counted as well.
testRuns * testShards * numberOfDevices = final VM total
This ticket includes writing more JUnit tests to verify limit break works as expected. There are a lot of edge cases.
It may make sense to limit break on cost instead of VM count. Now that we know the test timing info, it should be possible to estimate the potential cost.

Specify in Flank.yaml what our budget is and then make sure that we don't run more VMs than our budget can handle.
If we attempt a run that is over our budget, Flank should notify us that the run is over budget and from there we should stop the run.
We are defining budgets in flank.yaml on a per-user per-run basis


Hide loading spinner in finnaly block

Now the loading spinner hides only if the request resolves. This is bad for rejected requests.
pleas move the state change into the finally block of the promise.
THX!

Hi @BioPhoton
this has already been done in this commit https://github.com/guylabs/ion-autocomplete/commit/c80103e98dd949e535f1faa3558d76b42494b1b4. So I will close this as fixed.
Thanks and regards,
Guy


Unbridge portals

As far as I can tell, these changes allow portal rooms to be unbridged.
I've only tested this in conjunction with #733, but those changes shouldn't be strictly required for these ones to make sense, so I figured I'd split this into its own PR.

This is a feature I'd like, as I have a portal room against a Discord room which is now bridged to another pre-existing Matrix channel, but all messages goes to both, so I'd like to remove the portal room completely.


Add config to add custom practical support type options

Thanks for creating an issue! Please fill out this form so we can be sure to have all the information we need, and to minimize back and forth.

What are we trying to do?
Funds might be interested in their own types of practical support and we should support that. So we should add a config to add practical support types like we do for, like, insurance options.

What feature or behavior is this required for?
Flexibility with the psupport feature.

How could we solve this issue? (Not knowing is okay!)
Make a config similar to insurance options that does this. Note that this is just to create the config, we'll wire it up in a separate PR since it's kinda involved.

Anything else?
stems from #1493

we apparently already did this, though I don't remember it. (must be getting old)


Background scrolling on mobile phone

After opening a modal window e. g. after clicking on "Design", and scrolling the page up or down, the (nearly invisible) main page in the background is scrolling. After closing the modal by clicking the X in the upper right, the main page may be on a totally different position than before opening the modal.

Apparently adding "overflow: hidden" to the body should prevent the scrolling when modal is open, but this doesn't seem to work...

body {
    overflow: hidden;
    position: fixed;
}

works fine. But we need to modify the css for this.
@vickylai Mind adding package.json and gulpfile.js to this repro, so I can compile the css myself?


Standard Error vs. Standard Deviation in Bootstrap

https://github.com/scipy/scipy/blob/47bb6febaa10658c72962b9615d5d5aa2513fa3a/scipy/stats/_bootstrap.py#L196-L461
Hello,
I came across a line of code, which I think may be written in error.
Bootstrap claims to calculate the standard error, however on line 461 numpy.std() is called, which calculates the standard deviation instead. (https://numpy.org/doc/stable/reference/generated/numpy.std.html)
I am not sure what the origional intention was, but I just wanted to point this out in case it was written by accident.
Best regards

From Effron's "Introduction to the Bootstrap" pg 47:

The bootstrap estimate of the standard error is the sample standard deviation of the bootstrap distribution.

Yes, SE is just the std of the sample statistic. This is also noted in the docstring for the return value. I suggest closing this @mdhaber

Thanks all!


proxyUrl option doesn't work behind a corporate proxy

Core Library
MSAL Node (@azure/msal-node)
Core Library Version
1.18.3
Wrapper Library
Not Applicable
Wrapper Library Version
N/A
Public or Confidential Client?
Confidential
Description
For the past year or so, I have been using msal-node behind a corporate proxy with the workaround posted by another user here (overriding the networkClient with proxy-compatible versions of sendGetRequestAsync and sendPostRequestAsync). This has been working well, and now that msal-node natively supports proxies I wanted to try it out. Unfortunately, passing the proxyUrl parameter and disabling the custom networkClient yields an Endpoints Resolution Error
ClientAuthError: endpoints_resolution_error: Error: could not resolve endpoints. Please check network and try again. Detail: ClientAuthError: openid_config_error: Could not retrieve endpoints. Check your authority and verify the .well-known/openid-configuration endpoint returns the required endpoints. Attempted to retrieve endpoints from: https://login.microsoftonline.com/my tenant/v2.0/.well-known/openid-configuration
I investigated msal-nodes implementation of proxy compatibility to see if I could figure out the issue. Connection to the corporate proxy seemed to succeed. Log statements I put in the networkRequestViaProxy function showed that connection to the proxy was succeeding with 200 Connection established However, accessing microsoft's login servers seemed to be yielding a 400 Bad Request.
{
  headers: {
    'Content-Type': 'text/html',
    'Cache-Control': 'no-cache',
    'Content-Length': '2488',
    'X-Frame-Options': 'deny',
    'Proxy-Connection': 'Close'
  },
  body: {
    error: 'client_error',
    error_description: 'A client error occured.\n' +
      'Http status code: 400\n' +
      'Http status message: badrequest\n' +
      'Headers: {"Content-Type":"text/html","Cache-Control":"no-cache","Content-Length":"2488","X-Frame-Options":"deny","Proxy-Connection":"Close"}'
  },
  status: 400
}

And these are the contents of the payload variable in that function:
GET https://login.microsoftonline.com/my tenant/v2.0/.well-known/openid-configuration HTTP/1.1
Host: login.microsoftonline.com
Connection: close

The existing proxy implementation using http.request and manually writing http requests through the socket seems overly complex and dated - it would be great if it were rewritten to use fetch and https-proxy-agent. They're far newer and cleaner, and it's how the MS Graph Client implements proxy support. I've never had a single issue with the Graph Clients proxy support.
Error Message
ClientAuthError: endpoints_resolution_error: Error: could not resolve endpoints. Please check network and try again. Detail: ClientAuthError: openid_config_error: Could not retrieve endpoints. Check your authority and verify the .well-known/openid-configuration endpoint returns the required endpoints. Attempted to retrieve endpoints from: https://login.microsoftonline.com/my tenant/v2.0/.well-known/openid-configuration
Msal Logs
No response
MSAL Configuration
const clientConfig = {
  auth: {
    clientId: vault.azure_ad_client_id,
    authority: 'https://login.microsoftonline.com/my tenant/',
    clientCertificate: {
      thumbprint: vault.azure_ad_cert_thumbprint,
      privateKey: Buffer.from(vault.azure_ad_decrypted_private_key_base64, 'base64').toString(),
    },
  },
  system: {
     //networkClient: proxyClient,
     proxyUrl: 'http://host:port'
  },
};

Relevant Code Snippets
//This is the implementation of the networkClient that works through the proxy without any issues

import fetch from 'node-fetch';
import { HttpsProxyAgent } from 'https-proxy-agent';

export const proxyUrl = 'http://host:port';
export const proxyAgent = new HttpsProxyAgent(proxyUrl);

export const proxyClient = {
  sendGetRequestAsync: async (url, options) => {
    const response = await fetch(url, { agent: proxyAgent, ...options });
    const json = await response.json();
    const headers = response.headers.raw();
    const obj = {
      headers: Object.create(Object.prototype, headers),
      body: json,
      status: response.status,
    };
    return obj;
  },
  sendPostRequestAsync: async (url, options) => {
    const sendingOptions = options || {};
    sendingOptions.method = 'post';
    const response = await fetch(url, { agent: proxyAgent, ...sendingOptions });
    const json = await response.json();
    const headers = response.headers.raw();
    const obj = {
      headers: Object.create(Object.prototype, headers),
      body: json,
      status: response.status,
    };
    return obj;
  },
};

Reproduction Steps

Setup a proxy
Attempt to use msal-node with proxyUrl

Expected Behavior
The expected behavior is the 200 Ok response and msal-node being able to fetch the token
Identity Provider
Azure AD / MSA
Browsers Affected (Select all that apply)
None (Server), Other
Regression
No response
Source
External (Customer)

cc @Robbie-Microsoft @bgavrilMS Can you folks check this?

Hi @rasulsafa  - if you just use https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/samples/msal-node-samples/custom-INetworkModule-and-network-tracing/HttpClientAxios.ts object (no MSAL), can you use it to make a call to https://login.microsoftonline.com/b458eb0a-178f-4197-8da4-514c0fe6f17b/v2.0/.well-known/openid-configuration ?
This extensibility point gives you full control over the HTTP stack, so it's up to you to set it in such a way as to take into account the proxy.

Similar issue https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/6483

Hi @bgavrilMS, I was not able to get it working with an Axios-based custom networkClient. It appears proxy support on Axios is also currently bugged as well. I was however able to make it work with node-fetch as outlined in my original message

Thanks for the summary @rasulsafa. Much appreciated that you provided the implementation that works for you.
I will mark this as a bug then, to update the implementation to use to use fetch and https-proxy-agent as what we have is clearly not working.

Hi @bgavrilMS, I was not able to get it working with an Axios-based custom networkClient. It appears proxy support on Axios is also currently bugged as well. I was however able to make it work with node-fetch and https-proxy-agent as outlined in my original message

What version of axios did you use when you tried this sample? It appears our samples use either 1.4.0 or 1.3.4. Other users have been able to get the axios implementation working before.
For insight, we switched to manually writing http requests through the socket because we didn't want to rely on 3rd party libraries. If it supports proxies, we would like to switch to node's native fetch as soon that moves out of the experimental phase.

@Robbie-Microsoft I had initially tried it with the latest version, 1.5.1. I just retested it with 1.4.0 and still get the endpoints resolution error. I understand not wanting to rely on third party libraries, but msal-node and the MS Graph Client having such disparate proxy support is pretty frustrating. The graph client as it is currently uses a fetch polyfill and is compatible with https-proxy-agent.
If there's unlikely to be any major change until Node's native fetch supports proxies, then could I suggest a happy medium in the meantime? Currently, msal-node doesn't support https-proxy-agent passed into customAgentOptions because in networkRequestViaHttps, the contents of customAgentOptions are presumed to be the options parameter of the native http(s).Agent and passed into it's constructor rather than being treated as an Agent object itself. https.request as you are using it, when used with https-proxy-agent, has complete proxy support. If I simply change customOptions.agent = new https.Agent(agentOptions); to customOptions.agent = agentOptions, then in my config pass an https-proxy-agent object as such:
system: {
    customAgentOptions: new HttpsProxyAgent('http://proxy.XXXX.com:8080')
}

I'm able to successfully connect to the proxy. To preserve backwards compatibility, something like this can be done:
if(agentOptions.constructor && (agentOptions.constructor.prototype instanceof https.Agent || agentOptions.constructor.prorotype instanceof http.Agent))
        customOptions.agent = agentOptions;
else
     customOptions.agent = https.Agent(agentOptions);

This way, we check if the end user passed in their own custom agent object, and if they did, we use that. If they just passed in a dictionary of options, we create the Agent object for them. We check if they're either an http or https agent, because both are valid in https.request (https-proxy-agent for some reason is a child of http.Agent).This ensures that anyone can use their own proxy agent, backwards compatibility is preserved, and msal-node would have relatively easy proxy support with no extra third parties. The burden of using a third party proxy agent library falls on us end users. Simply doing npm i https-proxy-agent and passing the object into customAgentOptions is much easier than the status quo.

Agreed, let's analyze the stance of Azure SDK and Microsoft Graph SDK and consolidate.

Hello,
Any news regarding this issue?
We're facing it too.
Behind a corporate proxy, there's no way to connect, currently.

Also, the current implementation does not supports authenticated pxy

@bgavrilMS and I are still discussing this, but have other priorities right now. In the meantime, you all can implement your own custom network modules. See this sample.
Note: Node's native fetch api is now stable in node v21
Time permitting, I would like to rewrite the msal-node HttpClient to use this when Node v22 is released in April. I'm still waiting for the Node folks to update the docs for fetch so I can learn about how proxies are implemented in the api.
Additionally, we are not actively supporting msal-node v1 anymore unless there is a critical bug that needs to be addressed.

@rasulsafa can you look at the linked PR and let me know if the improvements fix your issue?

We will revisit when we move to use fetch with a newer version of nodejs / a major version bump of this lib. Keeping this as feature request. It's too difficult to test all these scenarios otherwise.
Solution for folks wanting to use a proxy is to provide their own INetworkModule.

We will revisit when we move to use fetch with a newer version of nodejs / a major version bump of this lib. Keeping this as feature request. It's too difficult to test all these scenarios otherwise.
Solution for folks wanting to use a proxy is to provide their own INetworkModule.

I'm trying hanfle it issue using INetworkModule but definning the module at system.networkClient is not working, logs at custom methods not appers at console :/
Lib/version: "@azure/msal-node": "^2.6.6"
My specific issue is when requesting https://login.microsoftonline.com/common/discovery/instance?api-version=1.1&authorization_endpoint=https:%2F%2Flogin.microsoftonline.com%2F<...>%2Foauth2%2Fv2.0%2Fauthorize get ECONNRESET error

Duble check if you correctly import the 'node-fetch', the native fetch will not work with https-proxy-agent;

On a related note, if you're using Node 18+, native fetch breaks node-fetch and necessitates the usage of --no-experimental-fetch

Anyone ever found out the reason why "proxyUrl" does not work but solutions like https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/6527#issuecomment-1746091561 do work?
I can't imagine that all the code of networkRequestViaProxy method is completely untested and based only on theory?

See #7478


decorate channel icon with platform icon

to use platform icon, needs registration (eg. https://www.youtube.com/intl/ALL_jp/howyoutubeworks/resources/brand-resources/ ).


Socket-lb: Handling active connections to legacy backends when using ciliumlocalredirectpolicies.

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
The main problem is the same as in issue 12859.
When using socket-lb, if the backends are deleted, there is a problem with hanging UDP sockets.
For the case of hostns, PR25169 has been made, which mostly solves this problem.
But if ciliumlocalredirectpolicies is used (in my case for node-local-dns), and the pod to which the redirection is directed has been deleted, then such sockets are not detected and are not deleted.
Cilium Version
cilium image (default): v1.15.0
Kernel Version
Linux sandbox-master-0 5.15.0-46-generic #49-Ubuntu SMP Thu Aug 4 18:03:25 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Kubernetes Version
Client Version: v1.28.7
Server Version: v1.28.7
Regression
No response
Sysdump
No response
Relevant log output
No response
Anything else?
No response
Cilium Users Document

[ ] Are you a user of Cilium? Please add yourself to the Users doc

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hi! You can disable socket-LB in the meantime to counter the shortcomings, and rely on cilium's per packet LB datapath instead.

I apologize for not specifying that we use the "kubeproxy-free" mode (kubeProxyReplacement=true + socket LB.hostNamespaceOnly=true).
It seems that in this case, disabling socket-lb is not possible.
As a workaround, we are currently restarting the "source pod" or manually removing the hanging sockets.

Hi! You can enable socket-LB only in the host netns, and have per-packet LB enabled for the pods. The latter doesn't have this stale backend issue. Are you using this guide to deploy node-local dns with socket-LB?
Can you explain in more details how you are seeing the stale backends issue with this configuration? Do you have the relevant Hubble flows?

initial state

We have cilium 1.15.3

root@sandbox-master-0:/home/cilium# cilium version
Client: 1.15.3 22dfbc58 2024-03-26T11:45:10+01:00 go version go1.21.8 linux/amd64
Daemon: 1.15.3 22dfbc58 2024-03-26T11:45:10+01:00 go version go1.21.8 linux/amd64

We have kube-dns and node-local-dns pods and their svc

NAME                           READY  STATUS    RESTARTS AGE   IP            NODE                                 NOMINATED NODE READINESS GATES
d8-kube-dns-56cff74bb7-cx2ss   2/2    Running   0        124m  <IP_ADDRESS>  sandbox-master-0                     <none>         <none>
d8-kube-dns-56cff74bb7-gcgkl   2/2    Running   0        124m  <IP_ADDRESS>   sandbox-worker-02334ee2-7694f-gj4j6  <none>         <none>
node-local-dns-6bjlz           2/2    Running   0        115m  <IP_ADDRESS>   sandbox-worker-02334ee2-7694f-gj4j6  <none>         <none>
node-local-dns-lb4mf           2/2    Running   0        115m  <IP_ADDRESS>   sandbox-worker-02334ee2-7694f-vl55g  <none>         <none>
node-local-dns-xwm44           2/2    Running   0        115m  <IP_ADDRESS>  sandbox-master-0                     <none>         <none>

NAME            TYPE           CLUSTER-IP      EXTERNAL-IP                                 PORT(S)         AGE    SELECTOR
d8-kube-dns     ClusterIP      <IP_ADDRESS>     <none>                                      53/UDP,53/TCP   133d   k8s-app=kube-dns
kube-dns        ExternalName   <none>          d8-kube-dns.kube-system.svc.cluster.local   <none>          133d   <none>

We have CiliumLocalRedirectPolicy

apiVersion: cilium.io/v2
kind: CiliumLocalRedirectPolicy
metadata:
  name: node-local-dns
  namespace: kube-system
spec:
  redirectBackend:
    localEndpointSelector:
      matchLabels:
        app: node-local-dns
    toPorts:
    - name: dns
      port: "53"
      protocol: UDP
    - name: dns-tcp
      port: "53"
      protocol: TCP
  redirectFrontend:
    serviceMatcher:
      namespace: kube-system
      serviceName: d8-kube-dns

We use kubernetes/ingress-nginx as the ingress-controller. In which the nameserver is set to <IP_ADDRESS>(cluster ip of svc kube-dns).

NAME                    READY   STATUS    RESTARTS   AGE    IP                NODE               NOMINATED NODE   READINESS GATES
controller-main-vsk27   3/3     Running   0          116m   <IP_ADDRESS>   sandbox-master-0   <none>           <none>

ingress-nginx uses a long-lived udp session for DNS. If we exec into the pod, we will see sessions to the ip address of the node-local-dns pod, that is running on the same node.

root@sandbox-master-0:~/tmp14# kubectl -n d8-ingress-nginx exec -ti controller-main-vsk27 -- bash
Defaulted container "controller" out of: controller, protobuf-exporter, kube-rbac-proxy
bash-4.4$ ss -tupan dport 53
Netid               State           Recv-Q          Send-Q        Local Address:Port        Peer Address:Port               Process
udp                 ESTAB           0               0              <IP_ADDRESS>:64241       <IP_ADDRESS>:53
udp                 ESTAB           0               0              <IP_ADDRESS>:56172       <IP_ADDRESS>:53
udp                 ESTAB           0               0              <IP_ADDRESS>:32924       <IP_ADDRESS>:53

Case 1

Let's restart the node-local-dns pod node-local-dns-xwm44 (<IP_ADDRESS>) and wait until the new pod is ready

node-local-dns-jlmj5    2/2     Running   0      5m    <IP_ADDRESS>      sandbox-master-0     <none>      <none>

Now all requests to ingress-nginx after a 30-second delay return error 500. I see the following errors in the log

2024/03/28 16:01:24 [error] 31#31: *182794 cilium-hubble-dex-authenticator.d8-cni-cilium.svc.cluster.local could not be resolved (110: Operation timed out), server: hubble.sandbox.testdomain.com, request: "GET /?namespace=cilium-test HTTP/2.0", subrequest: "/_external-auth-Lw-Prefix", host: "hubble.sandbox.testdomain.com"

Let's check dns connections in ingress-nginx

root@sandbox-master-0:~/tmp14# kubectl -n d8-ingress-nginx exec -ti controller-main-vsk27 -- bash
Defaulted container "controller" out of: controller, protobuf-exporter, kube-rbac-proxy
bash-4.4$ ss -tupan dport 53
Netid               State            Recv-Q         Send-Q          Local Address:Port       Peer Address:Port               Process
udp                 ESTAB            0              0                <IP_ADDRESS>:64241      <IP_ADDRESS>:53
udp                 ESTAB            0              0                <IP_ADDRESS>:56172      <IP_ADDRESS>:53
udp                 ESTAB            0              0                <IP_ADDRESS>:32924      <IP_ADDRESS>:53

All connections still pointed to the ip of the node-local-dns, which had already been destroyed
I am deleting these connections

ss -K dport 53

After that, all web pages began to open correctly, and new connections to node-local-dns pod(which is now running) were created in the ingress-nginx

bash-4.4$ ss -tupan dport 53
Netid               State           Recv-Q           Send-Q         Local Address:Port         Peer Address:Port               Process
udp                 ESTAB           0                0               <IP_ADDRESS>:47431        <IP_ADDRESS>:53
udp                 ESTAB           0                0               <IP_ADDRESS>:14726        <IP_ADDRESS>:53
udp                 ESTAB           0                0               <IP_ADDRESS>:39490        <IP_ADDRESS>:53

Case 2

Now let's remove the CiliumLocalRedirectPolicy and restart the ingress-nginx module. After it starts, we will check the connections to dns

bash-4.4$ ss -tupan dport 5353
Netid               State           Recv-Q           Send-Q         Local Address:Port        Peer Address:Port               Process
bash-4.4$ ss -tupan dport 5353
Netid               State           Recv-Q           Send-Q         Local Address:Port        Peer Address:Port               Process
udp                 ESTAB           0                0            <IP_ADDRESS>:43218       <IP_ADDRESS>:5353
udp                 ESTAB           0                0            <IP_ADDRESS>:12272       <IP_ADDRESS>:5353
udp                 ESTAB           0                0            <IP_ADDRESS>:49778       <IP_ADDRESS>:5353

We see that now ingress-nginx connects to one of the kube-dns pods, and not to the node-local-dns
Let's restart the kube-dns pod d8-kube-dns-56cff74bb7-cx2ss (<IP_ADDRESS>) and wait until the new pod is ready

d8-kube-dns-56cff74bb7-2mdsw     2/2     Running   0      51s  <IP_ADDRESS>      sandbox-master-0       <none>       <none>

I checked the requests to ingress-nginx - everything returned 200 OK
Let's check dns connections in ingress-nginx

bash-4.4$ ss -tupan dport 5353
Netid          State       Recv-Q     Send-Q        Local Address:Port       Peer Address:Port               Process
udp            ESTAB       0          0           <IP_ADDRESS>:39449       <IP_ADDRESS>:5353
udp            ESTAB       0          0           <IP_ADDRESS>:57644       <IP_ADDRESS>:5353
udp            ESTAB       0          0              <IP_ADDRESS>:42295      <IP_ADDRESS>:5353

All connections pointed to the ip of other kube-dns pods that are currently running

Unlike the previous case, this time I saw the following lines in the log:

2024-03-28T16:48:18.590677288Z level=debug msg="handling connections to deleted backend {<IP_ADDRESS> {UDP 5353} 0}" subsys=service
2024-03-28T16:48:18.590680283Z level=info msg="socket {43218 5353 <IP_ADDRESS> <IP_ADDRESS> 0 [400611 0]}" subsys=datapath-sockets
2024-03-28T16:48:18.590683029Z level=debug msg="Destroyed socket: {43218 5353 <IP_ADDRESS> <IP_ADDRESS> 0 [400611 0]}" subsys=datapath-sockets
2024-03-28T16:48:18.590685844Z level=info msg="socket {12272 5353 <IP_ADDRESS> <IP_ADDRESS> 0 [409703 0]}" subsys=datapath-sockets
2024-03-28T16:48:18.590688349Z level=debug msg="Destroyed socket: {12272 5353 <IP_ADDRESS> <IP_ADDRESS> 0 [409703 0]}" subsys=datapath-sockets
2024-03-28T16:48:18.590690933Z level=info msg="socket {49778 5353 <IP_ADDRESS> <IP_ADDRESS> 0 [409691 0]}" subsys=datapath-sockets
2024-03-28T16:48:18.590693558Z level=debug msg="Destroyed socket: {49778 5353 <IP_ADDRESS> <IP_ADDRESS> 0 [409691 0]}" subsys=datapath-sockets
2024-03-28T16:48:18.590697235Z level=info msg="Forcefully terminated sockets" errors="<nil>" failed=0 filter="{<IP_ADDRESS> 5353 2 17 0x2ad0ae0}" subsys=datapath-sockets success=3

ingress-nginx uses a long-lived udp session for DNS. If we exec into the pod, we will see sessions to the ip address of the node-local-dns pod, that is running on the same node.

Is ingress-nginx pod deployed in the hostNetwork, or as a regular pod?

Hi @AndreyPavlovFlant Can you test this fix - https://github.com/cilium/cilium/actions/runs/8745939939/job/24002052985?pr=32074?

Hi @AndreyPavlovFlant Can you give test out this fix - https://github.com/cilium/cilium/actions/runs/8759676157/job/24043493605?pr=32074?

Hi! This is great news!

Is ingress-nginx pod deployed in the hostNetwork, or as a regular pod?

Yes, ingress-nginx pod has been deployed in the host-network.
At the beginning of next week, I will be able to run tests based on the image from the link above.

Hi
I have checked the fix and everything seems to be working fine.
The corresponding stale sockets have been successfully deleted from the node, and in the logs, I see messages such as:
2024-05-02T13:49:41.197133063Z time="2024-05-02T13:49:41Z" level=debug msg="Deleting service" backends="[<IP_ADDRESS>:53]" serviceID=38 serviceIP="{<IP_ADDRESS> {UDP 53} 0}" subsys=service
2024-05-02T13:49:41.198595680Z time="2024-05-02T13:49:41Z" level=debug msg="Deleting obsolete backend" backendID=62 backends="[<IP_ADDRESS>:53]" serviceID=38 serviceIP="{<IP_ADDRESS> {UDP 53} 0}" subsys=service
2024-05-02T13:49:41.199147143Z time="2024-05-02T13:49:41Z" level=debug msg="handling udp connections to deleted backend <IP_ADDRESS>:53" subsys=service
2024-05-02T13:49:41.199339027Z time="2024-05-02T13:49:41Z" level=info msg="socket {45262 53 <IP_ADDRESS> <IP_ADDRESS> 0 [48487 0]}" subsys=datapath-sockets
2024-05-02T13:49:41.199420841Z time="2024-05-02T13:49:41Z" level=debug msg="Destroyed socket: {45262 53 <IP_ADDRESS> <IP_ADDRESS> 0 [48487 0]}" subsys=datapath-sockets
2024-05-02T13:49:41.199427714Z time="2024-05-02T13:49:41Z" level=info msg="socket {61728 53 <IP_ADDRESS> <IP_ADDRESS> 0 [48618 0]}" subsys=datapath-sockets
2024-05-02T13:49:41.199473140Z time="2024-05-02T13:49:41Z" level=debug msg="Destroyed socket: {61728 53 <IP_ADDRESS> <IP_ADDRESS> 0 [48618 0]}" subsys=datapath-sockets
2024-05-02T13:49:41.199478370Z time="2024-05-02T13:49:41Z" level=info msg="socket {33623 53 <IP_ADDRESS> <IP_ADDRESS> 0 [48570 0]}" subsys=datapath-sockets
2024-05-02T13:49:41.199638273Z time="2024-05-02T13:49:41Z" level=debug msg="Destroyed socket: {33623 53 <IP_ADDRESS> <IP_ADDRESS> 0 [48570 0]}" subsys=datapath-sockets
2024-05-02T13:49:41.199649023Z time="2024-05-02T13:49:41Z" level=info msg="socket {46965 53 <IP_ADDRESS> <IP_ADDRESS> 0 [58110 0]}" subsys=datapath-sockets
2024-05-02T13:49:41.199652059Z time="2024-05-02T13:49:41Z" level=debug msg="Destroyed socket: {46965 53 <IP_ADDRESS> <IP_ADDRESS> 0 [58110 0]}" subsys=datapath-sockets

I have checked the fix and everything seems to be working fine.
The corresponding stale sockets have been successfully deleted from the node, and in the logs, I see messages such as:

Great! Thanks for testing. What's your Github email so that I can attribute the credit for reporting and testing in the PR commit?

My github email is<EMAIL_ADDRESS>


Azure.AI.OpenAI 2.0.0-beta.3 (Unable to parse version value '2.0.0-beta.3' from 'packages.config')

Library name and version
Azure.AI.OpenAI 2.0.0-beta.3
Query/Question
Hello,
After I installed Azure.AI.OpenAI 2.0.0-beta.3 I receive the following build errors. Anyone else seen and been able to resolve this issue. I can't seem to find any information regarding this error and it may not be specific to this package. It seems to be any package with 4 segments in the version. Any idea how to fix this?

C:\Projects\SMTMVC.nuget\nuget.targets(92,9): error : Unable to parse version value '2.0.0-beta.3' from 'packages.config'.
3>C:\Projects\SMTMVC.nuget\nuget.targets(92,9): error MSB3073: The command ""C:\Projects\SMTMVC.nuget\NuGet.exe" install "C:\Projects\SMTMVC\SMTMVC\packages.config" -source ""  -NonInteractive -RequireConsent -solutionDir "C:\Projects\SMTMVC\ "" exited with code 1.

Environment
MVC project targeting the .NET Framework 4.8 in Visual Studio 2022 (Version 17.11.0), Nuget Package Manager (Version 6.11.0).

Hi @limdv.  Thanks for reaching out and we regret that you're experiencing difficulties.  The Azure SDK packages have no insight nor influence over NuGet nor the process that your environment uses to bump package reference versions.  As a result, the Azure SDK team is unable to assist.
From what I was able to determine, it looks as if the NuGet repository would be the best place to seek help.  I've transferred this there as #13750.

Jesse,
Thanks for your reply and help redirecting this for me.
Thanks,Darren Lim
On Wednesday, August 28, 2024 at 08:40:58 PM CDT, Jesse Squire<EMAIL_ADDRESS>wrote:

Hi @limdv. Thanks for reaching out and we regret that you're experiencing difficulties. The Azure SDK packages have no insight nor influence over NuGet nor the process that your environment uses to bump package reference versions. As a result, the Azure SDK team is unable to assist.
From what I was able to determine, it looks as if the NuGet repository would be the best place to seek help. I've transferred this there as #13750.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>


Fix syntax highlighting in README.md

Description of changes:
colors! :)
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Thanks for the PR @GabLeRoux - your first PR too!!


add ioBroker.alarm

Please check your adapter with the Adapter checker https://adapter-check.iobroker.in/
And please also remove     "installedFrom": "https://github.com/misanorot/ioBroker.alarm/tarball/e946eb2c99a3095de6dfb2275643ebc0fd798c20" from io-package


Appstudio update mvp-test-component

Pipelines as Code configuration proposal

Pipelines as Code CI/mvp-test-component-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
5 seconds
init

✅ Succeeded
12 seconds
clone-repository

✅ Succeeded
1 minute
build-container

✅ Succeeded
10 seconds
deprecated-base-image-check

✅ Succeeded
11 seconds
sanity-inspect-image

✅ Succeeded
17 seconds
clair-scan

✅ Succeeded
59 seconds
clamav-scan

✅ Succeeded
12 seconds
sbom-json-check

✅ Succeeded
17 seconds
sanity-label-check

✅ Succeeded
17 seconds
sanity-optional-label-check

✅ Succeeded
6 seconds
show-summary


Add Dockerfile and Docker examples

sorry for not looking into this earlier. Do you think this belongs more to the wiki than in the source tree? It's not really something that another user can just pick up and use.

I'd say it would be great if it was in the source tree and used to publish official images to dockerhub.


Use @Named annotation

Instead of listing component in atlassian-plugin.xml,
use the javax.inject.Named annotation in order for Bitbucket Server (4.7+) to
find the EventListener.
Fix #49

@tors42,
I'm the principal developer for Bitbucket Server. I believe the actual issue for the doubled notifications is that each listener is created twice. Prior to this change the listeners were created once from <component/> tags in atlassian-plugin.xml and once from beans in atlassian-plugin-context.xml. After this change, I can't tell you for sure whether they'll be created once or twice. Bitbucket Server 4.7.1 is much better at automatically finding listeners to register, so where before it only found one set (the listeners created using the <component/> tags), now it finds both.
I'm pretty sure you can remove both listener beans from atlassian-plugin-context.xml. If you want to switch to @Named, certainly no harm in that too, but I'd still remove the <bean/> entries as well. And that change should still produce all the expected notifications in Bitbucket Server 4.6 and prior.
Best regards,
Bryan Turner
Atlassian Bitbucket

Thank you @bturner,
very nice of you to keep an eye on user land!

"I fight for the users"
-- Tron

@tors42,
Actually, the more i think about this, the more I'm certain the @Named change here will not work. The OSGi ClassLoader that will be in effect when this runs does not support all the "normal" scanning behaviors you might expect. That's part of why the Atlassian Spring Scanner library was created; to move the scanning to build time where we could have control over it (it can also make run-time faster since the scanning work was all done ahead of time). Beyond that, as far as I can see there's nothing in the Spring context that attempts to turn on annotation scanning in the first place; I don't see any <context:component-scan/> directive.
I'm pretty sure removing the beans from the Spring context is the entire fix. I'd revert the @Named part of the change. Unless you've tested this full change and verified that the listeners are still created and registered with the new annotation-based approach? (If you tested it before you removed the beans it would have appeared to work, and not produced any duplicate messages, because the @Named directives were ignored and so only the Spring beans were created, so the events were only handled once. Now that those beans are gone , I think the listeners will never be instantiated or registered.)
Best regards,
Bryan Turner
Atlassian Bitbucket

It seems my testing was flawed,
upon restarting Bitbucket Server, this fix did no longer work.
I've updated the branch to only contain the removal of the beans from atlassian-plugin-context.xml,
and the EventListener is now invoked only once.
I'll look into @Named and scanning someday when I write my own plugin. :)
Thanks!

Any chance this is getting merged and pushed to the Atlassian Marketplace any time soon?

@pragbits @dszabo
Any chance that we can get the jar built from this in lieu of getting this item merged / pushed to Marketplace?

Dear All,
We are very sorry about the delay. Unfortunately Daniel the creator of this project has a serious health problem. Until his recovery we will try to manage this project. We are working on getting access to the Marketplace account. We will update the Marketplace version as soon as we can.
Thank you for your patience,
Robert

Very sorry to hear that!  We appreciate your efforts in his stead and wish him a speedy recovery.


Clustermanager lib supports zonal cluster

As discovered by @chizhg that clustermanager lib would fail if trying to create a zonal cluster, add the logic for zonal cluster and by the way include autoscaling as part of cluster creation since it's super slow to be configured on zonal cluster
/cc @adrcunha
/cc @chizhg

Can we go back to 80% code coverage on util.go?

coverage is back

@googlebot I consent

@googlebot I consent.

@googlebot recheck

@googlebot I consent

@googlebot I consent

Looks like that requires a period at the end of the message?
PS: Your suggestion was sent (and merged) using your personal e-mail account, that's why the bot complained.

/approve
/lgtm

@vagababov  I think cla needs a consent from your personal github account

@googlebot I consent.

SRLSY, a period?!
I have only one account :D

@googlebot recheck


DEP Use carets instead of dev requirements and use phpunit 9

Issue https://github.com/silverstripeltd/product-issues/issues/497
Now that CWP won't be getting regular releases via cow, it probably makes sense to change this to carets to support adhoc releases

^ broken travis test is phpunit9 related - fix is to tag 2.9.0 (new minor) of cwp-core - https://github.com/silverstripe/cwp-core/pull/101/files
@maxime-rainville this might be a bit weird, particularly as that requires framework ^4.10 which is unreleased - may make sense to just merge this with broken unit test?

Do you want to do a new cwp-core tag. It seemed to work for the other module?

@maxime-rainville tagged cwp-core 2.9.0 and rerunning the build on this

Unit test requires silverstripe/admin 4.10
Requirement for admin would need to be updated in to ^4.10 in
https://github.com/silverstripe/cwp-core/blob/2/composer.json
However I tagged cwp-core 2.9.0 just the other day, probably a little excessive tagged 2.10 days later - might make sense to just remove the tag and retag - though this would require us deleting the tag in packagist as well which I don't have enough permissions to do https://packagist.org/packages/cwp/cwp-core#2.9.0
Other option is just tag 2.9.1, though I'm not sure if that's semver correct

I'm fine tagging 2.9.1. As a general rule, we should never undo a tag.

Cool - PR https://github.com/silverstripe/cwp-core/pull/102


[bp/1.30] ext_authz test deflaking

Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

cc @stevenzzzz

I'm still a bit new to git. For my learning, why have you explicitly included my commit in your PR?

we have release branches - when we backport we do it onto those branches, ideally ~preserving commit history from main
the releases themselves are cut from those branches
in this case i saw 2 commits that seemed to be making CI less flakey so figured good to have on the branch/es


Vendored GTest Compile Error (-Werror=undef)

#2950 added -Werror=undef which causes GTest's compilation to fail.
https://github.com/iovisor/bpftrace/blob/f0c8f3fcd033a6ee2952b55ad272604f30146764/tests/CMakeLists.txt#L1
We need to decide if we want to keep support for vendoring GTest. Most major distros seem to provide gtest-1.11+ at this point, with exceptions being openSUSE and MX Linux: https://repology.org/project/gtest/versions.
Unless there are any strong opinions, let's leave this issue open for a while and see if anyone complains.
Example errors:
_deps/gtest-src/googletest/src/gtest_main.cc:33:5: error: "GTEST_OS_ESP8266" is not defined, evaluates to 0 [-Werror=undef]
   33 | #if GTEST_OS_ESP8266 || GTEST_OS_ESP32
      |     ^~~~~~~~~~~~~~~~
_deps/gtest-src/googletest/src/gtest_main.cc:33:25: error: "GTEST_OS_ESP32" is not defined, evaluates to 0 [-Werror=undef]
   33 | #if GTEST_OS_ESP8266 || GTEST_OS_ESP32
      |                         ^~~~~~~~~~~~~~

cc @chantra

In case you still want to vendor gtest, I suppose the add_compile_options can be added within the condition.


Climate card is missing

Hi,
Is it possible that the climate card is missing when i download version v2.3.0-beta.6.
When I test it on version v2.3.0-beta.5, it is there, so it seems to be related to the new beta version.
It seems that when I download the new beta release, it downloads an old version of the bubble card (v2.2.4). Picture attached.

Hi, I just checked and new beta is the right one, I don't understand why you have this issue.

That is very strange. If I download beta 5, everything is fine, but when I download beta 6 with HACS, it says version 2.2.4.

Maybe an issue with HACS, is it up to date?

I double-checked everything: cleared the cache, deleted HACS, reinstalled it, and tried again, but it directly downloads version 2.2.4 instead of 2.3.0-beta.6.
I also tried it with a clean installation.
If possible, please check again. :)

I did, this version is the right one, you are the only one to raise this issue. I truly have no idea of why you got back to v2.2.4 when you pick v2.3.0-beta.6.

This seems to be the same issue:

That did the trick. I don't know why, but after installing beta 4, cleaning the cache, reloading the front end, and then installing beta 6, it works now. Thanks for looking into it! I appreciate your help. :)

You're welcome, this is still weird 😅

Ah this is so weird.
So I had the issue with beta7, installed via HACS.
Redownloaded and went to beta6, that fixed the missing climate card.
Redownloaded beta7, cleared cache... and now it is showing up again.


📦 NEW: @wordpress/api-fetch as an available external

Allows using the external wp.apiFetch method. Otherwise, if you try to import it from the @wordpress/api-fetch package, it won't have the REST API base URL initialized.
Example of usage:
import apiFetch from '@wordpress/api-fetch';
apiFetch( { path: '/wp/v2/posts' } ).then( posts => {
console.log( posts );
} );

Thank you! 👌

Successfully published:

<EMAIL_ADDRESS>

So i have to add in init.php
wp_register_script(
'idb_image_slider-cgb-block-js', // Handle.
plugins_url( '/dist/blocks.build.js', dirname( FILE ) ), // Block.build.js: We register the block here. Built with Webpack.
array( 'wp-blocks', 'wp-i18n', 'wp-element', 'wp-editor' , 'wp-api-fetch'), // Dependencies, defined above.
null, // filemtime( plugin_dir_path( DIR ) . 'dist/blocks.build.js' ), // Version: filemtime — Gets file modification time.
true // Enqueue the script in the footer.
);
and in blocks.build.js
import apiFetch from '@wordpress/api-fetch';


Plist structure?

I see mention of being able to use a plist to configure Baseline, but no example plist or descriptions on how to configure one... There's descriptions for configuration profiles only...
Can that be added?

On non-MDM'ed machines, plists are easier to deploy than config profiles.

No problem, I've uploaded an example here: https://github.com/SecondSonConsulting/Baseline/blob/main/ExampleConfigurationFiles/BaselineConfig.plist
You can use iMazing Profile Editor following the instructions in the wiki, and then use the "Payload > Export Configuration Payload as Plist" feature to get a valid configuration file as well.


Move Sidekiq to Open Core

Sidekiq is not a SaaS but rather an open core product, Iron.io is a job processing SaaS.

woops! thanks for the fix!


[BUG] Broken links on wiki home page

Describe the bug
There're some broken links on the wiki home page https://github.com/Azure/azure-sdk-for-java/wiki.

Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Bug Description Added

Hey @joshfree, could please take a look at this?

I'm working on it!


feat: add SetIncludeXFF to control whether include XFF header

What type of PR is this?
feat

What this PR does / why we need it (English/Chinese):
添加 SetIncludeXFF 方法用于设置是否启用 XFF

Which issue(s) this PR fixes:
https://github.com/hertz-contrib/reverseproxy/issues/11

pls code review @L2ncE

这个 issue #11 是说启不启用 x-forwarded-for，还是说可能通过另一个 header 实现相同的功能呀，可以问一下。


dd: allow B as a suffix for count, seek, and skip

Allow uppercase "B" on its own as a unit specifier for the count, seek, and skip arguments to dd.
For example,
$ printf "abcdef" | dd count=3B status=none
abc

This should fix GNU test suite file tests/dd/bytes.sh.

Looks like this doesn't quite work as-is:

run: /home/runner/work/coreutils/coreutils/target/debug/coreutils truncate -s 0B file
thread 'test_truncate::test_invalid_numbers' panicked at 'Command was expected to fail.

Maybe we could report it back to GNU? Seems like an oversight on their part to not support B on truncate.
On our end, parse_size is due for a refactor that allows for specifying some options on how it should work. So that we don't end up with stuff like this:
fn parse_byte_count(input: &str) -> Result<usize, ParseSizeError> {
    // GNU sort (8.32)   valid: 1b,        k, K, m, M, g, G, t, T, P, E, Z, Y
    // GNU sort (8.32) invalid:  b, B, 1B,                         p, e, z, y
    const ALLOW_LIST: &[char] = &[
        'b', 'k', 'K', 'm', 'M', 'g', 'G', 't', 'T', 'P', 'E', 'Z', 'Y',
    ];
    let mut size_string = input.trim().to_string();

    if size_string.ends_with(|c: char| ALLOW_LIST.contains(&c) || c.is_ascii_digit()) {
        // b 1, K 1024 (default)
        if size_string.ends_with(|c: char| c.is_ascii_digit()) {
            size_string.push('K');
        } else if size_string.ends_with('b') {
            size_string.pop();
        }
        let size = parse_size(&size_string)?;
        usize::try_from(size).map_err(|_| {
            ParseSizeError::SizeTooBig(format!(
                "Buffer size {} does not fit in address space",
                size
            ))
        })
    } else if size_string.starts_with(|c: char| c.is_ascii_digit()) {
        Err(ParseSizeError::InvalidSuffix("invalid suffix".to_string()))
    } else {
        Err(ParseSizeError::ParseFailure("parse failure".to_string()))
    }
}

Okay, I've updated this pull request to add a uucore::parse_size::Parser struct, which has a parse() method, and the parse_size() function now delegates to Parser::default().parse(s). If we merge this pull request, then we can add more options to the Parse struct to cover the needs of parse_byte_count in a future pull request.


Example for Python HTTP Post Arrow client and server

Addresses apache/arrow#40595
In this pull request, I have added an example of HTTP Post Arrow client and server.
The server uses fastapi for and the client uses requests library. Except these, the rest of the code structure is similar to the get_simple example.
If there are any suggestions, feel free to let me know and I will be happy to update the PR accordingly.

Thank you @arunppsg! I will review this soon.

@arunppsg For the HTTP POST example, we are looking for something different than this.
As described in the README in the http/post_simple directory:

This directory contains minimal examples of HTTP clients and servers demonstrating how a client can send a POST request to a server with a request body consisting of an Arrow IPC stream of record batches.

So in these examples, the client should send the data to the server.
However, I think this FastAPI + Uvicorn example would be a great addition to the HTTP GET examples. May I make some changes to this PR to turn it into an HTTP GET example?

So in these HTTP POST examples, the client should send the data to the server.

Ah, I see - I will think about this and get back on it.

However, I think this FastAPI + Uvicorn example would be a great addition to the HTTP GET examples. May I make some changes to this PR to turn it into an HTTP GET example?

Feel free to make the necessary changes for HTTP GET in this PR.

I moved the FastAPI + Uvicorn server piece of this to #37 (with some small changes).


@import fails after upgrade to node js 7.8.0 and typescript 2.2.2

I have been using nativescript-sass successfully in nativescript 3.0 rc under node 7.7.3 and typescript 2.2.1.  After updating to typescript 2.2.2 and node js 7.8.0, I am now getting errors at the @import statements:
Error: File to import not found or unreadable: nativescript-theme-core/scss/dark.
I have investigated a bit and it seems that if I use the full path to the include, it does successfully import the file. e.g.
@import 'nativescript-theme-core/scss/dark';
does not work, while
@import './node_modules/nativescript-theme-core/scss/dark';
does work.
PS.
It seems the problem lies with<EMAIL_ADDRESS>Reverting to<EMAIL_ADDRESS>solves the problem.

This is one of the breaking changes in v1.0.0. Take a look at the README and Change Log for details.
To import files from the node_modules directory now, you must use the "~" syntax. So:
@import '~nativescript-theme-core/scss/dark`;

This change improves the compatibility of the plugin with webpack and the Angular CLI, and allows predictable relative path support for all imports. If you update to the latest release version of this plugin, just add the tilde and you should be set.

Yes I have tried the tilde but it does not make any difference:
This is installed:
d:\Projects\NativeScript\native3
`--<EMAIL_ADDRESS>  `--<EMAIL_ADDRESS>    `--<EMAIL_ADDRESS>      `--<EMAIL_ADDRESS>        `--<EMAIL_ADDRESS>
and this is the error I get:
Found peer node-sass
Error: File to import not found or unreadable: ~nativescript-theme-core/scss/dark.
       Parent style sheet: D:/Projects/NativeScript/native3/app/_app-common.scss
        on line 4 of app/_app-common.scss
>> @import '~nativescript-theme-core/scss/dark';
   ^

SASS compiler failed with exit code 1

This is the line of code:
@import '~nativescript-theme-core/scss/dark';
When I have a bit of time, I will try it on a clean template project and see if I get the same result.

Make sure you're using the latest released version (1.0.0...not one of the RC builds). If you're using the latest version, the tilde syntax should work. If you are on rc.2, that is probably the problem.
$ npm install nativescript-dev-sass --save-dev


Mic Interruption issue..!

Hi Team,
I'm getting an error like "Error title: Error (Code: 10102) Error Message:Source: <IVSMicrophoneSource: 0x1476c3a30>\nError: The attached device could not be used as an input source." this while broadcasting. Even though there is no apps in the background. Help me with this. Thanks in advance.

This happens when the sample rate of the audio session is 0 (which means we wouldn't be able to record). I have 2 requests

Please post more sample code to help us understand the problem better.
Please try to reproduce in the sample application in this repo. If you can reproduce it in this repo, please report your steps.

Hi @bclymer,
We can't able to reproduce this in the repo sample application. But in some random scenarios this error keeps on pop ups "Error title: Error (Code: 10102) Error Message:Source: <IVSMicrophoneSource: 0x1476c3a30>\nError: The attached device could not be used as an input source.".
Here are some sample codes:
private weak var broadcastSession: IVSBroadcastSession?
private var mic: IVSMicrophone?
while initialising the controller:
let devices = IVSDeviceDiscovery().listLocalDevices()
let micDevice = devices.compactMap({ $0 as? IVSMicrophone }).first
micDevice?.setGain(1)
self.mic = micDevice
Mute button action:
self.mic?.setGain(1) -> to unmute
self.mic?.setGain(0) -> to mute

If it can not reproduce in our sample application it sounds like it might be something to do with your integration. Are you doing anything with AVAudioSession in your application that might conflict with the SDK?
Could you also show how you attach the device to the IVSBroadcastSession? At the moment it looks like you acquire the mic but I don't see it ever getting started or attached to anything.
And finally, what triggers the error? Does it happen randomly in the middle of a broadcast? Does it happen when going into the background? Any information helps.

It seems you have omitted some code again, no where does it show how you attach your microphone to the IVSBroadcastSession or the Stage.
One thing I noticed, it is important to nil out your resources (IVSBroadcastSession and Stage) before creating new ones. But even better is to reuse the existing objects instead of creating new ones at all.

hi @bclymer, IVSBroadcastSession and Stage are set to nil when closing the live. In our application we go live for few minutes and some song will play after that again we go live. When ever we close live IVSBroadcastSession and Stage are set to nil.
And one more issue we found today:
Error title: Error (Code: 561145187) Error Message:Source: <IVSMicrophoneSource: 0x10c0616d0>\nError: The operation couldn’t be completed. (com.apple.coreaudio.avfaudio error 561145187.)

IVSSession exposes logLevel which you can set to .debug. Is your application making changes to AVAudioSession? Our SDK expects to own the AVAudioSession completely because there is a lot it needs to manage in order to coordinate an IVSStage and IVSBroadcastSession simultaneously. That could be causing issues if your application is changing the active state, category, or mode.

@bclymer, thanks a lot.

HI @bclymer,
This issue again arises after a long time.
We still use the IVS Broadcast sdk version 1.9.1.
This thread is again opened in this
https://github.com/aws-samples/amazon-ivs-broadcast-ios-sample/issues/64

Since you opened a new issue, I'll respond there.


[🐞] Server not reloading recompiled code used by server$

Which component is affected?
Qwik City (routing)
Describe the bug
The server not reloading recompiled utility function used by server$. Maybe this is a vite, HMR, or my misunderstanding in how to properly write server$ code.
I am also seeing a similar issue with styles not updating.
See project and loom video: HERE
Reproduction
https://github.com/n8sabes/qwik-ssr-reload-issue.git
Steps to reproduce
Clone  https://github.com/n8sabes/qwik-ssr-reload-issue.git run and click.
System Info
System:
    OS: macOS 13.1
    CPU: (8) arm64 Apple M1
    Memory: 87.09 MB / 16.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 19.4.0 - ~/.nvm/versions/node/v19.4.0/bin/node
    npm: 9.2.0 - ~/.nvm/versions/node/v19.4.0/bin/npm
  Browsers:
    Chrome: 110.0.5481.177
    Firefox Developer Edition: 110.0
    Safari: 16.2
  npmPackages:
    @builder.io/qwik: 0.21.0 => 0.21.0
    @builder.io/qwik-city: 0.5.3 => 0.5.3
    undici: 5.20.0 => 5.20.0
    vite: 4.1.4 => 4.1.4

Additional Information
No response

Bump! Want to put this on the radar as it's a pretty serious DX gotcha that still bites me when I am pondering why the edits are not taking, even though the console shows recompile.
SEE THE ISSUE IN THIS LOOM

This seems to be true of any nested code file edits that run on the server. Despite the auto-recompile, the server continues to run stale code.

Gonna look into it this week!

Doing a rain dance and a twirling dervish for good luck!

The issue is not limited to server$.
We are seeing it in our qwik-city test app when importing css or when a component is nested inside another component that decides which scheduling component to display
Here is a simple example where vitest framework is seeing stale content
video of issue:
https://www.loom.com/share/8ea4df56ed5c4ac1948b19190c20b003
Repository to reproduce:
https://github.com/jerimiahwelch/stale-qwik-test


[Bug] - PieChart not centered

I'm trying to generate a PieChart on a pdf (ped generated with QuestPDF) , but the pie is not centered in canvas.
I expected that the pie was positioned at the center of canvas and that the color of label was the same color used for Pie, not black
I'm using
Microchart <IP_ADDRESS>
OS: Windows 10 Pro
this is the code:
var pieEntries = new[]
{
    new ChartEntry(80000)
    {
        Label = "Costi",
        ValueLabel = "80.660,72",
        Color = SKColor.Parse("#f67019")
    },
    new ChartEntry(208000)
    {
        Label = "Ricavi",
        ValueLabel = "208.372,83",
        Color = SKColor.Parse("#4dc9f6")
    }
};

...

  .Item()
  .Border(1)
  .ExtendHorizontal()
  .Height(300)
  .Canvas((canvas, size) =>
  {
      var chart = new PieChart
      {
          Entries = pieEntries,
          IsAnimated = false,
      };
      chart.DrawContent(canvas, (int)size.Width, (int)size.Height);
  });

and this is a screenshot:

Thank you,
Elena

Looking through the other questions, I found that .Draw() works instead of .DrawContent(). I used QuestPdf for instruction and they use the .DrawContent() so I didn't think to use .Draw()


proposed fix for raising a 404 instead of a 500 when there's not even…

… a liveblogurlhistory

thank you, that was exact what i did, closing this PR


Builds and base docker images for aarch64

Enjoying magicpak very much :heart: and I think it would be of great value to also provide builds as well as docker base images (for haskell/rust/...) (especially for Haskell in my case :-) ) also for the arm64 architecture. When developing for Raspberry Pi this could greatly help in producing smaller images that are easier to run on this resource constrained device.

somehow it worked locally on mac arm laptops, but failed in our CI
magicpak: cannot execute binary file: Exec format error

How do you plan to build an arm64 image for your use case? (For example, are you building on an arm64 machine or are you cross-compiling in some way?) If you are cross-compiling, simply building an arm64 image may not be sufficient.

v1.3.1 with AArch64 artifacts are out:
https://github.com/coord-e/magicpak/releases/tag/v1.3.1

Closing by leaving #16 for the testing issue.


LimitMEMLOCK=unlimited should be LimitMEMLOCK=infinity

"unlimited" should be "infinity" in sysstemd-script.
"unlimited" used on commandline with ulimit -l unlimited.

merged, thanks!


Update automation for Nonlethal Spell feat and add base automation to Wand of Mercy

Changed the name from level to rank

Not sure about doing the specific wands like this.

Fair - I'll yeet this into the trash can.


Security update - Update ts and typedoc deps

Description
Dependabot has alerted my frontend repos about a security issue with the typedoc dep via the marked dep. The latest typedoc dep required the latest versions of typescript.

closes #### sc-172748
Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against correct branch
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
[ ] Re-reviewed Files changed in the Github PR explorer

@andieromero can you do a new npm install to get the package-lock.json up to date with the PR that was just merged?


SHAKA and Offline Events

Have you read the FAQ and checked for duplicate issues:
yes
What version of Shaka Player are you using:
2.1.5
Can you reproduce the issue with our latest release version:
yes
Can you reproduce the issue with the latest code from master:
yes
Are you using the demo app or your own custom app:
both
If custom app, can you reproduce the issue using our demo app:
yes
What browser and OS are you using:
windows, android, macOS
What are the manifest and license server URIs:
(you can send the URIs to<EMAIL_ADDRESS>instead, but please use GitHub and the template for the rest)
any
What did you do?
see below.
What did you expect to happen?
see below.
What actually happened?
We added some basic "offline" Behaviour into our Players - at least to that Point, that it shouldnt just crash, when going offline, but instead showing a Message, pause Contents and wait until Network comes back.
This works actually quite nice - but sadly, SHAKA does not like this :)
When Network turns off, we try with pause() to pause the Player - mostly, an Error from SHAKA is already triggered, but we were able to ignore this.
Nevertheless, problematic is the Return of the Internet. Afer being sure, Internet is back, we seek -5 Seconds and start Playback again (that works also), but once the Parts are reached, that were previously not being available because of being Offline (I think), SHAKA stops and nothing happens.
So, summing it up - is there any way to purge the internal Cache or force SHAKA to reload Segments or make SHAKA not cache/download/try anything when !navigator.onLine ?
Thanks a lot!
Christoph

Hi Christoph,
First, let me explain what Shaka is doing.
Shaka continues to buffer up to the bufferingGoal setting even when paused.  It doesn't check navigator.onLine, either.  We also don't cache anything, so if we fail to fetch a segment, there is no reason that failure should "stick".  We should be able to fetch those same segments once the network is back.
We don't check navigator.onLine in StreamingEngine because the same streaming logic is used for content that has been stored in a database for offline playback.  If we didn't stream during navigator.onLine == false, offline playback from the database would not be possible.
I can reproduce your issue with VOD content, but not with live:
https://shaka-player-demo.appspot.com/demo/#asset=//vm2.dashif.org/livesim/utc_head/testpic_2s/Manifest.mpd;lang=en-US
It looks like this was introduced in PR #842, which was meant to address issues #830 and #762.  In #830, the complaint was that we kept retrying on VOD even after a failure.  So it sounds like you want exactly the opposite behavior.
#762 was reopened with a discussion about adding a method to ask the player to retry streaming after a failure, but I'm not sure if that's the best way to go or not.
Let me consider the best way to allow each application to choose the desired behavior, and I'll let you know what we come up with.  Thanks!

Thanks for these Insights - and yes, I understand, that there are potentially completely different desired Behaviours, no doubt about that. Ill stay tuned :)

@boredom2, I'm closing this issue and merging it into #960, in which I've proposed a more general solution.  Please provide feedback there.  Thanks!


qcad: <IP_ADDRESS> -> <IP_ADDRESS>

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/qcad/versions.
meta.description for qcad is: "2D CAD package based on Qt"
meta.homepage for qcad is: "https://qcad.org"
meta.changelog for qcad is: ""
Updates performed

Version update

To inspect upstream changes

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found <IP_ADDRESS> with grep in /nix/store/r5d7x45v2cfhg2cmsw0p25biavz8l03b-qcad-<IP_ADDRESS>
found <IP_ADDRESS> in filename of file in /nix/store/r5d7x45v2cfhg2cmsw0p25biavz8l03b-qcad-<IP_ADDRESS>

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
qcad

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/r5d7x45v2cfhg2cmsw0p25biavz8l03b-qcad-<IP_ADDRESS> \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A qcad https://github.com/r-ryantm/nixpkgs/archive/adf2ab1a341f05c01b5ccd2fdaafe1428a2d97dc.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/r5d7x45v2cfhg2cmsw0p25biavz8l03b-qcad-<IP_ADDRESS>
ls -la /nix/store/r5d7x45v2cfhg2cmsw0p25biavz8l03b-qcad-<IP_ADDRESS>/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

qcad

Maintainer pings
cc @yvesf for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/qcad/versions.
meta.description for qcad is: "2D CAD package based on Qt"
meta.homepage for qcad is: "https://qcad.org"
meta.changelog for qcad is: ""
Updates performed

Version update

To inspect upstream changes

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found <IP_ADDRESS> with grep in /nix/store/9xa0x1d3slmcjsk2hab04snap7qvkz3i-qcad-<IP_ADDRESS>
found <IP_ADDRESS> in filename of file in /nix/store/9xa0x1d3slmcjsk2hab04snap7qvkz3i-qcad-<IP_ADDRESS>

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
qcad

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/9xa0x1d3slmcjsk2hab04snap7qvkz3i-qcad-<IP_ADDRESS> \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A qcad https://github.com/r-ryantm/nixpkgs/archive/21480d64d11078c749ee5a7786f5be11bf58cc41.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/9xa0x1d3slmcjsk2hab04snap7qvkz3i-qcad-<IP_ADDRESS>
ls -la /nix/store/9xa0x1d3slmcjsk2hab04snap7qvkz3i-qcad-<IP_ADDRESS>/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

qcad

Maintainer pings
cc @yvesf for testing.


feat: add manual config for Composer package auto-discovery

Description
See https://forum.codeigniter.com/showthread.php?tid=82772
Problems:

Currently, auto-discovery searches the namespaces of all Composer packages. However, some packages may accidentally have files in the same directory as CI4, and loading the file may cause an error.
It is useless to search files in Composer packages that are not CI4 modules.

This PR allows you to specify the packages to be searched by configuration.

add optional config in Config\Modules

$composerPackages['only']: If you set this, only listed packages are searched for auto-discovery
$composerPackages['exclude']: If you set this, these packages are excluded for auto-discovery

Checklist:

[x] Securely signed commits
[x] Component(s) with PHPDoc blocks, only if necessary or adds value
[ ] Unit testing, with >80% coverage
[x] User guide updated
[x] Conforms to style guide

👀

Added the docs.


Migrate from UWP to the Windows App SDK

Will it have a long road?
https://docs.microsoft.com/en-us/windows/apps/windows-app-sdk/migrate-to-windows-app-sdk/migrate-to-windows-app-sdk-ovw
Or no plan?

At least it should wait WASDK to be more mature.

I don't see much reason to migrate this app to Windows App SDK. UWP works just fine.


We should clarify terms so as to avoid confusion of readers

There's a fair bit of confusion in the community about how this calculation works. I suggest we all agree on the same set of terms for the various components of the calculation.
One source would be the Yellow Paper, although I think that is pretty poorly done and most likely the source of most of the confusion.
Another source is EthHub (https://docs.ethhub.io/ethereum-basics/monetary-policy/) which may or may not have establish wording for the various components.
A third source would be ourselves, but if we do that, we should feed our work back into EthHub.
In my work, I use these terms:

Field
Meaning

blockNumber
the block number of the record

timestamp
the timestamp of the block

period
the date of the timestamp above

baseReward
the base reward issuance ignoring uncleReward

nephewReward
the additional reward given to the beneficiary (miner) of the block for included uncles

blockReward
the total reward delivered to the beneficiary (winning miner)

uncleReward
the reward issued to the miners of each uncle blocks (if any)

issuance
the total new issuance for the block

Totally open to discussion.

A few other term to define:

Field
Meaning

beneficiary
the winning miner

parent block
the current block being rewarded (blockNumber above)

uncle block
a block appearing in the uncle's list of a canonical block

nephew block
a block that 'has one or more uncles'. Note: nephewBlocks are not 'children of uncles'

uncle miner
the address that appears in the 'miner' field of an uncle block

uncle block number
the block number that appears in the uncle block


Signal controlling constants for windows

This is replacement of #1626, because I have lost the repository with that branch in the meantime. The content is the same (unless I've made some mistake copying it over), just rebased onto current master.

r? @m-ou-se
(rust-highfive has picked a reviewer for you, use r? to override)

Thanks!
r? @JohnTitor @bors r+

:pushpin: Commit ef79747c198983d573f494527dba9738411d4d95 has been approved by JohnTitor

Oh wait, we should add them to the semver list: https://github.com/rust-lang/libc/blob/master/libc-test/semver/windows.txt
@bors r-

@bors r-

@bors r+

:pushpin: Commit 707294d2b678d9cdea975d4e7f9d94b03cccdab5 has been approved by JohnTitor

:hourglass: Testing commit 707294d2b678d9cdea975d4e7f9d94b03cccdab5 with merge 6b0224e39bdb2fe80efcb173e59cfebf37d5871d...

:boom: Test timed out

@bors retry

:hourglass: Testing commit 707294d2b678d9cdea975d4e7f9d94b03cccdab5 with merge 4952853f4e3418c237aab3c1b58d22baa069e97d...


chromaSubsampling removed from webp in sharp 0.33.5?

Should we now use smartSubsample instead of chromaSubsampling for webp images?
Is smartSubsample:false similar to chromaSubsampling: '4:2:0'?

WebP images are always 4:2:0 subsampled and there has never been a chromaSubsampling option.
The smartSubsample option tells the encoder to spend a bit more CPU time on the RGB to YUV conversion, which can improve colours around edges.
https://sharp.pixelplumbing.com/api-output#webp

WebP images are always 4:2:0 subsampled and there has never been a chromaSubsampling option.
The smartSubsample option tells the encoder to spend a bit more CPU time on the RGB to YUV conversion, which can improve colours around edges.
https://sharp.pixelplumbing.com/api-output#webp

Ok. But can i use it for avif?

https://sharp.pixelplumbing.com/api-output#avif

Param
Type
Default
Description

[options.chromaSubsampling]
string
"'4:4:4'"
set to '4:2:0' to use chroma subsampling


Add tap-quickbase-json

All Singer definitions are stored in /_data/taps/ or /_data/targets. The minimal requirement for adding a tap or target will match the following format:
description: General description of what the company behind the API does
entity_type: Review the JSON Schema for latest options. Currently api, file, database.
entity_url: URL of the developer documentation or website
label: Properly formatted label of the connector
name: The unique name of the connector
singer_name: The Singer specific name of the connector. Typically tap-<name> or target-<name>
type: tap or target
variants: # an array of variant types
- default: true or false
  maintenance_status: "Options: active, beta, development, inactive, unknown"
  meltano_sdk: true or false
  name: Name of the GitHub/GitLab namespace
  pip_url: git+<git_url>.git or pip instal name
  repo: repo URL
  capabilities:
    - catalog
    - discover
  settings:
    # Can be an empty array if unknown: []
    # Describe the list of supported settings, for example:
    - name: project_ids
      kind: array
      label: Project IDs
      description: Array of project IDs.
    - name: username
      label: Username
      description: Credentials used when for connecting to the source.
    - name: password
      kind: password
      label: Password
      description: Credentials used when for connecting to the source.

Checklist

[ ] Add/update the file in the appropriate folder (/taps or /targets). The name of the file should match the name of the tap. If there is already one, add a descriptor to the name such as -search.
[ ] Add/update the PNG logo image in /assets/logos/<taps or targets>. The image name must match the YAML file name.
[ ] Tag @tayloramurphy or @pnadolny13 to flag it for review. Or post to the #hub channel on Meltano slack.

Reviewer Checklist

[ ] Validate file against JSON Schema. https://www.jsonschema.net/home is an option.
[ ] Build website locally and validate everything works.

@gnilrets thanks for opening this!
I saw your message in slack about it being unclear how to submit a plugin, I opened https://github.com/meltano/hub/issues/711 and https://github.com/meltano/hub/issues/710 related to that, feel free to add comments based on your experience so we can make it easier for the next person.
We changed the structured of the plugin definitions as part of the meltano 2.0 release and it looks like your changes (and the issue template) still follow the old structure. I'd recommend checking out something like https://github.com/meltano/hub/blob/main/_data/meltano/extractors/tap-tiktok/gthesheep.yml for an example structure and the docs for detail on what the fields mean. Each variant of that plugin lives in its own file under a directory named after the plugin i.e. tap-quickbase-json/mainspringenergy.yml.
Also I see tap-quickbase already exists although they look to use different APIs, can you confirm that these should be listed as 2 separate taps on the hub vs variants under the same name? Is your tap's json endpoint the new API and the existing tap-quickbase variants use a legacy API, or are they 2 distinct things?

Ok, I just followed the instructions in the template.  What exactly needs to be addressed?
Yeah, tap-quickbase uses a legacy XML-based API that is so underperforming it would have taken 1 year to extract all of our Quickbase data.  It felt like a new thing to me, but it taps the same SaaS tool so I'm not fully clear on whether it's a variant or a new tap.

Yeah, tap-quickbase uses a legacy XML-based API that is so underperforming it would have taken 1 year to extract all of our Quickbase data. It felt like a new thing to me, but it taps the same SaaS tool so I'm not fully clear on whether it's a variant or a new tap.

@gnilrets do you know if it has the same coverage as the existing taps? If its the same then I'd prefer to make yours the default under the same tap-quickspace name on the hub.

Ok, I just followed the instructions in the template. What exactly needs to be addressed?

@gnilrets yeah sorry about that, I updated in the issue template so its updated moving forward.
The things to update shouldnt be to bad, you just need to restructure your yaml to match the structure from the updated issue template or use the reference I linked in my comment above 😄 :

I'd recommend checking out something like https://github.com/meltano/hub/blob/main/_data/meltano/extractors/tap-tiktok/gthesheep.yml for an example structure and the docs for detail on what the fields mean. Each variant of that plugin lives in its own file under a directory named after the plugin i.e. tap-quickbase-json/mainspringenergy.yml.

Also it looks like this is the first variant under the mainspringenergy name so you'll want to add your name to the maintainers file.
So our todos are:

[ ]  add name to maintainers file
[ ]  restructure your yml file
[ ]  we need to decide if we should put this tap under the existing tap-quickbase namespace on the hub or under a new tap-quickbase-json. Depending on coverage and if this json tap is the best default moving forward.

It felt like a new thing to me, but it taps the same SaaS tool so I'm not fully clear on whether it's a variant or a new tap.

@gnilrets @pnadolny13 if it's pulling from the same source I'd rather we keep it under one entity and just make it the default. Assuming it's pulling mostly the same information.

I'm closing this in exchange for https://github.com/meltano/hub/pull/756 that has the updated schema and makes it a variant of tap-quickbase vs a standalone extractor.


make errors as extensions of GraphQLError

When I upload a file bigger than maxFileSize the entire app crashes with this error:
MaxFileSizeUploadError: File truncated as it exceeds the size limit.
would it be better to throw GraphQLError instead so user will get a feedback and not crash the server?

Duplicates https://github.com/jaydenseric/apollo-upload-server/issues/45.

I have read the #45 before and updated to the latest version. But it is not throwing the error type: GraphQLError. If it would trow GraphQLError the resolver would return it as an error to the client and not crash the api.

We need a way to handle the error as a stream event, so that when an upload stream to a cloud service suddenly cuts off due to the file size limit it can be handled properly (cleanup, etc.).
It is really up to the developer how the error should be communicated to the client; I don't throw validation errors in my resolvers (resulting in a GraphQL error). Instead I populate an errors field in the response payload. Something like this.

Thank you for your response.
I still do not know how to know if en error is from your library or not.
copy&paste from your link:
  if (
    // Image stream was truncated due to maxFileSize
  ) payload.errors.image.push('Filesize too big.')

how do I know the Image stream was truncated due to maxFileSize or some other error was thrown from your library? Where should I do the try{} catch{} ?
It would be nice if the I could catch error here like this and re-throw it:
    try {
      const { stream, filename, mimetype, encoding } = await data.image;
    } catch (error) {
      throw new GraphQLError(error.message);
    }

Sorry again for lame questions I am new to node/graphql...
Thank you very much for taking your time of your busy day doing great packages.

In theory, you should be able to do this:
// Individual file upload stream
stream.on('error', error => {
  if (stream.truncated) console.log('Cut off for some reason.')
  // Or…
  if (error.name === 'MaxFileSizeUploadError') console.log('Cut off specifically due to exceeded max file size')
})

But, there is that bug causing the server to crash instead.
One possible fix I could do is to change the API, so that the MaxFileSizeUploadError does not cause an error event:
stream.on('limit', error => { })


Reactive Tracking Error

Found after upgrading to 0.7.0-gamma2 and 0.4.0-beta3 (via git)
This error immediately shows up in compilation after including thaw in cargo.toml.

this week I'll see if I can get around to reproducing in a new repo and send the link. Is that what you're after?

Yes, because I didn't reproduce this problem on my computer.

I get this error when add thaw like this:
thaw = { version = "0.4.0-beta4", features = ["ssr", "hydrate", "nightly"] }

but if i write:
thaw = { version = "0.4.0-beta4", features = ["nightly"] }

error is gone

@MikhailNazarov The ssr feature and the hydrate feature cannot be enabled at the same time. If you use cargo-leptos , you can refer to this: https://thawui.vercel.app/guide/server-sider-rendering

@luoxiaozero , thank you for reply. I'm using cargo-leptos. Could I specify following?
[features]
default = ["thaw/nightly"]
hydrate = ["leptos/hydrate", "thaw/hydrate"]
ssr = [
    "dep:axum",
    "dep:tokio",
    "dep:tower",
    "dep:tower-http",
    "dep:leptos_axum",
    "leptos/ssr",
    "leptos_meta/ssr",
    "leptos_router/ssr",
    "dep:tracing",
    "thaw/ssr",
]

@luoxiaozero , could I specify following
[features]
default = ["thaw/nightly"]
hydrate = ["leptos/hydrate", "thaw/hydrate"]
ssr = [
    "dep:axum",
    "dep:tokio",
    "dep:tower",
    "dep:tower-http",
    "dep:leptos_axum",
    "leptos/ssr",
    "leptos_meta/ssr",
    "leptos_router/ssr",
    "dep:tracing",
    "thaw/ssr",
]

It seems to work that way.

@MikhailNazarov Does your leptos dependency have the nightly feature enabled? If so, you can remove default = ["thaw/nightly"] and change the thaw dependency to thaw = { version = ..., features = ["nightly"] }

I was able to get it to compile and run.
I tinkered with settings, and this runs:
leptos = { version = "=0.7.0-rc1", features = ["nightly"]}
thaw = { git = "https://github.com/thaw-ui/thaw", features = ["ssr", "nightly"] }
[features]
csr = ["leptos/csr"]
hydrate = ["leptos/hydrate"]
ssr = [
"dep:actix-files",
"dep:actix-web",
"dep:leptos_actix",
"leptos/ssr",
"leptos_meta/ssr",
"leptos_router/ssr",
"thaw/ssr",
]
@luoxiaozero I think this can closed.


Add inactivity timeout after two unanswered questions.

Quiz should timeout and return to the attract screen when no one has answered any questions for 2 questions.
This addresses the scenario when people stand up and walk away in the middle of the quiz. We don't want the quiz to continue with no one actively using it.

Also, should the app just refresh, or do we jump to the next quiz? It will go to the attract screen in both the cases.

@abdulrauf11 No, there's no need to represent/warn this visually, and you just refresh the app in this case.
Here is an example scenario:

Group sits down and begins quiz
After answering Questions #1, #2, and #3, the group stands up and leaves.
Question #4 concludes with no input
Question #5 concludes with no input
App recognizes two questions have gone unanswered, and refreshes to attract screen.