Traefik: 1.7.14 -> 2.2.0

Motivation for this change
I was experimenting with Traefik and thought to update the package to the latest v2 one.
In the mean time, buildGoPackage was switched to buildGoModule and the respective NixOS module has been adapted to the new configuration requirements (static and dynamic, routers, middlewares, services and so on).
Finally, I have removed hamhut1066 from the maintainers list, as this user is no longer in GitHub.
Fixes #76518.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @vdemeester

Considering that the configuration isn't backwards compatible, should this maybe go into a separate package/module?
traefik 1.7 is still supported upstream until september 2020, and this kind of change should definetly not be backported to 19.09
having this be the only option on master and 20.03 seems reasonable

Considering that the configuration isn't backwards compatible, should this maybe go into a separate package/module?
traefik 1.7 is still supported upstream until september 2020, and this kind of change should definetly not be backported to 19.09
having this be the only option on master and 20.03 seems reasonable
Otherwise LGTM!

Thanks for having a look on this PR. I do not understand your initial question, as in whether to have a separate package / module. As you point out after the question and I agree with this, we could maintain Traefik v1.7 on 19.09 only and v2.1 and later on 20.03 and master. Why should we have additional maintenance effort on master?
@vdemeester what's your view on this?

Yeah I'm just not sure on what the general policy is on changes like this. It's kind of two entirely different pieces of software, and 20.09 is the first release we can do where 1.7 is no longer supported upstream.
I'm personally okay with 2.1 being the only thing available on master and 20.03, but I just wanted to put the info here so other's could chime in.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/nixos-20-03-feature-freeze/5655/17

Thanks @kalbasit for the review and sorry for the wait! I have made the following changes:

Refactored to current master.
Updated to Traefik v2.1.4.
Removed goPackagePath as suggested.
Made a new commit in the relevant NixOS service to make configuration deep mergeable as in 00eb055162a52a2d9f42ba6c0eeec892c83bfa58 (thanks @Mic92 for the hint)

Thanks @rnhmjoj for the review! I have made the following changes:

Rebased to current master.
Updated traefik to v2.1.6.
Switched to makeFlagsArray as suggested by @rnhmjoj (sorry, rebasing took away @kalbasit's and @rnhmjoj's comments).

So, the changes look good and I tested the package update.
I would be more confident to merge this if someone would review the module: it's a substantial change. Also it would be good to have a NixOS test, even a simple one.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review-may-2019/3032/130

Changed the module to use attrsOf instead of lazyAttrsOf as a test on 19.09
hash mismatch in fixed-output derivation '/nix/store/hb3xrk6vzszz87vz6z0sk1zdcjssf0r3-traefik-2.1.6-go-modules':
  wanted: sha256:1mdzjc9v54b0gc8f97gpdgym1dxhyc1p1qivgfvjraj3vgfc7i5g
  got:    sha256:1chd174wplr0sqyij4z05kpnhs81sd3xc7jjlb2jlxmbnsf9kay5

changing the hash:
build github.com/containous/traefik/v2/internal: cannot load crypto/ed25519: cannot find module providing package crypto/ed25519
generate.go:5: running "go": exit status 1

I dont actually know the difference between lazyAttrsOf and attrsOf semantically, so that could be the reason its failing like it is, in that case disregard this comment.
20.03 should be out soon, Ill try build it ontop of that if (it doesnt get merged into it) when that happens.

Rebased to current master.
Updated traefik to v2.2.0.
Switched from buildInputs to nativeBuildInputs as suggested by @Mic92.

@dali99 please, do not use words like Package should build anyways, but it doesnt, it gives a wrong impression of this PR.
Traefik as of now requires Go 1.14 (which is the default version currently in unstable) and NixOS 19.09 merely supports 1.13 and it is not working as in unstable, as you have noticed.
It happens to use this package (and NixOS module) on my servers running NixOS 19.09 and it works as intended after adding Go 1.14 in a package overlay:
  buildGo114Module = super.callPackage ./go-modules_generic.nix {
    go = self.buildPackages.go_1_14;
  };
  go_1_14 = super.callPackage ./go_1.14 {
    inherit (super.darwin.apple_sdk.frameworks) Security Foundation;
  };
  traefik = super.callPackage ./traefik {
    buildGoModule = self.buildGo114Module;
  };

The versions and the files I have copied there is left to the readers as an exercise. As I have mentioned before, I would like to focus my efforts on unstable to speed up the update process.
@rnhmjoj I will try to create a NixOS test for traefik today or tomorrow.

I'm sorry I was just trying to help :disappointed:

I'm sorry I was just trying to help disappointed
Good that I was just personally failing to build it though!

No worries, I know you meant well, but I also do not want reviewers to have an excuse for not reviewing this :smiley:

Added a test to check the Docker and file providers.

Add passthru.tests as suggested by @Mic92.

Added nixosTests in the argument list. :roll_eyes:

Set a limit on x86_64-linux for the test, as it relies on docker-containers, whose tests have the same limit.

Rebased to current master.
Dropped recursiveMerge as requested by @rnhmjoj.
Formatted the package and the service nix files using nixfmt to address a code change request by @rnhmjoj.


Create new Pagination API

Relates to #816
Create new pagination object that directly relates to a PostsCollection so that pagination more naturally relates to the collection of posts the user is handling

@jarednova why are you associating the pagination with a PostsCollection?
I think it would make more sense to associate it with QueryIterator and to use the native WordPress pagination.
This way, if you also include a $query element in Timber::get_context(), which wraps the main $wp_query, even in the default templates, like archives and posts page, you would be able to simply use query.pagination without any additional setup.

@RadoslavGeorgiev I like pagination associated with the PostsCollection largely because it seems intuitive from an API perspective, e.g. {% for page in posts.pagination.pages %}.  But I can also see the logic in using the QueryIterator.  I'm not quite clear -- what would that look like on the php side, in terms of setting up the context?


CMake: use of ${PROJECT_NAME} must be after call to project()

@StefanBruens

LGTM

I'll also backport to the release branch


An always up-to-date Example

It would be great if an always up-to-date example is included in the repository to showcase ALL AVAILABLE features, widgets, and capabilities of the ttauri.

I am also waiting for this capability:
https://github.com/ttauri-project/ttauri/issues/272
https://github.com/ttauri-project/ttauri/issues/272#issuecomment-1001243226

ALL AVAILABLE features is going to be a very large and application. I don't think it would be handy to have such a large application as an example, since it will be difficult to find what you want to know.
At the moment ttauri_demo has most widgets and is kept up to date with the latest methods (the one in main uses co-routines to handle communication between widgets).
I have been working on #272, I have been improving the tone-mapper, but I am only one person and there are higher priority parts.

I have been working on #272, I have been improving the tone-mapper, but I am only one person and there are higher priority parts.

Wonderful! I am anxiously waiting for it.


Online Edit and Commit

I'm considering using this as a base to add an online edit and commit - like the feature in Github. I was planning on using the ACE editor. Do you have any strong opinions on this?

The problem is that GitList is supposed to be a repository viewer. And that's it. Adding write permissions means transforming the project into something it's not, as well adding all the complexity that write operations require: ACL, handling bare repos, redundancy checks, etc.

Agree, I think editing / committing is out of the scope of the project. It might be ok for basic updates, like to readmes etc but you tend to be very limited in what you can do, it's just not worth it. Best to keep it just as a straight & simple viewer.

However editing readmes could be a great addition :)  and it's not violating the "viewer" statement.

@utak3r I think it is violoating the viewer statement. This is best left as a possible addon to gitlist.

It is because, technically, in order to implement editing README's, you would have to do everything needed to edit any other kind of file. And it's quite complex, since not everyone is using git in a simple way. There is gitolite and all it's alternatives, there are hook-based ACL, there are remote-handled permissions, etc, etc.


react-graphql-client: Error message when adding product to cart

Currently, there's an error message when adding a product to the cart:
App.js:136 Uncaught ReferenceError: client is not defined
To fix this issue, in the addVariantToCart  function within App.js, add the following:
const client = this.props.client;
and change each this.props.client to client.

I've made the changes on a local branch, but I don't have rights to push branches up for this repository.

@ryangrunest you can fork the repo and then do a PR from there

Pull Request: https://github.com/Shopify/storefront-api-examples/pull/110

To test this issue, I connected to my storefront within src/index.js, and attempted adding a product to the cart.


Fix type of ratelimit-reset header

Description
The ratelimit-reset header has a timestamp as its value.
However, in the tooManyRequests 429 error, it is cast to a TimeInterval (Double), but header values are (always) Strings.
So it needs to be something like this:
TimeInterval(headers["ratelimit-reset"] as? String ?? "")

Type of Change

[x] Bug Fix
[ ] New Feature
[ ] Documentation

Checklist:

[x] My code follows the ATProtoKit API Design Guidelines as well as the Swift API Design Guidelines.
[x] I have performed a self-review of my own code and commented it, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings or errors in the compiler or runtime.
[x] My code is able to build and run on my machine.

Additional Notes
This is an example output of the ratelimit headers:
ratelimit-limit: 3000
ratelimit-policy: 3000;w=300
ratelimit-remaining: 0
ratelimit-reset:<PHONE_NUMBER>

Thanks. I'll have it available in the next patch update. Hopefully by early this week.


[mono.apitools] Updated the package to include the Mono.ApiTools libraries

This is the update with all the changes from github.com/mono/mono/pull/9793
Changes

bugfix for nested interfaces not being added to the API info
the tools can now be used as a set of libraries within other libraries or apps
a few more options that make generating APIs easier

Waiting on https://github.com/mono/mono/pull/9918 to fix a bug

build


Translating the "Why Vue?" video

We now have a "Why Vue?" video on the front page, which already includes closed captions (optional subtitles) for English. I'm opening this issue to coordinate translations for other languages.
@Haeresis @ErickPetru @Jinjiang @kazupon @ludo237 @ChangJoo-Park @gbezyuk @miljan-aleksic @pi0 @thilobillerbeck Here's the English SRT file. Since it's not part of any repo, the easiest thing might just be to copy the content into a GitHub Gist and then paste the link here.
Since this is a little different than docs translations, a few tips for translating:

You can see the duration that text appears as 00:00:02,418 --> 00:00:05,600. That means the caption appears at 2.418 seconds into the video, then disappears at 5.6 seconds, so it appears for just over 3 seconds. Try to make sure viewers will have time to read your text in time. 🙂 Change the timing if you need to, but make sure it doesn't overlap other text.

The length of lines is important, because lines that are too long will not be readable in a short time. Literal new lines will be respected, so when you see something like:
00:00:02,418 --> 00:00:05,600
more dynamic and powerful
thanks to JavaScript.

There will actually be a new line after powerful.

