Protected method not ignored when searching for extension method

Compiler version
3.5.2
Minimized code
class C
object Implicits {
  implicit class RichC1(c: C) {
    // Please notice the protected:
    protected def m(): Unit = println("foo")
  }
  implicit class RichC2(c: C) {
    def m(): Unit = println("bar")
  }
}
object Sample {
  import Implicits._
  val c = new C
  c.m()
}

Output
Found:    (Playground.Sample.c : Playground.C)
Required: ?{ m: ? }
Note that implicit extension methods cannot be applied because they are ambiguous;
both method RichC1 in object Implicits and method RichC2 in object Implicits provide an extension method `m` on (Playground.Sample.c : Playground.C)

Expectation
should compile

Even if it's technically a bug, I'm curious what the intent behind this code is? Why would an implicit class even have a protected method?


Update CHANGELOG for v0.2.11 release

Wasn't paying attention and named the commit after the golangci-lint release version instead of this project's release version. Oh, well ...


Why method chaining is allowed by default in generated entities?

Is there a good reason to allow method chaining by default in generated entities?
class Product
{
    public function setName($name)
    {
        $this->name = $name;

        return $this; // Why this is by default?
    }
}

I think this feature should only be present when it is needed. I there is no reason to have it by default, I'd like to make it configurable. What do you think about that?

@Kwadz I would rather just drop it: it's a bad practice, but it seems like many rely on it (yes, we tried dropping it before).
Closing here - possible change for 3.x, but we'd split the entity generator out anyway, so I'm closing this one as won't fix

Sorry, I just realized: "but it seems like many rely on it (yes, we tried dropping it before)."


Add log statements for SEB route name

To help with debugging why https://issues.redhat.com/browse/RHTAPBUGS-322 isn't fixed on prod.

/retest


Not working on latest UI change

The following JS error is appearing in the console:
contentScript.js:165 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'addEventListener')
    at main (contentScript.js:165:16)
    at checkScreenSize (contentScript.js:341:9)
    at contentScript.js:426:1

It looks like this code:
    // select parent element and send button
    const chatboxParentElement = chatboxElement.parentNode;
    const sendButton = chatboxParentElement.querySelector('button:nth-child(2)');

Needs to be changed to:
    // select parent element and send button
    const chatboxParentElement = chatboxElement.parentNode.parentNode;
    const sendButton = chatboxParentElement.querySelector('button:nth-child(3)');

I'm not sure how to modify the chrome extension code and test it out to make a PR. If you have instructions for that I can do it properly.

Oh man, good catch. I hadn't noticed until a few minutes ago that it was broken. I'll submit the fix right now

I figured out how to get a chrome extension running from source, but it looks like the above fix is not working.

yup, the latest update did a lot of damage, debugging now

One person's progress is another's damage ;)
The audio works fine for me with the PR I submitted. I haven't ever used snippets though, so you may want to check it out, but just the HTML structure change was the immediate breakage.
BTW, what do you use snippets for? I can't think of a situation for myself to use it.

Checked everything, it looks great, merging. I use snippets for phrases I have to say/type a lot, like for separating sections of text I'll just say "segment" and it'll insert the following (paragraph break + "---" + paragraph break):

That and other long sentences that I've found myself repeating

Cool, thanks for the info. I'll see if I can find some instances where I'm repeating myself.


[fix] Menu Builder

Fixed bug when inserting menu item.
Single Modal for both actions menu (Add/Update).
Working with Translations.

Please, don't merge this. I need to change a few things.

Great work 👍


feat: scroll to top button

Description
I want to add a button at bottom right corner which scrolls back to top of the page.
Have you read the Guidelines to create a new Issue?

[X] I have read and I am following the guidelines for creating a new issue

Can I work on this

@Shubhrajyoti24 glad you're here! Join Discord in case you need any help for ur PR (see README for link)

Also, Make this button a global component

Will do it. Am also grateful to contribute here. @ashuvssut Thanks!

@abel-otegbola we are always looking for such helpful global components. If you have some cool ideas like #49 or like this issue, please open up a new issue!


Enter to invite members does not work when everything is out of focus and all results are selected

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open the app in mac safari, mac chrome, windows chrome
Open settings
Open Workspaces
Open any workspace
Open manage members
Click on Invite
Search for specific user
Select the search results
Click on empty space to get everything out of focus
Click enter

Expected Result:
App should invite the users to the workspace
Actual Result:
App does nothing when everything is out of focus and enter is clicked, same steps on new group creation works perfectly fine
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

Version Number: 1.2.87-0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
https://user-images.githubusercontent.com/43996225/226645707-c8017fd7-ccdd-4d4a-91aa-e67f2e803312.mp4
https://user-images.githubusercontent.com/43996225/226645735-1c4655e7-6992-4cc9-b31c-a75d1aa15796.mp4
Expensify/Expensify Issue URL:
Issue reported by: @dhanashree-sawant
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1679325433144509
View all open jobs on GitHub

Triggered auto assignment to @sakluger (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

@sakluger Whoops! This issue is 2 days overdue. Let's get this updated quick!

It's not clear to me what the correct behavior is here when clicking enter, so I'm bringing it up for discussion in the Slack thread.

@sakluger Whoops! This issue is 2 days overdue. Let's get this updated quick!

@sakluger Eep! 4 days overdue now. Issues have feelings too...

I've thought about this more, and I'm still not convinced that this is a bug. When paging up and down through a list of rows where multiple rows can be selected, it makes sense to me that clicking enter would select that row, rather than create the group chat. I'm going to close this issue for now.


Put conditions inside try statements according to changes required.

Please ignore the commits from my other account, they're all the same, I just had the wrong account.


tweaks not working

Hey, really cool color scheme! However, it seems overriding the tweaks does not work at all for me.
NVIM v0.10.0
Windows 11

glad you like the scheme :) sorry bout the bug, I patch it asap!

Just took a look and the  main branch seems to be working for me, try updating your plugin, this is probbly due to a patch I merged yesterday to fix typos everywhere in my codebase, #33, it changed tweek_syntax -> tweak_syntax  and I made a patch that makes  lackluster backwards compatable #34, but if you have an old version it wont know what tweak_syntax is... let me know if that fixes your bug :)

Yep, that solved the problem! Silly me for not updating..

sweet! glad that worked :)


Line Number Commands

I'm getting an error trying to use the line number commands. both .addlinenumbers and .removelinenumbers produces an error and no changes are made. not sure if this is enough information for you, let me know if i can be more specific.

@EoghanOfLight, I've just spent a couple minutes looking at this.  It's working for me, with the sample code I have.  I'm going to need a little more information to troubleshoot this.  What are you seeing that indicates an error?  Is there an error message?  Could you provide a screenshot?
Here's a test you can do.  Copy the content of the sample.nc file from my repository.  Save that content into a new file on your system and run the commands on that file.  If the behavior is different than what you see in your own program, I'd be interested to see your code.  You may have something going on in your program that I haven't thought of / guarded against.
Scott


superputty not coming up

I am facing a problem, whenever I am double clicking superputty.exe , it is starting but the gui is not coming in the front. I can see in the task manager that the process superputty has started, but nothing is coming. I have tried with admin privilege, compatibility mode . I am having win 7.

Can you check your .NET version in your Win7  and paste the version here ?

4.5.51209 is the .net version .

I checked the release code which was build based on .net 3.5. I'm not sure if you have installed this version.

I have got superputty <IP_ADDRESS> and <IP_ADDRESS> and both are not working.

Could you have a try to install .net 3.5? After installing .net3.5, you can try to run SuperPutty again.
You can download the target version from the following link:
https://www.microsoft.com/en-us/download/details.aspx?id=21

I found this to be a problem too, I noticed if the path where the session.xml config is found is missing, in my case it was a network share that wasn't "connected", it would silently fail. no error, nothing.
This isn't a great way to exit a program error and superputty should handle these problems better.

I had this same problem.  Would silently fail.  Tried downgrading/upgrading and nothing seemed to work.
Poked around and found the error logs, and saw this message:
System.UriFormatException: Invalid URI: The hostname could not be parsed.
which occurred while trying to check for updates.  Here's the whole trace:

