feat(tracking): moving the top-level tracking to the AppProviders

The type of this PR is: Feature

This PR resolves []
Description
This PR is moving the tracking to the AppProviders, and also adds a little helper function to list Providers in a nicer, flatter way. It also allows for Providers that need props, like the relay and the tracking one.
⚠  Since this has broken before, I would appreciate if at least one of the reviewers runs the app to verify the events fire. I tested it on ios and it seems to be firing, but a second verification would be nice. Also, the android emulator is giving me attitude today, and I cant make it work right now. The changes should be fine there, but again I would like it if one of you runs this on android to verify. ⚠
The way to verify is to enable the analytics inspector dev toggle from the admin menu. then click around and toasts should pop up with all your actions. If you do run it, comment, so we know that someone did run it. Thank you.

PR Checklist (tick all before merging)

[ ] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[ ] I have tested my changes on iOS and Android.
[x] I have added tests/stories for my changes, or my changes don't require testing/stories, or I have included a link to a separate Jira ticket covering the tests.
[x] I have added a feature flag, or my changes don't require a feature flag. (How do I add one?)
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)
[x] I have added a changelog entry below or my changes do not require one.

To the reviewers 👀

[x] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

move tracking to Providers [NEEDS QA] - pavlos

This PR contains the following changes:

Dev changes (move tracking to Providers [NEEDS QA] - pavlos)

  Generated by :no_entry_sign: dangerJS against dca06d9067839f6452ba145f2f22e2f10a9752fa


feat: add monthly_active_tokens to TenantUsageReport

Description

Adds new property to TenantUsageReport.TokenReport for monthly_active_tokens

Testing required outside of automated testing?

[X] Not Applicable

Screenshots (if appropriate):

[X] Not Applicable

Rollback / Rollforward Procedure

[X] Roll Forward
[ ] Roll Back

Reviewer Checklist

[ ] Description of Change
[ ] Description of outside testing if applicable.
[ ] Description of Roll Forward / Backward Procedure
[ ] Documentation updated for Change

:tada: This PR is included in version 1.8.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


We don't support auto links

# Throws: Could not process type: Markdig.Syntax.Inlines.AutolinkInline
md-cli "<http://foo.bar.baz>"

Spec

After #39 we no longer throw.  However the plain text fallback omits the final square bracket.  A full fix will render a link.


Make the component controlled

Currently the component cannot be controlled from external sources.
In this example if you click on the button the value inside the component is not upadated.
This PR solves the issue.

Please merge this @anatoliygatt its a huge improvement!


How to set po files location in ASP.NET Core example

Hello,
First of all thank you for this wonderful library! I am trying to integrate it with ASP.NET Core Razor Pages, however my translations are not found, I get the following log message:
Translation for 'Welcome' in culture 'fr-FR' was not found at the following location(s): My.Assembly.Name
I am having a hard time trying to figure out where to my translation files. My folder structure is the following:
MyProjectFolder/
   Translations/
        MyProjectName.pot
        en-US/
            MyProjectName.po
        fr-FR/
            MyProjectName.po

My am I wondering is:

What is the default folder structure the library is expecting
How can we configure the location of the po files?

Thank you!

Hi!
Just to be clear, you're using the WebAppLocalization sample as the starting point for your application, right?
If so, that localizer implementation looks for the translation in the PO file whose name matches the location of the localizer object. Location is just an arbitrary string. You can create localizer objects with whatever location you like using this method.
However, usually we don't do that, just inject a IStringLocalizer<SomeType>. Under the hood this results in a call to the other Create overload accepting a Type parameter. If you take a look at how this is implemented in this case, you can see that the type's (simple) assembly name is used as the location (unless you override this default behavior by annotating your type with an AssociatedAssemblyNameAttribute). For example, if you inject IStringLocalizer<SomeType>, where SomeType resides in SomeAssembly.dll, all the translations done via that localizer instance will be looked up in the file named SomeAssembly.po (within the directory corresponding to the current culture).
So I suspect that you have this issue because your application's assembly name and the name of your PO files mismatch. To make this work, you need to create (or make the extractor tool, POTools create) POT/PO files with the correct file name which matches the name of your assembli(es), as it's shown in the sample project:

project configuration
extractor script.

However, what is puzzling me here is that I have just checked and the name of the .po files already match the name of the Assembly

Can you show me your code (or an MRE) maybe? Without that, I can only make guesses. However, I think you need to do some debugging around POStringLocalizer.GetCatalog

The language names use a "_" instead of a "-" could it be the cause of the issue?

Language name is irrelevant, file.Key.Culture is what's used as part of the lookup key.
However, the ctor of CultureInfo also accepts the "en_US" format besides "en-US". That might cause problems indeed.

Before you create a repro, could you do a debug session and verify whether the correct catalog is found or not at this line?

My extractor tool supports display/data annotations but it's done slightly differently: for example, see this code.
Of course, if this doesn't suit your needs, you're free to clone and modify the tool as you wish.
Please be aware though that properly localizing data annotations in ASP.NET Core is a PITA. I made it work in my template project but it required some further steps like this and this.

Yep, constants and enums annotated with the Localize attribute are extracted.


CI: Pre-releases, Python versions, Codecov

To avoid getting caught by API changes or have an opportunity to catch upstream bugs, we should test on pre-releases.
For speed, this replaces Miniconda with Travis's built-in Python environments, except for OSX, which still needs Miniconda.
Also, updated pytest to use parallelism and output coverage that Codecov can use.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@997f1dd). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #182   +/-   ##
=========================================
  Coverage          ?   80.89%
=========================================
  Files             ?       22
  Lines             ?     1895
  Branches          ?      367
=========================================
  Hits              ?     1533
  Misses            ?      236
  Partials          ?      126

Flag
Coverage Δ

#unittests
80.89% <ø> (?)

Continue to review full report at Codecov.

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

@tyarkoni This seems to be working, if you have a few minutes between flights.

Awesome, thanks!


Several small perf improvements for realms with large numbers of users

Thanks @dbiollo for these suggestions (see #375)!

Automated message from Dropbox CLA bot
@timabbott, it looks like you've already signed the Dropbox CLA. Thanks!

(The test failure is a flake and should be fixed by #394 )

@timabbott - I tested the tweaks with my large dataset and it works well as expected! Thanks for implementing the optimizations.

lgtm fftp

Merged, thanks for the review!


Socket failed to connect on FreeBSD.

[ RUN      ] Socket.Basic
/disk-samsung/freebsd-ports/misc/xgboost/work/xgboost-1.7.1/tests/cpp/collective/test_socket.cc:34: Failure
Expected equality of these values:
  Connect(MakeSockAddress(StringView{addr}, port), &client)
    Which is: system:47
  std::errc{}
    Which is: 4-byte object <00-00 00-00>
/disk-samsung/freebsd-ports/misc/xgboost/work/xgboost-1.7.1/tests/cpp/collective/test_socket.cc:70: Skipped
Skipping IPv6 test
[  FAILED  ] Socket.Basic (0 ms)

Version: 1.7.1
clang-14
FreeBSD 13.1

Hmm, the socket failed to connect on FreeBSD. We don't have any linux specifc code in the socket module, need to find a bsd box for testing.

I got the message address family not supported by protocol family connect from connect failure. Any suggestion? I'm not sure why it fails on freebsd, currently we run tests on linux and macos.

Same failure in the version 1.7.6

Closing as resolved.


Make About Us page is responsive.

Description
When we open about us page in mobile. We see that the about us page is not responsive means not looking good.
Screenshots

Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[ ] I am a SWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

I am interested to work on this issue, @Prateek2111 please assign it to me.

@Prateek2111 i would like to work on this issue, please assign to me.

I'm interested in this issue. The responsiveness of text in not matching with image size in mobile view. I have an idea to make it responsive. below is just basic style that is need to be changed.

I will also add some additional UI to nav bar and overall style of about us page. So please assign issue to me for gssoc24.


Translate a file?

Is it/will it be possible to translate a file?

If you are and end-user:
MMT does not have yet an interface to do that. But we are working on integrating MMT with Matecat in the next months. This will do that.
if you are a developer:
MMT has a sentence level API.
If you need to translate a plain text file, just break it into sentences and translate it using the API.
If you want to translate Word, HTML and other 70 files formats, you can to the following:

Use the Matecat Filters to convert any file into XLIFF
Send to the MMT API all the sentences (it will manage tags)
Put back the translations into the XLIFF
Use Matecat Filters to get back the target file.

Matecat filters are also available as a service.
If you implement this we will be happy to add it as a contrib.

@mehmedes if you need to translate plain text - one line, one sentence you can use the built-in script in MMT. In the example below the command is translating examples/data/train/europarl.en:
cat examples/data/train/europarl.en | ./mmt translate --context-file examples/data/train/europarl.en --batch

In your example,  how can I have Europarl.en translated while creating the output Europarl.de, in other words a file containing the translation?

Hi @mehmedes
you're probably looking for STDOUT redirection:
cat examples/data/train/europarl.en | ./mmt translate --context-file examples/data/train/europarl.en --batch > europarl.de

Thanks :)


Types reflect that row.original is never undefined

As far as I can tell this is ok? Then you don't have to do null checks in calling code that wants to use row.original.

Ah, ok. This doesn't work because a grouped row has no original. That's interesting! It would be cool to work around this somehow, but it seems like a lot of work. Curious for your thoughts, but I'll close this.
https://github.com/TanStack/react-table/blob/192c4841e87d5ff4950f3a0a612d22912905cff4/packages/react-table/src/utils/groupRowsFn.ts#L126

We would need to create a new row type variant for grouped rows. It does introduce some complexity, but not impossible.


WishList: Integration with ctags/etags built-in tools

Is it possible to integrate history tool with ctags/etags built-in tools.

Just add a new feature, `history-switch-buffer-history' to let you add history automatically when switching buffer (a switch).

You can just have a list of functions that would be before-advised with history-add-history (when the user calls a specific setup function, look at point-stack for the example).
Is there a point in offering specific support for different commands?

Ok, I'll check it out.

What command?

Like switch-to-buffer.

Good, I refer to your point-stack a lot. XD
(defcustom point-stack-advised-functions
  '(isearch-mode find-function-do-it find-library
    imenu beginning-of-buffer end-of-buffer
    xref-find-definitions)
  "Functions that will be advised by `point-stack-setup-advices'."
  :group 'point-stack)

Implementing...

Hi @dgutov , just finished hook point. Enjoy~

Thanks, but "hooks" it's really the right term, so it might be confusing for people familiar with the Emacs ecosystem. Advices are really the inverse of hooks.

Also, history-add-after-functions doesn't really seem useful.

Ya I know it should be "advised" in Emacs ecosystem. I just want it be much easier understanding for beginners. But I think it's better to give it a right name~

Also, history-add-after-functions doesn't really seem useful.

It is useful indeed. Actually every two histories are pairs, like from and to entries.

For instance, add history before find-tag-noselect and after find-tag-noselect.

Ah, I see where you're going with this. Could you maybe adopt a feature from point-stack instead?
I've just noticed that this is missing: when I use history-prev-history, I'd always like to be able to call history-next-history and get right to where I was previously. point-stack implements that by having two histories: backward and forward ones. So when I go back, I push the current location to the "forward" stack first.

Hmm, ok I'll update later.

I don't really understand the suggestion, but it seems like the following won't work with it:
M-x history-prev-history
M-x history-prev-history
M-x history-next-history
M-x history-next-history

Hi @dgutov , plz check #e6ad5e24 commit if it is the feature you want. :+1:

check #e6ad5e24 commit if it is the feature you want.

Thanks! Not exactly what I asked, but it seems good enough. I'll have to test it for some time.


tap_action

Checklist

[x] I am running the latest version of the card
[x] I checked if there isn't another feature request opened with the same request
[x] I checked that the feature is not already available in the dev branch

I'd like to be able to define a tap_action for the card, similar to what can be done with the mini-graph-card. I use graphs in various places in my config and a tap_action to call a popup via browser_mod.

Where would you want to tap to run the tap_action?
Actually, the only place that I could see this would be the legend, but then it would disable the "toggling" of entries in the chart.

That's the tricky question. I don't know how it works with other cards, but there are quite a few where the card is the space to tap and the elements (chart, legend, etc.) seem to be shown over the top of that "tap layer" and retain their tap/hover etc. behaviour. I'm not entirely convinced replacing toggling on the legend is the way to go.
As said, the mini-graph-card has a tap_action, I'm wondering how he implemented it, since you can interact with the chart and tap somewhere else to start the tap_action.

came here to say the same! :)
just started to play with apex - looking very promising! great job! and even if I'm already burried under TONS of options it provides, indeed the tap_action [or even hold_action?] is the one I miss for the very same reasons as OP - for opening the popup windows :)

