abseil-cpp is missing dependency on googletest?

When importing abseil-cpp, I get the following error:
[...]/external/abseil-cpp.20210324.2/absl/hash/BUILD.bazel:54:11: no such package '@com_google_googletest//': The repository '@com_google_googletest' could not be resolved: Repository '@com_google_googletest' is not visible from repository<EMAIL_ADDRESS>and referenced by '@abseil-cpp.20210324.2//absl/hash:hash_testing'
Is the dependency on googletest missing from https://github.com/bazelbuild/bazel-central-registry/blob/53e8c3ad84c9407df5d644fef680fe92f27e7a39/modules/abseil-cpp/20210324.2/MODULE.bazel?

 (I renamed the import); but @//... -- i.e. my own repo. I don't think importing an external repo should leak into the @-space, should it?

Ah no, never mind! I do depend on :hash_testing directly. Sorry!

Ah. This could be a "feature"-like feature that we're still missing. :hash_testing does look like a public API, but probably not every dependent of Abseil wants to use it, and hence they might not want a dependency on googletest at all.
Right now, Abseil either has a dependency on googletest, or doesn't; it cannot "sometimes" depend on googletest. In Cargo for example this is solved by "features" -- when adding a dependency, you can add on optional features (in this case, the "testing utils" feature of Abseil) that themselves bring in new dependencies. But this problem can be alternatively solved by splitting the feature into a separate module, so we haven't prioritized this.
So for the time being, we could either just add googletest as a dependency to Abseil, or try to split out the "testing utils" parts of Abseil into a separate module.

Version 20230802.0 of the abseil-cpp module introduced a googletest dependency. (Unlike google_benchmark, which was changed to a dev_dependency in the .bcr.1 patch.)
Is this issue resolved? In an acceptable way?


[BEAM-8178] Fix broken Load Tests running on Flink

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

R: @lgajowy


Stripe default formatting makes Pay button  text unreadable on store

All the colours in the stripe module are black by default, so the text "Pay" is black on black. Please make "Button foreground color" white by default. Also suggest translating these as "button text colour" - as "foreground color" is really a designers terminology, not intelligible to the layman.

Is it fixed?

Yes


Introductory Examples only allow to select 1 button

I'm submitting a ...  (check one with "x")
[ ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[X] support request

Current behavior
Radio button in Introductory Example only Allow to select 1 element
Expected behavior
There are 2 different objects of the same type, radio button in this case, you have 2 elements (Title1 & Title2) with 2 different options each one (mr. & mrs) so  I should be able to select 2 differents options.
What is the motivation / use case for changing the behavior?

I'm starting to use ng-formly and I'd like to learn how to develop correctly with it.
Please tell us about your environment:

Win 10 , VSCode

Angular version: 5.0.1

IT is

Browser: [| Chrome XX | Firefox XX | ]

Chrome, Firefox

Language: [all | TypeScript X.X | ES6/7 | ES5]
Typescript

the demo app is based on an old version, I tested with the latest one and it seems working as expected, the demo will be updated soon I just need to find some time see https://github.com/formly-js/ng-formly/issues/543


500 Error when invoking AstraDBVectorStore from API route in Next.js 14

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain.js documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain.js rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
const astraConfig: AstraLibArgs = {
token,
endpoint,
collection: collectionVar,
collectionOptions: {
vector: {
dimension: 1536,
metric: "cosine",
},
},
};
export async function getVectorStore() {
return AstraDBVectorStore.fromExistingIndex(
new OpenAIEmbeddings({ modelName: "text-embedding-3-small" }),
astraConfig
);
}
//API Route Invokation
const retriever = (await getVectorStore()).asRetriever();
Error Message and Stack Trace (if applicable)
Error: Error loading the fetch-h2 client for the DataAPIClient... try setting httpOptions.client to 'fetch'
Description
I'm getting an error when attempting to invoke my AstraDBVectorStore instance from an API route in Next.js 14.
Invoking this function elsewhere in my application works fine.
System Info
macOS 14.5
Node v20.6.1

@dosu, no luck with your approach

Hey sorry you're running into this - have you set your route to run in a Node env? The integration is Node-only:
https://js.langchain.com/v0.2/docs/integrations/vectorstores/astradb
If you have, CC @mfortman11

hey @Kiran-Wicksteed , i'm facing same issue in with current project, cloned but perfectly working from previous project https://github.com/Sandeepreddyr12/My-Portfolio,
please let me know if u had any solution , thank u.


Global mod characters

Describe your problem here.
How to use my MOD character in ANY music
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No response

what do you mean

I add the "ExtraCharacters" mod folder in the "Mods" folder, add the characters there and i can't use them for some reason

Make sure is in mods/images


Support VxWorks, Fuchsia and other Unix systems by using poll

Closes #20.
Notes:

I had to add the extra_traits feature to libc to #[derive(Debug)] on the polling implementation. This can be done manually to avoid activating the feature, if that's something you care about.
I had to #[derive(Clone, Copy)] on Event. It seems to be fine as Event's interface is already fully exposed.
I have tested this on Linux by disabling epoll and I have checked it compiles on Fuchsia (VxWorks and Haiku aren't supported by Rustup).

Some quick questions before I do a deeper dive into the code...
Suppose a thread is blocked on wait(). Another thread then calls add() and the added FD is immediately ready.

Is it ensured that wait() doesn't hold a mutex lock that blocks add() forever?
Is it ensured that add() wakes up the caller of wait() even though the added FD is not in its poll set?

Thanks for pointing that out, I didn't consider those cases - I'll convert this to a draft.

I've changed the implementation to allow add, modify and delete to

Ok, I think I've handled those cases now. Any call to add, modify or delete will interrupt the thread that's calling poll and send it into a condvar loop which it will exit if the user calls .notify() or all the operations complete.

We use
[target."cfg(unix)".dependencies]
libc = { version = "0.2.77", features = ["extra_traits"] }

but
    } else if #[cfg(any(
        target_os = "vxworks",
        target_os = "fuchsia",
        unix,
    ))] {
        mod poll;
        use poll as sys;

and
// std::os::unix doesn't exist on Fuchsia
use libc::c_int as RawFd;

This is a mismatch between cfg-targets and should be fixed.
btw. if fixed, this would mean the justification in "I'm averse to adding a dependency for this implementation, mostly because it would require a really long cfg in the Cargo.toml" would no longer apply....

Ah right, the reason Fuchsia was compiling before is that it hasn't actually been changed to a target_family of None yet (it's still Unix).

if fixed, this would mean the justification in "I'm averse to adding a dependency for this implementation, mostly because it would require a really long cfg in the Cargo.toml" would no longer apply....