2016-07-13 15:51:49,281 [1] ERROR SuperPutty.Program - Error in Main
System.UriFormatException: Invalid URI: The hostname could not be parsed.
at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)
at System.Net.WebProxy.GetProxiesAuto(Uri destination, Int32& syncStatus)
at System.Net.ProxyScriptChain.GetNextProxy(Uri& proxy)
at System.Net.ProxyChain.ProxyEnumerator.MoveNext()
at System.Net.ServicePointManager.FindServicePoint(Uri address, IWebProxy proxy, ProxyChain& chain, HttpAbortDelegate& abortDelegate, Int32& abortState)
at System.Net.HttpWebRequest.FindServicePoint(Boolean forceFind)
at System.Net.HttpWebRequest.BeginSubmitRequest()
at System.Net.HttpWebRequest.BeginGetResponse(AsyncCallback callback, Object state)
at SuperPutty.httpRequest.MakeRequest(String url, Action`2 callback)
at SuperPutty.frmSuperPutty.checkForUpdatesToolStripMenuItem_Click(Object sender, EventArgs e)
at SuperPutty.frmSuperPutty..ctor()
at SuperPutty.Program.Main(String[] args)
2016-07-13 15:51:49,291 [1] INFO  SuperPutty.Program - Shutdown

What I ended up doing was modifying the AutoUpdateCheck setting (set to False).  This allows the program to open successfully, for me.  I can still get SuperPutty to show the error message if I manually check for updates, via the Help menu.
I believe I've traced this down to my work's proxy/automatic configuration script (zScaler).  Once I turn that script off, I don't have any issues with starting SuperPutty or manually checking for updates.

@scottgoering Thanks for the tip! I ran as administrator to get it to start, then unchecked the flag in the options for it to check for updates. Now it doesn't require "run as administrator" to start up. Without doing that, the SuperPutty.exe would consume an entire CPU indefinitely after startup and the GUI would never come up.

To capture the log I did,
C:\>"c:\Program Files (x86)\SuperPuTTY\SuperPutty.exe" > superputty.log 2> superputty_error.log

In superputty.log I see,
System.Configuration.ConfigurationErrorsException: Configuration system failed to initialize ---> System.Configuration.ConfigurationErrorsException: '.', hexadecimal value 0x00, is an invalid character. Line 15, position 1. (C:\Users\karthik\AppData\Local\http___www.jimradford.com\SuperPutty.exe_Url_2ogbfhb2el1qutg2z2ptnyqlkqfyyi05\<IP_ADDRESS>\user.config line 15) ---> System.Xml.XmlException: '.', hexadecimal value 0x00, is an invalid character. Line 15, position 1.

I don't understand this.
Just deleted "http_www.jimradford.com" folder inside "C:\Users\karthik\AppData\Local" and started SuperPutty, it started again.
One issue is that, it forgot the Putty location so I had to specify that agian.


Add a logging option

I don't know if I'm the only one who needs this, but because ecstatic is my main development server, I often wish I could see the requests in the console. I would like to be able to enable it with a simple CLI flag.
For log format I was thinking something like https://en.wikipedia.org/wiki/Common_Log_Format

Yeah I could get behind a simple CLF-based logging format

How about we integrate morgan? It offers a variety of log formats.

@mk-pmb interesting. I'll take a look

Example code for ecstatic stacked with logging.

I think it's a reasonable stance to say that ecstatic's logging should be extremely lightweight and intended for stdout only. If this means pulling in a module this is OK, but should definitely not overengineer this. If a tiny custom class works just as well, we should consider that as well.

Alternatively, we could consider implementing a very light-weight sub-middleware chaining mechanism inside the middleware function we return, so people can plug whatever logging and more. (Yo dawg, I heard you like middleware…)

idk about sub-middlewares (I've been toying with the idea of moving away from express middleware support for well over a year now anyway), but a log property on the existing middleware to hook onto would make a lot of sense.


fix(pocket alb application): Apply httpRequestCount actions correctly

Goal
Fix a bug that applied the httpLatency actions to the HTTPRequestCount alarm.
Implementation Decisions
There is some duplicate code between the three alarms, which is likely how this bug was introduced. It would be nice to make this code more DRY, but I'm considering it out-of-scope for this fix.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Override Failure.toString implementation

Avoid the very confusing failure message like
1 targets failed
ws.resolvedIvyDeps mill.api.Result$Failure
    mill.api.Result$Failure.map(Result.scala:75)
    mill.api.Result$Failure.map(Result.scala:74)
    mill.scalalib.Lib$.resolveDependencies(Lib.scala:77)
    mill.scalalib.CoursierModule$Resolver.resolveDeps(CoursierModule.scala:146)
    mill.scalalib.JavaModule.$anonfun$resolvedIvyDeps$3(JavaModule.scala:535)

I don't understand what happened between Mill 0.11.10 and 0.11.11 which broke the error messages.

Probably was broken by https://github.com/com-lihaoyi/mill/pull/3330

getOrThrow is a lossy conversion in case of Failure. Isn't it better to return Result[Agg[PathRef]] in resolveDeps?

Possibly; throwing exceptions is quick and dirty, but the current loss of error message is just a bug AFAICT and isn't fundamental to the question of exception vs result. I thought I propagated the error message in that PR, but clearly i missed something.
We could add an overload to return a Result, but I think that's orthogonal to fixing the issue at hand

The bug should be fixed in #3391.
Nevertheless, we can improve the toString implementation so that in the rare case that someone calls .toString, the result has meaning. It can also be "Result.Failure($msg, $value)"

I think the provided patch won't improve the error message presented in the initial comment. In contrast to the merged PR #3391. We should keep the default toString of the case class.

The toString already overrided by Failing trait. Implement toString actually ensure the msg not lost at every corner case.


feat(errors): create new error types to carry more info

This is a commit with the prototype code for the new error message formats. This isn't final but it's ready for a more thorough review and using a PR seems like the best way to do it. I'll mark this as a draft and tests are still failing as I clean things up but please begin to leave feedback and comments!
One big thing that is still unaddressed is a programmatic way to enumerate possible error codes. That's going to be a difficult problem to solve.

We discussed this in person but I'll leave responses to your feedback here so we have it in writing

Perhaps we could consolidate a few of the "discriminator" values. If the discriminator value is only one of multiple values that are used to create a "hash" then it might not be important to have super granular discriminator values. For example, in jwt_utils.go perhaps all three calls to coreSDKErrorf() could use "invalid-token" or "invalid-jwt" for the discriminator.

The purpose of the discriminator is to differentiate between errors that would otherwise have the same hash. For example, in jwt_utils.go, two of the calls to coreSDKErrorf() are in the same function but happen for different reasons. The discriminator is there to ensure we can capture different scenarios with different hashes. Therefore, I think it often helps for them to be fairly granular. We could potentially revisit how granular we want the hashes to be, though.

We might want to scrutinize the various discriminator values that we use (I have my info developer hat on while making this statement 😂). Perhaps "invalid-input" instead of "bad-char", etc.

Something I should have documented is that the discriminator is not ever meant to be seen by the user. It's a private field, so it won't be accessible and it won't appear in the YAML-ified log messages. It's just there as a convenience field for developers to "discriminate" between errors. So, the user-friendliness shouldn't be too relevant. That said, I agree it's worth taking a look to see if any of them detract from the readability of the code itself.

We might also want to include as part of this work changes to our error message constants so that the actual messages are not capitalized, which I think is idiomatic for Go (e.g. "Error while turning the light on" should be "error while turning the light on" 😄)

Good idea - I hadn't been aware of that but I agree, this would be an appropriate time to make such a change.

As potential consumer of this PR - i would like to extend HTTPError with
type HTTPError struct {
...
	// StatusCode same as Response.StatusCode
	StatusCode int

	// Errors array of `errors` from Response
	// if Response contains `error` instead of `errors` it will be the only element of Errors
	Errors []Error
}

so i could do something like
	err = callClientFunction()
	if err != nil {
		var httpErr HTTPError
		if errors.As(err, &httpErr) {
			if httpErr.StatusCode == 404 {
				return
			}
			fmt.Println(httpErr.Errors)
		}
	}

vast majority of errors we have to handle is coming from:
https://github.com/IBM/go-sdk-core/blob/main/core/base_service.go#L457
assuming we do this call in some handler in our microservice and we want e.g. to fail request with proper array of errors from downstream services, that would help a lot (we can do all this using DetailedResponse, but if we had this in error that would be very convenient)

As potential consumer of this PR - i would like to extend HTTPError

Thank you for posting the feedback! The more eyes we can get on this change, the better. I'll discuss this proposed change with the team. That is helpful to be aware of.

PS. please don not change current value returned by err.Error()
i bet there is a lot of existing code

Great call. It has been my goal to keep the existing error messages intact so that err.Error() would return a consistent string. I'll double check the code to make sure I didn't thoughtlessly change anything.
Thanks again for looking this over and providing feedback. Feel free to share any other thoughts you have.

@padamstx @pyrooka @hudlow this is now ready for review. I need to add some tests and finalize a couple of details but the bulk of the logic should remain as it is now. I also might split some of the new logic into separate files because the errors.go file is a bit monolithic. But it should be okay to review as is.

we can do all this using DetailedResponse, but if we had this in error that would be very convenient

@bartlomiej-malecki unfortunately, this was a bit too complicated to make it into the initial MVP scope but I still think it's a great idea and I hope to deliver it as a follow-on soon. It should be doable in a compatible fashion.

@pyrooka good questions! I'll answer here:

Wouldn't be good (in long term) to create and use the discriminator strings as constants? E.g. having a discriminator.go so we can use them as discriminator.ObjIsNil.

It's a good idea but I still want to avoid using constants for a couple of reasons. The biggest one is, we need to keep in mind how we are going to enumerate the possible errors within this package. Having the string value of each discriminator right in the error constructor makes statically computing the hash value for that created error much easier. I know that's not the best reason in the world to make code decisions but it's a very real problem before us. That, and the fact that many of the discriminators only have one usage and I'm not sure it's worth writing a whole new file for keeping track of them. Some values are used more than once, like in authenticators, but that doesn't actually matter that much. They shouldn't ever change once I commit them but even if one did or if I messed one up, consistency doesn't add any value beyond aesthetic.

Wouldn't it worth to pass the err objects to the "constructors" like SDKErrorf every time, even if they are not used? I am thinking of future scenarios where we might need them... 😄

The errors are only meant to be passed to the constructors if they are coming from a separate IBM Cloud component, like an HTTP service or another SDK. They are used as the "caused by" error to chain them together. Even though we have to accept an error type, the argument should really should be a Problem. I prefer to keep that clear by only passing in the variable when we know we want to use it as a "caused by". If we need the errors in the future (the only thing we could ever really use from them is the message), we can always just pass them in without a compatibility issue (I think).

I know this is the only initial work and the change is already huge, but I am pretty sure we want to have unit tests for the new functions in the future.

100% - not just for the future, but now 🙂 I am working on them for this PR.

Thanks for the answer @dpopp07!
Re: the discriminator constants, it makes sense and I think you have already explained to me. I just wanted to make sure I understand your approach.
Re: passing the errors - okay now I see.

100% - not just for the future, but now 🙂 I am working on them for this PR.

Sorry, I might missed that but agree, we should have them before merging. I just didn't want to be pushy and say "LGTM, but can't approve without proper unit tests...". :)

:tada: This PR is included in version 5.16.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add a wrapper for fields_for

I'm trying to add a wrapper to a fields_for call, for example ...
= simple_form_for model do |f|
  = f.fields_for :associations do |ff|
    ...

... should wrap each association in a div tag with class nested-field:
<form>

    ...

    ...

</form>

The inputs should still use the default wrapper of the form, so basically I simply want to add a div around each association. I played around with the wrapper option, but this changes the wrapper of each input and does not simply wrap the fields_for.
Using ...
= simple_form_for model do |f|
  = f.fields_for :associations do |ff|
    .nested-field
      ...

... nearly archives that, but the hidden id field of the instance is rendered outside of .nested-field.
Is this possible to have a wrapper for everything?

@doits why not to use simple_felds_for?

Please use the mailing list or StackOverflow for questions/help, where a wider community will be able to help you. We reserve the issues tracker for issues only.


Java: Default unit test for Azure Function doesn't test anything

Steps to reproduce:

create a new Azure Function Project using the Azure Function VS Code PlugIn . Choose language Java and default values.
The path src\test\java\com\function\FunctionTest.java contains an autogenerated unit test for the Function class in src\main\java\com\function\Function.java.
One would expect the test to fail, if the HTTP status code of the repsonse generated by the Azure Function inside the Function class returns something is different from 200 -- OK.
Run original test => passed;
Modify the Azure Function HttpTriggerJava in Function´.java:
replace this part (lines 26-30)

if (name == null) {
     return request.createResponse(400, "Please pass a name on the query string or in the request body");
} else {
     return request.createResponse(200, "Hello, " + name);
}

with this:
return request.createResponse(500, "This unit test is pointless");

Run test again => still passes.

By default you're mocking all characteristics of the response. Except for the case when the function returns null, the test can never fail.

Here's an alternative approach.
Create a class that implements HttpResponseMessage:
package com.your.package;

import java.util.HashMap;
import java.util.Map;

import com.microsoft.azure.functions.HttpResponseMessage;

public class MockingHttpResponseMessage implements HttpResponseMessage<String> {

    private int status;
    private Map<String, String> headers;
    private String body;

    public MockingHttpResponseMessage() {
        this(0, null);
    }

    public MockingHttpResponseMessage(int status, String body) {
        this.status = status;
        this.body = body;
        headers = new HashMap<String, String>();
    }

    @Override
    public int getStatus() {
        return status;
    }

    @Override
    public void setStatus(int status) {
        this.status = status;
    }

    @Override
    public void addHeader(String key, String value) {
        headers.put(key, value);
    }

    @Override
    public String getHeader(String key) {
        return headers.get(key);
    }

    @Override
    public String getBody() {
        return body;
    }

    @Override
    public void setBody(String body) {
        this.body = body;
    }
}

Replace these lines in the unit test:
final HttpResponseMessage res = mock(HttpResponseMessage.class);
doReturn(res).when(req).createResponse(anyInt(), anyString());

with this:
doAnswer(new Answer<MockingHttpResponseMessage>() {
            @Override
            public MockingHttpResponseMessage answer(InvocationOnMock invocation) throws Throwable {
                Integer status = (Integer) invocation.getArguments()[0];
                String body = (String) invocation.getArguments()[1];
                return new MockingHttpResponseMessage(status, body);
            }
        }).when(req).createResponse(anyInt(), anyString());

Don't forget to
import static org.mockito.Mockito.doAnswer;

Now you can use assertions to test the result of your function.
See this StackOverflow thread for mockito details.

@hf-kklein Thanks for the feedback.
Since this is a archetype related issue, Let's tracking it here: https://github.com/Microsoft/azure-maven-archetypes/issues/44


How to catch Read request?

Hello,
Please, how to catch Read value request from iOS to device?
thank you

I found "GET characteristic" log at HAP section.
How can I catch this event?
Thank you.

Hello, any advice about catch "get request"?
Thank you

Why do you want to catch this request?

when I start Home App, it request statuses. Then I catch this request and make request to hardware and return actual statuses.

HC didn't provide an interface to do that.
You should have an Interval in your app which pulls the value from your Hardware and set it as the current value in HC. Or your hardware should push on a change his current value to a interface MQTT or HTTP Server which gives the value into HC.

Here is an example of one off my apps, which pulls the state from a thermostat bright and set the current temp on the related HC termostat
https://github.com/timoschilling/fritzbridge/blob/master/fritzbridge.go#L73

Thank you!


issue/3777-Project venv path gets deleted without prompt

Description
Improve log message on VenvActivationFailedError
closes #3777
Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

[x] Attached issue to pull request
[x] Changelog entry
[ ] Type annotations are present
[ ] Code is clear and sufficiently documented
[ ] No (preventable) type errors (check using make mypy or make mypy-diff)
[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Correct, in line with design
[ ] End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )

Processing this pull request

Merged into branches iso6, master in 6d8e29b5bf5d95a7d05ec831a81e797b44cb347b

Processing #5442.


Meta Tags adding in the same html.index file

Hi there!
First of all, thank you very much for developing such a wonderful package. I was playing with this package and I am using go_router when I discovered this suspected issue.
For a little bit background of the issue:

I have created a new flutter project, add 2 packages (Meta_Seo & GO_ROUTER)
I added two stateful screens (Main Screen, Screen 2)
Now When I navigate from one screen to another screen, the meta tags are added again and again in the same index.html file.

Eg:
When I route to Screen 2, the meta tags from screen 2 are added to index.html and when I route back from screen 2 to main screen. The meta tags of main screen are added (again) in the html file.

Thank you for your feedback, I am working on auto dispose MetaSEO version will published soon.

The updated version is already published. Greetings,


Sending Payment does not confirm

I build on RaspiBlitz (so LND in the backend) from master. Funded a wallet with 10 sats (worked) and the tried to pay a invoice from satoshis.place for 1 pixel using the SEND option in my lnbits wallet.  satoshis.place confirmed that the payment was send (my pixel was paid) but the LNbits stays on this screen (processing) and I see a GET-request polling in the background (returning paid:false) ... never confirms the done payment on the LNbits side.

@fiatjaf is there some websocket thing not kicking in? And why is polling failing to get the correct result?

No, there's not any websocket or new async stuff in this flow. This is more likely to be some bug I introduced in the LndRestWallet code. I'll take a look.

The problem is that LND provides no way of checking that a single payment was completed.
On LndWallet we do this: https://github.com/lnbits/lnbits/blob/fc6e49b8218e1d21af41e9ac9714ae49d2da82a4/lnbits/wallets/lndgrpc.py#L114-L115
On LndRestWallet we list the last 20 payments and try to find the one we're looking for in there. Maybe in your case there were more than 20 payments after the one you were checking?
Anyway this is not an optimal solution.

Actually no, it failed because the reverse parameter wasn't being passed, so LNbits is checking for the first 20 payments, not the last 20.


ERROR: unsupported: subqueries in DML, vtgate: http://c628e0fd13d9:15001/

@sougou as per your request:
Following query is throwing error:
UPDATE asset
            set max_visibility =
              (
              SELECT MAX(visibility_level)
              FROM permission p
              WHERE asset.tenant_id = p.tenant_id
              AND asset.provider_id = p.provider_id
              AND asset.account_group_id = p.account_group_id
              AND asset.bc_asset_id = p.bc_asset_id
              GROUP BY asset.tenant_id, asset.provider_id, asset.account_group_id, asset.bc_asset_id
              )
              WHERE asset.tenant_id = X'aeb3c4ddf9404359a1de75dd65d9d0b9'
              AND asset.provider_id = X'7c7cb49b00ef11e6a8bbf72e420ce53c'
              AND asset.account_group_id = X'F6388D3EBBD811E6BB76250737595C90'
              AND asset.bc_asset_id = X'14DBF7A02D5D1D507E920FF43EDE6B19'

@bbeaudreault added support for this via https://github.com/youtube/vitess/pull/3038


Level control resets the local logging level when no events are written in durable mode

From #75
The finally block below resets the switch to null when the batch count is zero and no background check is due:
https://github.com/serilog/serilog-sinks-seq/blob/dev/src/Serilog.Sinks.Seq/Sinks/Seq/HttpLogShipper.cs#L226
CC @siabrac

Fix in 3.3.4-dev-00126. Looking into one more possible durable/level control interaction, will figure that out and then get a new release published.

One additional issue fixed in 3.3.4-dev-00129.


update the current spells

Updating the cheatsheet to include the spells, so people would be able to discover them faster

[x] Documentation added for any new functionality

True. No idea of how to do that yet. I like that I can quickly fix it in keynote and produce a nice-looking result at the same time.


[AIRFLOW-771] Make S3 logs append instead of clobber

Dear Airflow Maintainers,
S3 logs are clobbered at the moment by new task instance runs which is bad e.g. in the case of retries. Appending is already the case for GCS logs.
Please accept this PR that addresses the following issues:

https://issues.apache.org/jira/browse/AIRFLOW-771

@artwr @bolkedebruin @plypaul

Current coverage is 66.91% (diff: 0.00%)

Merging #2003 into master will decrease coverage by 0.02%

@@             master      #2003   diff @@
==========================================
  Files           138        138
  Lines         10531      10531
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           7050       7047     -3
- Misses         3481       3484     +3
  Partials          0          0

Powered by Codecov. Last update b56cb5c...ac62b93

Should we go change the default in the airflow/utils/logging.py instead?

I do not have a strong preference, will make the change.


Running different models with the same code. From Issue #3

I updated gen_dataset.py, sample_lcs.py, importance_sampling.py, plot_global.py, and plot_testdata.py.  I did not make a generalized version for gen_pgm.py mostly because I couldn't think of a "nice" way to do it.
For each file I defined a function that executes the main purpose of the file with two inputs: the number of SNe and the underlying model of the populations (these two are in ALL of the files so you must keep them consistent). This also means that all of the files can be easily altered to do multiple analyses at once.
For example in gen_dataset.py, at the top of the file you must define
#####  Inputs
N = 20
Model = PM.MultiPop()
#####

Then it defines the function to generate the data sets.
def gen_dataset(nsne, under_model):
    """Generate a fake set of SNe from the SALT2 model."""
    ...
    return

Then it executes the function through
gen_dataset(N, Model)

To do multiple cases at once, you would just need to define other N or Models and run gen_dataset(N,Model)  with those parameters.
Phil and Kyle envisioned different styles for this refactoring so I tried to take the middle ground. It's not quite an importable folder, but it can easily be turned into one.

The population models are defined in a new script called Population_Models.py and are imported in each file by:
import Population_Models as PM
The options are
PM.SinglePop()   for the original distribution
PM.MultiPop()     for the distribution I implemented during the DESC Hack Day
Each population has 4 functions defined:
__init__
Where I defined all the nuisance and cosmology parameters and also the bounds for the flat priors, the labels for contour plots, and the initial position for MCMC runs.
name(nsne)
Gives the naming scheme for populations as a function of the number of SNe generated. For example:
MP_20 for Multiple populations and 20 SNe.
gen_dataset_params(nsne)
Generates the redshift, apparent flux, color and stretch parameters for each data set with a defined number of SNe.
lnlike(parameters, snsamples)
defines the log likelihood used in importance_sampling.py

Sorry I haven't responded to this yet! I'm going to be out of internet contact for the next week but I'll take a close look when I get back March 9!

This looks pretty good. I'm going to go ahead and merge this so we can move on to other issues.

BTW, a further possibility for refactoring: sncosmo now includes an mcmc_lc() function that could be used for sampling the LC parameters for each SN (the "inner" parameters).
See http://sncosmo.readthedocs.org/en/v1.0.x/api/sncosmo.mcmc_lc.html


README improvement suggestion

https://github.com/stsrki/Blazorise "2. Source files" - I am alluding to your README "Add js:" section - tell users to add it to index.html in wwwroot.

Thank you for your advice. I will improve it.

README been updated.

Thanks


Pattern for define type of class extends an abstract class.

Hi,
I am looking for a pattern that allows me to create a command pattern object from an classes that extends from an abstract class. The abstract class have some helper method and implement the default values for the properties defined in an interface.
This type of ATest (see below) should the base element, because the getValue method will declared in the classes that extends ATest.
So the question is if there is a proper sollution or a way to define an interface, contain a bunch of classes, that extends an abstract?
// a base interface that spec the properties
interface ITest {
	value: string;
	getValue(): string;
}

// abstract class that implements helper methods
abstract class ATest implements ITest {
	value: string = 'new String';
	abstract getValue(): string;
	constructor() {
		// create default value pattern
	}

	protected helper(num: number): string {
		return String(num);
	}
}

// implementing class
class Test extends ATest {
	constructor() {
		super();
	}

	getValue(): string {
		return this.value;
	}

	getNumVal(num: number) {
		return this.helper(num);
	}
}

// this should implement the command pattern
// how can this a class that extends from the abstract class ATest?
interface ICommandTest {
	[name: string]: typeof ATest;
}

var commandObject: ICommandTest = {};
commandObject['test'] = Test;
// Does not work
//let Cmd: typeof Test = commandObject['test'];
let Cmd = commandObject['test'];
let test = new Cmd();

I think you are looking for
interface ICommandTest {
    [name: string]: ATest;
}

when you write typeof ATest, you are getting the class from whence an instance was created (more or less).

Consider
type T = typeof Date;

T is the type DateConstructor.

Hi,
I want to get the class explicitly passed and call the constructor in the method. Otherwise I head to use the factory way.

OK, I missed that requirement. This can still be done by declaring the type returned by the index signature to be a constructor function which returns a type derived from ATest
    [name: string]: new () => ATest;

[name: string]: new () => ATest; indeed looks like the right declaration here.


test: fix exec preserve-fds test

it specifies a fd is passed down but we are not really doing it, and it triggers the wrong fd to be closed by Podman after the OCI runtime invocation.
Closes: https://github.com/containers/libpod/issues/5769
Signed-off-by: Giuseppe Scrivano<EMAIL_ADDRESS>

LGTM

LGTM

/lgtm
Thanks @giuseppe


Go constants

Need to finish draft for the following:
I) Key concepts:

Literals
Untyped constants
Typed constants
Declaring multiple constants
Iota

Note:
All drafts should follow following template:
1) Key concepts
2) Potential interview questions (2-5) with answers and explanation
3) A few practice questions (5-10)

Finished draft for go-constants


HttpDirectoryServiceIT.testUriWithParams fails with max-age mismatch

Script expects "Cache-Control: max-age=0", but the service returned "Cache-Control: max-age=100"
HttpDirectoryServiceIT.testUriWithParams Specified behavior did not match expected:<...he-Control: max-age=[0\r\n"
read /Content-Length: .*/ "\r\n"
read "Content-Type: text/html\r\n"
read /Date: .*/ "\r\n"
read /ETag: .*/ "\r\n"
read /Expires: .*/ "\r\n"
read /Last-Modified: .*/ "\r\n"
read "Server: Kaazing Gateway\r\n"
read /.*/ "\r\n"

close
closed]
> but was:<...he-Control: max-age=[100"]
>

This PR fixes the bug in gateway 4.x.

Created PR for gateway 5.x.


Admin panel need to be designed

THere is a urgent need for admin panel

[x] task one
[x] task number two
[ ] this needs to be done quickly

okay okay I'll do it


design choices for local-meetup page CSS

Before I try to tackle CSS, I'd like to ask for a discussion and general consensus on how the page should look.

what color scheme?
Layout?
Nav bar or other peripherals?
Logo/picture?
anything else I've missed in this quick list.

If I do it on my own, It'll be the webage equivalent of showing up at the school spring semi-formal dance in a Viking helmet and a cape. So input is very much needed! :hankey: :bowtie: :hankey:

the most important thing i would say is that it is legible and mobile-friendly. everything else is secondary.

Excellent points. Legible shouldn't be too much of a problem. Mobile-friendly... might have to look into that.
But still I need an aesthetic direction to go in. I guess I could go off of that basic principle to inform most of my choices, but I still need to make specific choices. If no one has any suggestions for colors, I'll just have to make something up on my own. I didn't want to speak for the group that way without at least consulting people.

@IanDCarroll
good places to start/procrasti-work on aesthetics:
https://www.google.com/fonts#!
find a red/green color blind-friendly combo: http://colorbrewer2.org/

I'm aware of the danger :smile:
:question: "procrasti-work" => related to "yakshaving"
This is my theatre background kicking in. I'm looking for direction. And just as you do on stage, design of any kind requires concrete consious well-considered specific choices.
But I guess I can just come to those on my own :smiling_imp:
I'll still be happy to take notes and make adjustments afterward tho :angel:

can we make this more like Improv where you just do / say whatever works best on 2 seconds notice?

Ok, I can roll with that. :smile:


Normalize --findRelatedTests  paths on win32 platforms

Summary
Hey, there is a fix for #8900 however I'm not sure this is the right place to normalize non flag arguments.
Test plan
I've made a few runs with "wrong" cased path on my machine. For packages\jest-core\src\FailedTestsCache.ts file I've run jest --findRelatedTests  packages/jest-core/SRC/FailedTestsCache.ts and that works well.
In addition I'll cover it with some test, just before do that I'm interested in your opinion about a correct place for paths normalization.

Codecov Report

Merging #8961 into master will decrease coverage by 0.02%.
The diff coverage is 16.66%.

@@            Coverage Diff             @@
##           master    #8961      +/-   ##
==========================================
- Coverage    64.2%   64.17%   -0.03%
==========================================
  Files         276      276
  Lines       11718    11722       +4
  Branches     2869     2869
==========================================
  Hits         7523     7523
- Misses       3563     3566       +3
- Partials      632      633       +1

Impacted Files
Coverage Δ

packages/jest-core/src/SearchSource.ts
61.7% <16.66%> (-2.75%)
:arrow_down:

Continue to review full report at Codecov.

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


compiler error when including OpenCV

While this problem was raised by another user in https://github.com/dmlc/mxnet/issues/744 it was never resolved. I have tried the suggested fix and it did not resolve my problem. I can confirm that I have OpenCV installed. When I run "pkg-config --libs opencv" I get:
/usr/lib/x86_64-linux-gnu/libopencv_calib3d.so -lopencv_calib3d /usr/lib/x86_64-linux-gnu/libopencv_contrib.so -lopencv_contrib /usr/lib/x86_64-linux-gnu/libopencv_core.so -lopencv_core /usr/lib/x86_64-linux-gnu/libopencv_features2d.so -lopencv_features2d /usr/lib/x86_64-linux-gnu/libopencv_flann.so -lopencv_flann /usr/lib/x86_64-linux-gnu/libopencv_gpu.so -lopencv_gpu /usr/lib/x86_64-linux-gnu/libopencv_highgui.so -lopencv_highgui /usr/lib/x86_64-linux-gnu/libopencv_imgproc.so -lopencv_imgproc /usr/lib/x86_64-linux-gnu/libopencv_legacy.so -lopencv_legacy /usr/lib/x86_64-linux-gnu/libopencv_ml.so -lopencv_ml /usr/lib/x86_64-linux-gnu/libopencv_objdetect.so -lopencv_objdetect /usr/lib/x86_64-linux-gnu/libopencv_ocl.so -lopencv_ocl /usr/lib/x86_64-linux-gnu/libopencv_photo.so -lopencv_photo /usr/lib/x86_64-linux-gnu/libopencv_stitching.so -lopencv_stitching /usr/lib/x86_64-linux-gnu/libopencv_superres.so -lopencv_superres /usr/lib/x86_64-linux-gnu/libopencv_ts.so -lopencv_ts /usr/lib/x86_64-linux-gnu/libopencv_video.so -lopencv_video /usr/lib/x86_64-linux-gnu/libopencv_videostab.so -lopencv_videostab
When I run apt-cache show libopencv-dev I get:
Package: libopencv-dev
Priority: optional
Section: universe/libdevel
Installed-Size: 653
Maintainer: Kubuntu Developers<EMAIL_ADDRESS>Original-Maintainer: Debian Science Team<EMAIL_ADDRESS>Architecture: amd64
Source: opencv
Version: 2.4.9+dfsg-1ubuntu6
Depends: libc6 (>= 2.14), libgcc1 (>= 1:4.1.1), libopencv-calib3d2.4v5, libopencv-core2.4v5, libopencv-highgui2.4v5, libopencv-imgproc2.4v5, libopencv-ml2.4v5, libopencv-objdetect2.4v5, libstdc++6 (>= 5.2), libopencv-core-dev (= 2.4.9+dfsg-1ubuntu6), libopencv-ml-dev (= 2.4.9+dfsg-1ubuntu6), libopencv-imgproc-dev (= 2.4.9+dfsg-1ubuntu6), libopencv-video-dev (= 2.4.9+dfsg-1ubuntu6), libopencv-objdetect-dev (= 2.4.9+dfsg-1ubuntu6), libopencv-highgui-dev (= 2.4.9+dfsg-1ubuntu6), libopencv-calib3d-dev (= 2.4.9+dfsg-1ubuntu6), libopencv-flann-dev (= 2.4.9+dfsg-1ubuntu6), libopencv-features2d-dev (= 2.4.9+dfsg-1ubuntu6), libopencv-legacy-dev (= 2.4.9+dfsg-1ubuntu6), libopencv-contrib-dev (= 2.4.9+dfsg-1ubuntu6), libopencv-ts-dev (= 2.4.9+dfsg-1ubuntu6), libopencv-photo-dev (= 2.4.9+dfsg-1ubuntu6), libopencv-videostab-dev (= 2.4.9+dfsg-1ubuntu6), libopencv-stitching-dev (= 2.4.9+dfsg-1ubuntu6), libopencv-gpu-dev (= 2.4.9+dfsg-1ubuntu6), libopencv-superres-dev (= 2.4.9+dfsg-1ubuntu6), libopencv-ocl-dev (= 2.4.9+dfsg-1ubuntu6), libopencv2.4-java (= 2.4.9+dfsg-1ubuntu6), libopencv2.4-jni (= 2.4.9+dfsg-1ubuntu6), libcv-dev (= 2.4.9+dfsg-1ubuntu6), libhighgui-dev (= 2.4.9+dfsg-1ubuntu6), libcvaux-dev (= 2.4.9+dfsg-1ubuntu6), pkg-config
Recommends: opencv-data
Breaks: libopencv-core-dev (<= 2.3.1-8)
Filename: pool/universe/o/opencv/libopencv-dev_2.4.9+dfsg-1ubuntu6_amd64.deb
Size: 167428
MD5sum: ecaf4191cf03536bff3e19cc1ddc424c
SHA1: d719e328151d771af7eaef054ee7edbbf803681d
SHA256: 0c7ec4a327a5c124ddcb6d5247a3e0a7421679a422aa005353830d59444d818e
Description-en: development files for opencv
This is a metapackage providing development package necessary for
development of OpenCV (Open Computer Vision).
.
The Open Computer Vision Library is a collection of algorithms and sample
code for various computer vision problems. The library is compatible with
IPL (Intel's Image Processing Library) and, if available, can use IPP
(Intel's Integrated Performance Primitives) for better performance.
.
OpenCV provides low level portable data types and operators, and a set
of high level functionalities for video acquisition, image processing and
analysis, structural analysis, motion analysis and object tracking, object
recognition, camera calibration and 3D reconstruction.
Description-md5: f9dc67381f1013c39fe59842c79cbddf
Homepage: http://opencv.org/
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
I can successfully compile and run mxnet with USE_OPENCV = 0. When I compile with USE_OPENCV = 1, and run make clean all, I get the following error:
/tmp/ccYg0ncG.o: In function main': im2rec.cc:(.text.startup+0x2789): undefined reference to cv::imencode(std::string const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator >&, std::vector<int, std::allocator > const&)'
collect2: error: ld returned 1 exit status
Makefile:167: recipe for target 'bin/im2rec' failed
make: *** [bin/im2rec] Error 1

do you configure the opencv lib path in your environment(maybe ~/.bashrc in linux)? like this:
export PKG_CONFIG_PATH=$YOUR_PATH/opencv/lib/pkgconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OUR_PATH/opencv/lib

I don't have any directories called pkgconfig
I added /home/colin/mxnet/opencv-3.1.0/build/lib to my .bashrc but that didn't fix the problem
My /etc/ld.so.conf.d/opencv.conf contains /usr/local/lib

try:

source ~/.bashrc before make
where is your opencv.pc path when you install opencv? the PKG_CONFIG_PATH is point to that directory.

Thanks. I was able to find the path after searching for opencv.pc. After setting those values in my .bashrc I'm still getting the same error message undefined reference to cv::imencode.
Here is what I have done in response to your advice:
opencv.pc is located at:
/usr/lib/x86_64-linux-gnu/pkgconfig/opencv.pc
echo $PKG_CONFIG_PATH returns:
/usr/lib/x86_64-linux-gnu/pkgconfig
echo $LD_LIBRARY_PATH returns:
/usr/local/cuda-7.5/lib64:/usr/lib/x86_64-linux-gnu

this problem should be cased by the opencv installation, your can refer to https://github.com/BVLC/caffe/issues/2288

Where do I add opencv_imgcodecs into the project? Which Makefile? Is the syntax LIBRARIES += opencv_imgcodecs?

you can first try to write one test.cpp(use opencv function in it) to test whether you can  build and run it sucessfully.

Sorry but I'm too much of a newby to be able to do that simply. I shall just run mxnet without OpenCV.


x/build: shard the shootout on builders

shard the shootout on builders, moving them into cmd/dist/test tasks
Also, disable on linux-arm and linux-arm-arm5.  Maybe just compile only. Or run in some short mode.
They take way too long.
/cc @adg @davecheney

Turns out test/bench/shootout/timing.sh can already filter which tests it runs.
case $# in
0)
        run="fasta revcomp nbody binarytree fannkuch regexdna spectralnorm knucleotide mandelbrot meteor pidigits threadring chameneos"
        ;;
*)
        run=$*
esac

So test.go just needs to find that line and create sub-tests for each.
But later it'd be nice to rewrite that shell in Go, so it runs in more places.
And add a -fast flag to make it do fewer iterations (like 10 instead of 5000000), just to test coverage for the builders.

Note: now that #12668 is fixed, the coordinator should un-blacklist the "shootout" tests for linux-arm.


Remove SetContentType from code examples

PR summary
Operation PostDocument now explicitly sets content-type on the request when document is present, so this PR removes redundant content-type setter from the code examples.
Fixes: #6
PR Checklist
Please make sure that your PR fulfills the following requirements:

[x] The commit message follows the
Angular Commit Message Guidelines.
[ ] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] New tests
[ ] Build/CI related changes
[x] Documentation content changes
[ ] Other (please describe)

What is the current behavior?
Readme recommends explicit setter for content-type on a doc update
What is the new behavior?
Remove the explicit setter
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information
For the reference, automatic set of content-type on client.PostDocument

We'll also want to update the example source code files:
https://github.com/IBM/cloudant-go-sdk/blob/master/examples/src/create_db_and_doc/create_db_and_doc.go#L92
https://github.com/IBM/cloudant-go-sdk/blob/65d6282f5e6d7f2d04be2482c79bd5f2667bd991/examples/src/update_doc/update_doc.go#L65


Port publish CC chnages to release branch

Port publish cc changes to release branch
Testing : manual and unit tests

Hi @AshwiniChalla, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Ashwini Challa). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

Approved


Fix: Mark getFaker() as final

This PR

[x] marks the method getFaker() as final

💁♂ This prevents needlessly importing the GeneratorTrait multiple times along an inheritance chain.

Thank you, @chartjes!


Add 'working' examples to 'categorify' documentation

Fix https://github.com/NVIDIA/NVTabular/issues/720.
I have removed an extra ')' in one code snippet, and also added alternative versions that make them easy to copy and execute.
I have thought it would facilitate the usage and comprehension of the documentation.

Rerun tests


Run api-linter as part of lint action

See https://linter.aip.dev/

This might be too challenging, as the linter may need significantly different configuration based on the API being linted. It also may need to use file paths relative to a given proto path. Note that a single repo may contain multiple APIs, not all of which need to conform to this linter.
For now, #42 provides a convenient way to at least install api-linter.


Default values of fields and default values of defaultable function params of abstract objects are not available when referencing

Description:
$title. Need to figure out how we can support the same.
#18404 disallows fields with default values in abstract objects for the timebeing.
The same cannot be done for functions, since the Listener abstract object's attach method has a defaultable parameter.

This is no longer an issue because inclusion only copies the type and the default values are not part of the type.

This is no longer an issue because inclusion only copies the type and the default values are not part of the type.


Cookies don't work when using an Elysia instance

Cookies don't get sent to subsequent requests when using Eden with an Elysia instance. Even when credentials: include is set.
I'm using Elysia version 1.1.9 and Eden 1.1.2
I expect set credential cookies to be sent to subsequent request, as to be able to correctly test endpoints that need authentication and/or tokens.
Cookies do work correctly when performing actual requests to the server from another HTTP client.
Sample code:
test("...", async () => {
	...

	const app = server(db); // Creates an Elysia instance
	const client = treaty(app, { fetch: { credentials: 'include' } });

       ...

	const response = await client.api.auth.token.post({ email: "..." });

	const users = await client.api.users.get(); // <-- This fails because cookies are not set

       ...
});

@SaltyAom Could you look at this? This is blocking a lot of my tests.

@facundo-villa I'm using Elysia v1.1.26 and Eden v1.1.3.
I have set up the /auth/login and /me routes, and everything seems to be working well.
/auth/login Route
export const authRoute = new Elysia().post('/auth/login', async ({ body, cookie: { auth } }) => {
  const { accessToken } = await someClient.login(body.email, body.password);

  auth.set({ priority: 'high', value: accessToken });

  return { ok: true };
}, {
  body: t.Object({ email: t.String(), password: t.String() }),
  cookie: t.Cookie({
    auth: t.Optional(t.String()),
  }, {
    httpOnly: true,
    sameSite: 'strict',
    secrets: process.env['COOKIE_SECRET'],
    secure: true,
    sign: ['auth'],
  }),
});

/me Route
export const meRoute = new Elysia().get('/me', ({ cookie: { auth } }) => {
  console.log(auth);

  const dataFromDatabase = ...;

  return dataFromDatabase;
}, {
  cookie: t.Cookie({ auth: t.String() }, {
    httpOnly: true,
    sameSite: 'strict',
    secrets: process.env['COOKIE_SECRET'],
    secure: true,
    sign: ['auth'],
  }),
});

Try updating the packages to the latest versions.

This is still fails for me. I might've not made it abundantly clear in my original posts, but this issue arises during integration tests. The actual application web application does work correctly.


Problems when I use other machines

I want to know that I only want to send a get request, but it is HTTPS. How can I be universal

From some Googling, that HRESULT code appears to be Windows saying 0x80072ee7= "The server name or address could not be resolved

From some Googling, that HRESULT code appears to be Windows saying 0x80072ee7= "The server name or address could not be resolved"
Do you maybe have connectivity issues or a proxy or VPN or some other thing possibly causing trouble?

Thank you very much. I'll ask my friend if his computer used proxy or VPN at that time

From some Googling, that HRESULT code appears to be Windows saying 0x80072ee7= "The server name or address could not be resolved"
Do you maybe have connectivity issues or a proxy or VPN or some other thing possibly causing trouble?

yes,He did open VPN. Thank you very much

Closing this issue. Its some sort of VPN connection thing from windows.
Feel free to reopen if you have still have issues related to puppy.


Handle textarea field types

A few field types are now textarea (to allow paragraph and new line entry). Please accommodate.

Working as expected with the latest spreadsheet.  Just to confirm the type in the spreadsheet is "textarea".  This is the same type as the underlying inputType in CEDAR but the CEDAR UI calls this "paragraph" (which seems odd)


Add flag to aea swarm for --deploy_hardhat

not sure if --use-hardhat is the correct terminology, as the network is defined at a service level,
rather deploy hardhat might be more appropriate?
Also, what are your thoughts on changing the flag --docker to --docker-compose. We can then use that deployment type env var within this makefile, as the flag, maybe reduce the size of this make file a bit?
Originally posted by @8ball030 in https://github.com/valory-xyz/consensus-algorithms/pull/809#discussion_r876887490

No longer relevant


Assignment 2

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
I'm trying to add code to complete Python Assignment 2
What did you learn from the changes you have made?
I learnt how to work with files, lists, and arrays with numpy
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
I added 3 approaches on how to read the content of csv files (1 - readline(), 2 - readlines(), 3 - csv)
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
The main challenge was to start the assignment and realize what I should demonstrate :) I wrote code and tested it in a separate notebook to recall all the materials we learned in the class
How were these changes tested?
Just run them in the VS Code and checked the result
A reference to a related issue in your repository (if applicable)
Checklist

[x] I can confirm that my changes are working as intended

Assignment marked.


VMWare Fusion driver does not create .vmdk so VM never starts

docker-machine create -d vmwarefusion \
>   --vmwarefusion-memory-size 4096 \
>   --vmwarefusion-boot2docker-url $B2DURL \
>   --vmwarefusion-cpu-count 2 \
>   my
Downloading boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v1.7.1/boot2docker.iso...

Creating SSH key...
Creating VM...
Starting my...
Waiting for VM to come online...
Error creating machine: Machine didn't return an IP after 120 seconds, aborting
You will want to check the provider to make sure the machine and associated resources were properly removed.

Looking in `~/.docker/machine/machines/my/
-rw-------+ 1 dch  staff    27M  4 Aug 14:22 boot2docker.iso
-rw-------+ 1 dch  staff   1.6K  4 Aug 14:22 config.json
-rw-------+ 1 dch  staff   1.6K  4 Aug 14:22 id_rsa
-rw-------+ 1 dch  staff   381B  4 Aug 14:22 id_rsa.pub
-rw-r--r--+ 1 dch  staff   1.7K  4 Aug 14:22 my.vmx

env:
docker-compose version: 1.4.0rc3
Docker version 1.7.1, build 786b29d
docker-machine version 0.3.1 (HEAD) actually v0.4.0-rc1
7646859924bcff395e3765b327bb579fad1a47f10bda80c5dfa0eca370e01010  boot2docker.iso

NB docker-machine is actually v0.4.0-rc1 aka 97783b538b7780a306c34bc70d0e22eaa4418caf2d6ec5f11b920a357e9759a5 but the versioning inside the rc is incorrect.

I seemed to have the same issue.
Ran with the --debug flag and saw that it was trying to run vmware from /Applications but I had installed it with brew cask and it wasn't there.
Uninstalled with cask, reinstalled the normal, barbaric, way, and tried again.
Works just fine.
So, I'd say the problem is one (or both) of these:

machine should error if it tries to execute a nonexistent binary.
machine should ask OS X where the vmware bundle is, and run the binary from there. (might get weird if there are multiple .app bundles on the machine.)

I'm not sure where you got the binary from.  Would you mind trying the latest rc2 available (https://github.com/docker/machine/releases/tag/v0.4.0-rc2)?

@ehazlett was that for me? It works fine for me now, the issue seems to be centered around how/where vmware fusion is installed.

@brendanjerwin sorry the OP.  Ok thanks!

@ehazlett v0.4.0-rc2 works perfectly. thank you so much!


external-secrets-cert-controller healthcheck failing with "reason withheld" - failed calling webhook "validate.externalsecret.external-secrets.io"

Describe the bug
Healthcheck failing with reason withheld for both crd-inject and validation-webhook-inject checks.
To Reproduce
External Secrets version: v0.8.1
Kubernetes GKE: v1.22.17-gke.8000
Not 100% sure how to reproduce or what's caused this yet as I'm inheriting the same base in 6 environments and only this one environment is broken.
$ curl <external-secrets-cert-controller_pod_ip>:8081/readyz
[-]crd-inject failed: reason withheld
[-]validation-webhook-inject failed: reason withheld
healthz check failed

Expected behavior
Expected it to give some reason and not reason withheld so that I can debug and solve the issue.
Logs
$ kubectl logs deploy/external-secrets

{"level":"info","ts":1685857213.8661659,"logger":"controller-runtime.metrics","msg":"Metrics server is starting to listen","addr":":8080"}
{"level":"dpanic","ts":1685857213.8670096,"logger":"provider.vault","msg":"odd number of arguments passed as key-value pairs for logging","ignored key":262144,"stacktrace":"github.com/external-secrets/external-secrets/pkg/provider/vault.init.0.func1\n\t/home/runner/work/external-secrets/external-secrets/pkg/provider/vault/vault.go:1411\ngithub.com/external-secrets/external-secrets/cmd.glob..func2\n\t/home/runner/work/external-secrets/external-secrets/cmd/root.go:210\ngithub.com/spf13/cobra.(*Command).execute\n\t/home/runner/go/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:920\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\t/home/runner/go/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:1044\ngithub.com/spf13/cobra.(*Command).Execute\n\t/home/runner/go/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:968\ngithub.com/external-secrets/external-secrets/cmd.Execute\n\t/home/runner/work/external-secrets/external-secrets/cmd/root.go:221\nmain.main\n\t/home/runner/work/external-secrets/external-secrets/main.go:21\nruntime.main\n\t/opt/hostedtoolcache/go/1.19.7/x64/src/runtime/proc.go:250"}
{"level":"info","ts":1685857213.8669896,"logger":"provider.vault","msg":"initializing vault cache with size=%d"}
{"level":"info","ts":1685857213.8672721,"logger":"setup","msg":"starting manager"}
{"level":"info","ts":1685857213.8677623,"msg":"Starting server","path":"/metrics","kind":"metrics","addr":"[::]:8080"}
{"level":"info","ts":1685857213.8680146,"msg":"Starting EventSource","controller":"secretstore","controllerGroup":"external-secrets.io","controllerKind":"SecretStore","source":"kind source: *v1beta1.SecretStore"}
{"level":"info","ts":1685857213.8681495,"msg":"Starting Controller","controller":"secretstore","controllerGroup":"external-secrets.io","controllerKind":"SecretStore"}
{"level":"info","ts":1685857213.8682804,"msg":"Starting EventSource","controller":"externalsecret","controllerGroup":"external-secrets.io","controllerKind":"ExternalSecret","source":"kind source: *v1beta1.ExternalSecret"}
{"level":"info","ts":1685857213.8683174,"msg":"Starting EventSource","controller":"externalsecret","controllerGroup":"external-secrets.io","controllerKind":"ExternalSecret","source":"kind source: *v1.PartialObjectMetadata"}
{"level":"info","ts":1685857213.8683264,"msg":"Starting Controller","controller":"externalsecret","controllerGroup":"external-secrets.io","controllerKind":"ExternalSecret"}
{"level":"info","ts":1685857213.8688862,"msg":"Starting EventSource","controller":"clustersecretstore","controllerGroup":"external-secrets.io","controllerKind":"ClusterSecretStore","source":"kind source: *v1beta1.ClusterSecretStore"}
{"level":"info","ts":1685857213.86893,"msg":"Starting Controller","controller":"clustersecretstore","controllerGroup":"external-secrets.io","controllerKind":"ClusterSecretStore"}
{"level":"info","ts":1685857213.8693812,"msg":"Starting EventSource","controller":"clusterexternalsecret","controllerGroup":"external-secrets.io","controllerKind":"ClusterExternalSecret","source":"kind source: *v1beta1.ClusterExternalSecret"}
{"level":"info","ts":1685857213.8694806,"msg":"Starting EventSource","controller":"clusterexternalsecret","controllerGroup":"external-secrets.io","controllerKind":"ClusterExternalSecret","source":"kind source: *v1.PartialObjectMetadata"}
{"level":"info","ts":1685857213.8695176,"msg":"Starting Controller","controller":"clusterexternalsecret","controllerGroup":"external-secrets.io","controllerKind":"ClusterExternalSecret"}
{"level":"info","ts":1685857213.8702075,"msg":"Starting EventSource","controller":"pushsecret","controllerGroup":"external-secrets.io","controllerKind":"PushSecret","source":"kind source: *v1alpha1.PushSecret"}
{"level":"info","ts":1685857213.8703034,"msg":"Starting Controller","controller":"pushsecret","controllerGroup":"external-secrets.io","controllerKind":"PushSecret"}
{"level":"info","ts":1685857214.1698434,"msg":"Starting workers","controller":"clustersecretstore","controllerGroup":"external-secrets.io","controllerKind":"ClusterSecretStore","worker count":1}
{"level":"info","ts":1685857214.1699183,"msg":"Starting workers","controller":"secretstore","controllerGroup":"external-secrets.io","controllerKind":"SecretStore","worker count":1}
{"level":"info","ts":1685857214.171373,"msg":"Starting workers","controller":"pushsecret","controllerGroup":"external-secrets.io","controllerKind":"PushSecret","worker count":1}
{"level":"info","ts":1685857214.171776,"msg":"Starting workers","controller":"clusterexternalsecret","controllerGroup":"external-secrets.io","controllerKind":"ClusterExternalSecret","worker count":1}
{"level":"info","ts":1685857214.1727352,"msg":"Starting workers","controller":"externalsecret","controllerGroup":"external-secrets.io","controllerKind":"ExternalSecret","worker count":1}
{"level":"info","ts":1686749479.3423395,"logger":"controllers.ExternalSecret","msg":"reconciled secret","ExternalSecret":"argocd/argocd-azure-ad-sso"}

$  kubectl logs deploy/external-secrets-cert-controller

I0614 16:00:32.626212       1 request.go:690] Waited for 1.037464228s due to client-side throttling, not priority and fairness, request: GET:https://x.x.x.x:443/apis/internal.autoscaling.k8s.io/v1alpha1?timeout=32s
{"level":"info","ts":1686758433.0815637,"logger":"controller-runtime.metrics","msg":"Metrics server is starting to listen","addr":":8080"}
{"level":"info","ts":1686758433.0822856,"logger":"setup","msg":"starting manager"}
{"level":"info","ts":1686758433.0828567,"msg":"Starting server","path":"/metrics","kind":"metrics","addr":"[::]:8080"}
{"level":"info","ts":1686758433.0829453,"msg":"Starting server","kind":"health probe","addr":"[::]:8081"}
{"level":"info","ts":1686758433.083027,"msg":"Starting EventSource","controller":"customresourcedefinition","controllerGroup":"apiextensions.k8s.io","controllerKind":"CustomResourceDefinition","source":"kind source: *v1.CustomResourceDefinition"}
{"level":"info","ts":1686758433.0831091,"msg":"Starting Controller","controller":"customresourcedefinition","controllerGroup":"apiextensions.k8s.io","controllerKind":"CustomResourceDefinition"}
{"level":"info","ts":1686758433.0830474,"msg":"Starting EventSource","controller":"validatingwebhookconfiguration","controllerGroup":"admissionregistration.k8s.io","controllerKind":"ValidatingWebhookConfiguration","source":"kind source: *v1.ValidatingWebhookConfiguration"}
{"level":"info","ts":1686758433.0831409,"msg":"Starting Controller","controller":"validatingwebhookconfiguration","controllerGroup":"admissionregistration.k8s.io","controllerKind":"ValidatingWebhookConfiguration"}
{"level":"info","ts":1686758433.4846578,"msg":"Starting workers","controller":"validatingwebhookconfiguration","controllerGroup":"admissionregistration.k8s.io","controllerKind":"ValidatingWebhookConfiguration","worker count":1}
{"level":"info","ts":1686758433.4848862,"msg":"Starting workers","controller":"customresourcedefinition","controllerGroup":"apiextensions.k8s.io","controllerKind":"CustomResourceDefinition","worker count":1}
{"level":"info","ts":1686758433.4851947,"logger":"controllers.webhook-certs-updater","msg":"ignoring webhook due to missing labels","Webhookconfig":"/cert-manager-webhook","external-secrets.io/component":"webhook"}
{"level":"info","ts":1686758433.4853618,"logger":"controllers.webhook-certs-updater","msg":"updating webhook config","Webhookconfig":"/externalsecret-validate"}
{"level":"info","ts":1686758433.4910526,"logger":"controllers.webhook-certs-updater","msg":"injecting ca certificate and service names","cacrt":"<REDACTED>=","name":"externalsecret-validate"}
{"level":"info","ts":1686758433.4976528,"logger":"controllers.webhook-certs-updater","msg":"updated webhook config","Webhookconfig":"/externalsecret-validate"}
{"level":"info","ts":1686758433.4981446,"logger":"controllers.webhook-certs-updater","msg":"ignoring webhook due to missing labels","Webhookconfig":"/flowcontrol-guardrails.config.common-webhooks.networking.gke.io","external-secrets.io/component":"webhook"}
{"level":"info","ts":1686758433.4984527,"logger":"controllers.webhook-certs-updater","msg":"ignoring webhook due to missing labels","Webhookconfig":"/ingress-nginx-admission","external-secrets.io/component":"webhook"}
{"level":"info","ts":1686758433.4987638,"logger":"controllers.webhook-certs-updater","msg":"ignoring webhook due to missing labels","Webhookconfig":"/nodelimit.config.common-webhooks.networking.gke.io","external-secrets.io/component":"webhook"}
{"level":"info","ts":1686758433.4990275,"logger":"controllers.webhook-certs-updater","msg":"updating webhook config","Webhookconfig":"/secretstore-validate"}
{"level":"info","ts":1686758433.5034618,"logger":"controllers.webhook-certs-updater","msg":"injecting ca certificate and service names","cacrt":"<REDACTED>=","name":"secretstore-validate"}
{"level":"info","ts":1686758433.5106847,"logger":"controllers.webhook-certs-updater","msg":"updated webhook config","Webhookconfig":"/secretstore-validate"}
{"level":"info","ts":1686758433.5109308,"logger":"controllers.webhook-certs-updater","msg":"ignoring webhook due to missing labels","Webhookconfig":"/validation-webhook.snapshot.storage.k8s.io","external-secrets.io/component":"webhook"}
{"level":"info","ts":1686758453.7483966,"logger":"controller-runtime.healthz","msg":"healthz check failed","statuses":[{},{}]}
...
{"level":"info","ts":1686760233.597697,"logger":"controllers.webhook-certs-updater","msg":"updated webhook config","Webhookconfig":"/externalsecret-validate"}
{"level":"info","ts":1686760233.5980575,"logger":"controllers.webhook-certs-updater","msg":"updating webhook config","Webhookconfig":"/secretstore-validate"}
{"level":"info","ts":1686760233.601522,"logger":"controllers.webhook-certs-updater","msg":"injecting ca certificate and service names","cacrt":"<REDACTED>=","name":"secretstore-validate"}
{"level":"info","ts":1686760233.6082435,"logger":"controllers.webhook-certs-updater","msg":"updated webhook config","Webhookconfig":"/secretstore-validate"}
{"level":"info","ts":1686760233.647198,"logger":"controller-runtime.healthz","msg":"healthz check failed","statuses":[{},{}]}
{"level":"info","ts":1686760238.6469471,"logger":"controller-runtime.healthz","msg":"healthz check failed","statuses":[{},{}]}
{"level":"info","ts":1686760243.646971,"logger":"controller-runtime.healthz","msg":"healthz check failed","statuses":[{},{}]}
{"level":"info","ts":1686760248.6468923,"logger":"controller-runtime.healthz","msg":"healthz check failed","statuses":[{},{}]}
{"level":"info","ts":1686760253.6469126,"logger":"controller-runtime.healthz","msg":"healthz check failed","statuses":[{},{}]}
{"level":"info","ts":1686760258.646493,"logger":"controller-runtime.healthz","msg":"healthz check failed","statuses":[{},{}]}
{"level":"info","ts":1686760263.6462939,"logger":"controller-runtime.healthz","msg":"healthz check failed","statuses":[{},{}]}
{"level":"info","ts":1686760268.6472113,"logger":"controller-runtime.healthz","msg":"healthz check failed","statuses":[{},{}]}
{"level":"info","ts":1686760273.6471457,"logger":"controller-runtime.healthz","msg":"healthz check failed","statuses":[{},{}]}
{"level":"info","ts":1686760278.6466367,"logger":"controller-runtime.healthz","msg":"healthz check failed","statuses":[{},{}]}
{"level":"info","ts":1686760283.6468189,"logger":"controller-runtime.healthz","msg":"healthz check failed","statuses":[{},{}]}
{"level":"info","ts":1686760285.9942365,"logger":"controller-runtime.healthz","msg":"healthz check failed","statuses":[{},{}]}
{"level":"info","ts":1686760288.6471772,"logger":"controller-runtime.healthz","msg":"healthz check failed","statuses":[{},{}]}
{"level":"info","ts":1686760293.6468341,"logger":"controller-runtime.healthz","msg":"healthz check failed","statuses":[{},{}]}
{"level":"info","ts":1686760298.6466665,"logger":"controller-runtime.healthz","msg":"healthz check failed","statuses":[{},{}]}
{"level":"info","ts":1686760303.64726,"logger":"controller-runtime.healthz","msg":"healthz check failed","statuses":[{},{}]}