So I'm thinking about adding tap actions but only if the header is displayed by clicking on the header entries. Would that work?

So I'm thinking about adding tap actions (and hold and double tap) but only if the header is displayed by clicking on the header entries. Would that work?

I'd say that it's way better than having no actions - so yeah, that would be great! :)

This will be released soon, I just need to write the documentation ;)

This will be released soon, I just need to write the documentation ;)

great, can't wait! :)

Thank you for releasing this! Any plans on supporting fire-dom-events as action? Browser-mod relies heavily on this...


feat: halt thorchain operations during hardfork

Description
⚠ MERGE ME at 5PM UTC on 09/04 i.e two hours before the hard fork, not before
Does what it says on the box - to be reverted once https://github.com/shapeshift/web/pull/7510 goes in
Issue (if applicable)

N/A
Risk

High Risk PRs Require 2 approvals

None, temporary halt

What protocols, transaction types, wallets or contract interactions might be affected by this PR?

Testing

THORChain swapper, LP, Lending, savers and RUNEPool are disabled

Engineering

Operations

[ ] :checkered_flag: My feature is behind a flag and doesn't require operations testing (yet)

Screenshots (if applicable)

to be merged tomorrow 17 UTC.  2 hours ahead of TC hardfork

❌ Lending & Pools routes are gone. This is not ideal, and too course of a flag - users should still be able to view their positions.

Nice catch @0xApotheosis! Reverted the top-level flags and only kept the granular ones in a1cb69df75

hotfix release: https://github.com/shapeshift/web/pull/7690


added more details about time/date field

Agreed this is not maintainable, will work towards automation in subsequent sprints, can we merge this so at least some documentation is there, and we cna improve upon it later.

In hindsight I would have implemented all my snafu wrappers using int(time.time()) much easier.  I may go back and retrofit them if time permits, but this would break the kibana index patterns I've established, so I'd have to fix them too etc. @acalhounRH ^   Wish we could have more OO code pattern where we inherit from a base class that does the wrapper-independent stuff in one place.

closing this, and will implement a process to create mapping over manual creation


Pipeline variable default values are ignored

During evaluate_pipeline all the run pipeline variables are created but defined default values are not set.
@LeonardHd will be updating default_value to defaultValue and write some tests to ensure things keep working!

Created a PR to fix #123.
To move self.variables to a property I suggest creating a new issue and implementing this separately (as it's technically a breaking change for the API, so let's try to go over all models and check what should be readonly).

Created a PR to fix #123.
To move self.variables to a property I suggest creating a new issue and implementing this separately (as it's technically a breaking change for the API, so let's try to go over all models and check what should be readonly).

I already created the issue yesterday and, yes, let's fix it separately: https://github.com/microsoft/data-factory-testing-framework/issues/122


No GPU acceleration

When running eynollah on an GPU-enabled server there is no GPU acceleration.
Below is when eynollah was run on a server without GPU (123.5 seconds)

And this is when eynollah was run  on a GPU-enabled server (133.4 seconds)

Result of running nvidia-smi command

Please guide me, did I miss something during installation or do I need to change certain settings.
Thank you.

Thank you for reporting, we will investigate further. There should be no specific settings required to utilize GPU imo other than CUDA being set up.
On a first quick glance, it seems you are running Eynollah with the -light switch, which does significantly speed up the process compared to not using this option, but actually this mode may also cause Eynollah being less reliant on available GPU resources.
Without the  -light switch, in our observation the (overall much longer) processing times should be roughly doubled (depending on input document image size and features) when no GPU is available.

Looking into this further, despite using the -light switch, there should be a mentionable speed boost with GPU. Our current assumption is that this may be due to CUDA version compatibility issues with tensorflow 1.15.x - however, since the current version of Eynollah can now also use Tensorflow 2, could you perhaps retry with current master and see if there is any speed improvement now?

The issue was resolved after installing CUDA v10. The issue was related a version mismatch between TensorFlow and Cuda version.

Thanks for letting us know! I've also added a short remark on the CUDA version required to the readme now to prevent others falling into the same pitfalls ;)


Add file based(json and/or yaml) backend

Currently we use confd with the etcd backend for dynamic Nginx configuration.
We want to standardize on confd for all configuration templating.
For some simple one time templating we want to avoid using etcd but rather keep configurations inside a simple json and/or yaml file.

see #201

@bacongobbler Thanks for the link.
After reading #201 I not sure if this feature was actually implemented or not.
The issue was closed yet the feature is not documented.

Sorry, yeah I was just trying to point out that this has been a requested feature before but there were some issues with the implementation which we never got around to fixing. It was eventually closed but not merged.

@bacongobbler sounds like a very interesting feature. #201 was about using a filesystem as backend (i.e. multiple files and directories). Shouldn't a single JSON/YAML file backend be much easier to implement? The use case I have in mind is using a cron job with curl and an (arbitrary) REST service or other JSON-based tools to update a file that is watched by confd. e.g. to maintain a list of EC2 instances: aws ec2 describe-instances > /tmp/instances.json
Compared to the filesystem backend a simple file backend would allow a whole lot of input sources. There could be non-polling-based inputs too, e.g. a process that listens to a message queue and updates a file.

@sfussenegger @bacongobbler I'm happy to see a simple json or yaml backend. Ideally it would work like the env backend. We can add support for watches on files as well.

Yes, this would be quite useful!


Use CircleCI 2.1 syntax improvements

After CircleCI 2.1 update, it was only updated caches to workspaces to allow running correctly with forked PR. Now, it's time to improve flow using better executors and developing common commands.

Closed via #1496


Invoke-Webrequest is missing some properties, like .ParsedHtml and .AllElements

Hello Everyone
PsCore 6.x's Invoke-Webrequest is missing on the most 'loved' Ps 'classic' features, ie the ability to parse web pages and turn them into explorable objects.
Steps to reproduce
$test=invoke-webrequest -url http://www.github.com
Expected behavior
$test.ParsedHtml
$test.AllElements
(amont others) are missing:
Microsoft Powershell :

Core Poweshell:

Actual behavior
these properties are missing
Environment data
CLRVersion
SerializationVersion <IP_ADDRESS>
PSRemotingProtocolVersion 2.3
PSEdition Core
WSManStackVersion 3.0
BuildVersion <IP_ADDRESS>
GitCommitId v6.0.0-alpha.13
PSVersion 6.0.0-alpha
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}

I have hope to have web parsing capabilities in PSCore!
Thanks everyone!

@joeyaiello  FYI: Full PowerShell essentially uses Internet Explorer to do the HTML parsing. This is likely to be problematic to replicate on .NET core.

@BrucePay I'd still like to investigate after we look at whatever ends up shipping .NET Standard 2.0

