Tooltip in Column

I would like to have one of my columns display a value as well as a tooltip(an icon the user hovers over to display a value).  The column would first display the status of a record as either incomplete, complete or expired.  I got that part working.  However, I would also like to add a tooltip that has additional information from the data source.  Can a column in ng2-smart-table consist of more than 1 value from the data source?  If so, how can that be done?

@apfanz See #557 But to do tooltips you would need to create a component. You can create a simple component that takes in your status and tooltip content, and adds the tooltip to the icon and off you go.
@somq posted this example of a similar render component: https://gist.github.com/somq/82192ebd857e22d6c5ebdd067fb92ed0
Then in your Column, add the following two options instead of type: 'html'
        type: 'custom',
        renderComponent: STPopoverViewComponent,

Hi,
you can add tooltip to your custom action without creating any custom component like this:

I hope this helps

Hi,
you can add tooltip to your custom action without creating any custom component like this:
I hope this helps

Is this a joke? Or maybe you just forgot to paste the code..

@ccruza I'm sorry, the code was not displayed. I updated my answer

Hello @dario30186
It's working perfectly on "custom action". Can you please explain how or what would be the code to do the same for the others "normal" columns? Maybe there is a property for column headers.
I want to achieve something like this:

Thanks!!

@ccruza I never used this on standard columns

@apfanz See #557 But to do tooltips you would need to create a component. You can create a simple component that takes in your status and tooltip content, and adds the tooltip to the icon and off you go.
@somq posted this example of a similar render component: https://gist.github.com/somq/82192ebd857e22d6c5ebdd067fb92ed0
Then in your Column, add the following two options instead of type: 'html'
type: 'custom',
renderComponent: STPopoverViewComponent,

It's working perfectly for one column, but.. my table has 6 columns. Do I have to implement one renderComponent for each column? is there a way to pass value of the tooltip to the renderComponent and there i decide what to put on the tooltip text?
Thanks

I need this too!

Because the feature is not supported still, I decided to implement this in that way, maybe, it will help someone.
In my view table.component.html
<ng2-smart-table
        [settings]="settings"
        [source]="data"
        class="table-responsive">
      </ng2-smart-table>

In my component table.component.ts
@Component({
  selector: 'ngx-table',
  templateUrl: './table.component.html',
  styleUrls: ['./table.component.scss'],
})
export class TableComponent implements AfterViewInit {

public settings = {
    hideSubHeader: true,
    actions: false,
    pager: {display: false},
    columns: {
      columnNameA: { title: 'column name A', sort: false},
      columnNameB: { title: 'column name B', sort: false},
    },
  };

constructor(
    public tableService: TableService,
    private elRef: ElementRef,
  ) { }

  ngAfterViewInit(): void {
    this.initColumnsToolTips();
  }

  private initColumnsToolTips(): void {
    // find all visible head's columns in the table using DOM access
    const thead = this.elRef.nativeElement.querySelector('thead');
    const columns = thead.querySelectorAll('tr th');

    columns.forEach(c => {
      if (this.tableService.columnsTooltips[c.innerText] != null) {
        c.insertAdjacentHTML('beforeend',
          `<i title=\"${this.tableService.columnsTooltips[c.innerText]
          }\" data-toggle=\"tooltip\" class=\"icon ion-help-circled\"></i>`);
      }
    });
  }

Here columnsTooltips is just a simple dictionary that contains column titles as keys and tool tip texts as values:
In my service table.service.ts
@Injectable({
  providedIn: 'root',
})
export class TableService {

