feat(i18n): add Traditional Chinese (Taiwan) translation

Hi @tzengyuxio
Thank you for the contribution to this repository.
I have one question: what's the purpose of the modified styles?
Thank you.

Oops, sorry, that's my own style for better Chinese character display. It's not my purpose to include in the translation's pull request.
I'll withdraw this pull request and send another request again.


What is the Const node in batch_normalization?

use tensorflow.layer.batch_normalization then define the batch_normalization/Const node,

what is this const node and how act this node in batch normal operation?

This is not Build/Installation or Bug/Performance issue. Please post this kind of support questions at Stackoverflow. There is a big community to support and learn from your questions. GitHub is mainly for addressing bugs in installation and performance. Thanks!


[Pending Deployment] Admin User Management - Activate/Deactivate Toggle User not implemented yet

@jody-tait
completed both the user activation and permissions work pending deployment.
also implemented the login which should now show and error message
"Login Failed: your account has been suspended."
we need to define in the test plans what each user permission can do and then make a ticket for me to go enforce the permissions, heres a rough Idea to start with for a test plan
no permission: (closed beta) -
"coming soon" landing page
login page
public contact page
redirects to the landing page if visiting the registration page with a code
no permission with invite link: (closed beta) -
same as above plus user registration
no permission: (open beta) -
login page
public home page
search and browse recipes
cannot enter cook mode or do anything in a dialog other than share link or sign up
about, terms, legal pages
public contact page
Beta User -
can use all current app features,
beta homepage,
can post the the beta message board (when it's made)
no limits on lists or shares
Standard User -
can access all "free tier" features TBD (we need to think about list sizes and share limits)
Moderator User -
can access ingredients, recipes, news, dashboard
cannot access categories, users or system
Admin User -
can access all areas with the following exceptions:
cannot access the system page
cannot change user permissions (when they create a user its a beta_user always until beta ends then its a standard user)
Super Admin User -
can access all areas including system.
can change user permissions

My initial comments / thoughts:
no permission: (closed beta) -
"coming soon" landing page
login page
public contact page
redirects to the landing page if visiting the registration page with a code
> All good
no permission with invite link: (closed beta) -
same as above plus user registration
> All good
no permission: (open beta) -
login page
public home page
search and browse recipes
cannot enter cook mode, or do anything in a dialog other than share link or sign up
about, terms, legal pages
public contact page

Can filter but those settings aren't saved
Can “heart” recipes, but those settings aren't saved
Can view community page but not comment (depending on what the Community page will entail)
Can view Recommended recipes

Beta User -
can use all current app features,
beta homepage,
can post the the beta message board (when it's made)
no limits on lists or shares
> All good
Standard User -
can access all "free tier" features TBD (we need to think about list sizes and share limits)
_> Share a shopping list / meal plan / store with up to 3 other people

How often will there be more than 4 in a household that will access to it
Max of 5 shopping lists, and stores
My logic is Pantry / Fridge / Freezer / Deep freeze / other as a “Home User” - if someone were to use it to that extent
Max of 6 meal plans
That’s 4 weeks worth of meal plans + 2 ad hoc_

Moderator User -
can access ingredients, recipes, news, dashboard
cannot access categories, users or system

All good

Admin User -
can access all areas with the following exceptions:
cannot access the system page
cannot change user permissions (when they create a user its a beta_user always until beta ends then its a standard user)

All Good

Super Admin User -
can access all areas including system.
can change user permissions

All Good

ok, please copy the requirements into a new ticket for me to develop once the test plan is done
you should be able to activate and deactive users now and set the permissions
add a test that right now only admins and super admins can login to admin, we'll update to include moderators later


Fragment values reset on changes after first save

Basically if you change a nested fragment's value, and then save the parent model it works. Now if you go and make another change, and save, it resets the value to the previous value upon save.
Here's an example setup:
// model
export default DS.Model.extend({
  name: attr('string'),
  subdomain: attr('string'),
  settings: oneFragment('community-setting')
});

// community-setting fragment
export default DS.ModelFragment.extend({
  disclaimer: oneFragment('settings-disclaimer'),
  contact: oneFragment('settings-contact'),
  links: manyFragments('settings-link'),
  map: oneFragment('settings-map')
});

// settings-disclaimer fragment
export default DS.ModelFragment.extend({
  showOnFirstVisit: attr('boolean'),
  message: attr('string')
});

In the above code, if I modify community.settings.disclaimer.message, and community.save() it works fine. Now if I don't refresh the page, and change the value again, and hit save, the value is changed back to what it was last before this change.
So It's kind hard to create a jsbin with an ember-cli addon, so I hope this is enough.

@slindberg any ideas what this could be?

We're using nested fragments in exactly this way and haven't run into this problem, so I think the issue may be in your code vs. ember data model fragments. I think a failing test would help diagnose, or a jsbin like thing. You can see https://github.com/ember-cli/ember-cli/issues/3050 for some ideas of how to create a jsbin with ember-cli addons.

http://ukkk41c97b7b.knownasilya.koding.io:3000/
So the issue is in the fact that I use something like:
//my route
model() {
  return this.get('community.settings.disclaimer');
}

template
{{input type='text' value=model.message}}

Apologies, I've been on vacation for the last week.
@knownasilya I'm unable to create a failing test case for this, and unfortunately your koding link does not work for me. Can you reproduce this behavior outside of a route? In general I'd be wary of using a model fragment as the model for a route since they can get clobbered on saves, but since this is a DS.hasOneFragment property, you should be ok. Are you 100% certain that the response payload is correct for the second save?
I can't do much until I can repro it, hopefully you can work off of this commit to make a failing test.

ping @knownasilya

@slindberg I'll try to get a failing test working this week.

Thanks :+1:

If you can provide a failing test case, jsbin, etc. please reopen.


Bug in fragment example

The fragment example works as expected as soon as you don't launch another fragment ( adding the example fragment to the backstack ) and then press back.
As soon as you press back onCreateView complains cause both fab content and header have been already attached to a parent.
I'd propose to add a method which removes all the "cached" objects.

Hi,
you mean you get this error:
java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
right?
I'm also getting it and it occurs when it calls the mFadingHelper.createView(LayoutInflater) method.
Could anyone help us to resolve this issue?
Thank you.


Typo fix for getting-started.html.

Hi @xiaohanyu thanks for the PR! :-) The HTML files are generated from the YML data files located in https://github.com/gionkunz/chartist-js/blob/develop/site/data/pages/
If you like to fix a typo, can you please make a PR for the corresponding file there instead of the generated HTML file? Thanks!
Cheers
Gion

Done, https://github.com/gionkunz/chartist-js/pull/558 .
Thanks for leaving a contributor position for me, ^_^.
Happy with chartist.


Why are all peripheral broken ?

All peripheral only have one function; “scan”, that return the same string every time.

Is this mod even still alive ?

hello I am working on another mod currently but I will eventually get back to it you can always submit a pull request to contribute to the mod


Fixed #34970 -- Clarified password validator docs.

It wasn't clear this part of the sentence was about the password_changed() mechanism, so this clarifies the language on that.

Thank you @alimony for this work.
While I agree the current wording is confusing, I'm honestly not sure what the original sentence was referring to.
Question about the modification that you are proposing: how is a password validator notified when the user password has been changed?

It refers to the password_changed() method. When you write a password validator, you can optionally implement that method. The save() method on AbstractBaseUser calls this for all available password validators, meaning your own validator gets notified too.

Thank you @alimony for this work.
While I agree the current wording is confusing, I'm honestly not sure what the original sentence was referring to.
Question about the modification that you are proposing: how is a password validator notified when the user password has been changed?

It refers to the password_changed() method. When you write a password validator, you can optionally implement that method. The save() method on AbstractBaseUser calls this for all available password validators, meaning your own validator gets notified too.

Amazing, thank you for the clear response! I learn a new thing today :-)
Reviewing and merging.


Add a "copr" command

Describe the package
I wrote my own solution in bash, it uses polkit so only necessary commands need elevated privileges.
34N0 has their own one in Go
Information on the package
Both simply recreate the sudo dnf copr command syntax and functionality. It is pretty simple, so it doesn't need to be added to rpm-ostree or something.
But adding it to rpm-ostree was what the Fedora people told me should be done. I guess in the meantime, ublue could use a solution?
Image
All Images

Yeah this should be in rpm-ostree not in ublue, repo config goes in the build step.


Fix NullPointerException in ModelControllerMBeanServerPlugin::accepts

Accepts throws a NPE if getLegacyDomain returns null.
java.lang.NullPointerException
at java.util.regex.Matcher.getTextLength(Unknown Source)
at java.util.regex.Matcher.reset(Unknown Source)
at java.util.regex.Matcher.(Unknown Source)
at java.util.regex.Pattern.matcher(Unknown Source)
at org.jboss.as.jmx.model.ModelControllerMBeanServerPlugin.accepts(ModelControllerMBeanServerPlugin.java:111)
at org.jboss.as.jmx.PluggableMBeanServerImpl.queryMBeans(PluggableMBeanServerImpl.java:821)

Thanks!
Can you squash this to a single commit please? Also, I opened WFCORE-3110 to track this. Can you reference that JIRA in the commit message?

Sorry, I messed up something


Now with subdomains, I guess

Look, ma! PR-specific preview deployments!

Hopefully we can get away without subdomains via a combination of JSON Feeds and  tags with better icons. 🤞🏻


After updating to crawl4ai 0.4.1 version, i got error: "Couldn't find a tree builder with the features you requested: lxml.parser. Do you need to install a parser library?"

After updating to crawl4ai 0.4.1 version, when I write the following code, I get the following error.
lxml is also installed, what causes the error?

from crawl4ai import WebCrawler
url_nm = 'http://news.bbc.co.uk/2/hi/business/7083015.stm'
crawler = WebCrawler()
crawler.warmup()
result = crawler.run(url=url_nm, word_count_threshold=10, bypass_cache=True)
result.extracted_content