What's the best alternative if this is low priority? Any low effort workarounds for parsing HTML in core?

.Net Std 2.0 doesn't solve this.  There is another issue where we discussed the need to leverage an OSS html parser rather than rely on a web browser being available (https://github.com/PowerShell/PowerShell/issues/2867), doing that work should also resolve this one.

May I propose using https://github.com/servo/html5ever?  Loosely speaking, Servo is the next generation of Firefox written in Rust. You can writing your bindings against https://github.com/utkarshkukreti/select.rs which is written on top of html5ever.
Unlike some of the other parts of OSS community which in the past haven't colloborated with their own specific list of companies, Rust community is incredibly open and collaborative. VSCode uses a rust-coded library- https://github.com/BurntSushi/ripgrep/ whose author made changes specifically to accomodate them- @BurntSushi .
There's also https://github.com/google/gumbo-parser which doesn't seem maintained right now and Chromium but I don't know how easy it is to pull in external code.
PS: I am an honorary member of the Rust action strike force, which pressures people into rewriting already existing codebases into Rust. No I'm not, lol, there's no such thing. I'm just a Linux user who wishes to be able to parse html with iwr.

@SRGOM I don't have any affinity to any particular html parser, but certainly one that is maintained is more desirable.  I know that @iSazonov had proposed looking at some other OSS ones as well.

@SteveL-MSFT I'd like to say maintained + in use (so constantly tested).
Webkit ranks higher than servo's html5ever there

It was in #3267 - AngleSharp. I now believe that AngleSharp is a lightweight and sufficient solution to this Issue. The use of more powerful engines should be discussed further (For example, if we want to migrate completely to a similar engine).

Rather than having this as part of the webcmdlets, these should be separate as html cmdlets which can be used against local files.

I am guessing this is still considered for the future?

@MSAdministrator Yes, it is still considered for the future.

@MSAdministrator Up-for-Grabs delegate this to community :-). Feel free to write RFC to start the dev process.

Submitted RFC for ConvertFrom-Html here: https://github.com/PowerShell/PowerShell-RFC/pull/137

Why has this been changed to default of -UseBasicParsing?
This is the cause of the issue. I was using the scripts property for gathering information from the marketplace.visualstudio.com and now that property is missing causing my automation script to fail. This really shouldn't be a RFC but a request to restore original functionality. All that needs to be done to fix this is remove that hidden flag.

@wyzerd Windows PowerShell relied on Internet Explorer to parse the html.  Since Internet Explorer wasn't available in most platforms we support with PowerShell Core 6 (nanoserver, Linux, macOS), it made sense to default to -UseBasicParsing.  @MSAdministrator's proposal for ConvertFrom-Html is a better solution rather than marrying the parsing capability to the web cmdlets (like parsing a local html file).

MS is trusted for a backwards compatibility. It's okay to miss features but please don't add or remove things silently. It breaks trust.

It wasn't removed silently. There were several announcement blog posts, including at least two or three from the main man behind the change, and it was documented in the patch notes and I believe is also in the updated help documentation.

@vexx32- You know what I'm trying to say but yes silently wasn't the right word to use. Please don't change default behavior that already works.

There wasn't really much of a choice given they wanted to support multiple platforms, really. It's unfortunate, but as Steve mentions it's probably best to look at alternate solutions than to keep it tied down to a past solution that would inevitably break.
MS as a whole is moving away from IE to Edge, so I'm sure that having IE as a dependency isn't desirable, regardless of how much it might be convenient for some.

@SteveL-MSFT,
Thanks for the explanation. It never occurred to me that IE would have been the used as part of the library. In consideration of the evolution of Powershell, I suppose it made sense in 3.0 when it was generated specifically for Windows. I still think ConvertFrom-Html is sort of a hack (no offense intended). For maximum compatibility, it would be better to have rewrite the library to parse the HTML in a similar manner that the IE Library did it and return a compatible object type.
While -UseBasicParsing removes the one class defined by IE (mshtml library), it also removes other objects unnecessarily, Scripts, AllElements, Forms to name a few that are readily available. It seems it should be easier to override the ParsedHtml than to write a crutch app to append to the call.

@wyzerd

it should be easier to override the ParsedHtml than to write a crutch app to append to the call.

This is an Open Source project. So if you feel this is a low level of effort, you are free to create a pull request to do so. 😃

@markekraus
To be fair, I didn't say low level. However, writing ConvertFrom-HTML is likely to be more complex than an override of the single element of the HtmlWebResponseObject. Saddest part about it is I don't even care about that single mshtml element. What I want is the scripts element that is completely compatible, but removed because of the implementation.
It is a good suggestion though and I really could use the time to sharpen my tools.

Hi,
Can I check if there is any progress on this out of interest? Will this be resolved/added into Powershell 7 and / or .Net Core 3? Perhaps I should raise the request with the .net Core team. This was a really handy feature.
Many thanks!
Steve

Since  new Microsoft Edge is based on Chromium we could discover Chromium engine on system and utilize the API.

Ran into this today as well.
Name                           Value