It still applies, because the actual cfg required there would be cfg(any(target_os = "fuchsia", target_os = "vxworks", all(unix, not(any(target_os = "linux", target_os = "android", target_os = "illumos", target_os = "solaris", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd", target_os = "dragonfly"))))).

I have tested in on Haiku, works for me. Rustup indeed does not support Haiku, but rust can be installed with pkgman install rust_bin.

I haven't reviewed this PR yet, but in mio, there was a discussion on poll's problems in the past: https://github.com/tokio-rs/mio/issues/1472#issuecomment-796816730
How does this PR deal with such problems?

I haven't reviewed this PR yet, but in mio, (IIUC) there was a discussion on poll's problems in the past: tokio-rs/mio#1472 (comment)
How does this PR deal with such problems?

By storing all file descriptors inside a Poller, it's the first field of type Mutex<Fds>. Looks like polling does not have problems supporting poll.

Also, would it be possible to add tests for the cases mentioned in https://github.com/smol-rs/polling/pull/26#issuecomment-747656221 by Stjepan? I don't think tests for such a case currently exist.

Suppose a thread is blocked on wait(). Another thread then calls add() and the added FD is immediately ready.

Is it ensured that wait() doesn't hold a mutex lock that blocks add() forever?
Is it ensured that add() wakes up the caller of wait() even though the added FD is not in its poll set?

OK, I have done everything suggested 😊
Hopefully CI will pass...

Published in v2.2.0.


utxosAt only returns the first UTXO

As mentioned in the title, Lucid.utxosAt() only returns the first UTXO.

https://preprod.cardanoscan.io/address/addr_test1wzkevesc9wvaxfy63cxuksq95c674wpe9qcg6murm9tsgcq726eds?tab=transactions
This is my script address. As you can see, there should be more than one UTXOs sitting

const [scriptUtxo] = await lucid.utxosAt("addr_test1wzkevesc9wvaxfy63cxuksq95c674wpe9qcg6murm9tsgcq726eds");
This is my code

I don't fully understand the issue.
Obviously when you do this:
const [scriptUtxo] = await lucid.utxosAt("addr_test1wzkevesc9wvaxfy63cxuksq95c674wpe9qcg6murm9tsgcq726eds");

then it's just one utxo because you pattern match it.
If you do this you see a list of UTxOs:
const scriptUtxos = await lucid.utxosAt("addr_test1wzkevesc9wvaxfy63cxuksq95c674wpe9qcg6murm9tsgcq726eds");

Oh, sorry. My bad.


Add support for Azure scoped permissions

Add support for splitting the permissions between subscription level and resource group level.

The latest beta release (v0.9.0-beta.2) adds support for scoped permissions. The polaris_azure_permissions data source has been updated to provide both subscription level and resource group level permissions. See the polaris_azure_permissions data source documentation for additional information.
Note, the way to notify RSC about role permissions being updated has changed. Previously the permissions field of the polaris_azure_service_principal resource would be used. Now, each polaris_azure_subscription feature has its own permissions field.


generate a new document for corrections

The format is simpler that the one in RFC 8540. If needed I can update the format.
We may also add ebml.xml as an annex, making it normative. But it's more work than necessary, possibly leading to new fixes...
Fixes #412

We need to create a new entry in the CELLAR documents https://datatracker.ietf.org/wg/cellar/documents/

@robUx4, thanks for starting this work. I'm not good at generating the EBML specifications, but I did poke around a bit.
If I could make a couple of suggestions (which you may have already taken care of - my apologies, if so):

I'd suggest using draft-ietf-cellar-rfc8794-corrections as the output file name. Unless @mcr has "other thoughts" ("spencer-corrections"?), I don't see that we need to go through the "post as individual and see if the working group adopts it, and then rename" shuffle.
It is going to be much easier to take this draft through the approvals process, at some point in time, if you actually cut-and-paste the text being modified, and then the complete text with corrections, for each correction, using "OLD" and "NEW" to prefix them, just as we would for errata (if we were doing the RFC errata process). If you're correcting a sentence in the middle of a paragraph, show the entire paragraph (OLD and NEW), so that it's obvious to the reader where this text is in the document.
If you can summarize in a sentence or two about why the original text needs to be corrected, that would be very helpful. I see something like that (I think!), so thank you for that.
Just looking at the corrections listed so far - I see that https://www.rfc-editor.org/rfc/rfc8141.html obsoletes RFC 2141, but I'm not seeing that RFC 2141 has been deprecated (unless I'm missing it). Is the goal here to make use of extensions that are allowed in RFC 8141 (https://www.rfc-editor.org/rfc/rfc8141.html#appendix-B),, or just to use the current version of the standards-track URN specification? Either way, we should talk about who deprecated RFC 2141, or change the wording to Obsolete.

done
OK, alhtough for the XML Schema it may look a bit odd
will do
#389 mentions deprecated but it's just obsolete. maybe we don't really need this change ?

Given how RFC errata work, I opted to keep updating the current document with changes, so it can be diff'ed with the current RFC to produce the errata text.

There is now an rfc8794 branch that collects all the errata so we can regenerate a plain with these errata applies.


Added ruby implemention of Checkers.

Also added my annotated version of the BASIC source code on the off chance that it would be useful.
The script I used to reformat the BASIC source is at https://gitlab.com/-/snippets/2089892
Depending on personal time constraints, I may submit another PR adding one or two incrementally improved versions of this.

Appreciated!! 😁


build: improve installation making use of pyproject.toml file only and setuptools

I removed redundancies from the actions
Now we have only one config file instead of 3 (pyproject.toml), which contains all the needed info for pip-related dependencies and metadata of deeprank2.
I fixed the builds for multiple python versions; the action.yml file was not taking as input the python version specified in the workflows, thus defaulting always to the one specified (as a default) in the action.yml, which was python 3.9. We were not running workflows on python 3.10.
Now we test the build on Python 3.10 and 3.11; I removed python 3.9 from everywhere, so we're not maintaining it anymore.
I kept the conda installation of msms since ResidueDepth from biopython uses it (tried and verified).
Apparently dependencies' urls (or index urls) are not expected from setuptools: the user should be in charge of choosing the indexes, and not the creator of the package; installing torch, torch_geometric and the other torch adds is not possible using setuptools beacause their installation needs such links (or conda, which is not supported by the toml project file). I've read also here that setuptools does not support such links, and that they don't comply to the new pep specifications. With poetry this was possible, but being not in line with the standards and having chosen to not use poetry for installing the other dependencies of this package, I think we should just instruct the user to install the pytorchs versions suitable for the machine, and we should not be responsible for that. As developers, we'll use actions/install-python-and-package/action.yml as a reference for how to install torch packages.
Same as above for the other external dependencies. Also, is a pain to maintain the instructions update in the readme, so I just left the links to the right installation pages for all the external packages (i.e., packages not installed through the toml file). This makes our readme instructions much more readable, and avoids us to keep updating the readme each time one external dependency changes something (see now, MSMS removed the download file from the website). Eventually, we can update the links for pointing to more up-to-date installation pages, when and if they'll change. Thus, I updated the installation docs.
I removed h5xplorer from everywhere. This PR closes issue #456 as well.
I tried to setup MacOS installation, and it was running correctly (at least for Python 3.10) except for MSMS installation, which for Mac can't be via conda. I opened an issue about it  on their repo, in case they solve it I will readd the MacOS installation. For now I left the OS checking in the action.yml, and in case it will be ready to be run.

Great job, big effort!
PR should be renamed as you are not using poetry in the end. Also, should it be a "build" type rather than a "refactor"?
I could follow the install instructions and could run pytest and prospector without anything getting flagged. I did notice that somewhere along the way scipy 1.11.1 gets installed, then gets uninstalled and 1.11.2 gets installed. Probably not worthwhile investigating further though.
I left some minor comments here and there.

I changed the PR name :) regarding scipy, I think it gets installed with torch and then when we install the package via the toml file it gets upgraded because of the requirement there (>= 1.11.2), which is needed. I think it's fine for now


Update blas and lapack

This update is due to lapack/#15.

Sorry, I've been out of town. I will be able to review and merge the patch in a couple of days.


Add Travis Scott - SICKO MODE ft. Drake by Travis Scott

Song Name
Travis Scott - SICKO MODE ft. Drake
Artist Name
Travis Scott
Source
Youtube
Youtube Link
b3dE3lCRS2zzK7a7
Direct File Link
No response
Song ID
533927
Start Offset [ms]
1
Extra
Created from Auto Nong.
Created for level: 4284013

reject
invalid YouTube link


compat bound update needed

Pluto 0.16 is not supported yet

Fixed! Sorry for the late response, feel free to make changes in the future


Add multithread support but without using TLS

A request from C++ committee members was to provide a exception runtime that can work across multiple threads, but does NOT require thread local storage.
Motivation

There exists systems for which thread local storage of any kind is expensive. Potentially GPUs, and other non-CPU devices that execute C++ code.
Providing a non-TLS support for exception handling would strongly improve the likelihood that committee members would accept sticking with the current backwards ABI implementation.

NOTE: Although I am not fully convinced that (1) is a massive issue, but I benefit of proving its possible with the current ABI will give little room for the opposition to suggest alternative ABI breaking or additional implementation solutions.

Implementation solution (0)
So I believe I've determined a solution to this problem. The root of the problem with exceptions is remembering where the exception pointer is when you drop into a to perform cleanup (execute destructors) or into a catch block landing pad.
The problem
The libc++abi has APIs that take no inputs. The biggest offenders that we expect to see in non-degenerate code is:

__cxa_rethrow();
__cxa_end_cleanup()
__cxa_end_catch()
throw e (in a catch block)

With TLS, these variables can be easily recovered in the function definition. All that is required is a thread local pointer to the exception which is looked up based on the thread the exception was thrown in.
We cannot allocate the memory for the exception downstream in the stack. We should assume that all memory downstream from a destructor or catch block being called is off limits. This is due to the fact that destructors could allocate a large amount of memory on the stack. We should assume that destructors allocate infinite memory and thus would corrupt our exception pointer.
The solution

Use the return address on the stack as storage for the address of the std::exception_ptr. Before the runtime jumps into the function, it would cache the return address from the function's stack into its exception header, and replace the return address with the address of the address of the exception.
There is no other part of the stack that is guaranteed to exist or wouldn't cause issues if it was modified. Lets go over the alternatives:

Why not put the memory below the local stack, akin to push R0 assuming R0 has the exception pointer? Because destructors could corrupt it.
Why not use the stack above the current frame? Because the local frame may refer to memory in the frame above. So corrupting that data could break destructors.
Why not use a different register besides the return address? The only register that we know MUST exist is the return address. Functions are required to store this if they call other functions, otherwise they would not be able to return from their current function.
Is there anywhere else we could put it, like maybe a list that contains an address/index for every possible thread in the application? This is TLS :P just that we implemented using our own array.

We can detect if the return address is an exception pointer by checking if the return address exists outside of one or more .text sections. For rethrow, the __cxa_rethrow function can perform a search up the stack by consulting the unwind table based on the current stack pointer. Once the exception pointer is found, the exception pointer is copied into the current frame, the previous return address is copied from the header cache, and unwinding can continue as normal. Same process for cleanup except the unwind only requires 1 level of unwind. This gets complicated when you use throw e but it could be managed by detecting the exception pointer in the return address during unwinding, and when the table tells the system to jump back into the function to perform __cxa_end_catch and cleanup, the old exception can be used. The exact details of how this handoff works will be figure out later, but I'm certain it is implementable.


Server side fetches do not calculate content-length header

I have found an odd issue. It seems that when fetches are handed on the server they do not calculate the content-length header value. However, when I have a fetch that triggers on the client/browser, and then hits the server, that header is present.
My UI app is interfacing with another internal API that lives in a different app built on top of Ruby on Rails. This API requires that the content-length header be present. So calls from the client/browser using fetch direct to this API work fine, bit when I try to use an HttpStateSource hook to send these same request from our node server to the Rails server, that header is not calculated.
I have worked around this by calculating the value myself and adding it to the headers of the request before it goes out. This is easy for stringifyable things like JSON, but I worry that not having this handled intelligently by the fetch library could present a problem down the road when we start sending things like multi-part data to the API.
Is this a bug or a "feature"? Am I doing something wrong?

fetch goes through a different polyfill on server v on browser - node-fetch on server v whatwg-fetch on browser (both via isomorphic-fetch). You could look at those.

I'm actually not seeing what you report. If I run:
import {HttpStateSource} from 'marty';

HttpStateSource.removeHook('parseJSON');
const source = new HttpStateSource({});

source.post({
  url: 'http://httpbin.org/post',
  body: 'a=1'
})
  .then(res => res.json())
  .then(json => {
    console.log('state source');
    console.log(json)
  });

fetch(
  'http://httpbin.org/post',
  {body: 'a=1', method: 'POST'}
)
  .then(res => res.json())
  .then(json => {
    console.log('node-fetch');
    console.log(json)
  });

I get:
state source
{ args: {},
  data: 'a=1',
  files: {},
  form: {},
  headers:
   { Accept: '*/*',
     'Accept-Encoding': 'gzip,deflate',
     'Content-Length': '3',
     Host: 'httpbin.org',
     'User-Agent': 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)' },
  json: null,
  origin: '<IP_ADDRESS>',
  url: 'http://httpbin.org/post' }
node-fetch
{ args: {},
  data: 'a=1',
  files: {},
  form: {},
  headers:
   { Accept: '*/*',
     'Accept-Encoding': 'gzip,deflate',
     'Content-Length': '3',
     Host: 'httpbin.org',
     'User-Agent': 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)' },
  json: null,
  origin: '<IP_ADDRESS>',
  url: 'http://httpbin.org/post' }

i.e. the same behavior, with Content-Length properly supplied in both cases.
Let me know if you see further issues.

And you tested this running the system through app.renderToString?
Becuase when I have the ran through renderToString and then insert a
before hook. The request that is passed to the before hook does not have a
content-length header.
Also, what you are sending to console log is the response headers. My issue
is that the request headers do not have a content-length.
AD
On Thu, Jul 16, 2015 at 12:22 PM, Jimmy Jia<EMAIL_ADDRESS>wrote:

Closed #364 https://github.com/martyjs/marty/issues/364.
—
Reply to this email directly or view it on GitHub
https://github.com/martyjs/marty/issues/364#event-357860094.

The httpbin.org/post endpoint echoes back the request headers - note the "Accept" settings and "User-Agent".
Your "before" hook will not see the content-length header, because the content-length header is generated after that, i.e. the before hooks are all run before we call into fetch.

Gotcha. However, when I have fetch send route the request right back into my node API, and then I look at the request coming into that endpoint, I don't have a content-length header at the endpoint. Right now I have hacked around this by adding the header in the before hook, and this resolves the issue. That said, this feels like a hack, and something that will trip me up down the line.

Try to see if you can reproduce the issue with node-fetch (via isomorphic-fetch) on its own. What you're describing sounds a lot like an issue there, which you should file as an issue w/the node-fetch devs if possible.


Change on hidden select fired even when selection did not change

I just encountered the to me strange behaviour that the change event ist fired on the original select even when the Selectric selection did not change.
(As Example when the viewer clicks on a blank space on the website)
I solved it by the following options:
            onBeforeChange: function(select, selectric) {
                $(select).data('currIndex', selectric.state.currValue);
            },
            onChange: function(select, selectric) {
                if($(select).data('currIndex') == selectric.state.currValue)
                    return false;
                $(select).change();
            }

But this doesn't feel like the right aproach...

I can confirm the bug exists in v1.10.1
@muhkuh2005 thanks for the workaround!


Backward convolution

previous method get_affine_components did not scale to large convolution filters
replace this method by deriving the affine weights with the get_toeplitz method
get_toeplitz use extract_patches and im2col which is the recommandation of tensorflow for computing the affine versions of convolution
two versions are implemented in backward_layers/utils_conv: data_format = [channels_first, channels_last]
associated tests are available in test_backward_utils_conv

When running the tests locally some are failing.
It concerns only "channels_first" tests that are not skipped on my laptop as i used a GPU, but must be skipped on github runner.


Update machine-learning-data-science-setup-sql-server-virtual-machine.md

Corrected Xibin's GitHub name

Hi @msolhab, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (mohabib). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, or work for Microsoft Open Technologies, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;


Missing documentation for System.Devices.PhoneLineTransportDevice.Connected

System.Devices.PhoneLineTransportDevice.Connected is a property used with the DeviceInformation APIs to see if a PhoneLineTransportDevice is connected. Without the documentation of this property, app developers will not be able to deterministically know when a PhoneLineTransportDevice is connected. Please add documentation for this property.

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

ID: 68b59878-a4b2-85de-d0ec-b1c07bcad978
Version Independent ID: 5c0304ae-113b-30dd-5848-a31866d31370
Content: PhoneLineTransportDevice Class (Windows.ApplicationModel.Calls) - Windows UWP applications
Content Source: winrt-api-build/xml/Windows.ApplicationModel.Calls/PhoneLineTransportDevice.xml
Product: uwp
Technology: winrt-reference
GitHub Login: @mikben
Microsoft Alias: mikben

Thanks for taking the time to let us know about this and we sincerely apologize for the delayed response. Due to the sheer volume of feedback in our repo, we are currently prioritizing new Issues. If you believe your feedback is still actionable, let us know either directly in this thread or by filing a new Issue and we’ll work to incorporate the suggestions into the documentation. There is currently no Connected or DeviceStatus property in the available APIs.
Though the Issue will be marked as Closed, we will monitor any replies that come afterwards so feel free to treat this like an open Issue. Many thanks!


Performance Improvements

While browsing the code I stumbled on the following:
https://github.com/Azure/data-api-builder/blob/5150fad74a9e9e2766a70e1974e4b2109b27d915/src/Service/Services/ResolverMiddleware.cs#L100
This middleware registered as a middleware for all fields.
With version 12 we have introduced pure resolvers which will improve execution performance by multiple times as not each field will be handled as its own resolver task for which we need to rent a context and other things. Instead pure fields ... or simple data fields can be folded into their parent.
This class essentially would be split up into two classes, one that handles the fetching of data and the other one that handles the unpacking of data.
Further we would not use the generic middleware but instead use a type interceptor to give each fields a specific middleware. This also would remove further cases from the class and benefit execution perf and memory allocations during execution.
When we introduced these changes to the introspection in Version 12 we saw the same instance go from 19983 requests per second to 33702 request per second on the same hardware.
Do you guys want to have a go at it with me?

Sure, thanks for bringing this up! If you'd like, feel free to take a stab at it as well :)

OK ... got it working ... I opened #1392 as a draft PR and will ping you once I am done.

Im glad you got it working! We are checking how we can solve the feeds issue. FYI @mbhaskar


Feasibility for object detection

Hello，Can this method be used for object detection?  Thank you so much!

Hmm, DUQ cannot be easily extended to regression, so bounding box object detection would be difficult.
We do have a follow up (workshop) paper on semantic segmentation: https://arxiv.org/abs/2111.00079 based on a different but similar method.

Hmm, DUQ cannot be easily extended to regression, so bounding box object detection would be difficult.
We do have a follow up (workshop) paper on semantic segmentation: https://arxiv.org/abs/2111.00079 based on a different but similar method.

One object detction network is developed base on your DUQ, https://ieeexplore.ieee.org/abstract/document/9627771, published on RA-L recently.
I will also try to implment your method on 6D pose regression task.

Thank you for sharing this :)


Coercion methods leak into other AvaloniaProperty owners via the "default metadata"

Describe the bug
If a property's metadata does not define a coercion method for any type in the type hierarchy of an AvaloniaProperty owner, the value from the field AvaloniaProperty_defaultMetadata is used. This is simply whatever was provided when the property was first registered.
The value can contain a coercion method which should be specific to the registering type, but due to this bug instead leaks out into other, incompatible owners.
The only way to work around this is for the type calling AddOwner to provide its own coercion method, even if no coercion is actually wanted.
To Reproduce
[Fact]
public void Coercion_Method_Is_Type_Safe()
{
    new ClassB().SetValue(ClassB.FooProperty, 1); // System.InvalidCastException: 'Unable to cast object of type 'ClassB' to type 'ClassA'.'
}

class ClassA : AvaloniaObject
{
    public static readonly StyledProperty<int> FooProperty = AvaloniaProperty.Register<ClassA, int>("Foo", coerce: CoerceFoo);

    private static int CoerceFoo(AvaloniaObject sender, int baseValue)
    {
        _ = (ClassA)sender;
        return baseValue;
    }
}

class ClassB : AvaloniaObject
{
    public static readonly StyledProperty<int> FooProperty = ClassA.FooProperty.AddOwner<ClassB>();
}

Expected behavior
The default metadata object should be a default-constructed version of DirectPropertyMetadata or StyledPropertyMetadata. This would match WPF's behaviour.

I've looked into this a bit more today. The intent seems to be allow other metadata values such as DefaultBindingMode to transfer between owners.
This is a reasonable idea, but it has problems in practice. This test fails:
[Fact]
public void Default_Value_Follows_Chained_AddOwner()
{
    var classBDefault = ClassB.FooProperty.GetDefaultValue(typeof(ClassB));
    var classCDefault = ClassC.FooProperty.GetDefaultValue(typeof(ClassC));

    Assert.Equal(classBDefault, classCDefault); // Expected: 5  Actual: 1
}

class ClassA : AvaloniaObject
{
    public static readonly StyledProperty<int> FooProperty = AvaloniaProperty.Register<ClassA, int>("Foo", 1);
}

class ClassB : AvaloniaObject
{
    public static readonly StyledProperty<int> FooProperty = ClassA.FooProperty.AddOwner<ClassB>(new(defaultValue: 5));
}

class ClassC : AvaloniaObject
{
    public static readonly StyledProperty<int> FooProperty = ClassB.FooProperty.AddOwner<ClassC>();
}

The call to ClassB.FooProperty.AddOwner<ClassC>() looks like it should inherit the metadata of ClassB. But there is actually only one StyledProperty<int> object which is being shared by all three classes. When I call AddOwner the object has no idea that I'm doing so via ClassB and so cannot know that I expect the metadata for ClassB to be inherited by my new owner.
It must be said that WPF suffers from the same problem. It transfers the property's default value between owners, which is necessary because the property's validation method is stored on the property itself, rather than owner metadata. Avalonia is more exposed to this issue because it transfers everything.

We can resolve the bug by changing _defaultMetadata to a modified object with type-specific properties (like coercion methods) scrubbed. We should do this.
Ensuring that the expected base metadata is used will require users to define exactly which "base owner" they want. This can be achieved today by calling AvaloniaProperty.GetMetadata and merging your metadata with the object returned, but that's very obscure. Not sure how important this is.

Also: I noticed while researching all this that it's possible to request metadata for a type which calls AddOwner before the type has registered it! The registration will probably happen within a field initialiser or static constructor, and they are not executed until C# wants to access the field or a type member respectively.
The only fix for this I can see is moving all property registration into static constructors and then calling System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor in GetMetadata. That's a huge pain, but won't break anything.


"Timer Obscure Behavior" needs an overhaul

[ ] The explanations can be reworded more clearly
[ ] The last diagram is wrong, as it contradicts the paragraph below it.

Fixed by #543.


The error message for specifying an invalid broker should be more clear

A typical set command (DL2 syntax) is dragonfly set endpoint 1.0 -b rabbit_broker. However, it's very easy to type rabbit-broker and not notice. The error that appears is a generic Name or service not known.

I suggest changing the error message to explicitly call out the possibility that the broker name is wrong. Perhaps something like Unable to reach broker <{specified broker}>. Is that the right broker?

Fortunately we've improved this situation in Dripline 3.  Here's an example where I just started up a dripline-python:latest container and ran a test get command (no other setup, so it was bound to fail):
root@8a7512eea50c:/# dl-agent get test -b some-broker
2023-02-13 19:35:21 [ PROG] i/application.cc(134): Final configuration:

{
    dripline :
    {
        alerts-exchange : alerts
        broker : some-broker
        heartbeat-interval-s : 60
        heartbeat-routing-key : heartbeat
        loop-timeout-ms : 1000
        max-payload-size : 10000
        message-wait-ms : 1000
        requests-exchange : requests
    }

    rk : test
    timeout : 10
}

2023-02-13 19:35:21 [ PROG] i/application.cc(135): Ordered args:

[
]

2023-02-13 19:35:21 [ERROR] /library/core.cc(369): AMQP Library Exception caught while creating channel: (-5) hostname lookup failed
2023-02-13 19:35:21 [ERROR] library/agent.cc(194): Unable to connect to the broker:
Unable to open channel to send message
Broker: some-broker
Port: 5672
Routing Key: test

Please let me know if that seems sufficiently clear.  It's great to have this sort of feedback.

@alindman Could we get your feedback on the above change?

Here's an example where the broker hadn't finished starting up yet. It's missing the info about the broker that's printed in the above example. Need to check why it's not present here.  Presumably the problem's being caught in a slightly different place.
key-value-store-1  | 2024-09-03 23:38:39 [ INFO] (tid<PHONE_NUMBER>94272) /library/core.cc(281): Opening AMQP connection and creating channel to rabbit-broker:5672
key-value-store-1  | 2024-09-03 23:38:39 [DEBUG] (tid<PHONE_NUMBER>94272) /library/core.cc(282): Using broker authentication: dripline:dripline
key-value-store-1  | 2024-09-03 23:38:39 [ERROR] (tid<PHONE_NUMBER>94272) /library/core.cc(302): AMQP Library Exception caught while creating channel: (-9) a socket error occurred
key-value-store-1  | 2024-09-03 23:38:39 [ERROR] (tid<PHONE_NUMBER>94272) /library/core.cc(305): This error means the client could not connect to the broker.
key-value-store-1  | 	Check that you have the address and port correct, and that the broker is running.


Error 5042 when using libssh2_channel_shell.vi.

Hi
whenever I try to open a shell with libssh2_channel_shell.vi I get error 5042. libssh2_session_last_error.vi converts this to error -43, Failed waiting for channel success.
I'm not sure if this is necessary but i do request a PTY via libssh2_channel_request_pty.vi.
When this happens, the server reports the following message:
session_shell_req: parse packet: Connection from user <user> <ip> port <port>: unexpected bytes remain after decoding
I looked at example C code and tried to port that to LabVIEW using this library. Am I missing something obvious that needs to be done in LabVIEW to make this work?

This looks like an issue in the transport layer between libssh2 and your server. In principle, this should work out of the box. Without the code it is difficult to say why it fails.
Please try the channel_request_pty example included with the library. It is based on the example from libssh2 and available from the example finder when using the directory view:

I adapted the vi so that it requests a process of type shell instead of exec.
libssh2_channel_shell.vi returns the error mentioned before.

Good catch.
Took me a while to figure out what is wrong here. Turns out that libssh2_channel_process_startup only checks if message is defined and not whether message_len is greater than zero: https://github.com/libssh2/libssh2/blob/e2b2c026869f9c8b9d1881729007fb95007ef0fa/src/channel.c#L1568-L1569
        if(message)
            _libssh2_store_u32(&s, (uint32_t)message_len);

These are the extra bytes that cause the error. The fix is to provide NULL for message when message_len is zero. Fix incoming...

The fix is included in the latest release: https://github.com/logmanoriginal/lvssh2/releases/tag/0.3.0
Let me know if this fixes your issue.

This, indeed, fixes my issue, tysm.
Is there any way I can support your work?

Awesome, thanks for the feedback!
As for support, please don't hesitate to report further bugs an issues you may discover. I'm pretty confident in the stability of this library but sometimes there are strange behaviors like the one you discovered here.
Thanks again for reporting this issue :)


Support applying plans by column? (Or is it really 300x slower??)

I was surprised to learn two thing:

a vector plan doesn't work on matrices:

julia> n = 10; F = FFTW.plan_r2r!(Vector{Float64}(undef,n), FFTW.REDFT00, 1);

julia> X = randn(n,1000);

julia> F * X
ERROR: ArgumentError: FFTW plan applied to wrong-size array
Stacktrace:
 [1] assert_applicable(p::FFTW.r2rFFTWPlan{Float64, (3,), true, 1, Int64}, X::Matrix{Float64})
   @ FFTW ~/.julia/packages/FFTW/pHa9y/src/fft.jl:426
 [2] *(p::FFTW.r2rFFTWPlan{Float64, (3,), true, 1, Int64}, x::Matrix{Float64})
   @ FFTW ~/.julia/packages/FFTW/pHa9y/src/fft.jl:889
 [3] top-level scope
   @ REPL[72]:1

applying the plan column-by-column is 300x slower than the matrix plan (the copy is to avoid NaN possibly being special cased):

julia> M = FFTW.plan_r2r!(Array{Float64}(undef,n,1000), FFTW.REDFT00, 1);

julia> @btime M*copy(X);
  70.895 μs (2 allocations: 78.20 KiB)

julia> function plmul!(F, X)
       @inbounds for j in 1:size(X,2)
       F * view(X,:,j)
       end
       X
       end
plmul! (generic function with 1 method)

julia> @btime plmul!(F, copy(X));
  22.529 ms (2 allocations: 78.20 KiB)

So originally I was going to propose adding support to applying a vector plan to a matrix, but now I'm worried it's too slow. Though the scale of the slow-ness seems unbelievable! So perhaps I've just done something wrong.

Internally, FFTW doesn’t actually have an in-place DCT algorithm IIRC, so it is allocating a temporary buffer each time you execute the plan in order to perform the transform out-of-place and copy back the result. With the matrix plan it does this only once, but with your plmul! it is calling malloc once per column, which is pretty slow compared to the cost of the transform for n=10.
Of course, you could use an out-of-place plan and allocate the buffers yourself.

TFW you've been using in-place transforms to be "non-allocating" when I could should have been using out-of-place transforms 🤦♂
Can confirm it's a more reasonable 3x slowdown (due to better multithreading??)
julia> n = 10; F = FFTW.plan_r2r(Vector{Float64}(undef,n), FFTW.REDFT00, 1);

julia> function plmul!(Y, F, X)
              @inbounds for j in 1:size(X,2)
              mul!(view(Y,:,j), F, view(X,:,j))
              end
              Y
           end
plmul! (generic function with 1 method)

julia> Y = randn(n,1000); X = randn(n,1000); @btime plmul!(Y, F, copy(X));
  277.529 μs (2 allocations: 78.20 KiB)

Any thoughts on whether F * X should be supported? Or perhaps 3x slowdown is reason enough to not support it to point users to the "right" way?

It's not threading by default.  Probably the slowdown is because FFTW's matrix in-place plan is only allocating a buffer big enough to hold a single column, and is re-using that for all of the columns?

What I was thinking is not actually possible in practice since the memory alignment may be off:
julia> mul!(view(randn(5,2),:,2), FFTW.plan_r2r(Vector{Float64}(undef,5), FFTW.REDFT10), view(randn(5,2),:,2))
ERROR: ArgumentError: FFTW plan applied to array with wrong memory alignment
Stacktrace:
 [1] assert_applicable(p::FFTW.r2rFFTWPlan{Float64, (5,), false, 1, UnitRange{Int64}}, X::SubArray{Float64, 1, Matrix{Float64}, Tuple{Base.Slice{Base.OneTo{Int64}}, Int64}, true})
   @ FFTW ~/.julia/packages/FFTW/pHa9y/src/fft.jl:430
 [2] assert_applicable(p::FFTW.r2rFFTWPlan{Float64, (5,), false, 1, UnitRange{Int64}}, X::SubArray{Float64, 1, Matrix{Float64}, Tuple{Base.Slice{Base.OneTo{Int64}}, Int64}, true}, Y::SubArray{Float64, 1, Matrix{Float64}, Tuple{Base.Slice{Base.OneTo{Int64}}, Int64}, true})
   @ FFTW ~/.julia/packages/FFTW/pHa9y/src/fft.jl:435
 [3] mul!(y::SubArray{Float64, 1, Matrix{Float64}, Tuple{Base.Slice{Base.OneTo{Int64}}, Int64}, true}, p::FFTW.r2rFFTWPlan{Float64, (5,), false, 1, UnitRange{Int64}}, x::SubArray{Float64, 1, Matrix{Float64}, Tuple{Base.Slice{Base.OneTo{Int64}}, Int64}, true})
   @ FFTW ~/.julia/packages/FFTW/pHa9y/src/fft.jl:876
 [4] top-level scope
   @ REPL[13]:1


Error when loading

Hi - I recently started getting this error when the plugin loads - anything I can do to solve it?
07/10/2024, 07:40:11Melcloud Control Bridge starting
07/10/2024, 07:40:15Melcloud Control BridgeLoaded plugin 'homebridge-melcloud-control'
07/10/2024, 07:40:15Melcloud Control BridgeLoading 1 platforms...
07/10/2024, 07:40:15Melcloud Control BridgeBridge is running on port 51856.
07/10/2024, 07:40:15Melcloud Control BridgemelcloudcontrolERRORAccount: Andrew Groothedde, did finish launching error: Error: Connect to MELCloud error: log.success is not a function.

Update Your HB version

Thanks - I use Hoobs - assume they have moved to the next version yet as it says there aren’t any updates. On 7 Oct 2024, at 09:49, Grzegorz @.***> wrote:
Update Your HB version
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>


/lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found

Im getting this error when trying to build imgui now.  Im not sure if its because Ive updated Defold or if there are build issues with extensions? I think this is related to new Defold. Might try an old one, and see if there are issues.
Any help would be great.
System: Debian 10 dual Intel Xeon 2.5GHz lots of ram.

We did some updates to the build server recently and upgraded from Ubuntu 16 to 20:
https://github.com/defold/extender/commit/9d794d980d83b67f6f9257313d8cbc9c8d8a4b7c#diff-9e21e98960ace690e6b03735796e234feba760f01718304e9e51d269151c65a8R1

Yes. I saw that in the discord discussions. Thanks. I think I have it sorted - its building. I migrated to Debian 11 which appears to be all happy :) .. closing.


Avoid or reduce connection attempts to nodes in fail state

Hi,
Lettuce 4.3.0.Final
We have redis-cluster with 3 nodes. Each node has 10 processes. Processes on ports 9000..9004 are master, 9005..9009 are slaves. So, we have 15 masters and 15 slaves.
Lettuce was configured to use ReadFromSlave read implementation. I figured out that it's dangerous option and it leads to proposal https://github.com/mp911de/lettuce/issues/452
Additionally, lettuce configured to use pretty small request timeout (5ms) and large connection timeout (like 1s).
We lost one node of the cluster. ReadFromSlave forces reads from slaves, which are not available.
It leads to exceptions provided in the gist. In PartitionsException.txt file there you can find full partitions state.
Problem:
A lot of threads stuck trying to setup connection in block manner to nodes which

already have a fail state from Redis logs and lettuce aware of it
we constantly get ConnectTimeoutException trying to connect to it

So, lettuce continues to allow many of incoming threads calling get() try to establish a connection to a dead node with the big connection timeout in block manner.
This led to server dead in our case.
Proposal:
If lettuce sees that node has fail state from Redis cluster + node is actually unavailable from prev attempts - don't allow a lot of threads to establish new connections and block on it. Quickly throw "RedisException: Cannot determine a partition to read" in nearly all such cases. For example, allow only one thread at a time to establish a connection to a node which is dead currently.
For now, I see about one quick RedisException: connection timed out for one long blocking ConnectTimeoutException.
WDYT?

Thanks for your ticket. I think there are various approaches which are valid for their individual use.
First of all, you can use ReadFrom.NEAREST to read from any qualified node without making a distinction, whether the node is a slave or a master.
There are two things which play into your case: The first one is, how lettuce initializes cluster node connections: Cluster connections are obtained lazily which means the first thread requesting a connection pay the penalty for the connection. In your case, it sounds there was no connection established before so your application requests (threads) get blocked with establishing a connection. Connection creation is synchronized so every thread gets blocked after the previous Thread already failed to connect.
The second aspect is: If lettuce established previously a connection and the connection is down, then (depending on disconnected behavior), commands get queued. They time out after a while if the connection remains disconnected.
Datastax' Apache Cassandra driver features the behavior you mentioned. Host connections are managed in the background and the application gets a fast response if no connection is available. This makes it quite hard to debug and see what's going on but applications clearly benefit from not being blocked.
I think, connection creation requires some effort and maybe even command dispatching should be reconsidered to remove the blocking bits.
In the meantime, you can do two things:

Initialize all connections upon application start to warm the connection "cache"
Hook into Partitions retrieval and post-process Partitions via RedisClusterClient.determinePartitions(…). You could remove any nodes found invalid yourself which then leads to RedisException: Cannot determine a partition for slot .... Regular topology updates will bring the healthy node back once it's available and your application self-heals then.

Hi, thanks for your detailed response!

Initialize all connections upon application start to warm the connection "cache"

This will not help in case of "connection timed out" node. This could only speedup initial requests after app start if nodes are actually working fine, right? This is good, but my main point in this issue and in general now - protect an app from dying in case of a combination of the three factors - long request timeouts + dead node which lettuce is trying to query + huge QPS.

First of all, you can use ReadFrom.NEAREST to read from any qualified node without making a distinction, whether the node is a slave or a master.

Yeah, for now, I switched to Master Preferred strategy because even Slave Preferred would not help I think - we will try to call this slave first. The problem would be if the whole cluster will dead - looks like we will get the same trouble.

Hook into Partitions retrieval and post-process Partitions via RedisClusterClient.determinePartitions(…). You could remove any nodes found invalid yourself

Yes, looks like I will do this, for now, to definitely protect from the issue of "connection timeout" node. Looks like I would need to do it with some regularity to clean up after rediscoveries. But, will hack it in some way.

Cluster connections are obtained lazily which means the first thread requesting a connection pay the penalty for the connection. In your case, it sounds there was no connection established before so your application requests (threads) get blocked with establishing a connection. Connection creation is synchronized so every thread gets blocked after the previous Thread already failed to connect.

By synchronized you don't mean that all connections will try to make a connection one by one and we apply connection timeout period only for thread's own connection attempt, right?
So, we have 1000 threads, all of them trying to call a bad node with connection timeout and we have connection timeout configured for 5 seconds - it doesn't work in a way that the last thread will wait 5000 seconds in this situation, right? It will back in 5 seconds, not more?

By synchronized you don't mean that all connections will try to make a connection one by one and we apply connection timeout period only for thread's own connection attempt, right?
So, we have 1000 threads, all of them trying to call a bad node with connection timeout and we have connection timeout configured for 5 seconds - it doesn't work in a way that the last thread will wait 5000 seconds in this situation, right? It will back in 5 seconds, not more?

PooledClusterConnectionProvider uses internally a ConcurrentHashMap to obtain a connection via computeIfAbsent. It depends to which hosts connections are attempted. In the worst case, the last thread will wait 5000 seconds.
I was considering using something like LMAX Disruptor in front of ClusterDistributionChannelWriter. This way, commands get dispatched to a ring-buffer that is guarded with a maximal queue size (buffer size) and whose processing is decoupled from the command-invoking Thread. This would give you two properties:

A global queue size managed through one property (right now the queue size is approximately the configured queue size x number of node connections x 2 (read and write intents).
Threads issuing a command (even for a future) return immediately (without blocking).
The additional cost for space and time should be reasonable, I think lettuce has other areas with a larger potential for improvement 😬

Right now, there's no way to inject a disruptor from outside the package.

Uh, so if we have 100ms connect timeout, 10 QPS for a dead node will actually block all threads that trying to call this node....
I don't think disruptor is required here in some way... Disruptor is good when we actually do useful work in a Disruptor consumer thread, not just block on io operation... it would be wasting of one more thread. You want to use disruptor to get serialization semantic I think, but it could be done.
Give me some time, I will maybe prepare some very raw version of what could be done...

Hey, please take a look: https://github.com/Spikhalskiy/lettuce/commit/4c63ad69a8a34396b05c4d56335633f69d5b161d
Code is just awful, but I think it explains my view for solution at least for the worst case.
Absolutely unrelated to this discussion, mentioned this code in PooledClusterConnectionProvider:
    @Override
    public void close() {

        this.connections.clear();
        resetFastConnectionCache();

        new HashMap<>(this.connections) //
                .values() //
                .stream() //
                .filter(StatefulConnection::isOpen).forEach(StatefulConnection::close);
    }

Is it fine? I think should be something like:
    @Override
    public void close() {
        Map<ConnectionKey, StatefulRedisConnection<K, V>> originalConnections = new HashMap<>(this.connections);
        this.connections.clear();
        resetFastConnectionCache();

         //originalConnections
                .values() //
                .stream() //
                .filter(StatefulConnection::isOpen).forEach(StatefulConnection::close);
    }

🙈 Good catch. I created #460.

Good catch, I created #460 for the mentioned bug. Thanks @Spikhalskiy for digging into the issue.
I think there are many approaches that would work. I like the approach to synchronize with CompletableFuture because it follows non-blocking connection initialization. I see two things here:

I don't like the blocking how it's today. Neither the fact that one client is blocked during connecting nor that many threads are blocked.
I don't like that multiple requests are serialized so the last thread pays a penalty with the most waiting time.

These are different problems but still related. For now, I'd like to solve your issue to reduce multiple connection attempts to the same ConnectionKey to at most one.
I think the change isn't huge:

ClusterNodeConnectionFactory would return a CompletableFuture<StatefulRedisConnection<K, V>> so connection happens asynchronously. 2.ConcurrentHashMap synchronizes on ConnectionKey to guarantee only one connection attempt
getOrCreateConnection() returns early with a future that is used to synchronize
If the connection success: 🎉 🎊
If the connection fails, then it's required to the failed ConnectionKey exactly once from the map and propagate the connection exception.
Subsequent attempts start at the point as there would have been no connection, so basically go to 1.

The ConcurrentHashMap should be encapsulated with an own type to make the underlying concept more clear.
Does this make sense?

Yeap, all of this makes perfect sense. Only one potential uncovered problem that I see would be between 4 and 5. So, it's unclear when to remove failed future from the map. So, I think, it should be something like... first thread put a future to map. All other concurrent threads read this future. First thread when gets a result for the future - it removes the future from the map to make it possible for next threads to try to establish new connections.
All of this would guarantee that all threads would spend not much than connection timeout in this code. Further improvements could address initial proposal and don't make additional attempts during some time after connection failing + in a case of the 'fail' node state. But it's the second priority.

Removing the failed future must happen after completion exactly once. I think it's a synchronization issue. Ok, then we've found a viable solution.
Let's keep the quiet time after connection failure separate. That's something which can be built on top of RedisClusterClient that requires slight adjustments to the visibility of connectStateful and connectStatefulAsync methods. This way you can keep track of failed connections per host and cache the resulting future. ClusterNodeConnectionFactory.getOrCreateConnection(…) is per ConnectionKey which also incorporates the connection intent (read/write) but in your case you want to group connections by host/port.

Yes, all solutions looks good in terms of the minimal fix of the largest problem, but the last suggestion would be more easy to extend and flexible.

Cluster node connection progress sharing is now on master (4.4.0-SNAPSHOT) and 5.x. Care to give it a try?

Yeah, definitely interesting to give it a try, because it's a big potential production threat for us. I will make an internal release, rollout this fix into prod and replicate the problem. I will make all of this during the next visit and will reply here.
Just to be sure - we change potential blocking time from unlimited to a connection timeout? So, if node would be down with a connection timeout - all threads will wait for a connection timeout period?
No fast pass back if some thread is trying to establish a connection already and we know that we have been failing for a long time or just previous attempt? I mean Cassandra's like thing or some other more complex handling.

lettuce has a dedicated connection timeout setting in SocketOptions since 4.3 that is applied when connecting to a socket. If a connection is in progress, then threads that want to use the same connection, synchronize on the same ConnectionFuture instead of sequential connection attempts.
Thanks for the hint about documentation, I'll update it. The Datastax Cassandra driver has a client view whether nodes are up or down. I don't like the approach because there's little to do about it from a client perspective, you can't really opt out and the driver considers a host down for various reasons.

Tested, we are fine now in a case of failed node. Thank you for your help with this issue!


Change bone mapper background model silhouette

Made face smaller
Made hips smaller and pumping the shoulders and chest muscles
Lifted pelvis and thicker inner thighs

Here is a more adult proposal (if it helps)

@fabriceci I like that one

https://github.com/godotengine/godot/pull/66310#issuecomment-1256469872 was edited and I changed my downvote to a +1.
Originally, it was a plus masculine silhouette.


TAA doesn't seem to work when there are multiple views of the same scene

⚠ Issues not using this template will be systematically closed.
Describe the bug
When I use multiple views for the same scene, it looks like TAA doesn't work properly. I guess each view tries to use the other view as a previous frame.
To Reproduce
Steps to reproduce the behavior:
Use multiple views to render the same scene. I'm not sure if there's a sample with multiple views to reproduce the issue.
Expected behavior
TAA working the same if there's one or two views of the same scene.
Screenshots
Here's how an edge looks like if there's another view of it
Desktop (please complete the following information):

OS: Windows
GPU: NVIDIA GTX 1080
Backend: OpenGL

A screenshot or a detailed description would be helpful. It seems to work fine when I enable TAA with multiple views:

I edited the report earlier to add a video of it. I'll try to reproduce the issue with the samples then

I patched locally gltf_viewer to render 2 views and I can't reproduce the issue.
Either it's a problem on my side or it's something specific I'm using but I can't put my finger on it. Maybe best to close the bug and reopen if I find a repro for you to use ? Unless you have an idea about what could be going on.

Well, it's very likely to be my fault as I'm re-using the same camera across views /o\

It's definitely my fault, sorry !

Note you don't need to patch gltf_viewer, you can pass -v to show multiple views.

I wasn't sure the other views were using the same config as the main view so I created another "main view" just to be sure.


Bug when Pausing my washing machine

When pausing the program of my dishwasher and resuming the program i cannot pause the program again.
The Button/Icon will stay at the "resume" position until i reload the integration. Then i can pause and resume one more time.
This is the position where the integration got stuck after pausing and resuming the program:

This is the position where the integration stands afer reloading the integration after it got stuck. With this i can pause the program again (one more time). See, the Icon changed:

Can i help with further logs or descriptions?
PS: It seems the icon changes based on the possible options. Is it also possible to change the Text from "Start" to "Pause" when the corresponding option is possible?
home_connect_alt:
client_id: ID
client_secret: SECRET
language: de
sensor_value_translation: local
Newest Version

It should already change from Start to Pause to Resume, as appropriate. However, there is something weird about those names. Based on you configuration they should have been something like "Bosch Dishwasher Start". Did you change the name in HA configuration? If you did then the name you configured overrides the name provided by the integration so you won't see it change.

Right, I'm going to need a debug log to figure out why that happened (see the README for instructions how to enable it).
After you enable debug logging and restart HA, try to reproduce the problematic flow but press the Home Connect Debug button after every step and upload the log file.
It will be helpful if you specify the exact time of every step, so I don't have to spend a lot of time digging through the log.

Sorry for the delay. I could reproduce the problem and created a log. Is there a way to sent this log to you directly?
There seem to be serialnumbers of my devices in the logfiles.

Thanks for you patience. I hope i did it all right with the logs and debug button.
I could reproduce the problem again.
HCA2.txt
HCA1.txt

See the READ for instructions how to enable debug logging. Also, please add the following line to the home_connect_alt config section in your configuration.yaml file:
log_mode: 7
Then upload the whole debug file and see my note about specifying the time of each step (when you started the program, paused, it, resumed it, etc.).


FEAT - Support RTL language titles

Summary

resolves #131
This PR adds support for RTL languages in the youtube card title text.
Type of change

[ ] Bug fix (added a non-breaking change which fixes an issue)
[x] New feature (added a non-breaking change which adds functionality)
[ ] Updated documentation (updated the readme, templates, or other repo files)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

How Has This Been Tested?

[ ] Added or updated test cases to test new features

In the latest commit the ltr alignment looks perfect, the rtl alignment seems a bit too close to the edge still. I think it should be moved to the left about 10 more pixels.
I think changing line 27 instead of line 31 would make the math more straightforward, but if you do keep the change on line 31 instead, maybe it could be width - 22 or something similar instead of width - 12?

Does this look better?

    <g transform="translate({{ width - 12 if rtl_title else 10 }}, {{ height - title_height - 50 }})">
        <text fill="{{ title_color }}" font-family="Roboto, Segoe UI, Ubuntu, Arial, sans-serif"
            font-weight="600" font-size="15px" direction="{{ 'rtl' if rtl_title else 'ltr' }}">
            {% for line in title_lines %}
            <tspan x="0" dy="{{ title_line_height }}px">{{ line }}</tspan>
            {% endfor %}
        </text>
    </g>

Thanks for contributing! :tada:


Error	C2144	syntax error: 'void' should be preceded by ';'

VS2022
ecoro\include\ecoro\detail\task_promise_impl.hpp
line 36: ECORO_HACK_NOINLINE void return_value(U&& value) noexcept {
Error	C2144	syntax error: 'void' should be preceded by ';'

Hi @chenscottus,
Thank you for the report.
I will add windows-2022 to Github Actions and try to figure out what is wrong here.


floating point numbers inside strings...

Messes up the end of string detection. so in something like:

"0.0" ++ "1.1"

it colors ++ as inside a string, and the two floating point numbers as being outside strings.

Do you mean in the parser, the Vim syntax highlighter, the VSCode plugin? Something else?

I think Rúnar must've fixed this as part of his syntax patches because I can't reproduce :)
Let me know if you still can.


Fixes #4

Switched function inputs from REFERENCE to VAR_IN_OUT (CONSTANT) as much as possible to take advantage of read-only capabilities of the VAR_IN_OUT CONSTANT type.

passes all tests in 4024.22, does not impact TcTransform


Tech Debt - Resolving outstanding code smells in csvcubed

Making a new issue to track fixing the code smells in the csvcubed repo raised by SonarCloud.
Here is the list of remaining smells that this ticket aims to address.

Some outstanding smells:
Was this TODO resolved?


update Mapbox for v5 geocoder

See https://www.mapbox.com/developers/api/geocoding/. The v5 supports POIs in the US & Canada with more regions coming soon.
Refs #150

I'll happily review and accept a PR to update this API.

Cool, I will try to hit it soon.


Introduce a PR checklist

Summary
Introduce a PR checklist, to allow those suggesting code to check it meets all our criteria and not merge code that is not "done".
💬 Description
The following should be introduced:

A checklist discussed with the team on every PR in both ic-ui-kit and ic-design-system (this may be the definition of done)
A process to prevent merge if an item is not checked (making optional points clear)

💰 Use value
Improve product quality and reduce bugs.

PR created for action to prevent merge if there are uncompleted tasks: https://github.com/mi6/ic-ui-kit/pull/930

PR created to add checklist to PR template: #1087


Upgrading from 5.3 to 6.1 destroys all cluster instances

Attempting to upgrade aurora module from 5.3 to 6.1.3.  We have a single writer instance in the aurora cluster.  After upgrading the module, running a terraform results in a cluster with zero instances, the plan and apply destroys the one writer instance but does not create another one.  We have set autoscaling_enabled = true and autoscaling_min_capacity = 1, autoscaling_max_capacity = 4.
Desired behavior: the existing writer instance should be left alone as it satisfies the min capacity constraint.
Simplified Terraform before module upgrade:
module "aurora" {
source  = "terraform-aws-modules/rds-aurora/aws"
version = "~> 5.3"
name                   = "whatever"
username               = "root"
password               = "password"
create_random_password = false
database_name          = "testdb"
engine         = "aurora-mysql"
engine_version = "5.7.mysql_aurora.2.10.1"
replica_count  = 1
instance_type  = "db.r5.large"
storage_encrypted          = true
apply_immediately          = true
auto_minor_version_upgrade = false
deletion_protection        = true
skip_final_snapshot        = false
iam_database_authentication_enabled = true
allowed_security_groups = [a security group ID defined in another terraform file]
allowed_cidr_blocks     = [a list of CIDR blocks]
vpc_id                  = our VPC ID
subnets                 = our subnet IDs
port                    = 3306
enabled_cloudwatch_logs_exports = ["audit", "error", "general", "slowquery"]
}
Terraform after module upgrade:
module "aurora" {
source  = "terraform-aws-modules/rds-aurora/aws"
version = "~> 6.1"
name                   = "whatever"
master_username        = "root"
master_password        = "password"
create_random_password = false
database_name          = "testdb"
engine                   = "aurora-mysql"
engine_version           = "5.7.mysql_aurora.2.10.1"
autoscaling_enabled      = true
autoscaling_min_capacity = 1
autoscaling_max_capacity = 4
instance_class           = "db.r5.large"
storage_encrypted          = true
apply_immediately          = true
auto_minor_version_upgrade = false
deletion_protection        = true
skip_final_snapshot        = false
iam_database_authentication_enabled = true
allowed_security_groups = [a security group ID defined in another terraform file]
allowed_cidr_blocks     = [a list of CIDR blocks, unchanged]
vpc_id                  = our VPC ID, unchanged
subnets                 = our subnet IDs, unchanged
port                    = 3306
enabled_cloudwatch_logs_exports = ["audit", "error", "general", "slowquery"]
}
The terraform plan gives some expected changes, but also one that is unexpected as follows.  This leaves the cluster with 0 instances since one is not created to replace it either:
  # module.aurora.aws_rds_cluster_instance.this[0] will be destroyed
  # (because resource does not use count)

hi @ruly1000  - have you reviewed the upgrade docs https://github.com/terraform-aws-modules/terraform-aws-rds-aurora/blob/master/UPGRADE-6.0.md ?

Yes, did not see anything there that would explain it.  We did not use the instances_parameters in 5.3 and are not using the instances map in 6.1.3, it isn't required.

Yes, did not see anything there that would explain it. We did not use the instances_parameters in 5.3 and are not using the instances map in 6.1.3, it isn't required.

I don't quite follow - instances map in 6.1.3, it isn't required -> this is the only way to create a cluster with at least 1 or more instance in it https://github.com/terraform-aws-modules/terraform-aws-rds-aurora/blob/c1e2322e6a855d3be5c3da532a7acf570d9b92ee/examples/autoscaling/main.tf#L44

"instances" is in the "optional" section of the inputs for the module:
https://registry.terraform.io/modules/terraform-aws-modules/rds-aurora/aws/latest?tab=inputs
When we were on 5.3 we did not specify the old property of "instances_parameters" and it did create the instance

instances being optional is a bit of a misnomer simply because a default value is provided. that default value is an empty map {} and an empty map will not create any instances. so yes, it is an optional parameter in the sense that if you do not provide it, the module will not throw an error. BUT, if you do not provide it, it will use the default which creates nothing.

Seems like instances should default to this instead of an empty map?
{ autoscaling_min_capacity = {} }

Also adding "instances = { 1 = {} }" still wants to destroy the old instance and create a new one, there is no reason the old instance should be destroyed

please read the upgrade guide - the previous 5.x and lower iteration used the Terraform count construct, and 6.x uses for_each hence the changes you are posting

Understand that now (thank you).  But there does not appear to be a way to prevent the existing instance from being destroyed when upgrading from 5.3 to 6.1.3.

terraform state mv 'module.aurora.aws_rds_cluster_instance.this[0]' 'module.aurora.aws_rds_cluster_instance.this["0"]'

That will work, but injects a manual step in our automation.  We'll have to deal with it though, thanks for the input.

it is all detailed in the upgrade guide (see bottom) and hence the breaking change and major version bump

Yes, I've read it, but didn't fully understand, now I do.  If I may make a suggestion (not sure if this is the right place).  There could be a new property "convert_instances_map_keys_to_integer" that if "true" would convert the instances map keys to integers during the iteration so that the tf mv isn't required?

@ruly1000 Did you loose data or did RDS handle that for you? I'm wondering if just let the instances be deleted if RDS will keep the cluster running by creating new instances first before deleting the old ones?


az webapp ssh inside ASE resolves wrong DNS namespace for scm

If the issue is to do with Azure CLI 2.0 in-particular, create an issue here at Azure/azure-cli

Extension name (the extension in question)
azure-cli (2.0.54)
[
{
"extensionType": "whl",
"name": "webapp",
"version": "0.2.16"
}
]
Description of issue (in as much detail as possible)

Using the "az webapp ssh" or "az webapp remote-connection create" with a app that is deployed inside an ASE fails to connect to the correct dns namespace but tries to connect to "{myappname}.scm.azurewebsites.net" rather than {myappname}.scm.{customsslcertname} that the ASE uses.
We know DNS works as expected and have NSG locked down the VNET but are attempting this for a location where access is provided and DNS resolves correctly and internal deployed apps running https services pages can be reached.

this is fixed & the command is moved to core as well so please use that


[CRASH] Adding tiles without a NavigationPolygon to a tilemap where some of the tiles has crashes the editor

Hi.
I've wanted to implement pathfinding to my game and I noticed by looking at the source code, that a tilemap looks for a parent node of the type "Navigation2D".
I went on and added navigation polygons on the walk-able tiles of my map(its a top-down game) and exported the tiles as a .xml tileset.
Then I added a tilemap as a child of a Navigation2D node.
I can add the tiles containing a NavigationPolygon to the map just fine, but my game crashes when I try to add a tile without one.
Here's a picture of my setup:

I am using my own compilation which I build the 22/03/15.
EDIT:
I am running the 64-bit build on a windows 7 laptop.

what do you mean add a tile without one?

i think this is fixed, please test


Allow cancel VM live-migration

What would you like to be added:

https://github.com/yunionio/cloudpods/pull/14996


what's the version of openAPI used in the web server?

I tried this project and everything goes well until I found my account getting terminiated.  although the server was launched in singapore. what's the version of openapi used in the web server? I found there is another warning in another project:

thanks

Hello, this project has been using the official formal API all along. The V1 and V3 that you mentioned should be version numbers for other projects.

@WongSaang do you know why my account has been terminated? 😢

@WongSaang new account has been terminated again after several requests from this project instance. launched in singapore.

I don't think it's related to this project. Suggest to check your registration method, or if your server ip is blacklisted.


fix(react-email): Split path separator on Windows

Using the dev (email dev) command on Windows now throws the following error:
node:internal/process/promises:288
            triggerUncaughtException(err, true /* fromPromise */);
            ^
NestedError: Cannot copy `M:\path\to\react-email-starter\emails/undefined`: the file doesn't exist
    at M:\path\to\react-email-starter\node_modules\cpy\index.js:96:10
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async FSWatcher.<anonymous> (M:\path\to\react-email-starter\node_modules\react-email\dist\utils\watcher.js:34:9) {
  nested: undefined,
  name: 'CpyError'
}

This is because Windows sets the path separator as "\" instead of "/".
Thus, it appears that the file[1] being accessed on the last line is undefined, and the command is crashing.

Thanks @mika-f! ❤

I just published a new version (1.5.1), can you double check that it works @mika-f?

I can confirm that email dev does not crash on Windows and<EMAIL_ADDRESS>Thank you for your support! @zenorocha


fix: use stripAnsi to remove ansi colors in output

remove ansi colors in output, make output more clean and readable
fix issues/172

Hi @FabianLars , I have updated the PR, try to make the minimum modifications as possible.


Fix ABI breakage caused by ValueOwnership order change.

The ABI headers had accidentally grown an #include into compiler headers, allowing the enum constant values of the ValueOwnership enum to leak into the runtime ABI. Sever this inappropriate relationship by declaring a separate ParameterOwnership enum with ABI-stable values in the ABI headers, and explicitly converting between the AST and ABI representation where needed. Fixes rdar://122435628.

@swift-ci Please test

@swift-ci Please test

@swift-ci Please test

@swift-ci Please clean test Windows

@swift-ci Please clean test Windows

@swift-ci Please test Windows

@al45tair I reordered the ValueOwnership constants in the compiler because there's a semantic ordering between the ownership levels, and it's useful to be able to compare them with <, ==, >.

@swift-ci Please test

@swift-ci Please smoke test

@swift-ci Please smoke test


Don't allow built-in cluster drivers to be deleted

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):

Delete a built-in cluster-driver via the API

Result:
The cluster driver is deleted. Following the steps outlined in #15267 but adapting it for the cluster driver re-adds it in the UI but shows it stuck flipping rapidly between Downloading and Activating. The logs are filled with
cattle-system/rancher-67c5bfcd9-sxvwv[rancher]: 2019/08/27 18:58:53 [INFO] update kontainerdriver kd-55tcd
cattle-system/rancher-67c5bfcd9-sxvwv[rancher]: 2019/08/27 18:58:53 [INFO] update kontainerdriver kd-55tcd
cattle-system/rancher-67c5bfcd9-sxvwv[rancher]: 2019/08/27 18:58:53 [INFO] update kontainerdriver kd-55tcd
cattle-system/rancher-67c5bfcd9-sxvwv[rancher]: 2019/08/27 18:58:53 [INFO] update kontainerdriver kd-55tcd
cattle-system/rancher-67c5bfcd9-sxvwv[rancher]: 2019/08/27 18:58:53 [INFO] update kontainerdriver kd-55tcd
cattle-system/rancher-67c5bfcd9-sxvwv[rancher]: 2019/08/27 18:58:53 [INFO] update kontainerdriver kd-55tcd
cattle-system/rancher-67c5bfcd9-sxvwv[rancher]: 2019/08/27 18:58:53 [INFO] update kontainerdriver kd-55tcd
cattle-system/rancher-67c5bfcd9-sxvwv[rancher]: 2019/08/27 18:58:53 [INFO] update kontainerdriver kd-55tcd
cattle-system/rancher-67c5bfcd9-sxvwv[rancher]: 2019/08/27 18:58:53 [INFO] update kontainerdriver kd-55tcd
cattle-system/rancher-67c5bfcd9-sxvwv[rancher]: 2019/08/27 18:58:53 [INFO] update kontainerdriver kd-55tcd

until the driver is deleted again. This is with using local:// for the url as outlined in #15267. If I leave it blank (as it appears in the API of a working rancher install) I get a 409 saying the URL is already in use. If I omit the URL, I get a 422 saying it's required.
Other details that may be helpful:
If there's no easy way to re-add these via the UI I would expect the API to prevent you from deleting them, only allowing them to be disabled.
This was accidentally deleted with the rancher2 terraform provider, see terraform-providers/terraform-provider-rancher2#109.
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): v2.2.5
Installation option (single install/HA): HA via the helm chart, installed into an EKS Cluster provisioned by Terraform.