[LOG] 🚀 Initializing LocalSeleniumCrawlerStrategy
[LOG] 🌤  Warming up the WebCrawler
[LOG] 🌞 WebCrawler is ready to crawl
[LOG] 🚀 Crawling done for http://news.bbc.co.uk/2/hi/business/7083015.stm, success: True, time taken: 4.64 seconds
[LOG] 🚀 Content extracted for http://news.bbc.co.uk/2/hi/business/7083015.stm, success: True, time taken: 0.02 seconds
[LOG] 🔥 Extracting semantic blocks for http://news.bbc.co.uk/2/hi/business/7083015.stm, Strategy: NoExtractionStrategy
[LOG] 🚀 Extraction done for http://news.bbc.co.uk/2/hi/business/7083015.stm, time taken: 0.02 seconds.
[ERROR] 🚫 Failed to crawl http://news.bbc.co.uk/2/hi/business/7083015.stm, error: Couldn't find a tree builder with the features you requested: lxml.parser. Do you need to install a parser library?

解决了吗，我也遇到了同样的问题，搞不清楚为什么

Did you solve it? I had the same problem, and I couldn't figure out why

Hi everyone, including @Zhangchunqin, @epzfnhql, and others,
As of version 0.4.x, the synchronous WebCrawler is no longer maintained. We recommend switching to the asynchronous AsyncWebCrawler. With recent versions, you don’t need additional parsers if you install the package as instructed.
Below is a sample code snippet demonstrating how to use AsyncWebCrawler along with BrowserConfig and CrawlerRunConfig. This approach gives you more control over the crawling process:
import asyncio
from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig, CacheMode

async def main():
    # Configure browser
    browser_config = BrowserConfig(headless=True, verbose=True)

    # Set crawl run configurations
    crawl_config = CrawlerRunConfig(cache_mode=CacheMode.BYPASS)

    # Use AsyncWebCrawler
    async with AsyncWebCrawler(browser_config=browser_config) as crawler:
        result = await crawler.arun(
            url="https://www.example.com",
            config=crawl_config
        )
        print("Success:", result.success)

asyncio.run(main())

Please give this approach a try, and let us know if you have any questions!


Saving a variant removes the images of other variants

I have a mapping of our internal catalog's variants to Shopify variants.
I'm writing a pretty crude script to programmatically add images to a variant.  catalog_items would be our internal mapping object and the client_variant_id attribute is a Shopify variant id.
product = ShopifyAPI.find(12345)
catalog_items.each do |item|
  product.images << ShopifyAPI::Image.new(src: 'http://image.host.com/path/to/img.jpg')
  product.save!
  variant = ShopifyAPI::Variant.find(item.client_variant_id)
  variant.image_id = product.images.last.id
  variant.save!
end

So far, this is the only way I can think to do this (the product.images.last.id being the particularly hairy part) but my actual problem is that every time variant.save is called, the images get cleared out of all other variants belonging to the product o.O
Am I doing something clearly stupid here or this a known bug or what?

For further clarifications:

I put a byebug after each variant.save!
When it halts, I refresh the web admin panel and it shows the image on the correct variant.
Then I continue and the next halt it shows the next image on the next variant and the first one no longer has an image.
However, product.images does keep piling up with the new images -- so at the end, there are six images attached and only one variant is associated with one of them

Also worth noting: I have verified that product.images.last.id does in fact return a different id.

All right, I guess I'm just tired.  I solved this with a product.reload.


add MIT license

I was asked to add a license to this, so the project can be re-used.
Could you please comment and confirm @NorfairKing @marijanp @m1-s .
Thanks

LGTM


Question about decoder

Apologies if this is a stupid question, I have pretty much zero knowledge about how video models work compared to image models.
Is the way the sampler and decoder currently work somehow similar to generating images in batches with SA or Flux? If so, would it be theoretically possible to unbatch the latents or specify which frame(s) to send to the decoder by index?
Or am I totally off the mark and the decoder already handles this already, and doesn't decode all frames at once.
The reason I got curious about this is because with Fun-xB models (I assume probably caused by the models themselves, not the wrapper) I noticed that it will output extra/duplicated frames at the beginning of image sequence (ie: it outputs 16 frames when selecting 13 frames as length), so I was wondering if it was possible to remove those before sending to the decoder, thus somehow saving on a bit of resources along the way when decoding.
I tried a few different nodes to separate latents from batch/select by index but obviously it doesn't work ;)

CogVideoX uses a 3D VAE, meaning it also compresses the images temporally: 4 images into one latent. This causes the disparancies you noticed with the frame counts. The decoding is done 2 "frames" at the time by design, it can't be less. If memory for decoding is a concern, the VAE tiling works pretty well with the tile size set to half of the dimensions.

Ah, makes completes sense, thank you for the explanation.
Funnily enough, another reason I was messing with the latents is because yesterday I had issues with the VAE tiling resulting in very obvious seams. As an alternative I was splitting the latents with some padding using the core "crop latent" node before sending to the decoder, then stitching the images back after that myself. Clearly the latent shape was wrong, cropping the Width was cropping the Height and cropping the Height did nothing, but it did actually work even if not as intended hehe,
But looks like there are no more visible seams with VAE tiling after updating today, so thank you, definitely much more convenient ;)

Ah, makes completes sense, thank you for the explanation.
Funnily enough, another reason I was messing with the latents is because yesterday I had issues with the VAE tiling resulting in very obvious seams. As an alternative I was splitting the latents with some padding using the core "crop latent" node before sending to the decoder, then stitching the images back after that myself. Clearly the latent shape was wrong, cropping the Width was cropping the Height and cropping the Height did nothing, but it did actually work even if not as intended hehe,
But looks like there are no more visible seams with VAE tiling after updating today, so thank you, definitely much more convenient ;)

Yes they defaults were just awful before, I got the values from the initial code before these new models and as I never really used it myself, I didn't realise they should be completely different. 96x96 tiles made no sense in pixel space especially, half of the image dimension seems fine now and no seams with 0.2 overlap.


skip_start argument of the plot_loss Recorder method only affects train loss

It is a very simple change in notebook n. 13 (learner): the plot_loss method of the Recorder class should be
def plot_loss(self, skip_start=5, with_valid=True):
        plt.plot(self.losses[skip_start:], label='train')
        if with_valid:
            plt.plot(self.iters, L(self.values[skip_start:]).itemgot(1), label='valid')
            plt.legend()

Instead of the current
def plot_loss(self, skip_start=5, with_valid=True):
        plt.plot(self.losses[skip_start:], label='train')
        if with_valid:
            plt.plot(self.iters, L(self.values).itemgot(1), label='valid')
            plt.legend()

Good catch, will fix tomorrow. In general, you can directly open a PR for a change like this, instead of filing an issue.

Oh looking more into it, it's not self.skip_start that should be used since the validation losses are fewer than the training losses. The right index has to be computed.


augment metadata with soil property/threat/function

Metadata records are tagged using keywords, preferably these keywords originate from controlled vocabs (thesauri). SWR uses these keyword+vocab combi's (subjects) to filter and aggregate
First we need to identify which controlled vocabs should be used, the landmark and ejpsoil project have made suggestions for vocabs to be used, the soil-health-knowledge graph (developed by beichen) can also accomodate these lists. Potential candidates

Glosis ontology
Agrovoc
Gemet
INSPIRE registry

Options:

[ ] analyse keywords, if a keyword matches a keyword from vocab, augment the keyword to be based on vocab, a translation from source to english could be relevant
[ ] use same-as type of relations to resolve existing vocab+keyword combinations to theire representatives in the selected vocabs
[ ] derive from content relevant keywords using nlp/llm

By increasing the number of records having these tags, we can improve visualisations such as below:

relates to #12

I will leave this to Beichen for now, please tag me again if needed.


add fault filter to top of filters

Fault Injection should be added as the first filter https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/fault_filter.html?highlight=fault injection#configuration
This PR fixes that ordering

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ X] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

Please check any characteristics that apply to this pull request.

[X ] Does not have any user-facing changes.

There is no behavioural difference OOB. But if faults are configured by using Envoy filter (merging to the existing filter) faults will be executed first before any authn/authz happens which is not needed when faults are added.

What about without EnvoyFilter, will fault now apply before authz and
previously it applied after? If so that seems like both a breaking change
and one I am not sure is intended. I would expect authz to apply quite
early, if we show the fault response we may leak info that was intended to
be protected by authZ
On Fri, Nov 26, 2021, 9:58 PM Rama Chavali @.***> wrote:

There is no behavioural difference OOB. But if faults are configured by
using Envoy filter (merging to the existing filter) faults will be executed
first before any authn/authz happens which is not needed when faults are
added.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/36259#issuecomment-980508626, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGXJP6GXNHPX42ZZUS3LUOBXRTANCNFSM5IYGAIJQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

No. Right now it is a noop because there are no faults configured
On Sat, 27 Nov 2021, 20:50 John Howard, @.***> wrote:

What about without EnvoyFilter, will fault now apply before authz and
previously it applied after? If so that seems like both a breaking change
and one I am not sure is intended. I would expect authz to apply quite
early, if we show the fault response we may leak info that was intended to
be protected by authZ
On Fri, Nov 26, 2021, 9:58 PM Rama Chavali @.***> wrote:

There is no behavioural difference OOB. But if faults are configured by
using Envoy filter (merging to the existing filter) faults will be
executed
first before any authn/authz happens which is not needed when faults are
added.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/36259#issuecomment-980508626, or
unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AAEYGXJP6GXNHPX42ZZUS3LUOBXRTANCNFSM5IYGAIJQ
.
Triage notifications on the go with GitHub Mobile for iOS
<
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
<
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/36259#issuecomment-980642455, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AEDINKHMX6HCUYEATTZ4ESTUODZLXANCNFSM5IYGAIJQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Ok. One case it might change the order if faults are controlled by envoy
specific header. But what information fault will that is protected by authz
and see envoys recommendation that I linked in the pr as well
On Sat, 27 Nov 2021, 20:50 John Howard, @.***> wrote:

What about without EnvoyFilter, will fault now apply before authz and
previously it applied after? If so that seems like both a breaking change
and one I am not sure is intended. I would expect authz to apply quite
early, if we show the fault response we may leak info that was intended to
be protected by authZ
On Fri, Nov 26, 2021, 9:58 PM Rama Chavali @.***> wrote:

There is no behavioural difference OOB. But if faults are configured by
using Envoy filter (merging to the existing filter) faults will be
executed
first before any authn/authz happens which is not needed when faults are
added.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/36259#issuecomment-980508626, or
unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AAEYGXJP6GXNHPX42ZZUS3LUOBXRTANCNFSM5IYGAIJQ
.
Triage notifications on the go with GitHub Mobile for iOS
<
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
<
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/36259#issuecomment-980642455, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AEDINKHMX6HCUYEATTZ4ESTUODZLXANCNFSM5IYGAIJQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Even the fact an endpoint exists can be something that you want protected by authz. Status code can additionally leak information beyond just the binary exists/not exists.
What is the motivation for this? Is it just because Envoy docs say to do it or do we have a specific use case?

What is the motivation for this? Is it just because Envoy docs say to do it or do we have a specific use case?

The usecase is we want do fault injection before validating JWT and with the current model RequestAuthentication adds JWT before fault injection. And When I referred Envoy docs found that line.

It seems just as likely that you want it before as that you want it after
though... I don't think the Envoy doc matters much, it's user specific
where they want faults to apply. In this case, we are breaking
compatibility to accommodate your use case (which is a very reasonable use
case), but at the expense of others use cases (which are also reasonable).
Maybe there is a way to modify the order with envoy filter or something
that doesn't change the behavior for existing users?
On Mon, Nov 29, 2021 at 8:31 AM Rama Chavali @.***>
wrote:

What is the motivation for this? Is it just because Envoy docs say to do
it or do we have a specific use case?
The usecase is we want do fault injection before validating JWT and with
the current model RequestAuthentication adds JWT before fault injection.
And When I referred Envoy docs found that line.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/36259#issuecomment-981802416, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGXNX3NW3XFS6ABMQURLUOOTFHANCNFSM5IYGAIJQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Maybe there is a way to modify the order with envoy filter or something
that doesn't change the behavior for existing users?

If we strictly want the existing order - the other option is document this and folks can remove the existing Envoy and add a new filter at the top using Envoy filter.
Or add a flag to control this?
Let me know - I change like that.

Flag seems tricky since its often not really a global decision. Envoyfilter
may be the best option?
On Mon, Nov 29, 2021 at 8:57 AM Rama Chavali @.***>
wrote:

Maybe there is a way to modify the order with envoy filter or something
that doesn't change the behavior for existing users?
If we strictly want the existing order - the other option is document this
and folks can remove the existing Envoy and add a new filter at the top
using Envoy filter.
Or add a flag to control this?
Let me know - I change like that.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/36259#issuecomment-981824063, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGXMHH7RCLW3EAXHOGTTUOOWGRANCNFSM5IYGAIJQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Another thought - What is the motivation/history for adding fault filter by default? I am wondering if we can remove it completely and ask folks to add their own fault filter at listener (via envoy filter) if they need because any way do not support any default config and if they need route specific they can use VS feature or VS feature needs this?
@hzxuzhonghu might remember the history

It is too old, but seems we are relying on route fault injection.

I think Envoy does not need to be added to top level filters
https://github.com/envoyproxy/envoy/blob/91c2e6ba81f6892e4ab132f934d9f6179a50bbc2/source/common/router/config_impl.cc#L1708 here is where it builds the per filter config for route and it will try to get by name and if not then only it will throw exception
https://github.com/envoyproxy/envoy/blob/0fae6970ddaf93f024908ba304bbd2b34e997a51/source/common/config/utility.h#L256
So for fault filter we do not have to really add it to the top level filters to make this work for per route config.

code shows everything

Validated the behaviour with this sample https://github.com/envoyproxy/envoy/tree/a20c7fcffd02cf046bce2c04e196681108eebf93/examples/csrf - it works correctly even if we remove the top level filter

@lizan Curious what is rationale behind this https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/fault_filter.html?highlight=fault injection#configuration recommendation? Is it just to ensure there is in general no need to execute other filters when we are doing chaos testing or any thing else?


[Discovery] Improve common constraints experience

Issue description and initial comments moved from private ticket: https://2u-internal.atlassian.net/browse/BOM-2721
The process around common_constraints.txt has some issues as we work through upgrades.

It is not simple to override a common constraint in constraints.txt, which is where you might expect to do this when working through an upgrade that isn't yet available globally.
It is not clear how to mark and clean-up overrides once the common constraints can finally be removed.

See https://github.com/edx/auth-backends/pull/125#discussion_r685288124 for some related discussion.
Additional Notes:

Some related docs updates:

Reminder: If we are making changes to a library based on a new or updated api in a dependency, we need to add and comment a new minimum requirement in base.in.
If we know that a library will break with an updated dependency, we should add a maximum constraint in to the library’s base.in, and not just rely on common_constraints.txt.
If we release an updated library that fixes and uses a newer version of a dependency that is in common_constraints.txt, we either need to:

remove the dependency from common_constraints.txt (if we are ready), or
add a maximum constraint to common_constraints.txt for the library update, so no one will try to pick up the new version of the library which will conflict with the active common constraint on the dependency.

See example: https://github.com/edx/edx-lint/pull/182

Original comment from @timmc-edx:
Robert and I discussed an alternative to the wget/sed approach today:

Specify constraints like django==4.0.8 # common-constraints=override in constraints.txt – this comment will indicate that this package should not be constrained by common-constraints.
make compile-requirements fetches a Python script from edx-lint and executes it.
The script pulls down a copy of common-constraints.txt and reduces it to only the constraints that don’t have the override annotation.
constraints.txt continues to include -c common-constraints.txt but can also have a comment describing how to put an override in place.

Effects:

A developer looking at or modifying the constraints file would know the current status of any overrides (good locality)
Only one repo (edx-lint) would need to be modified when we want to change our process, as the script would be downloaded each time

The following is related to common-constraints.txt, but may be an entirely separate question:
In https://github.com/openedx/edx-lint/pull/349#pullrequestreview-1489280178, a common constraint was removed once the openedx org was ready, but the edx org repos were not necessarily ready. The question is whether or not we need a capability for adding org specific common-constraints?


Bitbucket

Hi ,
Bitbucket commits are not getting populated to Hygieia..,Below is the log
2016-07-07 11:01:59,995 INFO c.c.d.collector.CollectorTask - Running Collector: Bitbucket
2016-07-07 11:01:59,999 INFO c.c.d.collector.CollectorTask - -----------------------------------
2016-07-07 11:01:59,999 INFO c.c.d.collector.CollectorTask - Starting...
2016-07-07 11:01:59,999 INFO c.c.d.collector.CollectorTask - -----------------------------------
2016-07-07 11:02:00,287 ERROR c.c.d.c.DefaultBitbucketCloudClient - 404 Not Found:https://stash.xxxxxx.com/!api/2.0/repositories/xxx.com/scm/gidommits?sha=develop&since=2016-06-23T11:02Z
2016-07-07 11:02:00,289 INFO c.c.d.collector.CollectorTask - Repo Count 1 0s
2016-07-07 11:02:00,290 INFO c.c.d.collector.CollectorTask - New Commits 0 0s
2016-07-07 11:02:00,290 INFO c.c.d.collector.CollectorTask - Finished 0s

@RAMESHBABU18 Are you able to get the commits when you hit this url from a browser ?
https://stash.xxxxxx.com/!api/2.0/repositories/xxx.com/scm/gidommits?sha=develop&since=2016-06-23T11:02Z
Refer to https://github.com/capitalone/Hygieia/issues/1073 for a url pattern that works.

No, Commits are not loading in to that page..,IF I remove /!api/2.0 from the URL, I am able to get the commits

@RAMESHBABU18 In your bitbucket properties file try changing the following setting based on your server api version. Haven't tried it with the 2.0 api so not sure what it would be.
git.api=/rest/api/1.0/

Tried with 2.0 and 1.0 also..,But the URL getting constructed in the log is not acccesible using the browser
Is it mandatory to keep git.api property

@RAMESHBABU18 You could try setting the value to blank and see what happens.

@RAMESHBABU18 : are still facing this?

@RAMESHBABU18 : Try with latest codebase and Open a new issue if you see this error.


[RFC] Do not allow self-merge

Introduction
This proposal is about introducing a new rule to prevent PRs getting merged by their authors.
Problem description
There's one edge case that could/should be avoided: people with merge rights merging their own PRs. This is a potential path to quickly get code merged without the necessary amount of review. As soon as it gets two approvals (which can be from colleagues), the author can quickly hit "Merge" before someone else comes and blocks. The majority of developers do not have such privilege.
Proposed change
A PR can't be merged by its author. Exceptions: PRs with Trivial or Hotfix tags.
Detailed RFC
See above.
Proposed change (Detailed)
See above.
Dependencies
None
Concerns and Unresolved Questions
N/A
Alternatives
Do nothing.

Can you please provide examples where this became an issue?

I won't provide names or examples, but I think it has happened in the past. In any case, since this can always be subjective, I think such rule does not harm the project. It will just prevent the discussion whether merge privileges were abused or not, since the author won't be able to do that from the beginning.

@gmarull do you want to bring this discussion to the process WG next week?


Fix compilation errors for embedded platforms like Xtensa/ESP32