$ kubectl logs deploy/external-secrets-webhook

{"level":"info","ts":1685857248.624009,"logger":"setup","msg":"validating certs"}
I0604 05:40:49.675915       1 request.go:690] Waited for 1.036641221s due to client-side throttling, not priority and fairness, request: GET:https://x.x.x.x:443/apis/cloud.google.com/v1beta1?timeout=32s
{"level":"info","ts":1685857253.3371406,"logger":"controller-runtime.metrics","msg":"Metrics server is starting to listen","addr":":8080"}
{"level":"info","ts":1685857253.3379755,"logger":"controller-runtime.builder","msg":"skip registering a mutating webhook, object does not implement admission.Defaulter or WithDefaulter wasn't called","GVK":"external-secrets.io/v1beta1, Kind=ExternalSecret"}
{"level":"info","ts":1685857253.3384442,"logger":"controller-runtime.builder","msg":"Registering a validating webhook","GVK":"external-secrets.io/v1beta1, Kind=ExternalSecret","path":"/validate-external-secrets-io-v1beta1-externalsecret"}
{"level":"info","ts":1685857253.338847,"logger":"controller-runtime.webhook","msg":"Registering webhook","path":"/validate-external-secrets-io-v1beta1-externalsecret"}
{"level":"info","ts":1685857253.3454893,"logger":"controller-runtime.webhook","msg":"Registering webhook","path":"/convert"}
{"level":"info","ts":1685857253.3460982,"logger":"controller-runtime.builder","msg":"Conversion webhook enabled","GVK":"external-secrets.io/v1beta1, Kind=ExternalSecret"}
{"level":"info","ts":1685857253.3461523,"logger":"controller-runtime.builder","msg":"skip registering a mutating webhook, object does not implement admission.Defaulter or WithDefaulter wasn't called","GVK":"external-secrets.io/v1beta1, Kind=SecretStore"}
{"level":"info","ts":1685857253.3461697,"logger":"controller-runtime.builder","msg":"Registering a validating webhook","GVK":"external-secrets.io/v1beta1, Kind=SecretStore","path":"/validate-external-secrets-io-v1beta1-secretstore"}
{"level":"info","ts":1685857253.3462553,"logger":"controller-runtime.webhook","msg":"Registering webhook","path":"/validate-external-secrets-io-v1beta1-secretstore"}
{"level":"info","ts":1685857253.3469484,"logger":"controller-runtime.builder","msg":"Conversion webhook enabled","GVK":"external-secrets.io/v1beta1, Kind=SecretStore"}
{"level":"info","ts":1685857253.3469844,"logger":"controller-runtime.builder","msg":"skip registering a mutating webhook, object does not implement admission.Defaulter or WithDefaulter wasn't called","GVK":"external-secrets.io/v1beta1, Kind=ClusterSecretStore"}
{"level":"info","ts":1685857253.3470004,"logger":"controller-runtime.builder","msg":"Registering a validating webhook","GVK":"external-secrets.io/v1beta1, Kind=ClusterSecretStore","path":"/validate-external-secrets-io-v1beta1-clustersecretstore"}
{"level":"info","ts":1685857253.3470745,"logger":"controller-runtime.webhook","msg":"Registering webhook","path":"/validate-external-secrets-io-v1beta1-clustersecretstore"}
{"level":"info","ts":1685857253.3474743,"logger":"controller-runtime.builder","msg":"Conversion webhook enabled","GVK":"external-secrets.io/v1beta1, Kind=ClusterSecretStore"}
{"level":"info","ts":1685857253.3476615,"logger":"controller-runtime.builder","msg":"skip registering a mutating webhook, object does not implement admission.Defaulter or WithDefaulter wasn't called","GVK":"external-secrets.io/v1alpha1, Kind=ExternalSecret"}
{"level":"info","ts":1685857253.3478458,"logger":"controller-runtime.builder","msg":"skip registering a validating webhook, object does not implement admission.Validator or WithValidator wasn't called","GVK":"external-secrets.io/v1alpha1, Kind=ExternalSecret"}
{"level":"info","ts":1685857253.3480663,"logger":"controller-runtime.builder","msg":"Conversion webhook enabled","GVK":"external-secrets.io/v1alpha1, Kind=ExternalSecret"}
{"level":"info","ts":1685857253.3483171,"logger":"controller-runtime.builder","msg":"skip registering a mutating webhook, object does not implement admission.Defaulter or WithDefaulter wasn't called","GVK":"external-secrets.io/v1alpha1, Kind=SecretStore"}
{"level":"info","ts":1685857253.3484802,"logger":"controller-runtime.builder","msg":"skip registering a validating webhook, object does not implement admission.Validator or WithValidator wasn't called","GVK":"external-secrets.io/v1alpha1, Kind=SecretStore"}
{"level":"info","ts":1685857253.3487217,"logger":"controller-runtime.builder","msg":"Conversion webhook enabled","GVK":"external-secrets.io/v1alpha1, Kind=SecretStore"}
{"level":"info","ts":1685857253.3488867,"logger":"controller-runtime.builder","msg":"skip registering a mutating webhook, object does not implement admission.Defaulter or WithDefaulter wasn't called","GVK":"external-secrets.io/v1alpha1, Kind=ClusterSecretStore"}
{"level":"info","ts":1685857253.3490996,"logger":"controller-runtime.builder","msg":"skip registering a validating webhook, object does not implement admission.Validator or WithValidator wasn't called","GVK":"external-secrets.io/v1alpha1, Kind=ClusterSecretStore"}
{"level":"info","ts":1685857253.349389,"logger":"controller-runtime.builder","msg":"Conversion webhook enabled","GVK":"external-secrets.io/v1alpha1, Kind=ClusterSecretStore"}
{"level":"info","ts":1685857253.3495927,"logger":"setup","msg":"starting manager"}
{"level":"info","ts":1685857253.3499274,"logger":"controller-runtime.webhook.webhooks","msg":"Starting webhook server"}
{"level":"info","ts":1685857253.3507476,"logger":"controller-runtime.certwatcher","msg":"Updated current TLS certificate"}
{"level":"info","ts":1685857253.350341,"msg":"Starting server","kind":"health probe","addr":"[::]:8081"}
{"level":"info","ts":1685857253.35215,"logger":"controller-runtime.webhook","msg":"Serving webhook server","host":"","port":10250}
{"level":"info","ts":1685857253.3503745,"msg":"Starting server","path":"/metrics","kind":"metrics","addr":"[::]:8080"}
{"level":"info","ts":1685857253.3529534,"logger":"controller-runtime.certwatcher","msg":"Starting certificate watcher"}
{"level":"info","ts":1685857548.6256764,"logger":"setup","msg":"validating certs"}
{"level":"info","ts":1685857548.6271033,"logger":"setup","msg":"certs are valid"}
<repeated thousands of times>
{"level":"info","ts":1686759948.6258721,"logger":"setup","msg":"validating certs"}
{"level":"info","ts":1686759948.6269734,"logger":"setup","msg":"certs are valid"}
{"level":"info","ts":1686760248.6252549,"logger":"setup","msg":"validating certs"}
{"level":"info","ts":1686760248.6261973,"logger":"setup","msg":"certs are valid"}

