Add Extra Labels and Annotations Config to Dynamically Loaded Configmaps in Istiod Helm Chart

(This is used to request new product features, please visit https://discuss.istio.io for questions on using Istio)
Describe the feature request
I suggest we add extra labels and annotations config to those ConfigMaps in istiod helm chart that are loaded dynamically (i.e. thru K8s API, not thru mounting) to increase configuration flexibility. Currently I encountered an issue that a CD tool Spinnaker may alter the name of ConfigMaps when the ConfigMaps does not hold a specific annotation strategy.spinnaker.io/versioned=false(https://spinnaker.io/docs/reference/providers/kubernetes-v2/#strategy). Normally if the deployment loads the ConfigMaps via mounting, it shall be fine as the tool alter the name and the mounting reference at the same time. But for ConfigMaps like istio and istio-sidecar-injector, this does not work as istiod won't be aware of the suffix added by Spinnaker.
I therefore believe it is a good idea to introduuce extra labels and annotations config to these ConfigMaps. I have prepared a PR for this improvement.
Describe alternatives you've considered
Load istio and istio-sidecar-injector ConfigMap via mounting.
Affected product area (please put an X in all that apply)
[ ] Docs
[X] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Affected features (please put an X in all that apply)
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Multi Control Plane
Additional context

another PR about helm chart, here is notes from the WG
https://istio.io/latest/docs/setup/additional-setup/customize-installation-helm/ is the guide for users.

So spinnaker takes off-the-shelf helm charts and mutates them and expects that to somehow work...?
How is that not totally broken? For a lot of apps...

So spinnaker takes off-the-shelf helm charts and mutates them and expects that to somehow work...?
How is that not totally broken? For a lot of apps...

It does work in normal helm chart structure as Spinnaker mutates both the name of configMap and the mounting reference (e.g. for a configMap originally named aConfig, it is mutated to a-config-v000, with the mounting reference mutated to configMap: a-config-v000).

Configmaps purpose is not just to mount them... its not uncommon at all to read ConfigMaps from API server. prometheus does it for example.

Configmaps purpose is not just to mount them... its not uncommon at all to read ConfigMaps from API server. prometheus does it for example.

I agree, it is actually not a very good design to mutate resource naming in this case. However I think adding labels and annotations to configmaps still can provide better flexibility?

I don't think we should take on that level of complexity. There are ways to post-render mutate charts to your desire. if you don't like those you could also file a feature request to Spinnaker to not break charts potentially.

I see, in this case, is the PR https://github.com/istio/istio/pull/40572 not likely to be merged?

Yes, I would not be in favor of that personally
On Thu, Aug 25, 2022 at 9:40 PM Ethern Su @.***> wrote:

I don't think we should take on that level of complexity. There are ways
to post-render mutate charts to your desire. if you don't like those you
could also file a feature request to Spinnaker to not break charts
potentially.
I see, in this case, is the PR #40572
https://github.com/istio/istio/pull/40572 not likely to be merged?
—
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/40571#issuecomment-1228045814, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGXIBLUCIQ26ZPZ6R3VDV3BDFLANCNFSM57ERVCCA
.
You are receiving this because you commented.Message ID:
@.***>

Yes, I would not be in favor of that personally
…
On Thu, Aug 25, 2022 at 9:40 PM Ethern Su @.> wrote: I don't think we should take on that level of complexity. There are ways to post-render mutate charts to your desire. if you don't like those you could also file a feature request to Spinnaker to not break charts potentially. I see, in this case, is the PR #40572 <#40572> not likely to be merged? — Reply to this email directly, view it on GitHub <#40571 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEYGXIBLUCIQ26ZPZ6R3VDV3BDFLANCNFSM57ERVCCA . You are receiving this because you commented.Message ID: @.>

Got it, then let me close it


/prove-identity - copy edits required

Lizzie's comments:

Remove the bold copy line "How do you want us to check your identity?"
Please follow the prototype which includes bulleted explanations of the 2 options. If this isn't technically possible please advise up and we can come up with a best practice and relevant solution together.

Yes, its been raised with them, but no fix yet. As a compromise, I can put bullet points underneath or as a button so the user can toggle between showing and hiding the information accordingly

Hi Joanne, if we could replicate the solution done for bus passes, that'd be sufficient

done in test


curl command wrong in ziti-cli-functions.sh

curl "${ZITI_CTRL_EDGE_ADVERTISED_ADDRESS}:${ZITI_CTRL_EDGE_ADVERTISED_PORT}" should be
curl -k "https://${ZITI_CTRL_EDGE_ADVERTISED_ADDRESS}:${ZITI_CTRL_EDGE_ADVERTISED_PORT}" because otherwise curl will make an http request to an https server and the -k is required because the cert is not trusted.

ah. perfect. i can fix that in no time. i'll move this to the ziti-doc repo


add img url field for the rooms db table, as well for the rooms group theme img

FYI , we need to cover this capability.

rotem, you can also do it when you have time :)
@rotemsd

ok i will do it

thank you !

It was an optional feature and we don't have enough time to do it... We are working hard to fix important bugs..


Fix default for use_azure_storage_account_key_fallback in bf.configure

The default was changed in blobfile 1.2.0. The default for create_context is correct. Currently this means any call to configure re-enables the fallback

Thanks!


Fix searching for the empty string

This fixes issue 12. The problem was that when you search for the empty string on TPB, it redirects to /recent, so this fix just changes the query to * if it's empty, which works just fine.

cool! Thanks!

Landed in 0.2.5 :ship: :ship: :ship:


Invalid JSON RPC response: ""

Description
Sending many transactions to the RPC endpoint doesn't always end up running smoothly. I have a script that concurrently sends 1000-5000 transactions. The challenge in this case is to get the nonce right; so I've implemented a local nonce tracker that periodically re-syncs with the remote nonce.
The issue is that some of my transactions return:
Invalid JSON RPC response: ""
I use web3.js to send the transactions and more specifically the following function:
web3.eth.sendSignedTransaction(signedTx)
  .once('transactionHash', onData)
  .on('error', onError));

I find it hard to understand that the meaning of that error. I understand that regarding the nonce management. three thing can go wrong:

Send a tx with a low nonce.
Send a tx with the same nonce as a previously submitted tx
Send a tx with a higher nonce than the current account nonce.

In the first situation, typically I should get Nonce too low. Second case should emit replacement transaction underpriced. Now regarding the third case, I'm not sure if it will cause Invalid JSON RPC response: "". I know that it will result in a nonce gap and some transactions will be stack in the transaction pool. The error message doesn't give me a hint if that's the case or if there is something else causing this issue.
Frequency: [What percentage of the time does it occur?]
Every time I send too many transactions in a concurrent way.
Versions (Add all that apply)
Software version:
besu/v1.3.8/linux-x86_64/oracle_openjdk-java-11
Java version: [java -version]
openjdk 11.0.2 2019-01-15
OpenJDK Runtime Environment (build 11.0.2+9-Debian-3bpo91)
OpenJDK 64-Bit Server VM (build 11.0.2+9-Debian-3bpo91, mixed mode, sharing
OS Name & Version:
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
Kernel Version:
Linux staging1 4.4.0-171-generic #200-Ubuntu SMP Tue Dec 3 11:04:55 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Historically this error is a sign your json rpc did not answer. are you sure you are not overloading the node or hitting some other os limits?

I tried to minimise the number of concurrent call to just two. I also checked what happens what happens when I use the same nonce.
I sent the following two transactions:
{ nonce: '0x15c8',
  gasPrice: '0x0',
  gasLimit: '0x24ada',
  to: '0xDA35f4cb13a6ea0144469b23C0fE2F025bD4663B',
  value: '0x0',
  data: '0x0'
}

{ nonce: '0x15c8',
  gasPrice: '0x0',
  gasLimit: '0x24ada',
  to: '0xDA35f4cb13a6ea0144469b23C0fE2F025bD4663B',
  value: '0x0'
  data:'0x0'
}

The expected behaviour is to receive replacement transaction underpriced error, however I receive 400 Bard Request and an empty response instead.
I don't think a 400 bad request with an empty text is a very helpful response. There is not much information to know how to deal with the error.
I wonder if the fact that I use a fee free network causes this behaviour as you can see gasPrice is 0 so I wonder if that's make Besu believe that it's not an underpriced transaction. I'm just guessing here

I tried to minimise the number of concurrent call to just two. I also checked what happens what happens when I use the same nonce.
I sent the following two transactions:
{ nonce: '0x15c8',
  gasPrice: '0x0',
  gasLimit: '0x24ada',
  to: '0xDA35f4cb13a6ea0144469b23C0fE2F025bD4663B',
  value: '0x0',
  data: '0x0'
}

{ nonce: '0x15c8',
  gasPrice: '0x0',
  gasLimit: '0x24ada',
  to: '0xDA35f4cb13a6ea0144469b23C0fE2F025bD4663B',
  value: '0x0'
  data:'0x0'
}

The expected behaviour is to receive replacement transaction underpriced error, however I receive 400 Bard Request and an empty response instead.
I don't think a 400 bad request with an empty text is a very helpful response. There is not much information to know how to deal with the error.
I wonder if the fact that I use a fee free network causes this behaviour as you can see gasPrice is 0 so I wonder if that's make Besu believe that it's not an underpriced transaction. I'm just guessing here

Could you attach a sample of the configuration you are using including:

command line options
extract of the genesis file without any account information

I tried to minimise the number of concurrent call to just two. I also checked what happens what happens when I use the same nonce.
I sent the following two transactions:
{ nonce: '0x15c8',
  gasPrice: '0x0',
  gasLimit: '0x24ada',
  to: '0xDA35f4cb13a6ea0144469b23C0fE2F025bD4663B',
  value: '0x0',
  data: '0x0'
}

{ nonce: '0x15c8',
  gasPrice: '0x0',
  gasLimit: '0x24ada',
  to: '0xDA35f4cb13a6ea0144469b23C0fE2F025bD4663B',
  value: '0x0'
  data:'0x0'
}

The expected behaviour is to receive replacement transaction underpriced error, however I receive 400 Bard Request and an empty response instead.
I don't think a 400 bad request with an empty text is a very helpful response. There is not much information to know how to deal with the error.
I wonder if the fact that I use a fee free network causes this behaviour as you can see gasPrice is 0 so I wonder if that's make Besu believe that it's not an underpriced transaction. I'm just guessing here

@ppoliani  If i run your scenario with the 2 transactions at the same nonce and a non zero gas price I don't get any error. The first and the second attempts return both a success response containing the transaction hash.
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x8cdf5653a7847acee44dd93024d83ce56ccb696de614ac044bd57bf08638730e"
}