Translations do not need to be literal, but note that these words are often tied directly to the timing of certain visuals in the video. That means especially for languages that require a different sentence structure (when a verb must be moved to the end of a sentence), you may want to change the phrasing and/or have part of captions start/end at different times (even if there's no actual talking at that moment).

If you download the video, then you should be able to test your SRT file in VLC media player. A dedicated subtitle program may also be useful, particularly if you need to change a lot of timings.

@Gregg may have other suggestions/requests for the translations, but I'll leave that to him. Thank you all so much for your continued hard work to spread the Gospel of Vue far and wide! 😄

Also, if anyone is translating for a culture that often prefers dubbing over subtitles and wants to try a voice over, let us know and we can talk about the best strategy for that case. @Gregg may be able to provide the source files for the video, or we might request a recording of your voice reading the subtitles you wrote in time with the video.

For those who get a 401 Gone error for download direct link, here is an alternative: http://www.saveitoffline.com/#https://player.vimeo.com/video/247494684

Thx @chrisvfritz for advices and pi0 for the link!
Why not include subtitles as a part of documentation repository in a video directory with a README.md in the same directory that explains how translate files specifically for video? Explanation in this issue is perfect. Or in a dedicated repository for all future videos, because I'm not sure a Gist was strong enough, that will allows reviews and coordination between team members in the same way as already exiting documentation?
We will start french translation ASAP ;)

I do really agree with @Haeresis, a video directory would be great for now and a new repository would be even better if new videos will come in the future. Also, will we use some naming standard for the files, like What is Vue.js.pt-BR.srt?

I agree a videos repos would be useful if we do more of them, or keep iterating on this one, but we don't currently have any plans for that for either of those, so I thought this would be a good compromise in the meantime. @Haeresis

And actually, I don't really care where individual translators keep their SRT files. Just somewhere that allows us to download the file. 🙂

We also don't need a specific naming standard, as we'll take care of that when uploading to Vimeo.

Hello!
Okay so this is my shot at the Spanish Translation, of course I would appreciate if someone gave it a check mainly to improve any ortographic errors (mainly accents) and word phrasing.
PD: I really tried to make the pun at the end work, but I just couldn't, maybe someone can come up with it.  😁
https://gist.github.com/sbaidon/0c902ace4e495972e2178b266bb84535

@sbaidon I just took a look and it seems very good from the perspective of a non-native speaker. 🙂 I agree it doesn't make sense to try to make the pun work - what you did instead, translating "enjoy the view" instead of "enjoy the Vue" is perfect!
I only found one item where I'm not sure if the intended meaning is captured. It might just be me, but when I read "aplicación meramente de servidor", I think of a pure API that only serves JSON with no HTML, CSS, JS that would be parsed by a browser. Maybe instead of:
que si tienes una aplicación
meramente de servidor

What would you think of this below?
que si estás usando un
framework de aplicaciones web

That makes me think more of frameworks like Rails or Django, which is more what's meant here.
@Gregg In reviewing the Spanish translation, I also noticed a couple small inconsistencies that also existed in the English version.

Sometimes frameworks is capitalized and sometimes not. In both English and Spanish, I'm thinking lowercase ("frameworks" instead of "Frameworks") is probably more common. Would you say that's accurate?
Sometimes I see "front end" or "front-end". Spanish Wikipedia uses "front-end", so maybe we should standardize on that. For English, we use "frontend" in the docs, so that might be best.

@Gregg I do also wonder if we should use "enjoy the view" instead of "enjoy the Vue" in our English subtitles, since the pun is really tied to a phonetic interpretation of those words. If someone who was born deaf is reading these words, I think the pun might be lost and could possibly look like a typo. What do you think?

@chrisvfritz  I think the change you propose makes sense, I will go ahead and make it.

Made the changes @chrisvfritz suggested and uploaded both English and Spanish subtitles, thanks @sbaidon.  Both are live.

Here's the brazilian portuguese version of the subtitles: https://gist.github.com/ErickPetru/bcd12d100693c5d7af9a77f1df3c2d69.
Is there any way to configure the player to auto choose this subtitles for our subdomain br.vuejs.org?

ping @Alex-Sokolov

@ErickPetru I just published your subtitles.
Regarding having the proper subtitles showing, it looks like Vimeo implemented a feature that should automatically turn on subtitles when a viewer watches the video.  From their docs:
"If their browser's language is different from the video’s language, and there are subtitles available for that language, they will be automatically turned on."
I just tested this in Chrome, and indeed it worked!
Please verify you see this behavior?


Fixed checking for TimeoutError

I’d like to request that this is added to the general error handling instead of just to this specific price of code in this specific command.
Furthermore I’d like to request that the reply is removed and replaced by a return.

I’d like to request that this is added to the general error handling instead of just to this specific price of code in this specific command. Furthermore I’d like to request that the reply is removed and replaced by a return.

Adding this to the main error handling code would be much harder, and i'm not even sure how you would do it.
When a command errors the commands.CommandInvokeError exception is sent.
I'm not sure of how to get the original error message from it, and from the docs what i tried doing error.original should have worked. If you can find a way then just close this pull req and add it.

'oops nvm'


Presentation: Fix hierarchy level filtering with related instances

cherry-pick https://github.com/iTwin/imodel-native/pull/150

/azp run

/azp run

@grigasp , release/3.x bracnh is blocked until this pr goes through: https://github.com/iTwin/imodel-native/pull/159


Middleware rewrite

@Tratcher  please review. Review URL

With few exceptions, the order middleware components are added in the Configure method is the order in which they are invoked on requests, and the reverse order for the response.

What are the exceptions?
Fixes #2546

I can't think of any meaningful exceptions to the middleware order vs execution.

@Tratcher  replaced
Short-circuiting is often desirable because it allows unnecessary work to be avoided. For example, **an authorization middleware might only call the next delegate if the request is authenticated; otherwise it could short-circuit the pipeline and return a "Not Authorized" response. **
with
For example, the static file middleware can return a request for a static file and short circuit the rest of the pipeline.
Give that's not what really happens with identity middleware.

@JunTaoLuo  I'm updating everything to msbuild/.csproj


🐞[Bug]: Terms/Privacy page in small screen margins not proper also back arrow not works and both are not align proper.

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
1 For both page

2 For both page

3 For index.html page

Expected behavior
NA
Add ScreenShots
NA
What browsers are you seeing the problem on?
Chrome
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@sk66641 Please assign me this task thank You !

@zalabhavy
i think this has been fixed in any previous pr, can you check it once?

@sk66641 Yes this is fix i am close this ...


Biff12  BrtCellRString

Hi!
Please add support for the type BrtCellRString record (sections 2.4.327  BrtCellRString, 2.5.121 RichStr of the [MS-XLSB].pdf manual)
Found in the clipboard, not in the files
================
BiffWorksheetReader.cs:
                case String:
                case FormulaString:
                {
                    // Must be less than 32768 characters
                    var length = GetDWord(buffer, 8);
                    return ReadCell(GetString(buffer, 8 + 4, length));
                }
                case 62  /* BrtCellRString */ :
                {
                    // The number of Unicode characters MUST be less than or equal to 0x7FFF
                    var length = GetDWord(buffer, 9);
                    return ReadCell(GetString(buffer, 9 + 4, length));
                }

Can you provide a sample file for use as test input?

Hi Johan!
The file is saved from the clipboard viewer.
Excel 2016 has been used, 2010 with the same result.
Best regards,
Alexey .
[image: image.png]
On Fri, Jun 9, 2023 at 1:51 PM Johan Appelgren @.***>
wrote:

Can you provide a sample file for use as test input?
—
Reply to this email directly, view it on GitHub
https://github.com/ExcelDataReader/ExcelDataReader/issues/635#issuecomment-1584381116,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABP2UGJ3HNA2JMRK7AVSWFLXKL54RANCNFSM6AAAAAAY7FLSW4
.
You are receiving this because you authored the thread.Message ID:
@.***>

@asheinkin Looks like the file didn't get attached properly or was filtered out by github. Can you try again?


Merge Request for #4808: TYPO in C++ client producer method for processing failure case

Definitely this is a typo. This method is dealing the Failed Message with the GIVEN result, but not a CERTAIN result.
Contribution Checklist
https://github.com/apache/pulsar/issues/4808 : TYPO in C++ client producer method for processing failure case

Ham... Let me think about it.

Close this MR as new one with UT cases created.


Vanilla Extract - Failed to load resource: the server responded with a status of 504 (Outdated Optimize Dep) error

What is the location of your example repository?
No response
Which package or tool is having this issue?
Hydrogen
What version of that package or tool are you using?
2024.4.5
What version of Remix are you using?
2.9.2
Steps to Reproduce

Create an empty project withnpm create @shopify/hydrogen@latest
Install @vanilla-extract/css and @vanilla-extract/vite-plugin
add vanilla extract plugin vite.config.ts

plugins: [
   hydrogen(),
   oxygen(),
   remix({
     presets: [hydrogen.preset()],
     future: {
       v3_fetcherPersist: true,
       v3_relativeSplatPath: true,
       v3_throwAbortReason: true,
     },
   }),
   tsconfigPaths(),
   vanillaExtractPlugin(),
 ],

Create any component with vanilla extract styles
Failed to load resource: the server responded with a status of 504 (Outdated Optimize Dep) error

Expected Behavior
There shouldn't be an error and vanilla-extract should work
Actual Behavior
Console errors and vanilla-extract doesn't work

Thanks for reporting. We are adding h2 setup css with vanilla-extract option in https://github.com/Shopify/hydrogen/pull/2245 and it was working there during development. Will double check again.
Also, can you try removing node_modules/.vite and try again?

Thanks for reporting. We are adding h2 setup css with vanilla-extract option in #2245 and it was working there during development. Will double check again.
Also, can you try removing node_modules/.vite and try again?

Yes.

We're experiencing the same issue and it's blocking us as well.
The steps to reproduce provided above are accurate, but here's an example repository with the issue reproduced in the test/vanilla-extract branch just in case it's useful.
As described, Vanilla Extract doesn't work with the latest release.
Importing a Vanilla Extract class causes React, Remix and Hydrogen to fail with 504 Outdated Optimize Dep, which causes all client side functionality like CartSummary to fail.


Forgot to import librosa in asrp.Code2Speech?

fixed(version v0.0.50

Thank you. Now I have learned how to pull request :-)


MM-10072 - Updating list modals for accessibility

Summary
MM-10072 - Updating list modals for accessibility
This adds a hidden button to the end of certain modals to indicate that the modal has ended.
Ticket Link
https://mattermost.atlassian.net/browse/MM-10072

@asaadmahmood Snapshots need to be updated for tests

Done @sudheerDev

@enahum Can we get this in?


.travis.yml: test that module is tidy

Removed "sudo: false". It has no effect.
Added explicit test script.