I never came across that error and googling it doesn't provide any meaningful context for me. Is the problem persistent?i.e. does it persist if you delete the pod and let the deployment re-create it?

Yes the problem persisted when I deleted and recreated the pod. After some hours it eventually rectified itself and the health check just started passing again.
However, not understanding why this happened causes me concern as an engineer who is supposed to understand how everything works. The rest of my team don't work into the evenings like me, they're not online so I know nobody else changed anything and I checked all our Terraform CI/CD and reconciliation of external things, looking for perhaps any firewall rule discrepancy but found nothing so far to explain this because I'm flying blind on the error message.
Specific errors messages as a key best practice to enable root cause analysis.

The reason withheld is there for a purpose. because the endpoint is public, it is not supposed to pass any information back to the client. See https://github.com/kubernetes-sigs/controller-runtime/blob/451530c09937350ff7f5ebf7a00d059b4334e8ee/pkg/healthz/healthz.go#L117-L119.
The error is printed if you set the loglevel to debug:
{"level":"debug","ts":1686853172.5700438,"logger":"controller-runtime.healthz","msg":"healthz check failed","checker":"crd-inject","error":"subsets not ready"}
{"level":"debug","ts":1686853172.570221,"logger":"controller-runtime.healthz","msg":"healthz check failed","checker":"validation-webhook-inject","error":"subsets not ready"}
{"level":"info","ts":1686853172.5702634,"logger":"controller-runtime.healthz","msg":"healthz check failed","statuses":[{},{}]}