  public columnsTooltips = {
    'column name A': 'column A tool tip',
    'column name B': 'column B tool tip',
  }
 ....

And in my styles table.component.scss
:host ::ng-deep th {
  .icon {
    font-size: 18px;
    color: cornflowerblue;
  }
}

It's just to use more bigger size and use blue color for the icon.
But anyway, it'll be pretty nice to have this feature included into the solution.
Thanks!


Button is Chinese text not en format

Describe the bug (描述)
A clear and concise description of what the bug is. 请用精炼的语句准确描述你遇到的BUG。
How to reproduce (如何复现)
Please provide a minimum demo rather than a full project or a incomplete pages. Otherwise we have rights to reject your request.
请提供一个最小化的demo用于复现，而不要提供整个项目或者不完整的页面，否则我们有权拒绝你的请求。
Steps to reproduce the behavior (描述复现步骤):

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

Expected behavior (期望行为)
A clear and concise description of what you expected to happen.
Screenshots (If contains) (是否有截图可以提供)
If applicable, add screenshots to help explain your problem.
Device information (设备信息)

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Package Version: [e.g. 22]
Flutter Version: [e.g. v1.17.1]

Additional context (附加信息)
Add any other context about the problem here. 在此提供更多的内容。

#28

@ashishkj93 , see solution in comments of #143

I have added this package then after all ui is show chainees text. It is not compatible with other language

@ashishkj93 You can use your own delegate to add support for any language you want.


[bug]: stuck preparing metadata setup.py...error

Is there an existing issue for this?

[X] I have searched the existing issues

OS
Windows
GPU
amd
VRAM
No response
What happened?
i just clicked on the install.bat,and I got this issue.i don't understand what happened.
Screenshots

Additional context
No response
Contact Details
<EMAIL_ADDRESS>

someone help me


Breaking: Make navi more compatible with Ember 3.x apps

The dynamic segments of the routes should be in snake case for Ember 3.
Also there was an issue with setting the report state. The issue is that the contract for the transition.send function changed. The first argument in the function definition is ignoreFailure which used to be defined as a boolean. So I think since we were calling transition.send and passing a string as the first argument, the compiler would know that the string wasn't meant to be assigned to ignoreFailure. There was a change recently that no longer defines ignoreFailure as a boolean, but gives it a default value of false. Now that means that when we pass a string as the first argument, that string gets passed as ignoreFailure to transition.send and everything blows up. The issue I mentioned says that they solved the issue by bumping up the version of router_js, but the line still has the default value and not a boolean specified like it did before. So for now, we will pass false as the first parameter to transition.send.

Can we break this into multiple commits?

@jkusa Done


Call vim function instead of exe?

Is there a way for me to call a vim function instead of shelling out to an executable on $PATH?
I ask because I'm working on a Clojure linter for Syntastic that would rely on Tim Pope's excellent vim-fireplace. If I have to write some sort of bash or vim standalone executable that wouldn't be the end of the world, but it'd be nice if I could just call the function directly.
Thanks!

Sure, just build a loclist and return it from GetLocList(), that's exactly the vimlint checker works. Syntastic only needs a loclist, it doesn't really care how that is obrtained.  In particular, the SyntasticMake() function is just a convenience that runs an external program and transforms its output in a loclist.

That's incredibly helpful, thanks.


Unable to see log inside the console window in iOS application.

I want to implement an in app log viewer that not only shows the list of all log files inside that application (using DDLogger to perform message logging) and enables user to view the logs of a particular log file. This functionality also allows to perform a search inside a given log file. I have tried LumberjackConsole but it is not working for file logging. The issue is related to this. I am referring that issue in here too as that console is using CocoaLumberJack as its base. One probable reason seems to me behind this is that the console is creating a different logging instance then referring to the file logger that I created.
Any idea on how to resolve this issue ?
Thanks

Per the linked issue, need to use the latest versions of both.


added code to HTML application

This PR adds the HTML code we need for the prework study guide.

This also adds more notes and procedures to my study guide.


Added import for all client-go auth plugins

Issue Ref: #990
Description
In the first commit, I made the changes necessary to support all auth plugins (especially Azure). It just required some small tweaks to an import and updating Gopkg.toml versions.
The second commit, I need some advice on. I don't know the pattern that is to be followed for /vendor packages. I just ran dep ensure and committed everything.
I tested this manually and am now able to connect to my Kubernetes cluster secured by Azure AD.
Testing
Original error:
$ kubeless get-server-config
FATA[0000] Can not get kubernetes client: No Auth Provider found for name "azure"

After making the change and compiling locally:
$ $GOPATH/bin/kubeless get-server-config
INFO[0000] Current Server Config:
INFO[0000] Supported Runtimes are: ballerina0.981.0, dotnetcore2.0, dotnetcore2.1, go1.10, java1.8, nodejs6, nodejs8, php7.2, python2.7, python3.4, python3.6, python3.7, ruby2.3, ruby2.4, ruby2.5, jvm1.8, nodejs_distroless8, nodejsCE8

TODOs:

[X] Ready to review
[x] Automated Tests
[ ] Docs

@andresmgot Added the note! Ready to merge.


Review and guard all missing fields/attributes

Ahead of https://github.com/alphagov/govuk-frontend/issues/4036 I've spent some time reviewing all optional things accessed without guards
We should follow this PR up with any extra errors we'd like to throw, although I've already split out:

https://github.com/alphagov/govuk-frontend/pull/4321
https://github.com/alphagov/govuk-frontend/pull/4320

For example, in PR https://github.com/alphagov/govuk-frontend/pull/4320 we've identified tab links without hash fragments (already handled in Skip link)
Missing elements, attributes etc

Class fields with incorrect null default
Selector null return values not handled
Timeout and interval IDs cleared when null
Confg allows null as typeof value === 'object'

@romaricpascal I've split this PR into separate commits to show what each change is for
Agree that textContent being null is frustrating so I've suggested an alternative below:
- ariaLabelParts.push(($summary.textContent || '').trim())
+ ariaLabelParts.push(`${$summary.textContent}`.trim())

But this is only necessary when running the TypeScript compiler with strict or strictNullChecks enabled since the specification shows all (Node interface textContent properties) can be null
From the mdn Node page:

In addition, every kind of DOM node is represented by an interface based on Node. These include Attr, CharacterData (which Text, Comment, CDATASection and ProcessingInstruction are all based on), and DocumentType.

It's a shame the compiler can't filter out other Node types that aren't possible

@romaricpascal @domoscargin I've updated this PR to move anything "new" or for discussion into:

https://github.com/alphagov/govuk-frontend/pull/4286
https://github.com/alphagov/govuk-frontend/pull/4106

This PR now includes only guards we've used elsewhere


Misc fixes for riscv64-linux-gnu

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @gnzlbg (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

Hey @andreas-schwab, could you rebase to make CI happy?
r? @JohnTitor


feat(api): Allow to insert links through API

To give plugins like Telescope-orgmode the ability to insert links, the API needs an extension.
The refactoring moves some methods from org.mappings into modules, where they should belong anyway, so they can be used from the new api method.
The new API method api.insert_link is mostly existing code moved from org.mappings.insert_link, which now just calls api.insert_link.

@kristijanhusak Please see my PR in Telescope-orgmode as an example, how this change can be used. I actually need this change for that feature.


Improve status checks of background location service

Linked issues:
fixes issue 1 in #685
when for the check for backgound service is still running, it was getting it wrong.
and the fact that the variable isBackgroundGeolocationConfigured doesnt actually reflect the correct state of the BackgroundGeolocation in certain cases
also reinstates the code to open an Alert box allowing the user to open the settings and turn on location services.
also includes fix for issues #564 which was merged in
Screenshots:

How to test
for issue #685 part1
open app
background app ,
open settings and disable use location
go back to app.
Used to be - location tracking icon still green/ enabled
With fix will correctly show - red / disabled
App will detect this and pop up an Alert to allow the user to open the settings and turn on location services.
issue 564 see PR #574 for how to test
TODO
localize resourse changes / additions
i think the settings app Alert opens twice sometimes.  Its doesnt break anything, its just a bit of a glitch
tests ... please advise!

One thing I need to do is add some unit tests... Also would be good for an Iphone user to try it to see if the iphone settings opens up ok before i merge.

Thanks for incorporating all of that feedback 👍
However - I still am getting a Location Active after following the test instructions. Can you confirm that you are seeing Location Inactive after manually disabling location services in device settings?

Closing because there has been no activity in 8 days and we made changes to LocationService.js and refactored location checks in #749


support gzip ?

Description:

Describe the issue.

curl -H 'Accept-Encoding: gzip,deflate' https://xxx.example.com/
The Responsed data is not compressed.

Duplicate of #2451


Bug: rsync failure when running tests with BwB

Describe the bug
When I run SwiftLint's tests in Xcode using BwB, I get rsync errors:
rsync: link_stat "/private/var/tmp/_bazel_jsimard/7034bb326caf3934edced22f6f4dd368/rules_xcodeproj/build_output_base/execroot/SwiftLint/bazel-out/darwin_arm64-dbg-ST-3182f29850cb/bin/Tests/SwiftLintFrameworkTests.xctest/Contents/MacOS/SwiftLintFrameworkTests.xctest" failed: No such file or directory (2)
rsync error: some files could not be transferred (code 23) at /AppleInternal/Library/BuildRoots/17b871cc-5535-11ed-b80b-a23c4f261b56/Library/Caches/com.apple.xbs/Sources/rsync/rsync/main.c(996) [sender=2.6.9]

Bisects to this commit: fb9555e2
The previous commit and version 0.10.1 don't exhibit this error.
Reproduction steps
git clone https://github.com/realm/SwiftLint
git checkout f8f2317bdbf0b402016036f577726403fd3bd58f
cd SwiftLint
bazel run xcodeproj
xed SwiftLint.xcodeproj
# cmd-U in Xcode

Expected behavior
Tests should run.
Versions

Bazel: 6.0.0
rules_xcodeproj: fb9555e2 to main (0b9783519da870e13d8bae3876c7b7e82c29aac6)
rules_apple: 2.0.0
rules_swift: 1.5.0

Additional context
Xcode build logs: Build SwiftLint_2023-01-16T10-31-18.txt

I'll get this fixed up tomorrow.

I believe https://github.com/buildbuddy-io/rules_xcodeproj/commit/0ad6162d7c97e218d07c4892b864ceaaff150e5a is what actually broke it. Still looking into a fix.

Thanks for the quick fix, I’ll let you know once I’ve had a chance to test it out.

Confirmed fix. Thanks again.


Documentation should target latest version of deis, not the development version.

Right now, every PR targets master, regardless of whether the PR addresses an unreleased version of deis or it targets the current release.
One solution that could fix this is that master branch targets the current release of deis and is currently in production. Then a second branch, called future targets the next version of deis and is merged into master when that next version is released.
There are lots of ways to solve this problem, so what does everyone think about this?

I'd personally opt for our build tools to handle this for us by building the docs on every tag as well as master. I've filed an issue to that tune on our deis.com repo (private due to blog post licensing issues).

That strategy sounds good to me!

Related https://github.com/deis/workflow/issues/385#issuecomment-233846550 :)

This doesn't work just yet. See #520. Once https://deis.com/docs/workflow/en/dev and https://deis.com/docs/workflow/en/v2.4.0 no longer show a 404 then we are rolling.

FYI https://deis.com/docs/workflow/en/v2.4.1/ is now available, it's just /en/dev that's missing. #524 fixes that.


Set schema version to 1.1 for SRG template

Due to an update for SRG to version 1.6.0, the schema version increased from 1.0.2 to 1.1

I get an error about needing a float not a string.
Tried with 1.1.0 and I get a different error (400 no oAuth token) which I believe to be unrelated.
So I believe this needs to be semver 1.1.0 instead.


Clarification on CIP-0030 signData

Hello, I'm building a dapp that uses signData for its authentication process with the backend. I'm having difficulty figuring out how to upgrade from the deprecated signData function to the new one. I am able to sign the data the same as before, but the difficulty lies in interpreting the { key, signature } result. Previously, it returned a COSESign1 hex string. With the hex, I could verify the signData like so:
import * as Serialization from '@emurgo/cardano-serialization-lib-nodejs';
import * as MessageSigning from './message_signing/rust/pkg/emurgo_message_signing';

/**
 * Determines if a wallet address signed a message (payload)
 * @param address Serialized wallet address
 * @param payload Serialized payload (i.e. message with nonce)
 * @param coseSign1Hex Hex string of signed payload (signed by user's wallet)
 * @returns True if payload was signed by wallet address
 */
export const verifySignedMessage = (address: string, payload: string, coseSign1Hex: string) => {
    const coseSign1 = MessageSigning.COSESign1.from_bytes(Buffer.from(coseSign1Hex, 'hex'));
    const payloadCose: Uint8Array | undefined = coseSign1.payload();

    if (!payloadCose || !verifyPayload(payload, payloadCose)) {
        throw new Error('Payload does not match');
    }

    const protectedHeaders: MessageSigning.HeaderMap = coseSign1
        .headers()
        .protected()
        .deserialized_headers();
    const headerCBORBytes: Uint8Array | undefined = protectedHeaders.header(MessageSigning.Label.new_text('address'))?.as_bytes();
    if (!headerCBORBytes) {
        throw new Error('Failed to convert header to bytes');
    }
    const keyId: Uint8Array | undefined = protectedHeaders.key_id();
    if (!keyId) {
        throw new Error('Failed to get keyId from header');
    }
    const addressCose: Serialization.Address = Serialization.Address.from_bytes(headerCBORBytes);
    const publicKeyCose = Serialization.PublicKey.from_bytes(keyId);

    if (!verifyAddress(address, addressCose, publicKeyCose))
        throw new Error('Could not verify because of address mismatch');

    const signature = Serialization.Ed25519Signature.from_bytes(coseSign1.signature());
    const data = coseSign1.signed_data().to_bytes();
    return publicKeyCose.verify(data, signature);
};

const verifyPayload = (payload: string, payloadCose: Uint8Array) => {
    return Buffer.from(payloadCose).compare(Buffer.from(payload, 'hex')) === 0;
};

const verifyAddress = (address: string, addressCose: Serialization.Address, publicKeyCose: Serialization.PublicKey) => {
    const checkAddress = Serialization.Address.from_bytes(Buffer.from(address, 'hex'));
    if (addressCose.to_bech32() !== checkAddress.to_bech32()) return false;
    // check if BaseAddress
    try {
        const baseAddress: Serialization.BaseAddress | undefined = Serialization.BaseAddress.from_address(addressCose);
        if (!baseAddress) {
            throw new Error('Failed to get base address from addressCose');
        }
        //reconstruct address
        const paymentKeyHash = publicKeyCose.hash();
        const stakeKeyHash: Serialization.Ed25519KeyHash | undefined = baseAddress.stake_cred().to_keyhash();
        if (!stakeKeyHash) {
            throw new Error('Failed to find stake key hash');
        }
        const reconstructedAddress = Serialization.BaseAddress.new(
            checkAddress.network_id(),
            Serialization.StakeCredential.from_keyhash(paymentKeyHash),
            Serialization.StakeCredential.from_keyhash(stakeKeyHash)
        );
        if (
            checkAddress.to_bech32() !== reconstructedAddress.to_address().to_bech32()
        )
            return false;

        return true;
    } catch (error) {
        console.error('Caught error verifying address', error);
    }
    // check if RewardAddress
    try {
        //reconstruct address
        const stakeKeyHash = publicKeyCose.hash();
        const reconstructedAddress = Serialization.RewardAddress.new(
            checkAddress.network_id(),
            Serialization.StakeCredential.from_keyhash(stakeKeyHash)
        );
        if (
            checkAddress.to_bech32() !== reconstructedAddress.to_address().to_bech32()
        )
            return false;

        return true;
    } catch (error) {
        console.error('Caught error verifying address', error)
    }
    return false;
};

From what I understand, the signature field of the new return object is also a COSESign1 hex. If I try using that field (and ignoring the key), I get an error when retrieving the keyid (makes sense). I tried using the key to calculate the keyid like so:
    const newKey = MessageSigning.COSEKey.from_bytes(Buffer.from(keyHex, 'hex'));
    const keyId = newKey.key_id();

, but that didn't work. Is there something I'm missing?

Client side workaround we're using for now:
if (walletName === 'nami') {
  signature = await window.cardano.signData(publicKey, toHex(message));
} else {
  signature = await window.cardano[walletName].signData(publicKey, toHex(message));
}

Fall back to the old implementation if a message has to besigned by nami. On other wallets, e.g. CCVault, use the CIP-0030 v0.1.0 standard.

I've looked at the current implementation for signData. Something like this seems to work for obtaining the public key.
if (key) {
    const coseKey = MS.COSEKey.from_bytes(Buffer.from(key, 'hex'));
    const publicKeyBytes = coseKey.header(
        MS.Label.new_int(
            MS.Int.new_negative(MS.BigNum.from_str('2'))
        )
    ).as_bytes();
    publicKeyCose = Cardano.PublicKey.from_bytes(publicKeyBytes);
} else {
    publicKeyCose = Cardano.PublicKey.from_bytes(protectedHeaders.key_id());
}

To be honest I need to read up un this some more to get a more complete picture.

Any updates when Nami will be up to date with CIP?


React should be imported from react instead of react-native

Thanks! Will merge as soon as at my computer.

Sorry it took so long to get this merged. Had to dust things off and make sure it works.


Error: Cannot set Visibility to Visible or call Show, ShowDialog, Close, or WindowInteropHelper.EnsureHandle while a Window is closing.

Describe the bug

Disclaimer: this is a bit vague but thought I'd bring this up as I see this error frequently in my logs initiated off a Window button close.

I haven't been able to track this one down myself for debugging in Markdown Monster, but I see this error quite frequently in my logs. I believe this is caused when the close box is clicked on the window perhaps when another shut down operation is already in place, or when a forced shutdown occurs due to an unhandled exception and app shutdown dialog.
Here's the stack trace:

To Reproduce
Can't reproduce reliably - that's where the vagueness comes in.
Environment(please complete the following information):

MahApps.Metro 1.6.5
OS:  Win10 1903
Visual Studio  2019
.NET Framework  4.8

other:
I'm guessing this is due to calling Close() when the window is already closing, so perhaps an additional check can be performed before calling Window.Close() closing the window.

@RickStrahl Do you have any code in the closing event of the window?
I have the same problem from time to time, but i found a way to bypass it, so i didn't make a bug report for this.

@punker76 @batzen : If you want to reproduce this you could change the demo app like this:
MainWindow.xaml.cs Line 368
        private async void MetroWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            if (e.Cancel)
            {
                return;
            }

            e.Cancel = !_shutdown;
            if (!e.Cancel)
            {
                return;
            }

            if (_viewModel.QuitConfirmationEnabled)
            {
                var mySettings = new MetroDialogSettings()
                {
                    AffirmativeButtonText = "Quit",
                    NegativeButtonText = "Cancel",
                    AnimateShow = true,
                    AnimateHide = false
                };

                var result = await this.ShowMessageAsync("Quit application?",
                                                         "Sure you want to quit application?",
                                                         MessageDialogStyle.AffirmativeAndNegative, mySettings);

                _shutdown = result == MessageDialogResult.Affirmative;
            }
            else
            {
                _shutdown = true;
            }
            if (_shutdown)
            {
                Close();
            }
        }

@batzen : May this error come from ControlzEx?

@timunie Yes - quite a bit and a few different code paths. I think the problem is aggravated by the fact that there are closing abort scenarios. But I think those all work as expected.  You can see in the stack trace, no user code is actually firing from my app, so I suspect this is triggered from an exception that's effectively killing the app. Not sure how the CloseButtonClick fits into that scenario, but I can't see how else this would get fired out of band like this.
I've seen the errors in my personal logs as well, but I can't duplicate - even with the exception scenario. I see about 5 of these errors a day in Markdown Monster's log (out of ~1000 users a day).

@RickStrahl I noticed that this error is thrown when you have a close of a window with any async code running (ShowMessageAsync for example). But I don't know the root cause.

I don't think this is caused by ControlzEx but by async instead.
Calling Close in a Closing handler does cause this issue in cases where the code does not run async, which might happen and explains why this only happens rarely.
@punker76 Should i fix this issue in the showcase application and create a PR?

@batzen :+1:

@batzen I manipulated the ShowCaseApp like the code I posted to produce this error. So I think there is no need to edit anything there. But maybe one should mention this in the documentation.

@timunie Ah, thought the code posted here was the code contained in the showcase application.
@RickStrahl I can fully reproduce your issue and you can too. Just double click on the close window button in MarkdownMonster.
It's possible to cause this crash in MarkdownMonster because you are doing way too much in your closing handler and even issue DoEvents in there. DoEvents breaks the control flow. Even showing dialogs might cause these kinds of issues.
The way i solved this was to check for a flag in Closing and always set e.Cancel if that flag isn't set. To set the flag i call the code for setting the flag via Dispatcher.BeginInvoke and also check for re-entrancy to prevent the code to set the flag from running multiple times before one call completely finished.
As you are doing quite a lot in closing i'd also add some kind of busy adorner/marker.

@batzen Yeah no doubt there's a lot happening in Closing in MM. I've looked at that a long time ago, but can't find a different way to handle that as Closing is the only way to detect the app shutdown. This is further complicated by the fact that there are a couple of things that can stop the close operation (version check, changed files and cancelling out or the registration reminder) so there are definite challenges to the normal control flow.
I've removed the DoEvents and replaced with a Dispatcher call which should make the flow more WPF friendly. I suspect the real issue is that there might be another hard exit that forces the app to close. So per your suggestion also added IsClosing to prevent double execution (although I couldn't duplicate that with a double click as you suggested - I get no failure with that, but that could be because of the changes :-))
I'll start with this and see what effect that has in the logs that show up before pulling the entire closing operation out and just always cancel until explicitly telling it to exit (good idea BTW!) which would require a bit more work (and some code-reducing refactoring).
Thanks for your help!