serde_valid is a very useful add-on for serde deserializations.
This PR contains changes to compile it for embedded platforms which don't autodetect std feature and i128 feature. Specifically the ESP32 platform.
To compile there, indexmap needs feature std enabled. In addition num_traits won't have the traits for i128 enabled, so this PR makes the numeric_multiple_of validations for 128-bit integers only available if the i128 feature is enabled and avoids a compilation error if not.

Alternatively to adding #[cfg(feature = "num-traits/i128")] it may be better to add the i128 feature to the num_traits package in Cargo.toml:
num-traits = { version = "^0.2", features = ["i128"] }

Thanks for the PR.
I prefer to add "#[cfg(feature = "num-traits/i128")]".
I will release it as soon as possible after you fix it!

I prefer to add "#[cfg(feature = "num-traits/i128")]".
I will release it as soon as possible after you fix it!

Hi @yassun4dev, I reverted my last commit to use your preferred #[cfg(feature = "num-traits/i128")] solution.

@hwmaier I released v0.15.0.
I found that some of my applications that use i128 fail to compile, so I ended up adding the i128 feature.
For backward compatibility, the i128 feature is supported by default, and can be used without editing the settings in Cargo.toml.

I found that some of my applications that use i128 fail to compile, so I ended up adding the i128 feature.

Great. I checked the latest v0.15.0 release today and compiled it for the embedded ESP32 platform and all compiles without error out of the box.
Thank you so much for incorporating these changes.


There is a vulnerability in gjson v1.5.0,upgrade recommended

https://github.com/IBM/integrity-enforcer/blob/f64e7d418540a3f6155a43fec9680ab1143122fa/shield/go.mod#L26
CVE-2020-35380  CVE-2020-36066 CVE-2020-36067
Recommended upgrade version：v1.6.7

the package is updated in PR https://github.com/IBM/integrity-enforcer/pull/257. will close this.

the package is updated in PR https://github.com/IBM/integrity-enforcer/pull/257. will close this.


Array field inside localized group field is not saved

Link to reproduction
No response
Environment Info
Binaries:
  Node: 20.17.0
Relevant Packages:
  payload: 3.0.0-beta.107
  next: 15.0.0-canary.104
  @payloadcms/db-postgres: 3.0.0-beta.107
  @payloadcms/email-nodemailer: 3.0.0-beta.107
  @payloadcms/graphql: 3.0.0-beta.107
  @payloadcms/next/utilities: 3.0.0-beta.107
  @payloadcms/plugin-cloud: 3.0.0-beta.107
  @payloadcms/richtext-lexical: 3.0.0-beta.107
  @payloadcms/translations: 3.0.0-beta.107
  @payloadcms/ui/shared: 3.0.0-beta.107
  react: 19.0.0-rc-06d0b89e-20240801
  react-dom: 19.0.0-rc-06d0b89e-20240801

Describe the Bug
When I try to save array field inside localized group field, it doesn't get saved. The same behavior for globals and collections.
Reproduction Steps
Test global looks like that:
export const TestGlobal: GlobalConfig = {
 slug: 'testGlobal',
 fields: [
   {
     name: 'group',
     localized: true,
     type: 'group',
     fields: [
       {
         name: 'innerArray',
         type: 'array',
         maxRows: 1,
         fields: [
           {
             type: 'row',
             fields: [
               {
                 name: 'field1',
                 type: 'text',
               },
               {
                 name: 'field2',
                 type: 'text',
               },
             ],
           },
           ...
         ],
       }
     ]
   }
 ],
}

Payload config:
...
import { TestGlobal } from './globals/TestGlobal'

export default buildConfig({
  ...
  globals: [TestGlobal],
  ...
  }),
  localization: {
    defaultLocale: 'en',
    locales: ['en', 'de'],
    fallback: true,
  },
  ...
})

The video below demonstrates that other fields behave as expected. The problem is only in array field inside localized group field
https://github.com/user-attachments/assets/f386f3db-8b50-429a-83ed-ccad50583332
Adapters and Plugins
db-postgres

Hey @ivankyrpa — this appears to be fixed on the newest beta. Just tried to reproduce with your config in a test and it works.
What version are you on? Let me know if it still happens after you update, and if so, please re-open with a reproduction repository.
Thank you!

Hi @jmikrut ! Thanks for your quick response.
I specified version 3.0.0-beta.107 in the description. Isn't it the latest version?


Go Through Tutorials - Aishani

[x] Understand the Git Flow Process
[ ] Complete the React DND tutorials
[ ] Work on Material UI Tutorials
[ ] Work on the Full-Stack Development Tutorials - Part 1

Medha Aiyah taught me the git flow process, a QUEEN


Raise maximum NALU count

First off: Awesome work! Thanks for taking your time to create such an awesome project.
Similar to https://github.com/bluenviron/mediacommon/commit/169c5a3e2b2a59787bf21f49c19ef0b525bf6573 here goes my humble request to raise the NAL limits a bit:
Raising the maximum NAL unit count from 20 to 21 allows for streaming with recent encoders' "zerolatency" tune mode.
Fixes the "unable to decode AVCC: NALU count (21) exceeds maximum allowed (20))" error messages and allows for potential sub-second latency streaming with older protocols (e.g. RTMP).

merged, thanks

added in MediaMTX v1.0.1

Thanks for the fast integration! :1st_place_medal:


Define policy for internal APIs

Part of #6742.
See release-tags-guidelines.md.
I wanted to start at the bottom and work my way up.
I addressed all of the @internal APIs in core-bentley. That package doesn't include any nested APIs that we want to keep internal, so doesn't need to apply the Symbol approach.
I made representative changes to core-backend to see if I hit any unexpected snafus. I may make a few more.
imodel-native: https://github.com/iTwin/imodel-native/pull/797

Looks good overall @pmconne ! Just a few questions on the implementation in 4.x before we make the larger change in 5.0.


refactor: implement typescript to spin-up the agent

[x] Write typescript script to spin up agent from without dockerized agent-provisioning service on host machine while local setup
[ ]  Write typescript script to spin up agent from dockerized agent-provisioning service on host machine while local setup
[ ] Write typescript script to spin up agent from dockerized agent-provisioning service on host machine while ecs setup
[ ] To access token from agent controller after spin-up on different server for authenticated agent APIs call

This task is on hold


gmail.observe.on('view_thread') not working

More info would be appreciated 🙂

As of somewhat recently, a subscription to the view_thread event no longer seems to fire even though a thread is viewed. I will have to investigate further.

I changed the sub_selector to: 'div.PeIF1d' and it works

PRs welcome.

Agreed.
If this is going to be a recurring problem, adding general support for multiple sub-selectors is probably not a bad and nothing I fundamentally have an issue with.
Try it out and see if you can make it work?

This looks good!

@josteink is there anyway you could merge this? I'd love to update our app.

I was too quick in the review/testing of previous PR.
Upon proper testing I can't make this work at all. Not on new PR-code nor on old master code.
I guess that means there's more work to be done here, but I can't fix that now. I don't have time, at least until sometime next week.

@josteink I am a bit confused here. Are you saying this change  broke your experience?

No I'm saying it didn't work without this fix, but it doesn't work with it either.
view_email event works though (no change).

The fix in its current state is released in new version 1.1.5. No guarantees it will work, but at least it should make it easier to test.

Okay, I just did a hard refresh of my gmail and it seems like the class name used by gmail has changed once again. So agreed, this fix does not work.

I guess that means we might have to use a higher level selector (.bu?) and try to filter it more intelligently in code further down (look for data-thread-id properties)?
Basically something which is generic enough to survive such changes, but not wide enough to cause performance issues.

Ok, I think a better sub_selector is iY which given its length and proximity to if is more likely to be stable (?).

PRs welcome 🙂

https://github.com/KartikTalwar/gmail.js/pull/735

Merged, available in 1.1.6.


MAINT: run pyx autogeneration in cythonize & remove autogen files

Run .pyx file code generation during cythonize.py, and remove checked-in
autogenerated files from scipy.special and scipy.linalg. This removes the need
to run the autogen scripts manually and commit the results in. Moreover, always
running the autogen scripts during build (from git) ensures they stay in working
order.
The autogen scripts are not run on builds from sdists, as setup.py skips cythonize
in that case (the generated files will be included in sdists). Even if they were run,
they won't result to re-cythonizing files as long as the autogen scripts produce
deterministic output.

LGTM, merging. Thanks @pv!


Griefprevention softmute not working

ChatChat: #65
Server Version: 1.19.4
Grief Prevention: 16.18.1

I had a look though the code but I could not find why the new grief prevention code is not working.
Same as before, when you softmute a player, players are still able to see what they are saying.

You have to go to plugins/ChatChat/extensions.yml and enable the griefprevention mute extension. Let me know if it still isn't working after that.

addons:
  deluxechat:
    inverse_priorities: true
    unicode_permission:
      public_chat: true
      private_chat: true
  towny:
    channels: false
  discordsrv:
    channels_bridging: false
  essentials:
    vanish: false
  supervanish:
    vanish: true
    soft_mute: false
  griefprevention:
    soft_mute: true

We have softmute set to true but still doesn't work.

Just making sure but have you restarted the server after toggling it to true? Any changes in extensions.yml require a restart to apply.

I think we have found the issue, when you reload the plugin the config regenerates like this :
addons:
  deluxechat:
    inverse_priorities: false
    unicode_permission:
      public_chat: true
      private_chat: true
  towny:
    channels: false
  discordsrv:
    channels_bridging: false
  essentials:
    vanish: false
  supervanish:
    vanish: false
    soft_mute: true

Maybe you could look though the code, may be related to why softmute is not working

Ahh found it!

Made fix here #212

Ah. Good catch. Tested everything but right before finishing that PR I've made some changes that I didn't test and I guess somehow I managed to forget to change something when copy pasting the changes.


Support dashboard running without server

Support the dashboard running without a server. Configured by environment variables/command line arguments.