I enforced a bad ready probe by scaling the webhook deployment to 0.

Ok thanks for the explanation.
Where did you see the loglevel to debug, in external-secrets or Kubernetes itself since that link is to the core kubernetes-sigs?

You can do that with command line args, e.g. via the helm chart: --set certController.loglevel=debug

Ok thanks I'll try that next time this happens.
I'll close this for now.


[fix] resolve $lib alias when packaging

Fixes the 90% case of #1950
Before submitting the PR, please make sure you do the following

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[x] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpx changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

Fully agree that this is a hacky solution and I'd very much would like to leverage vite instead. There's a library mode but it works too different from what we want/need, as it bundles everything and will transform Svelte to JS, which we actively want to avoid.
If we do not want to use string replacements, we could also parse the script parts of the Svelte files - don't know which parsers are available to us though without adding additional dependencies.

not entirely sure if it's helpful in this case but vite-plugin-svelte has 2 different features that may be combined to solve it.

there is experimental code that demonstrates how to use vite plugins as svelte preprocessors, this could be used to try and run vite's alias resolving during preprocess
vite plugins can contribute additional preprocessors via api.sveltePreprocess

So in theory you could build a vite plugin that searches for the other vite plugin it wants to run during svelte-preprocess, save that as local state in configResolved hook and then offer api.sveltePreprocess which uses the other vite-plugin and is picked up by vite-plugin-svelte.
I agree that a simple string replace of aliases is too dangerous. For the time being it may be best to recommend not using aliases for libraries build with sveltekit package command

