Fixing issue 59

#59 is addressed in this PR
Behavior today was only showing output of hooks, regardless of failure, in the debug output. We fixed up the handling of errors to match what the call() function returns. This now checks for exit success and will log stderr and stdout if there is anything to bubble up.

This PR Requires #58  first!


Renew gdg.events domain ASAP

Firefly site is currently down and out of action.
NOTICE: This domain name expired on 6/11/2015 and is pending renewal or deletion.

@joshuawoodward owns the domain

It's been a month since this domain expired and the entire Firefly project went offline. I tried to buy the domain on GoDaddy.com myself (Google Domains doesn't support .events domains), but it is still reserved. I have not been able to get any response from Josh on the issue.

Just seeing this now, sorry guys. I don't see this domain in my admin panel
to renew/release
On Jul 11, 2015 1:54 PM, "Michael Prentice"<EMAIL_ADDRESS>wrote:

It's been a month since this domain expired and the entire Firefly project
went offline. I tried to buy the domain on GoDaddy.com myself (Google
Domains doesn't support .events domains), but it is still reserved. I have
not been able to get any response from Josh on the issue.
—
Reply to this email directly or view it on GitHub
https://github.com/gdg-x/firefly/issues/40#issuecomment-120661141.

Bummer. @joshuawoodward Any idea who owns this domain then?

It may be in limbo
On Jul 11, 2015 2:12 PM, "Michael Prentice"<EMAIL_ADDRESS>wrote:

Bummer. @joshuawoodward https://github.com/joshuawoodward Any idea who
owns this domain then?
—
Reply to this email directly or view it on GitHub
https://github.com/gdg-x/firefly/issues/40#issuecomment-120661903.

Can you do it via http://mya.godaddy.com/myrenewals/myRenewals.aspx?ci=85920&isc=GPPT05K500&tab=domains ?
@joshuawoodward

It's not in that list :/
On Jul 12, 2015 2:04 AM, "Sebastian Mauer"<EMAIL_ADDRESS>wrote:

Can you do it via
http://mya.godaddy.com/myrenewals/myRenewals.aspx?ci=85920&isc=GPPT05K500&tab=domains
?
@joshuawoodward https://github.com/joshuawoodward
—
Reply to this email directly or view it on GitHub
https://github.com/gdg-x/firefly/issues/40#issuecomment-120702562.

I'm assuming this doesn't help, either? https://uk.godaddy.com/help/recovering-expired-domain-names-5018

It does show up there, there is a $80 recovery fee :/ I see gdg-x.com also
expired, is that used by any service?
On Jul 12, 2015 7:08 AM, "G. Hussain Chinoy"<EMAIL_ADDRESS>wrote:

I'm assuming this doesn't help, either?
https://uk.godaddy.com/help/recovering-expired-domain-names-5018
—
Reply to this email directly or view it on GitHub
https://github.com/gdg-x/firefly/issues/40#issuecomment-120722494.

My guess is the main reason to have the .com was to get the G+ page vanity name without a required suffix. But I don't know for sure.

I wouldn't pay the recovery fee.
Am 12.07.2015 19:20 schrieb "Stefan Hoth"<EMAIL_ADDRESS>
My guess is the main reason to have the .com was to get the G+ page vanity
name without a required suffix. But I don't know for sure.
—
Reply to this email directly or view it on GitHub
https://github.com/gdg-x/firefly/issues/40#issuecomment-120743218.

Why don't you guys take this opportunity to change the domain?
Are .go domains already being commercialized?
Cheers
On Sun, Jul 12, 2015 at 3:27 PM, Friedger Müffke<EMAIL_ADDRESS>wrote:

I wouldn't pay the recovery fee.
Am 12.07.2015 19:20 schrieb "Stefan Hoth"<EMAIL_ADDRESS>
My guess is the main reason to have the .com was to get the G+ page
vanity
name without a required suffix. But I don't know for sure.
—
Reply to this email directly or view it on GitHub
https://github.com/gdg-x/firefly/issues/40#issuecomment-120743218.

—
Reply to this email directly or view it on GitHub
https://github.com/gdg-x/firefly/issues/40#issuecomment-120752728.

gdg-x.org is available for $7.99 or so. If we don't mind switching from gdg-x.com, I can pick it up.
As for gdg.events, I believe that Adriana would like to pay for the $80 recovery fee and have the domain transferred to her.

I just spoke with GoDaddy support. gdg.events was not in fact registered with GoDaddy. It was registered by "Go Montenegro Domains,LLC".
This registrar has now moved to http://www.domainspricedright.com/
I tried to contact Josh via Hangouts with this information to see if he had an account with them, but I haven't received a response.
Is there anyone else who might have registered the gdg.events domain with http://www.gomontenegrodomains.com/ ?
GoDaddy support also said that the domain should normally be available 3 months after it expires. This means that we would have another month to wait if we aren't able to get access to the domain on Domains Priced Right.

/cc @mauimauer @friedger any change you registered them?

Josh says that Martin registered the domain and transferred it to Josh's GoDaddy account. He suggests that we should just ditch the domain and go with something else.
https://hub.gdgx.io and https://cloud.gdgx.io/console are valid. perhaps we can just add an https://events.gdgx.io ?
Who owns gdgx.io?

I think it is ok to wait and re-register.
On Fri, Aug 7, 2015, 9:47 PM Stefan Hoth<EMAIL_ADDRESS>wrote:

/cc @mauimauer https://github.com/mauimauer @friedger
https://github.com/friedger any change you registered them?
—
Reply to this email directly or view it on GitHub
https://github.com/gdg-x/firefly/issues/40#issuecomment-128793333.

I didn't register it
On 7 Aug 2015 8:47 pm, "Stefan Hoth"<EMAIL_ADDRESS>wrote:

/cc @mauimauer https://github.com/mauimauer @friedger
https://github.com/friedger any change you registered them?
—
Reply to this email directly or view it on GitHub
https://github.com/gdg-x/firefly/issues/40#issuecomment-128793333.

@Splaktar Sebastian owns it: https://duckduckgo.com/?q=whois+gdgx.io&t=ffab&ia=whois

It looks like we can use the gdgroups.org domain that Van owns (Adriana in control of it atm). I'm working on getting access to manage the DNS, but they are still learning the brand new GoDaddy account sharing features. Hopefully that will be worked out on Monday.
I've done some testing with one of my personal domains and now know the A and CNAME configuration that will be needed other than having the full list of possible prefixes (android, androidwear, angularjs, developer, studyjam, etc).

Firefly on http://gdgroups.org is live!
Hopefully we can get gdg.events back soon and eventually keep Firefly there and transition this gdgroups.org to serve as a more general GDG community-based site. But we'll probably need to keep Firefly on gdgroups.org at least through DevFest season.

Makes sense.
On Mon, Aug 17, 2015, 5:00 AM Michael Prentice<EMAIL_ADDRESS>wrote:

Firefly on http://gdgroups.org is live!
Hopefully we can get gdg.events back soon and eventually keep Firefly
there and transition this gdgroups.org to serve as a more general GDG
community-based site. But we'll probably need to keep Firefly on
gdgroups.org at least through DevFest season.
—
Reply to this email directly or view it on GitHub
https://github.com/gdg-x/firefly/issues/40#issuecomment-131663890.

I was just able to pick up http://gdg.events again for $30 from Google Domains!

Wow. Great news! What should we do now? Should we move back to this domain?

I think gdg.events is good for event series, gdgroups.org is good for the
directory.
Hm, not sure what to do..
Am 02.10.2015 9:02 nachm. schrieb "Said Tahsin Dane" <
<EMAIL_ADDRESS>
Wow. Great news! What should we do now? Should we move back to this domain?
—
Reply to this email directly or view it on GitHub
https://github.com/gdg-x/firefly/issues/40#issuecomment-145127113.

gdg.events is a really cool domain for events.
But I think our first priority is something bigger that fits in gdgroups.org
If we think that we have a really few number of devs, it will be harder to maintain both.

We can use gdg. events for the url shortner
Am 02.10.2015 10:11 nachm. schrieb "Said Tahsin Dane" <
<EMAIL_ADDRESS>
gdg.events is a really cool domain for events.
But I think our first priority is something bigger that fits in
gdgroups.org
If we think that we have a really few number of devs, it will be harder to
maintain both.
—
Reply to this email directly or view it on GitHub
https://github.com/gdg-x/firefly/issues/40#issuecomment-145143155.


Add 'override' parameters to config files

In particular, -api, mavlink and ros configs.

Added:
maverick_web::api::devmode
and
maverick_web::api::debug
boolean params.  These write out True/False to ~/config/web/maverick-api..conf.

Also added:
maverick_web::api:override
boolean param.
This turns on/off whether maverick configure will stomp on existing config files.  The default behaviour is true because maverick should normally be in control of the resources that it manages, however it's useful during testing or dev to be able to suppress this.

maverick_web::api instance is rarely called directly, instead it's usually called through maverick_dev::px4 or maverick_dev::apsitl instance, which in turn is called by the likes of maverick_dev::apsitl_dev.  So these new parameters have to be passed through all those classes.  So the end user would actually set these params in localconf.json:
"maverick_dev::apsitl_dev::api_devmode": false (or true)
"maverick_dev::apsitl_dev::api_debug": false (or true)
"maverick_dev::apsitl_dev::override": true (or false)

mavlink proxies (mavlink-router, mavproxy and cmavnode) already have a ::replaceconfig parameter.  This is better named than override (which could refer to anything), so change api::override to replaceconfig.

Added mavlink proxy passthroughs for replaceconfig parameter, so:
"maverick_dev::apsitl_dev::mavlink_replaceconfig": true
"maverick_dev::px4::mavlink_replaceconfig": true
etc


uploads: Add support for ".jpe" file extension.

Currently, when the user uploads files with ".jpe" file extension, the markdown is converted to link but the image is not embedded. This PR adds the support for ".jpe" file extension.
Fixes #14863

@timabbott this PR is ready for review

@shubhamgupta2956 how did you test this?

I had tested it manually by uploading a file with ".jpe" extension

@andersk I had made the changes.


fix: Number Field within an editform using validation will permanently break if a number outside the bounds of the type is entered

🐛 Bug Report
Create an edit form with data validation, and insert a FluentNumberField.
When you enter a number large than the maximum allowed (or presumably lower than the minimum allowed), you get a validation error "The {property} field must be a number.". When you then enter a more sensible value, the validation error remains and the form remains unsubmittable and the form will not work until it is recreated.
💻 Repro or Code Sample
<EditForm EditContext="EditContext">
    <DataAnnotationsValidator />

    <FluentNumberField @bind-Value="MyModel.MyInt" Label="My Int" Immediate="true" />
    <FluentValidationMessage For="() => MyModel.MyInt" />
</EditForm>

@code {
    Model MyModel { get; set; } = new();
    EditContext EditContext { get; set; } = default!;

    protected override void OnInitialized()
    {
        base.OnInitialized();

        EditContext = new(MyModel);
    }

    public class Model
    {
        public int MyInt { get; set; }
    }
}

Enter "1" in the box
Repeatedly enter "0" after the current value in the box until the error appears
Remove 0's and notice that the box never validated correctly and the form is now unusable

🤔 Expected Behavior
Error message should represent the actual issue, not state that it is not a number.
Then, when number is corrected, the field and form should operate correctly once again.
😯 Current Behavior

💁 Possible Solution
🔦 Context
This makes using NumberFields and form validation difficult to justify.
🌍 Your Environment

OS & Device: Windows
Browser Chrome (Latest)
.NET 8, FluentUI 4.3.1

The same behaviour is observed when you try to submit the form with empty value in the FluentNumberField.

FYI @vnbaaij this is happening also in FluentUI Blazor website: https://www.fluentui-blazor.net/Forms
However, using InputNumber works perfectly fine.

Can you estimate how long it will take for this issue to be fixed in the fast component? I am aksing that, because with this issue the FluentValidationMessage is quite unusable. In this repo, issues are fixed very fast. Thank you for that! But I can imagine, that issues in the underlying libs can take quite long to be fixed? Correct me if my assumption is wrong - maybe the answer is "it depends" :-)
Therefore, I have to decide if I should wait for a fix or find a workaround for the whole validation stuff...
Is there a microsoft/fast or microsoft/fluentui issue that tracks this problem?