This was addressed in https://github.com/dotnet/aspire/pull/1815.

@drewnoakes  I can't get this to work. If I manually run the dashboard from the command line, I see a blank screen and a ton of log spew:
info: Aspire.Dashboard[0]
      Now listening on: http://localhost:18888
info: Aspire.Dashboard[0]
      OTLP server running at: http://localhost:18889
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[63]
      User profile is available. Using 'C:\Users\davifowl\AppData\Local\ASP.NET\DataProtection-Keys' as key repository and Windows DPAPI to encrypt keys at rest.
warn: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[16]
      The WebRootPath was not found: C:\dev\git\aspire\wwwroot. Static files may be unavailable.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 GET http://localhost:18888/ - - -
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/ (/)'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/ (/)'
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished HTTP/1.1 GET http://localhost:18888/ - 200 - text/html;+charset=utf-8 69.6190ms
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 GET http://localhost:18888/_content/Microsoft.FluentUI.AspNetCore.Components/css/reboot.css - - -
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished HTTP/1.1 GET http://localhost:18888/_content/Microsoft.FluentUI.AspNetCore.Components/css/reboot.css - 404 0 - 1.5200ms
info: Microsoft.AspNetCore.Hosting.Diagnostics[16]
      Request reached the end of the middleware pipeline without being handled by application code. Request path: GET http://localhost:18888/_content/Microsoft.FluentUI.AspNetCore.Components/css/reboot.css, Response status code: 404
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 GET http://localhost:18888/_content/Microsoft.FluentUI.AspNetCore.Components/Microsoft.FluentUI.AspNetCore.Components.bundle.scp.css - - -
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished HTTP/1.1 GET http://localhost:18888/_content/Microsoft.FluentUI.AspNetCore.Components/Microsoft.FluentUI.AspNetCore.Components.bundle.scp.css - 404 0 - 0.1562ms
info: Microsoft.AspNetCore.Hosting.Diagnostics[16]
      Request reached the end of the middleware pipeline without being handled by application code. Request path: GET http://localhost:18888/_content/Microsoft.FluentUI.AspNetCore.Components/Microsoft.FluentUI.AspNetCore.Components.bundle.scp.css, Response status code: 404
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 GET http://localhost:18888/Aspire.Dashboard.styles.css - - -
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished HTTP/1.1 GET http://localhost:18888/Aspire.Dashboard.styles.css - 404 0 - 0.1637ms
info: Microsoft.AspNetCore.Hosting.Diagnostics[16]
      Request reached the end of the middleware pipeline without being handled by application code. Request path: GET http://localhost:18888/Aspire.Dashboard.styles.css, Response status code: 404
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 GET http://localhost:18888/css/app.css - - -
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished HTTP/1.1 GET http://localhost:18888/css/app.css - 404 0 - 1.3178ms
info: Microsoft.AspNetCore.Hosting.Diagnostics[16]
      Request reached the end of the middleware pipeline without being handled by application code. Request path: GET http://localhost:18888/css/app.css, Response status code: 404
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 GET http://localhost:18888/_framework/blazor.web.js - - -
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 GET http://localhost:18888/js/app.js - - -
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished HTTP/1.1 GET http://localhost:18888/js/app.js - 404 0 - 0.1654ms
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint 'Blazor web static files'
info: Microsoft.AspNetCore.Hosting.Diagnostics[16]
      Request reached the end of the middleware pipeline without being handled by application code. Request path: GET http://localhost:18888/js/app.js, Response status code: 404
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 GET http://localhost:18888/js/plotly-2.26.0.min.js - - -
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 GET http://localhost:18888/js/theme.js - - -
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished HTTP/1.1 GET http://localhost:18888/js/theme.js - 404 0 - 0.0757ms
info: Microsoft.AspNetCore.Hosting.Diagnostics[16]
      Request reached the end of the middleware pipeline without being handled by application code. Request path: GET http://localhost:18888/js/theme.js, Response status code: 404
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished HTTP/1.1 GET http://localhost:18888/js/plotly-2.26.0.min.js - 404 0 - 0.0416ms
info: Microsoft.AspNetCore.Hosting.Diagnostics[16]
      Request reached the end of the middleware pipeline without being handled by application code. Request path: GET http://localhost:18888/js/plotly-2.26.0.min.js, Response status code: 404
info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[6]
      The file /_framework/blazor.web.js was not modified
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint 'Blazor web static files'
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished HTTP/1.1 GET http://localhost:18888/_framework/blazor.web.js - 304 - text/javascript 4.3828ms
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 GET http://localhost:18888/_blazor/initializers - - -
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint 'Microsoft.AspNetCore.Routing.RouteEndpoint'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint 'Microsoft.AspNetCore.Routing.RouteEndpoint'
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished HTTP/1.1 GET http://localhost:18888/_blazor/initializers - 200 - application/json;+charset=utf-8 4.7124ms
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:18888/_blazor/negotiate?negotiateVersion=1 - - 0
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint 'Microsoft.AspNetCore.Routing.RouteEndpoint'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint 'Microsoft.AspNetCore.Routing.RouteEndpoint'
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished HTTP/1.1 POST http://localhost:18888/_blazor/negotiate?negotiateVersion=1 - 200 316 application/json 5.6722ms
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 GET http://localhost:18888/_blazor?id=_aBlKepMwY_CPtHcBKGsaw - - -
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint 'Microsoft.AspNetCore.Routing.RouteEndpoint'
info: Aspire.Dashboard.Model.DashboardClient[0]
      DOTNET_RESOURCE_SERVICE_ENDPOINT_URL is not specified. Dashboard client services are unavailable.
warn: Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer[100]
      Unhandled exception rendering component: DashboardClient is disabled. Check the IsEnabled property before calling this.
      System.InvalidOperationException: DashboardClient is disabled. Check the IsEnabled property before calling this.
         at Aspire.Dashboard.Model.DashboardClient.EnsureInitialized() in /_/src/Aspire.Dashboard/Model/DashboardClient.cs:line 135
         at Aspire.Dashboard.Model.DashboardClient.Aspire.Dashboard.Model.IDashboardClient.get_WhenConnected() in /_/src/Aspire.Dashboard/Model/DashboardClient.cs:line 301
         at Aspire.Dashboard.Components.ApplicationName.OnInitializedAsync() in /_/src/Aspire.Dashboard/Components/Controls/ApplicationName.razor.cs:line 29
         at Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync()
fail: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111]
      Unhandled exception in circuit 'iPposi130ZYphk3iBHyQ4kpa5EiBN1wPdoUSG0Vv3TY'.
      System.InvalidOperationException: DashboardClient is disabled. Check the IsEnabled property before calling this.
         at Aspire.Dashboard.Model.DashboardClient.EnsureInitialized() in /_/src/Aspire.Dashboard/Model/DashboardClient.cs:line 135
         at Aspire.Dashboard.Model.DashboardClient.Aspire.Dashboard.Model.IDashboardClient.get_WhenConnected() in /_/src/Aspire.Dashboard/Model/DashboardClient.cs:line 301
         at Aspire.Dashboard.Components.ApplicationName.OnInitializedAsync() in /_/src/Aspire.Dashboard/Components/Controls/ApplicationName.razor.cs:line 29
         at Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync()
warn: Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer[100]
      Unhandled exception rendering component: Cannot access a disposed object.
      System.ObjectDisposedException: Cannot access a disposed object.
         at Microsoft.AspNetCore.Components.RenderTree.ArrayBuilder`1.GrowBuffer(Int32 desiredCapacity)
         at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.InsertNewFrame(DiffContext& diffContext, Int32 newFrameIndex)
         at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.AppendDiffEntriesForRange(DiffContext& diffContext, Int32 oldStartIndex, Int32 oldEndIndexExcl, Int32 newStartIndex, Int32 newEndIndexExcl)
         at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.ComputeDiff(Renderer renderer, RenderBatchBuilder batchBuilder, Int32 componentId, ArrayRange`1 oldTree, ArrayRange`1 newTree)
         at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment, Exception& renderFragmentException)
         at Microsoft.AspNetCore.Components.RenderTree.Renderer.ProcessRenderQueue()
fail: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111]
      Unhandled exception in circuit 'iPposi130ZYphk3iBHyQ4kpa5EiBN1wPdoUSG0Vv3TY'.
      System.ObjectDisposedException: Cannot access a disposed object.
         at Microsoft.AspNetCore.Components.RenderTree.ArrayBuilder`1.GrowBuffer(Int32 desiredCapacity)
         at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.InsertNewFrame(DiffContext& diffContext, Int32 newFrameIndex)
         at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.AppendDiffEntriesForRange(DiffContext& diffContext, Int32 oldStartIndex, Int32 oldEndIndexExcl, Int32 newStartIndex, Int32 newEndIndexExcl)
         at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.ComputeDiff(Renderer renderer, RenderBatchBuilder batchBuilder, Int32 componentId, ArrayRange`1 oldTree, ArrayRange`1 newTree)
         at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment, Exception& renderFragmentException)
         at Microsoft.AspNetCore.Components.RenderTree.Renderer.ProcessRenderQueue()
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint 'Microsoft.AspNetCore.Routing.RouteEndpoint'
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished HTTP/1.1 GET http://localhost:18888/_blazor?id=_aBlKepMwY_CPtHcBKGsaw -<PHONE_NUMBER>ms
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:18888/_blazor/disconnect - multipart/form-data;+boundary=----WebKitFormBoundary1kv7UdlCdnag7WIV 359
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint 'Microsoft.AspNetCore.Routing.RouteEndpoint'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint 'Microsoft.AspNetCore.Routing.RouteEndpoint'
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished HTTP/1.1 POST http://localhost:18888/_blazor/disconnect - 200 0 - 7.7146ms

OR maybe this was by design for preview 3? The intent was to allow the OTLP sever to work so the resources view shouldn't be visible, but the others should be.