Now if i send a zero gas price transaction with defaults options iu get the following error:
{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": -32009,
    "message": "Gas price below configured minimum gas price"
  }
}

Which is the intended behaviour since the default minimum gas price is 1000 (can be changed with --min-gas-price, value expressed in WEI).

@abdelhamidbakhta Thanks for getting back.
I deployed my network on a K8s cluster.  The first and the second attempts return both a success response containing the transaction hash.

Now if i send a zero gas price transaction with defaults options iu get the following error:

This is not the case in my setup because I have explicitly created a free-gas network.
I don't believe this is an accurate behaviour though. You can't use the same nonce in any Ethereum based client. Most of the clients I worked for use a clear message error which is as I mentioned earlier is something along these lines

replacement transaction underpriced

In any case this is an error that should be reported by the rpc client.

@ppoliani Ok you are right, the behaviour is confusing. I will work on it to align with other clients implementations.

Actually with your scenario Geth would return:
{
    "jsonrpc": "2.0",
    "id": 1,
    "error": {
        "code": -32000,
        "message": "known transaction: 6e5bd3806b90881721d5c92ccb8ec3abb9dbb3942e1513d10cb8e7e8a6015c6b"
    }
}

Right ?

And with a gas price slightly higher  but not sufficient to match the minimum price bump:
{
    "jsonrpc": "2.0",
    "id": 1,
    "error": {
        "code": -32000,
        "message": "replacement transaction underpriced"
    }
}

@ppoliani I added explicit error message in #904


Deserialization error with multiple Suspense

Hi!
I think I found a bug that occurs when loading resources with different types through different paths (for instance one in a drawer that is always visible and one in the main window). It looks like Leptos mixes up the expected return types of the resources. Here is the error in question:
could not deserialize Resource<core::result::Result<(), server_fn::error::ServerFnError>> JSON for ResourceId(2v1): Deserialize(Error("invalid type: string \"Test\", expected unit", line: 1, column: 12))

Leptos Dependencies
leptos = { version = "0.5.2", features = ["nightly"] }
leptos_axum = { version = "0.5.2", optional = true }
leptos_meta = { version = "0.5.2", features = ["nightly"] }
leptos_router = { version = "0.5.2", features = ["nightly"] }

To Reproduce
Here is an example to reproduce the issue:
use leptos::*;
use leptos_router::*;

#[server]
pub async fn get_user() -> Result<(), ServerFnError> {
    Ok(())
}

#[server]
pub async fn data() -> Result<(), ServerFnError> {
    Ok(())
}

#[server]
pub async fn other_data() -> Result<String, ServerFnError> { Ok(String::from("Test")) }

#[component]
pub fn App() -> impl IntoView {
    view! {
        <Router>

                        <Routes>
                            <Route path="" view=LoginGuard>
                                <Route path="" view=Child/>
                            </Route>
                        </Routes>

                        <Drawer/>

                            <button on:click=move |_| leptos::logging::log!("Did I hydrate?")>"Click"</button>

        </Router>
    }
}

#[component]
pub fn Drawer() -> impl IntoView {
    let other_nested_data = Resource::once(other_data);

    view! {
        "Label"
        <Suspense>

{
                move || {
                    format!("{:?}", other_nested_data.get())
                }
            }

        </Suspense>
    }
}

#[component]
fn LoginGuard() -> impl IntoView {
    let guard_data = Resource::once(get_user);
    view! {
        <Suspense>
            {move || guard_data.and_then(|_| view! { <Outlet/> })}
        </Suspense>
    }
}

#[component]
pub fn Child() -> impl IntoView {
    let nested_data = Resource::once(data);
    view! {
        <Suspense>

{
                move || {
                    format!("{:?}", nested_data.get())
                }
            }

        </Suspense>
    }
}```

Thanks a lot for your work on this great framework! :)

Thanks very much! I've been looking for a good reproduction of this particular issue for a couple months. I imagine it has been really annoying to debug, so apologies for that — hopefully this nice minimal reproduction will help me figure it out. Much appreciated.

I'm glad it helps then! ;) I quickly saw the resources' output were getting and I already had a minimal example similar to my application (that you made and showed me in another bug report actually '^^) so it was very simple to modify it a little bit and reproduce the issue. Thanks again for your help!

Ok so in this instance, it's relatively easy to fix the example, by changing this
move || guard_data.and_then(|_| view! { <Outlet/> })

to use .with() instead of .and_then()
move || guard_data.with(|_| view! { <Outlet/> })

The reason for this is that .map and .and_then on resources only run once the resource is resolved, but .with runs and takes an Option of the resource's current value. This means that the resources are actually created in a different order on the server and in the client, hence the mismatch in expected types.
On the server, you don't render Child until guard_data is loaded, so the resources are created in the order

guard_data
other_nested_data
(once guard data resolves) nested_data

On the client, by the time the page hydrates all resources have streamed in so the resources are created in the order

guard_data
nested_data
other_nested_data

Resources are assigned flat IDs, not scoped to anything else, which is why the types don't match: IDs 2 and 3 are reversed on client and server.

Thanks for the update :)
After playing a bit with my application, I found this way to make it work using .with:
resource.with(|result| match result {
    Some(Ok(_)) => {
        view! { <Outlet/> }.into_view()
    },
    Some(Err(e)) => {
        log::info!("Error: {}", e);
    },
    None => {
        view! { <Outlet/> }.into_view()
    },
})

That way other resources in the <Outlet/> are still created before it finishes loading. Does this seem good to you or would you have another suggestion?
In my case, it was also possible to dodge the error by moving some parts of the html (a DaisyUI drawer) before the <Routes>  but using .with seems much safer.

After playing a bit with my application, I found this way to make it work using .with

This is great to hear!

That way other resources in the <Outlet/> are still created before it finishes loading. Does this seem good to you or would you have another suggestion?

This is totally ideal. The great thing about it is that it means that you remove a layer of waterfalls: if what's rendered in the <Outlet/> loads some data that doesn't depend on the guard, you begin loading that in parallel with the guard, rather than only after the guard is done.
Let's keep the issue open, because it's still a bug, but I'm glad you were able to refactor to avoid it.

Work as expected on 0.7

Great! Thanks for the work and I look forward to 0.7 :)


Add bytes.capitalize and bytes.iter

Here is an implementation of the bytes.capitalize and byte.iter() methods.
I ran into a problem while testing the capitalize function with other byte values:
print(b'\\xfa'.capitalize()[0])

I saw an error related to writing to the test suite, and left it alone for now.
Does this look good?

Hooray! 🎉 Congratulations on your first FOSS commit - may it be the first of many!


Bump babel-preset-react-native version

To include a missing part of the fix to HMR on Windows that was done in 0.25rc. See https://github.com/facebook/react-native/commit/c61100d0ceb4b71c86f01f35d7464d2d8a02b342. Will need to also publish to npm.
cc @ide @grabbou

@facebook-github-bot shipit

@bestander Does this need an update to our internal node_modules?
@janicduplessis Are the test failures related? I just restarted both Travis and Circle CI tests.

Yah these failures are not related. @janicduplessis can you rebase?

And @mkonicek yah - probably need to update your internal node_modules. OSS would be unaffected though, as it has ^1.5.2 in package.json.

Thanks for the quick reply @skevy 👍

Rebased but the build on travis seems to have issues, it just hangs and timeouts, looks like a process doesn't exit properly.
No output has been received in the last 10m0s, this potentially indicates a stalled build or something wrong with the build itself

Updating internal node modules may not be needed since this patch is for fixing hmr on windows.

Yep, Travis iOS builds got completely broken.
Infra failure
On Wednesday, 20 April 2016, Janic Duplessis<EMAIL_ADDRESS>wrote:

Rebased but the build on travis seems to have issues, it just hangs and
timeouts, looks like a process doesn't exit properly.
No output has been received in the last 10m0s, this potentially indicates a stalled build or something wrong with the build itself
Updating internal node modules may not be needed since this patch is for
fixing hmr on windows.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/facebook/react-native/pull/7076#issuecomment-212518955

Tests are good on circle now, let's try shipit again.
@facebook-github-bot shipit

Can someone publish the preset to npm? :)

@janicduplessis published. :)

Thanks @skevy :)


feat(major versions): support major versions greater than 1

Ran into this issue where my go module was at v2.0.1 and the proxy push would not work due to the scope of the version being greater than 1.
go get<EMAIL_ADDRESS>reading<EMAIL_ADDRESS>410 Gone
	server response: not found<EMAIL_ADDRESS>invalid version: module contains a go.mod file, so major version must be compatible: should be v0 or v1, not v2

This change will result in the go get commanding being:
go get -d<EMAIL_ADDRESS>
Successful test: https://github.com/clok/avtool/runs/2024095204?check_suite_focus=true

Excellent! Thanks for your contribution, @cloc!

My pleasure. Great little tool you have put together. Thanks!


New theme doom-one-dark

This is an alternative version from doom-one but with black background. currently my favorite theme :)

Thanks for the PR, but I won't accept themes that are just slight tweaks of other themes. If you just want to change one face, use doom-one and put this in your config:
(custom-set-faces
  `(default :background "#000000"))


add root url to sitemap

In #4 it was mentioned that there could be multiple files with file.path == ‘’. I haven’t come across that.
Submitting this pr just in case you’re interested in pulling this in.
It could also just be added via the options.root object.
Thoughts?

@eddywashere This looks great! Thanks for the pull request. A couple changes and I think this will be good to land.

@boushley mind taking a look at the updates?

@eddywashere Looking good. One more change that I think will simplify things.
If I missed something and what I'm proposing won't work, let me know.

@boushley thanks for all your comments. I was updating the pr with your latest feedback but I noticed that it would duplicate the root page. turns out this check https://github.com/ExtraHop/metalsmith-sitemap/pull/6/files#diff-6d186b954a58d5bb740f73d84fe39073R63 was all I needed. Let me know what you think. Thanks!

@eddywashere Hah, even better!
Thanks for the pull request and helping us arrive at a good solution.

This is published as part of 0.1.0


feat(tutorial): complete step 3 - Boeblingen

Closes #
{{short description}}
Changelog
New

{{new thing}}

Changed

{{change thing}}

Removed

{{removed thing}}

@jessicaroth Looks spectacular 🥇! I've recorded your completion of step 3.


Kinect + Jetson Nano + PoE, any chance of getting it to work?