'go test -mod=readonly ./...' will report an error if go.mod or
go.sum is incomplete, since no requirements may be added with
-mod=readonly.
The rest of the script checks that go.mod and go.sum do not change
after running 'go mod tidy'. This verifies that there are no
redundant requirements or sums to remove.

Changed minimum Go version to 1.11.x. This is the oldest version
with support for modules. Older versions will still work in GOPATH
mode, but versions lower than 1.12 are unsupported by the Go, so
there's little point in adding additional test code for them.

LGTM I guess?

LGTM I guess?

Seems like the best approval I can hope for with a change to a file with a loosely documented YAML schema.
(Incidentally, https://config.travis-ci.com/ and https://config.travis-ci.com/ref/language/go were helpful.)
Sorry for the trial and error. Not easy to test it locally.


(bug) "Snapshot Updated" always reported as true if readFile fails

Describe the bug
With this code in a test:
cy.visit('http://localhost:3100');
cy.document().toMatchImageSnapshot();

Cypress never updates the snapshot file, and always marks it as updated:
Error:    CypressError: `cy.readFile()` must be passed a non-empty string as its 1st argument. You passed: ``.

To Reproduce
Steps to reproduce the behavior:

Set up a new Cypress project (mine is closed source, sorry!)
Add cy.document().toMatchImageSnapshot() to a test
Launch the Cypress runner

Expected behavior
Two things:

When readFile fails, it should fail the Cypress afterAll command instead of being silently ignored
readFile shouldn't fail 😄

Screenshots

Desktop (please complete the following information):

OS: [e.g. OSX, Windows, Linux] OSX
Cypress Version 7.2.0
cypress-plugin-snapshots Version: 1.4.4

Additional context
Passing a name to the toMatchImageSnapshot call doesn't fix the issue.

Closing out my old issues for repos I no longer have context on. If anybody has a need for what this issue was asking about, I'd encourage them/you to file a new issue. Cheers!


Fix Copy, Paste (Ctrl-C, Ctrl-V) on Windows

Using Ctrl-C, Ctrl-V on my Windows 10 box doesn't work as expected, however I note, it does work on Mac.
On Windows, pressing Ctrl-C in the terminal does not update the clipboard, while Pressing Ctrl-V displays '^V'. The word-around is use the menu options, but this becomes a drag after a while. It'd be great if this could be fixed.
Thanks, and keep up the great work!

+1 same on Linux, please make Ctrl-Shift-C and Ctrl-Shift-V for copy pasting

I swear this was working on my Mac a while back but maybe that was terminal-plus which no longer works at all. But Cmd-C and Cmd-V are not working in macOS either.

Ctrl+C is probably a bad idea for it'll send an interrupt but Ctrl+Shift+C / V sounds good. I'd say alt is better than shift (alt = alternative) but the keycombo seems harder to type.

Same issue as @pelted - I swear it was working as early as a few weeks ago. Maybe an Atom update nuked it?

Any progress on this?

@blcarson I know this sounds kind of stupid, but I had a an entire bug report written up before I thought to check this. Do you have keybindings enabled for the package? Turning keybindings on fixed the same problem for me. If that's not the problem, I would create a new issue, as this one's specifically referencing the fact that copy and paste aren't supported on Windows.

i was experiencing the same problem when trying on windows 10.
@blcarson,@blogscot or anybody is it solved or has found any workaround for it ?

I can't believe is so hard to find an easy fix for this issue.
The most important feature for any terminal shell - after running the actual script - is to have keyboard shortcuts for copy and pasting. They are vital.
I wouldn't use a terminal in the first place, i was not comfortable with the keyboard. Forcing me to use the mouse or menu drop-downs is against this hole terminal idea. It's a terminal shell or it's a UI ? ..
For copy and pasting Ctrl+Swif+C, Ctr+V works for me.
Is there a technical limitation? What specific challenges we have in implementing this functionality?
Thanks :)

This is fixed a while back and better with 2.9.0


Broken link for setup instructions

The reference in this link no longer exists:
Use those instructions to create CNAME records described in Simplify Windows enrollment without Azure AD Premium.

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

ID: 67847a65-598f-f3ff-0864-92a39dfdd86d
Version Independent ID: e47b69f4-1964-e18b-e81e-31edc2e6798f
Content: Set up Basic Mobility and Security - Microsoft 365 admin
Content Source: microsoft-365/admin/basic-mobility-security/set-up.md
Service: microsoft-365-business
GitHub Login: @kwekuako
Microsoft Alias: kwekua

@davebirr Thank you for your feedback. We have made changes to the document via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/12553
Once the author approves, the changes will be live.
Thanks
Sri


How to update build setting?

I want to update the DEBUG_INFORMATION_FORMAT, maybe need to update 20-ios-tvos-cross.conf, but the syntax seem strange.

use CONFIG_OPTIONS="-gdwarf"


V9 - Capitalization issues with Button and Content Switcher

The standard seems to be sentence-case, but occasionally, title case is used. See attachment.

Fixed ✅


Content size, content & datetime corrections

Updates the content_size_bytes values for multiple DataEntity instances & a datetime attribute within the test_validate() function to align with the latest specifications for data handling. Update content text for edited content

Does not have correct datetimes. Opening a new PR into dev that does.


Added back to home functionality

@MitulSonagara
I have added back to home functionality successfully, i hope you like it
if you like, could you please consider it as level3
https://github.com/user-attachments/assets/b6a3740e-af3c-4237-b135-75afe1bff3de

@MitulSonagara if possible, could you please consider it as level3


Characters being displayed as CDAB

Hello Tony,
First let me thank you for sharing the drivers of HT16K33 display for use with MicroPython.
So here is my issue.
I am using the 4 character,  14Segment display (with a decimal point) from a RPi-Pico-W connected to Rpi5 using Thonny.
I am also using the same display with MicroBit V1 connected to a Windows Laptop using Make Code App.
It is an I2C display.
Using the Block Based code from MakeCode (or JavaScript) . To use the display, I have to load an extension in MakeCode (akin to loading the drivers for HT16K33 in microPython)  by TinkerCademy (screen shot attached)

The block code is:

The resulting JS code is:

So the display shows "1234" and "ABCD" as expected.
However, when I use the same display on Pico-W using your driver, the display shows
"CDAB" or "3412" but the print_chars() function shows  "ABCD" on the REPL output.
Here your example code modified to show this issue:
`# IMPORTS
import utime as time
from machine import I2C, Pin, RTC
from ht16k33 import HT16K33Segment14
CONSTANTS
DELAY = 0.01
PAUSE = 3
def print_chars():
global a
print (chr(a), chr(a+1), chr(a+2), chr(a+3))
START
if name == 'main':
# Configured for the Raspberry Pi Pico -- update for your own setup
i2c = I2C(0, scl=Pin(9), sda=Pin(8))
display = HT16K33Segment14(i2c, is_ht16k33=True)
display.set_brightness(2)
display.clear()
a = 65
display.set_character(chr(a), 0, False )
display.set_character(chr(a + 1), 1, False )
display.set_character(chr(a + 2), 2, False )
display.set_character(chr(a + 3), 3, False )
print_chars()
display.draw()
`
I have no idea what's causing this and why.
The MakeCode drivers/extension is not from the Manufacturer of the display. So, it is kind of a third party driver.
Thanks and kind regards,

Will take a look

What happens if you use display = HT16K33Segment14(i2c, is_ht16k33=False) instead?
Also, can you tell which specific display you are using?

Pics of the 4x14 segment display

I just noticed: For the digit zero (0) the diagonal segments are not showing (see the second picture below)
Pictures with =True
First file is ABCD
Second file is 1234

=False
First file is ABCD
Second file is 1234

OK, I've re-run the examples/micropython/test_segment14_ht16k33.py code and I cannot reproduce this issue. I also tried your code, and that worked as expected too.

As I say, I wonder if there's an issue with the circuit layout on the display board. I tried to look it up on Elecfreaks, but I could not track it down. Maybe this issue is why it's no longer for sale?

Thank you Tony. Greatly appreciate you following up.

At least it's a clearly defined effect, so you can code around it if you want to.


add vN branch protections

Want to protect the v1, v2, etc branches from deletion since they're used to pin to "latest" release of a minor/patch tag.
However it seems that branch protection rules only allow fnmatch syntax to match branch names. Which means we wouldn't be able to restrict the ruleset to only v[[:digit:]]. And we wouldn't want the deletion protection extend to any branch that begins with v.


Support Remote Images

I already have an server that serve images for the tileview and it's working great with the leafletjs.
Now i want to bring those tiles into this module.
For Example:
        new TileView.Builder(tileView)
                .setSize(1024, 1444)
                .defineZoomLevel(1, "http://nois.newoceaninfosys.com:44413/media/a5cbb8780015449fa068f8dfde02f856/1-%1$d-%2$d.png")
                .defineZoomLevel(2, "http://nois.newoceaninfosys.com:44413/media/a5cbb8780015449fa068f8dfde02f856/2-%1$d-%2$d.png")
                .defineZoomLevel(3, "http://nois.newoceaninfosys.com:44413/media/a5cbb8780015449fa068f8dfde02f856/3-%1$d-%2$d.png")

                .addReadyListener(new TileView.ReadyListener() {
                    @Override
                    public void onReady(TileView tileView) {

                    }
                })
                .build();

You need a remote stream provider.  There is a built-in one but feel free to use your preferred image loading library (Glide, Volley, etc).
You also want to start at detail level 0.
        new TileView.Builder(tileView)
                .setStreamProvider(new StreamProviderHttp())
                .setSize(1024, 1444)
                .defineZoomLevel(0, "http://nois.newoceaninfosys.com:44413/media/a5cbb8780015449fa068f8dfde02f856/1-%1$d-%2$d.png")
                .defineZoomLevel(1, "http://nois.newoceaninfosys.com:44413/media/a5cbb8780015449fa068f8dfde02f856/2-%1$d-%2$d.png")
                .defineZoomLevel(2, "http://nois.newoceaninfosys.com:44413/media/a5cbb8780015449fa068f8dfde02f856/3-%1$d-%2$d.png")

                .addReadyListener(new TileView.ReadyListener() {
                    @Override
                    public void onReady(TileView tileView) {

                    }
                })
                .build();

I ran a quick test and I see that most of those tiles aren't defined.  Even on a small screen, you're going to need more than 1 or 2 tiles...
07-17 15:12:36.683 24764-24827/tileview.demo D/TV: failed to decode: http://nois.newoceaninfosys.com:44413/media/a5cbb8780015449fa068f8dfde02f856/1-2-0.png
07-17 15:12:36.683 24764-24828/tileview.demo D/TV: failed to decode: http://nois.newoceaninfosys.com:44413/media/a5cbb8780015449fa068f8dfde02f856/1-3-0.png
07-17 15:12:36.933 24764-24828/tileview.demo D/TV: failed to decode: http://nois.newoceaninfosys.com:44413/media/a5cbb8780015449fa068f8dfde02f856/1-2-1.png