We should also disable the ASP.NET Core logs by default when you run standalone. They are noisy.

Hmm, running with resource server shows me this:

I'm not sure if something broke this or if running the executable like this is untested.

Static web assets are broken maybe?
Request reached the end of the middleware pipeline without being handled by application code. Request path: GET http://localhost:18888/_content/Microsoft.FluentUI.AspNetCore.Components/Components/Search/FluentSearch.razor.js, Response status code: 404

OK I figured it out. If the working directory isn't set to executable folder then it breaks static content. I'm going to close this and open a preview 4 issue.

Reopening this because we want the dashboard to work and render when there's no resource server.

Putting it in p4

Broken because WhenConnected task attempts to create a connection and that errors when there is no resource service. See https://github.com/dotnet/dotnet-docker/issues/5164#issuecomment-1931485840
Regression probably happened here: https://github.com/dotnet/aspire/pull/1814
Using the dashboard without a resource server isn't something we do in playground environments. It's important there is a smoke test in CI that this scenario works to prevent regressions.

Lets also add a playground scenario just for this.

Has this been fixed? I'm pulling the nightly Docker container ("Image": "sha256:38bcbe7d883d694226cb13e459a54ce9caa49b12931d49f711ac8e42aa214b3d") and exporting from OTEL Collector to :18889 (deliberately not setting DOTNET_RESOURCE_SERVICE_ENDPOINT_URL), and when I access the Aspire dashboard, I get a blank page with these Docker logs:
2024-02-13 23:30:11 info: Aspire.Dashboard[0]
2024-02-13 23:30:11       Now listening on: http://<IP_ADDRESS>:18888
2024-02-13 23:30:11 info: Aspire.Dashboard[0]
2024-02-13 23:30:11       OTLP server running at: http://<IP_ADDRESS>:18889
2024-02-13 23:30:11 warn: Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository[60]
2024-02-13 23:30:11       Storing keys in a directory '/home/app/.aspnet/DataProtection-Keys' that may not be persisted outside of the container. Protected data will be unavailable when container is destroyed. For more information go to https://aka.ms/aspnet/dataprotectionwarning
2024-02-13 23:30:11 warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]
2024-02-13 23:30:11       No XML encryptor configured. Key {2bb7478b-10ee-45ec-a995-e2c5075301e3} may be persisted to storage in unencrypted form.
2024-02-13 23:31:05 fail: Microsoft.AspNetCore.Antiforgery.DefaultAntiforgery[7]
2024-02-13 23:31:05       An exception was thrown while deserializing the token.
2024-02-13 23:31:05       Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException: The antiforgery token could not be decrypted.
2024-02-13 23:31:05        ---> System.Security.Cryptography.CryptographicException: The key {0bf15c23-64fc-4686-bc01-b55ee03a8a8f} was not found in the key ring. For more information go to https://aka.ms/aspnet/dataprotectionwarning
2024-02-13 23:31:05          at Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.UnprotectCore(Byte[] protectedData, Boolean allowOperationsOnRevokedKeys, UnprotectStatus& status)
2024-02-13 23:31:05          at Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.Unprotect(Byte[] protectedData)
2024-02-13 23:31:05          at Microsoft.AspNetCore.Antiforgery.DefaultAntiforgeryTokenSerializer.Deserialize(String serializedToken)
2024-02-13 23:31:05          --- End of inner exception stack trace ---
2024-02-13 23:31:05          at Microsoft.AspNetCore.Antiforgery.DefaultAntiforgeryTokenSerializer.Deserialize(String serializedToken)
2024-02-13 23:31:05          at Microsoft.AspNetCore.Antiforgery.DefaultAntiforgery.GetCookieTokenDoesNotThrow(HttpContext httpContext)
2024-02-13 23:31:06 info: Aspire.Dashboard.Model.DashboardClient[0]
2024-02-13 23:31:06       DOTNET_RESOURCE_SERVICE_ENDPOINT_URL is not specified. Dashboard client services are unavailable.
2024-02-13 23:31:06 warn: Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer[100]
2024-02-13 23:31:06       Unhandled exception rendering component: DashboardClient is disabled. Check the IsEnabled property before calling this.
2024-02-13 23:31:06       System.InvalidOperationException: DashboardClient is disabled. Check the IsEnabled property before calling this.
2024-02-13 23:31:06          at Aspire.Dashboard.Model.DashboardClient.EnsureInitialized() in /_/src/Aspire.Dashboard/Model/DashboardClient.cs:line 135
2024-02-13 23:31:06          at Aspire.Dashboard.Model.DashboardClient.Aspire.Dashboard.Model.IDashboardClient.get_WhenConnected() in /_/src/Aspire.Dashboard/Model/DashboardClient.cs:line 301
2024-02-13 23:31:06          at Aspire.Dashboard.Components.ApplicationName.OnInitializedAsync() in /_/src/Aspire.Dashboard/Components/Controls/ApplicationName.razor.cs:line 29
2024-02-13 23:31:06          at Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync()
2024-02-13 23:31:06 fail: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111]
2024-02-13 23:31:06       Unhandled exception in circuit 'R_WZxLAb1Q7ACZbnakOLIjC7p6m9Vhn9x7JU-9TY3aw'.
2024-02-13 23:31:06       System.InvalidOperationException: DashboardClient is disabled. Check the IsEnabled property before calling this.
2024-02-13 23:31:06          at Aspire.Dashboard.Model.DashboardClient.EnsureInitialized() in /_/src/Aspire.Dashboard/Model/DashboardClient.cs:line 135
2024-02-13 23:31:06          at Aspire.Dashboard.Model.DashboardClient.Aspire.Dashboard.Model.IDashboardClient.get_WhenConnected() in /_/src/Aspire.Dashboard/Model/DashboardClient.cs:line 301
2024-02-13 23:31:06          at Aspire.Dashboard.Components.ApplicationName.OnInitializedAsync() in /_/src/Aspire.Dashboard/Components/Controls/ApplicationName.razor.cs:line 29
2024-02-13 23:31:06          at Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync()
2024-02-13 23:31:06 warn: Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer[100]
2024-02-13 23:31:06       Unhandled exception rendering component: Cannot access a disposed object.
2024-02-13 23:31:06       System.ObjectDisposedException: Cannot access a disposed object.
2024-02-13 23:31:06          at Microsoft.AspNetCore.Components.RenderTree.ArrayBuilder`1.GrowBuffer(Int32 desiredCapacity)
2024-02-13 23:31:06          at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.InsertNewFrame(DiffContext& diffContext, Int32 newFrameIndex)
2024-02-13 23:31:06          at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.AppendDiffEntriesForRange(DiffContext& diffContext, Int32 oldStartIndex, Int32 oldEndIndexExcl, Int32 newStartIndex, Int32 newEndIndexExcl)
2024-02-13 23:31:06          at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.ComputeDiff(Renderer renderer, RenderBatchBuilder batchBuilder, Int32 componentId, ArrayRange`1 oldTree, ArrayRange`1 newTree)
2024-02-13 23:31:06          at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment, Exception& renderFragmentException)
2024-02-13 23:31:06          at Microsoft.AspNetCore.Components.RenderTree.Renderer.ProcessRenderQueue()
2024-02-13 23:31:06 fail: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111]
2024-02-13 23:31:06       Unhandled exception in circuit 'R_WZxLAb1Q7ACZbnakOLIjC7p6m9Vhn9x7JU-9TY3aw'.
2024-02-13 23:31:06       System.ObjectDisposedException: Cannot access a disposed object.
2024-02-13 23:31:06          at Microsoft.AspNetCore.Components.RenderTree.ArrayBuilder`1.GrowBuffer(Int32 desiredCapacity)
2024-02-13 23:31:06          at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.InsertNewFrame(DiffContext& diffContext, Int32 newFrameIndex)
2024-02-13 23:31:06          at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.AppendDiffEntriesForRange(DiffContext& diffContext, Int32 oldStartIndex, Int32 oldEndIndexExcl, Int32 newStartIndex, Int32 newEndIndexExcl)
2024-02-13 23:31:06          at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.ComputeDiff(Renderer renderer, RenderBatchBuilder batchBuilder, Int32 componentId, ArrayRange`1 oldTree, ArrayRange`1 newTree)
2024-02-13 23:31:06          at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment, Exception& renderFragmentException)
2024-02-13 23:31:06          at Microsoft.AspNetCore.Components.RenderTree.Renderer.ProcessRenderQueue()

2024-02-13 23:31:06 fail: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111]
2024-02-13 23:31:06       Unhandled exception in circuit 'R_WZxLAb1Q7ACZbnakOLIjC7p6m9Vhn9x7JU-9TY3aw'.
2024-02-13 23:31:06       System.InvalidOperationException: DashboardClient is disabled. Check the IsEnabled property before calling this.
2024-02-13 23:31:06          at Aspire.Dashboard.Model.DashboardClient.EnsureInitialized() in /_/src/Aspire.Dashboard/Model/DashboardClient.cs:line 135
2024-02-13 23:31:06          at Aspire.Dashboard.Model.DashboardClient.Aspire.Dashboard.Model.IDashboardClient.get_WhenConnected() in /_/src/Aspire.Dashboard/Model/DashboardClient.cs:line 301
2024-02-13 23:31:06          at Aspire.Dashboard.Components.ApplicationName.OnInitializedAsync() in /_/src/Aspire.Dashboard/Components/Controls/ApplicationName.razor.cs:line 29
2024-02-13 23:31:06          at Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync()

This was fixed in https://github.com/dotnet/aspire/pull/2199. Whatever is in docker hasn't gotten the latest changes.

Indeed, it seems like the "nightly" Docker image isn't being built nightly.
Here's a one-line (Windows pwsh) repro FWIW:
docker pull mcr.microsoft.com/dotnet/nightly/aspire-dashboard && start http://localhost:18888 && docker run --rm -it -p 18888:18888 mcr.microsoft.com/dotnet/nightly/aspire-dashboard