@RickStrahl Essentially you'd just have to move most of the code in closing to a separate method and call that with dispatcher.begininvoke. I updated the showcase of MahApps.Metro to just do that.

Looks like with the simple changes preventing re entrancy the errors in the log have stopped... I haven’t seen any repeats in recent version logs which is great.

So looks like this issue has come back to bite me and I'm looking at this again as I'm now seeing large numbers of errors in regards to this.
@batzen your suggestion to move off into a separate method via Dispatcher sounds good, but I do have cancel scenarios - it took a bit of experimentation but I now ended up with a forced closing scenario that looks like this:

bool ForceClose = false;

protected override void OnClosing(CancelEventArgs e)
{

    // force method to abort - we'll force a close explicitly
    e.Cancel = true;

    if (ForceClose)
    {
        // cleanup code already ran
        e.Cancel = false;
        return;
    }

    // let window events catch up!
    Dispatcher.InvokeAsync(WindowShutdown, DispatcherPriority.Normal);
}

private void WindowShutdown()
{
    try
    {
        // have to do this here to capture open windows etc. in SaveSettings()
        mmApp.Configuration.ApplicationUpdates.AccessCount++;
        _previewBrowserWindow?.Close();
        _previewBrowserWindow = null;
        PreviewBrowser = null;
        PreviewBrowserContainer = null;
        SaveSettings();

        if (!CloseAllTabs())
        {
            // tab closing was cancelled
            mmApp.Configuration.ApplicationUpdates.AccessCount--;
            return;
        }

        // hide the window quickly
        Top -= 10000;

        FolderBrowser?.ReleaseFileWatcher();
        bool isNewVersion = CheckForNewVersion(false, false);

        var displayCount = 6;
        if (mmApp.Configuration.ApplicationUpdates.AccessCount > 250)
            displayCount = 1;
        else if (mmApp.Configuration.ApplicationUpdates.AccessCount > 100)
            displayCount = 2;
        else if (mmApp.Configuration.ApplicationUpdates.AccessCount > 50)
            displayCount = 5;

        if (!isNewVersion && mmApp.Configuration.ApplicationUpdates.AccessCount % displayCount == 0 && !UnlockKey.IsRegistered())
        {
            // bring the window back
            Top += 10000;
            Opacity = 0;

            var rd = new RegisterDialog(true);
            rd.Owner = this;
            rd.ShowDialog();
        }

        PipeManager?.StopServer();

        AddinManager.Current.RaiseOnApplicationShutdown();
        AddinManager.Current.UnloadAddins();

        if (App.Mutex != null)
            App.Mutex.Dispose();

        PipeManager?.WaitForThreadShutDown(5000);
        mmApp.Shutdown();

        ForceClose = true;
        Close();
    }
    catch
    {
        ForceClose = true;
        Close();
    }
}

It's pretty ugly but it works. Whether this addresses the bug scenario I'm not sure until I see the logs, but it seems this should handle both duplicate closing scnearios as well as closing only when I know explicitly that the form should be closed 'quickly'.
We'll see how this goes, but I hope it addresses the number of issues showing up in my logs which are 90% of all critical errors that occur :-)


How can I allow low_vram mode?

I can run the gradio_canny2image.py without any issue.
But if the Image Resolution was been set to 512, the code send back an error.
I thought this issue might be cause by my GPU(Nvidia GeForce RTX 3060 Ti)'s 8GB vram is too low, It might be better if low_vram mode was allowed.
I don't know how to allow that mode, please help me, thanks

Documented here:
https://github.com/lllyasviel/ControlNet/blob/main/docs/low_vram.md

thanks!


Required IDs and more informative error messages

In this PR we add support for the required ID rules.
When a special kind of message is defined, an event, a command, a rejection, or an entity state, its first field must be the ID field. The ID fields are required by default (unless (required) = false).
Also, in this PR we tighten the rule for required collections. Previously, we only checked the collection to not be empty. Now, we also check the elements to be non-empty (non-default). This does not apply to primitive types that have no concept of an empty value, such as numbers and bools.

@armiol, PTAL.


[WIP][CI] Upgrade K8s ver to v1.20.1 used in VMC jenkins

Upgraded regular jobs' K8s ver from v1.19.1 to v1.20.1
Upgraded K8s ver in matrix jobs
Updated CI docs

/test-e2e
/test-conformance
/test-networkpolicy

Codecov Report

Merging #1958 (ecb126d) into main (e80ab3b) will decrease coverage by 22.74%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             main    #1958       +/-   ##
===========================================
- Coverage   64.35%   41.61%   -22.75%
===========================================
  Files         193      121       -72
  Lines       16967    14998     -1969
===========================================
- Hits        10919     6241     -4678
- Misses       4899     8225     +3326
+ Partials     1149      532      -617

Flag
Coverage Δ

kind-e2e-tests
?

unit-tests
41.61% <ø> (-0.05%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.


[SPARK-22934] [SQL] Make optional clauses order insensitive for CREATE TABLE SQL statement

What changes were proposed in this pull request?
Currently, our CREATE TABLE syntax require the EXACT order of clauses. It is pretty hard to remember the exact order. Thus, this PR is to make optional clauses order insensitive for CREATE TABLE SQL statement.
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] [db_name.]table_name
    [(col_name1 col_type1 [COMMENT col_comment1], ...)]
    USING datasource
    [OPTIONS (key1=val1, key2=val2, ...)]
    [PARTITIONED BY (col_name1, col_name2, ...)]
    [CLUSTERED BY (col_name3, col_name4, ...) INTO num_buckets BUCKETS]
    [LOCATION path]
    [COMMENT table_comment]
    [TBLPROPERTIES (key1=val1, key2=val2, ...)]
    [AS select_statement]

