java.net.Socket cannot be cast to javax.net.ssl.SSLSocket

Describe the bug
I'm using this workaround to fix connection issues on devices below API 24.
https://github.com/TooTallNate/Java-WebSocket/wiki/No-such-method-error-setEndpointIdentificationAlgorithm
But I have a Firebase report showing this exception.
java.net.Socket cannot be cast to javax.net.ssl.SSLSocket
Is it possible to use a java.net.Socket rather than javax.net.ssl.SSLSocket while using wss protocol?
The device status is 100% rooted. Is it related?
Should I check the return value of connectBlocking before verifying hostname?
To Reproduce
Can't be reproduced on our side.
Example application to reproduce the issue
https://github.com/TooTallNate/Java-WebSocket/wiki/Verify-hostname-after-handshake
Expected behavior
Connect the server without exception.
Debug log
Fatal Exception: java.lang.ClassCastException: java.net.Socket cannot be cast to javax.net.ssl.SSLSocket
       at com.kimieno.sync.remote.SyncSocket.connect(SyncSocket.java:178)
       at com.kimieno.sync.handler.SyncClientHelper$3.run(SyncClientHelper.java:530)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
       at java.lang.Thread.run(Thread.java:818)

Environment(please complete the following information):

Version used: 1.5.3
Java version: Open JDK 11
Operating System and version: Android API 23

Hey,
I'm not doing anything with Android.
I would expect the socket to be a SSLSocket, but with Androids SSL implementation I guess you cannot be sure.
Not sure how I can help you there. Maybe just try to catch this case.
Best regards,
Marcel


calculateSMA errors

Hi,
first of all thank you for giving this code to public.
I have converted your code to PHP because I'm expirienced on PHP coding.
I found some issues on calculateEMA function
a) constant = (2 / (period + 1)) not used in the function, have you missed to included it on summaring variables?
b) closing_prices[-1] is underfined, do you mean closing_prices[1]?
Also I have a question about getHistoricalData function, you return historicalData['result'][-period:]
I don't actually understand in PY what you mean (minus-) period and : . I have found that is substracting a part of array, can you explain the minus?
I have "transcoded" to PHP to return return array_slice(historicalData['result'],$period);
Raw Result of historicalData['result']
Array
(
    [0] => Array
        (
            [O] => 0.051085
            [H] => 0.05120246
            [L] => 0.051005
            [C] => 0.05120246
            [V] =><PHONE_NUMBER>
            [T] => 2017-10-27T21:30:00
            [BV] => 24.42278885
        )

    [1] => Array
        (
            [O] => 0.05120201
            [H] => 0.05144221
            [L] => 0.051202
            [C] => 0.05143804
            [V] =><PHONE_NUMBER>4
            [T] => 2017-10-27T22:00:00
            [BV] => 33.28065136
        )

    [2] => Array
        (
            [O] => 0.05139
            [H] => 0.05151505
            [L] => 0.05128999
            [C] => 0.051295
            [V] =><PHONE_NUMBER>6
            [T] => 2017-10-27T22:30:00
            [BV] => 20.8108504
        )
)

great work. Would you mind sharing your PHP code? I am better at tweaking that than anything else. Thanks in advance

I have not finished the debuging. It's easy to convert it if you have some knowlegde on PHP.
Also I have not run the origianl software to compare the results becaue I don;t have Py ob my PC.
Just for the history, probably minus perido :, means return all last 9 elements, so in PHP this
return array_slice($rsp['result'],-$period);

Something goins wrong with code....
http://prntscr.com/hk8j1y
None pair is breaking out....

@zstergios Yea, the "-" when specifying an array index just means it counts backgrounds. [-1] would make it the last and [-2] would make it second to last.
In regards to the break outs, it could just be that none of the coins you added have met the requirements to trigger the breakout. You can change the variables to suit your own needs


DRILL-4906 CASE Expression with constant generates class exception

@amansinha100 - can you review this pull request.


Slide 36 add links to documentation that describes on_finalize

When explaining on_finalize, add links to:

Block finalization trait https://github.com/paritytech/substrate/blob/master/core/sr-primitives/src/traits.rs#L330
Example SRML https://github.com/paritytech/substrate/blob/master/srml/example/src/lib.rs#L442

Actually, even better would be to link to where its discussed in the Substrate Dev Hub https://docs.substrate.dev/docs/decl_module#section-on_initialise-and-on_finalise-

Thanks! I'm overhauling this workshop which will resolve this particular issue. Closing this issue for now.


docker-compose issues. No traces and error on boot

This is my first time using Zipkin... but everything should work out of the box isn't it?
When I run docker-compose up -d  everything boots correctly... but I can't find any trace on the UI or any dropdown with "zipkin server" on it or.

In the ui - click zipkin-server, then click "Find Traces".
???

So I try enabling self tracing... I run docker-compose down to get rid of the first set of containers and enable self tracing by uncommenting - SELF_TRACING_ENABLED=true...
Now zipkin container doesn't boots... and displays this error (a larger trace is printed on the console)
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'zipkinServerConfiguration': Unsatisfied dependency expressed through field 'httpCollector'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'zipkinHttpCollector' defined in file [/zipkin/BOOT-INF/classes/zipkin/server/ZipkinHttpCollector.class]: Unsatisfied dependency expressed through constructor parameter 2; nested exception is org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'metrics': Requested bean is currently in creation: Is there an unresolvable circular reference?

Looks like it's working with the latest updates.
Issue closed!


PhotoViewGestureRecognizer is Too sensitive, other GestureRecognizer will be interference

i have commented PhotoView lib hit test method just like this, because ScaleGestureRecognizer has itself hit test method and work fine, maybe PhotoView want do more thing.
  @override
  void handleEvent(PointerEvent event) {
    if (validateAxis != null) {
      _computeEvent(event);
      _updateDistances();
      // _decideIfWeAcceptEvent(event);
    }
    super.handleEvent(event);
  }

Ok, good for you.


Problem with comma in URL in IE 7

if ...
var last = url[ url.length - 1 ];
...is changed to...
var last = url.substr(url.length-1);
...it will work better in IE7
(Sorry - I have no time to submit this properly at the moment)

@jonathantneal: Are you able to check whether this has been fixed in Picturefill 3.0 beta?
https://github.com/scottjehl/picturefill/tree/3.0

@baloneysandwiches this should be fixed now, yeah? Have you tested this yet with your changes?

Sorry for delay, yes this is fixed in 3.0. Closing.


Incorrect DSP recipes

The following recipes in DSP are incorrect.

In version 0.6.16, we cannot produce critical photon with gravity lens any more.
The two products of orbital collector should be separated to two different recipes, since they do not affect each other.
For example, when we are collecting on the ice giant, even if the collector is filled with fire ice, it can still collect hydrogen.

I am trying to modify the data.json and will try to start a pull request later, but I am not quite familiar with them. So I think it is better to report it here in advance.

Thanks for the report!
Is any action really required for your item 2? As you noted in your PR, separating those into two separate recipes results in likely bad behavior, it looks like you need double the collectors. With them combined into a single recipe, it's still possible to produce 'surplus' of one item or another, which is basically the same as the collector producing one while it's full of the other. Do you have a suggestion of how it could be handled better?

I think the benefit of splitting the recipe into 2 is that the solver will use collectors for most of the hydrogen production. For now, the solver tends to use a small number of orbital collectors but a large number of fire ice to produce hydrogen, which aims to avoid 'surplus' production, even though this 'surplus' is acceptable.
However, I don't know a perfect solution for this problem yet. It seems difficult to be expressed in a linear programming problem, and I also don't know how to display the result in the 'List'. So if you think item 2 is not a very significant problem, please feel free to close this thread. I will reply on this thread if I have a solution later.

Thanks @JiangengDong ! Per this and the discussion in the PR I will close this issue, unless you can think of a specific way to better handle the collector recipes.


Detect name parts like "url" and "id" for special capitalization

C# naming convention uses Url, but Go (and others) use URL.

Fixed in 14e66a428ce7d460c8b9b6537a18d6b85b2be850


user-emails.py logging errors

Running python user-emails.py produces a complete listing of user emails, but incurs some logging errors along the way. user-emails.log gets created with a current timestamp but is empty.
$ python user-emails.py
--- Logging error ---
Traceback (most recent call last):
  File "/usr/lib/python3.10/logging/__init__.py", line 1100, in emit
    msg = self.format(record)
  File "/usr/lib/python3.10/logging/__init__.py", line 943, in format
    return fmt.format(record)
  File "/usr/lib/python3.10/logging/__init__.py", line 678, in format
    record.message = record.getMessage()
  File "/usr/lib/python3.10/logging/__init__.py", line 368, in getMessage
    msg = msg % self.args
TypeError: not all arguments converted during string formatting
Call stack:
  File "/opt/utilities/Media-Scripts/Plex/user-emails.py", line 29, in <module>
    logging.info(f"Starting {SCRIPT_NAME} {VERSION} at {RUNTIME_STR}", 'info', 'a')
Message: 'Starting user-emails 0.1.0 at 2024-05-30 12:15:51'
Arguments: ('info', 'a')
Starting user-emails 0.1.0 at 2024-05-30 12:15:51 info a
connecting...
connecting to https://plex.DOMAIN.TLD...
getting users...
looping over 16 users...
a
complete
list
of
user
emails
is
actually
listed
here

Fixed


(BUG): Audio files doesn't play on iPhone

Using the command !play _query_ or !yta _url_ sends audio file but it can't be played on an iPhone, unlike Android/Desktop.

I have merged your PR, if the problem still persists just let me know.


c2p resolver: don't fall back to dns if a bootstrap is present but federation is enabled

Along with https://github.com/grpc/grpc/pull/29922, this change will allow us to start integration tests for this use case

I want to write this in a slightly different way, so I'm going to merge these changes into #29922.


refactor: Material UI to Tailwind & Create Components

This task should be fragmented in others Tasks to create components using the tailwind
Like:

[x] #140
[x] #143
[x] #144
[x] #145

This issue is blocking further development of this issue:

Task completed.


Sync Seneca SSO SAML claims with our Prisma/Auth code