Sorry, I posted the image sha above instead of the repository digest. The repository digest without the #2199 fix is:
mcr.microsoft.com/dotnet/nightly/aspire-dashboard@sha256:da20e4236c0224e7ca180620b65f522f22e6e77908a73f0d5fbeca717f13a5fb

And this is still latest as of this post.

Can confirm, this is working now! 🎉


fixes typo

Coverage remained the same at 100.0% when pulling 5803ace819322c6589e241e9659615b58e93ff66 on poacher2k:patch-1 into 088c7f9c641f626e6ebe9de4eec68f7eddf8d094 on waterlock:master.


To use or not to use the cross-attention output projection?

The MultiHeadAttention implementation in PyTorch, that we use in our cross-attention mechanism (MultiheadAttention) has a linear transformation that is applied to the concatenation of all the attention heads.
Because of how AllenNLP implements attention mechanisms, we were not using this projection matrix, and were directly taking a weighted sum of the attention weights and the encoders output.
There is nothing particularly wrong with this, but we should investigate whether this output projection improves performance. I have created a branch with the neccecary fix if we decide to merge: https://github.com/JohnGiorgi/seq2rel/tree/use-multihead-attn-proj

The projection didn't make any difference so I am just going to leave this as-is.


Some Categories are wrong in the marketplace

There's some wrong category lables in the Plugin Marketplace.
AWS Lambda  and Firebase Functions could be Infrastructure instead or something better than monitoring at least.

@mcalus3 could you ensure Roadie plugins have the correct labels please? I will work with you on determining what they should be if needed.

@benjaminr I want to work on this.

@iamrajiv Go ahead!


Consider generating a table showing data availability

on methodology / data showing what is available at each geo level / variable / breakdown

something like this:

I would work on this as a fun side project :) I think there is a case for it - but if it requires a lot of work I'm not sure when we can justify doing it.

What about pivoted to be from the geo perspective. I can imagine it being very helpful for a casual user to look at their county/state of interest and see a brief description of what variables are available at which demographic breakdowns.

close this for now. can maybe leverage #1733 in the future or get design considerations from Ux research project


Cannot import ramda in the browser with native modules

Test case
Create a html document with the following contents in a directory where ramda is installed via npm.
<script type="module">
  import * as Ramda from './node_modules/ramda/es/index.js'
</script>

Open the document through a webserver in in latest Chrome, Firefox, Edge or Safari.
Expected result
Ramda functions are imported and can be used inside the script.
Actual result
The browser cannot find the files listed in node_modules/ramda/es/index.js (eg. GET http://<IP_ADDRESS>:8080/node_modules/ramda/es/F 404 (Not Found)).
Error diagnosis
Valid module paths must contain the file extension. For example, the first import in index.js should say export { default as F } from './F.js';. Note the extra .js at the end that is currently absent.
The way forward
I suggest specifying the full paths to files including file extension whereever import/export is used in the code base. The build system used in this project probably supports this already. This way, developers can import Ramda via native ES2015 modules directly in the browser, a feature that is supported by all modern browsers.
If you agree this should be worked on I'd be happy to look into this and prepare a pull request.
Thank you for your consideration and for your work on Ramda.

Thank you for the report, the research, the diagnosis, and the offer to help! You get full marks

Agreed.  I'd love to see a pull request.


Add helm chart for vineyard operator

As titiled.

I have leaf some comments.

Comments down, and Fixed the dependency warning.


Split normalize_config into two functions

The Issue
In src/forge/common.py there is a function normalize_config. It is used to normalize the configuration values, but it currently does too many things.
The Solution
Separate normalize_config into parse_additional_config and normalize_config where parse_additional_config will handle the extra functionality in processing the additional config. Replace the function calls to normalize_config where it calls the additional config part of the function.
Notes
The additional config part of normalize_config is called in main.py around line 140 and in yaml_loader.py around 230.

Hey there, can you assign me to this task? i have already started working on it. :)

Closed by #27


Fix and re-implement headline schema improvements

Per https://github.com/bolt-design-system/bolt/pull/523#issuecomment-375174958 this has already been rolled back.
Please re-review this original PR to figure out what's causing the regression here, given that all of these changes should only involve swapping out under the hood logic with the Schema data thats a 1:1 match with the original Twig template logic.

Was missing a definition of types in _typography, causing all headline components to default to text.
I believe my last push fixes things.
@remydenton Can you pull this in and take a look at it as well, just to make sure I didn't miss any other visual regressions.

Much improved, but I still see a few differences.  Compare the before and after of a few pages:
Homepage Before
Homepage After - The paragraph in the xdark band near the footer is gone and now only shows<EMAIL_ADDRESS>Agenda Manager Before
Agenda Manager After - Some of the headlines (Date & Location, Speakers, Topics, Industries, etc) are no longer uppercase.

Much improved, but I still see a few differences. Compare the before and after of a few pages:
Homepage Before
Homepage After - The paragraph in the xdark band near the footer is gone and now only shows @bolt/paragraph.twig
Agenda Manager Before
Agenda Manager After - Some of the headlines (Date & Location, Speakers, Topics, Industries, etc) are no longer uppercase.

I'm also seeing some other unexpected styling (Left: bolt-design-system.com, Right: this PR)

Margin Bottom Different

Eyebrows Not Styled

Headline Link Not Styled


BUG: Allow default config option to be None

In current setup, when using set_option, it will first check if the given value has the same type of default value. In this way, if the default is set to None which will result in NoneType in the type checking and thus fail to use set_option.
And because of this, the PR #737 will fail, if this PR is merged, the #737 will be changed to adopt this.

Codecov Report

Merging #738 into master will decrease coverage by 2.39%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master     #738     +/-   ##
=========================================
- Coverage    94.4%   92.01%   -2.4%
=========================================
  Files          32       32
  Lines        5580     5584      +4
=========================================
- Hits         5268     5138    -130
- Misses        312      446    +134

Impacted Files
Coverage Δ

databricks/koalas/config.py
100% <100%> (ø)
:arrow_up:

databricks/koalas/usage_logging/__init__.py
23.14% <0%> (-74.08%)
:arrow_down:

databricks/koalas/usage_logging/usage_logger.py
50% <0%> (-50%)
:arrow_down:

databricks/koalas/__init__.py
77.5% <0%> (-7.5%)
:arrow_down:

databricks/conftest.py
90.69% <0%> (-6.98%)
:arrow_down:

databricks/koalas/frame.py
93.4% <0%> (-1.73%)
:arrow_down:

databricks/koalas/namespace.py
92.15% <0%> (-1.57%)
:arrow_down:

databricks/koalas/plot.py
93.78% <0%> (-1.13%)
:arrow_down:

databricks/koalas/utils.py
97.24% <0%> (-0.69%)
:arrow_down:

databricks/koalas/testing/utils.py
77.35% <0%> (-0.63%)
:arrow_down:

... and 2 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 b876400...5879370. Read the comment docs.

Let's track it here https://github.com/databricks/koalas/pull/739


pandas deprecation warning from within altair

What happened?

What would you like to happen instead?
no warnings
Which version of Altair are you using?
5.1.0