The proposal is to make the following clauses order insensitive.
    [OPTIONS (key1=val1, key2=val2, ...)]
    [PARTITIONED BY (col_name1, col_name2, ...)]
    [CLUSTERED BY (col_name3, col_name4, ...) INTO num_buckets BUCKETS]
    [LOCATION path]
    [COMMENT table_comment]
    [TBLPROPERTIES (key1=val1, key2=val2, ...)]

The same idea is also applicable to Create Hive Table.
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name
    [(col_name1[:] col_type1 [COMMENT col_comment1], ...)]
    [COMMENT table_comment]
    [PARTITIONED BY (col_name2[:] col_type2 [COMMENT col_comment2], ...)]
    [ROW FORMAT row_format]
    [STORED AS file_format]
    [LOCATION path]
    [TBLPROPERTIES (key1=val1, key2=val2, ...)]
    [AS select_statement]

The proposal is to make the following clauses order insensitive.
    [COMMENT table_comment]
    [PARTITIONED BY (col_name2[:] col_type2 [COMMENT col_comment2], ...)]
    [ROW FORMAT row_format]
    [STORED AS file_format]
    [LOCATION path]
    [TBLPROPERTIES (key1=val1, key2=val2, ...)]

How was this patch tested?
Added test cases

Test build #85576 has started for PR 20133 at commit 8ae8f18.

Test build #85576 has finished for PR 20133 at commit 8ae8f18.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/85576/
Test FAILed.

Test build #85578 has started for PR 20133 at commit 0894f5e.

Test build #85578 has finished for PR 20133 at commit 0894f5e.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/85578/
Test PASSed.


InvalidCodepoint exception with wildcard certificate name ? [Wildcard/CN=*.]

Error
elasticsearch.exceptions.ConnectionError: ConnectionError(Codepoint U+002A at position 1 of u'*' not allowed) caused by: InvalidCodepoint(Codepoint U+002A at position 1 of u'*' not allowed)

Overview
I'm seeing an InvalidCodepoint exception connecting to my elasticsearch server via ssl after upgrading to urllib3==1.17.  This worked correctly with urllib3=1.16.
What can I do to help debug this issue?  Can I turn up logging? Is this a problem with how elasticsearch is calling urllib3?  I've simplified with a direct urllib3 example.
Lemma 1.
In 1.17 urllib3 switched to using idna.
Lemma 2
The host has a wildcard certificate valid for *.prod.example.com
Hypothesis
I assume the wildcard certificate is somehow related to the u'*' in the invalid code point error provided from idna.
Reproduction Steps
Failing elasticsearch script
urllib3_test.py:
#!/usr/bin/env python

import certifi
from elasticsearch import Elasticsearch
import urllib3.contrib.pyopenssl

urllib3.contrib.pyopenssl.inject_into_urllib3()

host = u"rdb-test-andrew-01.prod.example.com"
es_client=Elasticsearch(host,
                        use_ssl=True,
                        verify_certs=True,
                        ca_certs=certifi.where())
es_client.info()

Recreate environment
virtualenv env-test && . env-test/bin/activate
pip install elasticsearch==2.4.0 urllib3==1.17 certifi==2016.8.31
pip install urllib3[secure]

$ ./urllib3_test.py
Traceback (most recent call last):
  File "./urllib3_test.py", line 14, in <module>
    es_client.info()
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/elasticsearch/client/utils.py", line 69, in _wrapped
    return func(*args, params=params, **kwargs)
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/elasticsearch/client/__init__.py", line 220, in info
    return self.transport.perform_request('GET', '/', params=params)
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/elasticsearch/transport.py", line 327, in perform_request
    status, headers, data = connection.perform_request(method, url, params, body, ignore=ignore, timeout=timeout)
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/elasticsearch/connection/http_urllib3.py", line 105, in perform_request
    raise ConnectionError('N/A', str(e), e)
elasticsearch.exceptions.ConnectionError: ConnectionError(Codepoint U+002A at position 1 of u'*' not allowed) caused by: InvalidCodepoint(Codepoint U+002A at position 1 of u'*' not allowed)

Installed versions:
pip freeze
argparse==1.2.1
certifi==2016.08.31
cffi==1.8.3
cryptography==1.5
distribute==0.6.24
elasticsearch==2.4.0
enum34==1.1.6
idna==2.1
ipaddress==1.0.17
pyOpenSSL==16.1.0
pyasn1==0.1.9
pycparser==2.14
six==1.10.0
urllib3==1.17
wsgiref==0.1.2

Working example in urllib3==1.16
% pip install urllib3==1.16
% pip install pyopenssl ndg-httpsclient pyasn1

% ./urllib3_test.py
# success! no error

% pip freeze
argparse==1.2.1
certifi==2016.08.31
cffi==1.8.3
cryptography==1.5
distribute==0.6.24
elasticsearch==2.4.0
enum34==1.1.6
idna==2.1
ipaddress==1.0.17
ndg-httpsclient==0.4.2
pyOpenSSL==16.1.0
pyasn1==0.1.9
pycparser==2.14
six==1.10.0
urllib3==1.16
wsgiref==0.1.2

Simplified test
#!/usr/bin/env python

import certifi
import urllib3
import urllib3.contrib.pyopenssl

urllib3.contrib.pyopenssl.inject_into_urllib3()

url = u"https://rdb-test-andrew-01.prod.example.com:9200"
connection_pool = urllib3.PoolManager(
        cert_reqs='CERT_REQUIRED',
        ca_certs=certifi.where())
resp = connection_pool.request('GET', url)
print resp.data

  File "./urllib3_test_direct.py", line 13, in <module>
    resp = connection_pool.request('GET', url)
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/urllib3/request.py", line 66, in request
    **urlopen_kw)
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/urllib3/request.py", line 87, in request_encode_url
    return self.urlopen(method, url, **extra_kw)
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/urllib3/poolmanager.py", line 244, in urlopen
    response = conn.urlopen(method, u.request_uri, **kw)
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/urllib3/connectionpool.py", line 594, in urlopen
    chunked=chunked)
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/urllib3/connectionpool.py", line 350, in _make_request
    self._validate_conn(conn)
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/urllib3/connectionpool.py", line 833, in _validate_conn
    conn.connect()
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/urllib3/connection.py", line 324, in connect
    cert = self.sock.getpeercert()
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 312, in getpeercert
    'subjectAltName': get_subj_alt_name(x509)
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 185, in get_subj_alt_name
    for name in ext.get_values_for_type(x509.DNSName)
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 141, in _dnsname_to_stdlib
    name = idna.encode(name)
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/idna/core.py", line 355, in encode
    result.append(alabel(label))
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/idna/core.py", line 276, in alabel
    check_label(label)
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/idna/core.py", line 253, in check_label
    raise InvalidCodepoint('Codepoint {0} at position {1} of {2} not allowed'.format(_unot(cp_value), pos+1, repr(label)))
idna.core.InvalidCodepoint: Codepoint U+002A at position 1 of u'*' not allowed

Certificate Info
---
Certificate chain
 0 s:/OU=Domain Control Validated/OU=PositiveSSL Wildcard/CN=*.prod.ziprecruiter.com
   i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA
 1 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA
   i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
 2 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
   i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root

subject=/OU=Domain Control Validated/OU=PositiveSSL Wildcard/CN=*.prod.example.com
issuer=/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA

ObNote
replaced our real commercial domain name with example.com.

Hey @spazm, I believe this may be related to #979 which has been addressed in master with #980. If you have a moment could you run your codebase with the current master branch and see if this solves the issue?

Checked out master (3de23d0edef737a8b72d33140a3ad44af19a565b) and installed.  Fixed!  Thanks for the quick response, @nateprewitt.
LGTM. 👍
Failing with 1.17
pip install urllib3==1.17 && ./urllib3_test_direct.py
Downloading/unpacking urllib3==1.17
  Downloading urllib3-1.17.tar.gz (181Kb): 181Kb downloaded
  Running setup.py egg_info for package urllib3

    warning: no previously-included files matching '*' found under directory 'docs/_build'
Installing collected packages: urllib3
  Found existing installation: urllib3 dev
    Uninstalling urllib3:
      Successfully uninstalled urllib3
  Running setup.py install for urllib3

    warning: no previously-included files matching '*' found under directory 'docs/_build'
Successfully installed urllib3
Cleaning up...
Traceback (most recent call last):
  File "./urllib3_test_direct.py", line 13, in <module>
    resp = connection_pool.request('GET', url)
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/urllib3/request.py", line 66, in request
    **urlopen_kw)
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/urllib3/request.py", line 87, in request_encode_url
    return self.urlopen(method, url, **extra_kw)
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/urllib3/poolmanager.py", line 244, in urlopen
    response = conn.urlopen(method, u.request_uri, **kw)
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/urllib3/connectionpool.py", line 594, in urlopen
    chunked=chunked)
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/urllib3/connectionpool.py", line 350, in _make_request
    self._validate_conn(conn)
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/urllib3/connectionpool.py", line 833, in _validate_conn
    conn.connect()
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/urllib3/connection.py", line 324, in connect
    cert = self.sock.getpeercert()
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 312, in getpeercert
    'subjectAltName': get_subj_alt_name(x509)
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 185, in get_subj_alt_name
    for name in ext.get_values_for_type(x509.DNSName)
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 141, in _dnsname_to_stdlib
    name = idna.encode(name)
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/idna/core.py", line 355, in encode
    result.append(alabel(label))
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/idna/core.py", line 276, in alabel
    check_label(label)
  File "/mnt/my-candidates/env-test/local/lib/python2.7/site-packages/idna/core.py", line 253, in check_label
    raise InvalidCodepoint('Codepoint {0} at position {1} of {2} not allowed'.format(_unot(cp_value), pos+1, repr(label)))
idna.core.InvalidCodepoint: Codepoint U+002A at position 1 of u'*' not allowed

Working with HEAD (3de23d0)
$ pip install ./urllib3/ && ./urllib3_test_direct.py
Unpacking ./urllib3
  Running setup.py egg_info for package from file:///mnt/my-candidates/urllib3

    warning: no previously-included files matching '*' found under directory 'docs/_build'
Installing collected packages: urllib3
  Found existing installation: urllib3 1.17
    Uninstalling urllib3:
      Successfully uninstalled urllib3
  Running setup.py install for urllib3

    warning: no previously-included files matching '*' found under directory 'docs/_build'