I think we'd probably want to handle $app as well:
https://github.com/sveltejs/kit/blob/6bd21c75d99730e78cd1e5221497a41d6ea3c7fe/packages/kit/src/core/build/index.js#L172
It probably wouldn't be too hard to refactor out the code to set the config defaults then look at the actual value of kit.vite.resolve.aliases
I agree this is a bit dangerous, but it also seems better than not supporting it, so I'm a bit torn
I wonder if we need to do something as advanced as what @dominikg is suggesting. Could we just have a svelte-preprocessor that does a replacement using the AST? I don't think it would necessarily need to invoke Vite, which would make things quite a bit easier

If we are able to use Vite to preprocess the components, we could take advantage of useVitePreprocess which removes the need for svelte-preprocess (for most cases). The caveat mentioned would be addressed soon (https://github.com/sveltejs/vite-plugin-svelte/pull/173). Hopefully it could be a default for create-svelte one day.

Ohhh. I did not understand from Domenik's comment or the API names that these methods were not calling svelte-preprocess. I thought it would be too complex to have both involved.

I'm a little confused by the different solutions outlined in this PR. What we need is something that resolves any alias for .js, d.ts and .svelte files, with the additional difficulty that the generation of d.ts files is separate (vite or svelte-preprocess therefore can't hook into it). So the most robust solution to me sounds like "do alias resolving after having done everything else as a separate step", which means we need some parser that understands both TS and JS. In case of .svelte files, we can use Svelte's parse which includes parsing the JS part. In case of d.ts files, we can hopefully use TypeScript somehow. In case of .js files -> I don't know, since we can't ensure that people have TypeScript installed (they only need it in case of d.ts generation) - that we could change though to always require TypeScript when people want to build libraries.