If you're image is really 1024 x 1444 you don't need TileView, you can display that in an ImageView.  If you want pan and zoom, you can use ScalingScrollView (also part of this library).

Hi @moagrius, Thanks for your reply.
I have a server to process the image.
First, i resize the original image to 256x256 and split the image into 4 tiles. Each tile will have 128x128. This is zoom level 1
For examples:
http://nois.newoceaninfosys.com:44413/media/a5cbb8780015449fa068f8dfde02f856/1-0-0.png
http://nois.newoceaninfosys.com:44413/media/a5cbb8780015449fa068f8dfde02f856/1-0-1.png
http://nois.newoceaninfosys.com:44413/media/a5cbb8780015449fa068f8dfde02f856/1-1-0.png
http://nois.newoceaninfosys.com:44413/media/a5cbb8780015449fa068f8dfde02f856/1-1-1.png

x
x

x
x

For zoom level 2, i resized image to 512x512 and i got 14 tiles in 128x128
For zoom level 3, i resized image to 1028x1028 and got 64 tiles in 128x128
And so on... until level 5
I don't know if this Library support this kind of image tiles?

it does support this, you're just in reverse order, i think.  zoom level 0 is "fully zoomed in" and thus the largest image / largest number of tiles.  try swapping that around, along with the other changes i mentioned before.
if that still doesn't work, if you can post your project somewhere i can get to it, along with some rules about the image generation api, i can take a look


Physics masks flyout display is labelled incorrectly

Operating system or device, Godot version, GPU Model and driver (if graphics related):
Win10 Godot3 beta1
Issue description:

When clicking on the physics body mask flyout it is labelled the same as the the layers flyout. Both are labelled as "2D Physics Layers". Shouldn't this read as "2D Physics Masks" instead? This also occurs for the 3d physics bodies.

Steps to reproduce:
Link to minimal example project:

hmm, both show the layers available, so they are the same.

I guess, they are technically "2D Physics Mask Layers". Maybe it is just me, but I have always found the labelling to be unintuitive on this. They are right next to each other and have different functions, yet are labelled the same. I often jump between the 2 on multiple objects and find myself having to doublecheck that I clicked the right one, especially when working on a small laptop screen...

Looks like a waste of space, the selection is highlighted already.
But in any case, the OP proposal sounds good, same wording may be confusing for some.

those are the layers, you can assign names to them in the project settings
On Thu, Dec 7, 2017 at 6:50 AM, eon-s<EMAIL_ADDRESS>wrote:

Looks like a waste of space, the selection is highlighted already.
But in any case, the OP proposal sounds good, same wording may be
confusing for some.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/14363#issuecomment-349917097,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z22zL3dsCtgdFFCfoO-fB8HSqWo85ks5s97TigaJpZM4Q4-az
.

Not sure about this, what you are masking are the layers not the masks, so both popups are correct.
Which questions are more correct?

Which layers am I masking? Which layers am I adding to be mask?
Which masks am I masking? Which masks am I adding to be mask?

IMO the second option makes no sense.

Fixed by #14455.


TSServer Plugins with sub-packages/paths are not loaded

🔎 Search Terms
"language server", "because only package name is allowed plugin name", "language server plugins"
🕗 Version & Regression Information
This behaviour must be going back to 4.2.2 as per #43124.
⏯ Playground Link
No response
💻 Code
tsconfig.json
{
  "compilerOptions": {
    "plugins": [
      {
        "name": "package/lsp"
      }
    ]
  }
}

🙁 Actual behavior
TypeScript rejects sub-path package plugins, as per:

https://github.com/microsoft/TypeScript/blob/23faef92703556567ddbcb9afb893f4ba638fc20/src/server/editorServices.ts#L4490-L4493
and; https://github.com/microsoft/TypeScript/blob/23faef92703556567ddbcb9afb893f4ba638fc20/src/compiler/moduleNameResolver.ts#L2525-L2531

tsserver log
Info 11   [15:52:00.931] Enabling plugin package/subpath from candidate paths: [...]node_modules/typescript/lib/tsserver.js/../../..
Info 12   [15:52:00.931] Skipped loading plugin package/lsp because only package name is allowed plugin name

🙂 Expected behavior
Plugins are loaded as per either package.json:exports with subfolders specified, or via package/sub-path/package.json or package/sub-path/index.js.
Additional information about the issue
Related issues: #42688 and #42688.
If my understanding is correct, TypeScript only wants to allow packages that:

have been installed via a package manager, so that opening VSCode without installing doesn't immediately run unauthorised code
are not relative paths or local code that's checked into a repository

Neither applies to sub-packages. The use-case here is to publish packages that both provide code and an LSP package in one, without splitting this into two packages because of the assertion in TypeScript.

PRs accepted, but this will need to be very carefully vetted. We might need some different syntax to disambiguate that package isn't interpreted by anyone to be a relative path

PR, as linked, is for the proposed change. Happy to of course make changes, if a different syntax is required, but currently, I’m assuming that the PR can for now represent behaviour without breaking the documented behaviour that a package name is expected, or how the wiki puts it:

This name can only be an NPM package name.


convenience sync api

e.g.
require('csv-parser')(csvBuffer) // returns array of parsed objects

Not sync, but I made a convenience wrapper for non-streaming IO, as that's what I usually deal with:
https://github.com/sindresorhus/neat-csv

@sindresorhus \o/

nice @sindresorhus - probably better to keep any additional APIs in a separate wrapper package too.

closing this as @sindresorhus fixed it for us :)


JSW: binaries for 64 bit Windows and other platforms

Hi!
When running the generate-daemons goal with platform specified as jsw the following JSW wrapper executables is added to the bin/ folder of the generated file structure:

AIX-ppc-32 bit
AIX-ppc-64 bit
Linux-x86 32 bit
OSX 32 bit
Solaris-x86 32 bit
Windows-x86 32bit

It would be great to be able to include 64 bit binaries for common platforms such as Windows and Linux. They are made available from JSW central http://wrapper.tanukisoftware.com/doc/english/download.jsp
I haven't found any way of specifying exactly what platforms to target when using the JSW feature. A configurable option would be a great addition to the plugin.

Due to license issue this plugin can only contains orignal 3.2.3. If you want to pickup other 3.2.3, see apache karaf has the rest. Other wise you can deploy higher version to your internal repo, this plugin has option to pickup external jsw bundle

The 64-bit binaries are indeed included in the sonatype "jsw-binaries" artifact so I was in fact able to include both 32-bit and 64-bit binaries by configuring the plugin with a specific generatorConfiguration:
<daemon>
    <id>daemon</id>
    <mainClass>com.example.Server</mainClass>
    <platforms>
        <platform>jsw</platform>
    </platforms>
    <generatorConfigurations>
        <generatorConfiguration>
            <generator>jsw</generator>
            <includes>
                <include>windows-x86-32</include>
                <include>windows-x86-64</include>
            </includes>
        </generatorConfiguration>
    </generatorConfigurations>
</daemon>

Totally forgot, the plugin also pulls in the ones from sonatype and karaf
https://github.com/mojohaus/appassembler/blob/master/appassembler-maven-plugin/pom.xml

Maybe the default list of platforms generated as well as how to override it should be documented somewhere?
Anyway: thank you for creating and maintaining a great plugin!

PR is very welcome


[RHCLOUD-17798] Update method ToResponse() in models - time fields format when are/are not empty

https://issues.redhat.com/browse/RHCLOUD-17798
format time fields such as CreatedAt, PausedAt, LastCheckedAt ... when the time field is / is not empty
and ToResponse () updates in all models

I updated ToResponse() method in a similar way to the ToEvent () method, but now we have 3 structs for AvailabilityStatus (AvailabilityStatus, AvailabilityStatusEvent, AvailabilityStatusResponse) and last 2 are almost same, maybe we can use only 1 instead of these 2 and save this new one in model/common.go ... but not sure about name ... any ideas?

I removed last commit and this new commit contains only change of format function for fields LastAvailableAt and LastCheckedAt and small refactor of DateTimeToRFC3339()
TODO: change of inner members of AvailabilityStatus struct to pointers and related changes

I would personally vote for the pointers option, especially if we are talking about a response, because that way the client doesn't receive an invalid datetime. I mean, instead of receiving something like last_checked_at: "0001-01-01T00:00:00" they wouldn't even receive the last_checked_at key, which reduces noise.

I would personally vote for the pointers option, especially if we are talking about a response, because that way the client doesn't receive an invalid datetime. I mean, instead of receiving something like last_checked_at: "0001-01-01T00:00:00" they wouldn't even receive the last_checked_at key, which reduces noise.

but that's how it works ... now (without pointers) the format function returns empty string and because we have in structs "omitempty" these empty fields are not in response
example:
response before this change - /api/sources/v3.1/applications/2
{
    "availability_status": "available",
    "last_checked_at": "0001-01-01T00:00:00Z",
    "last_available_at": "0001-01-01T00:00:00Z",
    "paused_at": "0001-01-01T00:00:00Z",
    "id": "2",
    "created_at": "2021-11-05T08:39:12.06716Z",
    "updated_at": "2021-11-05T08:39:12.06716Z",
    "extra": {},
    "source_id": "3",
    "application_type_id": "2"
}

after this change
{
    "availability_status": "available",
    "id": "2",
    "created_at": "2021-11-05T08:39:12Z",
    "updated_at": "2021-11-05T08:39:12Z",
    "extra": {},
    "source_id": "3",
    "application_type_id": "2"
}

I dont say that we dont need to change the inner members to pointers ... but I think - because it will affects many places in code because it is related with ToResponse() and ToEvent() methods - it can be solved as new task in new PR

but that's how it works ... now (without pointers) the format function returns empty string and because we have in structs "omitempty" these empty fields are not in response

Aaaah yeah, that's true! I forgot about the omitempty bit.

I'm not saying we don't need to change the inner members to pointers ... but I think - because it will affects many places in code because it is related with ToResponse() and ToEvent() methods - it can be solved as new task in new PR

Well, certainly I wouldn't mind having another PR so we can "start fresh"...

merge conflicts solved

Yeah - I agree. Going through this has showed there are a few things I think we should change mostly related to using struct embeds like AvailabilityStatus, Pause, etc. I think they're unnecessary and just add complication.
In the next PR can we remove those and just have regular fields? It'll make everything so much easier.

@lindgrenj6 does it mean that e.g. instead of
type ApplicationResponse struct {
	AvailabilityStatus
	Pause

	ID        string    `json:"id"`
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
        .....
}