PSVersion                      7.0.3
PSEdition                      Core
GitCommitId                    7.0.3
OS                             Microsoft Windows 10.0.19041
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0`

I think @kamome283 module is a better way with AngleSharp than try to communicate with an external process.
https://github.com/kamome283/AngleParse

Seems that the community has helped fill in this gap with modules on PowerShellGallery to specifically handle parsing html.

So, simply put, this Invoke-WebRequest cmdlet is not compatible for PS7 if I developed a script on PS5?
Given that all the online information is mixed and you never know when they're talking about PS5 or PS7.

Given that all the online information is mixed and you never know when they're talking about PS5 or PS7.

To be fair the documentation hosted at Microsoft makes it very easy to choose between (Windows) Powershell 5.1 and (say) Powershell 7.1; for example:
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-webrequest?view=powershell-7.1
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-webrequest?view=powershell-5.1
There you can (for example) see different text for -UseBasicParsing

@wisemoth did you intentionally make 2 links to the same thing for invoke-webrequest?  because both of those links point to the same URL and give the same information (for PowerShell 7,2).  If you're trying to say that the information is not mixed then doing this disproves your point...

@wisemoth did you intentionally make 2 links to the same thing for invoke-webrequest? because both of those links point to the same URL and give the same information (for PowerShell 7,2). If you're trying to say that the information is not mixed then doing this disproves your point...

You're using the link previews created by github....


Fix invalid use of bare raise

The line should never be reached in any case.... but it upsets pycharm.

I'd give it a few days...


Add User-Agent to headers

Description

Introduces a custom User-Agent header to all API requests
Check List

[ ] Are you changing anything with the public API?
[ ] Are your changes backwards compatible with previous SDK Versions?
[ ] Have you tested this change on real device?
[ ] Have you added unit test coverage for your changes?
[ ] Have you verified that your changes are compatible with all Android versions the SDK currently supports?

Changelog / Code Overview

Test Plan

Related Issues/Tickets

We might want to put this into a 1.0.2 release sooner than later, given we'll want to hold off on releasing the metadata addition to events until serverside events are ready to update too.


Release tracking issue: Crypto

[x] #3378
[x] #3380
[x] #3381
[x] #3382
[x] #3330
[x] #2780
[x] #3332
[x] #3379
[ ] #3476
[ ] #3839
[x] #1087

#3476 and #3839 were deprioritized and removed from P-V1 so this is complete


Add universal Tensor/EagerTensor to ndarray conversion function

Please make sure that this is a feature request. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:feature_template
System information

TensorFlow version (you are using): tf-nightly==2.3.0dev20200622
Are you willing to contribute it (Yes/No): Not skilled enough or knowledgeable enough of TF architecture

Describe the feature and the current behavior/state.
Currently there are many different ways to convert individual types of Tensor-like objects into corresponding ndarrays; however, each of these has a specific use condition.
.numpy() : only works with eager execution
 : must be evaluated inside a tf.function or a Graph. Might not work in all environments either ( I couldn't get this to work)
There is a function that converts ProtoTensors, but it doesn't work on Tensors or EagerTensors.
The goal is to have a function that can convert at least Tensors and EagerTensors to ndarrays regardless of whether Eager Execution is enabled or not.
it should be callable in a manner like X = tf.make_ndarray(model(X))
Will this change the current api? How? To the best of my knowledge, it will not change the surface level API.
Who will benefit with this feature?
This will particularly benefit anyone who has to run multiple, separately-trained networks in the same python session where at least one of them is a port from TF 1.X that requires eager execution to be disabled. Because Eager Execution is a global setting (to the best of my knowledge), this causes the output to be as Tensors when they may normally be expected to be EagerTensors.
X=model(X) returns 'X' as a EagerTensor with EagerExecution but returns a Tensor with EagerExecution disabled. This could easily cause downstream data processing problems (i.e. numpy math operations no longer work because of non-compatibility).
The implementation of this would remove a significant barrier to making generalized code/networks. It also prevents unnecessary imports of tensorflow or tensorflow functions.
Supposedly, Tensors have to be evaluated in a graph because of something to do with unknown states (or something that sounds similar) and EagerTensors don't have that limitation. However, TF clearly has the tf.math module and knows what the numbers are and knows how to do math with them. I don't see why the tf.math module can't simply have a function that can return a ndarray.
Any Other info.

Graph mode only deals with symbolic tensors, so ndarrays don't fit there. This question is better asked on StackOverflow since it is not a bug or feature request. There is also a larger community that reads questions there.
If you think we've misinterpreted a bug, please comment again with a clear explanation, as well as all of the information requested in the issue template. Thanks!

This is absolutely a feature request. I never claimed it was a bug either. Please do not put words in my mouth. To my knowledge I filled out all of the issue template for a feature request aside from "Additional Info"
I have already used stack exchange and the frank reality is that most question are left unanswered. Most (if not all) of the results that are pulled up by searching are strictly related tensorflow 1.X. There are functions that transform one kind of tensor to other tensors but nothing that transforms a tensor to an EagerTensor or directly into a ndarray. I am well aware of the the whole session.run() method, but when I've tried getting a session (I don't remember which function that is) it will return the global session (or create a new one if one doesn't exist). The output of the model that forced eager execution (it is not my model but a different package built from TF 1 that uses compatibility functions of TF 2) can no longer be fed into a tf.keras built autoencoder (running non-eagerly because of the graph constructed ANN turns off eager execution) because the tensor didn't originate from the same graph. Why tensors are not portable between models is beyond me. Both models work fine if they are alone.
I am aware that there are functions that allow the enabling and disabling of eager execution, but those functions also come with documentation that claims that they can only be run before any models or sessions are constructed. I can't just turn it on and off.


Not saving in session

My browser preferred language is "es", I change the language to "en" using the locale picker or loading a "en" url manyally, and then go to the home page / and it loads again the "es" locale. If I write a dd($localeSession); in routes.php on line 25, the value is always false, so I suppose the session is not started yet? Any clues?

Same issue here.
It seems indeed that session is not available yet. It is started with the StartSession middleware however middlewares are not started yet in App::before.


Don't pull the antivirus docker image on CI

Not sure this is needed, as none of the tests test it?
(Don't merge this yet)

According to the build log on Travis, instead of pulling the image it is building it from source, so I don't think this is actually solving the problem.

@slorek no, not yet...  The build & test process is more complicated than I realised...


Kill ReadGroupSets

A ReadGroupSet is a very vague object with not really any particular associated semantics. We should replace it everywhere it is referenced with just the set of particular ReadGroup IDs being referred to.

-1
A read group set = a BAM file
In any event, that's defined by the schema, so if this decision is made, it should be made there.

Agree with @dcolligan --- this is a schema issue, so closing here.

ReadGroupSet is the equivalent of most BAM files.  That is, a
set of read groups for a given sample library.  This is rather
important, as it is the unit that is normally analyzed.
I would suggest that the problem is not with ReadGroupSet
object, but how poorly specified it is.  It is marked for
improved specification in the documentation branch.
Just need someone who defined the object to step up.
adamnovak<EMAIL_ADDRESS>writes:

A ReadGroupSet is a very vague object with not really any particular associated
semantics. We should replace it everywhere it is referenced with just the set
of particular ReadGroup IDs being referred to.
—
Reply to this email directly or view it on GitHub.*

We probably should move the discussion over to a schemas issue, but I
figure I should explain in more than two words why I don't like
ReadGroupSets.
Basically, a ReadGroupSet is a BAM file, but the fact that two read
groups were in the same BAM file in and of itself doesn't really mean
anything, semantically. I can glom together any arbitrary combination of
ReadGroups from different samples, sequencers, and aligners into a single
BAM file. The BAM spec supports it just fine.
You might complain that that would be a bad idea, and that putting two read
groups from different samples/sequencers/pipelines into the same BAM is
going to confuse people, because they might assume that they actually did
belong to one sample/sequencer technology/alignment pipeline. But if it's
these pieces of metadata that are important, then that metadata is what we
should use to organize our ReadGroups. Having a ReadGroupSet that exists to
represent a BAM file is only a good idea if we can enforce that being in
the same BAM file actually means something consistent across data sets, and
that the API endpoint you happen to be hitting against today hasn't grouped
all of its reads into BAM files by first letter or some other useless
convention.
If the point of ReadGroupSet is to represent particular application- or
data-source-specific sets of ReadGroups (i.e. document the arrangement into
BAM files upon import form some other repository, where being in a BAM file
means something repository-specific), we would probably want a
lighter-weight, less-fundamental-to-the-whole-API representation, where a
ReadGroupSet is just an assertion that this other study grouped together
these ReadGroups under this external identifier, with other-study-specific
semantics.
On Mon, Oct 12, 2015 at 4:28 PM, Mark Diekhans<EMAIL_ADDRESS>wrote:

ReadGroupSet is the equivalent of most BAM files. That is, a
set of read groups for a given sample library. This is rather
important, as it is the unit that is normally analyzed.
I would suggest that the problem is not with ReadGroupSet
object, but how poorly specified it is. It is marked for
improved specification in the documentation branch.
Just need someone who defined the object to step up.
adamnovak<EMAIL_ADDRESS>writes:

A ReadGroupSet is a very vague object with not really any particular
associated
semantics. We should replace it everywhere it is referenced with just
the set
of particular ReadGroup IDs being referred to.
—
Reply to this email directly or view it on GitHub.*

—
Reply to this email directly or view it on GitHub
https://github.com/ga4gh/server/issues/737#issuecomment-147511329.


Name expected?

I implemented this:
.pipe(uglify().on('error', function(e) { console.log('\x07',e.message); return this.end(); }))

to get more describing error messages.
But now I get:
Name expected
My task is as simple as this:
gulp.task('orders_js', function () {
	gulp.src(orders_js) // Javascript files source defined else where as an array (top of file)
//		.pipe(uglify())
 		.pipe(uglify().on('error', function(e) { console.log('\x07',e.message); return this.end(); }))
		.pipe(gulp.dest('assets/js/pages'));
});

Everything works fine when out commenting the uglify line. As in, the file does output to the right place, so path etc. is all working. But what "Name" is it that uglify "Expects"?

@terinjokes I got the same error message while using gulp-uglify to compress es6 code.
My code :
const values = Object.values( data );
return new Function( ...( Object.keys( data ) ), 'return (' + n + ')' )( ...values );

It can be compressed correctly, but if I change ...values to ...( Object.values( data ) ), I'll get that error message.

Same here. I'm using it with electron and getting same error for this line:
const {remote} = require('electron');

@NextSeason @BitReign UglifyJS2 doesn't yet support all of ES6, please open an issue with them.


Whether the latest node-mapnik is supported mapnik3.0.21 ??

I have install mapnik 3.0.21,when i directly use  "npm install mapnik" ,it's failed.
Now I want to install node-mapnik from source code, I see this :"The master branch of node-mapnik is not compatible with 3.0.x series of Mapnik. To build again Mapnik 3.0.x, use v3.0.x branch.",but i don't know whether the latest mapnik is supported  by v3.0.x branch.
Any help will appreciated！

Master branch of node-mapnik should work with master branch of Mapnik. The master branch is development branch, v3.0.x branch is release branch currently.


[bug:project] project viewer should work on windows 10

Describe the bug
Project viewer is not working on windows 10
To Reproduce
Steps to reproduce the behavior:

ctrl + y
nothing happen

Expected behavior
something like that

Desktop (please complete the following information):

OS: Windows 10
Version: 1.0.3

@SmallFont00 I don't have any windows machine, can you fix this?

@dannypsnl sure.

The problem is caused by key binding conflict on Windows OS. The Undo key is ctrl + y on Windows but ctrl + shift + z on Linux (or others?).

Done by #135


BUG: Error in test fno RMLFNOTC0006-CSV

What Happens?
The output of this test is not correct because this is not a triple:
<http://example.com/Venus> <http://xmlns.com/foaf/0.1/name> "Venus" <http://VENUS> .
It seems that the correct output should be:
<http://example.com/Venus> <http://xmlns.com/foaf/0.1/name> <http://VENUS> .
If so, this part of the mapping is  not correct:
rr:predicateObjectMap [
        rr:predicate foaf:name;
        rr:objectMap [ rml:reference "Name"] ;
        rr:graphMap [
            fnml:execution <#Execution> ;
            rr:termType rr:IRI
        ];
    ] .

It should be:
rr:predicateObjectMap [
        rr:predicate foaf:name;
        rr:objectMap [
            fnml:execution <#Execution> ;
            rr:termType rr:IRI
        ];
    ] .

Is it right?
To Reproduce
See above
Environment
I'm testing the latest version of morph-kgc installed from the GitHub repository.

Hi @paoespinozarias
Thanks for reporting this :) , you are right, I just fixed the test case.


a way to embed metadata in an existing download when the video is no longer available

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm requesting a feature unrelated to a specific site
[X] I've looked through the README
[X] I've verified that I'm running yt-dlp version 2023.03.04 (update instructions) or later (specify commit)
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Provide a description that is worded well enough to be understood
Alternative title: --ignore-no-formats-error doesn't
re: checklist: I'm on yt-dlp<EMAIL_ADDRESS>not sure whether this should be a bug or a feature request, so I'll stay on the safe side and go for feature
I've got a few years' worth of japanese radio programmes that I downloaded with another tool. That tool doesn't download any metadata, just the audio.
I've recently written an extractor that extracts metadata as well, and I'd like to use it to add metadata to my old downloads.
The service only keeps episodes up for a week after they've aired, so I can't go back and download them all again. The metadata API keeps working, though.
In light of this, I'd like a way to add metadata to an existing file when the video is not available, but metadata is.
My first instinct was just to do nothing - my filenames follow the format I've specified, so it'll see that the file's already there and, in theory, not bother downloading - it'll just write the metadata to the existing file, like it does if formats are still available.
That didn't work - it threw a no formats error - fair enough.
I looked for something relevant in the --help, and found:

--ignore-no-formats-error
Ignore "No video formats" error. Useful for extracting metadata even if the videos are not actually available for download (experimental)

Perfect, that's exactly what I want!
I added it to my command, but it still throws the format error.
Tried --skip-download, but it didn't write the metadata. Same with --simulate, though I guess that was to be expected.
--dump-json gives me the metadata just fine, so I suppose I could write a script that uses that, but I'd much rather not reinvent the wheel and just have yt-dlp add it for me.
Possible solutions could be:

Check if the file already exists before selecting a format
Make sure --ignore-no-formats-error applies to every error

Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['https://radiko.jp/#!/ts/NORTHWAVE/20221120173000', '-o', '角松敏生 My BLUES LIFE 2022-11-20_1730 NORTHWAVE.aac', '--ignore-no-formats-error', '-vU']
[debug] User config "/home/g/.config/yt-dlp/config": ['--no-colors', '--alias', 'nhk', '--config-location "/home/g/.config/yt-dlp/nhkradio"', '--alias', 'radiko', '--config-location "/home/g/.config/yt-dlp/radiko"', '--embed-thumbnail', '--embed-metadata']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[ef8fb7f02] (zip)
[debug] Python 3.10.6 (CPython x86_64 64bit) - Linux-5.15.0-69-generic-x86_64-with-glibc2.35 (OpenSSL 3.0.2 15 Mar 2022, glibc 2.35)
[debug] exe versions: ffmpeg 4.4.2 (setts), ffprobe 4.4.2, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.17, brotli-1.0.9, certifi-2022.12.07, mutagen-1.46.0, secretstorage-3.3.1, sqlite3-2.6.0, websockets-11.0.2
[debug] Proxy map: {'no': 'localhost,<IP_ADDRESS>/8,::1'}
[debug] Extractor Plugins: RadikoLiveIE, RadikoTimeFreeIE
[debug] Plugin directories: ['/home/g/.config/yt-dlp/plugins/yt-dlp-rajiko/yt_dlp_plugins', '/home/g/.local/lib/python3.10/site-packages/yt_dlp_plugins']
[debug] Loaded 1815 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp-nightly-builds/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>Current Build Hash: 3cfd5e8c501b5098b4d8bc166c6392417a3e80a8469824791d33a230e77a7013
yt-dlp is up to date<EMAIL_ADDRESS>[RadikoTimeFree] Extracting URL: https://radiko.jp/#!/ts/NORTHWAVE/20221120173000
[RadikoTimeFree] NORTHWAVE: Downloading programme data
[debug] Loading rajiko.region_index from cache
[RadikoTimeFree] JP1: Downloading station listings
[debug] Loading rajiko-tokens.JP1 from cache
[debug] [RadikoTimeFree] {'token': {'X-Radiko-AreaId': 'JP1', 'X-Radiko-AuthToken': 'redacted'}, 'user': 'redacted'}
[RadikoTimeFree] JP1: Checking cached token
[debug] [RadikoTimeFree] OK
[RadikoTimeFree] NORTHWAVE: Downloading stream information
[RadikoTimeFree] NORTHWAVE: Downloading m3u8 information from radiko.jp
WARNING: [RadikoTimeFree] Failed to download m3u8 information: HTTP Error 403: Forbidden
WARNING: [RadikoTimeFree] NORTHWAVE-20221120173000: Programme is no longer available.
WARNING: No video formats found!
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[debug] Default format spec: bestvideo*+bestaudio/best
WARNING: Requested format is not available
[info] Downloading video thumbnail 0 ...
[info] Writing video thumbnail 0 to: 角松敏生 My BLUES LIFE 2022-11-20_1730 NORTHWAVE.jpg
ERROR: [RadikoTimeFree] NORTHWAVE-20221120173000: No video formats found!
Traceback (most recent call last):
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1532, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1629, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1688, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 2793, in process_video_result
    self.process_info(new_info)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 3257, in process_info
    success, real_download = self.dl(temp_filename, info_dict)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 2949, in dl
    self.raise_no_formats(info, True)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1046, in raise_no_formats
    raise ExtractorError(msg, video_id=info['id'], ie=info['extractor'],
yt_dlp.utils.ExtractorError: [RadikoTimeFree] NORTHWAVE-20221120173000: No video formats found!

Filename cannot necessarily be determined without formats. In your specific case, you are passing a fixed filename and so it is not a problem, but it is not possible in general. It also doesn't really make sense to look for existing files when there is nothing to download imo.
Since the extractor code is your own, a quick workaround would be to return a format with some random URL and the correct ext. Then yt-dlp will detect the file. Another solution would be to do the same modification in --write-info-json and loading it back. A workaround with --parse-metadata may be possible too, but I'd have to look into it. Let me know if I should.
Overall, the feature seems out of scope for the core project, but I hope one of these solutions work for you.


removing obsolete package code #200

Fix https://github.com/threefoldtech/jumpscaleX_threebot/issues/200

Looks great! Thanks!


false positive: Suggests to prefer Files.newOutputStream when FileOutputStream is needed

In my project I have a method which requires a FileOutputStream:
private @NotNull Path downloadDatabaseFile() {
    try {
        final Path temporaryDatabaseFile = Files.createTempFile("jfs-", ".db");
        LOGGER.info("Start downloading database from {} ...", dbUrl);
        final URI uri = URI.create(dbUrl);
        final URL url = uri.toURL();
        try (
                ReadableByteChannel rbc = Channels.newChannel(url.openStream());
                FileOutputStream fos = new FileOutputStream(temporaryDatabaseFile.toFile())
        ) {
            fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
        }
        LOGGER.info("Successfully downloaded database to temporary file {}", temporaryDatabaseFile);
        return temporaryDatabaseFile;
    } catch (final IOException e) {
        throw new SessionImportException(String.format(
                "Error downloading database file from '%s': %s",
                dbUrl, e.getMessage()), e);
    }
}

The code in question is the second variable in the try-with-resources statement:
FileOutputStream fos = new FileOutputStream(temporaryDatabaseFile.toFile())

The output of the modernizer plugin during the build:
[INFO] --- modernizer:3.0.0:modernizer (modernizer) @ apus ---
[ERROR] /home/mcpringle/dev/apus/src/main/java/swiss/fihlon/apus/plugin/event/jfs/JavaForumStuttgartPlugin.java:112: Prefer java.nio.file.Files.newOutputStream(java.nio.file.Path)

In this case, the FileOutputStream is mandatory and can't be replaced by a OutputStream. That breaks the following logic in this method (use of transferFrom).
Link to source file in repo: https://github.com/McPringle/apus/blob/e5b2ab3124250ca7bcf61e40e34987aa0fe34e27/src/main/java/swiss/fihlon/apus/plugin/event/jfs/JavaForumStuttgartPlugin.java#L114
Steps to reproduce:

clone the repo
git clone https://github.com/McPringle/apus.git
change into the new directory
cd apus
run the verify phase
./mvnw verify
see the error

Attention: In the latest commit I added the @SuppressModernizer in line 105. You have to remove it first, to reproduce the error message!

Unfortunately Files.newInputStream returns an InputStream and not a FileInputStream.  Users cannot cast from the former to the latter since it is actually a sun.nio.ch.ChannelInputStream.  I agree that there are legitimate uses of FileInputStream to get channels.  I'm not sure there is some narrower violation modernizer could use like FileInputStream.read since many of these will get wrapped in BufferedInputStream or be assigned to the InputStream superclass.
CC @mkarg who introduced this violation.  Any suggestions if we can improve this situation or force users to suppress violations?

@McPringle Hello Marcus, I know that code line (in fact I used Apus for a beta test befor committing the NIO fixes for Modernizer) and already wanted to propose to get rid of the Channel recently, but forgot to ask you on our last telco on Friday! Let's discuss the solution out-of-bands. The solution should be as-easy-as using InputStream.transferTo(OutputStream) which internally does the pretty same as your explicit code (I knew it because I implemented it in OpenJDK).
@gaul Nobody should be forced to keep FileInputStream, as I explained above, so there is nothing to change here, actually. In fact, getting rid of FileInputStream is the intention of NIO2.

Thank you for your explanation, @mkarg. Maybe the message could be made more clear about that. Or should the modernizer plugin mention the problem/solution in the line containing fos.getChannel().transferFrom instead (or additional)?

The use of FileOutputStream in general is not necessary since Java 7, and the intention of the message is to replace it completely. I do not see that a special message for fos.getChannel().fransferFrom provides any additional benefit. But maybe I am missing something?


Vault dynamic secrets expire when service account lease is renewed

Describe the solution you'd like
Using kubernetes auth method with a role and service account with access to Hashicorp Vault with dynamic secrets generator, credentials generated are tied to the service account's token, and are revoked by Vault when that token expires.  If this happens before the next ExternalSecret.spec.refreshInterval, then the Kind=Secret target will hold expired secret values until the refreshInterval occurs.
Basically, unless the ExternalSecret sourced from a VaultDynamicSecret is refreshed at the same time as the service account renews its lease against Vault, there will be some period where the secret data is stale/invalid.
Is there a way already and I've just missed it, or can we add a way, for ExternalSecrets referencing dynamic secrets to be refreshed based on some other trigger rather than a static interval?  In other words, it seems important to have the refresh triggered based on some other metadata (service account's Vault lease renewal time or something) to avoid this out of sync state.
What is the added value?
Dynamic secrets will be fresh and usable at any time; their k8s Secret resources will never hold stale values.
Give us examples of the outcome
time=0s: k8s SA foo granted Vault token X with lease TTL 3600s
time=10s: VaultDynamicSecret + ExternalSecret bar created using kubernetes auth for SA foo, secret refreshInterval: 3600s
time=3600s: SA foo renews Vault lease, next expiration at time=7200s, existing secrets tied to old lease are revoked
time=3605s: Pod baz tries to launch using ES bar for image pull :skull_and_crossbones: ErrImagePull
time=3610s: ES bar refreshes dynamic secret values, next expiration at time=7210s...
Observations (Constraints, Context, etc):
What we are trying to accomplish, in this case, is dynamic (essentially secret-less) auth against Artifactory for imagePullSecrets.  We are using JFrog's Vault Artifactory Secrets Plugin which enables these dynamic secrets.
Here are the relevant resource manifests:
apiVersion: generators.external-secrets.io/v1alpha1
kind: VaultDynamicSecret
metadata:
  name: vault-dynamic
  namespace: demo
spec:
  path: "/artifactory/token/demo"
  method: "GET"
  provider:
    server: "https://vault-dev.tools.demo.com"
    auth:
      kubernetes:
        mountPath: "k8s-platform"
        role: "demo-tools-access-read"
        serviceAccountRef:
          name: "demo"
---
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
  name: image-pull-dynamic
  namespace: demo
spec:
  refreshInterval: "3600s"
  target:
    name: image-pull-dynamic
    template:
      type: kubernetes.io/dockerconfigjson
      engineVersion: v2
      data:
        .dockerconfigjson: |
          {
            "auths": {
              "containers.artifactory-dev.tools.demo.com": {
                "auth": "{{ list .username ":" .access_token | join "" | b64enc }}",
                "email"<EMAIL_ADDRESS>                "password": "{{ .access_token }}",
                "username": "{{ .username }}"
              }
            }
          }
  dataFrom:
  - sourceRef:
      generatorRef:
        apiVersion: generators.external-secrets.io/v1alpha1
        kind: VaultDynamicSecret
        name: vault-dynamic

I think the solution should be to refresh the secret before it expires. Hence, the refreshInterval should be < lease TTL (better <50%).
I think this is mostly a documentation issue. The lease is not renewed, a new token is generated and valid for the TTL configured in the associated vault role.
Would that be a problem to just increase the refreshInterval?

That doesn’t solve the out of sync problem. The main issue is that there is a hierarchy relationship between the created dynamic secrets and the user/role/token that was used to create them. When the SA’s token expires and a new one is requested, any secrets that were generated with the former token also expire. So unless there is a way to inform the ExternalSecret that the token/its secrets have expired, there will always be a possibility for things to be out of sync. Using very short refreshIntervals is a workaround, but not a complete solution—it still leaves a chance that a pod or will need the secret at a moment when it is not valid.

Let me rephrase it:

A new vault token is generated with every reconciliation for every ExternalSecret resource.
This token is valid for the TTL configured in the associated vault role.
ESO uses that token to create dynamic secrets from vault

When the SA’s token expires and a new one is requested, any secrets that were generated with the former token also expire

Does the vault token depend on the Kubernetes Service account Token expiry? I don't think so. IIRC it has a static TTL configured per-role (thats how i read the TTL setting here in the docs).

any secrets that were generated with the former token also expire

That's right, they do expire after the token TTL. However if the refreshInterval < token TTL then a new token is created before the old token + secret expires. And a new dynamic secret is issued and stored in a Kind=Secret.

So unless there is a way to inform the ExternalSecret that the token/its secrets have expired, there will always be a possibility for things to be out of sync

It's just a matter of tuning the spec.refreshInterval and Vault Token TTL so this doesn't happen. There is no possibility for it to get out of sync if this is tuned correctly.
This relates to https://github.com/external-secrets/external-secrets/issues/2184#issuecomment-1498183680. Currently, refreshInterval should be less then 50% of the Vault TTL, otherwise you may run into the edge case described in this issue.


RequiredIf with array

First thanks for a great extension - it's working really well for me, but I have one issue.
I have this on my view model:
    [RequiredIf("QuestionTypeAsString == 'SingleSelect' && Skipped == false && RefusedToAnswer == false", ErrorMessage = "Please complete the answer or select one of the options to skip the question")]
    public int[] SelectedOptionsAnswer { get; set; }

This is posted via a set of checkboxes or radio buttons in the view, and I want to make sure one is selected.
When I step through the code SelectedOptionsAnswer is null, but the model state is valid.  Is there a way to get this attribute working with arrays please?

In the next version (>= 2.6.1), I'm planning to extend functionality a bit, and handle the issues like yours with the help of value parsers. In your particular case following solution could be given (it's not yet published idea, if you have any suggestions do not hesitate to give it here):
[RequiredIf("QuestionTypeAsString == 'SingleSelect' && Skipped == false && ... ")]
[AssertThat("ArrayLength(SelectedOptionsAnswer) > 0")]
[ValueParser("ArrayParser")]
public List<int> SelectedOptionsAnswer { get; set; }

server-side method:
public int ArrayLength(List<int> array)
{
    return array.Count;
}

client-side equivalent:
ea.addMethod('ArrayLength', function(array) {
    return array.length;
});

and finally, how your DOM field value should be understood (ea built-in parser does not handle values, which are distracted in multiple fields - like your checkbox-rendered array):
ea.addValueParser('ArrayParser', function(value, field) {
    // provide your custom parsing mechanism of the field value at client side
    // parameters: value - raw data string extracted by default from DOM element
    //             field - DOM element name for which parser was invoked

    var array = $(':input[name="' + field + '"]').serializeArray();
    return array.length === 0
              ? null    // if array is empty, return null for RequiredIf to complain
              : array;  // otherwise - return array object for the ArrayLength method to work on
});

Is this idea already part of the library?

Yes. It is there, together with usage example included in sample project:

So I need to add these attributes to make it work:
[AssertThat("ArrayLength(GekozenAntwoorden) > 0")]
[ValueParser("ArrayParser")]

And in the client-side script, these methods:
ea.addValueParser('ArrayParser', function (value, field) { // provide your custom parsing mechanism of the field value at client side
    // parameters: value - raw data string extracted by default from DOM element
    //             field - DOM element name for which parser was invoked
    var array = $(':input[name="' + field + '"]').serializeArray();
    return array.length === 0
        ? null    // if array is empty, return null for RequiredIf to complain
        : array;  // otherwise - return array object for the ArrayLength method to work on
});

ea.addMethod('ArrayLength', function (array) {
    return array.length;
});

Will it work with a int[] you think?

It should work, provided that your generated html is correct. Correct means all that data-val-assertthat-* html attributes are there, properly generated by the html helper you're using (just like for any other input field), e.g.
<input
       data-val="true"
       data-val-assertthat="assertion failed message..."
       data-val-assertthat-expression=""ArrayLength(GekozenAntwoorden) > 1""
       data-val-assertthat-fieldsmap="{"GekozenAntwoorden":"list`1"}"
       data-val-assertthat-parsersmap="{"GekozenAntwoorden":"ArrayParser"}"