I think it's fine to merge the PR as is with the current approach, we could look into other long-term solutions so we don't block others who need this feature. A documentation update noting the caveat would be nice too. Unless we want to ship a more robust experience to the end-users.


Fix story update

Fix issue: #4

This is great! Thanks @philipesteiff

This is great! Thanks @philipesteiff

u're welcome :)


User can access ChooseTransferAccount with no permissions

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to App and open Account with No Wallet Beta permissions
Settings -> Payments
Notice that you have no Transfer Balance or any other button
Now access through: https://staging.new.expensify.com/settings/payments/choose-transfer-account

Expected Result:
User should not access choose-transfer-account route without permissions and KYC checks
Actual Result:
User can access a messy chooseTransferAccountPage.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.54-11
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Screencast from 08 غشت, 2023 +01 02_21_09 .webm
https://github.com/Expensify/App/assets/38435837/1c2eb701-8860-4e29-9c5e-91fdb2ac8f26
Expensify/Expensify Issue URL:
Issue reported by: @makiour
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1691457646540809
View all open jobs on GitHub

Proposal by @makiour
Please re-state the problem that we are trying to solve in this issue.
User can access choose-transfer-account without required permissions.
What is the root cause of that problem?
To allow a user to access choose transfer account component, User should:

Can use Wallet with beta permissions:
https://github.com/Expensify/App/blob/2ce4328401ec71f9ec0dc1304e0c5be261ae5628/src/pages/settings/Payments/PaymentsPage/BasePaymentsPage.js#L278
Have more than 0.00$ in balance:
https://github.com/Expensify/App/blob/2ce4328401ec71f9ec0dc1304e0c5be261ae5628/src/pages/settings/Payments/PaymentsPage/BasePaymentsPage.js#L297
User should pass KYCWall by having a valid payment method
https://github.com/Expensify/App/blob/2ce4328401ec71f9ec0dc1304e0c5be261ae5628/src/pages/settings/Payments/PaymentsPage/BasePaymentsPage.js#L299-L315
The KYCWall is to check if the payment method went through different KYC checks that needs to be fulfilled here:
https://github.com/Expensify/App/blob/2ce4328401ec71f9ec0dc1304e0c5be261ae5628/src/components/KYCWall/BaseKYCWall.js#L89-L128
--> If all of these are fulfilled, then we need to show the transferBalance route, which includes two choices:
Either we choose among the debit cards or among the bank accounts:

Any one of the two options will allow us to move to the ChooseTransferAccountPage:

This is the correct flow. Following it will allow us to correctly send walletTransfer props to the ChooseTransferAccountPage:

However,
when accessing the component without these validations and directly
from URL, we are missing the filterPaymentMethodTypes in the props which
show us a lot of mess within the component:

As you can see in the pictures, it mixes bank-account with add-debit-card and the filterPaymentMethodType is not there.
The ChooseTransferAccountPage should not be accessible if we don't follow the full validation flow.
We
can also clearly notice that its parent component TransferBalancePage
(from where we get to choose-transfer-account) is not accessible. Thus,
we should do the same for it.

What changes do you think we should make in order to solve the problem?
We
need to prevent the user to access directly from the URL, to do so we
can add a check to see if we have successfully set the
walletTransferProps by checking the filterPaymentMethodType mentionned
above and we can then wrap it under the FullPageNotFound view here:
https://github.com/Expensify/App/blob/2ce4328401ec71f9ec0dc1304e0c5be261ae5628/src/pages/settings/Payments/ChooseTransferAccountPage.js#L54C1-L78
    const canChooseTransferAccount = props.walletTransfer.filterPaymentMethodType !== undefined;
    return (
        <ScreenWrapper>
            <FullPageNotFoundView shouldShow={!canChooseTransferAccount}>
                <HeaderWithBackButton
                    title={props.translate('chooseTransferAccountPage.chooseAccount')}
                    onBackButtonPress={() => Navigation.goBack(ROUTES.SETTINGS_PAYMENTS_TRANSFER_BALANCE)}
                />

Another option is to force the user to navigate back to the
Settings->Payments Page if he did not follow the full flow. By adding
Navigation.goBack(ROUTES.SETTINGS_PAYMENTS)
What alternative solutions did you explore? (Optional)
Another solution to the bug if we don't want to handle it through filterPaymentMethodsType attribute, we can use HTML DOM property referrer:
To fix this, we can use HTML DOM property called document.referrer. It allows us to know which URL navigated us to the current page. If we are accessing directly through URL, it is undefined, otherwise, it returns the URI. We can add:
The following check:
        const isDirectAccess = !document.referrer;
        if (isDirectAccess) {
              return <NotFound />;
        }

or navigate to Payments Settings:
        const isDirectAccess = !document.referrer;
        if (isDirectAccess) {
             Navigation.goBack(ROUTES.SETTINGS_PAYMENTS);
        }

Catching up after OOO

I can't reproduce this one:


handling python 2 vs 3

I recently wasted some time trying to figure out why I could not import a dependency on binder which I was sure  was being installed in the requirements.txt.
The problem was that I developed the notebook locally with python 3. So the ipython notebook on binder loaded the python 3 kernel. Which tried importing python 3 dependencies on binder. Which were not there, because only the python 2 versions of dependencies are installed from requirements.txt file.

I'd suggest noting that you will install python 2 dependencies by default.

Thanks for reporting this! The current system by default should try to install all requirements for both Python 2 and Python 3. The build succeeds if either one succeeds, so currently if the pip install errors for either 2 or 3 (but not both), it will happen silently.
We're planning to expose this as an option in the UI when selecting requirements.txt, e.g. you can select either Py2 or Py3 or both (the default) as the target for requirements.txt, which should hopefully make it more transparent.
And we're adding a whole new live log interface, to help debug this kind of thing.
For now, are you sure the same requirements install successfully in Python 3? Maybe point us to the repo so we can debug it further on our end?

Our repo is here https://github.com/blaze/dask-examples
The notebook in question is https://github.com/blaze/dask-examples/blob/master/github-data.ipynb
The dependency that fails to install is dask.
However this notebook can easily be switched to python 2

Hello. I'm just starting to use binder for An Introduction to Applied Bioinformatics (IAB). It looks incredibly useful. IAB is Py3 only, so I wanted to check whether there was an update on how a default kernel could be specified (so I don't have to have users change their kernel on loading up each notebook).
One note on my setup - because I generated the IAB notebooks dynamically from markdown files, they're not included in the main repo. So, the repo that I point binder to is http://github.com/gregcaporaso/built-iab.
Thanks for the project, I'm really excited to use this!

Also having this issue. Sadly my tutorial uses Py3 only as well: https://github.com/zbyte64/python_datagov_notebooks


💯 AlpineLinux support

Please provide simple method to install and update rustdesk 👍

I don't use alpine linux, if you have any pointers be happy to look at them


npm install error

npm install                                                     0 < 08:59:43
npm WARN deprecated<EMAIL_ADDRESS>In 6.x, the babel package has been deprecated in favor of babel-cli. Check https://opencollective.com/babel to support the Babel maintainers
npm ERR! code ETARGET
npm ERR! notarget No matching version found for react-dom@beta
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.
npm ERR! notarget
npm ERR! notarget It was specified as a dependency of 'winamp2-js'
npm ERR! notarget

npm ERR!      /Users/oytun/.npm/_logs/2017-09-21T05_59_48_349Z-debug.log

Thanks for the report, I'll check into this!

Looks like Yarn allows this syntax but npm does not. Should be fixed in https://github.com/captbaritone/winamp2-js/commit/7f05e057c0669c3b2b4ae5081d3351ec0edfff8d Would you try updating your clone and trying again?
Thanks again for reporting.


Drop support for Java 8

Confirmation

[X] I have checked for similar issues.

Problem
Mockito v5 has dropped support for Java 8. This means updating would require us to do the same.
Suggested solution
We should completely remove support for Java 8 as it is no longer a good version of Java to use. At the time of writing, only 15 servers are running UltraStaffChatPro v2 on Java 8. The other 251 are using Java 11 or above.
Disclaimer: This is out of all servers with bStats enabled, which is most.
Out of the 15 servers:

1 is a Paper 1.8.8 server, which can be ran on Java versions 8-16
14 are BungeeCord proxies, which can be ran on Java versions 8-17

These statistics technically mean that all servers that currently run on Java 8 can also be updated to Java 16.
Additional information
No response

After running a poll in our Discord server, we have received 48 responses, 46 of which being in agreement with this change.