Successfully installed urllib3
Cleaning up...
{
  "name" : "rdb-test-andrew-01.prod",
  "cluster_name" : "rdb-test-andrew.prod",
  "version" : {
    "number" : "2.4.0",
    "build_hash" : "ce9f0c7394dee074091dd1bc4e9469251181fc55",
    "build_timestamp" : "2016-08-29T09:14:17Z",
    "build_snapshot" : false,
    "lucene_version" : "5.5.2"
  },
  "tagline" : "You Know, for Search"
}

urllib3_test_direct.py
(same as previous comment)
#!/usr/bin/env python

import certifi
import urllib3
import urllib3.contrib.pyopenssl

urllib3.contrib.pyopenssl.inject_into_urllib3()

url = u"https://rdb-test-andrew-01.prod.example.com:9200"
connection_pool = urllib3.PoolManager(
        cert_reqs='CERT_REQUIRED',
        ca_certs=certifi.where())
resp = connection_pool.request('GET', url)
print resp.data

Great, glad it helped @spazm.

Reopening the issue to see if an update to the urllib3 package can be published with this fix?
Thanks

It can do. It's on my schedule, but won't happen before next week.

Okay thanks for the reply.


RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use Python 3.4+ and the 'spawn' start method

Did I miss some configs? In readme file you said the project require python2.7.
The complete error is here:
Traceback (most recent call last):   File "trainval_net.py", line 342, in <module>     data = next(vid_data_iter)   File "/root/anaconda2/lib/python2.7/site-packages/torch/utils/data/dataloader.py", line 281, in __next__     return self._process_next_batch(batch)   File "/root/anaconda2/lib/python2.7/site-packages/torch/utils/data/dataloader.py", line 301, in _process_next_batch     raise batch.exc_type(batch.exc_msg) RuntimeError: Traceback (most recent call last):   File "/root/anaconda2/lib/python2.7/site-packages/torch/utils/data/dataloader.py", line 55, in _worker_loop     samples = collate_fn([dataset[i] for i in batch_indices])   File "/pytorch-detect-to-track/lib/roi_data_layer/roibatchLoader.py", line 218, in __getitem__     num_boxes.append(torch.LongTensor([min(gt_boxes[ientry].size(0), self.max_num_box)]).cuda())   File "/root/anaconda2/lib/python2.7/site-packages/torch/_utils.py", line 69, in _cuda     return new_type(self.size()).copy_(self, async)   File "/root/anaconda2/lib/python2.7/site-packages/torch/cuda/__init__.py", line 384, in _lazy_new     _lazy_init()   File "/root/anaconda2/lib/python2.7/site-packages/torch/cuda/__init__.py", line 140, in _lazy_init     "Cannot re-initialize CUDA in forked subprocess. " + msg) RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use Python 3.4+ and the 'spawn' start method
Thank you.

Have you solved this problem?

Have you solved this problem?

no, I used matlab version later

Have you solved this problem?

issue.
The problem is due to multi-workers used in dataloader I think. And it's ok when --nw=0. But I dont know how to solve it to load data with muti-workers. 😢

Have you solved this problem?

issue.
The problem is due to multi-workers used in dataloader I think. And it's ok when --nw=0. But I dont know how to solve it to load data with muti-workers. 😢

Thank you, it works


Remove pod-termination doc

The /docs/concepts/abstractions/pod-termination.md file looks like remnant from last reorg of directory structure. The content in this file are well covered by the "Termination of Pods" subsection in the article /docs/concepts/workloads/pods/pod.md.
This PR proposes a complete removal.
Fixes: #6197

This change is

@steveperry-53


Unable to push compressed assets

Hapi: v17.2.0
Inert: v5.1.0
Underdog: v2.0.1
Unless I am going about this all wrong, I cannot get h.push() to push back .gz assets for the array of paths provided as the second argument. Is this supported currently?
From what I understand, Hapi handles compression out of the box, but in my use case I have gzipped the assets myself and want to respond to requests for compressible assets (js, css, etc..) with their compressed counterparts.
// This works, but the assets returned are uncompressed
  const index = readFileSync(join(__dirname, 'public/index.html')).toString();
  server.route({
    method: 'GET',
    path: '/',
    handler: (request, h) => {
      const response = h.response(index);
      h.push(response, ['/app.js', '/pure.css', '/assets/hero-bg.jpg']);

      return response;
    }
  });

/*This is not supported. The compressed resources are not pushed to the client,
  but instead the client discovers the assets after parsing through the `index .html`
  and the automatically compressed assets are returned */
  const index = readFileSync(join(__dirname, 'public/index.html')).toString();
  server.route({
    method: 'GET',
    path: '/',
    handler: (request, h) => {
      const response = h.response(index);
      h.push(response, ['/app.js.gz', '/pure.css.gz', '/assets/hero-bg.jpg']);

      return response;
    }
  });

This is a simplified version of my config for clarity:
(async () => {
  const listener = h2.createSecureServer({
    key: readFileSync(join(__dirname, '/keys/key.pem'), 'UTF-8'),
    cert: readFileSync(join(__dirname, '/keys/server.crt'), 'UTF-8')
  });

  const port = configs.port;
  const server = new Hapi.Server({
    port,
    listener,
    tls: true,
    routes: {
      files: {
        relativeTo: join(__dirname, 'public')
      }
    }
  });

  await server.register([
    Inert,
    ...
    Underdog
  ]);

  /* FOR SERVING FRONT END ASSETS FOR ALL REQUESTS. */
  server.route({
    method: 'GET',
    path: '/{param*}',
    handler: {
      directory: {
        path: '.',
        index: true,
        redirectToSlash: true
      }
    }
  });

  /* ~Other route handlers~ */
})()

Hey!  So, there are a couple things going on it.  As far as I know, simply pushing down gzipped versions of files with the .gz suffix does not cause the browser to use them rather than whatever resource is referenced in your <link> (for CSS) or <script> (for JS) tag.  The actual URI has to match.
If your script tag says <script src="/app.js"> then you need to push the path /app.js rather than /app.js.gz.  The browser wont infer that those are the same resource, and that one is just gzipped.
Luckily between inert and underdog, you should be able to do what you're aiming for!  First, tell inert to lookup compressed versions of files when appropriate using the lookupCompressed: true handler option.  Whenever a file is requested and gzip is an acceptable encoding, inert will serve the .gz version of the file and set appropriate headers to tell the browser that it's gzipped.  Underdog just needs to indicate that gzip is an acceptable encoding by sending the push-request with the proper accept-encoding header.  Here's what your routes might look like,
  const index = readFileSync(join(__dirname, 'public/index.html')).toString();
  server.route({
    method: 'GET',
    path: '/',
    handler: (request, h) => {
      const response = h.response(index);
      h.push(response, ['/app.js', '/pure.css', '/assets/hero-bg.jpg'], {
        'accept-encoding': 'gzip' // Tell inert that gzip is an acceptable compression to use
      });

      return response;
    }
  });

  server.route({
    method: 'GET',
    path: '/{param*}',
    handler: {
      directory: {
        path: '.',
        index: true,
        redirectToSlash: true,
        lookupCompressed: true // Lookup .gz files when appropriate
      }
    }
  });

Ah! Yes. That header was the missing piece of the puzzle. Thank you very much!


DO NOT MERGE: Adds a command for files in an npm package

Fixes issue #1146
Additional description
Please review the output of running "npm run dist" in this PR.  It adds an additional temp directory called .tmp-npm.  I intend to publish the npm package from that folder.  In its current state this PR uses Babel to down-compile what is in .tmp-es to general ES6.  The idea is that we don't want to force any particular babel presets onto our users, but that we can be fairly sure they're using some kind of JS compiler in their toolchain downstream from this package to target different JS versions (such as ES5 or whatever they want).

Reviewer checklist

[ ] While the contributor's branch is checked out, run npm run dist and compare the generated JS files to the source JSX files.

I think this is looking good. We can always go more transpiled. We can't go less though in the future. The "@salesforce" namespace needs to be added to the package, so devs don't have to change that in the future. I'm going to test with create-react-app today.

The update on this is that we are hoping to do multiple versions in one tag:

a lightly transpiled ES6 that maintains modules in /components/
a CJS version that means if you use import { Button } from 'design-system-react', you won't need Babel transpiling of files in node_modules which will make this format compatible with a non-ejected create-react-app. CJS can be swapped out for "modular ES5" in this instance, I think.


BREAKING CHANGE: end support of the open-vulnerability-store

The open vulnerability store was an idea that I do not have time to maintain and has been of little use to me. I do not plan on maintaining the child-project.

resolves #118
resolves #83

The purpose of the project is to be a library that other tools can use to retrieve the vulnerability data. The CLI exposes the library to the shell. Most people use the CLI to create and maintain a local cache of the NVD data. All the data is in JSON so it is straightforward to look things up.
The database was an attempt to store the data in an RDBs. Since I decided not to use the database and there were unresolved issues - I deprecated the code base. Feel free to fork the open-vulnerability-store code; others may also find it useful.


Preview Page

Thanks for creating this! Any chance of a preview page similar to how it was done in gulp-svg-sprites? We're building documentation pages and it'd be nice if we could reference the included/updated SVGs automatically. We've done something similar with IcoMoon's downloaded preview they give you, but really liked the way gulp-svg-sprites automatically created this for us. Thanks again!

Hi @zslabs,
I never worked with gulp-svg-sprites (and totally lack the time of doing so, sorry), so could you please provide an example of how @shakyShane's one looked like?
Thanks a lot, cheers,
Joschi

Did you want a visual representation? Here's the usage part on his README https://github.com/shakyShane/gulp-svg-sprites#usage
it's basically a standard HTML file that has the SVGs automatically in a grid and labeled. I'm happy to do the DOM behind this, just lack the Node knowledge to make it happen.

Just to make sure: You did realize the mode.<mode>.example option, right (see here)? Doesn't this suit your needs?

That's it! Sorry about that, blame @mcraiganthony for making me jump the gun.

;) No problem. I was just wondering ... Let me know if you need any assistance!


🐛 [bug] - Secure Shell (ssh) Port Exposed in Image policy is not listed in StackRox(ACS)

📝 Description
The step 5 of the Image security exercise describes how to find the Secure Shell (ssh) Port exposed in Image policy, however that policy is not listed in my fresh OCP cluster.
This screenshot is evidence that that policy is not included in the Platform Configuration.

🚶 Steps to reproduce
Just follow the instructions.
🧙♀ Suggested solution
... if applicable

As per the instructions, you need to

Type in Policy

and then

Secure Shell (ssh) Port Exposed

I just tried on latest 4.10 in RHPDS .. works fine.

Closing for now unless you think this is in Error?