I was able to re-install the driver by restarting each of my rancher server pods.

@deniseschannon @cloudnautique - do we want to stop allowing built in drivers to be deleted.  Only deactivated?  Or find some other way of allowing them to be added back without forcing admin to restart all servers?

Some organizations will want to delete certain cluster/node drivers that are built-in to rancher. I noticed that the deleted drivers return once you redeploy rancher. This is actually something I do not want to happen. I want those drivers to remain deleted even after a redeploy.


vulnerabilities fix for DotNetCoreInstallerV0

Task name: DotNetCoreInstallerV0
Description:
Documentation changes required: (Y/N)
Added unit tests: (Y/N)
Attached related issue: (Y/N) > https://dev.azure.com/mseng/AzureDevOps/_componentGovernance/33?alertId=99896
Checklist:

[x] Task version was bumped - please check instruction how to do it
[x] Checked that applied changes work as expected
[x] node make.js build --task DotNetCoreInstallerV0
[x] node make.js test --task DotNetCoreInstallerV0

/azp run


Can I run envoyproxy as transparent forward proxy?

Hi there,
We have transparent HTTP forward proxy which runs on standard Linux. However, we are trying to find more performant alternatives.
We would like to test/benchmark the envoyproxy when running as transparent forward proxy. We would like to test the simplest possible configuration to see the raw performance without any additional features turned ON.
So, here are my questions:

Is it possible to run envoyproxy in such mode?
Can you suggest the best configuration for such scenario?
Do you have some observations how much traffic or requests per second the envoyproxy can handle and with what configuration?

Thanks,
Pavel.

I've very interested in envoy as a forward http proxy, like nginx proxy_pass, with set/add http headers capabilities. Is it possible ?

There is Dynamic Forward Proxy and SNI dynamic forward proxy capability
Dynamic forward proxy

https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_proxy
https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/dynamic_forward_proxy_filter
https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/dynamic_forward_proxy/v3/dynamic_forward_proxy.proto
https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/common/dynamic_forward_proxy/v3/dns_cache.proto
https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/clusters/dynamic_forward_proxy/v3/cluster.proto
Helpful example based on headers - https://github.com/envoyproxy/envoy/issues/10756#issuecomment-618533459

SNI dynamic forward proxy

https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/sni_dynamic_forward_proxy_filter
https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/sni_dynamic_forward_proxy/v3alpha/sni_dynamic_forward_proxy.proto

Hi all,
I am also looking for a similar solution.
I need to configure a transparent forward proxy, which does no operation on the coming request just route it on the basis of domain, I don't want envoy to make any changes(L3/L4 to L7) to the input request.
With solution [#10756] we cannot specify a dns_resolver for the cluster. I have some constraints due to which cannot add the dns server in /etc/reslov.conf.
Is this achievable with envoy?
if yes a config sample will be a great help.
Thanks
Ravi Disodia

Hi all,
I am also looking for a similar solution.
I need to configure a transparent forward proxy, which does no operation on the coming request just route it on the basis of domain, I don't want envoy to make any changes(L3/L4 to L7) to the input request.
With solution [#10756] we cannot specify a dns_resolver for the cluster. I have some constraints due to which cannot add the dns server in /etc/reslov.conf.
Is this achievable with envoy?
if yes a config sample will be a great help.
Thanks
Ravi Disodia

I'm also looking for a solution to setup a dynamic forward proxy that allows for using a specified dns_resolver.  Is this possible?

I've not tried this but you might be able to chain the DNS filter with the Dynamic Forward Proxy to achieve this.

Is there any way??
I just want to use like that on dynamic forward proxy.
To test, curl -x http://envoy ip:port http://target_ip:port
I don't even need dns query.
But envoy always return "No healthy Upstream"

Hi all,
I am also looking for a similar solution.
I need to configure a transparent forward proxy, which does no operation on the coming request just route it on the basis of domain, I don't want envoy to make any changes(L3/L4 to L7) to the input request.
With solution [#10756] we cannot specify a dns_resolver for the cluster. I have some constraints due to which cannot add the dns server in /etc/reslov.conf.
Is this achievable with envoy?
if yes a config sample will be a great help.
Thanks
Ravi Disodia

Is there any way??
I just want to use like that on dynamic forward proxy.
To test, curl -x http://envoy ip:port http://target_ip:port
I don't even need dns query.
But envoy always return "No healthy Upstream"

Hi，I find the upgrade config my works, like the config demo in github：https://github.com/envoyproxy/envoy/blob/main/configs/encapsulate_in_http1_connect.yaml
the document is here：
https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/upgrades
Hope to be helpful~


Fix issue #643

Fixed the line color alpha.
Implemented basic scrollRect support on next (it doesn't support rotation on opengl) and fixed the scrollRect on HTML5 (canvas)
Fixes #643

Nevermind, There are still problems :disappointed:

ok, I think that solves the problems.

What case does this resolve for HTML5 canvas?

When the object is scaled. https://dl.dropboxusercontent.com/u/23209045/scrollrect.mp4
Rotation is broken on html5 too (it rotates the other way around).
Rotation won't be supported for now on neko/cpp, maybe later.


Crash when opening notebook - 1.19.2

https://crashy.net/05ebf684-de41-4a51-b101-5fd63dfc8aaf
When I try to open the notebook, the game crashes, and when I enter back in the the same world, my player model simply dissapears, as well as any block breaking particles.

Are you using the correct version of the mod? Keep in mind you need the jar file for 1.19.2. This may be due to an incompatibility or config files not being correct (Try deleting the mod's configs, that may fix it).
Since I haven't touched much of minecraft's rendering code, the player model disappearing and block breaking particles are likely because of another mod.

Are you using the correct version of the mod? Keep in mind you need the jar file for 1.19.2. This may be due to an incompatibility or config files not being correct (Try deleting the mod's configs, that may fix it). Since I haven't touched much of minecraft's rendering code, the player model disappearing and block breaking particles are likely because of another mod.

In theory, it was 2.2.0 for 1.19-1.19.2 (Downloaded from Prism Launcher).
Decided to download from modrinth directly, and delete the config file, and now it works normally.
Thanks for the help, don't know what happened, though... Didn't even touch the mod's config before this happened.


CodeFix duplicate import issue if module exports type and element with the same name

// File: foo.ts
export const Foo = 1
export type Foo = number

Looks like not an issue anymore


Deal with explicit NULL dereferences from Coverity

[ ] documentation is added or updated
[x] tests are added or updated

24 hours has passed since 'approval: done' was set, but this PR has failing CI tests.  Once the tests pass it will get moved to 'approval: ready to merge' automatically, alternatively please review and set the label manually.

Merged to master.  Thanks for the approval and comments.


Chore/update contributor guidelines

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (6507716) 77.58% compared to head (2ab85fc) 77.58%.

Additional details and impacted files
@@           Coverage Diff           @@
##           master      #80   +/-   ##
=======================================
  Coverage   77.58%   77.58%
=======================================
  Files          63       63
  Lines        3351     3351
  Branches      756      756
=======================================
  Hits         2600     2600
  Misses        670      670
  Partials       81       81

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


setEvent documentation should include information about it being only usable in the outer most chaincode

As mentioned here
https://hlf.readthedocs.io/en/latest/developapps/transactioncontext.html#stub
and also
https://github.com/hyperledger/fabric-chaincode-go/blob/main/shim/interfaces.go
The information about it only be usable in the outer most chaincode should be added

Hey @davidkel, the first link isn't opening, could you point me to the correct resource?


Using insane amount of RAM

🤷🏽♂ Current Behaviour

It uses 23.5GB! of RAM

🎯 Expected Behaviour

Not hunting my RAM
👟 Steps to Reproduce (S2R)

just have the open in the menu bar
🏡 Environmental Context

App Version
v11.0.2
Installation Type
Setup
Operating System
macOS Monterey with M1 Max

Just got hit by this. "PB for Desktop Helper (Renderer)" was using 65GB.
Also using M1.
PB for Desktop version is 11.0.2


Python Wrapper: Implement Transaction

Transaction Class should provide limited branch functionality.
For now we want to support the following operations as part of a transaction:

get_commit
head
commit
revert
object
uncommitted
import_data
delete_objects
reset_changes

class Transaction(Branch):
    def __init__(self, repository_id: str, branch_id: str, client: Client = DefaultClient): ...
    def begin() -> None:
        'Create ephemeral branch from the source branch (e.g. <source_branch_id>-txn-<uuid>'
        ...

    def commit() -> Commit:
        'commit, merge, delete ephemeral branch'
        ...

    def rollback(delete_temp_branch: bool = True) -> None:
        'if delete_temp_branch = True, delete the ephemeral branch created'

    def __enter__(self):
        'calls begin()'
        ...

    def __exit__(self, type, value, traceback):
        'if successful, commit(), otherwise rollback() and report a meaningful error'
        ...

After discussion with @arielshaqed  and @ozkatz :

Only objects interface will be supported in transactions
First stage - support transactions only in context mode


[3.1.x] Pinned asgiref to 3.2 series with minimum version to 3.2.10.

@andrewgodwin Can you take a look?

Thanks both!


feat: add a ent & proto demo

What type of PR is this?

feat
What this PR does / why we need it (English/Chinese):

English: add a ent & proto demo with hertz
中文：新增结合ent & proto的hertz框架样例

It's so similar to gorm and gen that I don't think it's necessary to add it.


Improve Operator robustness

In what area(s)?
/area operator
Describe the proposal

In #1818 , Dapr add some HA configurations into helm charts of system components, including Operator. We may introduce leader election to ensure the correctness of resources reconciliation.
Here we may introduce the controller-runtime library to do the basic things for an operator/controller, maybe with the help of kubebuilder.
cc @yaron2

/assign

@yittg Are you trying to use controller-runtime lib for operator and injector or all controlplane services ? Please write up the small spec before start coding.

@youngbupark yah, ok
The motivation is from the Operator.
However, I think we should change all those interact with k8s. And it will not be a small change, we should split it to some parts.
I'll give a spec for it.

@youngbupark yah, ok
The motivation is from the Operator.
However, I think we should change all those interact with k8s. And it will not be a small change, we should split it to some parts.
I'll give a spec for it.

As discussed, this specific issue should target the operator only and use something like kubebuilder to make the operator more native to the platform.
The other components are not unique to k8s and should stay out of scope for this.

How about the Injector, it's a K8s WebHook essentially.

How about the Injector, it's a K8s WebHook essentially.

Correct, but unlike the operator it does not do reconciliation of resources and doesn't act like a k8s controller.

Got it, let's adapt the reconciling first in this change.

Indeed.


[FEATURE] Please provide python module 'harvester'

Is your feature request related to a problem? Please describe.
Openstack has python module 'openstacksdk', and Openstack users could use it to do all things with Openstack (including things like creating/deleting/resizing VMs/images, etc) via Openstack REST API. Would like to have similar Python solution for harvester. Harvester users could use this python module to do all things with Harvester (including things like creating/deleting/resizing VMs/images, etc) via harvester REST API.
Describe the solution you'd like
For this project to provide a new python module 'harvester'
Describe alternatives you've considered
There's a terraform provider for harvester already, which is great! Still it would be better to also have Python support.
Additional context
Here is openstacksdk github: https://github.com/openstack/openstacksdk. Would like to have something similar for harvester.

FWIW, in our tests, we have a client to interact with Harveter API server: https://github.com/harvester/tests/tree/main/apiclient/harvester_api
Please note this is an internal tool that only supports a subset of API, but feel free to try it and report issues.


Add flake8 for vscode, init py for testing blackbricks module

Add flake8 file to allow for configuration with vscode
Add init to tests folder to allow blackbricks discovery

Flake8 config overed by #25 .


Update to Spine 1.0.0-pre6

This PR updates todo-list application to Spine 1.0.0-pre6.
Notable changes:

Gradle version bumped to 5.2.
Error Prone and PMD applied to the project and warnings fixed.
Formatting is change to latest Spine standards.

@armiol PTAL. The build should pass when the PRs releasing 1.0.0-pre6 jdbc-storage and firebase-storage are merged.


'Card' is ambiguous for type lookup in this context

I have this error:  'Card' is ambiguous for type lookup in this context.
In this method:
func cardDoneButtonClicked(_ card: Card?, error: String?) {
}

We will try fix the same by tomorrow.
Thank you.
-- Arpan Desai
+91 99987 55114

On Jul 21, 2017, at 12:07 AM, Francisco Javier Delgado Garcia<EMAIL_ADDRESS>wrote:
I have this error: 'Card' is ambiguous for type lookup in this context.
In this method:
func cardDoneButtonClicked(_ card: Card?, error: String?) {
}
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@FranciscoMkdir : can you please provide dummy data for test or share the use case for this ?
and can you add print(card), print(error) will help as to understand!
Thanks.

My fault, I did not realize that I installed another library that has a 'Card' class with the same name.

Ohh, no worries @FranciscoMkdir
feel free to share your reviews.
now i'm Closing this issue.
Thanks.


Avoid call to autoconnect when sys.platform == 'darwin' (OSX)

As per dhylands/rshell/issues/1

Thanks for the PR. I happened to already have a slightly different version of that in my local tree which I've now committed in dde59d75e57d4496f78c8b9731f7cd15a67ee1b3
It turns out that a similar issue existed under windows, so I've changed it so that it only attempts to use pyudev if its running under linux,
I've also uploaded a new version of rshell to PyPi


[MRG] Implemented logging to save searched models

This pull request resolves #379
The pull request is ready to be merged.
Details :
additions made to autokeras/search.py and and autokeras/utils.py. Current changes only save the searched models to log file. The log file will be created in the same path that is specified by the user while creating the Classifier object.

Pull Request Test Coverage Report for Build 1110

11 of 11 (100.0%)  changed or added relevant lines in 2 files are covered.
8 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.2%) to 93.972%

Files with Coverage Reduction
New Missed Lines
%

autokeras/net_transformer.py
2
95.24%

autokeras/nn/graph.py
2
97.45%

autokeras/nn/layer_transformer.py
4
96.08%

Totals

Change from base Build 1108:
-0.2%

Covered Lines:
3258

Relevant Lines:
3467

💛  - Coveralls