In order to ship the app to staging (#43) we need to sync our Prisma schema and auth code to be ready to use the claims that Seneca is going to provide (see metadata.xml, from which I've extracted the relevant claims below).
Currently we use the following claims:

sAMAccountName: the username (e.g., jsmith, the portion before the @ in the user's full email address)
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname: the first name (e.g., John)
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname: the last name (e.g., Smith)
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress: the email address (e.g<EMAIL_ADDRESS>
This is good, but we need to adjust in order make use of an additional claim, http://schemas.microsoft.com/ws/2008/06/identity/claims/groups.  The groups claim tells us whether the user is member of the following groups:

Students: group=mycustomdomain-dev-students (staging) or mycustomdomain-students (prod)
Faculty: group=mycustomdomain-dev-faculty (staging) or mycustomdomain-faculty (prod)
Admins: group=mycustomdomain-dev-admins (staging) or mycustomdomain-admins (prod)

I'm not 100% clear on how the data will be sent to us.  Typically, groups (plural) means you can have more than one (array vs string?).  However, I suspect our users will only be in a single group at once, though the data may arrive as an array.
We need to:

Figure out if storing a single group string is OK, or whether we need to include multiple rows per user
Update the Prisma schema
Update the Prisma seed code to include various users in different groups
Update the simplesaml config to add more claims
Add some code to determine if a user isStudent(), isFaculty(), or `isAdmin()
Anything else I'm missing

This likely needs to get done in multiple PRs.  Assigning both @cychu42 and @sfrunza13.
Claims from metadata.xml
<fed:ClaimTypesOffered>
	<auth:ClaimType
		xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" Uri="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name">
		<auth:DisplayName>Name</auth:DisplayName>
		<auth:Description>The mutable display name of the user.</auth:Description>
	</auth:ClaimType>
	<auth:ClaimType
		xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" Uri="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier">
		<auth:DisplayName>Subject</auth:DisplayName>
		<auth:Description>An immutable, globally unique, non-reusable identifier of the user that is unique to the application for which a token is issued.</auth:Description>
	</auth:ClaimType>
	<auth:ClaimType
		xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" Uri="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname">
		<auth:DisplayName>Given Name</auth:DisplayName>
		<auth:Description>First name of the user.</auth:Description>
	</auth:ClaimType>
	<auth:ClaimType
		xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" Uri="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname">
		<auth:DisplayName>Surname</auth:DisplayName>
		<auth:Description>Last name of the user.</auth:Description>
	</auth:ClaimType>
	<auth:ClaimType
		xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" Uri="http://schemas.microsoft.com/identity/claims/displayname">
		<auth:DisplayName>Display Name</auth:DisplayName>
		<auth:Description>Display name of the user.</auth:Description>
	</auth:ClaimType>
	<auth:ClaimType
		xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" Uri="http://schemas.microsoft.com/identity/claims/nickname">
		<auth:DisplayName>Nick Name</auth:DisplayName>
		<auth:Description>Nick name of the user.</auth:Description>
	</auth:ClaimType>
	<auth:ClaimType
		xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" Uri="http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationinstant">
		<auth:DisplayName>Authentication Instant</auth:DisplayName>
		<auth:Description>The time (UTC) when the user is authenticated to Windows Azure Active Directory.</auth:Description>
	</auth:ClaimType>
	<auth:ClaimType
		xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" Uri="http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod">
		<auth:DisplayName>Authentication Method</auth:DisplayName>
		<auth:Description>The method that Windows Azure Active Directory uses to authenticate users.</auth:Description>
	</auth:ClaimType>
	<auth:ClaimType
		xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" Uri="http://schemas.microsoft.com/identity/claims/objectidentifier">
		<auth:DisplayName>ObjectIdentifier</auth:DisplayName>
		<auth:Description>Primary identifier for the user in the directory. Immutable, globally unique, non-reusable.</auth:Description>
	</auth:ClaimType>
	<auth:ClaimType
		xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" Uri="http://schemas.microsoft.com/identity/claims/tenantid">
		<auth:DisplayName>TenantId</auth:DisplayName>
		<auth:Description>Identifier for the user's tenant.</auth:Description>
	</auth:ClaimType>
	<auth:ClaimType
		xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" Uri="http://schemas.microsoft.com/identity/claims/identityprovider">
		<auth:DisplayName>IdentityProvider</auth:DisplayName>
		<auth:Description>Identity provider for the user.</auth:Description>
	</auth:ClaimType>
	<auth:ClaimType
		xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" Uri="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress">
		<auth:DisplayName>Email</auth:DisplayName>
		<auth:Description>Email address of the user.</auth:Description>
	</auth:ClaimType>
	<auth:ClaimType
		xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" Uri="http://schemas.microsoft.com/ws/2008/06/identity/claims/groups">
		<auth:DisplayName>Groups</auth:DisplayName>
		<auth:Description>Groups of the user.</auth:Description>
	</auth:ClaimType>
	<auth:ClaimType
		xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" Uri="http://schemas.microsoft.com/identity/claims/accesstoken">
		<auth:DisplayName>External Access Token</auth:DisplayName>
		<auth:Description>Access token issued by external identity provider.</auth:Description>
	</auth:ClaimType>
	<auth:ClaimType
		xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" Uri="http://schemas.microsoft.com/ws/2008/06/identity/claims/expiration">
		<auth:DisplayName>External Access Token Expiration</auth:DisplayName>
		<auth:Description>UTC expiration time of access token issued by external identity provider.</auth:Description>
	</auth:ClaimType>
	<auth:ClaimType
		xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" Uri="http://schemas.microsoft.com/identity/claims/openid2_id">
		<auth:DisplayName>External OpenID 2.0 Identifier</auth:DisplayName>
		<auth:Description>OpenID 2.0 identifier issued by external identity provider.</auth:Description>
	</auth:ClaimType>
	<auth:ClaimType
		xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" Uri="http://schemas.microsoft.com/claims/groups.link">
		<auth:DisplayName>GroupsOverageClaim</auth:DisplayName>
		<auth:Description>Issued when number of user's group claims exceeds return limit.</auth:Description>
	</auth:ClaimType>
	<auth:ClaimType
		xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" Uri="http://schemas.microsoft.com/ws/2008/06/identity/claims/role">
		<auth:DisplayName>Role Claim</auth:DisplayName>
		<auth:Description>Roles that the user or Service Principal is attached to</auth:Description>
	</auth:ClaimType>
	<auth:ClaimType
		xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" Uri="http://schemas.microsoft.com/ws/2008/06/identity/claims/wids">
		<auth:DisplayName>RoleTemplate Id Claim</auth:DisplayName>
		<auth:Description>Role template id of the Built-in Directory Roles that the user is a member of</auth:Description>
	</auth:ClaimType>
</fed:ClaimTypesOffered>

OK, @sfrunza13 and I have been able to successfully do an SAML2 SSO authentication on staging, and have the metadata for a user.  The claims that we care about look like this:
{
  "displayname": "Stefan Frunza",
  "email"<EMAIL_ADDRESS>  "group": "mycustomdomain-dev-students",
  "sAMAccountName": "sfrunza"
}

So here is what we need to do:

Get rid of First Name and Last Name in the DB and change to Display Name only
Add a Group to the database, which will be a single string

cc @cychu42


New Golf Assignment1

Hi, professor. We have some pkl file that I couldn't add to it. How can I solve the problem?

what type of ppl file?

.pkl, we use it in our two_tower_model

Can I sent it to you seperately? And add such pkl in the \src\recommendation_system\ml_models\golf, the two tower model can run successfully.

ideally not, but if we can't get it to work, I'll try to figure it out, what is the error?

ok, let me try to upload it.


Add Starschema connectors to community_connectors.json

Added:

generic CSV connector
MongoDB / Raw JSON connector
SAP BO WebI & QaaWS connector

@gyulalaszlo this looks awesome, thanks for contributing!
It looks like your version of the json file is invalid though, which will cause the web page to not display properly.  I think the issue is just a missing comma after your third entry.  Could you fix that up?

@lbrendanl: it should be fixed now (it now validates as  JSON RFC 4627), thanks for the notice!


A11y: Remove animation on button presses

In an attempt to further improve accessibility, let's remove the animation that occurs when triggering a button. While it is certainly an interesting bit of feedback, it is not a totally necessary use of animation and could be problematic for users suffering from vestibular motion disorders.
We also have a lot of apps that don't actually use Magma, but instead try to copy our styles as close as possible. Removing the animation will make it easier to be consistent in either situation.
Desired end result: The buttons will still have very clear states for enabled, hover, focus, active, and disabled.
Figma: https://www.figma.com/design/VoWYiiOKKppcYm5QLgPyDC/Components---Inputs?m=auto&node-id=1230%3A18284&t=kCWcoWKNMJ1xWcf4-1

I tested on the docs site and storybook and it looks good.


Not compatible with react 0.14

Not compatible with react 0.14 :
Uncaught Error: Invariant Violation: ContextMenu.render(): A valid ReactComponent must be returned. You may have returned undefined, an array or some other invalid object

It seems that Flummox (which is used as the Flux implementation here does not support React 0.14 at the moment and it is being deprecated entirely). I wrote a fork of this which uses the Alt Flux implementation (Seemed very similar to Flummox) and merged in the React 0.14 branch available here.
It seems to be working on React 0.14 and you can access it here:
https://github.com/meikoudras/react-contextmenu
I can make a PR for this but I am not sure if @vkbansal wants to use the Alt library instead of Flummox.

@meikoudras I initially started out with Alt but later decided to go with Flummox instead.
I know that flummox is deprecated. My plan was to migrate to Redux (As soon as I find some time).
But for time being if Alt works, then I have no problem with it. You are welcome to open a PR.

Flummox has been updated for 0.14. I've released v0.3 with the update.


std.file docs: Tweak dirEntries examples

Use selective imports for listdir example, not fully qualified calls.
Don't use args, use current directory for working runnable example.
Move parallel dmd example into a documented unittest. Use pattern argument instead of filter & endsWith for simplicity. Note the listdir example already uses map.
Only run these 'tests' for version(StdDdoc).

I would also like to suggest using UFCS in examples where appropriate, as it is closer to idiomatic D.

@ntrel I agree with the other reviewers, UFCS makes the code much nicer to read.

Hi @ntrel - This PR caused a regression, and has been reverted.  Please feel free to resend a version of this PR without the regressing part.  Thanks!


cannot push signed transaction

This is the respond, and the memo is "bikicoineos5". Why?
Respond: {"code":500,"message":"Internal Service Error","error":{"code":3050003,"name":"eosio_assert_message_exception","what":"eosio_assert_message assertion failure","details":[{"message":"assertion failure with message: memo length must between 5 and 10.","file":"wasm_interface.cpp","line_number":917,"method":"eosio_assert"},{"message":"pending console output: ","file":"apply_context.cpp","line_number":72,"method":"exec_one"}]}}

the assertion failed message memo length must between 5 and 10 is from some contract. You need to ask the contract provider for the correct parameter format.

the assertion failed message memo length must between 5 and 10 is from some contract. You need to ask the contract provider for the correct parameter format.

it's eosio.token, using a node in public chain.  my offline wallet used to work well, just this transaction has this error in logs

this message probably from a notification contract (contract of your recipient account that you transfer memory to). You can check it out.

Due to no activity, closing this


Build(deps-dev): Bump regenerator-runtime from 0.13.9 to 0.13.10 (#4207)

Pull request opened by the merge tool on behalf of #4207

Merged in 2719a3a9c6c769ef399d6d237f2b9b02912ee35c


Stackdriver unit tests seem broken

It seems like the stackdriver unit tests are trying to contact a metadata server.
Expected Behavior
The unit tests work without external dependencies.
Actual Behavior
I cannot run the unit tests on my machine.
Steps to Reproduce the Problem

git checkout master
go test ./metrics/...

Additional Info
$ go test ./metrics/...
--- FAIL: TestUpdateExporterFromConfigMap (0.00s)
    --- FAIL: TestUpdateExporterFromConfigMap/validStackdriver (0.00s)
        logger.go:130: 2019-03-07T21:56:12.158Z	ERROR	TestUpdateExporterFromConfigMap/validStackdriver	metrics/stackdriver_exporter.go:56	Failed to create the Stackdriver exporter: 	{"error": "google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information."}
        logger.go:130: 2019-03-07T21:56:12.158Z	ERROR	TestUpdateExporterFromConfigMap/validStackdriver	metrics/config.go:173	Failed to update a new metrics exporter based on metric config &{knative.dev/serving testComponent stackdriver<PHONE_NUMBER>0 another-project false true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}. error: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
        config_test.go:387: Expected metrics config change
        config_test.go:390: Expected config: {knative.dev/serving testComponent stackdriver<PHONE_NUMBER>0 another-project false true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}; got config &{knative.dev/serving testComponent prometheus<PHONE_NUMBER>  false false  }
    --- FAIL: TestUpdateExporterFromConfigMap/validCapitalStackdriver (0.00s)
        logger.go:130: 2019-03-07T21:56:12.159Z	ERROR	TestUpdateExporterFromConfigMap/validCapitalStackdriver	metrics/stackdriver_exporter.go:56	Failed to create the Stackdriver exporter: 	{"error": "google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information."}
        logger.go:130: 2019-03-07T21:56:12.159Z	ERROR	TestUpdateExporterFromConfigMap/validCapitalStackdriver	metrics/config.go:173	Failed to update a new metrics exporter based on metric config &{knative.dev/serving testComponent stackdriver<PHONE_NUMBER>0 test-project false true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}. error: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
        config_test.go:387: Expected metrics config change
        config_test.go:390: Expected config: {knative.dev/serving testComponent stackdriver<PHONE_NUMBER>0 test-project false true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}; got config &{knative.dev/serving testComponent prometheus<PHONE_NUMBER>  false false  }
    --- FAIL: TestUpdateExporterFromConfigMap/overriddenReportingPeriodStackdriver (0.00s)
        logger.go:130: 2019-03-07T21:56:12.159Z	ERROR	TestUpdateExporterFromConfigMap/overriddenReportingPeriodStackdriver	metrics/stackdriver_exporter.go:56	Failed to create the Stackdriver exporter: 	{"error": "google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information."}
        logger.go:130: 2019-03-07T21:56:12.159Z	ERROR	TestUpdateExporterFromConfigMap/overriddenReportingPeriodStackdriver	metrics/config.go:173	Failed to update a new metrics exporter based on metric config &{knative.dev/serving testComponent stackdriver<PHONE_NUMBER> test2 false true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}. error: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
        config_test.go:387: Expected metrics config change
        config_test.go:390: Expected config: {knative.dev/serving testComponent stackdriver<PHONE_NUMBER> test2 false true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}; got config &{knative.dev/serving testComponent prometheus<PHONE_NUMBER>0  false false  }
    --- FAIL: TestUpdateExporterFromConfigMap/overriddenReportingPeriodStackdriver2 (0.00s)
        logger.go:130: 2019-03-07T21:56:12.159Z	ERROR	TestUpdateExporterFromConfigMap/overriddenReportingPeriodStackdriver2	metrics/stackdriver_exporter.go:56	Failed to create the Stackdriver exporter: 	{"error": "google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information."}
        logger.go:130: 2019-03-07T21:56:12.159Z	ERROR	TestUpdateExporterFromConfigMap/overriddenReportingPeriodStackdriver2	metrics/config.go:173	Failed to update a new metrics exporter based on metric config &{knative.dev/serving testComponent stackdriver<PHONE_NUMBER> test2 false true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}. error: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
        config_test.go:387: Expected metrics config change
        config_test.go:390: Expected config: {knative.dev/serving testComponent stackdriver<PHONE_NUMBER> test2 false true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}; got config &{knative.dev/serving testComponent prometheus<PHONE_NUMBER>0  false false  }
    --- FAIL: TestUpdateExporterFromConfigMap/emptyReportingPeriodStackdriver (0.00s)
        logger.go:130: 2019-03-07T21:56:12.159Z	ERROR	TestUpdateExporterFromConfigMap/emptyReportingPeriodStackdriver	metrics/stackdriver_exporter.go:56	Failed to create the Stackdriver exporter: 	{"error": "google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information."}
        logger.go:130: 2019-03-07T21:56:12.159Z	ERROR	TestUpdateExporterFromConfigMap/emptyReportingPeriodStackdriver	metrics/config.go:173	Failed to update a new metrics exporter based on metric config &{knative.dev/serving testComponent stackdriver<PHONE_NUMBER>0 test2 false true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}. error: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
        config_test.go:387: Expected metrics config change
        config_test.go:390: Expected config: {knative.dev/serving testComponent stackdriver<PHONE_NUMBER>0 test2 false true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}; got config &{knative.dev/serving testComponent prometheus<PHONE_NUMBER>  false false  }
    --- FAIL: TestUpdateExporterFromConfigMap/allowStackdriverCustomMetric (0.00s)
        logger.go:130: 2019-03-07T21:56:12.159Z	ERROR	TestUpdateExporterFromConfigMap/allowStackdriverCustomMetric	metrics/stackdriver_exporter.go:56	Failed to create the Stackdriver exporter: 	{"error": "google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information."}
        logger.go:130: 2019-03-07T21:56:12.159Z	ERROR	TestUpdateExporterFromConfigMap/allowStackdriverCustomMetric	metrics/config.go:173	Failed to update a new metrics exporter based on metric config &{knative.dev/serving testComponent stackdriver<PHONE_NUMBER>0 test2 true true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}. error: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
        config_test.go:387: Expected metrics config change
        config_test.go:390: Expected config: {knative.dev/serving testComponent stackdriver<PHONE_NUMBER>0 test2 true true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}; got config &{knative.dev/serving testComponent prometheus<PHONE_NUMBER>  false false  }
--- FAIL: TestMetricsExporter (0.00s)
    logger.go:130: 2019-03-07T21:56:12.160Z	ERROR	TestMetricsExporter	metrics/stackdriver_exporter.go:56	Failed to create the Stackdriver exporter: 	{"error": "google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information."}
    exporter_test.go:90: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
--- FAIL: TestInterlevedExporters (0.40s)
    logger.go:130: 2019-03-07T21:56:12.160Z	ERROR	TestInterlevedExporters	metrics/stackdriver_exporter.go:56	Failed to create the Stackdriver exporter: 	{"error": "google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information."}
    exporter_test.go:102: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
    logger.go:130: 2019-03-07T21:56:12.360Z	INFO	TestInterlevedExporters	metrics/prometheus_exporter.go:36	Created Opencensus Prometheus exporter with config: &{knative.dev/serving testComponent prometheus 0  false false  }. Start the server for Prometheus exporter.
    logger.go:130: 2019-03-07T21:56:12.561Z	ERROR	TestInterlevedExporters	metrics/stackdriver_exporter.go:56	Failed to create the Stackdriver exporter: 	{"error": "google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information."}
    exporter_test.go:122: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
{"level":"warn","ts":1551995772.7633834,"logger":"fallback","caller":"metrics/record.go:33","msg":"The current metrics config has not been successfully set yet, not record the metric %v.{5 0xc000295880}"}
--- FAIL: TestNewStackdriverExporterWithMetadata (0.00s)
    logger.go:130: 2019-03-07T21:56:12.764Z	ERROR	TestNewStackdriverExporterWithMetadata	metrics/stackdriver_exporter.go:56	Failed to create the Stackdriver exporter: 	{"error": "google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information."}
    stackdriver_exporter_test.go:181: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
    stackdriver_exporter_test.go:184: expected a non-nil metrics exporter
FAIL
FAIL	github.com/knative/pkg/metrics	0.618s
?   	github.com/knative/pkg/metrics/metricskey	[no test files]

cc @yanweiguo

gcloud auth application-default login  or along these lines, should cure the problem.

That's definitely not okay for unit tests, imo.

Are they still broken with #291 checked in?

I believe so:
 $ cd $GOPATH/src/github.com/knative/pkg && git checkout master && git pull && go test ./metrics/...
Already on 'master'
Your branch is up-to-date with 'origin/master'.
Already up-to-date.
--- FAIL: TestUpdateExporterFromConfigMap (0.00s)
    --- FAIL: TestUpdateExporterFromConfigMap/validStackdriver (0.00s)
        logger.go:130: 2019-03-07T22:43:14.409Z	ERROR	TestUpdateExporterFromConfigMap/validStackdriver	metrics/stackdriver_exporter.go:56	Failed to create the Stackdriver exporter: 	{"error": "google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information."}
        logger.go:130: 2019-03-07T22:43:14.409Z	ERROR	TestUpdateExporterFromConfigMap/validStackdriver	metrics/config.go:173	Failed to update a new metrics exporter based on metric config &{knative.dev/serving testComponent stackdriver<PHONE_NUMBER>0 another-project false true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}. error: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
        config_test.go:387: Expected metrics config change
        config_test.go:390: Expected config: {knative.dev/serving testComponent stackdriver<PHONE_NUMBER>0 another-project false true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}; got config &{knative.dev/serving testComponent prometheus<PHONE_NUMBER>  false false  }
    --- FAIL: TestUpdateExporterFromConfigMap/validCapitalStackdriver (0.00s)
        logger.go:130: 2019-03-07T22:43:14.410Z	ERROR	TestUpdateExporterFromConfigMap/validCapitalStackdriver	metrics/stackdriver_exporter.go:56	Failed to create the Stackdriver exporter: 	{"error": "google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information."}
        logger.go:130: 2019-03-07T22:43:14.410Z	ERROR	TestUpdateExporterFromConfigMap/validCapitalStackdriver	metrics/config.go:173	Failed to update a new metrics exporter based on metric config &{knative.dev/serving testComponent stackdriver<PHONE_NUMBER>0 test-project false true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}. error: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
        config_test.go:387: Expected metrics config change
        config_test.go:390: Expected config: {knative.dev/serving testComponent stackdriver<PHONE_NUMBER>0 test-project false true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}; got config &{knative.dev/serving testComponent prometheus<PHONE_NUMBER>  false false  }
    --- FAIL: TestUpdateExporterFromConfigMap/overriddenReportingPeriodStackdriver (0.00s)
        logger.go:130: 2019-03-07T22:43:14.410Z	ERROR	TestUpdateExporterFromConfigMap/overriddenReportingPeriodStackdriver	metrics/stackdriver_exporter.go:56	Failed to create the Stackdriver exporter: 	{"error": "google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information."}
        logger.go:130: 2019-03-07T22:43:14.410Z	ERROR	TestUpdateExporterFromConfigMap/overriddenReportingPeriodStackdriver	metrics/config.go:173	Failed to update a new metrics exporter based on metric config &{knative.dev/serving testComponent stackdriver<PHONE_NUMBER> test2 false true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}. error: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
        config_test.go:387: Expected metrics config change
        config_test.go:390: Expected config: {knative.dev/serving testComponent stackdriver<PHONE_NUMBER> test2 false true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}; got config &{knative.dev/serving testComponent prometheus<PHONE_NUMBER>0  false false  }
    --- FAIL: TestUpdateExporterFromConfigMap/overriddenReportingPeriodStackdriver2 (0.00s)
        logger.go:130: 2019-03-07T22:43:14.410Z	ERROR	TestUpdateExporterFromConfigMap/overriddenReportingPeriodStackdriver2	metrics/stackdriver_exporter.go:56	Failed to create the Stackdriver exporter: 	{"error": "google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information."}
        logger.go:130: 2019-03-07T22:43:14.410Z	ERROR	TestUpdateExporterFromConfigMap/overriddenReportingPeriodStackdriver2	metrics/config.go:173	Failed to update a new metrics exporter based on metric config &{knative.dev/serving testComponent stackdriver<PHONE_NUMBER> test2 false true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}. error: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
        config_test.go:387: Expected metrics config change
        config_test.go:390: Expected config: {knative.dev/serving testComponent stackdriver<PHONE_NUMBER> test2 false true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}; got config &{knative.dev/serving testComponent prometheus<PHONE_NUMBER>0  false false  }
    --- FAIL: TestUpdateExporterFromConfigMap/emptyReportingPeriodStackdriver (0.00s)
        logger.go:130: 2019-03-07T22:43:14.410Z	ERROR	TestUpdateExporterFromConfigMap/emptyReportingPeriodStackdriver	metrics/stackdriver_exporter.go:56	Failed to create the Stackdriver exporter: 	{"error": "google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information."}
        logger.go:130: 2019-03-07T22:43:14.410Z	ERROR	TestUpdateExporterFromConfigMap/emptyReportingPeriodStackdriver	metrics/config.go:173	Failed to update a new metrics exporter based on metric config &{knative.dev/serving testComponent stackdriver<PHONE_NUMBER>0 test2 false true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}. error: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
        config_test.go:387: Expected metrics config change
        config_test.go:390: Expected config: {knative.dev/serving testComponent stackdriver<PHONE_NUMBER>0 test2 false true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}; got config &{knative.dev/serving testComponent prometheus<PHONE_NUMBER>  false false  }
    --- FAIL: TestUpdateExporterFromConfigMap/allowStackdriverCustomMetric (0.00s)
        logger.go:130: 2019-03-07T22:43:14.410Z	ERROR	TestUpdateExporterFromConfigMap/allowStackdriverCustomMetric	metrics/stackdriver_exporter.go:56	Failed to create the Stackdriver exporter: 	{"error": "google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information."}
        logger.go:130: 2019-03-07T22:43:14.410Z	ERROR	TestUpdateExporterFromConfigMap/allowStackdriverCustomMetric	metrics/config.go:173	Failed to update a new metrics exporter based on metric config &{knative.dev/serving testComponent stackdriver<PHONE_NUMBER>0 test2 true true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}. error: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
        config_test.go:387: Expected metrics config change
        config_test.go:390: Expected config: {knative.dev/serving testComponent stackdriver<PHONE_NUMBER>0 test2 true true knative.dev/serving/testComponent custom.googleapis.com/knative.dev/testComponent}; got config &{knative.dev/serving testComponent prometheus<PHONE_NUMBER>  false false  }
--- FAIL: TestMetricsExporter (0.00s)
    logger.go:130: 2019-03-07T22:43:14.410Z	ERROR	TestMetricsExporter	metrics/stackdriver_exporter.go:56	Failed to create the Stackdriver exporter: 	{"error": "google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information."}
    exporter_test.go:90: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
--- FAIL: TestInterlevedExporters (0.40s)
    logger.go:130: 2019-03-07T22:43:14.411Z	ERROR	TestInterlevedExporters	metrics/stackdriver_exporter.go:56	Failed to create the Stackdriver exporter: 	{"error": "google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information."}
    exporter_test.go:102: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
    logger.go:130: 2019-03-07T22:43:14.612Z	INFO	TestInterlevedExporters	metrics/prometheus_exporter.go:36	Created Opencensus Prometheus exporter with config: &{knative.dev/serving testComponent prometheus 0  false false  }. Start the server for Prometheus exporter.
    logger.go:130: 2019-03-07T22:43:14.813Z	ERROR	TestInterlevedExporters	metrics/stackdriver_exporter.go:56	Failed to create the Stackdriver exporter: 	{"error": "google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information."}
    exporter_test.go:122: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
{"level":"warn","ts":1551998595.0153146,"logger":"fallback","caller":"metrics/record.go:33","msg":"The current metrics config has not been successfully set yet, not record the metric %v.{5 0xc0001970c0}"}
--- FAIL: TestNewStackdriverExporterWithMetadata (0.00s)
    logger.go:130: 2019-03-07T22:43:15.016Z	ERROR	TestNewStackdriverExporterWithMetadata	metrics/stackdriver_exporter.go:56	Failed to create the Stackdriver exporter: 	{"error": "google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information."}
    stackdriver_exporter_test.go:181: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
    stackdriver_exporter_test.go:184: expected a non-nil metrics exporter
FAIL
FAIL	github.com/knative/pkg/metrics	0.619s
?   	github.com/knative/pkg/metrics/metricskey	[no test files]

Like @vagababov mentioned, I believe these unit tests depend on some gcloud state, which isn't ideal.

In the unit tests, we test whether we could create a stackdriver exporter via stackdriver.NewExporter given our configuration. stackdriver.NewExporter calls google api to get credentials when initialized.
Shall we just remove the unit tests for any call of stackdriver.NewExporter?

I'd test that in an integration test instead of a unit test, or add a some indirection here so you can replace that with a fake constructor during unit tests, similar to how gcpMetadataFunc works.

I ran into something like this in a different package, which I got to work by using a fake key file and setting some environment variables:
https://github.com/google/go-containerregistry/blob/fcd5acbb4e785f428f197ddd66a8931df6923fe6/pkg/v1/google/auth_test.go#L245-L261
I'm not sure if stackdriver is using the same underlying library... but if it is, you could fake it out in a similar way.


Is there a reason that Copy isn't implemented for BigInt and BigUint

I am building some structs like
#[derive(Clone)]
struct MyStruct {
    foo: BigInt
}

and I cannot derive Copy for this structure.

To answer my own question -- BigUint has a vector field, and that doesn't allow for copy.
So what is the best way to copy MyStruct?

I'm afraid Clone is the best you can do, unless you can switch to a statically-sized numeric type, without allocation.

Cool. Thanks!


CDN providers not syncing plugin manifest as expected

Per the ReadMe,
"Flow downloads the plugins manifest file from various CDN providers, so when your new plugin appears is dependant on when these providers next sync the updated file, and this can be anywhere from one to three hours.
Every three hours the CI in this repository will check for new updates from plugins and automatically update them to the latest version."
The CDN providers do not appear to be syncing as expected. My plugin was updated a week ago but the Flow-Launcher website is still showing the old version of the plugin which currently points to an archived repo:
https://www.flowlauncher.com/docs/#/plugins
After inspecting the page, it appears this is the cdn url that is pulling the information. Clicking the link below and inspecting the JSON output shows the outdated version:
<EMAIL_ADDRESS>This issue appears to be intermittent as sometimes it randomly shows the correct plugin information (perhaps they have multiple servers and not all of them are in sync).
The point
Wanted to inform of this issue as plugin updates are not being synced within the expected 1-3 hr window. It has been 5 days and cdn providers appear to not have synced fully. In my case its a bit problematic, as the outdated version of the plugin points to an archived repo so I don't want users to think the plugin is no longer maintained.

I checked this morning and the manifest was showing correctly. However, it is now showing the outdated manifest again (see image). So if I had to guess, it would seem the CDN provider has multiple servers on some type of load balancer and for some reason not all of the servers are in sync (sometimes the manifest shows latest information and other times it's showing the manifest over a week ago).

Thank you for the thorough investigation and write up. I don't know if that's something within our control, likely not, but the way I see minimising this issue is probably implement a mechanism to check GitHub connection first before falling to the CDN alternatives, at least some users who have no issue connecting to GitHub will be able to get the latest updates sooner. At the moment iirc the code downloads the manifest from whichever endpoint returns the fastest, but does not guarantee the latest manifest at all.

Very interesting. Prioritizing GitHub seems like a good option to minimize the issue. I will continue checking randomly each day and post back if it appears that the manifest is stable (or at least showing a version that is no longer from a week ago), this way we can at least document how long it took for the CDN servers to fully sync.

FYI, I have been periodically checking throughout the day, and using Todos plugin as a reference point, the manifest consistently flip flops between 3.06 (latest - released yesterday) and 3.05 (released 3 days ago). So at least the version from 8 days ago is no longer showing up. So it would appear that in current state, it takes several days (up to a week) for CDN servers to fully sync.

Thank you for the observation, perhaps if you could update readme to fix up the time period until we get around to addressing this issue.

@jjw24
Submitted pull request for update to readme.md which clarifies expected sync time for plugin manifest. Please edit as needed; wasn't sure if you also wanted to mention that efforts are being made to improve sync time.
https://github.com/Flow-Launcher/Flow.Launcher.PluginsManifest/pull/401

I investigated this issue a bit further and it appears that one out of the 4 providers is more less consistently the problem child.
Below are the four providers based on the FlowLauncher PluginManifest.cs file:

Using clipboard+ as a test case given its recent update, below are the responses from each provider:
https://raw.githubusercontent.com/Flow-Launcher/Flow.Launcher.PluginsManifest/plugin_api_v2/plugins.json

<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
As you can see, cdn.jsdelivr.net is the only provider not in sync with GitHub. Based on past testing (see original post), this is the same url that was outdated. Not sure if its within your control to determine why that particular server is consistently lagging, but perhaps a viable solution would be to deprioritize it amongst the 4 options.

Happy to reprioritise cdn.jsdelivr.net also.

@jjw24 Should I also replace it in https://www.flowlauncher.com/docs/#/plugins? If yes, should I replace it with one URL or should I make it try different URLs until it finds one that doesn't fail to load (in case users can't reach some of the servers for whatever reason)?

I think cdn jsdelivr has cache (7 days?). We should manually invalidate that if plugins change (maybe through the action).

@jjw24 Should I also replace it in https://www.flowlauncher.com/docs/#/plugins? If yes, should I replace it with one URL or should I make it try different URLs until it finds one that doesn't fail to load (in case users can't reach some of the servers for whatever reason)?

Are you also working on the flow side or is this just for the docs?
I think logic could be, try load GitHub first, set an appropriate timeout. If fails, use the cdns and whichever returns first.

I think cdn jsdelivr has cache (7 days?). We should manually invalidate that if plugins change (maybe through the action).

Can we actually invalidate the CDN cache do you know? Do they provide API endpoint to do this?

Are you also working on the flow side or is this just for the docs?

No, just the website.

I think logic could be, try load GitHub first, set an appropriate timeout. If fails, use the cdns and whichever returns first.

GitHub as in try to load the file from raw.githubusercontent.com? I think we discussed something like this already and decided we don't want to create additional load on GitHub's servers, and this is why we use CDNs?
I don't think I've seen this behavior in web often, when the page tries to load data from all URLs at the same time and takes the data from the fastest response. People could be using mobile connection to open the page, and while the manifest is not that big, it would be rather wasteful to use 4 times more traffic than necessary.

Can we actually invalidate the CDN cache do you know? Do they provide API endpoint to do this?

cdn.jsdelivr.net provides this page for manual cache purge, but it required me to solve a captcha. They also provide free API access on request which might allow to do what we want, but I'm not completely sure, their wording is a little confusing.

Are you also working on the flow side or is this just for the docs?

No, just the website.

Yeah no worries.

I think logic could be, try load GitHub first, set an appropriate timeout. If fails, use the cdns and whichever returns first.

I don't think I've seen this behavior in web often, when the page tries to load data from all URLs at the same time and takes the data from the fastest response. People could be using mobile connection to open the page, and while the manifest is not that big, it would be rather wasteful to use 4 times more traffic than necessary.

Yes true, thanks for reminding me.

GitHub as in try to load the file from raw.githubusercontent.com? I think we discussed something like this already and decided we don't want to create additional load on GitHub's servers, and this is why we use CDNs?

My understanding the root cause for using CDN is about reach, not all users have stable connection to GitHub. I don't think we would place any additional traffic that GitHub's infrastructure can't necessarily handle. But regardless, CDN approach is also good.
The logic is something to implement flow side.

@jjw24 Should I also replace it in https://www.flowlauncher.com/docs/#/plugins? If yes, should I replace it with one URL or should I make it try different URLs until it finds one that doesn't fail to load (in case users can't reach some of the servers for whatever reason)?

Yeah I think up to you, I'd say keep it simple, just replace it with fastly, probably no need to over engineer this.

I think cdn jsdelivr has cache (7 days?). We should manually invalidate that if plugins change (maybe through the action).

Can we actually invalidate the CDN cache do you know? Do they provide API endpoint to do this?

Yes there is https://www.jsdelivr.com/tools/purge

I think the cdn link is the official cdn. Maybe we can measure the latency toward each node globally (the cdn link may select better server compared to others). Originally that was used for Chinese user, but now it won't work so I agree it's fine to remove it.


GPU Exception on Colab

I seem to have trouble running the gpu script on colab, seems like maybe an upstream issue in gpuowl (a similar issue is here: https://github.com/preda/gpuowl/issues/223 ). The CPU script works great in the meantime! Any suggestions?
20231120 20:41:27  GpuOwl VERSION v7.2.1-8-g3567e66
20231120 20:41:27  GpuOwl VERSION v7.2.1-8-g3567e66
20231120 20:41:27  config: -user Axis4383 -cpu Colab-BProductions
20231120 20:41:27  config: -mprimeDir ../../mprime_gpu -log 100000 -unsafeMath -use ROE2 -device 0 -maxAlloc 972M -proof 9
20231120 20:41:27  device 0, unique id ''
20231120 20:41:27 Colab-BProductions 120218741 FFT: 6.50M 1K:13:256 (17.64 bpw)
20231120 20:41:27 Colab-BProductions  Exception gpu_error:  clGetPlatformIDs(16, platforms, (unsigned *) &nPlatforms) at src/clwrap.cpp:71 getDeviceIDs
20231120 20:41:27 Colab-BProductions  Bye
^C
Gracefully exiting...

Yeah, it is not an issue with GpuOwl, but with OpenCL on Colab, which unfortunately is currently broken. See #18 for more information.
In the meantime, I would suggest temporally using the previous version of our GPU notebook, which uses CUDALucas. See the note I recently near the top of our Colab README: https://github.com/tdulcet/Distributed-Computing-Scripts/blob/eac3911950422ffa26ce50477904b2d7d074cf3d/google-colab/README.md?plain=1#L10
\CC @Danc2050

Yeah, it is not an issue with GpuOwl, but with OpenCL on Colab, which unfortunately is currently broken. See #18 for more information.
In the meantime, I would suggest temporally using the previous version of our GPU notebook, which uses CUDALucas. See the note I recently added near the top of our Colab README:
https://github.com/tdulcet/Distributed-Computing-Scripts/blob/eac3911950422ffa26ce50477904b2d7d074cf3d/google-colab/README.md?plain=1#L10
I am glad to hear that our CPU notebook is working for you.
\CC @Danc2050

Ah thank you! This explains it, I must of missed that issue.
I can close the issue now unless you want me to keep it open for visibility

No problem. I will fix the syntax of that note in my next commit, so that it shows up more prominently on the Colab README.
Hopefully Nvidia and/or Colab will fix this OpenCL issue soon...


Make error handling more uniform

When a RunTimeError is raised (Example: ADB server not available) you just get a text string in e.arg
When a ConnectionResetError is raised e.arg[0] has the error code as an int plus you can get a text string message.
The second approach makes writing error handlers much cleaner and easier compared to parsing strings.
Thanks

Hi, Can you provide a couple of code snapshots?

I'm just suggesting some custom exception classes as opposed to raising a generic RuntimeError.
This is how I currently am parsing the errors
def _parseError(e):
if type(e.args) is type(()) and len(e.args) >= 2:
    if type(e.args[0]) is type(1):
        return e.args[0], e.args[1]

msg = '%s' % e
err = 0

a = msg.find('[WinError')
if a > -1:
    b = msg.find(']', a)
    err = int(msg[a+10:b])
elif msg.find('<IP_ADDRESS>:') > -1:
  a = msg.find('<IP_ADDRESS>:')
  if a > -1:
    msg = msg[a:a+15]
    err = eErrors.ADB_CLIENT_LEFT
else:
    err = eErrors.ADB_CLIENT_UNKNOWN

if err == eErrors.ADB_SERVER_UNAVAILABLE:
    msg = 'ADB server not found'

return err, msg


feat(tray): add start/stop recording options and global shortcut (WIP)

Fixes: #515
/claim #515
WIP

ths seems to be #515 not #513

ths seems to be #515 not #513

Yeah, right.

can you make the shortcut changeable in settings like done in here? #524
if too hard i can make it before release

Yes, I thought of that too.

Closing this due to conflicts.


Cranelift: provide a C API

What I'd like to see is a way to use Cranelift apis from another (non rust) language. Currently the cranelift apis are rust only, but having a layer on top of that like "llvm-c" is, would make the cranelift api usable from all languages, and thus a much wider range of compilers could use it as a backend.

If it's of any interest to anyone, I wrote a C api that allows this.
api: https://gist.github.com/carlokok/d0d079dba76ee253a1571d58f2e791fb
#include <cranelift.h>
#include <stdio.h>

void cb1(uintptr_t userdata, const char* err, const char* fn) {
  printf("Error %s: %s\n", fn, err);
}

void cb2(uintptr_t userdata, const char* err, const char* fn) {
  printf("Message %s: %s\n", fn, err);
}

void cb(uintptr_t userdata, FunctionData* fd)
{
  BlockCode entry = cranelift_create_block(fd);
  BlockCode larger = cranelift_create_block(fd);
  BlockCode exit = cranelift_create_block(fd);

  cranelift_append_block_params_for_function_params(fd, entry);

  cranelift_switch_to_block(fd, entry);

  ValueCode res[2];
  cranelift_block_params(fd, entry, res);

  VariableCode a = cranelift_declare_var(fd, TypeI32);
  cranelift_def_var(fd, a, res[0]);

  VariableCode b = cranelift_declare_var(fd, TypeI32);
  cranelift_def_var(fd, b, res[1]);

  VariableCode retvar = cranelift_declare_var(fd, TypeI32);
  cranelift_def_var(fd, retvar, cranelift_iconst(fd, TypeI32, 0));

  cranelift_ins_br_icmp(fd, CraneliftIntCCSignedLessThan, a, b, larger, 0, NULL);

  cranelift_def_var(fd, retvar, cranelift_use_var(fd, a));

  cranelift_ins_jump(fd, exit, 0, NULL);

  cranelift_switch_to_block(fd, larger);

  cranelift_def_var(fd, retvar, cranelift_use_var(fd, b));

  cranelift_ins_jump(fd, exit, 0, NULL);

  cranelift_switch_to_block(fd, exit);

  ValueCode retval = cranelift_use_var(fd, retvar);
  cranelift_return(fd, 1, &retval);

  cranelift_seal_all_blocks(fd);

}

void cbp(uintptr_t ud, char* data)
{
  printf("\n%s\n", data);
}

int main()
{
  ModuleData* mod = cranelift_module_new("x86_64-pc-windows", "is_pic,enable_simd,enable_atomics,enable_verifier", "mymodule", 0, cb1, cb2);

  cranelift_signature_builder_add_param(mod, TypeI32);
  cranelift_signature_builder_add_param(mod, TypeI32);
  cranelift_signature_builder_add_result(mod, TypeI32);
  cranelift_build_function(mod, 0, cb);
  cranelift_function_to_string(mod, 0, cbp);
  uint32_t id;
  cranelift_declare_function(mod, "max", Export, &id);
  cranelift_define_function(mod, id);

  uint32_t id2;
  uint8_t c[4] = { 1,2,3,4 };
  cranelift_set_data_value(mod, c, 4);
  cranelift_define_data(mod, "testdata_w", Export, Writable, 0, &id2);
  cranelift_assign_data_to_global(mod, id2);
  cranelift_clear_data(mod);

  cranelift_set_data_value(mod, c, 4);
  cranelift_define_data(mod, "testdata_r", Export, None, 0, &id2);
  cranelift_assign_data_to_global(mod, id2);
  cranelift_clear_data(mod);

  cranelift_set_data_value(mod, c, 4);
  cranelift_define_data(mod, "testdata_w2", Export, Writable, 0, &id2);
  cranelift_set_data_section(mod, "SEG", "SEC");
  cranelift_assign_data_to_global(mod, id2);
  //  cranelift_clear_data(mod);

  cranelift_module_emit_object(mod, "c:\\projects\\test.o");
  cranelift_module_delete(mod);
}

I think cranelift_block_params should take the expected param count as argument to prevent accidental out-of-bounds memory accesses.

It would also be nice if cranelift-codegen-meta automatically generated all cranelift_ins_* functions.

agreed :) but if there's no interest or if the interfaces don't want to be tied down then I won't bother. Also this was my very first foray into Rust.

Is this likely to happen? I'd really like to try out cranelift for my toy language, but the lack of a simple c api will mean that I will have to stick with llvm instead.

I personally think it would be nice to have this, but it's not a small task to build, and no one currently has the time to do it. If you (or anyone) would like to contribute this, we'd be happy to talk further -- the first step would probably be gathering feedback in an RFC.

This is way out of my league so likely a stupid question; but if I build a so/dll of all the cranelift crates like cranelift = "0.89.0" using cargo, can I use this .so file in other languages which support FFI?

No, rust's ABI is not stable, so you can't call any of the methods in this dylib. You have to write a C interface for every function you want to call from non-rust code and then use this C interface.

This is way out of my league so likely a stupid question; but if I build a so/dll of all the cranelift crates like cranelift = "0.89.0" using cargo, can I use this .so file in other languages which support FFI?

To add a little more nuance: (i) Rust does have the ability to produce .sos that can be called with a C ABI; but (ii) that requires explicit work, in defining the C-ABI-compatible exports (#[no_mangle] and extern "C" fn are the relevant search terms, as well as care about data structure layout and use of #[repr(C)] on structs where needed).

Is there a place for a C API in-tree, or is that solidly out of scope?
@coffeebe4code did some reworking of @carlokok's gist, https://github.com/coffeebe4code/craneliftc. If the methodology looks correct enough, that could likely be a reasonable starting point.


Bottom console headers look bad on "Insiders" build

VSCode Version: Code - Insiders 1.18.0-insider (7424b934292d9a1fb6e4309ff9547660eab27a80, 2017-10-19T05:11:37.681Z)
OS Version: Darwin x64 16.7.0
Extensions:

Extension
Author (truncated)
Version

path-intellisense
chr
1.4.2

vscode-eslint
dba
1.3.2

githistory
don
0.2.3

gitlens
eam
5.6.5

LogFileHighlighter
emi
1.2.0

auto-close-tag
for
0.5.1

vscode-todo-parser
min
1.9.1

elm
sbr
0.15.1

Steps to Reproduce:

Open the console by pressing "Ctrl+~"

See image:

Also text gets trimmed in weird way

same problem

+1

Thanks for reporting. There will be a new build in about 30 minutes.

@isidorn Thanks for your fixing, but things are still not very correct.
The cursor on the TERMINAL tab header has became text input mode, and the drop down menus and filter input on the right are too small.

Yeah it is work in progess, thus it is on the insider channel :)
Will get nicer in a couple of days

@isidorn May we know what will change? Or is there an issue tracking that?

@yume-chan will be fixed probably on friday / monday


feat(synthetics): addition of mutations for the monitor downtime feature

Copied PR: #1069

Changes looks good to me.


[GST-1060] Renames some settings and allows for finer control over routes and subnets

Looks good to me (:tm:)


Updated to work with refactoring on spree

Hi Torsten,
I've amended the registration process of the calculator to fit in with this commit on spree: https://github.com/spree/spree/commit/169f75ebe9c0dbf2f91cae519f880ce0bc5b8c2c
Cheers,
Joe

Thanks. Glad it seems of use (or maybe will be of use)


Unable to upload authors app to a team - "UpdateBotTeamMembershipInSkypeFailed"

Dear company communicator team,
I need help with the last installation step:
I was able to perform powershell installation without errors or warnings but I'm not able to upload / sideload the cc_authors.zip package to a fresh team. This fails with "something went wrong". In the browser console I can at least see that the upload request fails with HTTP 400 and the response:
{"errorCode":"UpdateBotTeamMembershipInSkypeFailed"}

Do you have an idea what goes wrong here? I wasn't able to find something similar in other issues.
Greetings
Tobias

Hi @nmtoblum ,
We would recommend using App Studio and validating the ***.zip file. App Studio will highlight if the **.zip file is valid or it has some issue.

Hi @v-royavinash,
thank you for your fast response.
I forgot to mention that I already checked this. Just two warnings because of the domain for the privacy URL ("TOU / Privacy URL must not be hosted in a domain different from Company/Website URL"). No errors.
Any idea what this error message "UpdateBotTeamMembershipInSkypeFailed" could mean?
Greetings

@nmtoblum : How can you solve this issue?

@jimmymaise Unfortunately I didn't find a solution yet.
Perhaps @gsv022 would like to take on this topic again? :-)

@nmtoblum:  In my case, the solution is you should add MS Team as a channel to your bot.

Hi @jimmymaise,
Kindly let us know if you are still facing the issue.

Hi @jimmymaise,
Thank you for submitting this issue, as we work to ensure consistent responses with items logged in our issues list, we are working to address these items that did not get responses. Please let us know if you are still facing this issue and require assistance and we will be happy to discuss. If no further action is needed at moment and no response is received, we will close out the issue in 3 business days. You may also always open a new issue or respond here if something does come back up.

Just had this issue as well, be sure that your manfiest botId and webpplicationinfo->id are targeting the right app.


retained size of objects issue

I'm trying to use your nice library in order to compute the retained size of an object, because I have a huge hprof file.
I used HeapFactory.createHeap(), because I see that getRetainedSize() is not implemeted for FastHprofHeap.
It works, the only thing is that it gives a different result compared with Yourkit or Eclipse Memory Analyzer (those two give the exact same number of bytes each time).
Example
                Map<Integer, String> map = new HashMap<>();
		for (int i = 0; i < numberOfItems; i++) {
			map.put(i, Integer.toString(i));
		}

The bigger the numberOfItems, the bigger the difference in retained size between this api and the standard tools.
E.g
for 5 items, this library returns 730 and Yourkit and EMA return 544
for 10_000 items, this library returns 1,366,404 and Yourkit and EMA return 1,023,568
Any ideas? Thank you!

@jackmalkovick may I ask why you would not use jol?

@wind57 to my knowledge jol does not work with heap dumps

@alexey-ragozin correct. https://www.youtube.com/watch?v=KIGcmLL67CQ in russian, but still the name of the video should tell @jackmalkovick not to do that with heap dumps.


test Deep Preset

DeepPreset is working and results are decent. maybe the styles need a more colourful update.
images are scaled so they can be divide by 16 - working files are 400x592px


Whatsapp Ngrok bug

When I use without otp and choose Ngrok link on whatsapp and then I open link after putting phone number it says password required how to solve this bro

I will fix it
On Tue, 5 Jan, 2021, 11:16 pm sabirshaikh21<EMAIL_ADDRESS>wrote:

When I use without otp and choose Ngrok link on whatsapp and then I open
link after putting phone number it says password required how to solve this
bro
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/noob-hackers/mrphish/issues/10, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AL2ISEDC3YBBWSX75W34PC3SYNF57ANCNFSM4VVXWZ2A
.

I will fix it
On Tue, 5 Jan, 2021, 11:16 pm sabirshaikh21<EMAIL_ADDRESS>wrote:

When I use without otp and choose Ngrok link on whatsapp and then I open
link after putting phone number it says password required how to solve this
bro
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/noob-hackers/mrphish/issues/10, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AL2ISEDC3YBBWSX75W34PC3SYNF57ANCNFSM4VVXWZ2A
.


⚠ Bofrost.at has degraded performance

In 2ca9f7d, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1112 ms

Resolved: Bofrost.at performance has improved in 7bdf07e after 24 minutes.


WIP: update script mechanics

right now the only stable way to get an update without hardcoding the version is to use github api

releases should be tagged in digit-only format

thx. I will take a look at it next week.

@rootzoll 💯 no worries

I will start to make sure more stabel version building gets possible starting from version 1.0 ... targeted for early October now. I will be on holiday for the rest of the month .. then i will catch up.

@rootzoll sounds good! let me know ill walk you thro the method

@charlesrocket @vv01f sorry for taking so long to come back to this. I choose another way for update the update mechanism - let me explain.
The XXupdateScripts was just a hot fix during development - even when working with tag versions there was always this one problem that was bugging me: The scripts may get updated, but the data and the OS on the SD card will stay behind and get out of sync. First I was thinking about adding a "migration feature" (adding, removing services, new bitcoind/lnd, changing data, etc) to the updatescript, but it felt not like a solid way for the future.
So I turned the the idea upside down. Why not just add a new sd card image into the raspiblitz with all the newest software and continue with the old data. Sure also data migration between versions may be needed in the future ... but that way the same mechanism can be used for recovery when the SD card fails.
What I most like about it, people can get wild changing the RaspiBlitzOS (adding services, etc) but if it fails, you just make a fresh SD card and all the standard services should continue to run as normal again - this also makes support easier, because with a fresh sd card I know the state of the system more clearly .. at least I hope so.
Thanks for your contribution - the idea with the tags was worth a shot .. but I chose another way to go on this. Closing this PR.


[deutschlandradio] Added extractor for posts on various Deutschlandradio sites.

Fixes #6820

Since #8497 landed, please move changes in youtube_dl/extractors/__init__.py to youtube_dl/extractors/extractors.py. Check step 5 of the new developer instructions for more information.


[app_id.arb] little changes

the usual

Thanks!

this is why you dont use 3rd party github apps kids

haha


Stop generating explicit interface implementations when not needed.

Fixes #1384

Looks like authoring test broke in the generated code for the component?

Looks like authoring test broke in the generated code for the component?

Yah I noticed that. Will take a look.


Segmentation Fault on vulkano::swapchain::Surface::is_supported When Using X Forwarding

Issue
Calling vulkano::swapchain::Surface::is_supported while forwarding Xorg windows causes a segmentation fault. I understand that X forwarding might not be supported; assuming that's the case, might it be better to panic with an explicit error message instead of allowing the program to crash?
To Reproduce
main.rs.txt
Cargo.toml:
[package]
name = "vulkano-device"
version = "0.1.0"
edition = "2018"

[dependencies]
vulkano = "0.19.0"
vulkano-win = "0.19.0"
winit = "0.22.1"

Connect to the server using ssh -Y with X forwarding enabled, and run the program on the remote host.
My stdout:
   Compiling vulkan-tutorial v0.1.0 ([...])
    Finished dev [unoptimized + debuginfo] target(s) in 2.33s
     Running `[...]/target/debug/vulkan-tutorial`
Creating instance of Vulkan API
Supported extensions: [VK_KHR_surface, VK_KHR_display, VK_KHR_xlib_surface, VK_KHR_xcb_surface, VK_KHR_wayland_surface, VK_EXT_debug_utils, VK_KHR_get_physical_device_properties2, VK_KHR_get_surface_capabilities2]
Creating window surface
Choosing a physical device to run on
	AMD RADV POLARIS10 (ACO)
		0
[2]    1708571 segmentation fault (core dumped)  cargo run

System

Version of vulkano: 0.19.0
OS: Linux (Manjaro on host, Arch on guest)
GPU (the selected PhysicalDevice): AMD RADV POLARIS10 (ACO)
GPU Driver: vulkan-radeon 20.2.3-1 (Host)
Display server: xorg-server 1.20.10-0 (Host), 1.20.9.r21.g5c400cae1-2 (Guest)

@Neightro Thank you for the issue report. I agree that Segfault is something that should normally never happen. It should at least panic or better return Err result somehow. Unfortunately we don't have enough resources to fix it at this moment. Would you like to lead a work on the fix? I will be highly appreciated for your help.

@Eliah-Lakhin I fear that I'm not the most qualified to lead the effort, but I'll do what I can. I'm not sure what the best course of action would be to start with, but I'll read the code for the function I mentioned, and I might try investigating a core dump. What are your thoughts?

@Neightro I think that's a good idea to start. I'm not familiar with this domain, so I can't say anything particular on this topic, but if you do a research hopefully it would be possible to find a core issue and fix it. I will be around to help with review and merge the final solution or maybe to help with some specific things as far as they are in my expertise.

I was able to get this stack trace using rust-gdb:
#0  0x00007ffff76b80ee in ?? () from /usr/lib/libvulkan_radeon.so
#1  0x00007ffff76b8201 in ?? () from /usr/lib/libvulkan_radeon.so
#2  0x0000555555603d35 in vk_sys::InstancePointers::GetPhysicalDeviceSurfaceSupportKHR (self=0x555555ecbb80, physicalDevice=93825000459328, queueFamilyIndex=0, surface=93825002421856, pSupported=0x7fffffffd10c)
    at /home/nathan/.cargo/registry/src/github.com-1ecc6299db9ec823/vk-sys-0.6.0/src/lib.rs:3647
#3  0x00005555555f7fe8 in vulkano::swapchain::surface::Surface<winit::window::Window>::is_supported<winit::window::Window> (self=0x555555fa3d40, queue=...)
    at /home/nathan/.cargo/registry/src/github.com-1ecc6299db9ec823/vulkano-0.21.0/src/swapchain/surface.rs:520
#4  0x00005555555d9dbd in forwarding_test::get_queue_family_indices (device=0x7fffffffd408, surface=0x7fffffffda00) at src/main.rs:92
#5  0x00005555555da7ff in forwarding_test::get_physical_device::{{closure}} (device=...) at src/main.rs:77
#6  0x0000555555629be9 in core::iter::traits::iterator::Iterator::position::check::{{closure}}<vulkano::instance::instance::PhysicalDevice,closure-0> (i=0, x=...) at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/iter/traits/iterator.rs:2376
#7  0x000055555560f755 in core::iter::traits::iterator::Iterator::try_fold<vulkano::instance::instance::PhysicalDevicesIter,usize,closure-0,core::ops::control_flow::ControlFlow<usize, usize>> (self=0x7fffffffd700, init=0, f=...)
    at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/iter/traits/iterator.rs:1888
#8  0x000055555560f613 in core::iter::traits::iterator::Iterator::position<vulkano::instance::instance::PhysicalDevicesIter,closure-0> (self=0x7fffffffd700, predicate=...)
    at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/iter/traits/iterator.rs:2384
#9  0x00005555555d993d in forwarding_test::get_physical_device (instance=0x7fffffffd788, surface=0x7fffffffda00) at src/main.rs:74
#10 0x00005555555d9184 in forwarding_test::main () at src/main.rs:23

From here, I'll spend some time reading the source code for EventLoop, since I notice that there is some X11-specific code there. I would love to learn more about what's going on in libvulkan, though it would probably be hard to debug from Rust.

I did some testing with the code from vulkan-tutorial.com, which uses C++ and GLFW. That program also segfaults on the same function, GetPhysicalDeviceSupportKHR. I still can't get any details farther up the stack from there. It seems likely that the problem is that Vulkan just doesn't support X11 forwarding, but I haven't been able to find a source to confirm this.
Assuming that X11 forwarding is officially not supported, it would be logical to add code to check for forwarded X11 sessions and panic or return Err. Since as far as I can tell winit is not specific to Vulkan, returning Err from within EventLoop::new is probably not a good option, I'm not sure how it might be possible to check from the vulkano side if we're running from within an X11 session, but if we can do that, I can't see this being much more complicated than inspecting $DISPLAY to see if it starts with ':'.
I'm also considering upstreaming this to mesa, though I have no idea if they'll be willing to address this; I don't know what they regard as acceptable in terms of segfaulting.
@Eliah-Lakhin I'll probably ask around to confirm that X11 forwarding isn't supported, but what are your thoughts about preventing this from within vulkano?

libvulkan_radeon.so

That looks like the Vulkan driver is wrongly making the assumption that the display hardware is on the same machine in this case.
To improve performance, games should be able to access graphical memory directly. Linux implemented this model https://en.wikipedia.org/wiki/Direct_Rendering_Infrastructure#/media/File:Linux_Graphics_Stack_2013.svg . It works great when the X server, the X client, and the GPU are on the same computer. In the uncommon case that this assumption doesn't hold, things don't work

After doing some testing, I discovered that this crash also happens when using C++/GLFW on the exact same function, so as far as I can tell you're correct, @danielzgtg . Since this issue is almost certainly not to do with vulkano or winit, I'll work on upstreaming it to Mesa, the Vulkan driver implementation that I use. I'll link here as soon as I have the issue open. Hopefully they'll be interested in implementing a safety check of some sort for this.

Closing this, since it seems that this is a driver bug rather than a Vulkano bug.


ct-point with horizontal label

Hi Gion
Would be nice if ct-point element contains also value from horizontal axis, something like:
<line x1="" y1="" x2="" y2="" class="ct-point" ct:value="" ct:horizontal-label="27.02.2015"></line>

This value is needed for tooltips.
Currently I have workaround for this, which doesn't work when showLabel is false.
chart.on('created', function() {
    var horizontalLabels = svgElement.find('.ct-labels .ct-label.ct-horizontal');

    svgElement.find('.ct-series').each(function() {
        $(this).find('.ct-point').each(function(i) {
            $(this).attr('ct:horizontal-label', horizontalLabels.eq(i).text());
        });
    });
});

Hi Martin
Can't you use meta for this?
var chart = Chartist.Line('.ct-chart', {
  labels: ['One', 'Two', 'Three'],
  series: [
    [{value: 5, meta: 'One'}, {value: 8, meta: 'Two'}, {value: 13, meta: 'Three'}]
  ]
});

Then a ct:meta attribute will be written to the point line elements.
You can automate this with the following helper function:
function labelsToMeta(data) {
  return {
    labels: data.labels,
    series: data.series.map(function(values, valuesIndex) {
      return values.map(function(value, valueIndex) {
        return {
          value: value,
          meta: data.labels[valueIndex]
        };
      });
    })
  };
}

new Chartist.Line('.ct-chart', labelsToMeta({
  labels: ['One', 'Two', 'Three', 'Four', 'Five'],
  series: [
    [1, 5, 4, 3, 4],
    [2, 3, 2, 2, 3]
  ]
}));

Well it is a plugin, so I can't manipulate data which goes into Chartist.Line constructor.
Maybe inside plugin I have to listen "on data event"?
chart.on('data', function() {
    labelsToMeta ...
});

Doesn't work with "on data event":
http://codepen.io/martinsznapka/pen/gbjLeb?editors=101

It works as longs as you dont change the reference / create a new object. Just modify data.data instead of assigning a new object. You can replace series and labels but if you change the object reference of data.data before you modifications youll not modify the same object inside of the chartist pipeline.

function labelsToMeta(data) {
  data.series = data.series.map(function(values, valuesIndex) {
    return values.map(function(value, valueIndex) {
      return {
        value: value,
        meta: data.labels[valueIndex]
      };
    });
  });

   return data;
}

Also useful in this context is that meta can also be a complex object where it will be serialized with Chartist.serialize and can be deserialized from the DOM attribute with Chartist.deserialize.
function buildMeta(data) {
  data.series = data.series.map(function(values, valuesIndex) {
    return values.map(function(value, valueIndex) {
      return {
        value: value,
        meta: {
          label: data.labels[valueIndex],
          labelIndex: valuesIndex,
          value: value,
          valueIndex: valueIndex
        }
      };
    });
  });
}

var chart = new Chartist.Line('.ct-chart', {
  labels: ['One', 'Two', 'Three', 'Four', 'Five'],
  series: [
    [1, 5, 4, 3, 4],
    [2, 3, 2, 2, 3]
  ]
});

chart.on('data', function(data) {
  buildMeta(data.data);
});

$(document).on('mouseenter', '.ct-point', function() {
  console.log(Chartist.deserialize($(this).attr('ct:meta')));
});

http://jsbin.com/wopoya/3/edit?js,console,output

The meta property idea is really nice, keeps Chartist code clean and extensible. I will use it in this way, thx for that!
Just one small thing - if more plugins or main code use meta property then they will overwrite each other. Maybe meta property can contain also postfix, so each plugin will keep its meta data separate. Something like:
[
  {
    value: 5,
    meta: 'One',
    meta-pluginABC: '63%',
    meta-pluginXYZ: '28.09.1982'
  },
  ...
]

Hi Martin, that's an interesting thought! I'm not sure however, if this should be managed by Chartist or if the plugin author should be made aware of checking if meta is already present when his plugin kicks in and not wipe the existing meta object as-well as adding properties with their prefixes on their own. One thing to remember is also that meta can contain also primitive data which wont be serialized / json.stringified. In that case you have no option to destroy the logic of a plugin that was processing earlier. For multiple plugins working together I didn't had so many use cases yet, but if you take the three example plugins, they all work hand in hand and without specification order dependencies. If it's getting more complex and a few plugins work with meta in their own way, I think we will need to find a improved solution.

Ok, good point. Lets keep it in mind in case of meta conflicts.
Thx for your help.


fix for clang parser depth

fix for clang parser depth

Refer to this link for build results (access rights to CI server needed):
/job/libnd4j_PR/55/


Even more widget properties

I am sorry for the delay in reviewing this. Given that this is a large PR, I will try to review it in small chunks, and add a comment or few here and there until it is fully reviewed.
Thank you for your patience.


Agentchat move termination

Why are these changes needed?
Move termination condition to Team constructor.
Current implementation still lets you provide termination condition in run method.

Related issue number

Closes #3984
Checks

[ ] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[ ] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[ ] I've made sure all auto checks have passed.

I think we should remove from TaskRunner.run to minimize interface surface area


Feature Request: Shift + Windows left/right moves between a secondary zone template

Description of the new feature / enhancement
Fancy Zones
A secondary template that is activated by shift as a modifier key.
Scenario when this would be used?
I have an ultra-wide monitor which I split into 4 zones of equal size

I then use windows+left or windows+right to navigate between each of the 4 zones.
It would be great if there was an option to activate a secondary template by using shift as a modifer key shift.
My second template I would split into 2 zones so when I press shift+windows+left or shift+windows+right it automatically snaps to one of the secondary template zones.

Hope this makes sense!
Supporting information
No response

Thanks for the proposal, @alec-pinson! In the described use case you can quickly switch layouts with a Quick layout switch option. It could let you switch between more than just two layouts.
To use it, assign a hotkey to a custom layout in the editor, and apply a layout with Ctrl + Win + Alt + hotkey at any time or with just a hotkey while dragging a window.
Let me know if it helps!

Hi that does work but it's quite a lot of effort to switch to another layout and back each time. I still think my feature would be great :)

I 2nd to @alec-pinson, but slightly different solution. I have an option "Hold Shift key to activate zones on", And it would be perfect for me if additional option: "Hold CTRL (or alt?) key to activate secondary zone template. I mean, holding shift key would highlight and snap to first template (four window place holders as in OP). alternatively, holding CTRL key would highlight and snap to 2nd template (2 window place holders as in OP).


[native_pdf_render] Windows throws PlatformException

I'm getting this exception when trying to view pdf file:
"PlatformException(native_pdf_exception, Document failed to open, null, null)"

I'm getting the same error and a similar one on macOS. It's running perfectly fine on web though.
I think there is a null check (!) somewhere that when the pdf controller gets initialised if that helps.

We had the same error and instead of  PdfDocument.openFile(widget.file.path)
we solved using PdfDocument.openData(widget.file.readAsBytesSync())

This works for me. Thanks!


Cannot access https://app.firezone.dev/ : 403 Forbidden from Russia, Moscow

From Netherlands works well.
Also log from my gateway instance:
2024-12-09T19:33:39.411018Z  INFO socket_factory: Created new UDP socket addr=<IP_ADDRESS>:0 send_buf_size=212992 recv_buf_size=212992 2024-12-09T19:33:39.411175Z  INFO socket_factory: Created new UDP socket addr=[::]:0 send_buf_size=212992 recv_buf_size=212992 2024-12-09T19:33:39.417033Z  INFO firezone_tunnel::device_channel: Initializing TUN device name=tun-firezone 2024-12-09T19:33:39.720615Z ERROR firezone_gateway: Eventloop failed: client error: 403 Forbidden

Hi @nkertzma, unfortunately the Firezone service is not available in Russia due to legal restrictions.
Please see this knowledge base article for more details:
https://www.firezone.dev/kb/reference/restricted-regions


Cannot install git from HEAD

Please note we will close your issue without comment if you delete, do not read or do not fill out the issue checklist below and provide ALL the requested information. If you repeatedly fail to use the issue template, we will block you from ever submitting issues to Homebrew again.

[X] ran brew update and can still reproduce the problem?
[X] ran brew doctor, fixed all issues and can still reproduce the problem?
[X] ran brew config and brew doctor and included their output with your issue?

What you were trying to do (and why)
brew install --HEAD git
What happened (include command output)

Command output

brew install --HEAD git
Updating Homebrew...
==> Cloning https://github.com/git/git.git
Updating /Users/sluongngoc/Library/Caches/Homebrew/git--git
==> Checking out branch master
Already on 'master'
Your branch is up to date with 'origin/master'.
HEAD is now at e870325ee8 The third batch
Entering 'sha1collisiondetection'
/Users/sluongngoc/Library/Caches/Homebrew/git--git/sha1collisiondetection
==> Downloading https://github.com/agrn/git/commit/058d9c128c63b0a4849b384b358cca9bb19c56db.patch?full_index=1
Already downloaded: /Users/sluongngoc/Library/Caches/Homebrew/downloads/0e9058a6c87238906176fc4a24ac5f4c4246a6a83d3b0d0364dd1e1d795202dc--058d9c128c63b0a4849b384b358cca9bb19c56db.patch
==> Patching
==> Applying 058d9c128c63b0a4849b384b358cca9bb19c56db.patch
patching file sequencer.c
Hunk #1 FAILED at 1578.
Hunk #2 FAILED at 4963.
Hunk #3 FAILED at 4973.
3 out of 3 hunks FAILED -- saving rejects to file sequencer.c.rej
Error: Failure while executing; patch -g 0 -f -p1 -i /private/tmp/git--patch-20200426-8467-gdt2s9/058d9c128c63b0a4849b384b358cca9bb19c56db.patch exited with 1.
Please create pull requests instead of asking for help on Homebrew's GitHub,
Discourse, Twitter or IRC.
exit 1

What you expected to happen
Able to install git from master branch of git/git
Step-by-step reproduction instructions (by running brew commands)
brew remove git
brew install --HEAD git
Output of brew config and brew doctor commands

> brew config
HOMEBREW_VERSION: 2.2.13-140-gbfa175d
ORIGIN: https://github.com/Homebrew/brew
HEAD: bfa175d118112989b24908ea16c5a97c1dd011e4
Last commit: 11 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 2e70e6fae7c6da0b2e67e51a7358bdfb40338f0f
Core tap last commit: 4 hours ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_EDITOR: nvim
HOMEBREW_GITHUB_API_TOKEN: set
HOMEBREW_MAKE_JOBS: 8
CPU: octa-core 64-bit kabylake
Homebrew Ruby: 2.6.3 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
Clang: 11.0 build 1103
Git: 2.24.2 => /Library/Developer/CommandLineTools/usr/bin/git
Curl: 7.64.1 => /usr/bin/curl
Java: 11.0.7
macOS: 10.15.4-x86_64
CLT: <IP_ADDRESS>.1.1586360307
Xcode: N/A

Honestly I dont think this is relevant, the monkey patch you guys merged in https://github.com/Homebrew/brew/issues/7374 does not apply cleanly in master branch.

the monkey patch you guys merged in #7374 does not apply cleanly in master branch.

It did at the time it was merged. Such is the nature of HEAD builds - they break without notice.
The "monkey patch" is actually from upstream - it just hadn't been applied to master at the time. It is now as of https://github.com/git/git/commit/f72e06703b14b3bccaaeee97ac82257dff67749c. As a result, the patch can now be moved to a stable do block.


is there a way to use sql query with elastalert

Hello,
I am wondering if it is a way to use sql queries with elastalert since elasticsearch has that feature.

I am curious about this as well


Devise a way to jump back to original location after navigating in UG

Suppose I click on Command Summary link,

I arrive to the bottom of the page.

Is there a way to do some sort of "return to original location button" so users dont have to scroll all the way back up. This problem is mentioned by a few testers (and ms amy too) and i spent quite some time trying to figure how to do it (didnt manage to). Can you find a way to do it?
You cannot rely on the Table of Content to the RIGHT of the UG as shown on the website. This is because it will not be in the final PDF when we do print + save as pdf.  I have two suggestions for this problem:

Move the Command Summary closer to the top if we think that users will want to refer to this section frequently, and at the same time, would like to go back to the top after taking a quick glance.

Hardcode a link or button on every page to bring the user to the Table of Contents.

@jinyang628


Remove Cerberus Checks

We should remove Cerberus checks from Ripsaw.
In the event that the Cluster is unhealthy there's a good chance that Ripsaw may not be able to take action on anything, including updating the state of the benchmark. Moreover, we haven't seen any benchmarks leverage this and so it may not be needed at this layer.

I am in-favor of removing this from Ripsaw... I know across the team we don't use this functionality.

+1 we don't use if for managed services either.

Let's get a PR to remove it. Thanks @whitleykeith !


Forked from aidlearning/AidLearning-FrameWork  🔥🔥AidLearning build Linux environment running on the Android devices with GUI, Deep-Learning and Python Visual Programming support. Now support VSCode,Jupyter, pyToApk! One-click install.🚀   Python

No description provided.

No description provided.

https://github.com/cschleiden/github-actions-hero/issues/12#issuecomment-753435991

https://github.com/cschleiden/github-actions-hero/issues/12#issuecomment-753435991

https://github.com/cschleiden/github-actions-hero/issues/12#issuecomment-753435991

https://github.com/cschleiden/github-actions-hero/issues/12#issuecomment-753435991

#12 (comment)

#12 (comment)


Updated gulp commands to use optional conf param; Updated readme file.

Coverage remained the same at 97.959% when pulling 880587d1eb6224b21b42a00163f6b090f292e93e on lordgreg:feature/testing-config-parameters into 803b012e9e49bc3a775a07c53b67504c6bf9bc08 on mwaylabs:master.

Moved here #480. Closing this one.


Zefi improvement

Got some time to rework this old base of code I made.
Try the PR on tests/arch/x86/info  on EHL with OEM UEFI BIOS for instance, ACPI is working there now. Thus PCIe MMIO, thus SMP, thus VT-D etc...

Refresh +1. Interestingly I'm about to be diving back into EFI soon and this would be nice to have merged first.

I'd like it too
Unfortunately EHL issue is still eluding me, the data in zefi gets 0ed. I am missing something

Spoke too fast, it was not 0ed after all. It was an acpi/efi ordering issue. (I trusted efi_get_rsdp_acpi() without thinking about such ordering...)
Now it works.

lgtm - re-approved


[AVOCADO-253] Add joint variant caller, direct save to VCF.

Resolves #199, #253. Adds back a joint variant caller that computes rolled up variant level statistics and that saves directly out to VCF. This uses a binomial prior based on the alternate allele frequency to update the genotypes. We use the posteriors to generate the variant quality score.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/avocado-prb/211/Build result: FAILUREGitHub pull request #266 of commit 71f0e3e20a56ebb549470159cb4a98047089f566 automatically merged.[EnvInject] - Loading node environment variables.Building remotely on amp-jenkins-staging-worker-02 (ubuntu staging-02 staging) in workspace /home/jenkins/workspace/avocado-prb > git rev-parse --is-inside-work-tree # timeout=10Fetching changes from the remote Git repository > git config remote.origin.url https://github.com/bigdatagenomics/avocado.git # timeout=10Fetching upstream changes from https://github.com/bigdatagenomics/avocado.git > git --version # timeout=10 > git fetch --tags --progress https://github.com/bigdatagenomics/avocado.git +refs/pull/:refs/remotes/origin/pr/ > git rev-parse origin/pr/266/merge^{commit} # timeout=10 > git branch -a -v --no-abbrev --contains 1e39b43d08478a1cd9446a41270d58820e652a38 # timeout=10Checking out Revision 1e39b43d08478a1cd9446a41270d58820e652a38 (origin/pr/266/merge) > git config core.sparsecheckout # timeout=10 > git checkout -f 1e39b43d08478a1cd9446a41270d58820e652a38First time build. Skipping changelog.Triggering avocado-prb » 2.3.0,2.11,2.0.0,centosTriggering avocado-prb » 2.3.0,2.10,2.0.0,centosTriggering avocado-prb » 2.6.0,2.11,2.0.0,centosTriggering avocado-prb » 2.6.0,2.10,2.0.0,centosavocado-prb » 2.3.0,2.11,2.0.0,centos completed with result FAILUREavocado-prb » 2.3.0,2.10,2.0.0,centos completed with result FAILUREavocado-prb » 2.6.0,2.11,2.0.0,centos completed with result FAILUREavocado-prb » 2.6.0,2.10,2.0.0,centos completed with result FAILURE
Test FAILed.

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