we want to have
type ApplicationResponse struct {
	AvailabilityStatus string    `json:"availability_status,omitempty"`
	LastCheckedAt      time.Time `json:"last_checked_at,omitempty"`
	LastAvailableAt    time.Time `json:"last_available_at,omitempty"`

        PausedAt time.Time `json:"paused_at,omitempty"`

	ID        string    `json:"id"`
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
        .....
}

Yes - thats correct. The struct embeds just make everything harder to use.
We'd pull them out of the "concrete" structs too (Application, Source, etc). But like I said that could probably be done in a follow-up instead of this one.

yes ... I was asking because now we have this in our heads and now we "know" ... and I will prepare new ticket with description and assign it to myself ... so we can merge this PR now


fix Fix LRU cache deleter and memory tracking

Proposed changes
In order to add common code to the value deleter of LRU cache, let all lru cache values inherit from LRUCacheValueBase class and tracking memory in destructor.
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run buildall

run buildall

run buildall


Storing of Template is extremely slow

Storing of task templates (update) is to slow. The logic in UpdateEvaluationTemplateHandler should therefore be revisited.

I can confirm that it was rather quick before adding the whole LSC dataset as a collection. So the processing time depends on the total database size. Maybe there's an option to add some custom indices that would help?

There was a discussion on using internal (xodus provided) IDs, which would require a little refactoring effort

I fixed a range of (potential) performance issues.
From my analysis I could deduce that most time was spent in the logic that updates the existing tasks and, more precisely, that performs the lookup for existing media items. Here it seems that whatever index Xodus uses fails if the operand is null despite the attribute value being non-nullable. It probably leads to a full-scan of all the 750'000 items.
With the changes I've applied, the time it takes to persist tasks is now in the millisecond range (down from 7-8 seconds). I imagine that there might be some additional potential if we used the official xdId instead of our artificially generated UUIDs. However, this might be a larger undertaking.


config/{etcd,flannel}: pass options via command line instead of env vars