I'm contemplating investigation of a single-cable solution (for ease of deployment of a multi-camera capture setup).
I was thinking of attaching a Kinect to a Jetson Nano, and adding a power over ethernet shield. I could then have a couple of these around the room (facing inward, towards the subject being captured), with no problems with cable length and such.
The Jetson Nanos would do the capture and preprocessing (and possibly triggering the Kinects, using PTP to sync the Jseton Nanos), do limited compression and send the images to a central machine over Ethernet for further processing.
Is this potentially feasible, or are there any brick walls that I will run into? (I was originally thinking Rpi4, but I've already discovered that the lack of a decent GPU is a brick wall there).

This should be doable. Verify that you can power the Azure Kinect via TWO USB ports on the Jetson Nano. If that works then no additional power electronics is required. Calculate the max power draw and purchase a PoE splitter for the PoE power category required. You will need an PoE injector or switch/router at the other end.

@jackjansen You might want to check out https://github.com/n1ckfg/JetstreamKinect -- I know Nick is working on something similar.

@jackjansen You might want to check out https://github.com/n1ckfg/JetstreamKinect -- I know Nick is working on something similar.


Illuminate\Html\HtmlService Provider Generation Error

Hello there,
When I add the Html Service Provider (for Form Facades) and I run either:
php artisan ide-helper:generate or php artisan ide-helper:meta
I get the following error:
[Symfony\Component\Debug\Exception\FatalThrowableError]
Fatal error: Call to undefined method Illuminate\Foundation\Application::bindShared()

This package has been deprecated.. sorry not your issue .. should have done more research


Adding subgrid feature for iterating over designs

Adding the ability to chunk a grid into subgrids to cut down memory usage by the full likelihood grid. This feature is activated in ExperimentDesigner when the user specifies the memory constraint argument.

@dkirkby I believe I've finished up all of the updates we discussed including accounting for memory doubling and copying over the code for handling invalid post_norm. If anything else in that branch changes, I can add it. Otherwise, I think it's okay to merge.


chore: Create LICENSE

Similar to https://github.com/MeltanoLabs/target-duckdb/pull/2#issuecomment-1564768016, should this actually be MIT?


remove the use of override using a solution similar to vatnumber module

Hi
is it possible to remove the override solution using the same solution of vatnumber module?
with the hook actionTaxManager and extends TaxManagerModule instead of extends Module?
https://github.com/PrestaShop/vatnumber
now I've seen another module that use the same solution of vatnumber
thanks

I'm sorry this a specific use case. You can always merge these two overrides for your project.
For now this is not planned.


Add simple hash matching for Base.where

like Rubill::ReceivedPayment.where(id: 3, status: "5")

:+1:

:+1:

LGTM


Added NewRelic Certification

NewRelic Programmability Certification

@karentamrazyan made a small update would help the community.

Certification is in which course

https://learn.newrelic.com/programmability-certification @Sujalgu  Please refer link

thanks @bpdesilva !


Style/GuardClause suggests changes that are impossible due variable scope

Expected behavior
The Style/GuardClause cop does not suggest you "Use a guard clause" that results in a NoMethodError.
Instead the Style/GuardClause cop should suggest a change that doesn't result in a NoMethodError, something like "separate your conditional into multiple lines and use a guard clause"
Actual behavior
The Style/GuardClause cop suggests "[using] a guard clause" that results in a NoMethodError
Steps to reproduce the problem
Here is a working program that triggers Style/GuardClause:
$ cat t.rb
def m value
  if match = /(?<hi>hi)/.match(value)
    match[:hi]
  end
end

p m 'hi'
p m 'bye'
$ ruby -v t.rb
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin16]
"hi"
nil

Rubocop output suggests I "Use a guard clause":
$ rubocop --only Style/GuardClause t.rb
Inspecting 1 file
C

Offenses:

t.rb:2:3: C: Use a guard clause instead of wrapping the code inside a conditional expression.
  if match = /(?<hi>hi)/.match(value)
  ^^

1 file inspected, 1 offense detected

Let's remove the guard clause:
$ cat t.rb
def m value
  match[:hi] if match = /(?<hi>hi)/.match(value)
end

p m 'hi'
p m 'bye'

Rubocop is OK:
$ rubocop --only Style/GuardClause t.rb
Inspecting 1 file
.

1 file inspected, no offenses detected