I have no idea how long it will take. In general though, time it take to get things changed upstream tends to be rather long.
I think it would be safer to go an alternative route.

We are running into the exact same issue with our web page having fluent number fields. A fix sooner will be great. What other alternate routes are out there? We could use the  input type. Is there a quick css class reference(that you have used before) to give it a look and feel of a fluent number field component?

The alternative I would recommend is a FluentTextField with an inputmode:
<FluentTextField @bind-Value=value5 TextFieldType="TextFieldType.Text" InputMode="InputMode.Numeric">Text with InputMode</FluentTextField>

See also https://fluentui-blazor.net/TextField

As a workaround I'm using InputNumber with fluent-ui CSS.
.fluent-control {
    appearance: none;
    color: inherit;
    background: transparent;
    border: 0px;
    height: calc(100% - 4px);
    margin-top: auto;
    margin-bottom: auto;
    padding: 0 calc(var(--design-unit) * 2px + 1px);
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    width: 100%;
    outline: none;
    box-sizing: border-box;
    position: relative;
    color: inherit;
    border: calc(var(--stroke-width) * 1px) solid transparent;
    border-radius: calc(var(--control-corner-radius) * 1px);
    height: calc((var(--base-height-multiplier) + var(--density)) * var(--design-unit) * 1px);
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    background: padding-box linear-gradient(var(--neutral-fill-input-rest),var(--neutral-fill-input-rest)),border-box var(--neutral-stroke-input-rest);
}

And then
Quantity
<InputNumber @bind-Value="pos.Quantity" class="fluent-control" id="pos-quantity" />
<FluentValidationMessage For="() => pos.Quantity" />

works fine for me. The only downside is that the numeric arrow controls looks a bit different.