(This PR is based on https://github.com/coreos/container-linux-config-transpiler/pull/36, so ignore all but the final commit. Will rebase once that PR is merged)
This commit refactors the etcd and flannel logic to pass the arguments to the service via the command line instead of environment variables. This is necessary for the coreos-metadata templating logic in a following commit.

nits addressed


torchmetrics.Accuracy doesn't support inference mode with distributed backend.

🐛 Bug
torchmetrics.Accuracy doesn't support inference mode (introduced in https://github.com/PyTorchLightning/pytorch-lightning/pull/8813) with distributed backend.
To Reproduce
import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.multiprocessing
from torchmetrics import Accuracy
import pytorch_lightning as pl
from sklearn.datasets import load_iris
from torch.utils.data import DataLoader, random_split, TensorDataset

class IrisClassificationBase(pl.LightningModule):
    def __init__(self, **kwargs):
        super().__init__()
        self.train_acc = Accuracy()
        self.val_acc = Accuracy()
        self.test_acc = Accuracy()
        self.args = kwargs
        self.fc1 = nn.Linear(4, 10)
        self.fc2 = nn.Linear(10, 10)
        self.fc3 = nn.Linear(10, 3)
        self.cross_entropy_loss = nn.CrossEntropyLoss()

    def forward(self, x):
        x = F.relu(self.fc1(x))
        x = F.relu(self.fc2(x))
        x = F.relu(self.fc3(x))
        return x

    def configure_optimizers(self):
        return torch.optim.Adam(self.parameters(), 0.01)

class IrisClassification(IrisClassificationBase):
    def training_step(self, batch, batch_idx):
        x, y = batch
        logits = self.forward(x)
        loss = self.cross_entropy_loss(logits, y)
        self.train_acc(torch.argmax(logits, dim=1), y)
        self.log("train_acc", self.train_acc.compute(), on_step=False, on_epoch=True)
        self.log("loss", loss)
        return {"loss": loss}

    def validation_step(self, batch, batch_idx):
        x, y = batch
        logits = self.forward(x)
        loss = F.cross_entropy(logits, y)
        self.val_acc(torch.argmax(logits, dim=1), y)
        self.log("val_acc", self.val_acc.compute())
        self.log("val_loss", loss, sync_dist=True)

    def test_step(self, batch, batch_idx):
        x, y = batch
        logits = self.forward(x)
        loss = F.cross_entropy(logits, y)
        self.test_acc(torch.argmax(logits, dim=1), y)
        self.log("test_loss", loss)
        self.log("test_acc", self.test_acc.compute())

class IrisDataModuleBase(pl.LightningDataModule):
    def __init__(self):
        super().__init__()
        self.columns = None

    def _get_iris_as_tensor_dataset(self):
        iris = load_iris()
        df = iris.data
        self.columns = iris.feature_names
        target = iris["target"]
        data = torch.Tensor(df).float()
        labels = torch.Tensor(target).long()
        data_set = TensorDataset(data, labels)
        return data_set

    def setup(self, stage=None):
        # Assign train/val datasets for use in dataloaders
        if stage == "fit" or stage is None:
            iris_full = self._get_iris_as_tensor_dataset()
            self.train_set, self.val_set = random_split(iris_full, [130, 20])
        # Assign test dataset for use in dataloader(s)
        if stage == "test" or stage is None:
            self.train_set, self.test_set = random_split(self.train_set, [110, 20])

class IrisDataModule(IrisDataModuleBase):
    def train_dataloader(self):
        return DataLoader(self.train_set, batch_size=4)

    def val_dataloader(self):
        return DataLoader(self.val_set, batch_size=4)

    def test_dataloader(self):
        return DataLoader(self.test_set, batch_size=4)

if __name__ == '__main__':
    torch.multiprocessing.freeze_support()
    model = IrisClassification()
    dm = IrisDataModule()
    dm.setup(stage="fit")
    trainer = pl.Trainer(max_epochs=20, accelerator="ddp_cpu", num_processes=4)
    trainer.fit(model, dm)
    dm.setup(stage='test')
    trainer.test(model, dm) # raise error

This line trainer.test(model, dm) raise error of:
distributed_backend=gloo
All DDP processes registered. Starting ddp with 4 processes
----------------------------------------------------------------------------------------------------

/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pytorch_lightning/trainer/data_loading.py:112: UserWarning: The dataloader, test_dataloader 0, does not have many workers which may be a bottleneck. Consider increasing the value of the `num_workers` argument` (try 16 which is the number of cpus on this machine) in the `DataLoader` init to improve performance.
  f"The dataloader, {name}, does not have many workers which may be a bottleneck."
Testing: 0it [00:00, ?it/s]Traceback (most recent call last):
  File "/Users/weichen.xu/work/projects/test1/v1.py", line 104, in <module>
    trainer.test(model, dm)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 722, in test
    return self._call_and_handle_interrupt(self._test_impl, model, dataloaders, ckpt_path, verbose, datamodule)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 512, in _call_and_handle_interrupt
    return trainer_fn(*args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 765, in _test_impl
    results = self._run(model)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 1014, in _run
    self._dispatch()
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 1081, in _dispatch
    self.accelerator.start_evaluating(self)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pytorch_lightning/accelerators/accelerator.py", line 90, in start_evaluating
    self.training_type_plugin.start_evaluating(trainer)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pytorch_lightning/plugins/training_type/ddp_spawn.py", line 169, in start_evaluating
    mp.spawn(self.new_process, **self.get_mp_spawn_kwargs(trainer))
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 230, in spawn
    return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 188, in start_processes
    while not context.join():
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 150, in join
    raise ProcessRaisedException(msg, error_index, failed_process.pid)
torch.multiprocessing.spawn.ProcessRaisedException:

-- Process 1 terminated with the following error:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 59, in _wrap
    fn(i, *args)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pytorch_lightning/plugins/training_type/ddp_spawn.py", line 210, in new_process
    results = trainer.run_stage()
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 1092, in run_stage
    return self._run_evaluate()
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 1151, in _run_evaluate
    eval_loop_results = self._evaluation_loop.run()
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pytorch_lightning/loops/base.py", line 113, in run
    self.advance(*args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pytorch_lightning/loops/dataloader/evaluation_loop.py", line 107, in advance
    dl_outputs = self.epoch_loop.run(dataloader, dataloader_idx, dl_max_batches, self.num_dataloaders)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pytorch_lightning/loops/base.py", line 113, in run
    self.advance(*args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pytorch_lightning/loops/epoch/evaluation_epoch_loop.py", line 114, in advance
    output = self.evaluation_step(batch, batch_idx, dataloader_idx)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pytorch_lightning/loops/epoch/evaluation_epoch_loop.py", line 158, in evaluation_step
    output = self.trainer.accelerator.test_step(step_kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pytorch_lightning/accelerators/accelerator.py", line 198, in test_step
    return self.training_type_plugin.test_step(*step_kwargs.values())
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pytorch_lightning/plugins/training_type/ddp_spawn.py", line 356, in test_step
    return self.lightning_module.test_step(*args, **kwargs)
  File "/Users/weichen.xu/work/projects/test1/v1.py", line 57, in test_step
    self.log("test_acc", self.test_acc.compute())
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/torchmetrics/metric.py", line 364, in wrapped_func
    dist_sync_fn=self.dist_sync_fn, should_sync=self._to_sync, should_unsync=self._should_unsync
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/contextlib.py", line 112, in __enter__
    return next(self.gen)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/torchmetrics/metric.py", line 338, in sync_context
    distributed_available=distributed_available,
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/torchmetrics/metric.py", line 286, in sync
    self._sync_dist(dist_sync_fn, process_group=process_group)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/torchmetrics/metric.py", line 229, in _sync_dist
    group=process_group or self.process_group,
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/torchmetrics/utilities/data.py", line 191, in apply_to_collection
    return elem_type({k: apply_to_collection(v, dtype, function, *args, **kwargs) for k, v in data.items()})
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/torchmetrics/utilities/data.py", line 191, in <dictcomp>
    return elem_type({k: apply_to_collection(v, dtype, function, *args, **kwargs) for k, v in data.items()})
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/torchmetrics/utilities/data.py", line 187, in apply_to_collection
    return function(data, *args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/torchmetrics/utilities/distributed.py", line 120, in gather_all_tensors
    return _simple_gather_all_tensors(result, group, world_size)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/torchmetrics/utilities/distributed.py", line 92, in _simple_gather_all_tensors
    torch.distributed.all_gather(gathered_result, result, group)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/torch/distributed/distributed_c10d.py", line 1914, in all_gather
    work.wait()
RuntimeError: Inplace update to inference tensor outside InferenceMode is not allowed.You can make a clone to get a normal tensor before doing inplace update.See https://github.com/pytorch/rfcs/pull/17 for more details.

Expected behavior

Environment

PyTorch Lightning Version : git+https://github.com/PytorchLightning/pytorch-lightning.git
torchmetrics Version: git+https://github.com/PyTorchLightning/metrics.git
PyTorch Version : '1.9.0'
Python version: 3.7.7
OS (e.g., Linux): macOS 10.15.6 (19G73)
CUDA/cuDNN version: N/A
GPU models and configuration: N/A
How you installed PyTorch (conda, pip, source): pip
If compiling from source, the output of torch.__config__.show(): N/A
Any other relevant information: N/A

Additional context

@tangbinh @ananthsub Mind looking into this ?

I assume it does not like these four lines (as they are the only inplace operations):
https://github.com/PyTorchLightning/metrics/blob/d9bae8bf08718080586557185bcc6f394933f15a/torchmetrics/classification/accuracy.py#L258-L261
@WeichenXu123 could you try changing them from inplace operations self.value+=value to self.value = self.value + value and see if that fixes the problem. Then we can make the changes in torchmetrics.

@WeichenXu123 Thank you for providing the code; it's very helpful. @SkafteNicki I try your suggestions but it looks like the problem remains. The problem also doesn't go away when I replace all the logics in torchmetrics/classification/accuracy.py and simply return torch.tensor(0.) in  compute. Do you think it has something to do with how torch.distributed.all_gather works?

@tchaton if it's safer, we can revert the change for inference mode to unbreak these use cases in the meantime

@WeichenXu123 Thank you for providing the code; it's very helpful. @SkafteNicki I try your suggestions but it looks like the problem remains. The problem also doesn't go away when I replace all the logics in torchmetrics/classification/accuracy.py and simply return torch.tensor(0.) in compute. Do you think it has something to do with how torch.distributed.all_gather works?

In my test, this issue only happen in distributed backend, so I guess it related to the metric "aggregation" stage

@WeichenXu123 - were you running ddp_spawn on CPU? On cuda/NCCL, this simple example works for me. So it looks like an issue with gloo backends.
# (c) Facebook, Inc. and its affiliates. Confidential and proprietary.

import os

import torch
import torch.distributed as dist
import torch.multiprocessing as mp

def init_process(rank, size, backend="nccl"):
    os.environ["MASTER_ADDR"] = "<IP_ADDRESS>"
    os.environ["MASTER_PORT"] = "29500"
    dist.init_process_group(backend, rank=rank, world_size=size)
    with torch.inference_mode():
        zero = torch.zeros(1).cuda(rank)
        outputs = [torch.ones(1).cuda(rank)] * 2
        dist.all_gather(outputs, zero)
    print(outputs)

if __name__ == "__main__":
    size = 2
    processes = []
    mp.set_start_method("spawn")
    for rank in range(size):
        p = mp.Process(target=init_process, args=(rank, size))
        p.start()
        processes.append(p)

    for p in processes:
        p.join()


Config Docs for [API]Client classes should include all values

Related to #615
The config parameter credentialsFetcher for StorageClient is supported, but not shown in the documentation.
This is because all config values cascade down to the RequestWrapper, so anything valid for the request wrapper will be valid for the clients. I propose adding all relevant config values to the [API]Client constructor docs as well for consistency. Most of them are already there, but requestTimeout and credentialsFetcher are missing.

Note: The credentialsFetcher parameter is supported in the GrpcRequestWrapper class as weii via the RequestWrapper trait.

It appears the \Grpc\BaseStub and [API]ServiceGrpcClient classes do not utilize the RequestWrapper trait (yet), so these options are not available yet.


Get Qiskit Provider by hub/group/path

@taalexander commented on Thu Sep 09 2021

What is the expected enhancement?
IBM Quantum services reports hub/group/project as a path like <hub>/<group>/<project>, eg., ibm-q/open/main. To get a provider I need to request IBMQ.get_provider(hub=<hub>, group=<group>, path=<project>), it would be great if I could just do IBMQ.get_provider(uri="<hub>/<group>/<project>"), eg., IBMQ.get_provider(uri="ibm-q/open/main").

Is this easier than IBMQ.get_provider(project='main')?


[mask_rom] Add Address Translation.

Introdution
Currently we generate two binaries for ROM_EXT, one statically linked for slot A and one statically linked for slot B. Ideally we would like to generate a single ROM_EXT binary that will work regardless of which position in flash it is placed in.
This PR intruduces the Ibex Simple Address Translation feature in the MASK_ROM to allow the ROM_EXT be pisition independent in case it is signalized in the manifest.
See issue https://github.com/lowRISC/opentitan/issues/9930
See the proposal for more detail.

Thanks @mundaym for the review. I have updated the driver and integrated it into the mask_rom. It is not ready yet. But if you could quickly pass I would appreciate it.

@moidx @cfrantz

just to chime in this area of the hardware has not been thoroughly verified (since it falls into the crack between ibex and rv_core_ibex), so let us know if you see anything suspicious.

I think we'll need to think a little bit about how we will use address translation for the first owner boot stage but that discussion orthogonal to this PR.

Thanks @alphan, @moidx and @mundaym for the reviews.
I tested with and without the address translation enabled and it booted the rom_ext successfuly.
So if you guys are happy I think you can merge this PR once the CI finishes.
Should I open an Issue to disable the address translate on the manifest for the binaries rom_ext_slot_a and rom_ext_slot_b?

Should I open an Issue to disable the address translate on the manifest for the binaries rom_ext_slot_a and rom_ext_slot_b?

Please do (and assign to @jon-flatley) but I don't think we can really address it at the moment since we are still using the legacy signer and it doesn't expose it on the CLI. If there are no failures, we can keep the default value for address_translation as true (and use the new rom_ext image that you added for any ad-hoc tests) until we start using opentitantool.


"exclude vcs ignored paths" does not work.

In that, when I uncheck it, the files are still ignored by the sidebar and do not show up, they are still in-fact ignored, this is unexpected behavior for the sidebar (and even the alternate open dialog - fuzzy open.)

@envygeeks The sidebar (= the tree view) has config options of its own:

Can you give those options a try and let us know if it doesn't help? Also, please provide a bit more debugging information to help us investigate (specific examples and screenshots are always helpful).

I feel slightly silly for not even trying to search there! On a side note perhaps can a note be added to that option to hint at that and make it plainly obvious for the too lazy to search?

On a side note perhaps can a note be added to that option to hint at that and make it plainly obvious for the too lazy to search?

Adding a note to that specific option sounds sub-optimal since other users might be confused in the same way about other options as well (which wouldn't have that note). Perhaps adding a note at the top of "Editor Settings" section which tells the user that some settings are also per-language would be more helpful? I'd be :+1: if you'd like to create an issue over in https://github.com/atom/settings-view to discuss this problem.


Add apple_support 1.0.0

Adds the new 1.0.0 release: https://github.com/bazelbuild/apple_support/releases/tag/1.0.0
One question: we forgot to bump our checked-in MODULE.bazel version number before cutting the release in apple_support: https://github.com/bazelbuild/apple_support/releases/tag/1.0.0
Will this cause issues and is it something that we need to fix before merging this PR, or can it be postponed until the next release? Also, why does it matter if the MODULE.bazel is already checked-in here?

You are right, the MODULE.bazel file inside the source archive doesn't actually matter during build time.
But in future, we actually want to implement presubmit that checks the checked in MODULE.bazel file matches the one in the source archive (if exist), see https://github.com/bazelbuild/bazel-central-registry/issues/120#issuecomment-1169917599


Migrate all CI to Github Actions

Summary
Since the period with an extra 10 concurrent job on travis is ending and
there is already extensive resource contention in the shared azure
pipelines instance for the qiskit organization we need to find an
alternative for CI to maintain job throughput. This commit migrates all
the existing CI jobs to github actions which has a very generous quota
for open source projects.
Details and comments

This should be ready to go now, we'll have to update the branch protection rules to check the gha jobs instead of travis

The other thing here is this doesn't have a windows 3.5 job, I had trouble getting that working. After this merges I'm going to push up the PR to drop 3.5 support from ignis (in line with Qiskit/qiskit-terra#4926 and Qiskit/qiskit-aer#917 ).


Adjust event callbacks to support more arbitary logic

This callback logic is so far as I can tell only used in two legacy spots in clroot, I will plan on deleting those as well.
I would like to add logic to add two different callbacks depending on server flags:

Just print all calls
Print all calls + traceback

I did a different hack in merchant dashboard for this.


When using --currency_capital=0 there is an error

Hi,
I am trying to run a simulation with assets only (no currency), like
--asset_capital=123 --currency_capital=0
But there is an error:
zenbot/node_modules/round-precision/index.js:8
throw new Error('Value must be a finite number')
^
Error: Value must be a finite number
at toPrecision (/Users/ayishai/Dev/zenbot/node_modules/round-precision/index.js:8:11)
at processOutput (/Users/ayishai/Dev/zenbot/backtester.js:120:13)
at shell.exec (/Users/ayishai/Dev/zenbot/backtester.js:94:14)
at /Users/ayishai/Dev/zenbot/node_modules/shelljs/src/exec.js:199:9
at ChildProcess.exithandler (child_process.js:262:7)
at emitTwo (events.js:125:13)
at ChildProcess.emit (events.js:213:7)
at maybeClose (internal/child_process.js:897:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:208:5)

Division by 0 = infinity:
https://github.com/carlos8f/zenbot/blob/master/scripts/genetic_backtester/darwin.js#L121

Are you still experiencing this problem?  If not, consider closing this.

Didn't tried for a long time.


DeepLIFT with rules

Hi,
I would like to use DeepLIFT for my finetuned models (Resnet, Densenet etc.), however it was only working with DeepLIFTRules.NoRule.
My dataset consist of RGB images (254, 254, 3). In example provided everything was working smoothly, but for my model, when I try using any Rules it give me errors.
For my densenet201 model with 37 classes:
interpreter = DeepLIFT(model, [str(i) for i in range(37)], None, DeepLIFTRules.RevealCancel)
for data in dataloaders['test']:
            image, label = data
            out = interpreter.interpret(image)

I got error:
  File "...\nn_interpretability_main\nn_interpretability\interpretation\deeplift\deeplift.py", line 252, in forward_hook
    self.inputs.append(input[0].data.clone().to(device))

AttributeError: 'list' object has no attribute 'data'

It is possible that the problem is with my models? Can I even run DeepLIFT with them for RGB images?

RGB images shouldn't be a problem. One possible issue I speculate from your error is that the image you provided is not a Tensor. 14.Demo.ipynb contains an example of using DeepLIFT to interpret a prediction of an RGB image.

Thank you for your answer,
I was using this example and it works perfectly on vgg, squeezenet and alexnet. However, I tried also googlenet, resnet101, densenet201 and inceptionV3 and for all of them its giving different errors so maybe there is a problem with those architectures? I tried both pretreined imported models and my models (finetuned) as well.
I know there is problem with resnet and DeepLIFT method implemented in the Captum repository, so maybe those errors are due to the architecture?


add videoder package

I want to create a package for the Videoder video downloader software.
Description
I made my changes by mirroring the MKVToolnix package.
Motivation and Context

This software is not yet packaged.

How Has this Been Tested?

Unfortunately, I could not test how it integrates into your CI loop.
If you can help me test this, I will definitely do that.

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Migrated package (a package has been migrated from another repository)

Checklist:

[x] My code follows the code style of this repository.
[x] My change requires a change to documentation (this usually means the notes in the description of a package).
[x] I have updated the documentation accordingly (this usually means the notes in the description of a package).
[x] All files are up to date with the latest Contributing Guidelines
[ ] The added/modified package passed install/uninstall in the chocolatey test environment.
[x] The changes only affect a single package (not including meta package).

:x: Package verification failed, please review the Appveyor Logs and the provided Artifacts before requesting a human reviewer to take a look.

Unfortunatelly we can not accept this without proof of distribution because of this line in License.txt

You may not modify, publish, transmit, participate in the transfer or sale of, reproduce (except as expressly provided in this Section 2), create derivative works based on, distribute, perform, display, or in any way exploit, any of the Content, software, materials, or Services in whole or in part.

You could send them mail and ask for distribution rights explicitelly and provide PDF of communication here.

Unfortunatelly we can not accept this without proof of distribution because of this line in License.txt

You may not modify, publish, transmit, participate in the transfer or sale of, reproduce (except as expressly provided in this Section 2), create derivative works based on, distribute, perform, display, or in any way exploit, any of the Content, software, materials, or Services in whole or in part.

You could send them mail and ask for distribution rights explicitelly and provide PDF of communication here.

Fortunately, I have contacted them way before this PR. I assume this will be enough:
videoder-agreement-mailing.pdf
I'm planning to continue to work on this PR besides my exams at the uni.
Though any help appreciated.

Please add this PDF in legal folder.

:x: Package verification failed, please review the Appveyor Logs and the provided Artifacts before requesting a human reviewer to take a look.

Could you give me some hints how to test this setup locally? @majkinetor
I'm afraid the CI fails for a reason - which I should inverstigate :(

Could you give me some hints how to test this setup locally? @majkinetor

Install AU locally and just run update.ps1 :)

I'm afraid the CI fails for a reason - which I should inverstigate :(

Yes it fails for the reason listed:
[1/1] videoder ERROR:
     Bad content type 'text/html':https://www.videoder.com/download/videoder-for-windows?arch=64 (2.37s)

This means that download location that is shown returns HTML instead of binary type (exe, zip...). This is normal since that page is realy HTML page that will start download after several seconds and the real link is behind the "Restart download button - https://static.videoder.net/desktop/release/win/x64/Videoder Setup 1.0.9.exe - which is the link that you should return instead.

:white_check_mark: Package verification completed without issues. PR is now pending human review

You should probably add Uninstaller too, it looks like this one blocks with prompt. Not strictly necessary, but lets do this right :)
videoder v<IP_ADDRESS>00526
 Running auto uninstaller...
For the question below, you have 30 seconds to make a selection.
Uninstall may not be silent (could not detect). Proceed?([Y]es/[[N]o]):

:x: Package verification failed, please review the Appveyor Logs and the provided Artifacts before requesting a human reviewer to take a look.

:x: Package verification failed, please review the Appveyor Logs and the provided Artifacts before requesting a human reviewer to take a look.

:x: Package verification failed, please review the Appveyor Logs and the provided Artifacts before requesting a human reviewer to take a look.

:white_check_mark: Package verification completed without issues. PR is now pending human review

:white_check_mark: Package verification completed without issues. PR is now pending human review

:white_check_mark: Package verification completed without issues. PR is now pending human review

You are awesome guys, I really enjoyed working on this.
I think it's ready for review now @majkinetor.

created the uninstaller script
rebased to master
squashed commits

Yes. Actually, Get-RemoteFiles does that by default (if you do not specify -NoSuffix parameter). It adds _x32 or _x64 suffix.

:white_check_mark: Package verification completed without issues. PR is now pending human review

Thanks a lot for your work and patience.

Thanks a lot for your work and patience.

I really enjoyed working on this.
BTW when can I expect this package on the Chocolatey package repository?

https://chocolatey.org/packages/videoder/1.0.9


Avoid repeating CM password check

If LDAP is configured in CM, repeated failed password checks can lock user accounts.
After LDAP has been configured or the CM admin password is changed, the CM password check will trigger a failed login each time it is used.
This commit adds checks to ensure the check is skipped each time it is run after the first failure.
This is okay as we don't expect the CM password to be changed back to its default value.
Signed-off-by: William Dyson<EMAIL_ADDRESS>

Tested with CM 7.6.1 CDP 7.1.7 by:

Deploying a basic secured cluster with a non-default CM password
Running the playbook again to ensure idempotency, skipping the following tags:
--skip-tags database,kerberos,tls,cm,verify,os,jdk,users

After changing the Cloudera Manager password, the password is only checked once – other attempts are skipped.


"Insufficient Authentication" when using with RemoteUser login handler

I've installed the overlay on IDP 3.3.1 and it appears to be active.  When I try to log in, the IDP present an error in the browser ("An error occurred: InsufficientAuthenticationException")
2017-04-05 15:11:57,023 - ERROR [org.springframework.security.authentication.InsufficientAuthenticationException:76] - <IP_ADDRESS> -
org.springframework.security.authentication.InsufficientAuthenticationException: User must be authenticated with Spring Security before authorization can be completed.
at org.springframework.security.oauth2.provider.endpoint.AuthorizationEndpoint.authorize(AuthorizationEndpoint.java:138)
and I see this in the error log.  I'm guessing the Shib RemoteUser handler isn't going through spring security?

You may very well be right. I don't think the overlay considers the remote-user, though I speculate that with a few tricks to the web.xml, you might be able to make this work.

On Tue, Apr 11, 2017 at 10:25 AM, Misagh Moayyed<EMAIL_ADDRESS>wrote:

You may very well be right. I don't think the overlay considers the remote
-user, though I speculate that with a few tricks to the web.xml, you
might be able to make this work.

I don't suppose you can share any pointers?
Liam

On Thu, May 4, 2017 at 3:41 PM, Liam Hoekenga<EMAIL_ADDRESS>wrote:

You may very well be right. I don't think the overlay considers the remote
-user, though I speculate that with a few tricks to the web.xml, you
might be able to make this work.

Actually, I get the problem using the password authentication flow too:
2017-05-04 17:00:01,980 - ERROR
[org.springframework.security.authentication.InsufficientAuthenticationException:76]

xxx.xxx.xxx.xxx  -
org.springframework.security.authentication.InsufficientAuthenticationException:
User must be authenticated with Spring Security before authorization can be
completed.
at
org.springframework.security.oauth2.provider.endpoint.AuthorizationEndpoint.authorize(AuthorizationEndpoint.java:138)

On Thu, May 4, 2017 at 4:01 PM, Liam Hoekenga<EMAIL_ADDRESS>wrote:

Actually, I get the problem using the password authentication flow too:

Nevermind... it looks like I skipped the mvc-beans.xml step.  I got further
with password than i had.
Things are still amis back in the land of RemoteUser..
2017-05-04 17:31:00,048 - DEBUG
[net.shibboleth.idp.oidc.flow.CheckAuthenticationRequiredAction:84] -  -
Profile Action CheckAuthenticationRequiredAction: Checking whether
authentication is required
2017-05-04 17:31:00,048 - DEBUG
[net.shibboleth.idp.oidc.flow.CheckAuthenticationRequiredAction:129] -  -
IdP session not found
2017-05-04 17:31:00,049 - DEBUG
[net.shibboleth.idp.oidc.flow.BuildAuthenticationContextAction:97] -  -
Profile Action BuildAuthenticationContextAction: Building authentication
context
2017-05-04 17:31:00,050 - DEBUG
[net.shibboleth.idp.oidc.flow.BuildAuthenticationContextAction:118] -  -
Authentication context does not require force authN for client
2017-05-04 17:31:00,224 - DEBUG
[net.shibboleth.idp.authn.impl.PopulateAuthenticationContext:200] -  -
Profile Action PopulateAuthenticationContext: Installed 3 potential
authentication flows into AuthenticationContext
2017-05-04 17:31:00,242 - DEBUG
[net.shibboleth.idp.session.impl.PopulateSessionContext:133] -  - Profile
Action PopulateSessionContext: No session found for client
2017-05-04 17:31:00,302 - DEBUG
[net.shibboleth.idp.authn.impl.InitializeRequestedPrincipalContext:117] -

Profile Action InitializeRequestedPrincipalContext: Leaving existing
RequestedPrincipalContext in place
2017-05-04 17:31:00,327 - DEBUG
[net.shibboleth.idp.authn.impl.FilterFlowsByForcedAuthn:53] -  - Profile
Action FilterFlowsByForcedAuthn: Request does not have forced
authentication requirement, nothing to do
2017-05-04 17:31:00,352 - DEBUG
[net.shibboleth.idp.authn.impl.FilterFlowsByNonBrowserSupport:53] -  -
Profile Action FilterFlowsByNonBrowserSupport: Request does not have
non-browser requirement, nothing to do
2017-05-04 17:31:00,375 - DEBUG
[net.shibboleth.idp.authn.impl.SelectAuthenticationFlow:370] -  - Profile
Action SelectAuthenticationFlow: Specific principals requested with 'exact'
operator:
[AuthnContextClassRefPrincipal{authnContextClassRef=urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport}]
2017-05-04 17:31:00,382 - DEBUG
[net.shibboleth.idp.authn.impl.SelectAuthenticationFlow:386] -  - Profile
Action SelectAuthenticationFlow: No active results available, selecting an
inactive flow
2017-05-04 17:31:00,383 - DEBUG
[net.shibboleth.idp.authn.impl.SelectAuthenticationFlow:407] -  - Profile
Action SelectAuthenticationFlow: Checking for an inactive flow compatible
with operator 'exact' and principal
'urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport'
2017-05-04 17:31:00,384 - DEBUG
[net.shibboleth.idp.authn.principal.PrincipalEvalPredicateFactoryRegistry:82]

Registry located predicate factory of type
'net.shibboleth.idp.authn.principal.impl.ExactPrincipalEvalPredicateFactory'
for principal type 'class
net.shibboleth.idp.saml.authn.principal.AuthnContextClassRefPrincipal' and
operator 'exact'
2017-05-04 17:31:00,389 - DEBUG
[net.shibboleth.idp.authn.impl.SelectAuthenticationFlow:338] -  - Profile
Action SelectAuthenticationFlow: Selecting inactive authentication flow
authn/RemoteUserInternal
2017-05-04 17:31:00,586 - DEBUG
[net.shibboleth.idp.authn.impl.ExtractRemoteUser:161] -  - Profile Action
ExtractRemoteUser: No user identity found in request
2017-05-04 17:31:00,597 - INFO
[net.shibboleth.idp.authn.impl.SelectAuthenticationFlow:129] -  - Profile
Action SelectAuthenticationFlow: Moving incomplete flow
authn/RemoteUserInternal to intermediate set
2017-05-04 17:31:00,598 - DEBUG
[net.shibboleth.idp.authn.impl.SelectAuthenticationFlow:370] -  - Profile
Action SelectAuthenticationFlow: Specific principals requested with 'exact'
operator:
[AuthnContextClassRefPrincipal{authnContextClassRef=urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport}]
2017-05-04 17:31:00,598 - DEBUG
[net.shibboleth.idp.authn.impl.SelectAuthenticationFlow:386] -  - Profile
Action SelectAuthenticationFlow: No active results available, selecting an
inactive flow
2017-05-04 17:31:00,599 - DEBUG
[net.shibboleth.idp.authn.impl.SelectAuthenticationFlow:407] -  - Profile
Action SelectAuthenticationFlow: Checking for an inactive flow compatible
with operator 'exact' and principal
'urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport'
2017-05-04 17:31:00,599 - DEBUG
[net.shibboleth.idp.authn.principal.PrincipalEvalPredicateFactoryRegistry:82]

Registry located predicate factory of type
'net.shibboleth.idp.authn.principal.impl.ExactPrincipalEvalPredicateFactory'
for principal type 'class
net.shibboleth.idp.saml.authn.principal.AuthnContextClassRefPrincipal' and
operator 'exact'
2017-05-04 17:31:00,600 - DEBUG
[net.shibboleth.idp.authn.impl.SelectAuthenticationFlow:338] -  - Profile
Action SelectAuthenticationFlow: Selecting inactive authentication flow
authn/remoteuserplus
2017-05-04 17:31:01,293 - INFO
[net.shibboleth.idp.authn.impl.RemoteUserAuthServlet:257] - xxx.xxx.xxx.xxx

User identity not found in request
2017-05-04 17:31:01,433 - INFO
[net.shibboleth.idp.authn.impl.ValidateExternalAuthentication:152] -
xxx.xxx.xxx.xxx - Profile Action ValidateExternalAuthentication: External
authentication failed, no user identity or error information returned
2017-05-04 17:31:01,565 - INFO
[net.shibboleth.idp.authn.impl.SelectAuthenticationFlow:129] -
xxx.xxx.xxx.xxx - Profile Action SelectAuthenticationFlow: Moving
incomplete flow authn/remoteuserplus to intermediate set
2017-05-04 17:31:01,569 - DEBUG
[net.shibboleth.idp.authn.impl.SelectAuthenticationFlow:370] -
xxx.xxx.xxx.xxx - Profile Action SelectAuthenticationFlow: Specific
principals requested with 'exact' operator:
[AuthnContextClassRefPrincipal{authnContextClassRef=urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport}]
2017-05-04 17:31:01,569 - DEBUG
[net.shibboleth.idp.authn.impl.SelectAuthenticationFlow:386] -
xxx.xxx.xxx.xxx - Profile Action SelectAuthenticationFlow: No active
results available, selecting an inactive flow
2017-05-04 17:31:01,570 - DEBUG
[net.shibboleth.idp.authn.impl.SelectAuthenticationFlow:407] -
xxx.xxx.xxx.xxx - Profile Action SelectAuthenticationFlow: Checking for an
inactive flow compatible with operator 'exact' and principal
'urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport'
2017-05-04 17:31:01,574 - DEBUG
[net.shibboleth.idp.authn.principal.PrincipalEvalPredicateFactoryRegistry:82]
xxx.xxx.xxx.xxx - Registry located predicate factory of type
'net.shibboleth.idp.authn.principal.impl.ExactPrincipalEvalPredicateFactory'
for principal type 'class
net.shibboleth.idp.saml.authn.principal.AuthnContextClassRefPrincipal' and
operator 'exact'
2017-05-04 17:31:01,575 - INFO
[net.shibboleth.idp.authn.impl.SelectAuthenticationFlow:428] -
xxx.xxx.xxx.xxx - Profile Action SelectAuthenticationFlow: None of the
potential authentication flows can satisfy the request
2017-05-04 17:31:01,593 - ERROR
[org.springframework.webflow.execution.FlowExecutionException:76] -
xxx.xxx.xxx.xxx -
org.springframework.webflow.execution.FlowExecutionException: Exception
thrown in state 'doAuthenticationSubflow' of flow 'oidc/login'
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.wrap(FlowExecutionImpl.java:573)
Caused by: java.lang.IllegalArgumentException: Cannot find state with id
'RequestUnsupported' in flow 'oidc/login' -- Known state ids are
'array['initializeLogin', 'clientStorageLoad', 'continueLogin',
'checkAuthenticationRequired', 'checkInitialAuthenticationRequired',
'preInitialSetup', 'doInitialAuthenticationSubflow', 'postInitialSetup',
'buildAuthenticationContext', 'doAuthenticationSubflow',
'checkResolveAttributes', 'checkForSubjectContext',
'populateSubjectContext', 'resolveAttributes', 'attributeResolution',
'doPreAuthorizeUserApprovalAction', 'doPostAuthnInterceptSubflow',
'buildResponse', 'clientStorageSave', 'doPostAuthorizeUserApprovalAction',
'redirectResponse', 'done', 'error']'
at org.springframework.webflow.engine.Flow.getStateInstance(Flow.java:342)

We might need to set up some sort of session so I can review this with you. Or at least learn more about your setup so I can duplicate it on my end. That sound like a good idea? Possible dates/times besides today and next Monday?

Pretty much any afternoon next week.
If it's later in the week, I can confirm that my build works with the
Password flow before tackling RemoteUser.
Liam
On Fri, May 5, 2017 at 11:03 AM, Misagh Moayyed<EMAIL_ADDRESS>wrote:

We might need to set up some sort of session so I can review this with
you. Or at least learn more about your setup so I can duplicate it on my
end. That sound like a good idea? Possible dates/times besides today and
next Monday?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/uchicago/shibboleth-oidc/issues/40#issuecomment-299505416,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA-SK19sZGczmV1Qh28xgcuO3jSSZtueks5r20hAgaJpZM4M6Nxo
.

OK. I am generally around until 3pm EDT. I'd prefer to this before next Thursday, but once you get confirmation please ping the same thread and we'll set something up.
I am also at<EMAIL_ADDRESS>if you wanted to reach out privately.


Cannot delete from inferred types without typing them first

Bug Report

🔎 Search Terms
Cannot delete from inferred types without typing them first
🕗 Version & Regression Information

This changed between versions 3.9 and 4.0

⏯ Playground Link
Playground link with relevant code
💻 Code
const someObject = {
    foo: 'bar',
    baz: true
}

delete someObject.foo // The operand of a 'delete' operator must be optional.(2790)

🙁 Actual behavior
You cannot delete from a literal object without facing the error.
You are forced to type the object, marking the property you want to delete as optional, even though it is not optional up until that point.
🙂 Expected behavior
Since you never provided a type to the object, you should be able to delete from it, and afterwards it gets marked as optional.
Alternatively, the check should be divorced from strictNullChecks so it can be turned off separately

This is intentional.  You also can’t assign new properties after the fact either.

This behavior was specifically requested; see #13783.


semicolon highlighting

Would it be possible to add highlight group for semicolons? 🙏
Thanks, appreciated!

Turns out there actually is one, but it's not being properly highlighted, I'll get on it

In #80 I've fixed the group, but that one is only inteded for typescript interface/type definition and as was said in #76, this might not get accepted. If you really want this, you could add your own group in your vim configuration.

Thank @tomaskallup for fixing multiple issues!
As said before, semicolons aren't significant syntax components. We won't add it to highlight group by default but typescriptEndColon is available for your own configuration.


Naming

Hi, I'm Samuel Reed, CTO of the Bitcoin Mercantile Exchange (BitMEX).
We've been around since 2014 and we're one of the leading exchanges in the space.
It is likely that your project's name will cause significant confusion. Would you please consider changing it? For example, BitTalk appears not to be used by any major projects.
Thanks - we appreciate it!

Hi Samuel,
I understand. I will think of some other name.
Kind Regards,
Federico
On 05/03/2017 12:17 AM, Samuel Reed wrote:

Hi, I'm Samuel Reed, CTO of the Bitcoin Mercantile Exchange (BitMEX)
https://www.bitmex.com.
We've been around since 2014 and we're one of the leading exchanges in
the space.
It is likely that your project's name will cause significant
confusion. Would you please consider changing it? For example,
|BitTalk| appears not to be used by any major projects.
Thanks - we appreciate it!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/frz-dev/bitmex/issues/1, or mute the thread
https://github.com/notifications/unsubscribe-auth/AINdJI8IoFDN8L1IkcWq-LEcwd4SCB7Kks5r16uLgaJpZM4NOweI.


Plugin generates new files despite the inputFiles are not changed since the last generation

Description
Plugin generates new files despite the inputFiles are not changed since the last generation.
It takes too much time for subsequent generation/compilation which has to be prevented by gradle/plugins.
To Reproduce:
Run $ ./gradlew generateSwaggerCode several times and observe that it generates files on every run. It takes about the same time to finish.
Expected behavior:
Plugin checks if the generated files are newer than the input file and then skips generation.
Environment
Plugin version: 2.19.1
Swagger Codegen version: 3.0.32
Gradle version: 5.3.1
Java version: openjdk 11.0.13 2021-10-19
OS: linux mint 20.3

Quick fix for anyone here,
swaggerSources {
...
    forEach { swaggerSource ->
        swaggerSource.reDoc.apply { inputs.files(swaggerSource.reDoc.inputFile) }
        swaggerSource.validation.apply { inputs.files(swaggerSource.validation.inputFile) }
        swaggerSource.ui.apply { inputs.files(swaggerSource.ui.inputFile) }
        swaggerSource.code.apply { inputs.files(swaggerSource.code.inputFile) }
    }
}


improve developer docs

Improves developer documentation to make it more straightforward for contributors to get started.
Inspired a bit by https://docs.helm.sh/developers/

Codecov Report

Merging #345 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #345   +/-   ##
=======================================
  Coverage   88.41%   88.41%
=======================================
  Files          17       17
  Lines         820      820
=======================================
  Hits          725      725
  Misses         61       61
  Partials       34       34

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 1f0a217...c179020. Read the comment docs.

/lgtm