Ruby is not:
$ ruby t.rb
t.rb:2:in `m': undefined local variable or method `match' for main:Object (NameError)
Did you mean?  catch
	from t.rb:5:in `<main>'

Ruby parsers strictly left-to-right so the first time match is encountered there is no match variable because the assignment is further right in the conditional.  match is considered a method at that point, but there is no match method so we get a NoMethodError upon execution.
There is no way to "Use a guard clause" here, you must make a larger change:
$ cat t.rb
def m value
  match = /(?<hi>hi)/.match(value)

  match[:hi] if match
end

p m 'hi'
p m 'bye'

Rubocop should suggest something like "separate your conditional into multiple lines and use a guard clause"
RuboCop version
Include the output of rubocop -V. Here's an example:
$ rubocop -V
0.49.1 (using Parser <IP_ADDRESS>, running on ruby 2.4.1 x86_64-darwin16)

I think RuboCop suggest doing this:
def m value
  return unless match = /(?<hi>hi)/.match(value)

  match[:hi]
end

Maybe it's possible to make the message more specific somehow?

One of the most difficult things new rubyists seem to encounter is the behavior difference of the modifier-if with respect to variable assignment (per above), so rubocop needs to be extra clear here because new rubyists will not know why they get NoMethodError and will be confused when they get it.
If rubocop -a can't fix it then the message should be clear enough that a new rubyist knows what to do.

No arguments here! PRs to improve the message are welcome!


How to represent contrib and aff in SciELO XML and other specifications

In order to support the producers of SciELO XML files, we have written this guidelines:
http://docs.scielo.org/projects/scielo-publishing-schema/pt_BR/1.6-branch/ (Portuguese).
In this page, there are published English and Spanish version.
https://github.com/scieloorg/scielo_publishing_schema/raw/master/versions/EN-scielo-publishing-schema-1.5.pdf (English)
For instance, we have adopted contrib and aff related by xref.
http://docs.scielo.org/projects/scielo-publishing-schema/pt_BR/latest/tagset/elemento-contrib.html
http://docs.scielo.org/projects/scielo-publishing-schema/pt_BR/latest/tagset/elemento-aff.html
Attached some XML files
Ahead of Print.zip
Appendix.zip
Continuous publication.zip
Editorial.zip
Erratum.zip
Original article.zip
Reply letter.zip
Review 1.zip
Review 2.zip
Translation.zip

Thank you very much. This is very helpful.

Closing this, as we have completed a first iteration.


[POST] Add new post for aws s3 troubleshooting

Amazon S3 troubleshooting and lifecycle settings

Self merging for tracking


Quarto is unable to find the correct R version.

I have two versions of R installed on my Windows machine. One is R 4.1.3 and the other one is R 4.2.1.
I am using VSCode-R, and native R terminal in VSCode, in which the R terminal path is specified to R 4.2.1, the version I am mainly using.  Two versions also have different library paths.
When I built qmd in RStudio, it was a success.
However, with quarto-vscode for the same qmd file, it finds R 4.1.3 instead of R 4.2.1 by default, and then runs into error.
Error in inDL(x, as.logical(local), as.logical(now), ...) :
  unable to load shared object 'C:/Users/xxxxxx/AppData/Local/R/win-library/4.2/rlang/libs/x64/rlang.dll':
  LoadLibrary failure:  The specified procedure could not be found.
Calls: .main ... namespaceImport -> loadNamespace -> library.dynam -> dyn.load -> inDL
Execution halted

R installation:
  Version: 4.1.3
  Path: C:/PROGRA~1/R/R-41~1.3
  LibPaths:
    - C:/Users/xxxxxx/AppData/Local/R/win-library/4.2
    - C:/Program Files/R/R-4.1.3/library
  rmarkdown: (None)

The rmarkdown package is not available in this R installation.
Install with install.packages("rmarkdown")

We determine which version of R to use within VS Code by looking at the r.rpath.windows config setting made available by the VS Code extension. Is there another setting you are aware of we should be consulting here?

Both of my r.rterm.windows and r.rpath.windows were set to R 4.2.1 as
"r.rterm.windows": "C:\\Program Files\\R\\R-4.2.1\\bin\\R.exe",
"r.rpath.windows": "C:\\Program Files\\R\\R-4.2.1\\bin\\R.exe",

By default vscode-r is looking for R in Windows registry (suggesting R was installed with the "save version number in registry" option checked).
It might be that vscode-r first get that version then overwrite the value with r.rterm.windows.
By the way, according to the Wiki (https://github.com/REditorSupport/vscode-R/wiki/Installation:-Windows#vscode-r) r.rterm.windows seems to be the setting to look for (not r.path.windows) at least for interactive terminal.

r.rpath.windows

Path to an R executable to launch R background processes (Windows). Must be "vanilla" R, not radian etc.!

r.rterm.windows

R path for interactive terminals (Windows). Can also be radian etc.

The setting we are looking for definitely shouldn't be radian (as we'll also be forwarding this path along to knit) so I think the r.rpath is probably correct for our purposes.

@Fred-Wu I don't know what's going on here then -- what is the value of the QUARTO_R environment variable in your R child process / terminal?

How can I obtain QUARTO_R env variable? Is that under Sys.getenv()?

I had the same error, I get the working path from this command inside R
file.path(R.home("bin"), "R")

the system path didn't work for me

@Fred-Wu Yes if you have set r.rpath.windows then that will be propagated to Quarto as QUARTO_R and that's the version of R we will attempt to use.
All of that said, I think your R configuration needs some pruning as if you look in your diagnostic you'll see that you have lib paths from two different versions of R in play:
R installation:
  Version: 4.1.3
  Path: C:/PROGRA~1/R/R-41~1.3
  LibPaths:
    - C:/Users/xxxxxx/AppData/Local/R/win-library/4.2
    - C:/Program Files/R/R-4.1.3/library
  rmarkdown: (None)

This will never end well! Somewhere in your environment there are likely some variables set that are injecting additional lib paths (you should look at all environment variables in your shell and/or set for the user or system).

I cannot see QUARTO_R from Sys.getenv()
The error points to the user library for R4.2, which is the version I am using, and should be used by Quarto as well.
However the error points to the system library for R4.1, but not the user library for this version.
Both versions of R have user libraries, which could be identified correctly by RStudio. They are default during the installation.

R4.1.3
> .libPaths()
[1] "C:/Users/xxxxxx/Documents/R/win-library/4.1" "C:/Program Files/R/R-4.1.3/library"

R4.2.1
> .libPaths()
[1] "C:/Users/xxxxxx/AppData/Local/R/win-library/4.2"
[2] "C:/Program Files/R/R-4.2.1/library"

I installed R 4.1.3 later than R 4.2 because it is the version used by our internal shiny server, so have to develop the app using that version.  So it might overwrite the sys registry, R 4.1.3 is above R 4.2.1.
Could this be the reason that Quarto somehow reads the system registry?

I have manually included the R version path to the Windows environment variable PATH for both user and system.
The quarto_render now works. Otherwise quarto check in the terminal still also points to R4.1.3.
So I think it may not be the issue of quarto-vscode.


feat:  set a custom URL for notification buttons for console access restriction

Which Problems Are Solved

Zitadel notification messages have buttons that redirect users to Zitadel console. For those users that want to restrict access to the console or set custom urls for those messages need a way to override the default behavior.

How the Problems Are Solved

We can enable the use of the default redirect URI (the default redirect URI must be set and non empty). If the use is enabled, the url used for all notification messages will be the default redirect URI (it will replace .URL in the notification template with that message).
We can set a ButtonUrl message text for a specific message and language. ButtonUrl value will override the use of the default redirect URI.

Here we have some screenshots while debugging this new feature:
The use of the default redirect URI is disabled. We get the usual URL pointing to Zitadel console

Now we add a default redirect URI (https://example.com) and enable its use for notification messages. We see that the URL in the template will use that redirect URI

Finally if we add a value for the ButtonURL (https://mybuttonurl.org)  in the message text for that message and for english language we see that the URL changes to the one for ButtonURL

Additional Changes

Some unused translations have been removed

Additional Context

Closes #7488

Hi @doncicuto
Had a look at all your changes and have a few questions for my understanding:

Why is the URL language specific but ignored if not set?
Why is the new bool setting, which influences notifications, in the LoginPolicy?
Why is the URL read in the notification handler and not provided like in HumanEmailCodeAddedEvent as a template attribute?

Hi again @stebenz!

Why is the URL language specific but ignored if not set?

If you mean these two related pieces of code:
if err != nil && !strings.HasSuffix(id, ".ButtonUrl") {
	logging.WithFields("id", id, "args", args).WithError(err).Warnf("missing translation")
	return id
}

and
// Ignore untranslated button url
if url := translator.Localize(fmt.Sprintf("%s.%s", msgType, domain.MessageButtonUrl), args, langs...); url != "" {
	data.URL = url
}

is because of the following. When Zitadel requests a translation, if the translation is not found the localize function returns the id of the message that couldn't be translated e.g initCode.ButtonUrl
func localize(localizer *i18n.Localizer, id string, args map[string]interface{}) string {
	s, err := localizer.Localize(&i18n.LocalizeConfig{
		MessageID:    id,
		TemplateData: args,
	})

	// Ignore untranslated button url
	if err != nil && !strings.HasSuffix(id, ".ButtonUrl") {
		logging.WithFields("id", id, "args", args).WithError(err).Warnf("missing translation")
		return id
	}
	return s
}

so if the ButtonURL is affected I prefer to not return the id but the empty string that comes from localizer.Localize if an error ocurred, that way I know that the translation wasn't performed and I don't replace the {{.URL}} of the template with the initCode.ButtonUrl. I'll change this to any recommendation from you if it doesn't looks good.

Why is the new bool setting, which influences notifications, in the LoginPolicy?

I doubted about the best place to locate the new bool setting, but in one hand the default redirect uri is placed in the console in the Login Behavior and Security section so I thought it would be better to add the checkbox there and therefore add it to LoginPolicy so the endpoint calls remain the same, also as the default redirect uri can be set through the API I thought it would be sensible to have a related boolean in the same endpoint so the op can decide to use both parameters at once. In summary I thought it would be best to keep both tied in login policy as they were related by the functionality. Indeed I'll change this to any recommendation from you no matter what it takes.

Why is the URL read in the notification handler and not provided like in HumanEmailCodeAddedEvent as a template attribute?

Sorry about this Stebenz don't know exactly what you're talking about (maybe SendEmailVerificationCode?). You're always clear but sometimes you must think I'm kinda noob as I can't follow and I know that this sucks sometimes. Could you show me an example (just the file and line number) in my code where the URL is read in the notification handler so I can answer this properly?
Thanks in advance

@doncicuto No worries, I'm only asking so that I know what thoughts from you went into these changes, as I could have missed something as well.
To clear up the 3rd question, there is an event that has a struct with the name 'HumanEmailCodeAddedEvent':
type HumanEmailCodeAddedEvent struct {
	eventstore.BaseEvent `json:"-"`

	Code              *crypto.CryptoValue `json:"code,omitempty"`
	Expiry            time.Duration       `json:"expiry,omitempty"`
	URLTemplate       string              `json:"url_template,omitempty"`
	CodeReturned      bool                `json:"code_returned,omitempty"`
	TriggeredAtOrigin string              `json:"triggerOrigin,omitempty"`
	// AuthRequest is only used in V1 Login UI
	AuthRequestID string `json:"authRequestID,omitempty"`
}

With URLTemplate, which is then used in 'func reduceEmailCodeAdded' to send an email with the URLTemplate as URL under the button. This is triggered if you for example create a user with this part in the request
"email": {
    "email"<EMAIL_ADDRESS>    "sendCode": {
      "urlTemplate": "https://example.com/email/verify?userID={{.UserID}}&code={{.Code}}&orgID={{.OrgID}}"
    },
  },

So in my opinion, I would have changed the NotificationPolicy(instead of the boolean in LoginPolicy) with an attributes per email which should be configurable to provide the different URL templates, so that it is not language-specific.
Additionally, I would have added a URLTemplate attribute to all events which result in an email and not already have one, so that the notification handler doesn't need the functionality to read the LoginPolicy or any additional policy for that matter.
If it helps you we can also quickly hop on discord and have a look at it together.

Hi @stebenz, I understand your point and you're totally right, I didn't like the part of the code when I had to add the LoginPolicy either... that was a red flag I should have notice, rats. Thank you for offering your help as always and for your explanations.
Some users that commented on the issue suggested to use the default redirect uri and to enable it using a checkbox so if I understand you right this should be dropped in favor of the URL template attribute for NotificationPolicy, right? Maybe I'll have to ask @peintnermax where should I put the URL template in the console.
As the approach that I've followed is too far away from the more sensible approach that you propose, would you find it better if I close this PR and prepare another one?
Thanks a lot @stebenz for your time and patience

@doncicuto No problem at all, I mean that's one of the reasons why there is a review for PRs.
I had a talk with @livio-a and if I understand correctly the RedirectURI is used as a redirect from ZITADEL so that it could be used in emails, but could confuse some if they are also used in the emails as a link, soit seems to me as not the 100% correct solution for our current topic.
Yes, I would drop the bool in the LoginPolicy and the additional attributes in the CustomMessages, as the URL is not language specific usually.
To the topic of where to put the URLs, there is already a Notification part in the Settings:

Personally, I would put it there grouped as URLs, but maybe @peintnermax has another idea.
I would create a new PR, otherwise you would have to build back all the changes first. In the new PR you can also link this one, and mention the discussion here, which should give a bit more information.

Perfect @stebenz, thanks for the guidelines. I'll close this PR and prepare the code so I'll back with the new solution in a few days. If I've some doubts I may send you some messages through Discord :smile:
Closing!


Prisma JS/TS client generator exclude attribute

Currently, the client selects all fields when querying a model. There's no easy way to exclude a field by default. This makes it easy to accidentally send sensitive information back to the client, for example a password hash on a user model.
It is infeasible or too complicated to build a solution for this issue without undermining the current design of the client (exclude can't neatly fit in besides include and select in the type system) or building complex hacks that do not work for more involved scenarios.
This proposal introduces a generator attribute that will instruct the client to not query a field by default, but it must be explicitly selected instead for it to get fetched.
Prisma Schema Language (PSL) Syntax Proposal
With the concept of generator attributes being a decided addition in the future of the Prisma Schema (https://github.com/prisma/prisma/issues/7209), we can already decide to implement exclude as a "known" generator attribute, meaning that while we don't have pluggable generators formalized, we can skip the generic plugin part and include it first-party into the Prisma code until we have a real system in place:
generator client { ... }

model Model {
    ...
    field String @client.exclude
}

The exclude property is namespaced to the generator that will use it in the end.
Technical Details
The attribute will be attached to all places in the underlying protocol (currently internal, used by the language generators) where something has been derived from the field:
{
    "name": "Model",
    "fields": [
        {
            "name": "field",
            "args": [],
            "isNullable": false,
            "attributes": [{
                "generator": "client",
                "name": "exclude"
            }],
            "outputType": {
                "type": "String",
                "location": "scalar",
                "isList": false
            }
        }
    ]
}

Note that the above is not a final version and may change.
Feedback

Do you agree with the exclude naming? If not, what would be a preferable alternative?

In the above context and with the suggested implementation, exclude may not be as self-explanatory as explicit.
How about this alternative ?
generator client { ... }

model Model {
    ...
    password String @client.explicit // client must explicitly request this field
}

In English, "explicit" usually has the connotation that something is for adults. So not sure that's the best here.
I vote for excludeByDefault
model Model {
    field String @client.excludeByDefault
}

@flybayer "I explicitly asked Tom not to buy bitcoin today" - What part of it is pointing to adult ?  Everything is context based, and we are in programming and ORM realm, and not talking about watching movies etc. ;)

I suggest @hidden, but excludeByDefault also works.
model User {
  password String @hidden
}

How about @withhold or @client.withhold, meaning to suppress or hold back.
model User {
  password String @withhold
  sourceData Json @withhold
}

I like that it suggests the field is available (something exclude/private/hidden doesn't convey IMO)  without implying that the data is sensitive (you might want to exclude a field by default just because it's heavy or not often used)

We can also try @public and @private, and maybe even an option to mark everything as private by default:
generator client {
  provider = "prisma-client-js"
  defaultVisibility = "public"
}

model User {
  name     String  @public // Optional because @public is the default
  password String? @private
}

IMO, private would work best. Like, if you think about the client and the server as Classes (OOP), it suggests that @private fields would be only accessible to the server and, thus, not returned to the client. I'm really looking forward to this feature, it'll be very helpful.

Folks, please understand that Prisma is an ORM, and it has no business of, or should have awareness of what should stay on the server and what should go on to the clients.  You query, and ask Prisma to withhold some fields.
I am hoping for that feature ...

"explicit" is interesting. Not sure I agree about the adult connotation, might say more about the reader's state of mind than anything 🤔.
Another I've thought of before is @client.selectByDefault(false) where the default is simply true for all scalar fields.

Folks, please understand that Prisma is an ORM, and it has no business of, or should have awareness of what should stay on the server and what should go on to the clients. You query, and ask Prisma to withhold some fields.
I am hoping for that feature ...

I agree, this should not be something in the model at all. But we should be able to exclude fields in queries. +1 for this feature!

Looks like the discussions have been going on around this feature for almost 2 years, greatly needed on our side as well :)
And thanks for the work guys, Prisma is great, even without this ;)

feature

I think that even though prisma should not care whether the information is private or not we still need an ease and clean way to just say that some fields should not be selected unless we actually tell them to, and imagine a table that a good part of the data is not returned to the user, then we would have to manually remove each one of them every time we want to query that table, i think that so far adding the @client.selectByDefault(false) is the nicest and cleanest way not to select some fields

Totally agree, would love to see this implemented sometime soon!

We can also consider @Expose(false) by default, @Expose(true).  The Idea is the server can use the @Expose(false) but while object deserialization to JSON or Other Format. It excludes itself.

A default boolean var set to true is not a good and intuitive practice. It's better to use an antonym in order to have the default value set to false.

We have decided not to go with @exclude or similar via PSL for now, more information soon in https://github.com/prisma/prisma/issues/7380


编译DevSample时，执行gradlew buildLib -q  命令报错

What went wrong:
Execution failed for task ':app.home:compileReleaseJavaWithJavac'.

buildLib 还是 buildBundle？


Manage Properties Photos?

Hi guys,
sorry if I seem insistent but I'm only trying to unerstand how to set my gallery :)
Is bootstrap darkroom compatible with 'Manage Properties Photos' plugin?
Because I set it but info doesn't appear on image properties.
If not, are any chance to make it compatible? If not, what do you suggest to add 'location' at the images?
Thanks in advance

Unfortunately not. It tries to replace the full info with preg_replace and expects a different DOM structure here. Doesn't support templates either.

PS: it should work if using "Sidebar" instead of "Tabs below the image" in theme config, though.

Even with sidebar doesn't work

This is fixed in upcoming 2.x, but only for the sidebar view.


Provide a customizable snap handler

Hi,
In some use cases, I need to return more than the data in store (some ref/metadata). I don't think it should be here by default so I though of passing a handler to the node, like in the firestore object.
This handler, if present, would be called instead of snapHandler. This way, anyone could get exactly what he wants for every query.
What do you think of that? Do you have an alternate idea?

Hi,
This was recently implemented here.
Though I think a better way to actually implement it is by having the option to have the snapHandler function handle it or simply return the referenceQuery as linked above.
Though adding more UI options, may make the node seem bloated with functionality, I may limit access to the option only through the msg object

I agree to not set that in the UI, since writing function in it is not very ideal.
I don't understand how the referenceQuery would achieve something like that. Could you provide an example please?
And if you think a custom handler would be useful, I'll implement it soon.

The referenceQuery exposes the DocumentReference class which allows you to extend the query to your liking as well as adding your own handlers in subsequent nodes.
So in a subsequent function node, you can perform asynchronous actions like so
msg.firebase.referenceQuery.get().then(snap => {
   // Your custom snap handler right here
   node.send({your_data: snap.data()})
})

Furthermore going with this approach opens up these additional methods for anyone who needs them.

I created a simple PR of the behavior I was expecting, feel free to change/refuse it if you want to stick with the referenceQuery approach (but maybe rename it to documentReference or something like that).
Hope this will help :smiley:

I must be doing something wrong but this is not working here.
I added a function node after my Firestore node with:
msg.firestore.query.get().then(snap => {
    let docArray = {}
    snap.forEach(function (snapDoc) {
        ...
    })
    node.send(docArray);
});
return;

First issue: get is not a function. So I logged msg.firestore.query and it's an array with my where clauses.
It seamed fine in the debugger but messed up in the next node. I already know the VM of function nodes can mess up things, I don't know if this is related.
Do you have a working example please?

base on this
it should be
msg.firebase.query.get()

I probably should change the firebase key to firestore to make it intuitive

additionally include your earlier proposition of defining whether to use the default of extend with a custom one like you've done so that you don't fire the query twice

That's exactly what I did, but I cannot get() this query. Is there any conditions or requirements?

Change it from msg.firestore to msg.firebase

Right, sorry, I didn't see that change! It works better like this but the naming can be confusing :sweat_smile:
Thank you for your help

No problem,😅 It happens

@JbIPS ,
Kindly review this pull request => #20


[WebToolsE2E][Aspire] After installing both aspire9 and aspire8, creating aspire-starter-8 fails with error: "The constraint 'workload' failed to initialize ..."

REPRO STEPS

Install SDK 9.0 RC2
Install Aspire 9.0 template -latest version 9.0.0-rc.1.24511.1

Add dotnet8 feed
dotnet new install Aspire.ProjectTemplates::9.0.0-rc.1.24511.1 --force

Now If you try to create aspire--starter-8 project, you will see another issue #6263
Install Aspire 8.2.1 workload

dotnet workload update
dotnet workload install aspire

Create aspire-starter-8 project again

ACTUAL

After installing aspire8 workload, creating aspire-starter-8 project still fails

According to the error details, run dotnet new aspire-starter-8 -o aspire09 --force

EXPECTED
Create aspire-starter-8 project successfully

Came here to file this issue. I removed the 8 workload and I get a ton of errors installing the new templates for 9 rc1

On my machine with "VS 17.12 P3 (Without Aspire 8.2.0) + Aspire 9", I modified the VS installer and checked the .NET Aspire SDK.
Creating 8.0 aspire app by running 'dotnet new aspire-starter-8'

Tried again using the command 'dotnet new aspire-starter-8', it worked this time.

Tried some more times, aspire09 worked.

That would have worked because when you installed the .NET Aspire SDK as part of VS it would have installed the .NET Aspire 8.0 workload. You can probably confirm this with dotnet workload list.

@davidfowl

Came here to file this issue. I removed the 8 workload and I get a ton of errors installing the new templates for 9 rc1

Those are not errors, they are just messages saying that some of the templates you are installing will not be available given they depend on the workload and you don't have it installed. I understand how this message can be confusing, but this is expected and the right behavior as we don't want those templates to show if you don't have the workload installed.

As for this issue and the problem that @v-elenafeng is hitting, it is due to this templating issue: https://github.com/dotnet/templating/issues/7946
That issue describes a race condition that is happening in the template loading engine when trying to resolve which workloads are installed in order to find out if the constraints on the templates are satisfied or not. This only happens to our downlevel templates (i.e. aspire-starter-8) because those are the only ones that have a constraint to only work in case the workload is installed. Since this is a race condition, it will fail some times and work other times, like @v-elenafeng found above. I chatted about this issue with @marcpopMSFT and @dsplaisted who own the template engine but unfortunately it looks like the fix is not trivial here.

I don't think the warning showing up is related to the race condition bug that we have but rather the template engine constraint feature appears to not expect you to have a valid template and a constrained template in the same package. We should probably suppress that message when not targeting the template that has the constraint.
Is that what v-elenafeng is reporting? I also see a report above that sometimes it works and sometimes it doesn't which I guess would point to the race condition but we were getting a very different error experience before. CC @baronfel

No, the warning regarding the templates was just a comment from @davidfowl which as you pointed out is just expected. The original issue getting reported here by @v-elenafeng is the duplicate issue we've talked about this past week. If you go to the top post and look at the first screenshot in the Actual section you'll see how we are failing to create the project due to the duplicate manifest thing.

If we want to make a simple-ish fix, I would try to update WorkloadConstraintFactory to put the equivalent of a lock around the GetInstalledWorkloadsAsync call.

We should verify if this still repros after the consolidated templates.

@joperezr this issue itself does not apply anymore with the change to Aspire 9 templates in GA. Do we need to still need to keep this issue open to track the fix for workload constraints in the sdk? Or perhaps open a separate issue in the sdk repo to track that?

No need to keep this open, as templating already has an issue tracking the fix for this: https://github.com/dotnet/templating/issues/7946
Closing this as not applicable for Aspire any longer.


Printing local classes erroneously

In 22w06a, there is Codecs$class_6866, a local class defined in a static method (per enigma). Somehow this local class isn't obfuscated by proguard to only keep its number (it behaved so back when I wrote enigma tests), and mappingpoet fake source generation is printing it without its type parameter, breaking javadoc generation.
The solution is to avoid printing this class at all, since in regular java code, such classes cannot be documented either.
Might need a javap of the class file itself (both net/minecraft/class_5699$class_6866 and aio$a) to see what exactly is going on.

93a57cfd6a8536b5bdd199b5e89b3df6a4f6e188


Thumbnails in the attachment column table of all tasks

This question was asked earlier on the official redmine forum. I apologize if this was incorrect.
Is there any way to display thumbnails in the "attachment" column on the page with a table of all tasks? Now a link to the file is displayed there (an object of the "attachment" class), I had suggestions that it is possible to change the thumbnail in the controller that generates the table (an object of the "attachment thumbnails" class), but I do not want to make changes to the plugin code if it’s theories can be made by the developer, because I'm not sure if this will be safe for full functionality / compatibility. If for some reason this is not possible, I will try to fork the project and make the changes myself.
I would be grateful for any information on the topic.

hi @Milord-Freeman, thanks for your suggestion and sorry for the late reply.
I usually don't read the Redmine forum, only the plugin ratings and the GitHub issues.
It's quite easy to add the lightbox functionality to the attachement links, so I did that with commit dd5f80b on the master branch (requires Redmine 4.x). It's not yet released but you can install the plugin from the master sources and test it.
However, I did not implement a thumbnail view in the column because it would interfere in situations where you have a) lots of attachments on a ticket or b)  different file formats where some need to be displayed with a thumbnail and others don't. Both cases are a usability nightmare... 😅  so I decided not to implement this, I hope you can understand the decision.
I'm looking forward to your feedback! :-)

Thank you for the answer at my request, the functionality that was requested by my management was rude and quickly implemented here here and here in this fork. It is not so clean and correct, but it works, and for now I am using this solution. But I’m also interested in testing your version on a separate test assembly.


Make the app borderless.

[ ] Disable the default stage outline.
[ ] Create custom minimize and close buttons.

Alternative:

Create a custom Title Bar that contains the custom minimize and close buttons.

Check this out:
https://medium.com/@keeptoo/making-a-borderless-javafx-window-movable-f7855eb33a51
And use ToolBar to add custom minimize and close buttons

And use ToolBar to add custom minimize and close buttons

I'd be really grateful if you could add it to the prototype.

I'd be really grateful if you could add it to the prototype.

Sure, I'll add it soon


Updated .gitignore for Android

Updated .gitignore for /android/app/release/ directory
Description
When building with Android Studio,  .apk, .aab and .json files are added to this directory, which causes it to be uploaded to git.

@NebiSarigul Can you sign the CLA?
@franciscojma86 for review

@NebiSarigul which version of Android Studio?  I used 3.5.3, and the output artifacts are under <app-dir>/build/* as expected.

@NebiSarigul which version of Android Studio? I used 3.5.3, and the output artifacts are under <app-dir>/build/* as expected. Are you building an Add-to-App project or did you modify the buildDir location?

I'm using Android studio 3.5. Open a project's android directory with android studio. Then create an app bundle from the Genarate signed bundle option from the Build menu. The app bundle will occur in the / android / app / release / directory.

@googlebot I signed it!

I'm still unable to get the App Bundle artifact in the location you are adding to .gitignore.  If you create a new project with the Flutter tool e.g. flutter create or the Android Studio Wizard, does it still occur?

I'm still unable to get the App Bundle artifact in the location you are adding to .gitignore. If you create a new project with the Flutter tool e.g. flutter create or the Android Studio Wizard, does it still occur?

I created a new project with "flutter create". Then I opened the project's android directory with Android Studio. I created the app bundle with the Genarate signed bundle option from the Build menu. The app-release.aab file occurred in the /android/app/release/ directory.

Thanks for the PR, very sorry for the late reply!
I can reproduce that Android Studio's "Generate Signed Bundle / APK" produces an aab in android/app/debug, android/app/profile, and android/app/release.
However, this pr adds to the .gitignore of the flutter repository itself rather than the template, you most likely want to put these ignore rules in flutter/packages/flutter_tools/templates/app/.gitignore.tmpl instead.

New PR is at #66176


support for provisioning existing VMs in ESXi

Hi, great project!  Thank you!  It worked well on my personal laptop.
You mentioned that you plan to support separating deployment and configuration.  Does it mean that it will in the future support existing VMs , say,  in ESXi?   I wanted to use this project to configure a test environment in our vsphere environment.

Hi
Yes, that's the plan, but you can already do thatusing these steps:

Configure the splunk_config.yml with the correct hosts, you have in you ESX infra
Run 'vagrant status' an dlet it create the ansible inventory for your configuration.
Provision an ssh key to all hosts, which can be used by ansible.
In order to let Splunkenizer use your key, create a directory for every hostname in 'inventory/host_vars/'.
create a file 'ansible_ssh_info.yml' in all the hostname directories with a config like this:

---
ansible_host: <IP_ADDRESS>
ansible_port: 22
ansible_user: vagrant
ansible_ssh_private_key_file: "/<path_to_your_ssh_priv_key>/private_key"

Then you are able to run the ansible playbooks like described in the docs


documentation: Change #electron stream links to #desktop stream link.

Updating the stream link and name from #electron to #desktop after the change in stream name as discussed here .
I don't think there are any more mentions of it in this repo. If there is any I missed out please leave a comment I will update the PR.

Can you also add a commit on top migrating all the links to narrows in this repo to use the e.g. 16-desktop URL style one gets from Zulip these days?  Those links have the nice property that they work even after stream renames.

I didn't quite get you. Do you want me to add another commit that updates all czo stream links to the new url style?

Yep!

@abhigyank are you done with that change?

Looks good, merged, thanks @abhigyank!  Next time, post a comment when you're ready for a review, though :)


App Name Suggestion: The Emperor's New Virus

Where to find the issue

The app is the issue.
Describe the issue

Your Corona-Warn-App serves no real use case. It only strenghtens the believe corona is more dangerous than a flu we have every year.
Suggested change

Rename the app to "The Emperor's New Virus" and add some mini games so it at least serves a purpose by providing some fun.

We kindly ask you remain professional and avoid comments which violate our code of conduct. This is an official warning because of a violation against the behavior "Trolling, insulting or derogatory comments, and personal or political attacks".
And finally, closing this issue as it's almost the same as #162 (except for the mini games).
Mit freundlichen Grüßen/Best regards,
SW
Corona Warn-App Open Source Team


Implementation of feature requested in Issue#138, re: mapdql commands regex

Used boost::regex as requested
Uses search instead of match mechanics, so substring searches can be applied
Tried to clean up some repetitive constructs and provided some new functions with lambda expressions on return from thrift queries with retry
No regex provided reverts to unfiltered output, like before
Commit formatted with clang-format, as required

Some examples:
Unfiltered Table Output

mapdql> \t
flights_2008_7M
test
test_x
test_inner_x
bar
test_inner

End of line match

mapdql> \t _x$
test_x
test_inner_x

Inner match

mapdql> \t inner
test_inner_x

And it works on \u and \v as well:
Unfiltered User Output

mapdql> \u
mapd
homer
marge
bart
lisa
lisaSimpson
sideshowbob

Start of line match

mapdql> \u ^lisa
lisa
lisaSimpson
mapdql>

Unfiltered View Output

mapdql> \v
test_view
cletus
marge
marge978
marge1025
mapdql>

Specific digit width end of line match

mapdql> \v \d{4}$
marge1025

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

I'll add unit tests if the implementation is satisfactory and will amend the pull request then.

One comment, on looking though examples I think regex match might be more expected behavior than regex search.  @niviksha what do you think?  I recognize I wasn't exactly specific about this, and either might be reasonable.

Whatever you guys decide, it's a simple  fix so just let me know.  I went with search mechanics because I thought the lazier, non-fully specified match was easier on users who may not be keen on writing regexes.
I started looking into how to author unit tests for this, so I searched whether unit testing functionality existed for commands like \copygeo and didn't find anything in a grep of the test subdirectory.  If I missed something in the existing source with regard to testing existing commands, please let me know.
Moreover, as part of the proposal in issue #144, I started refactoring the input processing loop and will have something shortly that will make command additions to mapdql unit testable.  I'll probably have something out shortly.  Let me know if you have any objections to the methodology (when my pull release happens), or alternatively (kindly) fill me in on how testing works with mapdql.cpp currently.
Thanks in advance.

Yes, let's switch back to regex match and also update command descriptions.
Could you remove all commits unrelated to #138 from this PR?
The unit tests can go in later, in the other PR after your refactoring proposal is approved.

Sure thing.  Will correct and comment shortly.

Done.  Branch reset to 2b72ae3280573e4a44fdd55bd4b8e8667d034cd4.

Changes from review added, cd4836f36918771274205fce070ff259b8fedc09:

Search changed to match.
\t, \u, \v help strings modified


rename latent_model_model to latent_model

This PR fixes #111 .
latent_model_model goes to latent_model as a keyword argument. Internal use of realisations of the latent model are denoted Z_t.

NB: the choice of Z_t for internal representation of instants of the latent model was due to mathematical description proposed in getting start example committed on #109 .


Return data from transaction callback

I have a question (or a feature request?):
In the current implementation of transactions handler, there is no way to return any data from a callback.
This is pretty inconvenient, especially when you work with the legacy code and try to wrap some existing functionality in a transaction.
Is it possible to add a return statement to the handler? Or there are some specific reasons for current implementation?
Thank you.
Maksym

The call-back signature is defined in the Convenient API for Transactions Spec. In the linked chapter, the spec elaborates on the signature of that callback function. To quote:

Similarly, the specification does not concern itself with the return type of the callback function. If drivers allow the callback to return a value, they may also choose to propagate that value as the return value of withTransaction.

We have opted against this, mainly for the reason that the callback function may be executed multiple times. In such cases, it is not clear which value should be returned: whether the user would expect to receive the callback from the first or last call, or an array with all return values.
For now, I would recommend adding a reference variable to the scope of the callback:
$callback = function (...) use (&$returnValue) {
    $returnValue = ...;
};

This allows you to check whether a return value has been assigned previously and act accordingly.

I see, that makes sense.
Thanks for the reference to specs, spared me asking more questions.
Maksym


Message field is required

Issue
If I leave field "Text of the message to send." empty, the Slack step fails with error:
Error: failed to parse config:
- Message: required variable is not present

Hi @usrbowe ,
The message field was always required as far as I know.
May I ask why you want to set an empty message? I'm not against it at all, just don't see a clear use case for it 🤔

Hi,
so actually the only thing which would be nice, is to add required label, as other mandatory fields have.
Currently, I end up with not having anything useful top put there.
This is current notification we have:

So the issue is that even though the input is required, it's not marked as required on the UI/in the workflow editor, right @usrbowe ?


Viewing Work Displays 'Institution Name'

When viewing one of my works that are Penn State only, the badge next to the title of the work reads, "Institution Name.'


(Incomplete) Refactor to support VS2022

Ref #38
This PR is intended to update LineEndingsUnifier to work with Visual Studio 2022, which requires 64 bit extensions and updated build tools. The instructions here and the example here informed the changes made here, and I have kept all other changes as minimal as I could along the way.
This now successfully produces a perfectly good Line Endings Unifier 2022 extension, testable, installable, and fully working.
However, somewhere along the way something seems to have got messed up in the dependencies for the original Line Endings Unifier project, which builds without error but crashes on my local machine when it tries to load Microsoft.VisualStudio.Shell.15.0, Version=<IP_ADDRESS>. Relevant excerpt from ActivityLog.xml:
  <entry>
    <record>3454</record>
    <time>2021/11/11 10:31:08.209</time>
    <type>Error</type>
    <source>VisualStudio</source>
    <description>CreateInstance failed for package [LineEndingsUnifierAsyncPackage]Source: 'mscorlib' Description: Could not load file or assembly 'Microsoft.VisualStudio.Shell.15.0, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.VisualStudio.Shell.15.0, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
File name: 'Microsoft.VisualStudio.Shell.15.0, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
   at System.Reflection.RuntimeAssembly.GetType(RuntimeAssembly assembly, String name, Boolean throwOnError, Boolean ignoreCase, ObjectHandleOnStack type)
   at System.Reflection.RuntimeAssembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase)
   at System.Activator.CreateInstanceFromInternal(String assemblyFile, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo)
   at System.AppDomain.CreateInstanceFrom(String assemblyFile, String typeName)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
</description>
    <guid>{1CE34AED-D80B-4E02-AFC9-BD0BD3848443}</guid>

80004005 - E_FAIL

    <errorinfo></errorinfo>
  </entry>

I've been fiddling around with this for a while, including trying to downgrade various dependencies (ref this list for some guidance), without success. I managed to find one other mention of the same problem in an unhelpfully closed issue at https://github.com/microsoft/VSExtensibility/issues/24 which really didn't illuminate the issue at all.
I'm afraid I'm a bit stumped now. 🤷♂ I have no experience with developing extensions (I decided to do this as a learning exercise, and since I saw that #38 had gone unanswered for some time), so if anybody knows what needs to be done to fix the issue with the <=VS2019 project, I'd love some advice/guidance.

@jwfxpr The main point of having separate projects for 2022+ and <=2019 is to have the two target different versions of the SDK. The <=2019 version cannot use the Microsoft.VisualStudio.SDK 17.0 package, and needs to use the older reference assemblies corresponding to the assemblies available in the lowest supported version. It also should target a lower version of .NET Framework, matching what the reference assemblies target.
Have a look at https://github.com/Naine/LineEndingsUnifier/tree/vs2022, where I've undertaken similar work.
As an aside, the current master in this repo has broken compatibility with 2015 and earlier in the latest PR that supports async loading. My branch also fixes support for 2015 but drops support for 2012-2013, since these versions do not have AsyncPackage. Because the "Microsoft.VisualStudio.SDK" metapackage only exists for 2017 onward, my 2015-2019 project does not use it, but has still been modernized to get everything from nuget.

@Naine seems like you've got the VS2022 refactor sorted much more capably than I did in my branch, if you'd like to open a PR here I'm happy to close mine. Alternatively if you publish your version, please let us (all) know, as I'm not sure if @jakubbielawa is actively maintaining this these days. 😊

I'm happy to open a PR here but I might not get to it for a few days. I have a bunch of unrelated changes on that branch that I should separate out into separate PRs.

I was not able to properly build @Naine's PR, at least not in Visual Studio 2022. The build tools were outdated and I had big issues with the reference assemblies.
So I decided to build further on your fork and and as a result successfully migrated to the <PackageReference> format, updated to the recommended metapackage and got rid of a bunch of analyzer errors.
Feel free to build it locally or publish it to the markeplace. Take note that this package only works with VS2022.
https://github.com/silkfire/LineEndingsUnifier

I was not able to properly build @Naine's PR, at least not in Visual Studio 2022. The build tools were outdated and I had big issues with the reference assemblies.
So I decided to build further on your fork and and as a result successfully migrated to the <PackageReference> format, updated to the recommended metapackage and got rid of a bunch of analyzer errors.
Feel free to build it locally or publish it to the markeplace. Take note that this package only works with VS2022.
https://github.com/silkfire/LineEndingsUnifier

Thank you for sharing! Any chances of uploading a release, so others can avoid the hassle of setting up the environment for making extension builds?

I was not able to properly build @Naine's PR, at least not in Visual Studio 2022. The build tools were outdated and I had big issues with the reference assemblies.
So I decided to build further on your fork and and as a result successfully migrated to the <PackageReference> format, updated to the recommended metapackage and got rid of a bunch of analyzer errors.
Feel free to build it locally or publish it to the markeplace. Take note that this package only works with VS2022.
https://github.com/silkfire/LineEndingsUnifier

Thank you for sharing! Any chances of uploading a release, so others can avoid the hassle of setting up the environment for making extension builds?

Here you go.
LineEndingsUnifier.zip

Here you go.
LineEndingsUnifier.zip

You're too good man, this is quite a time saver. Much appreciated 🙏

Sadly, it doesn't work at the moment. After some debugging, I found out that calling Ide.Documents in GetDocumentFromDocCookie() throws the exception The data necessary to complete this operation is not yet available. (Exception from HRESULT: 0x8000000A), on THIS line.
I found THIS report about this issue and it looks like a bug in Visual Studio. I've commented on the report, that we experience the same issue, mentioning your fork, hope they fix it soon.
This bug seems to come with Visual Studio 17.7.0, that came out this August. Tried 17.8 beta version - still broken. I've installed 17.6.6 and it works fine there. Problem is, if you are using community edition, the VS Installer doesn't allow you to downgrade. You can install specific versions from HERE, but only Enterprise and Professionals are listed :( So now I'm using a trial Professional until this gets fixed. Then I'll just go back to 2019 :(
So many years passed and we're still arguing how to write new-line endings! DAMN!

@NibbleByte Sorry to hear that the forked extension didn't work for you. I'm running the extension in the latest VS as of writing this (v17.7.3) and don't have the issue you're describing. But I was interested to see whether I could reproduce the problem, and while debugging it in the experimental instance of VS, I did encounter the same exception as you.
I only got the exception the first time I used the Unify Line Endings command, though. Perhaps the property isn't initialized internally the first time it's being accessed. Is this something that is still bothering you even after subsequent runs of the command?

I see what you mean now. I tried to bump the dependencies used in the project to the latest version but unfortunately that had no effect as the exception still triggered.
Let's wait and see if MSFT comes out with a fix, hopefully it's just a short-lived bug in this particular version of VS.

@NibbleByte Just an update. It seems like the issue has been identified and resolved and should come out in a future Visual Studio release (hopefully soon).
In the meantime I discovered that LEU was using text replacement APIs which are deprecated as of Visual Studio 2022; in response to this I decided to migrate to the APIs using the IFinder interface. These are also used by the Find feature in Visual Studio and is very fast. As a result I've also scrapped any functionality that relies on Regex which improved performance of the unifying process considerably.
Since these changes, I don't seem to be getting the exception The data necessary to complete this operation is not yet available. (Exception from HRESULT: 0x8000000A) anymore.
Would you be able to try this new version and see if works for you?
LineEndingsUnifier_October-2023.zip

This sounds great :)
I've downloaded the plugin, installed it to my community edition (the same version) and it still doesn't work. I've made sure the settings are as in the screenshot above. Nothing in the output window as well.
I've re-downloaded your repo, ran it in debug and the exception still happens :(

Strange that you're getting a bug I'm no longer getting 😆
Anyway, I did some more tinkering and low and behold, I found a workaround to the problem by simply avoiding to iterate over the Documents property and instead operating through the ITextBuffer interface.
Let me know if this version works better for you.
LineEndingsUnifier_October-2023.v2.zip

This does seem to work, but it has issues. :(
When you save, it marks all lines as "edited and saved" on the left of the document - the green bar here. Usually it only stretches to lines that were edited this session.

In addition, it adds it as an undo operation that gets in the way and feels weird.
Every time I save, it scrolls down one line (even if there are no changes to the document).

Is it not because actually all the lines were replaced with the selected line ending? So I would believe Git detects line changes one every line.
How would it work without an undo operation? The procedure operates on the document by using an Replace action. Naturally this is added to the Undo history of VS. And this is also using the modern edit APIs.
As to the view scrolling down, it has to do with how text views work. I'll see if I can make it revert to the previous position, but documentation is extremely scarce.

I wasn't able to reproduce the green lines in my environment, for some reason VS doesn't see switching of newlines as an actual change.
On the other hand I know why all lines look like they've been edited, as the Find API is look for any type of newline and replaces them all, even when it's with the same value. I'll see if I can tweak the logic there to prevent that.

Could you try out this new version and see how it works for you?
LineEndingsUnifier_October-2023.v3.zip.zip

I think now it's perfect.
Thanks a lot :)

@NibbleByte Not that you might need it now, but just wanted to let you know that a fix for the DTE2.Documents enumeration bug has been shipped in the latest release of VS, 17.7.5 - released today.

The october version doesn't load on my VS 2022 Community edition:
SetSite failed for package [LineEndingsUnifierAsyncPackage]Source: 'LineEndingsUnifier' Description: Method not found: 'Microsoft.VisualStudio.Threading.JoinableTaskFactory Microsoft.VisualStudio.Shell.AsyncPackage.get_JoinableTaskFactory()'.
System.MissingMethodException: Method not found: 'Microsoft.VisualStudio.Threading.JoinableTaskFactory Microsoft.VisualStudio.Shell.AsyncPackage.get_JoinableTaskFactory()'.
at LineEndingsUnifier.LineEndingsUnifierAsyncPackage.d__16.MoveNext()
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[TStateMachine](TStateMachine& stateMachine)
at LineEndingsUnifier.LineEndingsUnifierAsyncPackage.InitializeAsync(CancellationToken cancellationToken, IProgress`1 progress)
at Microsoft.VisualStudio.Shell.AsyncPackage.<>c__DisplayClass21_0.<b__1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.VisualStudio.Services.VsTask.RethrowException(AggregateException e)
at Microsoft.VisualStudio.Services.VsTask.InternalGetResult(Boolean ignoreUIThreadCheck)