I think it will work for my situation, but I do have some problems setting up a checkbox list.
Your sample website is using the MvcCheckBoxList helpers, but I wanted to create it without that library.
Not sure why, but when I use:
Html.CheckBoxList("GekozenAntwoorden", new { value = antwoord.id, id = antwoord.id }

The validation is working, but no values are inside my property on a POST.
When I use this approach:
<input type="check"<EMAIL_ADDRESS>/>

The values are there when I do a POST, but of course then the data-attributes are not rendered.
Not sure what would be the best approach here :( Suggestions?

I'm afraid I don't know any straightforward way to do it, so I cannot help. It is possible that there is no any simple solution, and it may be the reason why someone has created such an extension.
If you'll be able to find some time, try to debug through this helper and write your custom basic version, adjusted to your needs. If you'll succeed in searching for any alternative solution, or if you'll write simplified helper, share it here please.
Thanks. Regards.

I understand.
Regarding the solution in your sample project: does it have to be in combination with a RequiredIf attribute to trigger the AssertThat? If I only use the AssertThat attribute, it is not triggered client side. Only server side.

OK, I have created a ArrayValid method like in your first example.
This is the server side code:
[AssertThat("ArrayValid(GekozenAntwoorden)")]
[ValueParser("ArrayParser")]
public int?[] GekozenAntwoorden { get; set; }

public bool ArrayValid(int?[] array)
{
   return (array != null && array.Length > 0);
}

This would be the view:
int count = 1;
                    foreach (var a in vraag.Antwoorden)
                    {
                    <li>
                        <label>
                            <input type="checkbox" name="GekozenAntwoorden"<EMAIL_ADDRESS><EMAIL_ADDRESS>                                       @{if (Model.GekozenAntwoorden != null && Model.GekozenAntwoorden.Contains(int.Parse(a.AntwoordNummer.ToString())))
                                         {
                                             <text> checked='checked' </text>
                                         }
                                       }
                                       @{
                                           if (count == 1)
                                           {
                                               <text>
                                                   data-val-assertthat-parsersmap="{"GekozenAntwoorden":"ArrayParser"}"
                                                   data-val-assertthat-fieldsmap="{"GekozenAntwoorden":"nullable`1[]"}"
                                                   data-val-assertthat-expression="ArrayValid(GekozenAntwoorden)"
                                                   data-val-assertthat-constsmap="{}"
                                                   data-val-assertthat="[NL]RABL_GekozenAntwoorden_AssertThat"
                                                   data-val="true"
                                               </text>
                                           }
                                       }
                                    />
                            @Html.Raw(a.AntwoordTekst)
                        </label>
                    </li>
                        count++;
                    }

These is the ea methods I've added:
 ea.addMethod('ArrayValid', function (array) {
    return (array != null && array.length > 0);
});

So this works for a radiobutton list, but not for the checkboxes. It just isn't firing on the client. Server side this is working great.
Any ideas on how to get this working?

Instead of referring to this particular example, I can only say that RequiredIf will be invoked only when value is null, AssertThat - when value is not null. It's the general rule which works the same way at both server- and client-side.
Value parser is an exceptional mechanism, which helps to extract values from HTML, if default $('field_selector').val() is not enough. Its job is to parse the value at client-side only, because such a value can be distracted among multiple fields. It has nothing to do with server-side. Server-side just works on objects already serialized by some model binder, e.g. provided by MVC framework.
When value parser returns null for an empty array, AssertThat will not be invoked. So, if you're not using RequiredIf, but AsserThat only, take that under consideration and parse the value accordingly - instead of null return empty array [].
For example (code is oversimplified to show the difference):

here RequiredIf will be fired for an empty array (because null is returned that time):

ea.addValueParser('ArrayParser', function (value, field) {
       var array = ... // deserialize your DOM extracted value to array object
       return array.length === 0 ? null : array;
});

here forget about RequiredIf, only AssertThat will be invoked (null is never returned):

ea.addValueParser('ArrayParser', function (value, field) {
       var array = ... // deserialize your DOM extracted value to array object
       return array === null ? [] : array;
});

I know that it is not that obvious, and can introduce some confusion at the beginning. To understand it better I can advice to debug through it few times, the good starting points are here:

In the end - the data-val-* attributes, written by hand, are a bit hacky for me. They suppose to be generated automatically by some helpers. Otherwise, if you'll change your expression, such an attributes are required to be manually updated as well. If you'd ask me, I'd leave client-side validation and relay only on server side one in some exceptional cases.
Regards


Feat/powerbi popover

Description
Please include a summary of the change and which issue is fixed.
List any external dependencies that are required for this change.
Completes: AB#FILL_IN_YOUR_ISSUE_ID

Type of change
Remove options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Checklist

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code.
[ ] I have linked my DevOps task using the AB# tag.
[ ] My code is easy to read.
[ ] Documentation and comments is added where needed.
[ ] My code is covered by tests.
[ ] UX has reviewed relevant UI contributions.

I think you might be missing some PBI reports, could to double check? For example jcainstallation

I checked all the references to usePBIOptions. Ill double check

Pipeline is failing because I forgot to remove the ^ from nrwl/storybook. Can you just remove that from package.json and to another npm install


[11.x] Add translation methods to Stringable

This adds trans and trans_choice methods' functionalities to Stringable.
So instead of
__(str($model::class)->afterLast('\\'))

You can say
str($model::class)->afterLast('\\')->trans()

Which is more fluent.

Let me think about this one a bit.

@taylorotwell Sure.
Let me know if I can contribute to the thinking process, since I have to use localization extensively.
Is it about the wording, the API, or something else?


Upgrade or init only updates ck8s version in default config

Describe the bug
When running bin/ck8s upgrade <version> prepare, (or just init), it only updates the ck8sVersion in defaults/common-config.yaml, so if you have that value defined in the override common-config.yaml, the upgrade process fails when trying to apply the update.
To Reproduce
Steps to reproduce the behavior:

Add an override to ck8sVersion in common-config.yaml
Run bin/ck8s upgrade <version> prepare
Run bin/ck8s upgrade <version> apply
See error

Expected behavior
Prepare/init should update config correctly to allow for update.
Version (add all relevant versions):

Compliant kubernetes apps version v0.29.0

Additional context
When trying to upgrade from v0.29.0 to v0.29.1.

This is by design.
If you've set the version in the override common-config.yaml then it's probably for a reason and thus shouldn't be automatically updated because this might break whatever change you did for the last version.
Or do you have any other reason why this would be nice to have?

Okay understandable.
No I just felt as if it was silently breaking sort of. I was working on a shared config and it was not me that had added the version override, so I missed it. And the prepare step seemed to complete successfully. To me it looked like the upgrade process was broken.
Maybe if its possible to add a warning or message when preparing that the upgrade won't work. But this is not a huge issue.

Aah, yea if it silently breaks then it's a problem. That we should probably fix

Yeah the prepare step seems to complete successfully, and it only fails on apply with an version mismatch error.


troubles running  cifar.py example

Hi,
When running the cifar.py example, I got an error in the forward function (torch version '1.9.0+cu111.)
If I understand correctly, in the forward function of the conv.py module, there is a call
self.activation_post_process(
            self._conv_forward(input_proc, self.weight_pre_process(self.weight), bias=self.bias),
            input
        )

where self.activation_post_process is the forward function of the nn.Identity module.
This call raises an exception as this function expect only two arguments (i.e. 1 + the self object) and a third one is provided here.
Could you please confirm that the code is working on your side?
 Please do not use them for anything important until they are released as stable. (Triggered internally at  /pytorch/c10/core/TensorImpl.h:1156.)
  return torch.max_pool2d(input, kernel_size, stride, padding, dilation, ceil_mode)
Traceback (most recent call last):
  File "examples/cifar10.py", line 171, in <module>
    train(epoch)
  File "examples/cifar10.py", line 109, in train
    outputs = net(inputs)
  File "/home/pgay/miniconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/pgay/miniconda3/lib/python3.7/site-packages/torch/nn/parallel/data_parallel.py", line 166, in forward
    return self.module(*inputs[0], **kwargs[0])
  File "/home/pgay/miniconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/pgay/miniconda3/lib/python3.7/site-packages/bnn/models/resnet.py", line 167, in forward
    return self._forward_impl(x)
  File "/home/pgay/miniconda3/lib/python3.7/site-packages/bnn/models/resnet.py", line 155, in _forward_impl
    x = self.layer1(x)
  File "/home/pgay/miniconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/pgay/miniconda3/lib/python3.7/site-packages/torch/nn/modules/container.py", line 139, in forward
    input = module(input)
  File "/home/pgay/miniconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/pgay/miniconda3/lib/python3.7/site-packages/bnn/models/layers/res_block.py", line 43, in forward
    out = self.conv1(x)
  File "/home/pgay/miniconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/pgay/miniconda3/lib/python3.7/site-packages/bnn/layers/conv.py", line 92, in forward
    input
  File "/home/pgay/miniconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)
TypeError: forward() takes 2 positional arguments but 3 were given

Sorry for this, it was an issue with the placeholder for the Identity

Ok, it worked now, and obtains around 70% accuracy. Your quick reaction is very helpfull, thanks.
Just for info, we'll try to embed binary models on jetson cards, and study a different optimizer to enforce sparsity on xnornets as well as power consumption related constraints.
https://hal.archives-ouvertes.fr/hal-03262679/document

You should be able to achieve quite a bit more, the code there was just a proof-of-concept mostly. I should probably update it with a more complete setting. Overall it should get around 15% more. To get there you can switch to the stuff done for ImageNet (cosine scheduler, 2 step training, trainable scaling factor instead of using an Identity mapping there).
This looks quite interesting! Looking forward to read you results.


Chart installation question groups are "None" if there is only 1 group defined

On kubewarden-defaults we display (None) tab instead of Settings (that is defined in questions.yaml).

Automation reviewed. The test code included in the PR seems to have sufficient test automation coverage. Moving to 'Done'


Indicate that the jsproxy.dll APIs are deprecated

@Techwolfy : Thanks for your contribution! The author(s) have been notified to review your proposed change.

The deprecation note should be added to InternetDeInitializeAutoProxyDll as well, but the legacy documentation doesn't appear to be editable via GitHub.

I'll take care of https://docs.microsoft.com/previous-versions/windows/desktop/legacy/aa384580(v=vs.85).

@stevewhims : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Refactor pt5

There are a few more cleanups that we should do.

@matklad There is no difference in performance on x64 platform between Ordering::SeqCst and Ordering::Relatex. The official guidance from https://doc.rust-lang.org/nomicon/atomics.html is to use Ordering:SeqCst by default. Though, as noted in that document, that's rarely needed.


Support using labels in authentication policy

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: yangminzhu
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: zackbutcher
If they are not already assigned, you can assign the PR to them by writing /assign @zackbutcher in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pilot/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@yangminzhu: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-cni.sh
4ac84ce4bdeb98b674bbed80ec4b0adb069b9752
link
/test e2e-simpleTests-cni

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@yangminzhu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-cni.sh
4ac84ce4bdeb98b674bbed80ec4b0adb069b9752
link
/test e2e-simpleTests-cni

prow/istio-integ-k8s-tests.sh
4ac84ce4bdeb98b674bbed80ec4b0adb069b9752
link
/test istio-integ-k8s-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@yangminzhu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-cni.sh
4ac84ce4bdeb98b674bbed80ec4b0adb069b9752
link
/test e2e-simpleTests-cni

prow/istio-integ-k8s-tests.sh
4ac84ce4bdeb98b674bbed80ec4b0adb069b9752
link
/test istio-integ-k8s-tests

prow/e2e_pilotv2_auth_sds.sh
4ac84ce4bdeb98b674bbed80ec4b0adb069b9752
link
/test istio_auth_sds_e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@yangminzhu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-cni.sh
4ac84ce4bdeb98b674bbed80ec4b0adb069b9752
link
/test e2e-simpleTests-cni

prow/istio-integ-k8s-tests.sh
4ac84ce4bdeb98b674bbed80ec4b0adb069b9752
link
/test istio-integ-k8s-tests

prow/e2e_pilotv2_auth_sds.sh
4ac84ce4bdeb98b674bbed80ec4b0adb069b9752
link
/test istio_auth_sds_e2e

prow/istio-pilot-multicluster-e2e.sh
4ac84ce4bdeb98b674bbed80ec4b0adb069b9752
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@yangminzhu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
4ac84ce4bdeb98b674bbed80ec4b0adb069b9752
link
/test istio-integ-k8s-tests

prow/e2e_pilotv2_auth_sds.sh
4ac84ce4bdeb98b674bbed80ec4b0adb069b9752
link
/test istio_auth_sds_e2e

prow/istio-pilot-multicluster-e2e.sh
4ac84ce4bdeb98b674bbed80ec4b0adb069b9752
link
/test istio-pilot-multicluster-e2e

prow/e2e-simpleTests-cni.sh
4b0ef39a53dc8fbd39f62b577d73fd79022ac426
link
/test e2e-simpleTests-cni

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@yangminzhu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e_pilotv2_auth_sds.sh
4ac84ce4bdeb98b674bbed80ec4b0adb069b9752
link
/test istio_auth_sds_e2e

prow/istio-pilot-multicluster-e2e.sh
4ac84ce4bdeb98b674bbed80ec4b0adb069b9752
link
/test istio-pilot-multicluster-e2e

prow/e2e-simpleTests-cni.sh
4b0ef39a53dc8fbd39f62b577d73fd79022ac426
link
/test e2e-simpleTests-cni

prow/istio-integ-k8s-tests.sh
4b0ef39a53dc8fbd39f62b577d73fd79022ac426
link
/test istio-integ-k8s-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@yangminzhu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-cni.sh
4b0ef39a53dc8fbd39f62b577d73fd79022ac426
link
/test e2e-simpleTests-cni

prow/istio-integ-k8s-tests.sh
4b0ef39a53dc8fbd39f62b577d73fd79022ac426
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
4b0ef39a53dc8fbd39f62b577d73fd79022ac426
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@diemtvu any other comments?

@yangminzhu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
4b0ef39a53dc8fbd39f62b577d73fd79022ac426
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
4b0ef39a53dc8fbd39f62b577d73fd79022ac426
link
/test istio-pilot-multicluster-e2e

prow/e2e-simpleTests-cni.sh
959f74249453a1d69294588220b0d4f7b413f3ce
link
/test e2e-simpleTests-cni

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: diemtvu, yangminzhu
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pilot/OWNERS [diemtvu]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@yangminzhu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
4b0ef39a53dc8fbd39f62b577d73fd79022ac426
link
/test istio-pilot-multicluster-e2e

prow/e2e-simpleTests-cni.sh
959f74249453a1d69294588220b0d4f7b413f3ce
link
/test e2e-simpleTests-cni

prow/istio-integ-k8s-tests.sh
959f74249453a1d69294588220b0d4f7b413f3ce
link
/test istio-integ-k8s-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@yangminzhu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-cni.sh
959f74249453a1d69294588220b0d4f7b413f3ce
link
/test e2e-simpleTests-cni

prow/istio-integ-k8s-tests.sh
959f74249453a1d69294588220b0d4f7b413f3ce
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
959f74249453a1d69294588220b0d4f7b413f3ce
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@diemtvu Thanks, will add e2e test together once the galley change is landed.

@yangminzhu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
959f74249453a1d69294588220b0d4f7b413f3ce
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
959f74249453a1d69294588220b0d4f7b413f3ce
link
/test istio-pilot-multicluster-e2e

prow/e2e-simpleTests-cni.sh
afa1cf9b3591a7fa8ba46a2b1b56c445e0319399
link
/test e2e-simpleTests-cni

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@yangminzhu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
959f74249453a1d69294588220b0d4f7b413f3ce
link
/test istio-pilot-multicluster-e2e

prow/e2e-simpleTests-cni.sh
afa1cf9b3591a7fa8ba46a2b1b56c445e0319399
link
/test e2e-simpleTests-cni

prow/istio-integ-k8s-tests.sh
afa1cf9b3591a7fa8ba46a2b1b56c445e0319399
link
/test istio-integ-k8s-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@yangminzhu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-cni.sh
afa1cf9b3591a7fa8ba46a2b1b56c445e0319399
link
/test e2e-simpleTests-cni

prow/istio-integ-k8s-tests.sh
afa1cf9b3591a7fa8ba46a2b1b56c445e0319399
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
afa1cf9b3591a7fa8ba46a2b1b56c445e0319399
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


[cloud_firestore] offline mode not working

We want to use the Firestore offline-mode.
We tried different versions, all giving other behaviors.
The latest version of this library (0.11.0) is giving the error (while device is in Aeroplane mode) :
### UNAVAILABLE: Unable to resolve host firestore.googleapis.com
Apparently, the library is not aware that we're in offline mode.
I installed the dependency:
cloud_firestore: ^0.11.0
In order to create new objects, I'm re-using a generic method that I developed 1 year ago:

  _Future<dynamic> createObject(T obj) async {
    final TransactionHandler createTransaction = (Transaction tx) async {
      final DocumentSnapshot ds = await tx.get(_objectCollection.document());

      obj.id = ds.documentID;

      final Map<String, dynamic> data = obj.toMap();

      await tx.set(ds.reference, data);

      return data;
    };

    return Firestore.instance.runTransaction(createTransaction).then((mapData) {
      var objNew = obj.createNew();

      return objNew.fromMap(mapData);
    }).catchError((error) {
      print('error: $error');
      return null;
    });
  }_

@frankps
The issue at https://github.com/flutter/flutter/issues/32193 has been closed and moved here. Future collaboration on this issue will be done here.

Hi @frankps
are you still experiencing this issue with the latest version of Flutter and cloud_firestore?
If so can you please provide your flutter doctor -v?
Also, to better address the issue, would be helpful
if you could post a self contained app on github
or the steps to reproduce it.
Thank you

Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact descriptions what happens, logs and the output of 'flutter doctor -v'  please.
All system setups can be slightly different so its always better to open new issues and reference related issues.


Publish a ko builder with GCB's kubectl magic

Basically this, but ko: https://github.com/GoogleCloudPlatform/cloud-builders/blob/master/kubectl/kubectl.bash
cc @ImJasonH

@ImJasonH what does this have to do with go modules? Is this still relevant?

The reason modules support was relevant is because without it the source
had to be made available in $GOPATH/src/, which isn't going to
be the case in GCB or Tekton (or GitHub Actions).
gcr.io/cloud-builders/go did a bunch of funny business to symlink
/workspace into the correct location in GOPATH. But that won't be
necessary with modules.
Now that ko supports modules the source can be in /workspace and can
still be built. A ko image only needs to have go and kubectl, plus
the logic in kubectl.bash above to provide GKE creds.
We can get this done by having a base image that's FROM golang, installs
kubectl, renames it to kubectl_real, then has a kubectl.bash named
kubectl on PATH which sets up creds then calls kubectl_real. It's all a
terrible hack. Oh it also needs the GCR cred helper to push images. And
that's only enough to use ko against GKE/GCR.


ISPN-5249 Remove org.infinispan.filter references from Hot Rod docu

Thanks, I missed these when I did the initial sweep :+1:

Integrated into master, thanks @galderz !


Chore: remove extra post file

Looks like we missed deleting this file when it was renamed. No harm done - this isn't in the list of blog posts.

I had deleted it and then accidentally introduced it again. Thanks for catching this.


v4: creating a loading without presenting makes the view unclickable

Bug Report
Ionic version:

[x] 4.x
Current behavior:
This is basically a duplicate of  #15345 but the problem is still around. Creating a loading and then not presenting it still causes the backdrop to be visible and block user input.
Expected behavior:
I expect the backdrop to appear only after present is called
Steps to reproduce:

Create a loading with `await this.loadingCtrl.create({...})
Done

Ionic info:

Ionic:

   ionic (Ionic CLI)             : 4.5.0 (/usr/local/lib/node_modules/ionic)
   Ionic Framework               : @ionic/angular 4.0.0-beta.17
   @angular-devkit/build-angular : 0.10.7
   @angular-devkit/schematics    : 7.0.7
   @angular/cli                  : 7.0.7
   @ionic/angular-toolkit        : 1.2.0

Cordova:

   cordova (Cordova CLI) : 8.1.2<EMAIL_ADDRESS>   Cordova Platforms     : none
   Cordova Plugins       : cordova-plugin-ionic-keyboard 2.1.3, (and 5 other plugins)

System:

   ios-deploy : 1.9.4
   ios-sim    : 7.0.0
   NodeJS     : v10.11.0 (/usr/local/Cellar/node/10.11.0/bin/node)
   npm        : 6.4.1
   OS         : macOS Mojave
   Xcode      : Xcode 10.1 Build version 10B61

Why are you creating the overlay if you are not presenting it?

@manucorporat I have the following scenario: I want to transition to another page which uses a resolver that makes an http request. The point of the resolver is to wait until the data has been retrieved before navigating to the page. This could take a few seconds if the network is slow. So I decided to create a loading overlay that displays if the page transition takes longer than 250ms for whatever reason. However, the problem occurs when the following happens:

Transition takes longer than 250 ms
Create the loading overlay
Transition finished (cancel overlay with my own code logic)
Create overlay finished
My own code sees that it is cancelled and so I do not present the overlay.
Problem described above

Would it be possible to just not attach the overlay to the DOM until present is called?

There used to be a delay property for loading, which I miss. Maybe this is a reason to bring it back.

@patrickmcd Yeah if a delay property was added that would solve my problem completely

I have the same problem when my API call sometime can't load fast enough, I have to check is it still loading or not to show.

Would it be possible to just not attach the overlay to the DOM until present is called?

Unfortunately not, components are not lazy loaded until attached to the DOM.
@zakton5  i see, thanks for explaining it so way, what I don't understand is why the code that checks for calling present() can not also create() the overlay.


Allow Style/Encoding to enforce using no encoding comment

Whats in
You can now configure rubocop to enforce having no encoding comments:
Style/Encoding:
  EnforcedStyle: never
  Enabled: true

This means even if there are non-ASCII characters in a file, rubocop will offend on an # encoding: utf-8 comment.
I deem this useful for applications that are running on a recent ruby version and therefore do not need the comment anymore. Since many applications used to be running on 1.9, they may still contain those comments, even if they are unneccessary.

You'll have to mention this in the changelog.


Coveralls

this connects to #155

Changes Unknown when pulling eef63dc75c0a819d1777b46cde726852dafad97b on wwelling:coveralls into ** on DSpace:master**.

Changes Unknown when pulling eef63dc75c0a819d1777b46cde726852dafad97b on wwelling:coveralls into ** on DSpace:master**.


Give "weight" to filters (eg. language, empty VS sorting)

No need for it now, can be revisited later