OMG! You are rigth @eformat! As I didn't read carefully the instructions ... I couldn't find it successfully (maybe a side effect of the heatwave we are suffering right now). Thank you so much! It was not a bug ...


Implement misbehavior program

As far as I'm aware, there are two types of misbehavior:

A valid client update where the target height already has a different consensus state associated with it. (Double sign)
A timestamp misbehavior where timestamps are not monotonically increasing with height.

I've added checks for number 1 in #57, but number 2 still remains open.


WGLMakie does not support linestyle = :dash

When using linestyle = :dash on WGLMakie, it silently ignores it and just draws a dense line.  CairoMakie seems to display it just fine.

More generally, WGLMakie doesn't seem to recognize any linestyle kwargs. I tried running the example from the docs using WGLMakie instead of CairoMakie:
using WGLMakie

f = Figure()
Axis(f[1, 1])

xs = 0:0.01:10
ys = 0.5 .* sin.(xs)

for (i, lw) in enumerate([1, 2, 3])
    lines!(xs, ys .- i/6, linestyle = nothing, linewidth = lw)
    lines!(xs, ys .- i/6 .- 1, linestyle = :dash, linewidth = lw)
    lines!(xs, ys .- i/6 .- 2, linestyle = :dot, linewidth = lw)
    lines!(xs, ys .- i/6 .- 3, linestyle = :dashdot, linewidth = lw)
    lines!(xs, ys .- i/6 .- 4, linestyle = :dashdotdot, linewidth = lw)
    lines!(xs, ys .- i/6 .- 5, linestyle = [0.5, 1.0, 1.5, 2.5], linewidth = lw)
end

f

which produced the following figure:

Duplicate of #3199


Setup Kanban Board - Ruby Group Capstone Project

Group Project Link 🔗
Hello

In this capstone project we are teams of 2.
List of the activities assigned to members:

Team Member #1  => @AmanWorku
Team Member #2 => @Salwa99

Hi @AmanWorku @Salwa99
Your project is complete  👍 💯   There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
Highlights 👏🏻
✔ No linter errors.
✔ Good Job for Provide the link to GitHub project
✔ Good Job for the Mention the number of people in the group
✔ Good job for Implemented Ruby group capstone: set up your Kanban board.
Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

_As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


Statically link release binaries

Fixes #111

Pushed a tag to get the package workflow to run: https://github.com/agora-org/agora/actions/runs/1509778051

We are statically linking glibc, which apparently doesn't like being statically linked:
https://stackoverflow.com/questions/57476533/why-is-statically-linking-glibc-discouraged
These are our glibc targets:

aarch64-unknown-linux-gnu T1
armv7-unknown-linux-gnueabihf T2
x86_64-unknown-linux-gnu T1

These are our non-glibc targets:

x86_64-apple-darwin T1
x86_64-pc-windows-msvc T1

There are musl versions of the glibc targets we're using:

aarch64-unknown-linux-musl T2
armv7-unknown-linux-musleabihf T2
x86_64-unknown-linux-musl T2

T1 and T2 indicate the tier of each target. See Platform Support for more info.
I think we should switch our glibc targets for musl targets, so that we aren't statically linking glibc. @soenkehahn What do you think?
Aside from just changing the targets, we'll need to install the correct linkers and pass the right linker flags.

That stackoverflow answer you linked to sounds very much like we want musl instead of glibc. It'd be nice to be able to reproduce that misbehavior described in there. I tried running agora as built from this PR, with static glibc inside an alpine docker container, but that worked fine. I'm not sure how to trigger it to dlopen anything. We could of course just switch to musl, but it'd be nice to actually be able to point to an observable misbehavior that that would fix.

I think observable misbehavior is hard to trigger. You would have a binary with a statically linked glibc, which would then use dlopen to load glibc again. So the conditions in which it would fail are a bit exotic, like maybe it's statically linked against version A of the glibc, and then is run on a system where dlopen causes version B to be loaded, and they're incompatible with each other.
I'll switch this PR to use the -musl targets.

Switched to -musl targets. These will probably fail to build, because they don't have the right linker, or we need to install musl, or something.

Pushed a tag.

Maybe mess with locale settings? I think by default, conversions don't happen, and thus iconv stuff isn't triggered if you have the default local.

I think observable misbehavior is hard to trigger. You would have a binary with a statically linked glibc, which would then use dlopen to load glibc again. So the conditions in which it would fail are a bit exotic, like maybe it's statically linked against version A of the glibc, and then is run on a system where dlopen causes version B to be loaded, and they're incompatible with each other.

I think it's easier to trigger than what you describe: Using dlopen to load glibc should fail on any system that doesn't have a dynamic glibc, e.g. alpine.
But yeah, we would still have to get glibc to actually execute dlopen...
I'm fine with just switching to musl.

Should we run our integration tests against a statically built binary? So that they're closer to production?
I don't think this should necessarily block this PR though. Otherwise LGTM.

This is failing on a tag I pushed.
The armv7-unknown-linux-musleabihf job is failing because it's trying to call arm-linux-musleabihf-gcc, which isn't installed.
This article makes me think that Ubuntu doesn't include a toolchain for ARM + musl in apt.
We could download a cross-compiling toolchain here: https://musl.cc/
Or consider switching to rust-cross, which supports a bunch of targets at the expense of adding some complexity and not really being sure what's going on: https://github.com/rust-embedded/cross

This workflow which appears to build for arm musl targets might have some clues: https://github.com/nicolas-van/rust-cross-compile-example/blob/main/.github/workflows/rust.yml

PR is moved to #283


chore(analysis): Add Sonarcloud coverage calculation

Description
Adds advanced coverage
Checklist
The following items should be checked before the pull request can be merged.

[x] Code follows existing style.
[N/A] Unit tests added (if applicable).

We use Codecov now


Downstream AKS cluster always using kubenet

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

enter in Rancher UI
add a new AKS downstream cluster setting Azure CNI in advanced tab

Result:
resulting AKS is using kubenet CNI ignoring the setup done by the Rancher UI
Environment information

Rancher version 2.5.8
Installation option (single install/HA): HA

DOWNSTREAM Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): AKS
Machine type (cloud/VM/metal) and specifications (CPU/memory): AKS agentpool with D8s_v3 machines
Kubernetes version: tested creating 1.19 and 1.20 AKS clusters

Issue is still there.

issue still there

Issue still there 🤔

@valeriano-manassero I tested this using v2.5.11 and the AKS cluster got created with Azure CNI. Can you share a bit more specifics on the values you are using when creating the cluster? Did you check https://docs.microsoft.com/en-us/azure/aks/configure-azure-cni for possible limitations? Can you capture the web request made when creating the cluster to see if the value is properly passed?

Hi @superseb , I tested after upgrading Rancher to v2.5.11 and I'm not able to reproduce the issue anymore so it's a good news. For me it's fixed.


New version: MLJModels v0.15.3

Registering package: MLJModels
Repository: https://github.com/JuliaAI/MLJModels.jl
Created by: @ablaom
Version: v0.15.3
Commit: ee8095891d44eaafd98ef52fbd264168d73f6ae8
Reviewed by: @ablaom
Reference: https://github.com/JuliaAI/MLJModels.jl/issues/263#issuecomment-1033359978
Description: Home of the MLJ model registry and tools for model queries and mode code loading
Release notes:

Update registry to reflect a renaming of MLJText model BagOfWordsTransformer -> CountTransformer

@ablaom please see the message above.  Once you fix the automerge issues you can register again the new revision without changing the version number and this pull request will be automatically updated.
[noblock]


Update token dependencies

In preparation for bumping the monorepo version to 2.0.0, relax some of the internal dependencies.

I'm actually surprised we haven't run into this before. @joncinque , have you seen any conflict issues trying to publish spl-token-2022 in the past? The token-group-interface and token-metadata-interface dependencies are probably pretty new to the monorepo, but memo has been in there forever.

Sorry for the late response, but it looks good!
And I think we got lucky beforehand because cargo does support multiple concurrent major versions in some situations. So it's valid for token-2022 to use memo v4 and the monorepo to use memo v3, but it's not valid for monorepo to require =4.0.0 but for token-2022 to use 4.0.1

And I think we got lucky beforehand because cargo does support multiple concurrent major versions in some situations. So it's valid for token-2022 to use memo v4 and the monorepo to use memo v3, but it's not valid for monorepo to require =4.0.0 but for token-2022 to use 4.0.1

Oh, cargo, you make no sense to my feeble human brain sometimes


 All rights reserved."
However, from your github style guide home page https://github.com/MicrosoftDocs/microsoft-style-guide, you point to a CC-By license: https://github.com/MicrosoftDocs/microsoft-style-guide/blob/master/LICENSE
I suggest aligning these two statements of license so that they are not ambiguous.
Cheers, Cameron

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

 Thank you for providing feedback on this.
Could you kindly clarifying which portion of the license information you find to be ambiguous? Are you referring to the "All rights reserved" text on the Microsoft Writing Style Guide Welcome page?
Thanks,
Melissa

Hi Melissa, nice to meet you, and thanks for your response.
There are a few reasons for my feedback:

Yes, "all rights reserved" implies to me as a reader that I am not allowed to reproduce this material. It feels confronting and unfriendly to a reader, which I suspect is not the intent of this guide.
My non-legal understanding is that such a statement is not required, as implied by https://en.wikipedia.org/wiki/All_rights_reserved#Obsolescence
A warmer, more welcoming statement, which hopefully will attract more positive feedback would be to include a CC-By statement  and logo where you currently have the "All rights reserved".

Further:

I'm one of the coordinators behind The Good Docs Project where we aim to tackle many of the challenges tech writers face. This comment stems from patterns and anti-patterns related to style guides. I'd be interested to discuss this further with you and others at Microsoft if you are up for it? Contact: shortcam AT  goo gle DOT com

Warm regards, Cameron Shorter


point release incorporating recent changes

Hello,
I'd like to have access to recent changes such as https://github.com/bradjasper/django-jsonfield/pull/78 by downloading via PyPi.  Are there any plans to make a new point release?
Thanks,
Nick

Wondering if there's plans to release 1.0.4 or 1.1.x+? @paltman @bradjasper

Please check out version 2.0.0 on PyPI, which should have PR #78 included.


addresses # 168 upload bug in safari where valid irs are marked invalid

safari calls wav file type audio/x-wav 🤷
Thie PR:

Fixes issue raised in 168 https://github.com/scottcorgan/tonehunt/issues/168
Makes some minor typing improvements as done to debug the problem