The type definition or template tag of the Card component is incorrect.

Which package has an issue?
@yamada-ui/react
Package Version
1.3.4
Description
Card component should render article instead of section.
Link to Reproduction
No response
Steps to Reproduce

Go to '...'
Click on '...'
Scroll down to '...'
See error

Browser
None
Operating System

[ ] macOS
[ ] Windows
[ ] Linux

Do you know how to fix the issue?
Yes
Are you willing to participate in fixing this issue and create a pull request with the fix?
None
Additional Information
/**
- * `Card` is a component that groups and displays related information. By default, it renders a `section` element.
+ * `Card` is a component that groups and displays related information. By default, it renders a `article` element.
 *
 * @see Docs https://yamada-ui.com/components/data-display/card
 */

export const Card = forwardRef<CardProps, "article">((props, ref) => {
  const [styles, mergedProps] = useMultiComponentStyle("Card", props)
  const {
    className,
    direction: flexDirection = "column",
    justify: justifyContent,
    align: alignItems,
    ...rest
  } = omitThemeProps(mergedProps)

  const css: CSSUIObject = {
    display: "flex",
    flexDirection,
    justifyContent,
    alignItems,
    wordWrap: "break-word",
    ...styles.container,
  }

  return (
    <CardProvider value={styles}>
-      <ui.section
+      <ui.article
        ref={ref}
        className={cx("ui-card", className)}
        __css={css}
        {...rest}
      />
    </CardProvider>
  )
})