hey - this was removed a while ago (https://github.com/vega/altair/pull/3191/files), I think you may just need to upgrade your Altair version?

sorry - forgot that I had pinned to an old version because I was getting this error:
https://github.com/vega/altair/issues/3649


Added tests for received Content-Types in response headers

Added a few tests to check the transmitted Content-Type in the response headers.

any update on this? we still can't seem to return text/html

Closing this as a PR, let's follow up in #840.


[RCD-46] fix Prefiltering not ignoring txIds from Inputs

Description
Prefiltering seems to totally ignore txIds from Inputs while creating blockMeta. On the other hand it uses TxIns to see which utxos are used. This means that if an account has only inputs in a tx, the tx will apear as Failed. This can happens when it creates a tx and uses a utxo entirely (no changes). QA testing found this bug while trying to empty the wallet, which is a special case of the above.
Before the fix, we can see the Prefiltered Block of a failed Transaction which empties the wallet:
PrefilteredBlock. There is no _blockMetaSlotId.
{
pfbInputs = fromList [TxInUtxo (AbstractHash a3cf538a8390fda0cf5477bbdf49da68415a44f45db14ad9b8c2dd9ea62219d6) 0],
pfbOutputs = fromList [],
pfbAddrs = [],
pfbMeta = LocalBlockMeta {localBlockMeta = BlockMeta {_blockMetaSlotId = InDb {_fromDb = fromList []}, _blockMetaAddressMeta = fromList []}},
pfbContext = BlockContext {_bcSlotId = InDb {_fromDb = SlotId {siEpoch = EpochIndex {getEpochIndex = 82}, siSlot = UnsafeLocalSlotIndex {getSlotIndex = 16153}}}, _bcHash = InDb {_fromDb = AbstractHash be62ec0264cc0346ca2a70e789f3aa016854ba04e9d46adc72a25eba4a64700d}, _bcPrevMain = Just (InDb {_fromDb = AbstractHash 2673c69268b00dc8c969e9bf81348c7f4def139ad199ed69f95ead38872203c2})}}),(HdAccountId {_hdAccountIdParent = HdRootId {getHdRootId = InDb {_fromDb = Address {addrRoot = AbstractHash bf3db4cc8c9dd5533d35cc52e16cca39e1845484a548c03fa8beba74, addrAttributes = Attributes { data: AddrAttributes {aaPkDerivationPath = Nothing, aaStakeDistribution = BootstrapEraDistr, aaNetworkMagic = NetworkMainOrStage} }, addrType = ATPubKey}}}, _hdAccountIdIx = HdAccountIx {getHdAccountIx =<PHONE_NUMBER>}},

After the fix we have the txId (search pfbMeta and _blockMetaSlotId):
PrefilteredBlock {
pfbInputs = fromList [TxInUtxo (AbstractHash 525a73a963652b3e542bc499efe942f419af8664e602471ddd36b81e7ff49754) 0],
pfbOutputs = fromList [], pfbAddrs = [],
pfbMeta = LocalBlockMeta {localBlockMeta = BlockMeta {_blockMetaSlotId = InDb {_fromDb = fromList [(AbstractHash cd6c848cff95214492822ba94da174f07a264305d9a1223bf6e11395bce0ff13,SlotId {siEpoch = EpochIndex {getEpochIndex = 82}, siSlot = UnsafeLocalSlotIndex {getSlotIndex = 16691}})]}, _blockMetaAddressMeta = fromList []}},
pfbContext = BlockContext {_bcSlotId = InDb {_fromDb = SlotId {siEpoch = EpochIndex {getEpochIndex = 82}, siSlot = UnsafeLocalSlotIndex {getSlotIndex = 16691}}}, _bcHash = InDb {_fromDb = AbstractHash 97b5fae902dc4b4b070c1308007e19d2d2107f0fe9425f0bdc06b9bd870e712a}, _bcPrevMain = Just (InDb {_fromDb = AbstractHash 2a487cce352083ff755b737cb8c8d52cb0f29a4af6070c95207ee30a65bd9b2e})}}),(HdAccountId {_hdAccountIdParent = HdRootId {getHdRootId = InDb {_fromDb = Address {addrRoot = AbstractHash bf3db4cc8c9dd5533d35cc52e16cca39e1845484a548c03fa8beba74, addrAttributes = Attributes { data: AddrAttributes {aaPkDerivationPath = Nothing, aaStakeDistribution = BootstrapEraDistr, aaNetworkMagic = NetworkMainOrStage} }, addrType = ATPubKey}}}, _hdAccountIdIx = HdAccountIx {getHdAccountIx =<PHONE_NUMBER>}},

As a final test, I have a wallet with a failed txs as a result of the previous bug. I will try to restore:

Restored succesfully:

Linked issue
https://iohk.myjetbrains.com/youtrack/issue/RCD-46
Type of change

[x] 🐞 Bug fix (non-breaking change which fixes an issue)

QA Steps
try to empty a wallet by following the fee estimation and no ada is left to the wallet.

Reminder @kderme :

[ ] Let's issue an identical PR against develop


distributing bioscrape binaries through conda-forge

Hi all,
I've looked at the installation process for bioscrape and it requires a lot from a user who would just want to simulate some SBML files.  I'd like to suggest a different approach, which makes the installation easy for the user but, in exchange, it requires a bit of work from the developers.
The Conda package manager distributes binaries of python packages, instead of the source code of a package (like pip install)! Thus, all the compiling steps and the required toolchain for compilation can be ignored by the user (who just wants to use the package, but not develop it).
The end results of this new process would be very simple for the user:
Installing bioscrape from the conda-forge channel can be achieved by adding conda-forge to your channels with:
conda config --add channels conda-forge

Once the conda-forge channel has been enabled, bioscrape can be installed with:
conda install bioscrape

The main steps of this process for the developers:

installing conda and conda-build
creating a conda recipe (take some time to nail down the correct build recipe)
add conda build to the Travis CI (the recipe is constantly tested)
sending the build recipe to conda-forge, this makes the package conda installable
sending new versions of bioscrape to conda-forge (through automated deployment, e.g. triggered by a merge into the master branch)

Let me know if you are interested in this, I'm happy to team up with someone and make this happen!

@zoltuz as mentioned I would love to try to make this work. @sclamons do you have any experience here?

The closest I've done was to distribute a (pip-installable) package through Pypi. I've never worked directly with conda except as a user.

I have intermediate level expertise in conda-forge.

A couple of notes on what I think we are going to need to do in order to use conda-forge:

We need to set up the bioscrape package on pypi, so that it can be installed via pip.  This likely requires a few changes to the package:

We need to use a "standard" setup.py file that uses setuptools.
We need to create proper versioning

We need to create a conda-forge feedstock for bioscrape.  Directions for that are here.

@WilliamIX @zoltuz Comments on setup.py and versioning?

Update on this issue: recently I made bioscrape pip installable by configuring pip to compile the cython code when on install. This works for anyone who has a C++ compiler set up.
The other way to solve this problem is to produce and maintain many precompiled versions of bioscrape for different chip architectures (minimally we would need a few Linux varieties, Windows Intel and Windows AMD, and a couple Mac OS varieties). In principle, this could be automated via a github action to produce the required python wheels for each architecture. In practice, configuring github actions to do this is challenging and requires interfacing with things like Docker. Given that pip install currently works I think that setting up automatic wheel generation is not a priority.

I think that conda-forge can create all of these versions once thing are on pypi (which is looks like they are).
I won't have time to do this anytime soon, but if anyone wants to take it on I can help.  See https://anaconda.org/conda-forge/slycot for an example of a feedstock that does Linux, Windows, and Mac.  I don't think Windows AMD or MacOS M1 are yet supported, but those users can always build via pip.
Q: is a C/C++ compiler required if you use want to use bioscrape?  If not, I think it will increase usage to have compiled version on standard platforms.

Solved via clever pip work arounds. TODO is to set up automatic generation of compiled python wheels for auto installation.


No refactoring suggestions on closed-source projects with an open-source plan

I dont't have any refactoring suggestions on vs-code on Ubuntu. Did I missed something ? Are refactoring suggestions in non-free version ?
sourcery, version 1.13.0
Vscode
Version : 1.84.1
Validation : 2b35e1e6d88f1ce073683991d1eff5284a32690f
Date : 2023-11-06T12:35:31.181Z
Electron : 25.9.2
ElectronBuildId : 24603566
Chromium : 114.0.5735.289
Node.js : 18.15.0
V8 : <IP_ADDRESS>-electron.0
Système d’exploitation : Linux x64 6.2.0-35-generic snap

Hi! This is due to a recent change in how we charge for Sourcery. We've had a number of long discussions about this internally, and ultimately from a business perspective we've had to shift to have Sourcery be free for students and open source projects and paid for private projects.
If you click on the sourcery icon in the sidebar you can see your upgrade options:

Sorry our communication around this change has not been clear enough - we'll be taking some steps shortly to improve on that front. Please get in touch with us at<EMAIL_ADDRESS>if you have further questions or concerns.

Hi,
Sadly, it was the only feature interesting for me.
I will find an alternative.


order of favorites is provided by workspace one

fixes #32

workspace_one_finder-1.0.1-fixes-32.zip


[HUDI-5657] Fix NPE if filters condition contains null literal when using column stats data skipping for flink

[HUDI-5657] Fix NPE if filters condition contains null literal when using column stats data skipping for flink
Change Logs
Fix NPE if filters condition contains null literal when using column stats data skipping for flink
Impact
NA
Risk level (write none, low medium or high below)
NA
Documentation Update
NA
Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

Some check-style issues need to be fixed:
Error:  Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:testCompile (default-testCompile) on project hudi-flink: Compilation failure
Error:  /home/runner/work/hudi/hudi/hudi-flink-datasource/hudi-flink/src/test/java/org/apache/hudi/source/stats/TestExpressionEvaluator.java:[375,25] cannot find symbol
Error:    symbol:   method permanent(org.apache.flink.table.functions.BuiltInFunctionDefinition,java.util.List<org.apache.flink.table.expressions.ResolvedExpression>,org.apache.flink.table.types.DataType)
Error:    location: class org.apache.flink.table.expressions.CallExpression
Error:  -> [Help 1]

@danny0405 Thanks for review.
The tests failed in flink1.13,flink1.14 because CallExpression constructor is different in different flink versions.
And the CallExpression is final class, which could not use mock in current Mockito version.
So I add a utility class in each hudi-flink-X tests packages.

@hudi-bot run azure


Add a check to StringUtils.repeat() for large length repeat value

I have added a check to ensure that the resultant String from the repeat is not larger than the maximum allowed length.

Coverage increased (+0.0009%) to 95.253% when pulling 3acb09d40d3c2be99ae8049f60d2b66bb46b7fef on Turan91:master into 69e843890c09861a168c6fe77d63fc72f0c73195 on apache:master.

I'm somewhat wary of simply comparing the values, as it's not always intuitive and doesn't save us much in the way of performance. Perhaps comparing it to Integer.MAX_VALUE is a bit more appropriate?

I'm somewhat wary of simply comparing the values, as it's not always intuitive and doesn't save us much in the way of performance. Perhaps comparing it to Integer.MAX_VALUE is a bit more appropriate?

What do you mean?

I'm somewhat wary of simply comparing the values, as it's not always intuitive and doesn't save us much in the way of performance. Perhaps comparing it to Integer.MAX_VALUE is a bit more appropriate?

What do you mean?

https://github.com/apache/commons-lang/pull/362/files#diff-3f4c835875ddc8a211c0272e8be51394R6253
I would sooner do something like:
final long longSize = (long) inputLength * (long) repeat;
if(longSize > Integer.MAX_VALUE)

Other thing of note: I don't think that providing the length in the exception is terribly useful, as the developer would clearly have access to that information.
Is there consensus on whether this is a needed feature? Is there a JIRA ticket open for this? I am having a hard time believing that multi-billion character Strings emanating from this method are common enough to warrant the overhead.

It is convention for exception messages to provide the user with information on the cause of failure. In the same way an ArrayIndexOutOfBoundsException would provide the user with the length which caused it even though the "developer would clearly have access to that information." This provides the user with information on the offending value.
With regards to overhead it is a single check at the start that doesn't add much overhead and prevents issues with both being too large and failing silently (with regards to the expected string not being what the users expects as a result).

Can you think of any kind of use-case where a String over two-billion characters long is created, such that all other calls to this should check for it?

Validation checks are validation checks, we can't begin using occurrence to dictate their place. As with any utility a set number of validation checks are performed before the actual brunt of the logic.