Closes #168

@seamusfoley thanks for this fix. Since it's been a while and a lot has changed in the project, I'll apply this fix in another PR for our next update. Thanks again!
I'll close this PR.


The plugin does not use the price definition correctly

Used Shopware Version: <IP_ADDRESS>
Description:
Line items containing custom products add the extra costs incurred by options onto the total price. This makes it difficult for other plugins to correctly calculate prices for line items containing custom products and forces them to add extra logic to remain compatible.
This could be alleviated by adding the extra costs from any options onto the unit price.
To illustrate the problem, consider a plugin handling return orders, now a customer registers a return order for an order in which he bought a custom product twice, however he only wants to return one of them.
This would result in the following calculation for each implementation:
Costs added to total price
Order:
Unit price: 10€
Option price: 5€
Total price: 2x10€ + 2x5€ = 30€
Return order (Plugin uses unit price):
Unit price: 10€
Refund: 1x10€
Costs added to unit price
Order:
Unit price: 15€
Total price: 2x15€ = 30€
Return order (Plugin uses unit price):
Unit price: 15€
Refund: 1x15€
The first calculation is obviously wrong, this would result in the customer being refunded 5€ less than they should be.
Any plugin handling subsets of products in a line item is likely going to use the unit price for its calculations, as it is more intuitive than dividing the total price.
Also, the isCalculated-flag, indicating that taxes have already been calculated for this line item, is not set for custom products. Please set this flag when taxes have already been calculated.
Environment:

local development Shopware <IP_ADDRESS>
production Shopware <IP_ADDRESS>
Custom Products: at least 4.1.0-4.2.5

Steps to reproduce:

Make an order containing a custom product with quantity >= 2
Use some plugin that handles sub-quantities of line items

Expected result:
The additional costs incurred by options on a custom product are added to the unit price.
Actual result:
The additional costs incurred by options on a custom product are added to the total price.

[public] Automated response: This issue is linked to the internal issue https://shopware.atlassian.net/browse/CUS-695.
[created from CUS-695, comment 484909]

[public] Hello,
Within our company roadmap and work capacity, we try to address each bug or improvement request but admit that not each one will be resolved. To continue our culture of honesty and openness, we are closing this issue to focus on our roadmap on behalf of all Shopware users.
If you feel like this issue is still impacting you, please create a new issue and let us know. Thank you again for your valuable feedback.
[created from CUS-695, comment 501321]


CORE-3344 Remove serializeOutputStreamPool

serializeOutputStreamPool re-uses buffers across calls to serialization. The reset method simply changes previously used streams (cached in serializeOutputStreamPool) length to 0.
Since serialization-amqp is a corda module it means it will be a single sandbox and therefore serializeOutputStreamPool could be retrievable across different CorDapps and its cached streams could be read.
There should be a performance impact by this change since we now always create a new ByteBufferOutputStream across calls to serialization whereas before threads would also re-use cached ByteBufferOutputStreams in serializeOutputStreamPool.

removes serializeOutputStreamPool.

Changes in this PR imply serializeOutputStreamPool can be somehow accessed via reflection in CorDapps. @mbrkic-r3 could you please provide your input if this could still happen somehow, after security manager checks? Otherwise maybe this PR and CORE-3344 is not valid anymore.

Changes in this PR imply serializeOutputStreamPool can be somehow accessed via reflection in CorDapps. @mbrkic-r3 could you please provide your input if this could still happen somehow, after security manager checks? If not, maybe this PR and CORE-3344 are not valid anymore.

By default reflection is denied in Security Manager, but even if it's enabled there is still denied access to Corda implementation packages (net.corda.*) using PackagePermission. Assuming that this top level function will end up in net.corda.internal.serialization package, it shouldn't be accessible, but best to check with a small POC flow.

Yes, I'm glad @mbrkic-r3 chimed in.  It sounds to me like we should be able to keep the backing array private with our new security manager reflection permissions (probably new since we put this in the backlog), and thus this should be unnecessary.   Note: this was not added on a whim to C4 but through analysis of profiling data.
I think you mentioned you have checked, but we should check that the backing array is not revealable via any methods on the class etc.

ByteBufferOutputStream.buf is not revealable by any methods of ByteBufferOutputStream. In terms of serializeOutputStreamPool it offers reset  ByteBufferOutputStream via LazyPool.borrow and LazyPool.run so someone could actually read their buf contents with reflection. However, since serializeOutputStreamPool cannot be accessed by users it is only handled by us, so I think it should be ok.

Yeah, I'm satisfied that with SecurityManager on with our settings, they can't peek at the underlying bytes.

Closing PR as per above discussion


Normalize casing for Node Function BindingData

For Node functions, we make the entire BindingData bag available via context.bindingData. For example, this provides access to things like the triggering blob path, etc. as below.
However, these values are currently case sensitive - we simply add the values as is to the binding data object. The core SDK uses upper case for this, so you have to type context.BlobTrigger rather than context.blobTrigger as you'd expect.
We should figure out the best way to normalize this casing.
module.exports = function (context, myBlob) {
    context.log('Node.js blob trigger function processed blob:', myBlob);
    context.log('Blob path: ', context.bindingData.BlobTrigger);
    context.done();
};

Let's do this for GA since it's an API change

I think we should just camel case any pascal cased properties before adding them to binding data. That is simpler and less confusing than trying to try to play games with proxy objects etc. to avoid breaking changes.


[crunchyroll] Licensing restrictions.

ERROR: crunchyroll returned error: Sorry, this video is not available in your region due to licensing restrictions.
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-u', u'PRIVATE', '-p', u'PRIVATE', 'http://www.crunchyroll.fr/shonen-hollywood-holly-stage-for-49-/episode-14-667969', '--verbose', '-f', '720p', '--sub-format=ass', '--write-sub', '-o', '.flv']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Python version 2.7.6 - Linux-3.13.0-43-generic-x86_64-with-Ubuntu-14.04-trusty
[debug] exe versions: ffmpeg 2.5.2, ffprobe 2.5.2, rtmpdump 2.4
[debug] Proxy map: {}
[Crunchyroll] Logging in
[Crunchyroll] 667969: Downloading webpage
ERROR: crunchyroll returned error: Sorry, this video is not available in your region due to licensing restrictions.
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 588, in extract_info
ie_result = ie.extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 257, in extract
return self._real_extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/crunchyroll.py", line 209, in _real_extract
raise ExtractorError('crunchyroll returned error: %s' % msg['message_body'], expected=True)
ExtractorError: crunchyroll returned error: Sorry, this video is not available in your region due to licensing restrictions.
I can't download it due to localization but my account is french and I should be able to download it.
Thanks a lot :)

My bad. It was my fault. There's some restrictions because of my ip adress. To bypass, I had to use a french vpn :)


VulkanAllocator not movable

Not that I want to move it around in memory, but I'd like to have it as a struct member on a struct that is.
Here's the compiler error I do if I try this (the struct it is a member of is backend::VulkanBackend):
`*mut c_void` cannot be shared between threads safely
within `Option<gpu_allocator::MemoryBlock>`, the trait `Sync` is not implemented for `*mut c_void`
required because it appears within the type `gpu_allocator::MemoryBlock`
required because it appears within the type `Option<gpu_allocator::MemoryBlock>`
required because of the requirements on the impl of `Sync` for `std::ptr::Unique<Option<gpu_allocator::MemoryBlock>>`
required because it appears within the type `alloc::raw_vec::RawVec<Option<gpu_allocator::MemoryBlock>>`
required because it appears within the type `Vec<Option<gpu_allocator::MemoryBlock>>`
required because it appears within the type `gpu_allocator::MemoryType`
required because of the requirements on the impl of `Sync` for `std::ptr::Unique<gpu_allocator::MemoryType>`
required because it appears within the type `alloc::raw_vec::RawVec<gpu_allocator::MemoryType>`
required because it appears within the type `Vec<gpu_allocator::MemoryType>`
required because it appears within the type `VulkanAllocator`
required because it appears within the type `backend::VulkanBackend`

Additionally, I'm wondering if it makes sense to make it internally synchronized like vk-mem's, or if I should just wrap it in a mutex.

Sorry for my reply, I only just noticed this issue.
I am note quite sure about the implications of implementing Sync. As far as I understand it should be an easy thing to add.
I'll go look into this, thanks for bringing it to our attention. 👍

Anything happening here? :)
Might give it a try myself if not.

Anything happening here? :)
Might give it a try myself if not.


Callback upon goal reached

I know the mineflayer stuff is more event-based but being able to set a callback would be very useful to more easily string together actions.
It's very easy to add to the inject function. Should I make a pull request?

The dynamic goals can emit the goal_reached event multiple time, that would not fit well with callbacks. The choice of using events was made to work with all types of goals.
It is easy enough to wrap the function in a callback:
function gotoGoalCallback(goal, callback) {
  bot.pathfinder.setGoal(goal)
  bot.once('goal_reached', callback)
}

Forgive me, I was unaware that .once could be used like that. That actually makes all of mineflayer a lot easier 😅
thank you


The start date of the ng-range-picker component in the browser IE11 will be overwritten by the end date

Reproduction link
https://angular-azk8pk.stackblitz.io/
Steps to reproduce
Open stackblitz demo with IE11.
What is expected?
The start date and end date are displayed normally
What is actually happening?
The start date overwritten by the end date

Environment
Info

ng-zorro-antd
11.4.0

Browser
IE11

the same problem

@wenyaodong777 Could you help to see if it works normally in https://preview-6604-ng-zorro-antd.surge.sh/ ?

@wenyaodong777 Could you help to see if it works normally in https://preview-6604-ng-zorro-antd.surge.sh/ ?

Have the same problem

@wenqi73
I  found that the reason is that ngModelChange is triggered，when the end date triggered  ngModelChange, this.datePickerService.activeInput is left, The start date overwritten by the end date

@wenyaodong777 Could you provide a GIF about this?

@wenqi73
https://user-images.githubusercontent.com/35827098/114810283-5805ae80-9dde-11eb-99e3-6c2d346fe213.mp4


failed to deploy a empty asp.net core application on Heroku

I tried deploying an asp.net core mvc application on Heroku but failed
$ git push heroku master
Counting objects: 454, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (438/438), done.
Writing objects: 100% (454/454), 920.30 KiB | 0 bytes/s, done.
Total 454 (delta 14), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote:  !     No default language could be detected for this app.
remote: 			HINT: This occurs when Heroku cannot detect the buildpack to use for this application automatically.
remote: 			See https://devcenter.heroku.com/articles/buildpacks
remote:
remote:  !     Push failed
remote: Verifying deploy...
remote:
remote: !	Push rejected to morning-badlands-22019.
remote:
To https://git.heroku.com/morning-badlands-22019.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/morning-badlands-22019.git'