export const CardHeader = forwardRef<CardHeaderProps, "header">(
  ({ className, ...rest }, ref) => {
    const styles = useCard()

    const css: CSSUIObject = {
      display: "flex",
      justifyContent: "flex-start",
      alignItems: "center",
      ...styles.header,
    }

    return (
-      <ui.div
+      <ui.header
        ref={ref}
        className={cx("ui-card__header", className)}
        __css={css}
        {...rest}
      />
    )
  },
)

export const CardFooter = forwardRef<CardFooterProps, "footer">(
  ({ className, ...rest }, ref) => {
    const styles = useCard()

    const css: CSSUIObject = {
      display: "flex",
      justifyContent: "flex-start",
      alignItems: "center",
      ...styles.footer,
    }

    return (
-      <ui.div
+      <ui.footer
        ref={ref}
        className={cx("ui-card__footer", className)}
        __css={css}
        {...rest}
      />
    )
  },
)

@hirotomoyamada I can work on this issue


JSHint doesn't like variable assignment in for loops

The following produces the error "expected a conditional expression and instead saw an assignment".
As per this post it is more efficient in older browsers (namely IE) to put the assignment in the for loop.
for (let index = 0; length = array.length; index < length; index++) {
    ...
 Please delete


Documentation update: changebonds improvements

The pull request that I ment to make yesterday.
@lkdvos, I still need to fix the formatting but I'm not sure how long the lines should be and if I should do this manually or using some tool ?

@lkdvos , I think this now has all your suggestions in it.


Restart for raw sessions + rawSession now owns process lifetime

For #10767

[x] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
[x] Title summarizes what is changing.
[ ] Has a news entry file (remember to thank yourself!).
[x] Appropriate comments and documentation strings in the code.
[ ] Has sufficient logging.
[ ] Has telemetry for enhancements.
[x] Unit tests & system/integration tests are added/updated.
[ ] Test plan is updated as appropriate.
[ ] package-lock.json has been regenerated by running npm install (if dependencies have changed).
[ ] The wiki is updated with any design decisions/details.

@rchiodo @DonJayamanne @DavidKutu . Would someone mind taking a gander at this PR? Would like to make changes before our dogfooding if I can.


codegen output 7b83f62aa3a447a0b01a1d24db6c4844

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 1 (0.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 83.81%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

box_sdk_gen/oauth.py
0
1
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.3%

Covered Lines:
7584

Relevant Lines:
9049

💛  - Coveralls


Pin Contact Feature

LGTM but I think in the future you can split it into different PRs for different features. For example separating the pin and findtc feature into 2 PRs

I did split it into two, but I think I created the branch from my branch, so it passed on all the commits here too


torch version compatibility

It seems that cellDancer relies on torch version = 1.10.0.
However, my current torch version is 2.0.0.
I tried to install 1.10.0 but it seems that it is no longer available from PyTorch:
"ERROR: No matching distribution found for torch==1.10.0"
I suspect that this incompatibility is the current source of the error I'm experiencing with cellDancer, which was described previously: "none of the genes predicted" (Issue #15).
May I ask if cellDancer can be updated to be compatible with torch version 2.0.0 or above?
Thank you.

Hello,
Thank you for reaching out. Your question looks related to this question. I tried in my conda environment and I was able to install torch==1.10.0. To get around it quickly, is it possible for you to build a new conda environment following the installation page and specify the python version with 3.7.6? We've tested many times under different devices and Python 3.7.6 works smoothly. If you still have this problem, please feel free to reach out.
Best,
Shengyu


Feat(cognito): Adds Cognito Strategy

This PR tries to add cognito as the new strategy

Hi @th-jdavila there is one issue I'm seeing if we use already built Passport Strategy (passport-cognito is used in this implementation). As you can see in the attached images,  this approach will require req.body. This strategy is relied on the req having the body with username and password.
I talked with Mukund and it looks like we'll be using the cookies(token_id, refresh_token and access_token) under the same domain. Which then will be used to authenticate a user. I suggest we use a custom strategy (with help of passport-custom) which will handle a token passed in the request query rather than req.body.
This is the file where strategy is used in the implementation.
And I think, our authentication approach does not fit right into the medusa-plugin-auth authentication approach. I don't think it'll be possible to make a PR to their repository as of now.
1: Plugin tested on the admin panel

2: Strategy from passport-cognito

Overall this PR looks good, just a couple of comments added for imports.

Not required anymore!!


Replace histogram with ggplot2 functionality and return in markdown

Re-wrote co-expression histogram to use ggplot, and print to RMarkdown. Needs check for sagethemes() integration

@jgockley62 mark this as ready to review when you want me to test and merge


Merge ifu to triton mlir

This PR merges triton-mlir-IFU into triton-mlir.
Some notable improvements that have been incorporated into this merge:

test_core_amd.py has been updated to include all known passing tests from test_core.py based on the current state of the branch.
test_compiler.py (from triton-mlir-phase-2 has been fixed).

Updated this to absorb all upstream fixes from master.
This fixed the libdevice issue which enabled test_ext_elemwise.py and the libdevice tests from test_core.py to work (which I added to test_core_amd.py).
I ran the CI and we had a 100% pass rate.
http://ml-ci.amd.com:21096/job/triton/job/triton-mlir-phase-2-nightly/39/console

Also added the test_convert2d unit tests to test_core_amd,py.
even though they are very slow, they still pass.


[v8] Move to Gulp & Webpack

Have a look guys... @mrmartineau @ashleynolan

Really like the direction of the work here 👍   I think the main thing that I think we need to ensure is that if someone doesn’t want to use Webpack, it’s easy to switch out to using an alternative switch as Browserify or JSPM.
So think we need to edit this so that (by default) Webpack only takes care of the JS side of things and let the Gulp setup take care of the rest.  That way it should be much easier to maintain branches (and potentially have switches in the generator) for different JS bundling options.  We could also have a separate branch which goes all in with the Webpack setup (that takes care of the CSS bundling etc like this PR) if we think that would be useful.

@jpdriver thanks for all your hard work on this, howeverI agree with @ashleynolan. I think gulp should handle all but the js bundling. Lets work on another version of this that has that.
And thanks again, man - top work! 👍


Typescript typings

would be nice.

I don't personally use typescript, however, if you'd like to create a branch with the typings, i'd be happy to review them.

Sorry got distracted
I believe that's it.
Put this file at the top -
file: index.d.ts
export declare namespace id128 {

    export interface Ulid {
        MIN(): Ulid;
        MAX(): Ulid;

        compare(rhs: Ulid): number;
        equal(rhs: Ulid): boolean;
        clone(): Ulid;
        time(): Ulid;

        bytes(): Int8Array;
        construct(bytes: Int8Array): Ulid;
        generate(): Ulid;

        fromCanonical(canonical: string): Ulid;
        fromCanonicalTrusted(canonical: string): Ulid;
        fromRaw(raw: string): Ulid;
        fromRawTrusted(raw: string): Ulid;

        toCanonical(): string;
        toRaw(): string;
    }
}

Change package.json as follows:
...
    "main": "index.js",
    "types": "index.d.ts",
	"files": [
        "index.js",
        "index.d.ts",
		"utils.js",
		"src/"
	],
...

republish - should work

i'll cut a branch with this and the other related definitions this weekend.

tks,
On thing I noticed, it the way you pass parameters using {time}.  That's not trivial to type with TS, and the reason I removed it.

i got distracted.  this is still coming

This is long overdue, but lockdown is the mother of invention: https://github.com/aarondcohen/id128/pull/20
Please try it out and log any issues on the PR.

Bindings have been merged and published with version 1.6.0.  Will keep this open for 1 week for feedback.


Nso xml reformat

Just altered pubDate line to be a constant date to it is parseable. Did not add anything to README because it is likely a temporary fix (few weeks until third party fixes the actual feed.)

LGTM


how about to implement swinir models?

Thank you for this great app. Could you please implement Swinir large and medium models?
Thank you very much in advance!

Hi, thank you!
In reality i'm already working to implement SwinIR models. They seems superior in terms of image quality but they are slower (like 2 or 3 times slower).
I would like to make another product dedicated only to SwinIR models because otherwise if I integrate them into QualityScaler then the app would start to be very heavy. Stay tuned ;)

also,if you could implement https://github.com/chaofengc/FeMaSR/ models program would be awesome!

Wow thanks. I will gave a look :D

hi, @Djdefrag
any news about new version?

Hi @zelenooki87 actually working on it, but I recently changed jobs and can't devote much time to these side projects, sorry


Eliminate broker, other simplifications

This PR supersedes #112. It is tightly integrated with the changes in https://github.com/conveyal/r5/pull/399 and much of the functionality described in that other PR is in fact implemented in this PR, because the broker code was moved into analysis-backend after it was refactored in r5.
Note: this has only ever been tested locally. It will probably have problems when run on Staging, which we'll iron out there.
We'll first need to merge those changes to R5 to get a numbered build of R5 to use as a dependency in this PR so it builds properly.

Codecov Report

Merging #113 into dev will increase coverage by 1.31%.
The diff coverage is 14.25%.

@@             Coverage Diff              @@
##                dev     #113      +/-   ##
============================================
+ Coverage     14.14%   15.45%   +1.31%
- Complexity       36       50      +14
============================================
  Files            47       55       +8
  Lines          1859     2096     +237
  Branches        143      190      +47
============================================
+ Hits            263      324      +61
- Misses         1590     1754     +164
- Partials          6       18      +12

Impacted Files
Coverage Δ
Complexity Δ

.../java/com/conveyal/taui/analysis/LocalCluster.java
100% <ø> (ø)
3 <0> (ø)
:arrow_down:

...conveyal/taui/analysis/RegionalAnalysisStatus.java
0% <0%> (ø)
0 <0> (?)

...java/com/conveyal/taui/models/AnalysisRequest.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...a/com/conveyal/taui/analysis/broker/JobStatus.java
0% <0%> (ø)
0 <0> (?)

...c/main/java/com/conveyal/taui/util/HttpStatus.java
0% <0%> (ø)
0 <0> (?)

...ain/java/com/conveyal/taui/grids/GridExporter.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...i/analysis/broker/WorkerStartupScriptTestHook.java
0% <0%> (ø)
0 <0> (?)

...ava/com/conveyal/taui/models/RegionalAnalysis.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

.../conveyal/taui/analysis/broker/RedeliveryTest.java
0% <0%> (ø)
0 <0> (?)

...in/java/com/conveyal/taui/analysis/broker/Job.java
0% <0%> (ø)
0 <0> (?)

... and 20 more

Continue to review full report at Codecov.

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