[rom,rom_ext] integrate attestation key & cert (UDS, CDI_0, CDI_1) update/gen into ROM_EXT

Description
Attestation key and certificate generation has been integrated into the FT personalization provisioning binary (in #XYZ). During boot, the ROM_EXT must crank the keymgr and generate the UDS, CDI_0, and CDI_1 attestation keys, and certificates if the keys change. This will enable ROM_EXT updates, and detect device tampering in the field.
The goal is to implement the following keygen architecture:

Additionally, not-pictured but described here, we would like to support a non-mutable code section in ROM_EXT (that can be enforced by a code partition hash provisioned into OTP) to enable (potentially) moving UDS+CDI_0 key and cert generation to a non-mutable code partition in flash if we become reasonable confident in this infrastructure in the future to increase our attestation security posture.
Tasks

[ ] update OTP memory map to:

[ ] update name of the OWNER_SW_CFG_ROM_KEYMGR_ROM_EXT_MEAS_EN OTP field (in the OWNER_SW_CFG partition) to OWNER_SW_CFG_ROM_KEYMGR_OTP_MEAS_EN (as the ROM should set the CreatorRootKey (UDS) attestation binding CSRs to the measurement of the OTP partitions if this is set).
[ ] add a ROM_EXT non-mutable code section hash field

[ ] update ROM to:

[ ] set attestation binding to measurement of {Creator,Owner,Hw0,Hw1}Cfg + RotCreatorAuth{Codesign,State} OTP partitions
[ ] set the sealing binding to 0 or some hardcoded constant
[ ] check the non-mutable ROM_EXT code hash region during the boot flow

[ ] update ROM_EXT to:

[ ] use the dice library to generate keys / certificates
[ ] only generate new CDI_{0,1} certificates if the keys have changed
[ ] if the UDS key changes, we should still generate a new certificate so an attestation operation will fail for the device in the field
[ ] add a non-mutable code section that is the new entry point of ROM_EXT (initial section should be a single (hardened) jump instruction that jumps to the mutable ROM_EXT region)

[ ] update website documentation with the above diagram

Note: we considered moving UDS and CDI_0 key / cert gen to the ROM for a better security posture, but decided against it due to a hard 32k ROM size constraint (I.e., we ran out of room in the ROM to implement this). Moreover, performing singing operations (for the CDI_0 attestation certificate endorsement) was deemed potentially dangerous.
This issue has been updated to track the updated plan of record.

Thanks @timothytrippel, I am removing the Hotlist label due to reached convergence on the topic.
We have recorded security discussions for both variants in an (internal) doc for later reference.

I just reviewed the doc today (I only heard of it yesterday) and as far as I can tell, the proposed solution still means that the ECDSA keygen/signing is fixed after manufacturing. To me, this raises the same concerns as before about side-channel vulnerabilities we can't patch. It buys only a few months of time to find and fix such issues, at the cost of more complex provisioning. This wasn't at all clear to me before reading the doc today, so I think it would be good to raise this in the security meeting one more time -- sorry, I know it's been a lot of rounds on this! I just think the new proposal is significantly different from previous discussions.

Sorry @jadephilipoom, I may have been a bit unclear here. The plan is not to do any keygen/signing in the additional non-mutable ROM_EXT section for PROD. The plan is to do the keygen/signing in the ROM_EXT's mutable section as we originally discussed. The purpose of the non-mutable section is simply to provide an avenue for moving keygen/signing to what essentially is a ROM that is cheaper to update (it can be done at provisioning time; no need to re-spin a chip), in the future if we wanted to (only after gaining more confidence in the implementation of our algorithms.
Does that make sense?

Oh, I see. So to rephrase my understanding, this new section is not really going to be used for anything to start with, but provides us a way to more easily move stuff from ROM_EXT to ROM later if we gain more confidence and change our minds?

yes, exactly.

Okay, that addresses my concern then, thanks! Sorry for the misunderstanding, I'll remove the hotlist label.

I took another look at the DICE spec and on this fourth pass I found some wording that makes me think there's no tension between the spec and signing in ROM_EXT actually. From Hardware Requirements for Device Identifier Composition Engine:

The engine that performs the computation of the CDI may be updated, but those updates are not measured in the CDI and must be inherently trusted. First mutable code refers to the code that is executed after the Device Identifier Composition Engine and is not inherently trusted.

This sounds to me like in the spec, “first mutable code” does not actually mean first mutable code. It means the first code past “the DICE”, which is whatever code signs the first CDI cert and locks the UDS. The same document refers to “updatable DICE”:

An updatable DICE SHALL only be updated through a secure process controlled by the manufacturer of the DICE.
After updating through a manufacturer controlled process the DICE SHALL comply with this specification.
The manufacturer controlled update process SHOULD NOT change the CDI.

So this sounds to me like what the spec calls “the DICE” can actually be mutable, as long as the manufacturer controls the process and guarantees that the code will continue to conform to DICE and won’t change the CDI. Since Silicon Creator signs ROM_EXT, and the only updates we’d expect to do are SCA fixes, I think this satisfies DICE requirements.

nice - sounds we are all happy with

doing key gen and signing in the mutable ROM_EXT for now, and as we had planned originally (i.e. no change of plans), and
having an option to include into a non-mutable ROM_EXT at a later stage if needed.

The ROM_EXT non-mutable code section tasks have been added to a separate issue in #23425.

Moving to ROM_EXT as all ROM tasks tracked in this issue have been completed.


Beware when mocking in unit tests!

When one's logging class implements an interface, and that interface is used to make a mock for unit testing, the addition of the "public void LogMessage(LogLevel level, LogInterpolatedStringHandler builder)" method prevents a mock from being fully implemented. This is because the LogInterpolatedStringHandler is a ref struct, and mocking frameworks will not allow ref structs to be used as arguments to mocked methods. This could be a serious problem for some people. I solved it in my case by replacing all mocked instances with the real thing, which was about 2 hours' work, and left my unit tests dependent on another class, which I didn't appreciate.

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

ID: 99599c47-14ba-6e35-9b63-daa928f764bb
Version Independent ID: e80a06db-bfbc-29f1-1cca-248460e523d3
Content: Explore string interpolation handlers
Content Source: docs/csharp/whats-new/tutorials/interpolated-string-handler.md
Product: dotnet-csharp
Technology: csharp-whats-new
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Hi @ArticadAlistair
I'd like to learn more about how you got to the state where you added a custom interpolated string handler in a class that needed mocking.
I hadn't considered the case where those would be combined. First, I expect that most .NET developers will use the interpolated string handlers provided by the .NET runtime. Second, I expected that custom handlers would only be created for performance reasons where not creating the output string, or truncating the output could save important machine cycles, I'd like to know more about what I missed in that analysis.

First I created my own class for logging. Several other classes use this, but I wanted to abstract logging out when unit testing those other classes. So I created an interface for the logging class, and mocked it in the unit tests. Subsequently, I read about the ability to implement an interpolated string handler and decided it would be a good performance improvement for my logging class. Then reality hit - all those unit tests started to fall apart when I tried (and failed) to mock the new method that needs the interpolated string handler ref struct as an argument. I fixed the tests by using the real logging class in all the tests; I couldn't see any other way. You could argue that if the logging class is adequately tested then this is not a big deal. The big deal is that I didn't anticipate this problem and got to a place where it either took a long time to fix or else I had to abandon the interpolated string handler.
From: Bill Wagner @.***
Sent: 02 August 2022 16:49
To: dotnet/docs @.>
Cc: Alistair Imrie @.>; Mention @.***>
Subject: Re: [dotnet/docs] Beware when mocking in unit tests! (Issue #30456)
Hi @ArticadAlistairhttps://github.com/ArticadAlistair
I'd like to learn more about how you got to the state where you added a custom interpolated string handler in a class that needed mocking.
I hadn't considered the case where those would be combined. First, I expect that most .NET developers will use the interpolated string handlers provided by the .NET runtime. Second, I expected that custom handlers would only be created for performance reasons where not creating the output string, or truncating the output could save important machine cycles, I'd like to know more about what I missed in that analysis.
—
Reply to this email directly, view it on GitHubhttps://github.com/dotnet/docs/issues/30456#issuecomment-1202874216, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A2K3GO4DDSQC67AQB5HJDJ3VXE7P5ANCNFSM55LHQMLA.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

If you're using the ILogger (or ILogger<T>) abstractions, you should consider using the NullLogger.Instance for unit testing. For more information, see Logging in .NET.

I've written my own interface. (When I read up on what's already out there, I found it somewhat overwhelming, and yet nothing seemed to do exactly what I needed.) But in any case, my unit tests of classes that use logging needed to verify that error conditions had been communicated to the logger, so a null logger wouldn't really help with that.

My point is that by not discussing unit testing, anyone doing Test Driven Development and thinking this tutorial is a great idea is in for a potentially nasty surprise, unless they are fully aware of a mocking framework's inability to mock methods with ref struct parameters. I'm guessing not many developers are aware of that. I think the article should carry at minimum a one-sentence warning about this pitfall.


[Event Hubs] disconnected > EventHubProducerClient > should not throw an uncaught exception failing in nightly runs

Event Hubs nightly test runs are failing with:

Error message:
expected 'connection-10' to not equal 'connection-10'
Stack trace:
AssertionError: expected 'connection-10' to not equal 'connection-10'
❯ test/public/node/disconnects.spec.ts:197:18

For more details check here:
https://dev.azure.com/azure-sdk/internal/_build/results?buildId=4310092&view=results

Succeeded on rerun.


webcomponent support

Added a '-' to tagName to support webcomponents

Hi, it would be great if you could add this additional rule in order to support webcomponents in your parser.
Regards

Thanks!


aiohttp.client_exceptions.ClientResponseError: 429, message='Too Many Requests'

Hi and thank you for sharing such useful tool!
I have an error in a cluster with a lot of namespaces (2000+)
aiohttp.client_exceptions.ClientResponseError: 429, message='Too Many Requests', url=URL('https://<IP_ADDRESS>:443/api/v1/namespaces/web-4601')
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator The above exception was the direct cause of the following exception:
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator Traceback (most recent call last):
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator   File "/usr/local/lib/python3.10/site-packages/kopf/_core/actions/throttlers.py", line 44, in throttled
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator     yield should_run
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator   File "/usr/local/lib/python3.10/site-packages/kopf/_core/reactor/processing.py", line 130, in process_resource_event
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator     applied = await application.apply(
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator   File "/usr/local/lib/python3.10/site-packages/kopf/_core/actions/application.py", line 60, in apply
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator     await patch_and_check(
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator   File "/usr/local/lib/python3.10/site-packages/kopf/_core/actions/application.py", line 131, in patch_and_check
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator     resulting_body = await patching.patch_obj(
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator   File "/usr/local/lib/python3.10/site-packages/kopf/_cogs/clients/patching.py", line 47, in patch_obj
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator     patched_body = await api.patch(
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator   File "/usr/local/lib/python3.10/site-packages/kopf/_cogs/clients/api.py", line 155, in patch
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator     response = await request(
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator   File "/usr/local/lib/python3.10/site-packages/kopf/_cogs/clients/auth.py", line 45, in wrapper
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator     return await fn(*args, **kwargs, context=context)
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator   File "/usr/local/lib/python3.10/site-packages/kopf/_cogs/clients/api.py", line 85, in request
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator     await errors.check_response(response)  # but do not parse it!
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator   File "/usr/local/lib/python3.10/site-packages/kopf/_cogs/clients/errors.py", line 150, in check_response
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator     raise cls(payload, status=response.status) from e
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator kopf._cogs.clients.errors.APIClientError: (None, None)
remove-empty-ns-operator-56fcb5cf99-djbnj remove-empty-ns-operator [2023-01-24 08:10:29,593] kopf.objects         [ERROR   ] [wl-frontend-web-4647] Throttling for 1 seconds due to an unexpected error: APIClientError(None, None)

Hi! Thanks for your report. I'll check it out.


Make it possible to configure InformationURL and PrivacyStatementURL for SAML metadata UIInfo element

Currently the configuration only allows configuration of display names, description and logo.

Fixed in PR https://github.com/swedenconnect/signservice/pull/112.


Add clojure generator

Basic implementation using clj-http, may extend later on with aleph, http-kit implementations.
Let me know if you have any style contentions or improvements.
ref: #81

Crikey; blasted this through in ES6 didn't stop to think about compatibility. Ignore this then; will circle back to it soon.

All better 🔧

nice :+1: will review soon


Tweak documentation for readability

Apply many small tweaks I found while going over the documentation.
Rename some variables.
Add asserts to BoxConstraints::constrain_aspect_ratio.
Flesh out the WidgetState documentation.
Introduce the concept of "zombie flags".

I'd say this is ready for review.
It's a bit of a kitchen sink PR, but almost all the changes are to documentation or comments only, and almost none of them change executable code.
Some changes remove long-dead code, bitrotted comments, outdated documentation, etc. Masonry's documentation has a tendency to refer to old ideas as if we were just about to implement them, so I think this spring cleaning will make it more readable.


do not rewrite []T as ...T for return params

this fixes #124

@tbarbugli the changes are incomplete. Could you please fix the same (also add a test)?

unfortunately I dont have time to add tests for this, I added the missing code change

Closed via #126


devpkg: allow multiple/non-default package outputs

Depends on #1627 and #1629.
Update devpkg.Package to use FlakeInstallable instead of a URL so that it can correctly handle the flake outputs syntax. For example, flake:nixpkgs#prometheus^out,cli.
Untangling parts of devpkg has been tricky, so this commit focuses on changing only the pieces necessary to replace Package.URL with Package.installable. There's still a lot more cleanup that can be done.
Tested by adding/removing various flakes with and without outputs specified:
$ devbox add prometheus
$ devbox run -- promtool --version
promtool: command not found
Error: error running script "promtool" in Devbox: exit status 127

$ devbox add flake:nixpkgs#prometheus
$ devbox run -- promtool --version
promtool: command not found
Error: error running script "promtool" in Devbox: exit status 127

$ devbox add flake:nixpkgs#prometheus^out,cli
$ devbox run -- promtool --version
promtool, version 2.47.2 (branch: unknown, revision: unknown)
  build user:       nix@nixpkgs
  build date:       unknown
  go version:       go1.21.3
  platform:         darwin/arm64
  tags:             builtinassets

$ devbox add path:$HOME/src/tailscale/tailscale

Related to #1431.

I've been testing out runx and various package combinations. I'll try doing a large project next for performance.

I ran devbox run -- echo done with a project of 38 packages and the time was about 30s before and after.


Select individual approvers for the PAF approval

User Story
At the PAF approval stage, OTF wants the project to progress with 1 of 4 approvers approving the PAF and not all the roles approving it.
Proposed Solution

Can we make this configurable on Hypha such that OTF team can choose who all should review and maybe sequence that as well? So that this configuration is less developer dependent if needed changes in the future.
Can we also show in the UI who the PAF is pending on for approval + who all have approved it for further clarity.

Closing this in favour of https://github.com/HyphaApp/hypha/issues/3188


(feature) On mobile make only the location search visible at the top

Trello card URL:
https://trello.com/c/Sx3ktjSy
Changes in this PR:
Identified in research, users were having difficulty seeing search
results because all the filters take up so much of the initial
viewing space OR the filters were hidden at the bottom of the page
on mobile.
Screenshots of UI changes:
Before

After

So this code is merged, but the PR is still open ?!?!?!?!
I'm going to manually close for now.


Permission dialog papercuts

A few minor issues with this dialog:

The title above the icon looks a bit odd, I'd move it below
The icon at the top could be a bit larger
I'd add a bit more vertical spacing above the list
The close button styling could be nicer, I'd make it circular and use the default button style (light gray background and text-color X)

The title above the icon looks a bit odd, I'd move it below

I first implemented it like that, but as I made the modal to be a generic one, it seemed a bit weird to allow elements before the title. So I dropped that.

I would like to add that the dialog box should be wider because right now the close button obscures the text if it's longer:

wider isn't the correct approach, it needs to handle cases, when there is not enought space and just use multiple lines

I first implemented it like that, but as I made the modal to be a generic one, it seemed a bit weird to allow elements before the title.

I mean, this is a special kind of dialog which always has an icon/pill thing at the top (it's the same for age ratings and device support, once we add those). Maybe just leave the dialog title to be empty, and add a different label below?

I first implemented it like that, but as I made the modal to be a generic one, it seemed a bit weird to allow elements before the title.

I mean, this is a special kind of dialog which always has an icon/pill thing at the top (it's the same for age ratings and device support, once we add those). Maybe just leave the dialog title to be empty, and add a different label below?

Leaving title empty would break accessibility. I'll might be able to hack around it somehow, but trying to be transparent in case anyone wants to work on it before me.

Should be better now

Looks better, but the spacing between title and list is a bit too large now. I'd reduce it by about half.

Should be better soonish


Error while restoring messages

Hi,
I am trying to restore my emails, but an error occured.
restoring single large message (4/9338)                                         Traceback (most recent call last):
File "", line 1491, in
File "", line 1081, in main
File "", line 470, in callGAPI
File "C:\Users\jlee\Documents\GitHub\got-your-back\oauth2client\util.py", line 137, in positional_wrapper
File "C:\Users\jlee\Documents\GitHub\got-your-back\googleapiclient\http.py", line 722, in execute
File "C:\Users\jlee\Documents\GitHub\got-your-back\oauth2client\util.py", line 137, in positional_wrapper
File "C:\Users\jlee\Documents\GitHub\got-your-back\oauth2client\client.py", line 551, in new_request
File "C:\Users\jlee\Documents\GitHub\got-your-back\httplib2_init_.py", line 1313, in request
File "C:\Users\jlee\Documents\GitHub\got-your-back\httplib2_init_.py", line 1063, in request
File "C:\Users\jlee\Documents\GitHub\got-your-back\httplib2_init.py", line 988, in _conn_request
File "C:\Python3\lib\http\client.py", line 1088, in request
File "C:\Python3\lib\http\client.py", line 1125, in _send_request
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 3525-3526: ordinal not in range(256)
Regards,
S.

Seems like this is the same case as "Error restoring with UnicodeEncodeError"  #51

Same here! any suggestions?

I have this error too. :(
No recent updates on that?

This is fixed in master branch (soon to be released as 0.44).


Implements Dinodex

I deleted my old repo. Problems with git.

Hey there. A few comments added, centering around organization, idiomatic usage, and duplication. Let me know if any of it is unclear and we can walk through it together.
Give it a refactor and submit again, please. :)


Typo fix: deprecated replacement getter

cf. #67

is there a reason test cases don't automatically run on PRs? this could've/should've been caught before merging

is there a reason test cases don't automatically run on PRs? this could've/should've been caught before merging

because I did not set them up to run. they only run on push


How to redirect to login page if get the 401 error?

Hi,
I update my ember-simple-auth version 0.7.3 to 0.8.0. The user will get the 401 errors in console, but page can not redirect to login page. The problem like: http://stackoverflow.com/questions/30708081/how-to-redirect-to-login-page-if-get-the-401-error-when-i-use-ember-simple-auth
Any help please.

I am having this same issue.

Did you configure the crossOriginWhitelist? If not, Ember Simple Auth will not include the Authorization header in requests to 3rd origins and thus not handle 401 (it only handles 401 errors for requests that it has authorized).

@marcoow But the requests are on the same domain. I am using Ember-CLI-Rails and so they both run on localhost:3000.
The authorization header is being successfully sent, but if I return a 401 (if the token is invalid), it just gets stuck on the loading route.

Put a breakpoint here and check whether it is reached at all: https://github.com/simplabs/ember-simple-auth/blob/master/packages/ember-simple-auth/lib/simple-auth/mixins/application-route-mixin.js#L238

@marcoow Ok, so I think I figured it out. Lets say I have a route for /status that returns 401. If you go to http://localhost:3000/status directly, it will redirect you to /login but, if you go to http://localhost:3000 and then use the navbar (link-to) to go to /status, it will just get stuck.
Let me know if that doesnt make sense, and ill explain it better.
Also, I put debugger;'s on that line you told me to but it is never called, when I use the navbar or when I directly go to /status.

if the authorizationFailed action is never called it should actually never redirect you.

@marcoow Oh lol, my bad. I made a custom mixin but never changed the import. Now, when you directly go to /status, you get redirected but that code is never executed, but if you use the link-to, it does get executed but it doesnt enter the if statement (which makes sense).
Arent you supposed to have some code that stops the transition and redirects after the if statement?

Not sure what you mean. The way the handler works is it invalidates the session after a 401 as it's assumed to be stale then.

@marcoow But how do we get it to redirect to /login after the session is invalidated?

The [sessionInvalidationSucceeded action[(https://github.com/simplabs/ember-simple-auth/blob/master/packages/ember-simple-auth/lib/simple-auth/mixins/application-route-mixin.js#L212) handles the case when the session is invalidated and by default simply reloads the application's root url.

And how do I call that? Currently, I dont think its being executed.
On Mon, Aug 3, 2015 at 9:21 AM Marco Otte-Witte<EMAIL_ADDRESS>wrote:

The [sessionInvalidationSucceeded action[(
https://github.com/simplabs/ember-simple-auth/blob/master/packages/ember-simple-auth/lib/simple-auth/mixins/application-route-mixin.js#L212)
handles the case when the session is invalidated and by default simply
reloads the application's root url.
—
Reply to this email directly or view it on GitHub
https://github.com/simplabs/ember-simple-auth/issues/563#issuecomment-127300663
.

You don't manually call that at all - it's called automaticall whenever the session fires the sessionInvalidationSucceeded event - see https://github.com/simplabs/ember-simple-auth/blob/master/packages/ember-simple-auth/lib/simple-auth/mixins/application-route-mixin.js#L57.

Im a bit confused.
If authorizationFailed, then I want to redirect to either the root url or
the login route. If the user is logged out, and gets a 401, nothing happens
currently.
On Mon, Aug 3, 2015 at 10:37 AM Marco Otte-Witte<EMAIL_ADDRESS>wrote:

You don't manually call that at all - it's called automaticall whenever
the session fires the sessionInvalidationSucceeded event - see
https://github.com/simplabs/ember-simple-auth/blob/master/packages/ember-simple-auth/lib/simple-auth/mixins/application-route-mixin.js#L57
.
—
Reply to this email directly or view it on GitHub
https://github.com/simplabs/ember-simple-auth/issues/563#issuecomment-127341250
.

--
Thanks.

please provide sources - configuration, application route etc.

Not at home right now (will add code later).
Basically what I am trying to say is that it should call
sessionRequiresAuthentication after this line:
https://github.com/simplabs/ember-simple-auth/blob/master/packages/ember-simple-auth/lib/simple-auth/mixins/application-route-mixin.js#L240
On Mon, Aug 3, 2015 at 10:42 AM Marco Otte-Witte<EMAIL_ADDRESS>wrote:

please provide sources - configuration, application route etc.
—
Reply to this email directly or view it on GitHub
https://github.com/simplabs/ember-simple-auth/issues/563#issuecomment-127343650
.

--
Thanks.

I also use Ember-CLI-Rails. Can you tell me how to fix this problem ? @nahtnam

@JeskTop I noticed that if you get a 401, ember simple auth tries to logout.
You will never come across this situation if you put the authenticated route mixin.

@nahtnam Like this?
export default Ember.Route.extend({
  ...
  actions: {
    error(error, transition) {

      if (error && error.status === 401) {
        // error substate and parent routes do not handle this error
        return this.transitionTo('login');
      }

      // Return true to bubble this event to any parent route.
      return true;
    }
  }
});

@JeskTop I guess it would be better to extend this: https://github.com/simplabs/ember-simple-auth/blob/master/packages/ember-simple-auth/lib/simple-auth/mixins/application-route-mixin.js#L212

Automatic mapping of 401 to an error action on the application route has been dropped altogether in 1.0. You can now handle 401 e.g. in the Ember Data adapter and use the session service to invalidate the session there.

@marcoow what is the correct approach to handle redirecting to the login page, if a 401 response is received from an API call which is going through the DataAdapter?  I am handling the check in the handleRepsonse method, and calling invalidate, however, I don't see how I can correctly navigate to a different URL.  Can you provide any guidance please?  Thanks!

You can use the DataAdapterMixin which does the same thing already. When the session is invalidated, the ApplicationRouteMixin's sessionInvalidated method will be called which by default reboots (reloads) the application.

@marcoow well, that was stupidly simple!  Don't know how I missed that.  Thanks for the nudge!

@marcoow But even doing reload of the application the error 401 keeps appearing in browsers or in the monitoring tool (Rollbar, Airbrake and etc) how to prevent this error from being leaked to the browser?
Ember Data Request GET https://gateway-api.example.com/app/merchant/processors returned a 401 Payload (Empty Content-Type) [object Object]


Gradient of jnp.linalg.eigvals raises NotImplementedError about eigenvectors

Description
Hey,
Im trying to calculate a hessian. Within my function im calculating some eigenvalues using jnp.linalg.eigvals(). This raises the mentioned error. "NotImplementedError: The derivatives of eigenvectors are not implemented, only eigenvalues. See https://github.com/google/jax/issues/2748 for discussion."
However the eigenvector calculation is turned off within the eigvals() function. So Im not sure whats going on. The issue pointed out in the error message is 4 years old and mainly concerned with the eigenvectors.
I am using jax 0.4.31.
Does anyone know whats going on here?
System info (python version, jaxlib version, accelerator, etc.)
jax:    0.4.31
jaxlib: 0.4.31
numpy:  1.26.0
python: 3.11.7 | packaged by conda-forge | (main, Dec 23 2023, 14:43:09) [GCC 12.3.0]
jax.devices (1 total, 1 local): [CpuDevice(id=0)]
process_count: 1
platform: uname_result(system='Linux', node='Name', release='<IP_ADDRESS>-microsoft-standard-WSL2', version='#1 SMP Fri Mar 29 23:14:13 UTC 2024', machine='x86_64')

Hi - thanks for the question! The issue is that gradients of eigenvectors and eigenvalues for non-symmetric inputs is poorly defined, mainly due to degeneracies in the output if I recall the discussion correctly. So despite the issue being 4 years old, the issue still remains.

Hello @jakevdp,
thanks that clears it up. Sadly my input matrix is generally not symmetric.
To avoid any future confusion I'd suggest to that the error message should be changed. Because "not implemented" and "not clearly defined" are different things.
And its confusing that the error message only speaks of eigenvectors when one is trying only to get eigenvalues.

Hey, sorry I was just looking at this further, and it seems that nonsymmetric eigenvalues should differentiate without any issues. For example:
import jax
import jax.numpy as jnp

def f(x):
  return abs(jnp.linalg.eigvals(x)).max()

x = jnp.arange(9.0).reshape(3, 3)

print(jax.grad(f)(x))

[[0.07645979 0.234708   0.39295638]
 [0.09862533 0.3027494  0.50687367]
 [0.12079085 0.37079072 0.62079084]]

Can you provide an example of code that leads to the behavior you describe?

Ah thats weird. Your example works for me as well.
When recreating the error I realized that this issue only arises when calculating the hessian. The gradient actually works fine.
If In your example you do jax.grad(jax.grad(f))(x) you'll get the error. (at least I get it)
"NotImplementedError: The derivatives of eigenvectors are not implemented, only eigenvalues. See https://github.com/google/jax/issues/2748 for discussion."

Ah, I see - it's becuase the jvp rule for eig always computes the eigenvectors: https://github.com/jax-ml/jax/blob/ebac2e44219a40862a9798484da1662d6800a1e9/jax/_src/lax/linalg.py#L774
The result is that if you differentiate twice, you hit grad-of-eigenvectors, which leads to this error.
So I think the resolution here is that we only support first-order gradients with respect to eigenvectors, unfortunately.

Alright, thank you very much.


Replace CastLike by Cast in Decompose pass

Replace CastLike by Cast in Decompose pass so that there is no need of shape inference and lowering for CastLike.

Jenkins Linux s390x Build #14094 [push] Replace CastLike by Cast... started at 09:18

Jenkins Linux amd64 Build #14067 [push] Replace CastLike by Cast... started at 08:18

Jenkins Linux ppc64le Build #13091 [push] Replace CastLike by Cast... started at 09:28

Jenkins Linux amd64 Build #14067 [push] Replace CastLike by Cast... failed after 1 hr 19 min

Jenkins Linux s390x Build #14094 [push] Replace CastLike by Cast... passed after 1 hr 22 min

Jenkins Linux ppc64le Build #13091 [push] Replace CastLike by Cast... passed after 1 hr 49 min


How to get draft to recognize a new pack

Followed the below instructions:
$ cd $(draft home)/packs
$ mkdir python
$ cd python
$ helm create chart
Creating chart
$ echo "FROM python" > Dockerfile

But when I do draft create --pack python it cannot find the pack.
I've also played with draft pack-repo add … but it either says "existing repo" or "cannot determine vcs".
How do I get started with my own packs?

For this draft version, Windows 10:
&version.Version{SemVer:"v0.16.0", GitCommit:"5433afea1421810ae9d828631d8651de913b347a", GitTreeState:"dirty"}

The solution is (for best results):
$ cd $(draft home)/packs
$ mkdir foo.com
$ cd foo.com
$ mkdir packs
$ cd packs
$ helm create python
Creating chart
$ cd python
$ move Chart.yaml charts/
$ echo "FROM python" > Dockerfile

Packs are ignored unless they are under a directory named packs. So minimally you have to mkdir $(draft home)/packs/packs
helm creates Chart.yaml in python\Chart.yaml but draft wants it in python\charts\Chart.yaml.  Odd thing that on draft create draft puts it where helm wants it (above charts) as helm would have created it.


New release?

Hi, great package! I see there are quite some differences between the code in master and the latest release on pypi. Any idea when the next release will happen? Thanks.

Great idea, thanks for the reminder. Will tackle it in upcoming days.

Are there any ETA for the new release? I would love to use the latest features from master


Windows Phone / IE block popup

I'm trying to make work FB login on Windows Phone but popup is blocked. Is possible open FB login in the same window instead use a popup using your module?
Regards,
Miguel

I am using Nokia Lumia 925 Windows 8.1
but when i login my office wifi then mobile shows me Popups blocked
i wan block popups option but i cant found this option in all mobile setting
please tell me how to block popups option.


Coerce values that pass through our getters

This puts the use defined coercions between the user and field data at all points in our API – historically we only coercing field values that are accessed via #method_missing.

Should fix https://github.com/contentful/contentful_model/issues/50

Looks good!
Running specs locally, then merging.

Merging


Tabs component causes white screens on Android

Short description of the problem:
Whenever running an app that has a tabs component on android devices it causes a white screen. No exception are seen in logs and it works fine in chrome.
Steps to reproduce:

Either use tabs starter or add a tabs component to any starter

Other information:
Tried on Android 6.0.1, 5.1, and Android N dev preview. Same results on all.
Which Ionic Version? 2.x
Run ionic info from terminal/cmd prompt: (paste output below)
Cordova CLI: 6.0.0
Gulp version:  CLI version 3.9.1
Gulp local:   Local version 3.9.1
Ionic Framework Version: 2.0.0-beta.4
Ionic CLI Version: 2.0.0-beta.24
Ionic App Lib Version: 2.0.0-beta.14
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Mac OS X Yosemite
Node Version: v5.8.0
Xcode version: Xcode 7.2.1 Build version 7C1002

Same here!
Your system information:

Cordova CLI: 6.1.1
Ionic Version: 2.0.0-beta.4
Ionic CLI Version: 2.0.0-beta.23
Ionic App Lib Version: 2.0.0-beta.13
ios-deploy version: 1.8.5
ios-sim version: 5.0.8
OS: Mac OS X El Capitan
Node Version: v4.3.0
Xcode version: Xcode 7.3 Build version 7D175

@ZiFFeL1992 Do you have this code in your app, and if you comment it out does the app work:
    platform.ready().then(() => {
      // Okay, so the platform is ready and our plugins are available.
      // Here you can do any higher level native things you might need.
    });

Hello @brandyscarney !
Plugins are loading fine, but the tabs.js is not been called, I tried to console.log() inside the constructor but I can't see the log in the console.
This is also happening on iOS.

Same issue here, when trying to deploy on android, chrome is working fine :
Gulp version:  CLI version 3.9.0 Gulp local:   Local version 3.9.1 Ionic Framework Version: 2.0.0-beta.4 Ionic CLI Version: 2.0.0-beta.24 Ionic App Lib Version: 2.0.0-beta.14 ios-deploy version: Not installed ios-sim version: Not installed OS: Mac OS X El Capitan Node Version: v5.10.1 Xcode version: Not installed

Looks like NgZone wasn't running after cordova's deviceready event fired. Should be fixed in the next release. Thanks for the help!


Fix: GeoTiffProvider avoid TagExtender recursion.

In this pull request it is visible that the TagExtender recursively calls it self
https://github.com/Mapsui/Mapsui/actions/runs/9618748477/job/26533287346?pr=2603
By setting the _parentExtender to null if it is the TagExtender I avoid this recursion

closing this pull request recreating it


[Bug] Incorrect password attempts displayed in plain text in error log

Describe the bug
When attempting to login to the admin page, when an error occurs the password is stored in the logs in plain text.
To Reproduce
Steps to reproduce the behaviour:

Install FOSSBilling 0.2.4 stable
Setup web server for a FQDM but browse to the admin interface using IP (not sure this is required).
Attempt to login with incorrect password and receive an "Unauthorized" model error.
See admin username, password and client IP stored in plain text in the log file @ data/log/php_error.log

Expected behaviour
Password not to be visible, or at least starred *********
Screenshots
[21-Dec-2022 00:52:35 UTC] Check your login details 403
[21-Dec-2022 00:53:36 UTC] An exception has been thrown. Stacktrace:
[21-Dec-2022 00:53:36 UTC] /modules/Staff/Service.php:53 - __construct(Check your login details, , )
/modules/Staff/Api/Guest.php:98 -<EMAIL_ADDRESS>PASSWORD IN PLAIN TEXT, CLIENT_IP)
/library/Api/Handler.php:116 - login()
/modules/Api/Controller/Client.php:186 - __call(staff_login, )
/modules/Api/Controller/Client.php:92 - _apiCall(guest, staff_login, )
/modules/Api/Controller/Client.php:83 - tryCall(guest, staff_login, )
NO_FILE:NO_LINE - post_method(, guest, staff, login)
/library/Box/App.php:217 - invokeArgs(, )
/library/Box/App.php:370 - executeShared(Box\Mod\Api\Controller\Client, post_method, )
/library/Box/App.php:158 - processRequest()
/index.php:30 - run()
Additional context
I understand that in the steps above I am using an incorrect password, but what if that incorrect password is just 1 char off the correct password, or what if the correct password is logged when a different error occurs?
I believe that in no circumstance should an admin password be saved to a file in plain text.

Can confirm the issue.
@John-S4  if you enter the correct password but a wrong email it still logs the correct password. But not the correct combination.
Even then we have addressed this issue via PR #618

Please ensure that you have debug mode set to off and the issue should have been solved by #618


Enable serialized_reader read specific Page by passing row ranges.

Which issue does this PR close?
Closes #1976.
Rationale for this change
Part support #1792
if we use page index get row ranges like below, get row_ranges
        //filter `x < 11`
        let filter =
            |page: &PageIndex<i32>| page.max.as_ref().map(|&x| x < 11).unwrap_or(false);

        let mask = index.indexes.iter().map(filter).collect::<Vec<_>>();

        let row_ranges = compute_row_ranges(&mask, locations, total_rows).unwrap();

we can pass the row_ranges to new API  to read parquet file(datafusion use this way but without row_ranges)
fn get_record_reader_by_columns_and_row_ranges(
        &mut self,
        mask: ProjectionMask,
        row_ranges: &RowRanges,
        batch_size: usize,
    ) -> Result<ParquetRecordBatchReader> {

What changes are included in this PR?

One example: if we read  col1, col2  and apply filter get the result we need read row_ranges[20, 80],
For col1:
we need all data from page1, page2, page3.
For col2:
after this PR, we will filter  page2 and keep page0, page1
as for page1: need all data
as for page0: we need part of its row_range(need row align TODO)
 * rows   col1   col2   col3
 *      ┌──────┬──────┬──────┐
 *   0  │  p0  │      │      │
 *      ╞══════╡  p0  │  p0  │
 *  20  │ p1(X)│------│------│
 *      ╞══════╪══════╡      │
 *  40  │ p2(X)│      │------│
 *      ╞══════╡ p1(X)╞══════╡
 *  60  │ p3(X)│      │------│
 *      ╞══════╪══════╡      │
 *  80  │  p4  │      │  p1  │
 *      ╞══════╡  p2  │      │
 * 100  │  p5  │      │      │
 *      └──────┴──────┴──────┘
 *

Are there any user-facing changes?

I'm confused about the design of the new API described above
fn get_record_reader_by_columns_and_row_ranges(
        &mut self,
        mask: ProjectionMask,
        row_ranges: &RowRanges,
        batch_size: usize,
    ) -> Result<ParquetRecordBatchReader> {

I think column index reader should be a function for parquet reader or parquet-rs, any one who call the parquet reader should get the benefit from this optimization with a filter.
From your implementation, I find user need to call the lower api and use the column index to calculate the ranges.  If so, Any user who want to use the column index of the parquet should add complex custom logic to fit this lower interface.
What is your option?
@sunchao  @tustvold @viirya

Yes, I think the row ranges are internal to parquet-rs and should be calculated during the predicate pushdown.

I've had a quick review, unfortunately I think this is missing a key detail. In particular the arrow writer must read the same records from each of its columns. As written this simply skips reading pruned pages from columns. There is no relationship between the page boundaries across columns within a parquet, and therefore this will return different rows for each of the columns.

Thanks @tustvold, your are right. Maybe I made the title confusing😭. as you mentioned in  [#1791 (review)]. (https://github.com/apache/arrow-rs/pull/1791#pullrequestreview-996352857):

Pass row selection down to RecordReader
Add a skip_next_page to PageReader
Add a skip_values to ColumnValueDecoder

This pr is only about the skip_next_page part, we will only return the needed page metadata in iterator. As make the  same records from each of its columns (row align), i prefer support in next pr. I prefer to separate them to avoid huge PR and conflict. If you prefer to combine them, I will make this in progress and keep developing.

As described in #1791 (review), you will need to extract the row selection in addition to the page selection, and push this into RecordReader and ColumnValueDecoder. This will also make the API clearer, as we aren't going behind their back and skipping pages at the block-level
As above, need pass the row_ranges to ColumnValueReader in future.

I think small incremental PRs is a good approach. However, I have concerns with this specific PR:

It introduces public APIs that don't have clear semantics (the skipped rows are somewhat arbitrary)
I would prefer an approach that collocates the page and row skipping logic, instead of treating them as separate concerns. Once RecordReader is skipping rows it will be incredibly confusing if pages are being skipped somewhere else in addition

I wonder if a plan of attack akin to the following might work:

Add a skip page function to SerializedPageReader that uses the column index to skip the next page without reading it (we may need to change it to take ChunkReader instead of Read)
Same as the above for InMemoryPageReader
Add the ability to skip decoding rows to ColumnValueDecoder
Pass index and row selection down to RecordReader
Perform skipping

Currently it feels like we're adding the high-level functionality before the necessary lower level functionality exists...

I got worried about where should i pass the column index info

Give me a day or so and I'll get a PR up with some stuff stubbed out, I think this exercise will help us both :smile:

Marking as a draft, as I think the approach in #1998 is what we will take forward

@Ted-Jiang Can this be closed now?


CertificateCredential calculates thumbprint

AAD requires a certificate's private key and thumbprint for authentication. The only certificate information CertificateCredential takes is a path to a PEM file. With this PR, it requires that file to contain the certificate and its private key, and takes a direct dependency on cryptography to parse the file and calculate the thumbprint.

Can one of the admins verify this patch?

/azp run azure-sdk-for-python - client


Make corrections in Raytune MR-gRPC demo example notebook

Description

Make corrections in Raytune MR gRPC demo example notebook
How Has This Been Tested?

Manually tested - demo recording
Merge criteria:

[ ] The commits are squashed in a cohesive manner and have meaningful messages.
[ ] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[ ] The developer has manually tested the changes and verified that the changes work

Could you add the MinIO deployment that you've used, I think it would be useful as an example on how to deploy a local S3.

Hey @astefanutti,
Do you mean to add minio-deployment file in hpo-raytune directory as a sample and to mention steps performed in readme for deploying it ?

Could you add the MinIO deployment that you've used, I think it would be useful as an example on how to deploy a local S3.

Hey @astefanutti, Do you mean to add minio-deployment.yaml file in hpo-raytune directory as a sample and to mention steps performed in readme for deploying it ?

Yes, exactly, and mentioning somewhere in the doc that it's an option for users if they don't have S3 storage readily available.

/lgtm

@abhijeet-dhumal is the PR ready for merge?


Now it is possible to use msgpack instead of JSON

Now it is possible to use msgpack instead of JSON. To do this call postRobot.enableMsgpack(window) from both sides. You need to check version of post-robot by yourself.


404 in parsley remote documentation

The parsley remote documentation starts with a link to http://parsleyjs.org/doc/annotated-source/main.remote.html which is a 404.
Is remote now included in parsley? If I remember correctly, it was an external JS to include after parsley. How do I use it now?

Indeed. Fixed. remote is now builtin.

Thanks for the report


Add SYCL extension: Mechanism for automatic calls to require() for placeholder accessors

This is an initial (experimental!) implementation of a SYCL extension that allows to require() placeholder accessors automatically, as seen in the following example:

cl::sycl::queue q;
cl::sycl::buffer<int, 1> buff{/* Initialize somehow */};
cl::sycl::accessor<int, 1, cl::sycl::access::mode::read_write,
      cl::sycl::access::target::global_buffer, cl::sycl::access::placeholder::true_t> acc{buff};

// This will call handler::require(acc) for each command group subsequently
// launched in the queue, until the `automatic_requirement` object is destroyed
// or `automatic_requirement.release()` is called.
auto automatic_requirement = cl::sycl::vendor::hipsycl::automatic_require(q, acc);
// The member function `is_required()` can be used to check if
// if the automatic requirement object is active:
assert(automatic_requirement.is_required());

q.submit([&] (cl::sycl::handler& cgh) {
  // No call to require() is necessary here!
  cgh.parallel_for<class kernel1>([=] (cl::sycl::item<1> idx){
    /* use acc according to the requested access mode here */
  });
});

q.submit([&] (cl::sycl::handler& cgh) {
  cgh.parallel_for<class kernel2>([=] (cl::sycl::item<1> idx){
    /* use acc according to the requested access mode here */
  });
});

// After release(), acc will not be required anymore by kernels submitted to the queue
// afterwards.
automatic_requirement.release();
assert(!automatic_requirement.is_required());

/* Kernel submissions that do not need acc could go here */

// acc will now be required again
automatic_requirement.reacquire();

q.submit([&] (cl::sycl::handler& cgh) {
  cgh.parallel_for<class kernel3>([=] (cl::sycl::item<1> idx){
    /* use acc according to the requested access mode here */
  });
});

// If the automatic_requirement object goes out of scope, it will release the auto requirement
// if it is active.

This extension is always activated. The macro HIPSYCL_NO_EXT_AUTO_PLACEHOLDER_REQUIRE is defined if the given hipSYCL version supports this extension.
This extension serves two purposes:

Avoid having to call require() again and again if we want to use the same accessor in many subsequent kernels. This can lead to a significant reduction of boilerplate code.
Simplify code when working with SYCL libraries that accept lambda functions or function objects. Imagine there's a sort() function in a SYCL library and you want to pass a comparator to that function. Currently, there's no easy way to access some independent data in that comparator because accessors must be requested in the command group handler. This would not be possible in that case since the command group would be spawned internally by sort, and the user has no means of accessing it.

Note that, with this extension, you could potentially end up with lots of command groups that have no content except for the kernel launch. This offers the opportunity for some additional removal of boilerplate code, i.e. we could introduce some shortcut for kernel launch like so:
// q,acc are queue/accessor
auto automatic_requirement = cl::sycl::automatic_require(q, acc);

q.submit_parallel_for<class kernel3>([=] (cl::sycl::item<1> idx){
   ...
});

where submit_parallel_for() would call submit() with just the kernel launch inside.
PS: I've added a test case for the extension, however the unit tests now seem to be affected by issue #49. I've also noticed that when compiling with clang, right after the statement acc[0]=1 has executed in line 1004, actually acc[0]==2. I've verified this both with printf and by copying back to host and checking there. This looks like another wtf-class clang bug to me.
When moving the test case out of unit_tests.cpp in its dedicated file without other tests, both problems disappear and things work (which again indicates some invalid state, potentially in CUDA), although at the end of the test issue #47 manifests itself. Finally, I can reproduce that problem as well in its full glory :)

Fixed remaining issues, and now using convention of having extension functions residing in cl::sycl::vendor::hipsycl. Should now be ready for merging.


logspout didn't handle service restarts correctly

I have a timer that restarts each service nightly. I noticed though that logspout on one host didn't seem to properly reattach when the services restarted. I tried reproducing just now and cannot. I figured I'd post here just incase it struck someone as "obvious".
Here are the logspout logs from startup to the service restarts at midnight. Notice the "attach:  finished" for each service that got stopped/started with fleet at that time.
Nov 17 21:58:54 ip-10-21-152-196.eu-central-1.compute.internal systemd[1]: Started deis-logspout.
Nov 17 21:58:54 ip-10-21-152-196.eu-central-1.compute.internal sh[31144]: 2015/11/17 21:58:54 attach: 2164d3e91124 deis-logspout success
Nov 17 21:58:54 ip-10-21-152-196.eu-central-1.compute.internal sh[31144]: 2015/11/17 21:58:54 attach: 5762afd18e92 emergency-fake-emergency-api_v1.cmd.0 success
Nov 17 21:58:54 ip-10-21-152-196.eu-central-1.compute.internal sh[31144]: 2015/11/17 21:58:54 attach: b25d4608ed43 emergency-fake-emergency-processor_v1.cmd.0 success
Nov 17 21:58:54 ip-10-21-152-196.eu-central-1.compute.internal sh[31144]: 2015/11/17 21:58:54 attach: 27dea00f7ac7 registration-eu-demo-api_v1.cmd.0 success
Nov 17 21:58:54 ip-10-21-152-196.eu-central-1.compute.internal sh[31144]: 2015/11/17 21:58:54 attach: cb8c7d0a2307 feature-services-api-prod_v4.cmd.2 success
Nov 17 21:58:54 ip-10-21-152-196.eu-central-1.compute.internal sh[31144]: 2015/11/17 21:58:54 attach: d1445b3d5bc9 feature-services-api-prod_v4.cmd.1 success
Nov 17 21:58:54 ip-10-21-152-196.eu-central-1.compute.internal sh[31144]: 2015/11/17 21:58:54 attach: ed33837f28f2 event-tracking-eu-demo-api_v1.cmd.0 success
Nov 17 21:58:54 ip-10-21-152-196.eu-central-1.compute.internal sh[31144]: 2015/11/17 21:58:54 attach: 0cbafaa039db dd-agent success
Nov 17 21:58:54 ip-10-21-152-196.eu-central-1.compute.internal sh[31144]: 2015/11/17 21:58:54 attach: 6b6193f83ef8 deis-router success
Nov 17 21:58:54 ip-10-21-152-196.eu-central-1.compute.internal sh[31144]: 2015/11/17 21:58:54 attach: e75c3ce57a58 deis-publisher success
Nov 17 21:58:54 ip-10-21-152-196.eu-central-1.compute.internal sh[31144]: 2015/11/17 21:58:54 etcd: http://<IP_ADDRESS>:4001
Nov 17 21:58:54 ip-10-21-152-196.eu-central-1.compute.internal sh[31144]: 2015/11/17 21:58:54 routing all to udp://<IP_ADDRESS>:514
Nov 17 21:58:54 ip-10-21-152-196.eu-central-1.compute.internal sh[31144]: 2015/11/17 21:58:54 loading and persisting routes in /tmp
Nov 17 21:58:54 ip-10-21-152-196.eu-central-1.compute.internal sh[31144]: 2015/11/17 21:58:54 logspout serving http on :8000
Nov 18 00:00:21 ip-10-21-152-196.eu-central-1.compute.internal sh[31144]: 2015/11/18 00:00:21 attach: 5762afd18e92 finished
Nov 18 00:00:31 ip-10-21-152-196.eu-central-1.compute.internal sh[31144]: 2015/11/18 00:00:31 attach: b25d4608ed43 finished
Nov 18 00:00:41 ip-10-21-152-196.eu-central-1.compute.internal sh[31144]: 2015/11/18 00:00:41 attach: ed33837f28f2 finished
Nov 18 00:01:01 ip-10-21-152-196.eu-central-1.compute.internal sh[31144]: 2015/11/18 00:01:01 attach: d1445b3d5bc9 finished
Nov 18 00:01:11 ip-10-21-152-196.eu-central-1.compute.internal sh[31144]: 2015/11/18 00:01:11 attach: cb8c7d0a2307 finished
Nov 18 00:02:01 ip-10-21-152-196.eu-central-1.compute.internal sh[31144]: 2015/11/18 00:02:01 attach: 27dea00f7ac7 finished

Here's what happened when I tried to reproduce, which seems like the expected behavior:
Nov 18 17:36:38 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:36:38 attach: 1157e5bf9d38 deis-logspout success
Nov 18 17:36:38 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:36:38 attach: d41926e158bd event-tracking-eu-demo-api_v1.cmd.0 success
Nov 18 17:36:38 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:36:38 attach: d0bd8af982f1 emergency-fake-emergency-processor_v1.cmd.0 success
Nov 18 17:36:38 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:36:38 attach: d83f94aa6a91 emergency-fake-emergency-api_v1.cmd.0 success
Nov 18 17:36:38 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:36:38 attach: 7320eb701048 registration-eu-demo-api_v1.cmd.0 success
Nov 18 17:36:38 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:36:38 attach: 012b5c82e6c2 feature-services-api-prod_v4.cmd.2 success
Nov 18 17:36:38 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:36:38 attach: dd288767d9fc feature-services-api-prod_v4.cmd.1 success
Nov 18 17:36:38 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:36:38 attach: 0cbafaa039db dd-agent success
Nov 18 17:36:38 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:36:38 attach: 6b6193f83ef8 deis-router success
Nov 18 17:36:38 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:36:38 attach: e75c3ce57a58 deis-publisher success
Nov 18 17:36:38 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:36:38 etcd: http://<IP_ADDRESS>:4001
Nov 18 17:36:38 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:36:38 routing all to udp://<IP_ADDRESS>:514
Nov 18 17:36:38 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:36:38 loading and persisting routes in /tmp
Nov 18 17:36:38 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:36:38 logspout serving http on :8000
Nov 18 17:40:48 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:40:48 event: d0bd8af982f1 kill
Nov 18 17:40:49 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:40:49 event: d0bd8af982f1 die
Nov 18 17:40:49 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:40:49 attach: d0bd8af982f1 finished
Nov 18 17:40:49 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:40:49 event: d0bd8af982f1 destroy
Nov 18 17:41:10 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:41:10 event: vertx/vertx3 pull
Nov 18 17:41:10 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:41:10 event: 88e5e63500b2 create
Nov 18 17:41:10 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:41:10 event: 88e5e63500b2 attach
Nov 18 17:41:10 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:41:10 event: 88e5e63500b2 start
Nov 18 17:41:10 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:41:10 attach: 88e5e63500b2 emergency-fake-emergency-processor_v1.cmd.0 success
Nov 18 17:41:10 ip-10-21-152-196.eu-central-1.compute.internal sh[25161]: 2015/11/18 17:41:10 event: 88e5e63500b2 attach

I'm running 1.12.1

I haven't seen this before.  With older versions of Deis, I have witnessed logspout not attaching to containers after some period of time when a deadlock has occurred.  That was fixed long ago.  This looks as if it successfully attached and then detached.
If it can't be deterministically replicated, the most I can do for the moment is keep an eye out for this.
Thank you for reporting it.  If it happens again, please pass along more logs.

This is not something we'll be able to get to for the LTS release (#4776) and the architecture in deis v2 has dramatically changed such that this is no longer relevant so I'm closing this.


[IOPAY-146] error from nodo pagoPa responses + mixpanel events

This PR add the capability to manage the following semantic errors, related to verify and activation phase with pagopa-proxy:

PAYMENT_DUPLICATED
INVALID_AMOUNT
PAYMENT_ONGOING
PAYMENT_EXPIRED
PAYMENT_UNAVAILABLE
PAYMENT_UNKNOWN

and mixpanel events
List of Changes

Update response.ts to manage error internal response
add custom modal call on error response from pagopa-proxy
add mixpanel.track event in to verify, activation and get payment with pagopa-proxy

Motivation and Context
To show a specific errore message to user as "Avviso già pagato"
See here to details IOPAY-146
Add mixpanel event , see IOPAY-170

How Has This Been Tested?

Manual test

Run local io-functions-pay-portal typing yarn start
Run local io-mock typing

with custom and modify io-pagopa-node-mock ( using docker-compose.override.yml to do it )

Send a GET http://localhost:7071/api/v1/payment-requests/77234567891010001234567890123

To verify mixpanel event add IO_PAY_PORTAL_ENV=develop before starting frontend as follow :
IO_PAY_PORTAL_ENV=develop yarn dev:proxy
in this way al mixpanel.track call are mock on console.log and could be inspect by devtools
Screenshots (if appropriate):
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 not work as expected)

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

There are some conflict, to rebase and resolve conflict @pasqualespica

There are some conflicts, to rebase and resolve conflict @pasqualespica

tnx , done


Keep Linked Files as an Include

Compile Includes with a Link are usually from an other directory, so they have to end as an Include and not as an Update.
fixes #128

I didn't want to add those two commits to this pull request. I'll try to fix this.

Nice one, thanks!


Dialogue with right mouseclick not avaiable

"Compare Selected(Hexdiff)" is just not shown with right mouseclick on the file. Whatever i try, the menupoint is not visible. Intel Mac / Newest VSC / hexdiff enabled

you should select two files in file list, not open editors list.

Same here:

Or do I misundersand you?

Now I got it! With Mac it's shift + file 1 +file 2, then right click.
May I suggest a supershort instruction in the readme?

I think this issue should be re-opened.
Opened files are not always available in workspace files list.


function for creating shortcuts

Summary of the new feature / enhancement
Right now there is only a long way to create function:
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("some.lnk")
$Shortcut.TargetPath = "some.exe"
$Shortcut.Arguments = "enable"
$Shortcut.Save()

It will be nice if there a shorter one-line powershell function for creating shortcuts. like Create-Shortcut -Where C:\link.lnk -Target some.exe -Arguments some-arg
Proposed technical implementation details (optional)
No response

This feels like something the community can create and publish on PSGallery.

https://www.powershellgallery.com/packages/DSCR_Shortcut/2.2.0
This looks like a good library – it's mainly designed for DSC, but you can just use it as a standard module and use the exported functions.

Not stale.


Vive Focus 3 Support

Describe the bug
The passthrough doesn't work on the Example Project with a Vive Focus 3
LOG
LogSteamVRPassthrough: Initializing SteamVR camera passthrough.
LogSteamVRPassthrough: Warning: CameraFrameSize error [100] on device Id 0
LogSteamVRPassthrough: Warning: Error enabling passthrough video!
LogSteamVRPassthrough: Warning: GetTrackedCameraEyePoses error [4]

To Reproduce
Steps to reproduce the behavior:

Connect the Vive Focus 3 via Vive Business Streaming
Make sure SteamVR is on
Launch the VR Preview on UE 4.27

Expected behavior
Passthrough working on the orb or via PP Material
Desktop (please complete the following information):

OS: Windows 10
Unreal 4.27
Project Passthrough Example
Vive Focus 3

Additional context
I see that the function EnableVideo return false, Same for the function "Has Camera"
Thank you

Unfortunately I don't think the Vive Focus provides access to the camera. Does it work with the SteamVR room view?

Yes, this view ?

After digging a little, I found this topic : https://forum.htc.com/topic/12743-updatewave-450-demonstration-on-how-to-use-wave-passthrough-underlayoverlay-apis/
Maybe it can help ?

I mean the passthrough feature in the SteamVR compositor. If it is available, the SteamVR settings will have something like this available:

According to that link though, HTC does not provide access to the actual passthrough images, which means this passthrough plugin will not work.

Hello, I confirm that I do not have access to the "Camera" setting
On the link given, it is indicated that the API is indeed available for the vive 3, but that nothing is exposed directly blueprint (see https://forum.htc.com/topic/12743-updatewave-450-demonstration-on-how-to-use-wave-passthrough-underlayoverlay-apis/?do=findComment&comment=48137 )
Moreover, a Unity project is provided as an example ( https://github.com/hardcoded2/WavePassthroughOverlayExample ) .
Thanks again for your time!

Thanks for checking it. Unfortunately the Wave API is runtime composition based, which is out of scope for this plugin. The plugin is built around the idea of compositing the camera output directly in the application, as SteamVR does not support runtime based composition.
According to the documentation the Wave SDK does have a blueprint function library with the passthrough functions:
https://hub.vive.com/storage/app/doc/en-us/UnrealPlugin/UnrealDocBlueprintFunctionLibrary.html
There also seems to be a plugin available for the Vive OpenXR extensions:
https://developer.vive.com/resources/openxr/openxr-mobile/overview/
Note that neither of these seem to support PCVR applications. Likely the Focus 3 itself only supports passthrough with mobile applications.
Closing this issue, as it's out of scope.


user schema changes closes #7

update userRole in userUpdate to use role enum
UserListResponse class - removed redundancies
more specific errorResponse
2 new tests

test user update with optional fields

login with incorrect email format


Elements must have sufficient color contrast

Please see suggested updates for this issue in a comment below
Some of the patternfly-next component/utility demo pages exhibit this issue. To run the a11y reporter locally and see these issues in action either use npm scripts by following the steps below or install the axe browser extension and test individual pages manually. There's Firefox flavors out there of the axe extension if that's more your style.

install latest chromedriver and ensure its available on your system $PATH
alternatively, macOS users can simply brew cask install chromedriver
run npm run dev
run npm run a11y

Details related to this accessibility violation can be found here: https://dequeuniversity.com/rules/axe/3.0/color-contrast
Below are the URLs that illustrate the problem as of today:

/components/NavSystem/examples-full/ This issue is now captured in #978
/demos/PageLayout/examples-full/ This is now a component:

/components/Page/examples/

/layouts/Page/examples-full/ This issue is now captured in #725

Our accessibility audit considers this issue: serious
Related to https://github.com/patternfly/patternfly-next/issues/541
To learn more about how to build and test locally, check out: https://github.com/patternfly/patternfly-next#testing-for-accessibility
@mceledonia is the visual design contact that would be able to help with answers regarding colors and color contrast.
As part of this issue, please complete the following items. These will help reviewers know what issues were addressed in the PR, and also will help us keep our total a11y violation count down.

Run the a11y audit, copy the issues from the audit that were fixed in the PR, and paste them into the PR description.

Instructions for running the audit are here: https://github.com/patternfly/patternfly-next#testing-for-accessibility
Issues that are returned in the terminal look like this. Find the issues you are addressing and copy the following information provided for them or take a screencap to include in the PR.1 error found in: /upgrade-examples/AlertUpgradeExamples/examples-full/

1) Buttons must have discernible text -- https://dequeuniversity.com/rules/axe/3.1/button-name -- impact: critical

-------html violation instances-------

<button class="btn btn-link dropdown-toggle" type="button" id="dropdownKebabRight" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">

</button>

Reduce the threshold by number of issues being addressed

This update is made here
The new value should be derived by:

subtracting the number of issues you are addressing in the PR (e.g. the line that looks like this in the info you copied from the audit report in item 1 above):
5 errors found in: /components/Toolbar/examples-full/
from current violations (e.g. this line in the audit report, near the end):
20 violations in total

This link shows the issue clearly:  https://webaim.org/resources/contrastchecker/?fcolor=007bba&bcolor=f5f5f5

Is this still an open issue? Last I understood, this might have been addressed. @dabeng @seanforyou23

@LHinson yes this is still an issue. Last I check there are color contrast issues in the following paths
/components/NavSystem/examples-full/
/demos/PageLayout/examples-full/
/layouts/Page/examples-full/

Created issue https://github.com/patternfly/patternfly-next/issues/725 to capture updates needed for /layouts/Page/examples-full/

@kybaker @mceledonia
I was chatting with the CSS army about how we can make the Page component accessible when it isn't combined with the BackgroundImage component.
The solution we came up with was to apply a background color to the  of the page so that the default styles of the masthead toolbar section are accessible when a background image isn't present.
Current example of Page component:

Page component with background color on body:

Something to keep in mind with this is that the color we define on the  would bleed through other sections on the page as shown above.
If this isn't ideal, an alternate solution is to add a modifier class that only applies a background color to the toolbar section of the masthead.

UPDATE based on recent discussion with @kybaker and the rest of the css army...
The current page design is implemented using separate components, Page and BackgroundImage, where there are sections on the Page component that are transparent or semi-transparent so that the background image shows through.
Our goal is to support the following use cases for the Page component:

the background image fails to load
the consumer does not want to use a background image

For both cases, the color in the toolbar section of the masthead would fail color contrast check because the text color is dependent on the BackgroundImage component loading. Currently, the preferred design for when no background image is present isn't possible for use case 1, given the way the Page and BackgroundImage components are set up to work together. For this case, we can provide a fallback solution that passes the a11y check. Whereas for use case 2, we can provide an alternative design.
Updates

For use case 1, apply a background color to the  element (should be the variable equivalent of #4d5258). If the background image is present, this color isn't visible, but if the image fails to load, this color will bleed through certain sections of the Page component.
For use case 2, include a modifier class that applies a background color to the masthead elements (should be the variable equivalent of #030303). This solution requires that the consumer know that this modifier is available and to apply it. If they don't include the BackgroundImage component and don't use the modifier, the page will look as it would in use case 1.

Examples
Based on the colors mentioned above, these are screencaps of our currently busted Page component showing how the background colors would show through certain sections on the page (ignore the weird layout in the masthead).
Use case 1: background image fails to load

Use case 2: consumer doesn't want a background image and uses the modifier class

Looks like all of these issues are resolved, except for one violation in the Navigation component. I've captured the cause in https://github.com/patternfly/patternfly-next/issues/1693.
Can we close this one in favor of #1693?

Yes, thank you!


Add advanced usage options/functionality (API only)

The gdal ghost area optimisations can be disabled, and will not be
emitted for PlanarConfiguration=Separate, as it is not supported by
gdal
Each IFD may now reference only a single mask
The IFD structure is now exported and can be used to hand-craft an
expected COG from dynamic data
Encoding (little vs. big endian) is now configurable
For PlanarConfiguration=Separate files, it is possible to fine tune
the layout/interlacing of each plane's tiles and mask tiles,
supporting tile orders like r1,g1,b1,r2,g2,b2 (the default), or
r1,r2...g1,g2...b1,b2 or even r1,g1,r2,g2,...rn,gn,b1,b2

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

384 of 541 (70.98%)  changed or added relevant lines in 3 files are covered.
24 unchanged lines in 3 files lost coverage.
Overall coverage increased (+2.8%) to 54.3%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

loader.go
30
42
71.43%

field.go
23
89
25.84%

cog.go
331
410
80.73%

Files with Coverage Reduction
New Missed Lines
%

loader.go
1
70.67%

field.go
4
20.33%

cog.go
19
72.84%

Totals

Change from base Build<PHONE_NUMBER>:
2.8%

Covered Lines:
663

Relevant Lines:
1221

💛  - Coveralls


layers: LX450, Tighten up queueFamilyIndex validation, fix crash

For CreateBuffer and CreateImage the QFIs should be ignored unless
sharingMode is set to CONCURRENT.  Also added QFI validation to
CreateCommandPool and added a special case for when an index is
incorrectly set to QUEUE_FAMILY_IGNORED.
Change-Id: I17639230ea7aa58ab89b9b0dc33e55927e9f1c84

merged to master


Dependency problem and building apk

Hi!
I tried to install dependencies in a 3 ways but failed:

npm install
npm install --legacy-peer-deps
npm install --force
Eventually I installed it by npm update

but I can't create apk cuz I don't see an android folder.

I did research and your project is one of the better on github.

Thanks for the kind words.
You can try installing packages via yarn, as this is the preferred method for this project.
As for the build steps for android, this is a project done with Expo - it means that the Android folder is abstracted away and handled by Expo itself.
You can check all commands on the package.json file. To run the project on Android, you want to run "yarn start android", which should install the app and start the bundler for you.

Thanks for a reply!
I still have a problem with it, steps to reproduce:
git clone git@github.com:GSTJ/PegavaDatingApp.git
cd cd PegavaDatingApp/
yarn isntall
mv App.json app.json (Required to fix "Error: No config exists")
eas build -p android --local
(Here is warning, choosing no option:
It looks like that you are using a custom metro.config.js that does not extend @expo/metro-config.
This can result in unexpected and hard to debug issues, like missing assets in the production bundle.
We recommend you to abort, fix the metro.config.js, and try again.
Learn more on customizing Metro
✔ Would you like to abort? … no)

... // long installation

Final output:
[RUN_GRADLEW] FAILURE: Build completed with 2 failures.
[RUN_GRADLEW] 1: Task failed with an exception.
[RUN_GRADLEW] -----------
[RUN_GRADLEW] * Where:
[RUN_GRADLEW] Build file '/tmp/david/eas-build-local-nodejs/d39c1485-0ab1-446c-9baf-b690a2577422/build/node_modules/react-native-appearance/android/build.gradle' line: 23
[RUN_GRADLEW] * What went wrong:
[RUN_GRADLEW] A problem occurred evaluating project ':react-native-appearance'.
[RUN_GRADLEW] > Plugin with id 'maven' not found.
[RUN_GRADLEW] * Try:
[RUN_GRADLEW] > Run with --stacktrace option to get the stack trace.
[RUN_GRADLEW] > Run with --info or --debug option to get more log output.
[RUN_GRADLEW] > Run with --scan to get full insights.
[RUN_GRADLEW] ==============================================================================
[RUN_GRADLEW] 2: Task failed with an exception.
[RUN_GRADLEW] -----------
[RUN_GRADLEW] * What went wrong:
[RUN_GRADLEW] A problem occurred configuring project ':react-native-appearance'.
[RUN_GRADLEW] > compileSdkVersion is not specified. Please add it to build.gradle
[RUN_GRADLEW] * Try:
[RUN_GRADLEW] > Run with --stacktrace option to get the stack trace.
[RUN_GRADLEW] > Run with --info or --debug option to get more log output.
[RUN_GRADLEW] > Run with --scan to get full insights.
[RUN_GRADLEW] ==============================================================================
[RUN_GRADLEW] * Get more help at https://help.gradle.org
[RUN_GRADLEW] BUILD FAILED in 30s
[RUN_GRADLEW] Error: Gradle build failed with unknown error. See logs for the "Run gradlew" phase for more information.

Build failed
Gradle build failed with unknown error. See logs for the "Run gradlew" phase for more information.
    Error: npx exited with non-zero code: 1


The temperature parameter does not seem to work

Hi!
Code sample first:
from llama2_wrapper import LLAMA2_WRAPPER, get_prompt
from IPython.display import display, Markdown

chat_history = []

llama2_wrapper = LLAMA2_WRAPPER(
    backend_type="gptq",
)

user_input = input("You: ")
response_generator =  llama2_wrapper.run(user_input, chat_history=chat_history, max_new_tokens = 1000, temperature = 0.15, system_prompt = "")

Prompt: How was Tupac Shakur influenced by Nirvana?
Wrapper initialization output:
Running on GPU with backend torch transformers.
Model path is empty.
Use default gptq model path: ./models/Llama-2-7b-Chat-GPTQ
Model exists in ./models/Llama-2-7b-Chat-GPTQ
The safetensors archive passed at ./models/Llama-2-7b-Chat-GPTQ\model.safetensors does not contain metadata. Make sure to save your model with the `save_pretrained` method. Defaulting to 'pt' metadata.
skip module injection for FusedLlamaMLPForQuantizedModel not support integrate without triton yet.

Issue: no matter how I change the temperature parameter (changed to 0, 1, -1, 0.1 etc), it does not change the response (the prompt is just a sample: I have the same issue with any other prompt). Simplifying the code to  print(llama2_wrapper(prompt, temperature = 0.15)) also doesn't help. All other parameters work just fine.
At the same time, when I am using Llama 2 UI on Replicate and change the temperature, answers change too, and the model stops hallucinating when temperature is set to ~0.8 or less. Is this something I am doing wrong, or the parameter does not through the wrapper?
I would appreciate any advice.
Thanks!
Ilya

Any updates on this?

Nope.


Add the current and update versions to the ignored updates dialog

[x] I have read the contributing guidelines, and I agree with the Code of Conduct.
[x] Have you checked that there aren't other open pull requests for the same changes?
[x] Have you tested that the committed code can be executed without errors?
[x] This PR is not composed of garbage changes used to farm GitHub activity to enter potential Crypto AirDrops.
Any user suspected of farming GitHub activity with crypto purposes will get banned. Submitting broken code wastes the contributors' time, who have to spend their free time reviewing, fixing, and testing code that does not even compile breaks other features, or does not introduce any useful changes. I appreciate your understanding.

This pull request adds the current version of a package and, if an update is available, the available version of a package to the Ignored Updates dialog.

Closes #2957
Closes #974
Relates to #1475

The icon feels too thick, but that's just cosmetic and everything works for me. Thank you!


Googlechrome

Checklist

[X] I have checked the moderation queue that no new version has been submitted (only visible when logged in), or the submitted package version has failed the automated checks.

Please navigate to the following link to view the moderation queue.

[X] I have verified that the new version is a stable release.
[X] I have looked to see if there are any Bug reports that prevents a new version being submitted and that no existing Outdated Reports have been created.
[X] I have verified the new version has a Windows binary (EXE or MSI installer, Zip or other archive, etc).

New Software Version
120.0.6099.110
Download location
https://www.google.com/intl/en_ca/chrome/next-steps.html?statcb=1&installdataindex=empty&defaultbrowser=0#
Package Page
https://community.chocolatey.org/packages/GoogleChrome

There is a PR here: https://github.com/chocolatey-community/chocolatey-packages/pull/2369

The PR to resolve this issue has been merged, and a new version is being queued to be pushed to the Community Repository now.
If all goes well, it should become available in a few hours. Meanwhile, I'll be closing this issue now, but we can always re-open it if something goes wrong.


Make timeout error message more visible in anchor test

I've been struggling with this problem with anchor test before on a boilerplate project from anchor init --javascript.
Unable to start test validator. Check .anchor/test-ledger/test-ledger-log.txt for errors.
It turns out that it was a timeout issue. I fixed it by adding this snippet to Anchor.toml
[test]
startup_wait = 100000

I couldn't have figured it out myself if it weren't from other people. I suggest to make the error message about the timeout more apparent. Thanks 😁

Can you propose an error message which should be shown?

You can:

"Unable to start test validator. Check {} for errors. Consider increasing test.startup_wait in Anchor.toml."
Comment it out in the default template.


Avoid calling Registry#get repeatedly

There's no need to lookup the mapping in the registry for each record. Just look it up once and hold the mapping in memory.
This is a minor optimization, but it was easy and might make a difference in GC.

👍 rebase?

Rebased.


fix link to driver in readme :)

should point to: https://github.com/google/badwolf-drivers

Thanks! Fixed.


[Table] columns rendering incorrectly

Describe the bug
When rendering different tables based on state conditions, incorrect columns from previous renders intermittently in the newly rendered table.
For example, in Monitor we render a different table based on the current data item that is selected. This bug only occurs on a second re-render of the page as the first render does not have previous data to clash with.

To Reproduce
Steps to reproduce the behavior:

Go to a component using Table that renders different data based off conditional state
Force a re-render
See duplicate key warnings and possibly see an extra empty column being rendered from the previous table's state

Expected behavior
No warnings should appear and the component should only render the current table state's columns, not the previous
Environment/versions:

OS: MacOS
Browser: chrome
carbon-addons-iot-react version: 2.63.0

Additional context
Internal issue: https://github.ibm.com/wiotp/monitoring-dashboard/issues/934
Specific timeline issues / requests
Do you want this work within a specific time period? Is it related to an
upcoming release?
No specific timeline
NB: The core contributors will try to work with your timeline, but it's not
guaranteed. The earlier you make a request in advance of a desired delivery
date, the better!

Are you able to work around this by regenerating the key of the table itself when the data changes?
Are you using Table or StatefulTable - if StatefulTable, this could be a bug in the reducer.

I'll try that out. Yes this is StatefulTable

I think this will be fixed by #1470

@sstone2423 this should be fixed in v2.111.4 as we're now using unique id's by default for table components


Error in 'lastz'

Hi!
I'm trying to run make_chains.py for betta fish and human, but I had errors in the last several jobs (~90% completed) of step 'lastz'. The error is like this
NOTE: Process execute_jobs (3909) terminated with an error exit status (1) -- Execution is retried (3)
As you suggeset in other similar issues, I applied 4-round RepeatModeler and RepeatMasker for the betta fish genome and download the human genome from https://hgdownload.cse.ucsc.edu/goldenpath/hg38/bigZips/ (Which is soft-masked). I also set the --seq1_chunk 50000000 --seq2_chunk 10000000 to reduce the chunk size. But the errors still occurs.
Could you help me figure out why? In addition, is there a way to rerun the failed jobs instead of running the lastz from the beginning?
Thanks!
Hongbing

Hi Hongbing,
RepeatModeler + Masker  typically works well, but it may not catch all repetitive structures that are present in the highly-complete genome we have these days (centromers, telomers).
One idea is to further reduce the chunksize, if your cluster can handle larger job numbers.
Another trick that could help is to run WindowMasker and additionally soft-mask what WindowMasker finds. We had cases where WM better masked tandem repeats in centromers or telomers, that resulted in never-finishing lastz jobs that align the telo/centromer chunk between 2 species.
Michael

Hmm, can you pls post the % of the bases in both assemblies that are soft-masked?
You have about 10000 jobs, which is alright.
Also, you align hg38 against the fish, which should not be a problem as both species will not share similar transposons.
Is your betta fish on NCBI? Or can you send it to me?
I can only offer to run it on our system and see if that works?

I used hard-masked genome for both betta fish and human. 19.97% of betta fish genome was masked. I don't know the percentage for human genome becuase I just downloaded the masked version from UCSC.
Here are the linkes:
Human genome https://hgdownload.cse.ucsc.edu/goldenpath/hg38/bigZips/latest/hg38.fa.masked.gz
Betta fish genome https://www.ncbi.nlm.nih.gov/datasets/genome/GCF_900634795.4/
Thank you for your help!

Hard masking is not even necessary. I'll give it a try

Another note: In case you plan to use the chains for TOGA (projecting human genes to the fish), this will likely not work well. TOGA is not meant to work over such large distances.
I'll report how the chain building goes

Worked without problems for me.
85131593/427001245 = 19.9% of the fish was masked.
lastz (286 jobs) took that much time:
Time in finished jobs:       591281 sec	  9854.7 min	 164.2 h	  6.8 days
Average job time:              2067 sec	    34.5 min	   0.6 h	  0.0 days
Longest finished job:          4881 sec	    81.3 min	   1.4 h	  0.1 days
I put the chains, repeat lib, 2bit at https://genome.senckenberg.de/download/forHongbing/

Pls let me know when you downloaded everything and then close this issue.
Thx

Thank you so much! It's very helpful!
I used the 2bit file you provided to run the make_chains.py but still failed at the lastz step. Could you share the arguments you used for make_chains.py?
I'm also wondering if you used the soft-masked genome for betta fish and human. Would you mind sharing the arguments you used for RepeatModeler and RepeatMasker?
Thanks again!
Hongbing

BuildDatabase -name $assembly  $assembly.unmasked.fa
RepeatModeler -threads 16 -database $assembly
We typically use these parameters for lastz and for splitting the genome.
BLASTZ=/beegfs/software/lastz/lastz-1.04.15/lastz
BLASTZ_H=2000
BLASTZ_Y=9400
BLASTZ_L=3000
BLASTZ_K=2400
SEQ1_CHUNK=175000000
SEQ2_CHUNK=50000000
Pls check if your hg38 is masked:
twoBitToFa hg38.2bit stdout | faSize stdin
3299210039 bases (161611482 N's<PHONE_NUMBER> real<PHONE_NUMBER> upper<PHONE_NUMBER> lower) in 711 sequences in 1 files
1634446313/3299210039 = 0.495405  (about half is lower case)

I figured it out! It's the TMPDIR problem, the default tmp directory in my cluster doesn't have enought space. Have to manually specify the TMPDIR in the DEF file.
Thank you for all your help!
Hongbing

Excellent. Glad to hear.


make platforms targets publicly visible

Make targets in the platforms package publicly visible so they could be used in the attributes of other targets.
Example:
with_platform(
    name = "linux",
    platform = "@com_grail_bazel_toolchain//platforms:linux-x86_64",
    tool = ":binary",
    visibility = ["//visibility:public"],
)

Thanks for the PR!
Can you tell me a little bit more about your use case? //platforms really only exists for our own tests; I'm a bit wary to have users depend on the stuff there.
In my mind, users would either just use the auto-generated @local_config_platform//:host as their host platform (and let toolchain resolution pick the appropriate toolchain) or define their own platform when cross-compiling or doing something a bit more special.
In your example, what does with_platform do?

There are two way to do cross-compilation:

by specifying target platform with --platform option
using transition

There is a third option in rules_go, where you can specify goos/goarch attributes in go_binary, but this approach is actually based on transitions.
In my case I need to build binary for multiple platforms (darwin/linux) and publish build artifacts. I prefer doing this in a single bazel executable target without specifying --platform option on each build, thus I use transitions. A have a very simple rule for this which is called with_platform, and all this rules does is apply a target platform in the build configuration of a tool attribute, which can be any binary target.
I use this approach when build a custom gazelle gazelle_binary  for multiple platforms. This target does not support goos/goarch anymore, so I had to implement a custom transition. And I use the same transition for building go_binary with cgo for multiple platforms using the toolchains that you provide.

I'm a bit wary to have users depend on the stuff there.

In rules_go platforms are also publicly visible, and users depend on those targets. I do no see the reason why not to make your platform targets visible as well.

In rules_go platforms are also publicly visible, and users depend on those targets. I do no see the reason why not to make your platform targets visible as well.

My hesitation mostly comes from the fact that while we have a small list of supported target/host platforms at the moment, we eventually hope to support arbitrary target triples in which case we'd want to generate the platforms (as #85 does). Under that scenario it's potentially problematic to have users depend on the generated platforms since they'd be tied to the value of extra_targets that's provided (I'd hope that, for example, @llvm_toolchain//platforms:wasi only being present if wasm32-unknown-wasi is specified as an extra target is expected and reasonable behavior but I'm not sure this is the case; I think it'd be easy to accidentally assume the generated platforms are always present and to use them for things that have nothing to do with this toolchain).
That said, I see the utility in providing these and I think it makes sense to expose these platforms for now with the caveat that they may move to the generated toolchain repo in a future release (0.7+).


[TE-441] Fix context hash tree hashing

The current implementation works and is clean enough, but I think things could be abstracted a bit more by adding a Prehash trait with a prehash(self, writable) method that pushes it's own bytes into the required format into any writable (of which the hasher is, but this would work for outputting the bytes to anything).

@bkontur ok, just pushed, let me know if you see anything else that needs changing.

Once all is good I will squash into a single commit.


Duplicate card spam on "add card" in some cases.

What happened:
Created 3 lists like so

Add a card

Move card to the right using the arrow on the card

Adding a card on the left or right will duplicate the card.

depending on the amount of times the card moved through what list... it can get pretty crazy...

Interesting. Let me look into it


Add support for renaming references in moved files

jurassix/refactoring-codemods#1

refactoring-codemods has a new transform in v0.0.7 import-relative-transform that updates all relative import/require paths to be relative to the new file location.
I have bumped the lib, but now need to determine if the file has been moved out of the current directory and if so send the moved file through this transform. We may also want to only use a subset of user options passed to jscodeshift since this file could have been excluded...

WFM


Map not always centered

I'm having a little issue with Chrome Version 63.0.3239.84 on Mac OSX High Sierra.
This code does not center the map at the specified position in 7 of 10 attempts:
const MyMapComponent = compose(
  withProps({
    googleMapURL:
        "https://maps.googleapis.com/maps/api/js?key=AIzaSyAbPqco7EO004X0-68s7TNmm7hv2SiLx-c&v=3.exp&libraries=geometry,drawing,places",
    loadingElement: <div style={{ height: `100%` }} />,
    containerElement: <div style={{ height: `600px` }} />,
    mapElement: <div style={{ height: `100%` }} />
  }),
  withScriptjs,
  withGoogleMap
) (props => (
    <GoogleMap defaultZoom={18} defaultCenter={{ lat: 52.516275, lng: 13.377704 }}>

    </GoogleMap>
));

Instead, the center point is on the right outer side of the map.
The problem is not existent in Firefox and Safari on the same machine
Furthermore I'm catching a couple of warnings, also just in Chrome:
[Violation] Added non-passive event listener to a scroll-blocking 'wheel' event. Consider marking event handler as 'passive' to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952

[Violation] Added non-passive event listener to a scroll-blocking 'mousewheel' event. Consider marking event handler as 'passive' to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952

[Violation] Added non-passive event listener to a scroll-blocking 'touchstart' event. Consider marking event handler as 'passive' to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952

[Violation] Added non-passive event listener to a scroll-blocking 'touchmove' event. Consider marking event handler as 'passive' to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952

OK, I have experimented a bit with the div settings and the problem is gone
loadingElement: <div style={{ width: '100%', height: `100%` }} />,
    containerElement:
,
    mapElement:


ask

build to php or node please sir

@bondan20 Let mee see..

oke sir :D

@bondan20 Did you mean about a library with PHP or Node ?

@bondan20 Did you mean about a library with PHP or Node ?

yes sir, i want use for website, not android
:(