My project.json file
{
  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.1.0",
      "type": "platform"
    },
    "Microsoft.AspNetCore.Diagnostics": "1.1.0",
    "Microsoft.AspNetCore.Mvc": "1.1.0",
    "Microsoft.AspNetCore.Razor.Tools": {
      "version": "1.1.0-preview4-final",
      "type": "build"
    },
    "Microsoft.AspNetCore.Routing": "1.1.0",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.1.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
    "Microsoft.AspNetCore.StaticFiles": "1.1.0",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.1.0",
    "Microsoft.Extensions.Configuration.Json": "1.1.0",
    "Microsoft.Extensions.Configuration.CommandLine": "1.1.0",
    "Microsoft.Extensions.Logging": "1.1.0",
    "Microsoft.Extensions.Logging.Console": "1.1.0",
    "Microsoft.Extensions.Logging.Debug": "1.1.0",
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.0",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.1.0"
  },

  "tools": {
    "BundlerMinifier.Core": "2.2.306",
    "Microsoft.AspNetCore.Razor.Tools": "1.1.0-preview4-final",
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final"
  },

  "frameworks": {
    "netcoreapp1.1": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  },

  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },

  "runtimeOptions": {
    "configProperties": {
      "System.GC.Server": true
    }
  },

  "publishOptions": {
    "include": [
      "wwwroot",
      "**/*.cshtml",
      "appsettings.json",
      "web.config"
    ]
  },

  "scripts": {
    "precompile": [ "dotnet bundle" ],
    "prepublish": [ "bower install" ],
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  },

  "tooling": {
    "defaultNamespace": "GameReviewer"
  }
}

You have to set the buildpack: https://github.com/friism/dotnet-buildpack#usage
It's not auto-detected.
https://devcenter.heroku.com/articles/third-party-buildpacks#using-a-custom-buildpack

@friism my project has .csproj file not project.json
.json has been replaced by .csproj


Update MD file on new branch 2017-12-17_05-47-56

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestCon1.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


OPCT-177: bump plugins image to release v0.4.0

Bumping plugin image for v0.4.0 release.
It will be created after all PRs are merged and v0.4.0-rc/beta* has been validated.

/lgtm
/approve


ru locale is not detected

The issue seems to be similar to #179. My system locale is also ru_RU.UTF-8, but trans detects emj (Emoji) instead of ru .
trans -b "Hello, world!"
Hello, world!

trans -b :ru "Hello, world!"
Привет, мир!

trans -V
Translate Shell       <IP_ADDRESS>-release

platform              Linux
gawk (GNU Awk)        4.0.1
fribidi (GNU FriBidi) [NOT INSTALLED]
audio player          mplayer
terminal pager        less
terminal type         xterm
user locale           ru:en (Emoji)
home language         emj
source language       auto
target language       emj
translation engine    google
proxy                 [NONE]
user-agent            Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/602.1 (KHTML, like Gecko) Version/8.0 Safari/602.1 Epiphany/3.18.2
theme                 default
init file             [NONE]

locale
LANG=ru_RU.UTF-8
LANGUAGE=ru:en
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC=ru_RU.UTF-8
LC_TIME=ru_RU.UTF-8
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY=ru_RU.UTF-8
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER=ru_RU.UTF-8
LC_NAME=ru_RU.UTF-8
LC_ADDRESS=ru_RU.UTF-8
LC_TELEPHONE=ru_RU.UTF-8
LC_MEASUREMENT=ru_RU.UTF-8
LC_IDENTIFICATION=ru_RU.UTF-8
LC_ALL=

LANGUAGE is a priority list of languages for gettext:

Specifying a Priority List of Languages
The LANGUAGE priority list

ru:en is a perfectly valid value, since Russian is a primary interface language on my system.
Yes, cleaning the variable up solves the problem. But if trans prefers LANGUAGE (like gettext), why it ignores its value.

Apologies for not having thought of this carefully through; trans does not parse colon-separated values in such variables (yet).
As trans is a command-line program, it might make more sense to prefer LANG or LC_CTYPE, but not LANGUAGE. This will be fixed soon. Thanks for the info.


Cannot use  to init plugin

I understand for legacy purposes, this plugin uses <form> to define the area for the button.  but, I want to use this plugin IN a form.  having <form> <form></form> </form> breaks a lot of js and is not valid and makes me sad.. what to do?
ps: this is a problem because the plugin needs to be in a structure..  seperating the <form> elementss would end up something like:

<form>
</form>
	<form>

</form>

Tried setting the url option in application.js file but that did not work... Do I need to change anything else?  Thanks


Remove warning about missed events due to false positives

Objective

Reverts #5730.
Fixes #6173, fixes #6596.

Solution
Remove the warning entirely.
Changelog
You will no longer be spammed about

Missed 31 bevy_input::mouse::MouseMotion events. Consider
reading from the EventReader more often (generally the best
solution) or calling Events::update() less frequently
(normally this is called once per frame). This problem is most
likely due to run criteria/fixed timesteps or consuming events
conditionally. See the Events documentation for
more information.

when you miss events. These warnings were often (but not always) a false positive.

@rmemr @nicopap @rozgo @forbjok community reviews please :)

This works.

Yeah, we can explore other designs for this very real problem later.
bors r+


Awkward language on About page

First sentence reads: "At the BCDevExchange, we believe that if there is a better way of doing things, we are obligated to pursue that."
Try " At the BCDevExchange, we believe in pursuing a better way of doing things."

thanks!


x/pkgsite: you cannot retract one module from a different module

The issue keeps getting closed with providing a proper resolution.
See https://github.com/golang/go/issues/50631 and https://github.com/golang/go/issues/50636
The simple declaration to use "retract", in both bugs, is insufficient.  I cannot retract the existence of a go module away because a retraction requires creating a release of that same module.  If there are two modules in play, how do you retract one module from the other module?  The documentation for retract explains none of this.
If retraction is expected to work, I need to know what needs to be retracted from which module.  Just stating the word "retract" is not providing a resolution here.
What is the URL of the page with the issue?
https://pkg.go.dev/github.com/seancfoley/ipaddress-go/ipaddr
What is your user agent?
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36
Screenshot

What did you do?
Move the go.mod from a subdir to the directory root so that I can use normal semantic versioning.
I have attempted to publish my module.  The go modules documentation is not clear that you cannot use normal versioning numbering (eg v1.0.0) if you do not put the go.mod file at the root if the repository.  So initially I had the go.mod in the main package ipaddr which is a directory in the repository.  After a lot of trial and error, trying to figure out why the go tools would not work as I expected, I've now placed it at the root of the repo.
So my module is at https://pkg.go.dev/github.com/seancfoley/ipaddress-go
If I click on the "ipaddr" package is goes to<EMAIL_ADDRESS>On that page it has a red button "Go to latest" which takes me to my failed attempt to publish the package with the go.mod in a subdirectory.  There are no versions in that failed attempt.  Nor are the dates more recent.  So it is clearly not the latest in any way, shape or form.
What did you expect to see?
I expect there to be no red button saying "Go to latest" taking you to a page which is not the latest.
What did you see instead?
I see a red button leading people to the wrong location.  It takes you to a version of the package which is clearly not the latest, neither by date, nor by version.  So the button should not be there, it is misleading.

modules are independent and have no relation with one another.
Unlike many projects, the Go project does not use GitHub Issues for general discussion or asking questions. GitHub Issues are used for tracking bugs and proposals only.
For questions please refer to https://github.com/golang/go/wiki/Questions

"modules are independent and have no relation with one another"
exactly, that's what I already said


ndjson docs and examples

Adds a docs folder with a brief overview of the NDJSON representation, ADaM and SDTM example files, and a LinkML model. The SEND examples are coming next.

I'm sure we will keep refining the examples, but the conversion and doc looks good.


add axes and eps(ilon) kwarg to scale_mean_variance

while implementing scale_mean_variance in bioimageio.core I noted that axes and eps could easily be added and makes this postprocessing more analogous to scale_range, scale_linear and zero_mean_unit_variance

preview of relevant section in updated postprocessing docs: https://github.com/bioimage-io/spec-bioimage-io/blob/gh-pages-update_scale_mean_variance/postprocessing_spec_0_4.md#scale_mean_variance

@constantinpape as we are touching pre- and postprocessing atm, it would be great if we can merge this small PR in quickly...


imageCache clearing prevents onError executing of DecorationImage component

If i use
imageCache?.clear();
imageCache?.clearLiveImages();

and then almost immediately create a container with FileImage (which is broken and must cause an error), the onError callback is not being called (issue is rare and does not repeats all the time)

And imageCache clear is placed at the beginning of build method

Why did i even added imageCache clear?
Without imageCache clear, adding the same broken picture causes this issue

Flutter version: 2.2.3 from stable channel

I've also tried to call
imageCache?.clear();
imageCache?.clearLiveImages();

Even before the UI updates (before the ChangeNotifier notifies Consumer) with a small await so that some period of time passes after the operation, but that did not help

One more notice: If image does not even exist in that place, where FileImage is pointing, onError always executes, the problem occurres only with broken images

Hi @kirill-21
Thanks for filing the issue,
Can you please provide your flutter doctor -v, a complete reproducible minimal code sample, and complete flutter run --verbose logs running the minimal code sample? Please refrain from code screenshots as it is easier to run a code sample when pasted directly in the comments
Thank you

Hi @kirill-21
Thanks for filing the issue,
Can you please provide your flutter doctor -v, a complete reproducible minimal code sample, and complete flutter run --verbose logs running the minimal code sample? Please refrain from code screenshots as it is easier to run a code sample when pasted directly in the comments
Thank you

It seems that the problem i faced was caused because of WidgetsBinding.instance.addPostFrameCallback, which(i do not know why) was created not once, but something about a thousand of times by onError DecorationImage callback.


[ASCII-1977] Use configuration pubsub system to update log_level

What does this PR do?

This PR moves the logger level update logic to a reactive pattern (using config.OnUpdate() registration function to react to configuration update).
It also moves pkg/config/logs package to pkg/log/util/setup for a better separation of concerns.
Describe how to test/QA your changes

QA done through unit-tests and manual tests.

/merge