@MarvinKlein1508 that is a solid alternative.
With the re-focusing of the FAST project (see https://github.com/microsoft/fast/issues/6955), I'm not seeing this getting fixed in the current v2 Fluent UI web components script (which uses FAST foundation).

@MarvinKlein1508, @vnbaaij
Here is an alternative variation that means the input control will only succeed if a valid 2 decimal place number has been entered (This is the common case for me). It may make your controls better as well.
Quantity
<input type="decimal" name="movie-price" @bind="Movie.Price" id="movie-price" class="fluent-control" step="0.01" pattern="^\d*(\.\d{0,2})?$" />
<FluentValidationMessage For="() => Movie.Price" />

Thanks for your solution in https://github.com/microsoft/fluentui-blazor/issues/1345#issuecomment-2145145944

Binding with a nullable field prevent this issue.
On top of that, I set a non-nullable rule with fluent validation

Binding with a nullable field prevent this issue.
On top of that, I set a non-nullable rule with fluent validation

Or a validation required attribute -(from System.ComponentModel.DataAnnotations).


Question on Dataset

Hi!
Due to the use of the offline virtual points, I wonder whether this code is applicable to dataset: nuscenes-mini?
Hope for your response!
Best

I haven't tried that. But theoretically, virtual points can be generated with paired LiDAR and camera images.

I haven't tried that. But theoretically, virtual points can be generated with paired LiDAR and camera images.

Thanks a lot!

I haven't tried that. But theoretically, virtual points can be generated with paired LiDAR and camera images.

Thanks a lot!

Hello, have you trained this model? I'm using A800 here but still not enough to train. If you've trained, can you give me an answer to the reason for my lack of memory here, thank you


Feature/date filter

Closes: #6

Codecov Report

Merging #46 into master will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master       #46   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            4         4
  Lines          108       110    +2
=========================================
+ Hits           108       110    +2

Impacted Files
Coverage Δ

django_property_filter/filters.py
100.00% <100.00%> (ø)

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 7f850e8...191c711. Read the comment docs.


Remnants of Azure Active Directory?

There seems to have been a recent change from Azure Active Directory (the page address ends with "aad" to confirm my suspicion). Fact is, the text string "An Microsoft Entra ID" appears more than a dozen times on the page where it should be "a Microsoft Entra ID". I can foresee that the same has happened on other pages covering, or referring to Microsoft Entra ID, as well.
Thank you for the opportunity to provide suggestions.

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

ID: 79cdcfc8-076e-38d6-e067-835d5ff0cb69
Version Independent ID: 79cdcfc8-076e-38d6-e067-835d5ff0cb69
Content: Work with Microsoft Entra ID group teams (Dataverse) - Power Apps
Content Source: powerapps-docs/developer/data-platform/aad-group-team.md
Service: powerapps
Sub-service: dataverse-developer
GitHub Login: @paulliew
Microsoft Alias: paulliew

Thanks for your comment, @wildehelm. This issue has been assigned to the doc author for review.


Temporarily disable Kubenetes APT package signature checks

neonKUBE node image builds are failing due to the apt package key download failing.  I've reported this to Google here:
https://github.com/kubernetes/kubernetes/issues/116068
I'm going to temporarily disable package signing checks to workaround this, but we really need to re-enable this checks ASAP to avoid the possibility of installing corrupted packages,
To re-enable security checks:

Open $/neonKUBE/Lib/Neon.Kube/Proxy/NodeSshProxy.NodePrepare.cs
Search for NodeInstallKubernetes
Set disableSecurityChecks = false

Looks like a Google engineer has deployed a temporary alternative URI:
https://dl.k8s.io/apt/doc/apt-key.gpg
This is on an official Kubernetes release website, so I'm going to bake this into the code as an alternative to fetch if the primary URI fails.  I'm going to leave this in the code just in case the primary fails again in the future.

Looks like this was part of a much bigger failure:
https://status.cloud.google.com/incidents/LnvJwfYu3TCyUrcrP7yf
This appears to be resolved now: the official URI is working again.  I'm going to leave the alternate URI in the code in case this happens again.


Elevation profile widget

Linked to https://github.com/kalisio/k2/issues/6.

Moved to https://github.com/kalisio/kdk/issues/527.


Make DumpableAttrs's subclasses inherit/merge always_dump

so github decided to add a merge commit when i clicked "squash merge" :woman_facepalming:


[FEA] response to erroneous arguments within 400ms

$ time ascli qualification --eventlog
2023-09-01 10:41:59,395 INFO rapids.tools.qualification: ******* [Initialization]: Starting *******
2023-09-01 10:41:59,408 INFO rapids.tools.qualification.ctxt: Start connecting to the platform
2023-09-01 10:41:59,409 WARNING rapids.tools.cmd: Environment report: Platform region is not set.
2023-09-01 10:41:59,409 INFO rapids.tools.qualification: ======= [Initialization]: Finished =======
2023-09-01 10:41:59,409 INFO rapids.tools.qualification: ******* [Connecting to Execution Cluster]: Starting *******
2023-09-01 10:41:59,409 INFO rapids.tools.qualification: Qualification requires no execution cluster. Skipping phase
2023-09-01 10:41:59,409 INFO rapids.tools.qualification: ======= [Connecting to Execution Cluster]: Finished =======
2023-09-01 10:41:59,409 INFO rapids.tools.qualification: ******* [Process-Arguments]: Starting *******
2023-09-01 10:41:59,409 INFO rapids.tools.qualification.ctxt: Local workdir root folder is set as .../qual_20230901144159_a7c98fA9
2023-09-01 10:41:59,410 INFO rapids.tools.qualification.ctxt: Dependencies are generated locally in local disk as: .../qual_20230901144159_a7c98fA9/work_dir
2023-09-01 10:41:59,410 INFO rapids.tools.qualification.ctxt: Local output folder is set as: .../qual_20230901144159_a7c98fA9
2023-09-01 10:41:59,410 INFO rapids.tools.qualification: Qualification tool processing the arguments
2023-09-01 10:42:01,794 INFO rapids.tools.qualification: RAPIDS accelerator jar is downloaded to work_dir .../qual_20230901144159_a7c98fA9/work_dir/rapids-4-spark-tools_2.12-23.08.0.jar
2023-09-01 10:42:01,795 INFO rapids.tools.qualification: Checking dependency Apache Spark
2023-09-01 10:42:04,660 INFO rapids.tools.qualification: Completed downloading of dependency [Apache Spark] => 2.865 seconds
2023-09-01 10:42:04,661 INFO rapids.tools.qualification: Dependencies are processed as: .../qual_20230901144159_a7c98fA9/work_dir/spark-3.3.1-bin-hadoop3/jars/*
2023-09-01 10:42:04,661 INFO rapids.tools.qualification: Total Execution Time: Downloading dependencies for local Mode => 2.867 seconds
2023-09-01 10:42:04,661 INFO rapids.tools.qualification: Savings estimates are disabled because the cluster-information is not provided.
2023-09-01 10:42:04,661 WARNING rapids.tools.qualification: Eventlogs is not set properly. The property cannot be pulled from cluster because it is not defined
2023-09-01 10:42:04,661 ERROR rapids.tools.qualification: Eventlogs list is empty. The cluster Spark properties may be missing "spark.eventLog.dir". Re-run the command passing "--eventlogs" flag to the wrapper.
2023-09-01 10:42:04,661 ERROR root: Qualification. Raised an error in phase [Process-Arguments]
Traceback (most recent call last):
  File ".../lib/python3.11/site-packages/spark_rapids_pytools/rapids/rapids_tool.py", line 107, in wrapper
    func_cb(self, *args, **kwargs)  # pylint: disable=not-callable
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File ".../lib/python3.11/site-packages/spark_rapids_pytools/rapids/rapids_tool.py", line 150, in _process_arguments
    self._process_custom_args()
  File ".../lib/python3.11/site-packages/spark_rapids_pytools/rapids/qualification.py", line 340, in _process_custom_args
    self._process_eventlogs_args()
  File ".../lib/python3.11/site-packages/spark_rapids_pytools/rapids/rapids_tool.py", line 613, in _process_eventlogs_args
    raise RuntimeError('Invalid arguments. The list of Apache Spark event logs is empty.')
RuntimeError: Invalid arguments. The list of Apache Spark event logs is empty.

ascli qualification --eventlog  2.68s user 1.22s system 66% cpu 5.847 total

$ time ascli qualification --eventlogs
2023-09-01 10:42:06,718 INFO rapids.tools.qualification: ******* [Initialization]: Starting *******
2023-09-01 10:42:06,731 INFO rapids.tools.qualification.ctxt: Start connecting to the platform
2023-09-01 10:42:06,731 WARNING rapids.tools.cmd: Environment report: Platform region is not set.
2023-09-01 10:42:06,731 INFO rapids.tools.qualification: ======= [Initialization]: Finished =======
2023-09-01 10:42:06,731 INFO rapids.tools.qualification: ******* [Connecting to Execution Cluster]: Starting *******
2023-09-01 10:42:06,731 INFO rapids.tools.qualification: Qualification requires no execution cluster. Skipping phase
2023-09-01 10:42:06,731 INFO rapids.tools.qualification: ======= [Connecting to Execution Cluster]: Finished =======
2023-09-01 10:42:06,731 INFO rapids.tools.qualification: ******* [Process-Arguments]: Starting *******
2023-09-01 10:42:06,732 INFO rapids.tools.qualification.ctxt: Local workdir root folder is set as .../qual_20230901144206_aFB334FE
2023-09-01 10:42:06,732 INFO rapids.tools.qualification.ctxt: Dependencies are generated locally in local disk as: .../qual_20230901144206_aFB334FE/work_dir
2023-09-01 10:42:06,732 INFO rapids.tools.qualification.ctxt: Local output folder is set as: .../qual_20230901144206_aFB334FE
2023-09-01 10:42:06,732 INFO rapids.tools.qualification: Qualification tool processing the arguments
2023-09-01 10:42:08,862 INFO rapids.tools.qualification: RAPIDS accelerator jar is downloaded to work_dir .../qual_20230901144206_aFB334FE/work_dir/rapids-4-spark-tools_2.12-23.08.0.jar
2023-09-01 10:42:08,863 INFO rapids.tools.qualification: Checking dependency Apache Spark
2023-09-01 10:42:11,890 INFO rapids.tools.qualification: Completed downloading of dependency [Apache Spark] => 3.028 seconds
2023-09-01 10:42:11,891 INFO rapids.tools.qualification: Dependencies are processed as: .../qual_20230901144206_aFB334FE/work_dir/spark-3.3.1-bin-hadoop3/jars/*
2023-09-01 10:42:11,891 INFO rapids.tools.qualification: Total Execution Time: Downloading dependencies for local Mode => 3.029 seconds
2023-09-01 10:42:11,891 INFO rapids.tools.qualification: Savings estimates are disabled because the cluster-information is not provided.
2023-09-01 10:42:11,891 ERROR root: Qualification. Raised an error in phase [Process-Arguments]
Traceback (most recent call last):
  File ".../lib/python3.11/site-packages/spark_rapids_pytools/rapids/rapids_tool.py", line 107, in wrapper
    func_cb(self, *args, **kwargs)  # pylint: disable=not-callable
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File ".../lib/python3.11/site-packages/spark_rapids_pytools/rapids/rapids_tool.py", line 150, in _process_arguments
    self._process_custom_args()
  File ".../lib/python3.11/site-packages/spark_rapids_pytools/rapids/qualification.py", line 340, in _process_custom_args
    self._process_eventlogs_args()
  File ".../lib/python3.11/site-packages/spark_rapids_pytools/rapids/rapids_tool.py", line 609, in _process_eventlogs_args
    if len(spark_event_logs) < 1:
       ^^^^^^^^^^^^^^^^^^^^^
TypeError: object of type 'bool' has no len()

ascli qualification --eventlogs  2.69s user 1.20s system 67% cpu 5.755 total

$ time testcli --eventlog
Usage: testcli [OPTIONS]
Try 'testcli --help' for help.

Error: No such option: --eventlog Did you mean --eventlogs?

testcli --eventlog  0.08s user 0.02s system 91% cpu 0.110 total

$ time testcli --eventlogs
Error: Option '--eventlogs' requires an argument.

testcli --eventlogs  0.07s user 0.01s system 97% cpu 0.088 total

This should be invalidated by the existing #485
I am curious about the 400 ms limit though.
Unlike a GUI service, the user-tools is a python CLI that is analyzing Spark eventlogs. In production, there are long processing jobs and the tools needs to go through the results to generate the reports.
What I mean is that a single subtask in the tools stage is way beyond that limit.

Closing this issue as not planned


Added levels and dynamic input box border

Fixes #8

@all-contributors please add rajfauzdar for code


Jest tests failing

Jest tests are failing in 007972e2 with this error:
Error detected while processing function test#run[26]..test#execute[18]..test#base#build_args:
line    4:
E118: Too many arguments for function: test#javascript#jest#build_args
E15: Invalid expression: test#{a:runner}#build_args(a:args, !no_color)
Error detected while processing function test#run:
line   26:
E171: Missing :endif

Running bisect shows that this was introduced in 19b84e68.
I think I might be able to fix it myself, but want to start by submitting an issue in any case.

Ok, I think I might have an inkling why this happens. The commit that introduced this added this catch to ensure that what I'm experiencing doesn't happen: https://github.com/vim-test/vim-test/blob/19b84e68/autoload/test/base.vim#L38
I guess that this catch doesn't work correctly in NeoVim (which I'm using). I'll look into what needs to happen in that case.

@janko commented in the commit on this behaviour:
I didn't find a way in VimScript to check how many arguments a
function supports, so we had to resort to try/catch for backwards
compatibility. We could have updated all runners to accept the second
argument, but that wouldn't solve any custom-made runners that people
might have created locally.

I wonder if it would be a good idea to have all runners included in the package support the second argument and also introduce a new function, e.g. called interface_version to make dealing with breaking changes easier. If a runner script has that function, it should be called and used to decide which function to call. If it doesn't have, interface_version 1 could be assumed. This could be used for any other function that requires breaking changes too and I believe it might be cleaner (but more code is involved).
The code might look something like this (notice that I'm a vimscript noob):
" In base.vim:

" Returns the interface version of the test runner script. If not provided,
" version 1 is assumed. This is so breaking changes can be introduced.
function! test#base#runner_interface_version(runner)
  if exists('g:test#'.a:runner.'interface_version')
    return test#{a:runner}#interface_version()
  else
    return 1
  endif
endfunction

function! test#base#build_args(runner, args, strategy)
  let no_color = has('gui_running') && a:strategy ==# 'basic'
  let interface_version = test#base#runner_interface_version(a:runner)

  if interface_version == 1
    return test#{a:runner}#build_args(a:args)
  else
    return test#{a:runner}#build_args(a:args, !no_color)
  endif
endfunction

This way, there would still be an issue if someone has locally implemented a runner script with the color argument. But from here on, it would be easier to introduce breaking changes like this.
What do you think?

I've only skimmed through this issue but my gut feeling is we need to improve our specs to include tests for the no color scenario which would have caught this issue out as the build would have failed. If I have time this weekend I'll add this to all the existing tests and fix those runners that are broken because of it.

I'm pretty sure that it's happening because of that catch I mentioned above is not working as expected in neovim.
I can send in a pull request that I think solves this but would like to get feedback on what maintainers think of having runners supply the version they support (interface_version).

Couldn't we instead update the catch expression to support Neovim?

Sure! That was my first thought also.
But when I saw your reasoning for adding the try/catch (backwards compatibility) I thought that perhaps it would be a good thing to guard against future backwards compatibility issues with versioning. I'm thinking about the next time someone would add a breaking change like this to the api. It means more code, but may make sense in this case because you expect the user to plug-in their own runners.
Let's say someone wants to add a third parameter to that same function. Then this catch would have to support three cases (1, 2 and 3 parameters). It feels a bit cleaner to me to handle those with a version check than with a try/catch. It would for example be simpler to find every case where the API had breaking changes and raise errors if an unsupported version is being used.
Here is a comparison of the two approaches from a reader's perspective:
" With try/catch:
function! test#base#build_args(runner, args, strategy)
  let no_color = has('gui_running') && a:strategy ==# 'basic'
  try
    return test#{a:runner}#build_args(a:args, !no_color, third_parameter)
  catch /^Vim\%((\a\+)\)\=:E118/ " too many arguments  " <--- Reader might be confused why we have this catch
  endtry
endfunction

" With versioning
function! test#base#build_args(runner, args, strategy)
  let no_color = has('gui_running') && a:strategy ==# 'basic'
  let interface_version = test#base#runner_interface_version(a:runner)
  if interface_version == 1
    return test#{a:runner}#build_args(a:args)
  elseif interface_version == 2
    return test#{a:runner}#build_args(a:args, !no_color)
  else
     return test#{a:runner}#build_args(a:args, !no_color, third_parameter) " <-- It's clear why this one is being called
  endif
endfunction

I did try a unit test approach but the problem is the tests are run as Vim not Neovim and I can't mock / override gui_running in the tests. Could this be fixed just by simplifying the try / catch block to the following?
  try
    return test#{a:runner}#build_args(a:args, !no_color)
  catch
    return test#{a:runner}#build_args(a:args)
  endtry

@withrocks I've a created a PR which fixes the issue for me running in Neovim, could you please give it a try

I think the interface_version idea would be an overkill for this problem. Also, it doesn't seem to be specific enough; it's not clear how the numbering should go if other functions change as well, or which numbers are assigned to which functions.

@withrocks what version of Neovim are you using? I tested the original try / catch logic using Neovim 0.4.3 and it worked fine. I double checked Neovim documentation for try / catch and it does support the patterns we need, for example:

:catch /^Vim%((\a+))=:E123/	" catch error E123

Hi @codeinabox. Good point. I was using NVIM v0.2.2. Just updated my machine and got nvim via apt so it was pretty old. Installed the latest beta and it works fine now as far as I can see!
(I guess it might make sense to make it work with the version Ubuntu 18 ships by default, but the issue can be closed as far as I'm concerned.)
@janko That's fair, albeit I was thinking about it to avoid any versioning issue in the future, not specifically to resolve this issue. But regarding your other point about the specificity: I was thinking that it's the version number of all the functions as one set (the whole API). So if any runner function's signature is changed so it breaks compatibility, you would increase the version number.
Thanks for the help!

Glad to hear upgrading the version of nvim fixed it!

@withrocks @codeinabox I'm getting the same error after simply installing vim-test (using Plug), setting test#python#runner = 'pytest' and running :TestFile. I'm using neovim 0.5.0.


WIP - Support negation in transformIgnorePatterns

Summary
This change makes it possible to supply regex values in the transformIgnorePatterns config parameter whose meanings are negated when evaluated. Such patterns need simply be prefixed with '!' for the negation to be applied.

Motivation
I made this change because @gaearon tweeted about a nasty regex he ended up needing to write.
Testing
I added a test case to transform-tests.js, which set up an ignore pattern of !\\.css$, and transforms a .js file and a .css file. As expected the JS file is not transformed, and the CSS one is.

To test, I ran yarn test, which ran clean and updated the snapshots.
Other Notes
While updating the documentation I removed the statement, 'These pattern strings match against the full path.' because this didn't appear to be true in the old implementation and continues not to be true now.

Thanks for your contribution @pugnascotia, much appreciated!
I'm just not sure if this is a good design to mix regex with glob-like syntax. It can be pretty confusing for newcomers.
Although there's an ongoing effort to introduce globs in configuration files: https://github.com/facebook/jest/issues/926
cc @cpojer

Closing this in favour of #926


fix: return 404 for not found users and show highlights tab without highlights

Description
This PR is still a WIP
This pull request fixes the issue of returning a 404 error for not-found users, skips the e2e profile test temporarily, and resolves the problem of an empty user profile display. Additionally, it fixes the unknown tab redirect issue.
TODO

[x] set default tab to contributions when user have no highlight
[x] show highlight tab with a call to action to create new highlight for logged in user profile

What type of PR is this? (check all applicable)

[ ] 🍕 Feature
[x] 🐛 Bug Fix
[ ] 📝 Documentation Update
[ ] 🎨 Style
[ ] 🧑💻 Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test
[ ] 🤖 Build
[ ] 🔁 CI
[ ] 📦 Chore (Release)
[ ] ⏩ Revert

Related Tickets & Documents
Fixes #1628

Mobile & Desktop Screenshots/Recordings

Added tests?

[ ] 👍 yes
[x] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help

Added to documentation?

[ ] 📜 README.md
[ ] 📓 docs.opensauced.pizza
[ ] 🍕 dev.to/opensauced
[ ] 📕 storybook
[x] 🙅 no documentation needed

[optional] Are there any post-deployment tasks we need to perform?
[optional] What gif best describes this PR or how it makes you feel?
https://github.com/open-sauced/app/assets/62995161/7c8e366a-854a-467a-939c-0cc50a19de20

#1613 needs to be merged before this implementation is concluded to avoid conflicts

I ask because the users who don't have github connected still redirects to 404 in the deployment.
I didn't ready correctly... It was the intention!

Is that what we want? This may lead to some gnarly UI/UX edges. For example, if I click on someone's profile in the explore tab and they aren't a user, it redirects to 404. I'd expect clicking on someone's user profile that seems to have data from the explore view that i would be able to see some sort of data from it.

Click user in explore view: https://deploy-preview-1631--oss-insights.netlify.app/user/acristoffers

Redirected to 404:

I'd expect clicking on someone's user profile that seems to have data from the explore view that i would be able to see some sort of data from it.

True @jpmcb, getting the contribution tab for an un-authed user as is in the current set-up, is very much insights about the user and that just about open-sauced/app generally.
There so many un-authed users with more insights to display that authed one too.

Is that what we want?

We still need to show profiles for indexed users we have a github handle for in the users table, it should not 404.
If we search for anadarist it should 404. Correct spelling is andarist

@jpmcb is correct. We still want to show contributors who haven't connected there account and show the orange circle and the blank background.
Current/Dev example: https://beta.insights.opensauced.pizza/user/mojombo?tab=contributions

I had this thoughts in mind while working on this... the current implementation redirects to 404 if the user is not in the opensauced database, but the reality is to show the profile with  contributions tab for any GitHub user and only redirect to 404 when the user is not a github user.
Example implementation

But this is will hit GitHubs rate limit without a token provided.

Update: I have reverted the 404 redirect until to move this on until we decide the best approach to supporting all indexed users
I've opened a discussion for that here
cc: @bdougie @brandonroberts @jpmcb


You could create an EventEmitter in your dialog component and subscribe to it in the parent.

onAdd = new EventEmitter();
onButtonClick() {
this.onAdd.emit();
}
// parent component
...
let dialogRef = this.dialog.open(Component);
const sub = dialogRef.componentInstance.onAdd.subscribe(() => {
  // do something
});
dialogRef.afterClosed().subscribe(() => {
  // unsubscribe onAdd
});
...

Here author is refering to unsubscribe the onAdd that is event emitter in the dialog,
is it correct or he wants to say to unsubscribe the sub variable i.e, sub.unsubscribe();,
Further how can i say that my component instance is destroyed after unsubscribying,
is there any check we can do like before and after unsubscribing we can apply any console log to check if unsubscription occurs or not.

Please keep GitHub issues for bug reports / feature requests. Better avenues for troubleshooting / questions are stack overflow, gitter, mailing list, etc.


[Wallet CLI] Add command to create example NFT

Wallet CLI will be the primary interface for users to perform "writes" on Sui at the Devnet launch, therefore we want to provide an easy way for the users to create a NFT-like rich object with image and attributes.
➜ wallet create-example-nft
Successfully created an ExampleNFT:

Owner: AddressOwner(k#c40322c9fa0edcf020cadd83896835549c5370cd)
Version: 1
ID: 34E70AAC60985889963565FE2EA767A892F91276
Readonly: false
Type: 0x2::ExampleNFT::ExampleNFT

➜ wallet create-example-nft --name "My NFT" --description "Great" --url "ipfs://fasdfasdfeuuDASJD"
Successfully created an ExampleNFT:

Owner: AddressOwner(k#c40322c9fa0edcf020cadd83896835549c5370cd)
Version: 1
ID: 21B836F0AE0DFAEB71D0FA3A1E9DCD5B24ACB903
Readonly: false
Type: 0x2::ExampleNFT::ExampleNFT

TODO

will add documentation after this PR is approved

Closes https://github.com/MystenLabs/sui/issues/1400

Thanks the feedback @patrickkuo ! Let me know if you have further concern


Any Demo to start with?

Is this component similar to something like grapesjs?
I have been able to follow the npm install directives. how do i launch it ?
Any demo to follow ?

"webapp tinkering" is not yet complete: I had to shift priorities temporarily (see voltcloud-for-xxx) but I plan to have it working by end of August. Please, stay tuned!


CLOUDP-181606 Deprecate current Data Lake commands

Proposed changes
Deprecate current Data Lake commands

Jira ticket: CLOUDP-181606

Checklist

[ ] I have signed the MongoDB CLA
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added any necessary documentation in document requirements section listed in CONTRIBUTING.md (if appropriate)
[ ] I have addressed the @mongodb/docs-cloud-team comments (if appropriate)
[ ] I have updated test/README.md (if an e2e test has been added)
[ ] I have run make fmt and formatted my code

Further comments

e2e generic tests are failing

e2e generic tests are failing

unrelated, tests are flakey

Good to merge then


Remove Python App Function Deployment Code and enable_dotnet Code.

Summary of the Pull Request
What is this about?
This PR removes Python App Function deployment code and enable_dotnet code. It is the first of several PRs that will remove references to the old python app service.
For now, we are still deploying two app functions, but they will both be dotnet functions. Any code that can be shared (in deploy.py or in any of the *.bicep files) is now shared and old python-specific references and resources have been removed.
This PR also updates the names of the zips output in the release artifacts. The dotnet api zip is now api-service.zip, i.e. the primary zip.
PR Checklist

[ ] Applies to work item: #2635
[ ] CLA signed. If not, go over here and sign the CLI.
[ ] Tests added/passed
[ ] Requires documentation to be updated
[ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

Info on Pull Request
What does this include?
Validation Steps Performed
How does someone test & validate?

Codecov Report

Merging #2636 (c56c4ee) into main (894dcc6) will decrease coverage by 4.45%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main    #2636      +/-   ##
==========================================
- Coverage   29.36%   24.91%   -4.46%
==========================================
  Files         290      121     -169
  Lines       35606    12536   -23070
==========================================
- Hits        10457     3123    -7334
+ Misses      25149     9413   -15736

Impacted Files
Coverage Δ

src/ApiService/ApiService/onefuzzlib/Creds.cs
0.00% <0.00%> (ø)

src/agent/coverage/src/block/linux.rs

src/agent/onefuzz-agent/src/main.rs

src/agent/input-tester/src/logging.rs

src/agent/storage-queue/src/lib.rs

src/agent/coverage/src/code.rs

src/agent/onefuzz/src/blob/url.rs

src/agent/onefuzz-agent/src/done.rs

src/agent/onefuzz/src/monitor.rs

src/agent/onefuzz-task/src/tasks/stats/common.rs

... and 160 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Migrate to kubebuilder v4 layout

I'm just following the documentation: https://book.kubebuilder.io/migration/manually_migration_guide_gov3_to_gov4.html
I didn't want to regenerate the project and move everything there, so I've followed all the manal steps
Issue: https://github.com/db-operator/db-operator/issues/34

@db-operator/admins I think it's ready


Add Mutli-Asset Bulk Sender web app

Name: Multi-Asset Bulk Sender
Description: A tool for sending ADA and/or native tokens in bulk. Send to multiple recipients in one transaction and save a lot on transaction fees.
Link:   https://staking.rocks/bulk-ada-sender
Tags:

nativetoken
nft
wallet

I'm closing this for now, please see comment above.


Laravel mysql errors due to daylight savings?

Laravel Version
^11.0
PHP Version
PHP 8.3.3-1+ubuntu22.04.1+deb.sury.org+1 (cli) (built: Feb 15 2024 18:38:52) (NTS)
Database Driver & Version
mysql  Ver 8.0.36-0ubuntu<IP_ADDRESS> for Linux on x86_64 ((Ubuntu))
Description
Hey,
I noticed this error in my logs last night. It seems like the queries failed because it was trying to update my table updated_at every minute from "2am-3am", which doesn't exist because time jumped instantly due to daylight savings.
It happened on a command that runs every minute, which then publishes to a queue after finishing. So both the command and then subsequent queue job failed
is there any way to fix/prevent this?
Here are examples from my laravel.log:

[2024-03-10 02:00:06] production.ERROR: SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '2024-03-10 02:00:06' for column 'failed_at' at row 1 (Connection: mysql, SQL: insert into failed_jobs (uuid, connection, queue, payload, exception, failed_at) values (xxx)  PDOException: SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '2024-03-10 02:00:05' for column 'updated_at' at row 1 in /var/www/subreddit/vendor/laravel/framework/src/Illuminate/Database/Connection.php:596

Next Illuminate\Database\QueryException: SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '2024-03-10 02:58:05' for column 'updated_at' at row 1 (Connection: mysql, SQL: update watcher set last_notification =<PHONE_NUMBER>, watcher.updated_at = 2024-03-10 02:58:05 where user_id = 1 and page_id in (1, 3)) in /var/www/laravel/vendor/laravel/framework/src/Illuminate/Database/Connection.php:813

Steps To Reproduce
I'm not sure how to reproduce, as daylight savings hour is over ... However, I can emulate it by typing it into artisan:
Psy Shell v0.12.0 (PHP 8.3.3-1+ubuntu22.04.1+deb.sury.org+1 — cli) by Justin Hileman
> use App\Models\Watcher;
> $w = Watcher::first();
= App\Models\Watcher {#5235
    id: 1,
    user_id: 1,
    page_id: 1,
    search_term: "nvidia",
    active: 1,
    last_notification:<PHONE_NUMBER>,
    created_at: "2024-03-03 16:40:02",
    updated_at: "2024-03-10 22:35:04",
  }

> $w->updated_at = "2024-03-10 02:10:00";
= "2024-03-10 02:10:00"

> $w->save();

   Illuminate\Database\QueryException  SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '2024-03-10 02:10:00' for column 'updated_at' at row 1 (Connection: mysql, SQL: update `watcher` set `watcher`.`updated_at` = 2024-03-10 02:10:00 where `id` = 1).```

Hi there,
Thanks for reporting the problem you are encountering, but it looks like this is a question which may be better suited for a support channel. We only use this issue tracker for reporting bugs with the library itself. If you have a question on how to use functionality provided by this repository you can try one of the following channels:

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC

However, this issue will not be locked and everyone is still free to discuss solutions to your problem!
Thanks.

I'm confused - this seems like an inherent laravel bug. My code is utilizing a basic laravel feature and failing due to an edge case (daylight savings).
This is my entire model file:
class Watcher extends Model
{
    use HasFactory;
    protected $fillable = [
        "user_id",
        "page_id",
        "search_term",
    ];

}
And the only thing I'm changing is:
$watcher->last_notification = $lastNotification;
$watcher->save();

And this fails because the built-in laravel timestamp feature is creating a value of 2024-03-10 02:00:05 which is invalid due to daylight savings.
This also happened to the other laravel built-in feature where it couldn't insert into the failed_jobs table.
[2024-03-10 02:00:06] production.ERROR: SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '2024-03-10 02:00:06' for column 'failed_at' at row 1 (Connection: mysql, SQL: insert into failed_jobs (uuid, connection, queue, payload, exception, failed_at) values (xxx) PDOException: SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '2024-03-10 02:00:05' for column 'updated_at' at row 1 in /var/www/subreddit/vendor/laravel/framework/src/Illuminate/Database/Connection.php:596

well for now, this seems to fix it
https://stackoverflow.com/questions/55084109/laravel-sqlstate22007-invalid-datetime-format-1292-incorrect-datetime-value/55084791#55084791
//config/database.php:

'mysql' => [
    // ...

    'timezone'  => '+00:00'
],


Call is Returning a Cached Response When Placed Above a Callonce in the Background

callonce.zip

no description in ticket, closing.


Check knc arbitrage for setKncRate in fee burner should be moved to feeBurner contract. Currently checked in getExpectedRate

Currently set KNC rate in fee Burner can be called by anyone.
some of the logic includes avoid setting rate when arbitrage exists.
this test was added in expected rate contract. to avoid deploying fee burner again. When fee burner is deployed, this test should be removed from expected rate and added to fee Burner.

This is the code in getExpectedRate
its a workaround that should be replaced.
if (src == knc &&
dest == ETH_TOKEN_ADDRESS &&
srcQty == UNIT_QTY_FOR_FEE_BURNER )
{
if (checkKncArbitrageRate(expectedRate)) expectedRate = 0;
}
and
function checkKncArbitrageRate(uint currentKncToEthRate) public view returns

in Katalyst, fee burner contract is removed.
so not relevant.


Add plain-text version of email; to prevent spam-detection

This issue is imported from pivotal
Migration emails from the guest-idp are currently being tagged as spam. One of the reasons is the emails are HTML only. (MIME_HTML_ONLY in spamassasin). Add a text-only part to prevent this.

@phavekes will do, but the other mail - those that are not marked SPAM - are also HTML only. Strange..

(Okke Harsta - Jan 17, 2020)

No spam (Okke Harsta - Jan 17, 2020)

@okkeh In the headers you\'ll see the message gets spam-points for html only:

X-Spam-Score: 0.61 () [Tag at 5.00] HTML_MESSAGE:0.001,MIME_HTML_ONLY:1.105,CC(NL:-0.5)
Above a total score of 5 it will be tagged in the subject (Peter Havekes - Jan 17, 2020)

De mails zijn multipart/alternative (good) maar het text/plain-deel is: Placeholder plain text (Arnout Terpstra - Jan 20, 2020)

The SPAM-tag is also being cased by "


uncaught exception when closing window (without quitting the app)

(on master as of right now)

Can you retry against most current master ?

yes, still happens. This only happens when closing the last tab with either in the menu Shell > Close or with its shortcut cmd+w. If the window is closed with the traffic lights this doesn't happen

@nfcampos Do you still have this problem? Seam to be working now.

I can confirm this is no longer an issue on v0.7.1


Look here, guys, I've got a tough problem, and I need your help ~

I have a crash problem, but I don't know where to start and try to solve it. Can you discuss this urgent problem with me? Thank you very much.
My question is:
Fatal error: [MXKAccount] onDateTimeFormatUpdate: Missing event id

Sorry, this isn't the place for support requests. Please join one of the public rooms and ask for help there.
As a starting point though, it looks like you should put a breakpoint on that MXKAccount onDateTimeFormatUpdate line in the stack trace and try debug whats going on from there.


Unable to assert within TaskMockRunner

I have a task does a regex replace based on tokens in a file (getting values from the variables in the build). To test, I’ve pulled in mock-fs to fake a file. The problem is that I can’t see a way to validate that the replacement actually happened, either in the test or after the test.
I’ve got a _testSuite file that creates a MockTestRunner to run a test, defined in test-atTokens.ts. This file in turn creates a mock TaskMockRunner – this is where I create a mock-fs instance to fake the file system (which I register with the TaskMockRunner).
Now after the task completes in the test run, I want to validate the replacement. I tried adding asserts to the test-atTokens file, but even though they fail the test still passes. In theory I could check the results in the _testSuite file, but I can’t see how to get a reference the mock-fs instance. So I’m stuck – I can’t see a way to assert from within the TaskMockRunner!
Is there a better way to test this or are there some methods missing in the mock classes for testing tasks?

sorry for the late response. if you run your test script using mock-test, that exposes helper functions that can be used to assert the correct things came back across process boundary via stdout.

here is an example
please re-open if needed


new features: add distributed scheduling support.

new features: add distributed scheduling support.

hi @yaohuitc pls fix ci, before commit, you can run mvn clean install -Dmaven.test.sip=true to check code style. or run mvn clean install to sca.

@yaohuitc Can you write readme.md files? I cann't run example on my local machine.

Add some comment.

@yaohuitc Can you write readme.md files? I don't konw how to config application.yml and other configuration.I cann't run example on my local machine.

can you share some error information when you're running the example

@yaohuitc Can you write readme.md files? I don't konw how to config application.yml and other configuration.I cann't run example on my local machine.

can you share some error information when you're running the example

@yaohuitc Can you write readme.md files? I don't konw how to config application.yml and other configuration.I cann't run example on my local machine.

can you share some error information when you're running the example

Public Key Retrieval is not allowed

add allowPublicKeyRetrieval=true

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
java.sql.SQLSyntaxErrorException: Unknown database 'testdb'

Since there is no readme documentation, I don't know what to configure or change, and there is no sql script in the example

pls resolve conflicts, We will discuss this at the next weekly meeting and merge afterward.


Modifications to solve the delta symbol issue

Partial fix for Issue #16

This looks good. One thing I've just noticed in the download (because it's more obvious now we have 'Delta' written out) is that there's a space before the brackets in "Available ∆G (kJ mol-1)" but not in "∆G(kJ mol-1)" - please could you add the space (in the HTML)?

I made sure to change the delta on line 18 as well but it did not pick it up as a change for some reason ?

I think the one on line 18 was already the Increment one.


Challenge1

name: Akash Jha
github_user_name: Ajcode69

forked: https://github.com/Ajcode69/oss101.git


[Sealer Build] When image in imageList unreachable, sealer just warn, i think it should fail.

What happened:
When image in imageList unreachable, sealer just warn, i think it should fail.

What you expected to happen: When image in imageList unreachable, sealer just warn, i think it should fail.
How to reproduce it (as minimally and precisely as possible):

Anything else we need to know?:
Environment:

sealer version (use sealer version):
Cloud provider or hardware configuration:
OS (e.g: cat /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

right ,if we lost some image ,the cloud image is incomplete.if some image already in the build host, we will lost some image layer too.


Suggestion: Rename containers (ex: ollama -> harbor_ollama, searxng -> harbor_searxng)

I'm running an instance of searxng on my host, and the container name is the same as the harbor instance. To avoid incompatibilities, isn't better use an "harbor prefix"?

Thank you for the suggestion, current setup was chosen out of aesthetic + compatibility between container names and service handles that is useful in a few places.
I'll add a customizable prefix in the next release

Released in v0.0.12

Good! Thanks for attention.


Windows application prevents windows shut down

It seems that something is running in a background thread.
This could help:
http://stackoverflow.com/questions/2498432/c-sharp-windows-application-prevents-windows-from-shutting-down-logging-off

restart works on windows 7, without timeline

shutdown works on windows 7, without timeline

refuses to quit when at least one sub window has been opened (about, preferences etc).

This problem is still causing me grief, to the extent that I'm considering abandoning Toggl.

@hairydogltd
We have had reports that the updater has not worked properly for some users. This means that users have not gotten all the updates and fixes. To be sure you have all the updates please do the following:

uninstall the application
delete all the files from C:\Users<username>\AppData\Local\TogglDesktop
install the latest stable version

You can get the latest stable version from: http://support.toggl.com/toggl-on-my-desktop


Request: Generating tokens programmatically

This is a request for a C# sample covering generating tokens programmatically as seen here: https://cloud.google.com/functions/docs/securing/authenticating#generating_tokens_programmatically
Based on sample feedback b/254628857

We have a sample like that already:
https://github.com/GoogleCloudPlatform/dotnet-docs-samples/blob/main/identity-aware-proxy/IAPClient/IAPClient.cs
The sample is for connecting to an AIP client so, the target audience is an AIP client ID, but the code would be exactly the same to connect to anything else. Not sure if we should duplicate this code for Functions or maybe make some minor changes so that we can reuse the same sample in both places.
@jskeet what do you think?

I think it would probably make sense to have a Functions-specific one, if it's not too hard. The aspects of "the function URI is the audience" would be useful to include there.


upgrade poi-collection.

Current coverage is 34.22% (diff: 100%)

Merging #36 into master will not change coverage

@@             master        #36   diff @@
==========================================
  Files            24         24
  Lines           710        710
  Methods         678        678
  Messages          0          0
  Branches         32         32
==========================================
  Hits            243        243
  Misses          467        467
  Partials          0          0

Powered by Codecov. Last update d9db39b...917e3b9


Bump crates, again

Somehow crates.io already has a 0.1.2, probably was published without a merge

@bors-servo r+

:pushpin: Commit 9d95eca has been approved by Ms2ger

:hourglass: Testing commit 9d95eca with merge 7a4da4b...

:sunny: Test successful - travis

Published.


links - open on browser

What kind of PR is this?:

/kind fix
What this PR does / why we need it:
Which issue(s) does this PR fixes?:

Fixes #976
Additional comments?:
Developer Checklist:

[ ] Read your code changes at least once
[ ] Tested on iOS/Android device (e.g, No crashes, library supported etc.)
[ ] No console errors on web
[ ] Tested on Light mode and Dark mode*
[ ] Your UI implementation visually matched the rendered design*
[ ] Unit tests*
[ ] Added e2e tests*
[ ] Added translations*

Looks good to me. lgtm


Warning accessing protected properties in extern base class

Here's a reduction of the problem:
Externs:
/** @constructor /
var Foo = function() {};
/* @protected */
Foo.prototype.doIt = function() {};
Main Module:
/**

@extends {Foo}
@constructor
*/
var Bar = function() {};

/** @this {Bar} */
var doThing = function() {
this.doIt();
};
This produces the warning:
WARNING - Access to protected property doIt of Bar not allowed here.
this.doIt();
Some Notes:
This doesn't occur if I move the base class into the main module.
This doesn't occur if I use Bar.prototype.doThing instead of the @this annotation.

@MatrixFrog

Generally, a "this" annotation shouldn't give you access to a protected property unless the function definition is within a class method (a "static", a prototype method).  That you don't get a warning in some cases would be a bug.   For your case, would defining it as a static would be sufficient?
/** @this {Bar} */
Bar.doThing = function() {
this.doIt();
};
Example:
http://closure-compiler-debugger.appspot.com/#input0%3D%252F**%250A%2520*%2520%2540extends%2520%257BFoo%257D%250A%2520*%2520%2540constructor%250A%2520*%252F%250Avar%2520Bar%2520%253D%2520function()%2520%257B%257D%253B%250A%250A%252F**%2520%2540this%2520%257BBar%257D%2520*%252F%250ABar.doThing%2520%253D%2520function()%2520%257B%250A%2520%2520this.doIt()%253B%250A%257D%253B%26input1%26conformanceConfig%26externs%3D%252F**%2520%2540constructor%2520*%252F%250Avar%2520Foo%2520%253D%2520function()%2520%257B%257D%253B%250A%252F**%2520%2540protected%2520*%252F%250AFoo.prototype.doIt%2520%253D%2520function()%2520%257B%257D%253B%26refasterjs-template%26includeDefaultExterns%3D1%26CHECK_SYMBOLS%3D1%26CHECK_TYPES%3D1%26CHECK_VISIBILITY%3D1%26MISSING_PROPERTIES%3D1

Thanks, John. That makes sense, but I guess I should take a step back and give a bit more context here because the real problem may be entirely different then. The generated code for a Polymer element is something like:
/**
 * @extends {Foo}
 * @constructor
 */
var Bar = function() {};
Polymer(/** @lends {Bar.prototype} */ {
  /** @this {Bar} */
  doThing: function() { this.doIt(); },
  ...
});

The @this is really just a workaround for the fact the lends doesn't give the right this context to functions on its own. In this case, these functions really should be "on the prototype". Perhaps the real solution here is to just fix the issues with lends.


Make the zincPersist API public

This PR depends on https://github.com/sbt/zinc/pull/351.
It adds the Java-friendly API to manipulate serialization/deserialization of
analysis files. It's a blocker for RC.

AnalysisStore. To allow users to implement their own way to back analysis
files.
AnalysisContents. To allow API evolution of the return type of set in
AnalysisStore. It replaces the previous tuple.

To validate this pull request against other sbt modules, please visit this link.

To validate this pull request against other sbt modules, please visit this link.

To validate this pull request against other sbt modules, please visit this link.

To validate this pull request against other sbt modules, please visit this link.

To validate this pull request against other sbt modules, please visit this link.

To validate this pull request against other sbt modules, please visit this link.

To validate this pull request against other sbt modules, please visit this link.

Is there a ripple PR for this?

No, that will be ready tomorrow.

To validate this pull request against other sbt modules, please visit this link.


conversion issues

Testing a few different input files and haven't been able to convert the following files:
Chair.FBX
WARNING:  Mesh contains more indices (50448) than the specified maximum (32767)
WARNING:  [Leathero2] Material doesn't extend FbxSurfaceLambert, replaced with RED diffuse
Eames.FBX
WARNING:  Mesh contains more indices (33792) than the specified maximum (32767)
WARNING:  [Wood] Material doesn't extend FbxSurfaceLambert, replaced with RED diffuse
Hut.FBX
WARNING:  [Mat_01] Material doesn't extend FbxSurfaceLambert, replaced with RED diffuse
Lightbulb.FBX
WARNING:  [Bulb] Node uses RrSs mode, transformation might be incorrect
WARNING:  [Bulb] Skipping empty node part, material: 'Black_Shiny.001'
Srt.FBX
WARNING:  Mesh contains more indices (260352) than the specified maximum (32767)
Hut.FBX
WARNING:  [Mat_01] Material doesn't extend FbxSurfaceLambert, replaced with RED diffuse
I'm running Debian 7 & fbx-conv version 0.01.0037 x64 (pre-release) using a precompiled binary;
Here is a link to an archive with the objects, and their respective command output's in text format.
https://www.dropbox.com/s/qsrdbhhiweqa2eh/fbxconv.rar?dl=0
Any help is much appreciated!

What is the actual issue?

the files listed above don't seem to be outputting a fbx file when I attempt to run them through the converter.

fbx-conv doesnt output fbx files at all. https://github.com/libgdx/libgdx/blob/master/CONTRIBUTING.md#bug-reports

@xoppa Hey ya! I'm the PHP guy on this project, @evilcats (Linux server guy) is not around so I'll try to do my best to explain :)
The converter is failing to produce G3DJ files from the fbx example files in the dropbox :( Whats strange is that we have another developer on a windows set up and he can convert them fine. But on our linux server we are getting indices count errors.
we keep getting WARNINGS but the G3DJ is not being created at all eg:
Chair.fbx
INFO:     FBX to G3Dx converter, version 0.01.0037 x64 (pre-release)
STATUS:   Loading source file
PROGRESS: Import FBX 100.00%
STATUS:   [shape(Box001)] Triangulating FbxMesh geometry
STATUS:   [shape(Line001)] Triangulating FbxMesh geometry
STATUS:   [shape(Box003)] Triangulating FbxMesh geometry
VERBOSE:  [shape(Box001)] polygons: 6108 (18324 indices), control points: 3172
VERBOSE:  [shape(Line001)] polygons: 16816 (50448 indices), control points: 8488
WARNING:  Mesh contains more indices (50448) than the specified maximum (32767)
VERBOSE:  [shape(Box003)] polygons: 704 (2112 indices), control points: 360
WARNING:  [Leathero2] Material doesn't extend FbxSurfaceLambert, replaced with RED diffuse
Illegal instruction
Some .fbx files are working fine. but most are failing :( we have tried different parameters in the command to increase stuff eg: -m 512000 but that still does not work :(
Why would the windows version work fine but the linux version is failing?
I'll get @evilcats to write a better bug report when he around.
Thanks for your time... any ideas would be great

This is an issue tracker. If you need help then please use the forum or irc instead. If you are indeed reporting an issue (and thus have verified that it is indeed an issue with fbx-conv and not with your setup or models) then please be precisely when describing an issue. https://github.com/libgdx/libgdx/blob/master/CONTRIBUTING.md#using-the-issue-tracker
Btw, judging from the limited logs you've pasted, your models are not suitable for rendering. That said, although I don't have a linux machine to test on, I'm pretty sure that fbx-conv either creates/overwrites a file or reports an error or crashes. You still haven't been able to describe what the actual issue is you're reporting.

@xoppa Thanks for your help.
I'll use the forum instead but I thought I had explained the issues :(
You will find detailed logs for each model in the .rar file @evilcats has sent you in dropbox
https://www.dropbox.com/s/qsrdbhhiweqa2eh/fbxconv.rar?dl=0

We have a windows developer that can convert all these models fine
They are NOT being converted on our Linux server :(
The G3DJ files are NOT being created at all
Why are they converting 100% correctly on the windows system BUT not Linux?

Can you convert the .fbx files in the dropbox rar at all? Do they work for you?
Cheers heaps @xoppa I'm trying to give you as many details as I can :) that's why we provided the logs and models in the rar file for you.

Please don't expect me to download some rar file to see a log. If the log is crucial for explaining the issue, then just include it in the issue. If it is too big to include (which i doubt it is) then include the relevant parts and link to a pastebin or gist for the full logs.
As said, fbx-conv should either create/overwrite a file, report an error or crash. So what is the actual issue? You say it doesnt create a file. The code creating the file is fairly straight forward. Does it report an error? Does it crash? Please precisely describe the issue you're reporting. Also describe the steps you took to verify that this is indeed an issue with fbx-conv and not with your setup.

@xoppa @evilcats
I can confirm that these model do convert on a windows system fine :( I just installed the converter on my windows system and they do work.
Hmmmmm.... Something is not right on the Linux server but I have no idea what could be wrong We have installed all the libfbxsdk.so and libfbxsdk.dylib library's and 'some models' are converting on the Linux server so I'm thinking that the library's are definitely working or else 'NO models' would be getting converted. Like you, I don't have a local Linux system handy to test on. Very strange :(
Feel free to close this issue if you have no ideas about what could be going wrong. I really need to set up another Linux server on my local to test. I'm sorry @evilcats didn't really give you much info :( I will give him a good growling at for taking up your time. I'll get a far more detailed report for you when he gets back later today.

Ok, will close this issue. Please open a new issue if you've figured out the actual issue and verified that it is indeed an issue of fbx-conv.

Thanks at @xoppa I am sorry for the crappy report ;)


How to setup QxInt ?

Hi, I'm learning programming new. How to setup this library, Can you teach?

Dear @makentow

See https://github.com/QtExcel/Qxlnt/tree/master/HelloQXlnt for an example.

https://github.com/QtExcel/Qxlnt/blob/master/HelloQXlnt/HelloQXlnt.pro

# HelloQXlnt.pro

TARGET = HelloQxlnt

CONFIG += console
CONFIG -= app_bundle

# The following define makes your compiler emit warnings if you use
# any feature of Qt which as been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

########################################
# Set environment values for Qxlnt. You may use default values.

msvc:DEFINES+=XLNT_IMPORT

include(../Qxlnt/Qxlnt.pri)

msvc{
# message('Visual C++ EXE TYPE')
CONFIG(debug, debug|release) {
LIBS+=$${QXLNT_ROOT}debug/QXlnt.lib
QMAKE_POST_LINK += copy ..\Qxlnt\debug\Qxlnt.dll .\debug\
} else {
LIBS+=$${QXLNT_ROOT}release/QXlnt.lib
QMAKE_POST_LINK += copy ..\Qxlnt\release\Qxlnt.dll .\release\
}
}

########################################
# source code

SOURCES += \
main.cpp

:one: If you use gcc, (gcc is default compiler of QtCreator)
Append one line for your Qt Project (*.pro). That;s it.
include(../Qxlnt/Qxlnt.pri)

Of course, you need to copy the Qxlnt path to your project.

:two: If you use Visual Studio(Visual C++), It's a little complicated.
Append some lines, below.
msvc:DEFINES+=XLNT_IMPORT

msvc{
# message('Visual C++ EXE TYPE')
CONFIG(debug, debug|release) {
LIBS+=$${QXLNT_ROOT}debug/QXlnt.lib
QMAKE_POST_LINK += copy ..\Qxlnt\debug\Qxlnt.dll .\debug\
} else {
LIBS+=$${QXLNT_ROOT}release/QXlnt.lib
QMAKE_POST_LINK += copy ..\Qxlnt\release\Qxlnt.dll .\release\
}
}

You need to set the path of Qxlnt.dll to your executable path.
This is because xlnt creates a DLL, when using Visual C++.
:three: Fix custom directory of https://github.com/QtExcel/Qxlnt/blob/master/Qxlnt/Qxlnt.pri
XLNT_ROOT = ../Qxlnt/
QXLNT_PARENTPATH = ../xlnt/
QXLNT_HEADERPATH = ../xlnt/include/
QXLNT_SOURCEPATH = ../xlnt/source/

You can set a relative path, or you can set an absolute path.

Dear @makentow

See https://github.com/QtExcel/Qxlnt/tree/master/HelloQXlnt for an example.

https://github.com/QtExcel/Qxlnt/blob/master/HelloQXlnt/HelloQXlnt.pro

# HelloQXlnt.pro

TARGET = HelloQxlnt

CONFIG += console
CONFIG -= app_bundle

# The following define makes your compiler emit warnings if you use
# any feature of Qt which as been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

########################################
# Set environment values for Qxlnt. You may use default values.

msvc:DEFINES+=XLNT_IMPORT

include(../Qxlnt/Qxlnt.pri)

msvc{
# message('Visual C++ EXE TYPE')
CONFIG(debug, debug|release) {
LIBS+=$${QXLNT_ROOT}debug/QXlnt.lib
QMAKE_POST_LINK += copy ..\Qxlnt\debug\Qxlnt.dll .\debug\
} else {
LIBS+=$${QXLNT_ROOT}release/QXlnt.lib
QMAKE_POST_LINK += copy ..\Qxlnt\release\Qxlnt.dll .\release\
}
}

########################################
# source code

SOURCES += \
main.cpp

:one: If you use gcc, (gcc is default compiler of QtCreator)
Append one line for your Qt Project (*.pro). That;s it.
include(../Qxlnt/Qxlnt.pri)

Of course, you need to copy the Qxlnt path to your project.

:two: If you use Visual Studio(Visual C++), It's a little complicated.
Append some lines, below.
msvc:DEFINES+=XLNT_IMPORT

msvc{
# message('Visual C++ EXE TYPE')
CONFIG(debug, debug|release) {
LIBS+=$${QXLNT_ROOT}debug/QXlnt.lib
QMAKE_POST_LINK += copy ..\Qxlnt\debug\Qxlnt.dll .\debug\
} else {
LIBS+=$${QXLNT_ROOT}release/QXlnt.lib
QMAKE_POST_LINK += copy ..\Qxlnt\release\Qxlnt.dll .\release\
}
}

You need to set the path of Qxlnt.dll to your executable path.
This is because xlnt creates a DLL, when using Visual C++.
:three: Fix custom directory of https://github.com/QtExcel/Qxlnt/blob/master/Qxlnt/Qxlnt.pri
XLNT_ROOT = ../Qxlnt/
QXLNT_PARENTPATH = ../xlnt/
QXLNT_HEADERPATH = ../xlnt/include/
QXLNT_SOURCEPATH = ../xlnt/source/

You can set a relative path, or you can set an absolute path.


 This reduces the explore and dashboard bundle sizes by half, with the idea that the user would then fetch visualization bundles as needed, depending on what's present on a dashboard or as they toggle vis types in explore.
We want to do some empirical testing with some of our internal dashboards next week, and will update then. In the meantime feel free to pull the branch or comment on the code.
before

after

@graceguo-supercat @mistercrunch

Wondering why the webpackChunkName doesn't show as such on entry file names, there's probably a way to hook that up.
We should probably have one webpackChunkName for all the visualizations that are mostly just d3 and small libs.

But this is awesome btw!

fyi hitting some issues testing this with prod data, still working on it. should be able to get the chunk files to have names that match the name in the code 👍

@williaster Did the issue around testing with Prod data resolve?
Thanks for all the great work. This is awesome.

sorry progress has been slower than expected, have been slammed with other projects including a focused sprint this week. will make this a priority to test early next week.

We should use the same webchunk name for all deckgl-related charts, same for nvd3 and same all the ones that only require d3. I'm thinking we could have 4-5 bundles with all the visualizations in them.
Is it just a matter of sharing/reusing webchunknames?

It's not as trivial as using the same chunk name. The final name consists of chunk name and hash.
I'd rather do that optimization in another PR because I think you'd have to create an index file that exports all of deckgl and async import that file. I'm not as familiar with the deckgl code organization so you all might be best suited to do that?

I can give deck.gl a shot if you want tho, I think the d3 bundle is almost over optimizing. That'll be harder to untangle potential totally as we refactor vis libraries.

I'm worried about the way things look here without bundling visualizations together. The sum of all visualization is much more than the original explore bundle.
A simple dashboard with a filter_box , nvd3, table and pivot_table will load like 24mb which is significantly more than the old explore bundle.
I'm guessing the load time improvements have to do with the fact that some of the work can be started upfront while the bundles are downloading.

We need to fix the fact that filter_box is 12mb. I'm thinking for visualizations that use React, they shouldn't have to import it and should somehow pick it up from global, same goes for jquery and perhaps a set of other things.
We probably need some sort of global_imports package that all apps (explore, dashboard, profile, ...) would import and build, and that visualization would pick from without importing/bundling.

I'm guessing the load time improvements have to do with the fact that some of the work can be started upfront while the bundles are downloading

Yes, and this is great from a user perspective because it doesn't block page render like it currently does. I think this will have the effect of making users feel like the page is loading much faster.

I'm thinking for visualizations that use React, they shouldn't have to import it and should somehow pick it up from global, same goes for jquery and perhaps a set of other things.

React is not that large (even smaller if we could actually upgrade to 16.0.0) and I can't tell if you mean literal globals (window.jquery) but we should move away from that pattern (and jquery in general, it's just syntactic sugar for JS and ideally we'd be using fetch not ajax) rather than embrace it.
It seems like the proper way to pull out "globally shared" code is using the webpack CommonChunksPlugin, if chunks share code it will pull them into a new chunk. I used this to create a separate chunk for all shared deck.gl code, and I also added it in a way that it should pull out all shared code into a separate chunk if it is imported by >=2 modules ... BUT this didn't appear to have any effect so the vis chunks must not really share that much code 🤷♀ This is the new final webpack output (note the deckgl layer size decreases, and the new larger deckgl.fb9e56a3bf69cd1ce139.chunk.js):
Version: webpack 3.11.0
Time: 46756ms
                                                 Asset       Size                              Chunks                    Chunk Names
      deckgl/layers/grid.a8beccbf9f5b13e97f98.chunk.js    8.74 kB                                  32  [emitted]         deckgl/layers/grid
                  f4769f9bdb7466be65088239c12046d1.eot    20.1 kB                                      [emitted]
                 fa2772327f55d8198301fdb8bcfc8158.woff    23.4 kB                                      [emitted]
                  e18bbf611f2a2e43afc071aa2f4e1512.ttf    45.4 kB                                      [emitted]
<PHONE_NUMBER>7bd7575d6327160d64e760.svg     109 kB                                      [emitted]
                nvd3_vis.7b1466ac696cd8d30467.chunk.js     6.8 MB                                   0  [emitted]  [big]  nvd3_vis
                  sankey.0da04cf564e3607b0313.chunk.js     268 kB                                   1  [emitted]  [big]  sankey
            paired_ttest.d9654f93c94179c43de4.chunk.js     304 kB                                   2  [emitted]  [big]  paired_ttest
             pivot_table.752772a0c72696357184.chunk.js    2.08 MB                                   3  [emitted]  [big]  pivot_table
    parallel_coordinates.0d0923b8adf4d520192a.chunk.js     204 kB                                   4  [emitted]         parallel_coordinates
               EventFlow.04abc2ccfab65027f920.chunk.js    2.57 MB                                   5  [emitted]  [big]  EventFlow
              big_number.39d33798fefe5e02632e.chunk.js    41.8 kB                                   6  [emitted]         big_number
                  markup.0ee56d948bd6cc1366fb.chunk.js    14.7 kB                                   7  [emitted]         markup
              filter_box.f76d5a45eff1c943db92.chunk.js      12 MB                                   8  [emitted]  [big]  filter_box
              time_table.49446835d78c8f19c439.chunk.js    1.51 MB                                   9  [emitted]  [big]  time_table
                  mapbox.b927c5a82390d9078f99.chunk.js    4.43 MB                                  10  [emitted]  [big]  mapbox
               partition.408cf680da8bcce8ad58.chunk.js     159 kB                                  11  [emitted]         partition
            deckgl/multi.bced534d9159ab18934d.chunk.js     512 kB  12, 13, 14, 29, 30, 31, 32, 33, 34  [emitted]  [big]  deckgl/multi
   deckgl/layers/scatter.ce1c712e5113e386fc6a.chunk.js     429 kB                                  13  [emitted]  [big]  deckgl/layers/scatter
deckgl/layers/screengrid.3619502e1991df96e5d5.chunk.js     400 kB                                  14  [emitted]  [big]  deckgl/layers/screengrid
                 heatmap.a587cf5f653617b1305a.chunk.js     108 kB                                  15  [emitted]         heatmap
                   table.48aed4719820c3e79b32.chunk.js    2.09 MB                                  16  [emitted]  [big]  table
             cal_heatmap.ed95b9fdabe40cb02ef1.chunk.js     348 kB                                  17  [emitted]  [big]  cal_heatmap
               world_map.3264a79e4259d761f4d0.chunk.js     941 kB                                  18  [emitted]  [big]  world_map
              word_cloud.477219c719efaab54f7c.chunk.js      45 kB                                  19  [emitted]         word_cloud
                    rose.92eafeac459006bad4bb.chunk.js    1.71 MB                                  20  [emitted]  [big]  rose
               histogram.d7ce608c93c52607b696.chunk.js    1.67 MB                                  21  [emitted]  [big]  histogram
                 treemap.f657e9f0a66f67c589ad.chunk.js      30 kB                                  22  [emitted]         treemap
                sunburst.5f07e304baedb2a39c0b.chunk.js    32.8 kB                                  23  [emitted]         sunburst
                 horizon.e8fba3db7283b0ab2024.chunk.js    18.9 kB                                  24  [emitted]         horizon
          directed_force.fcb6d26cd1fb2ae8add4.chunk.js    13.2 kB                                  25  [emitted]         directed_force
             country_map.c8e1683afb91b70582a1.chunk.js    16.7 kB                                  26  [emitted]         country_map
                   chord.d71d2fe59ff59c02121e.chunk.js    9.73 kB                                  27  [emitted]         chord
                  iframe.69c65c5f3fa42de0c8cf.chunk.js     1.8 kB                                  28  [emitted]         iframe
   deckgl/layers/polygon.3966937d1db2f1cdb4a1.chunk.js    6.75 kB                                  29  [emitted]         deckgl/layers/polygon
      deckgl/layers/path.47d1db5dd97d1e3f1535.chunk.js    7.42 kB                                  30  [emitted]         deckgl/layers/path
       deckgl/layers/hex.083fdc0e9eca06b50949.chunk.js    8.73 kB                                  31  [emitted]         deckgl/layers/hex
                448c34a56d699c29117adc64c43affeb.woff2      18 kB                                      [emitted]
   deckgl/layers/geojson.5e20b6a30b660329c019.chunk.js    12.1 kB                                  33  [emitted]         deckgl/layers/geojson
       deckgl/layers/arc.25cc2674046fd18c85a1.chunk.js    7.39 kB                                  34  [emitted]         deckgl/layers/arc
                 explore.69fb457561dcb2f21746.entry.js    25.6 MB                              35, 42  [emitted]  [big]  explore
                  sqllab.36c8988d9f36129a9183.entry.js    19.8 MB                              36, 42  [emitted]  [big]  sqllab
               dashboard.0a0c8aac20bdcac368aa.entry.js    15.4 MB                              37, 42  [emitted]  [big]  dashboard
                 profile.fa297a173d6a9ae45a79.entry.js    8.71 MB                              38, 42  [emitted]  [big]  profile
                addSlice.88e25db9764403cb2f42.entry.js    9.32 MB                              39, 42  [emitted]  [big]  addSlice
                 welcome.faa2156ccf68061b0f8a.entry.js    8.64 MB                              40, 42  [emitted]  [big]  welcome
                  deckgl.fb9e56a3bf69cd1ce139.chunk.js     8.7 MB                                  41  [emitted]  [big]  deckgl
                  common.32169c889bb0080def09.entry.js    3.99 MB                                  42  [emitted]  [big]  common
                   theme.489716a5e871d9900102.entry.js    6.15 kB                                  43  [emitted]         theme

The sad part is that this new deck.gl chunk doesn't load properly 😢 will keep digging a bit but may have to abandon it, or go talk to one of our web perf folks to see if they can help point me in the right direction. Sounds like there are many improvements for these exact thing in webpack v4, so we could consider upgrading to that (it will require new versions of node, so we'd need to specify engine: { node: '^8.9.4' } in the package.json, among other upgrades to webpack plugins, etc.)

all right things are going to get crazier from here, I was advised to not waste time getting the CommonsChunksPlugin to work and instead move to the webpack 4 hotness 🔥. I have a working (locally) version of that change, so could do that in another PR or could add it to this mix. @mistercrunch do you have any preference on that? they're both non-trivial changes I think, webpack v4 will require "node": ">= 6.11.5 <7.0.0 || >= 8.9.0" which means chef/backend config changes (cc @john-bodley)
Just for fun-sies I tried the changes here on top of the webpack 4 change and we are going going to generate a crazy number of bundles (because it does basically all of the shared chunk-ing you described above). this is a good overview article.

@williaster not sure if you are already familiar with this, but https://github.com/webpack-contrib/webpack-bundle-analyzer useful for deeper insights into the items impacting your bundle size here.  Beyond the deck.gl stuff, seems like brace, mathjs, and moment (locale) are most impactful.  There may be some opportunity to further optimize those, but would be interested in the webpack 4 upgrade stats before diving in on anything there.  Happy to help on this effort once you decide on direction to take this with @mistercrunch.
This is the output I got from your branch with the above plugin:

Hi,
Just wanted to check if we are planning to merge william's changes into superset?
Thanks

Sorry I've been slow getting back to this, was on vacation and now trying to wrap up dashboard v2. I hit an issue with the chunk urls that are generated when I use the webpack v4 splitChunks logic. I still think this is going to be a huge win for performance, I'll try to spend some time on it again next week unless anyone else wants to pull this branch and PR into it? (let me know and I can push my webpack v4 changes)

back on it, I think I figured out the webpack 4 issue. will post back today or tomorrow with bundle analysis etc! 🚀

Bundles are looking good in terms of maximum splitting/re-use. These images don't fully capture the picture for entry points (e.g., explorer, dashboard, sqllab) because every entry point "runtime" now actually consists of multiple scripts (for maximum sharing) [templates were updated accordingly].
Rough empirical #s for DOM loaded, MB transferred, etc. match pretty close to what I posted above, but the number of requests is now higher. I'm not sure this really matters if empirical load time + total MB transferred are still good, though.
before

after webpack 4 + splitchunks

Curious as to what happens if you pick multiple visualizations to have same webpackChunkName (trying to reduce the numder of chunks). Say all of the deckgl related ones or all of the ones that are just a few kbs already.

Very excited to see this. Bundle sizes prior to this PR were starting to be quite embarrassing.

@mistercrunch re the same chunk for deckgl, I'm not sure that using the same chunk name is the best way to fix that given the options that the SplitChunks plugin supports. For example you can specify a minSize criteria to be spun into a new chunk (default = 30kb), maxAsyncRequests, or maxInitialRequests.
My inclination is that we should see what happens with this since it's already a big change, and then tweak the optimizations from there.
Rebased on latest master just now and tried to test a lot myself locally. Will try to test on a staging box but if you could pull it and test more extensively with deck.gl that'd be super helpful! Unless we see any issues I think it's ready to merge!

Codecov Report

Merging #4727 into master will increase coverage by <.01%.
The diff coverage is 84.61%.

@@            Coverage Diff             @@
##           master    #4727      +/-   ##
==========================================
+ Coverage   77.47%   77.48%   +<.01%
==========================================
  Files          44       44
  Lines        8741     8748       +7
==========================================
+ Hits         6772     6778       +6
- Misses       1969     1970       +1

Impacted Files
Coverage Δ

superset/viz.py
81.29% <100%> (ø)
:arrow_up:

superset/__init__.py
73.1% <81.81%> (+0.78%)
:arrow_up:

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 b53b240...49c39fd. Read the comment docs.

Very nice. This seems to be a huge step forward, we can tweak things later as needed.

These are the final set of 3x empirical tests per example dashboard before and after, on non-minimized code with hard refresh/no caching. They look even better than above!

average total payload decreased by 8.8 MB (-65% change)
DOM content load time decreased 7.4s (-66% change)
Page total load time decreased 8.5 s
the average # requests increased by 13

@mistercrunch shall we merge this? 🚀
| Total payload (MB) |   |
-- | -- | -- | --
Dashboard | Before | After |  Delta
Births example | 12.5 | 3.9 | -8.6 MB
World data example | 12.5 | 3.9 | -8.6 MB
Misc charts example | 14.6 | 5.9 | -8.7 MB
Deck gl | 17.2 | 8.1 | -9.1 MB
| DOM content loaded (seconds) |   |
-- | -- | -- | --
Dashboard | Before | After | Delta
Births example | 11.52 | 3.84 | -7.68 s
World data example | 10.77 | 4.09 | -6.68 s
Misc charts example | 10.59 | 3.52 | -7.07 s
Deck gl | 11.69 | 3.62 | -8.07 s
| Total time [all requests incl async] (sec) |   |
-- | -- | -- | --
Dashboard | Before | After | Delta
Births example | 16.63 | 8.44 | -8.19 s
World data example | 13.17 | 5.51 | -7.66 s
Misc charts example | 17.58 | 9.5 | -8.07 s
Misc charts example w Deck gl | 18.43 | 8.31 | -10.12 s
| Requests (count) |   |
-- | -- | -- | --
Dashboard | Before | After | Delta
Births example | 32 | 44 | +12
World data example | 29 | 42 | +13
Misc charts example | 46 | 59 | +13
Deck gl (high bc of map tiles) | 196 | 208 | +12

I found and resolved an issue where the dynamic-import-node babel transpilation plugin broke webpack's bundle splitting capability (see comment here), which threw off my perf testing numbers above. They are now updated and look slightly better.
I also fixed the issue for updating visualizations promises and tested in explorer. @graceguo-supercat I also verified that switching between visualizations, or having multiple visualization of the same type does not result in new promises/requests.
Should be ready to merge if tests pass after the rebase I just did.

all right tests look good, should we merge @mistercrunch @graceguo-supercat @john-bodley ?

:shipit:

all righty 🤞🤞🤞


Fix user.name and mention text mismatch

@BillZengMSFT,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Flag issue

Fixes

Fixes #79  by @AbhishekM2001
Types of changes

[ ] Bug/Hot fix (non-breaking change which fixes an bug)
[x] New feature (non-breaking change which adds a functionality/feature)
[ ] Refactoring Old Code ( non-breaking change replacing already existing code)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Preview Link

Here's my preview

Checklist:

[x] I have read the CONTRIBUTING guidelines in repository.
[x] My pull request has a descriptive title and is attached to an existing issue.
[x] I haven't repeated the code and it follows established code style of repository.
[x] My branch is up-to-date with upstream branch.

@TechSpiritSS I've fetched the data instead of hardcoding. LinkedIn API is restrictive and there's no open Codechef API so I had to hardcode them both for now. I closed the previous PR while trying to resolve the merge conflict. I'll change the other 2 as well when APIs are available. Please merge this branch.

No issues mate, Great Work 👍


build distance to enemy

I would like to propose to change the distance at which ai can repair their walls/stairs and buildings from enemy units to be closer to that of the player or have the player closer to that of the ai as its currently a little bit unintuitive  considering the ai can repair walls etc much closer to the enemy than the player can sometimes  even up to 4 tiles away where in the player is massively restricted if such a case arises

As the Player usually has a lot more choices than the AI to defend himself I wouldn't decrease the construction blocking range for the player but rather increase it for the AI. Actually, the Ai would benefit from this, as it happens quite often that during a siege it detects a breach in the enemy defences but which is closed just before the army arrives. The attacking AI often doesn't realise it until it is too late.

As the Player usually has a lot more choices than the AI to defend himself I wouldn't decrease the construction blocking range for the player but rather increase it for the AI. Actually, the Ai would benefit from this, as it happens quite often that during a siege it detects a breach in the enemy defences but which is closed just before the army arrives. The attacking AI often doesn't realise it until it is too late.


Bug: perfectionist/sort-switch-case breaks eslint on consecutive string case statements

Describe the bug
perfectionist/sort-switch-case rule breaks eslint when using switch on consecutive string cases.
Code example
let restMethod;
switch (restMethod) {
  case "POST":
  case "GET":
    console.log("Print me")
    break;
}

The code above breaks eslint with the following error:
TypeError: Cannot read properties of null (reading 'makeNext')

The code below does not break eslint but reformats incorrectly into code with different behavior.
let restMethod
switch (restMethod) {
  case 1:
  case "POST":
  case "GET":
    console.log("Print me")
    break;
}

The code below breaks eslint with the same error however:
let restMethod
switch (restMethod) {
  case "POST":
  case 1:
  case "GET":
    console.log("Print me")
    break;
}

ESLint version
8.57.0
ESLint Plugin Perfectionist version
3.0.0
Additional comments
Possibly related to #187.
Validations

[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.

Thank you for your issue!
This problem was solved in d07f5f77cdb54b8eec32269695ab04f31d85a5f7 and released in v3.1.0.


[master]Network: Support deploy Ubuntu 20 and 22 with multi NICs

Changes code to write multi NICs configuration into one netplan yaml file for Ubuntu 20 and Ubuntu 22.
Because network setup in netplan yaml file does not support gateway set as empty string, so make gateway set for all NICs, no matter it is primary or no primary.

@SeanHQF @jichenjc @bjhuangr Please help review. Thank you.