Enhancement Suggestions - Multiple domains/subdomains & Historical Logging

This script is fantastic as-is, but there are a couple of "minor" enhancements I would love to see included for my own use case. Let me preface these by saying that I am very unfamiliar with Linux and scripting in that environment so I'm not sure how challenging these suggestions would be. I am a developer/programmer working in a predominantly Windows environment but have finally started trying to get into using the Linux command line so, while I understand the concepts of what the script is doing, I don't know the syntax for how to make the types of changes I'm asking about.
UX SUGGESTION # 1: MULTIPLE DOMAINS/SUBDOMAINS
First, I actually have two domains registered with GoDaddy and would like to have a subdomain on each that points to the dynamic IP address from my ISP. What I've done to achieve this is to make renamed copies of the three main files (the .sh, .properties, and .log files) and replaced the references to the name in the script with the new name, then run the new .sh file to create a separate cron job. This works as expected - both of my domains are having the A record updated on a 15-minute schedule - but it seems a bit more of a hassle than it could be. Also, if I ever need/want to add another subdomain (and new A record), as it stands, I'm going to have to repeat this process of copy/rename (and possibly verify permissions) -> edit -> run (to create a new cron job) for the new subdomain.
What I believe would be a "better" experience would be if the script were capable of accepting multiple domain names and/or subdomain names from the .properties file. For example, making the keys for domain and name accept a pipe-delimited (or some other delimiter) list of names that the script would parse out to an array, then check each item.
EXAMPLE 1.1 - Using pipe-delimited lists
domain=example.com|mydomain.net
name=linuxshots|subdomain2
ttl=3600
key=godaddyAPIKey
secret=godaddyAPIsecret

I do see the potential for some confusion with this if the two lists do not have the same number of elements or the user enters them in a different order, but that could simply be a "troubleshooting" step for the end-user if the script doesn't work as expected for them.
Additionally, if only a single name value is provided, the script could basically assume that the same subdomain should be checked on each of the domains, and vice-versa. For example:

domain=example.com with name=linuxshots|subdomain2 tries to update the A records for both linuxshots and subdomain2 on the same domain (example.com)
domain=example.com|mydomain.net with name=linuxshots tries to update an A record for linuxshots on both domains (example.com and mydomain.net)

Also, I realize that most "additional" subdomains pointing to the same IP address on the same domain could likely simply be created as CNAME records with GoDaddy. But there may be certain use-case scenarios where an A record would be more appropriate (such as targets for MX or NS records), so I still think it'd be a good option to include.
Alternately - and I admit that I'm not sure if this would even work for this kind of script in a Linux environment - creating property groups could make it "easier" to customize the configuration according to very specific requirements:
EXAMPLE 1.2 - Using property groups
[godaddy]
key=godaddyAPIKey
secret=godaddyAPIsecret

[example.com]
name=linuxshots|subdomain2
ttl=3600

[mydomain.net]
name=subdomain2
ttl=3600

Such a setup (if possible) would allow for granular control over each domain and its associated subdomain(s), as well as allow for possible future "expansion" or additional settings. I suppose it would be possible to even allow the user to specify different GoDaddy API credentials for each domain, but that's probably just me over-thinking the process.
I could definitely see this being incorporated with #9 on the issue list to dynamically build/modify the .properties file as a part of both the proposed setup and update operations. Perhaps this is an interactive thing:
Enter the domain name:>  example.com
Enter the name of the A record:>  linuxshots
Enter the TTL (Time To Live):> 3600

> GoDaddy DDNS task added for linuxshots.example.com
Please make sure the A record exists for your domain by logging into your GoDaddy account

UX SUGGESTION # 2: HISTORICAL LOGGING
The other thing I would personally like to see is some historical logging of any time the script actually makes changes. This is probably totally unnecessary and just my own desire to keep records of everything, but it would be nice to see something like this in the log file:
EXAMPLE 2.1 - Historical logging for current implementation
DNS Name: linuxshots.example.com
Last Check: Sat 26 Feb 2022 12:15:02 AM CST
DNS IP: <IP_ADDRESS>
TTL: 3600
Status: OK

[2022-01-12 09:45:05] [SUCCESS] Public IP changed (<IP_ADDRESS> -> <IP_ADDRESS>) A Record for linuxshots successfully updated with TTL 3600
[2022-02-25 22:30:02] [SUCCESS] Public IP changed (<IP_ADDRESS> -> <IP_ADDRESS>) A Record for linuxshots successfully updated with TTL 3600

Of course, if the first UX suggestion were implemented, this log would provide the details for each of the domains and their subdomains:
EXAMPLE 2.2 - Historical logging with suggested multiple domain/subdomain configuration
Last Check: Sat 26 Feb 2022 12:15:02 AM CST
DNS IP: <IP_ADDRESS>

Domain: example.com
-------
DNS Name: linuxshots.example.com
TTL: 3600
Status: OK

DNS Name: subdomain2.example.com
TTL: 3600
Status: OK

Domain: mydomain.net
-------
DNS Name: subdomain2.mydomain.net
TTL: 3600
Status: OK

[2022-01-12 09:45:05] [INFO] Public IP changed (<IP_ADDRESS> -> <IP_ADDRESS>)
[2022-01-12 09:45:05] [SUCCESS] A Record for linuxshots successfully updated to <IP_ADDRESS> with TTL 3600
[2022-01-12 09:45:05] [SUCCESS] A Record for subdomain2 successfully updated to <IP_ADDRESS> with TTL 3600
[2022-01-12 09:45:05] [SUCCESS] A Record for subdomain2 successfully updated to <IP_ADDRESS> with TTL 3600
[2022-02-25 22:30:02] [INFO] Public IP changed (<IP_ADDRESS> -> <IP_ADDRESS>)
[2022-02-25 22:30:02] [SUCCESS] A Record for linuxshots successfully updated to <IP_ADDRESS> with TTL 3600
[2022-02-25 22:30:02] [SUCCESS] A Record for subdomain2 successfully updated to <IP_ADDRESS> with TTL 3600
[2022-02-25 22:30:02] [SUCCESS] A Record for subdomain2 successfully updated to <IP_ADDRESS> with TTL 3600

Obviously, this gets a lot more complicated very quickly, but it would be an extremely nice (in my opinion) enhancement to see a detailed history of the actions the script has actually taken. One option I could see to help avoid "clutter" in the log file might be to have separate logs for each domain.
In my "vision", this historical log would, of course, also include documentation of any warnings, failures, or other errors the script encounters. A few potential errors/warnings I imagine a user encountering:
EXAMPLE 2.3 - Sample error/warning logs
[2022-01-02 12:01:16] [ERROR] The supplied GoDaddy API credentials are invalid
[2022-01-02 12:05:38] [ERROR] No A record exists for linuxshots in the example.com domain - please create an A record pointing to <IP_ADDRESS>
[2022-01-03 05:22:54] [ERROR] No Internet connection available
[2022-01-03 07:18:21] [WARNING] Could not retrieve current public IP address from ipinfo.io - assuming no changes are required

CONCLUSION
As I said before, this script is functionally fantastic and seems to work exactly as I need it to. The above suggestions are simply a matter of UX choices and preferences that I believe would provide even more utility and "user-friendliness" to an already great script. Please let me know if you have questions or need clarification on anything I've presented here. Thank you again for this as it's made my life a whole lot easier.

Added in v1.0.0


Very strange working with insecure registry

Hello. I have 2 deployments named as "crm" and "elasticsearch".
I also have insecure registry on http:tools.mydomain.com:5000 and docker, microk8s known about this (all restarted after).
containerd-template.toml

docker configuration (/var/snap/docker/current/config)

And my 2 deployments (you need to look at containers)
CRM

ELASTICREARCH

When I apply file with crm deployment - all ok, and image pulled successfull..

But microk8s for a elasticsearch deployment says:

Why?
I have no idea. But each time first deployment work and image will be pulled always successful...
Secondary deployment fails each time with same error if current node has other pods or not.
Docker can pull image

differences between images in size:
elastic ~ 740 mb
crm ~ 200 mb
Pls, help!
Inpection https://first_example.hb.bizmrg.com/inspection-report-20210921_170451.tar.gz

Could you check if the imagePullPolicy could be related to the problem? It seems to me that this is the only difference between the two deployments

Sorry, but imagePullPolicy not related with given error response. When microk8s pulling image he tryes https url, but why if i put into settings "http:/tools.myserver.com:5000" and it works with crm, but not work with elasricsearch.

Same error. No changes :)

No changes  :)

And what if you switch the two images in the deployments (replace tools.[...]:5000/dev.elasticsearch:21.09.21 with tools.[...]:5000/dev.crm:21.09.21 and also the other way)? This may help identify if the problem resides in the configuration or in the images

Ok. I found some errors. I will describe it later... Maybe this is bug


Additional registers and register documentation, and round tach output to 2dp

I'm working on a project using 4 EMC2101's, an FT232H and a mux. I wanted more control and more status output from the EMC, so I have added register addresses for all, and variable definitions for most, of the device registers.
Three other changes:

Rounding the tachometer output prevents values like 82.3582941144 (not really helpful and for most motors the reading jitters quite rapidly).
Also, defined constants for the MFG, Part numbers and used them appropriately.
Finally, added property to return the mfg, part and die revision.

I may work on this further. Let me know if there are things I need to know.

I can see there was a problem with formatting, but not what the problem was. I may need help (or pointers) fixing it

hiya! thanks so much for submitting a PR! we can review & merge PRs once they have passed continuous integration (CI). that means that code is 'linted' - that means it is formatted and passes basic structure tests, so that we maintain the same text formatting for all new code
if your code isnt passing, check the CI output (click on the red X next to the PR to scroll through the log and find where the error is
here is a tutorial on pylint and black: https://learn.adafruit.com/improve-your-code-with-pylint
and overall how to contribute PRs to circuitpython: https://learn.adafruit.com/contribute-to-circuitpython-with-git-and-github
once you get that green checkmark that indicates CI has passed, please comment reply to this post so we know its time for another review (we may not get notified on CI pass and miss that its time to look!)

Found the extra spaces, but it's now failing because there is no test code -- but there wasn't test code to begin with! :(

Good to review now?

Also, thanks for adding all the registers, what a behemoth of a task!

My only other concern is memory usage.  Are the new registers accessed by the library?  Adding this many may make it unusable by smaller boards, just something to keep in mind.

As for memory usage I have no idea what acceptable limits might be or how to measure what the values are. Part of my reason for adding the new registers was to enable additional properties to read or write them, but have not done so in this pr just to get the ball rolling.
If memory use is really a concern, then at least some registers could be added instead to the LUT class, so those using the non-LUT class can go for the low-memory option that way. If you're very restricted for memory it seems unlikely you would be using the LUT (with its need for an in-memory version of the LUT).
My own usage is on a amd64 server with 64GB ram, so I don't care :-)

Okay, I was think more about this, and reading back on the PR that added the LUT class, I think a lot of this (particularly the heavy use of adafruit_register objects should go in that subclass for memory reasons, since I agree with you that using it probably indicates memory isn't a concern.
Wanna try keeping the "essential" functionality additions/changes as is, and adding more of the "extra" ones to the LUT class?

I have moved the registers around a bit, and I hope things are looking better now.

Bump?

Sorry, I haven't had a chance to get to this just yet but I haven't forgotten!  I did mean to ask about the decision to make a new EXT class, is it worth separating from the LUT class in implementation?  Not against it, just noticed it!

I'll answer some comments inline as well, but this set of changes includes some not quite complete things, such as the blank comments. That's why it seems a little off. Sorry!

It indicates an I/O error.  In CircuitPython, it gets raised when things like a file can't be accessed, or I2C communication failure occurs.  If those would be a physical hardware problem resulting in I2C error or something else about I2C going wrong, that is why raising them as OSError makes the most sense.
Here are a couple examples of OSError, both of being raised and caught:

https://github.com/adafruit/Adafruit_CircuitPython_BusDevice/blob/318f7f79292ab6f0e24b2c6f8964c42d0e43a7a2/adafruit_bus_device/i2c_device.py
https://github.com/adafruit/Adafruit_CircuitPython_FeatherWing/blob/08e2843a03d5324bcc75e49a686054bcac4b0dda/examples/featherwing_tft24_simpletest.py

I think it's worth having a discussion with the wider community and contributors to talk through whether we want it to check the status register and raise exceptions from there.
I can see the upside of having the code crash as soon as it knows something is wrong (due to the status register saying so). But I do notice it makes the current examples unable to run with the new version using the same testing setup that they do work with using the released version of the driver.

The device signals various exception states in the status register, and if configured, can raise an interrupt on the Alert line when status changes. However, gaining the interrupt request line means losing the tach input line.
Until this recent change the status register was ignored. I put in this check to pass on such signals, which include both open/short circuit faults, temperature and fan speed limits exceeded (lower and upper). Without such checks there is essentially no point in setting the tach or temp limit values.
I understand we might not want this all the time, which is why in the EMC2101_EXT there is a way to disable it (set auto_check_status to False). For the base class though I didn't include that mechanism for space constraint reasons. It could easily be done.
One way to massively reduce memory requirements would be to remove the classes based on "CV", which take up at least 1KB of bytecode and 3KB of native code. It would, of course, be a breaking change.
I would emphasise that the status register checks are not 'something is wrong with the code or the program, but that the hardware monitor is doing its job and telling you when the fan is too fast, too slow or the temp is too high or low for the situation. I fully agree that 'crashing' from an exception is not the right response. However, completely ignoring the status register isn't useful either.

I have just pushed some more exception handling changes as requested. I think if this PR is accepted there will need to be release notes and additional docs because there are some breaking changes (different exceptions) as well as new features.
I need to wind down work on this for other things very soon as other things are calling on my time.
I am no longer sure where this review has got to. Could (both) of you explicitly note any changes still needed and make a list in a new comment? I think the point with check_status() exceptions needs to be pinned down. One option might be to remove check_status from the EMC2101 class and move those calls to an override of the methods in the EMC2101_EXT class -- so the base class doesn't check by default but the EXT class can do so if you ask it to. Either way, should the default be to check or not?

Previous bunch of commits resulted from me rebasing the branch on the current main:HEAD, to avoid the previous conflict.

Personally I think the default behavior should be to not check status for the "main" driver classes currently used by the examples.
A subclass that does the checks like you mentioned would be fine, or even adding a strict parameter or similar to the main class initializer and only doing the check when that was set to True.
This way the existing examples can still run with a fan that doesn't provide the tach pin.

@tannewt @tekktrik and I discussed this a bit during the "In the weeds" section of the weekly meeting today: https://youtu.be/lvgmQF7CNo4?t=4262
The consensus we came to is we don't want the driver library to force this status checking and exception raising behavior on the user. Instead the user code can call check_status() as needed to check for and raise errors if they want that behavior in a given project.
Based on that feedback I think we can remove auto_check_status and all of the calls to self._check_status() from the the driver. If you'd like to show people how to use the status functionality you could add a new example script that calls check_status() and handles the errors that it can raise.

@rivimey Do you think you'll have time to remove those automatic check_status calls? No worries if not
I'll follow up next week and push a commit to do that if you don't have a chance to get to it.
I'll do one more round of testing after that, but I think we should be ready to merge pretty quick after that.

Sorry not been well. What state is this in now? Did you notice that changes I made a while ago made checking the status reg optional, disabled by default, and not present at all for the base class?

I can take another look but I think they were.  I'll do a final sweep just to be sure.  Thanks both of you!

I should have a final review with anything this week hopefully, but this weekend at the latest.

@tekktrik I am in agreement with the remaining open items you mentioned. I do believe I tested this back around the time of my previous comment, but also thing it's worth another quick check after the remaining changes are made. I'll circle back and test it out with the hardware again once another commit is in with those.

Sorry to add an 'extraneous' comment to your amazing work. Cant wait to look use this version as, yh, mega useful!!
Willing to beta test as a random 3rd party but no idea how to clone this PR version into a useable python module...
Appreciate this is likely the wrong place to ask/talk so  no offence if you remove comment.
Just a kean 3rd party wanting to see this over the line!!

@omorgan831 Sorry, didn't notice this comment for a bit.
If you're still interested in testing this (or more generally any pr) but don't know how.
If you do it frequently and are comfortable with command line tools. Look into the official github CLI https://cli.github.com/
it makes checking out a PR branch very easy. Inside of a locally cloned repo this would check out the branch for this repo:
gh pr checkout 23

If you're less comfortable with command line you can do it by clicking the link at the top of this page that goes to the authors branch:

Once you're on the authors fork of the project click the green button to get the clone URL and clone the project as normal.
Inside the locally cloned project run this to checkout branch for the PR. Make note of the name of the branch in the PR page and checkout that branch with a command like this:
git checkout extra_registers

Just updated my branch to include the latest from adafruit. I don't think I have messed up this update... There were merges in the area of __version__ definition in init.py and also in emc2101_lut.py.
Would someone care to point out where it would be appropriate to add my name to the project as an author?  ... conf.py?

@tekktrik I have reinstated the code I did and thought I'd included but "got lost" somewhere, to do with _defer_update. Sorry for that.
I'm sorry but I am unwilling to make any more changes. This PR has already gone on a lot longer than I was happy with, given I do have other things to do.
The debug print statements were left commented out very intentionally - in building the hardware it is very useful to know which things aren't working right. I don't propose, therefore, to remove them.
I have intentionally split up the module so that those with limited memory can use only the base class in init.py while leaving those with more resources to exploit the rest of the code.
The makefile that was deleted from the branch on 6th June included the commands needed to compile the code to both Arm and Python bytecode and so to compare the installed library size, should that be needed to e.g. check installed library size.
I have not makde any changes to the docs build file. That line was added by foamyguy on 6th june.

Would someone care to point out where it would be appropriate to add my name to the project as an author? ... conf.py?

In the copyright string at the top of the code files that you worked on is good I think. Such as here: https://github.com/rivimey/Adafruit_CircuitPython_EMC2101/blob/dc4845b221632ccdd0859abd92917927ddf769b2/adafruit_emc2101/emc2101_lut.py#L2
It looks like you did find this and add your name, I didn't check all the files, but feel free to add it to any others that you worked on.

@FoamyGuy took a look at this on stream today and the remaining items are what he (and I) thought are open items.  I think there's still a need to test this which I can look into, but if you'd like to have one of us (or another community member) continue this please let us know.  Thanks for all your contributions so far!

It has for a while now felt like each time I think comments are addressed someone pipes up with another thing to change, and/or they are not satisfied with anything but what they want, negating whatever experience of the situation I might have. For example, issues about code size are reasonable but (I thought) dealt with several months ago, and the str/repr functions were apparently fine until now. This might be ok when you're all working for the same org to the same goals, but I'm doing this in my "free" time, along with a lot of other projects.
Basically, the experience I've had here makes me less inclined to contribute anything major again because I know I'll be pushed to change the code in ways that don't fit my own goals & aspirations. Beware of perfect being the enemy of good!
What I would like now is for this PR to be accepted and, should the community feel the need, then other changes can be made on top in other PRs as required.
@tekktrik please also note https://github.com/rivimey/Adafruit_CircuitPython_TCA9544A.git, which I've discussed here https://forums.adafruit.com/viewtopic.php?t=194387

If you want to contribute the TCA9544A library, I would suggest the Community Bundle which is the typical place for non-Adafruit sponsored libraries, but if your intent is to having in the Adafruit Bundle, I would check with someone about explicitly putting it there, since that isn't typical as far as I know.  The support page could work, or even the #circuitpython-dev channel in the Adafruit Discord where the rest of the devs will see things.
My suggestion is the Community Bundle - the process is relatively easy to add it as a submodule there, and that bundle gets shared as well just like the Adafruit one.  Note that if it goes in the community bundle you would remove Adafruit from the repo name and library filename.

@rivimey
We apologize if you have found the review process to be frustrating. It is not our intention to come off as un-satisfied or negate your experience, goals, or aspirations.
We do understand that you've got your own goals and aspirations with this code / library change. You are certainly free and encouraged to use the modified library for your own purposes how ever you'd like.
When considering whether to add the changes to the officially published library for all of our users to then find and use it, we must also take into consideration the goals and aspirations of the project and community as a whole. It's possible these may not be in 100% alignment with any specific community member, but in that instance it's not meant affront to that person. It is simply the community and maintainers attempting their best to do what they feel is in the best interest of the project and community. Individual community members have no obligation to make these considerations when working with their own code or libraries released within the Community Bundle rather than the official Adafruit bundle. We feel it's within the best interest of the project and community that we do consider these things when making descisions about libraries in the official Adafruit bundle.
There are certain coding styles, conventions, and other aspects that we want to be consistent across all of our published libraries. It's also a living, evolving process. We're constantly discussing new ideas, changes to our processes and points of interest to focus on. There have been more recent discussions occuring in our community about library size. The mention of it here stemmed from some of the broader discussions that have been occuring recently.
The review process occurs in the open and everyone in the community is allowed and encouraged to participate. If there are changes that have been requested that someone does not agree with it's perfectly okay to have a (civil) discussion about  pros and cons and for the community / project maintainers to make a desicion after understanding the different view points at hand. Tekktrik was not attacking you or your work  with any items discussed or by mentioning that he has concerns about memory / size and that there might be some portions we want to leave out of the published library. We welcome discussion during the review process, if you or anyone doesn't agree with a request that was made, or a piece of feedback you can share your point of view and explain whether you agree / disagree and with which aspects of it. This process is not intended to be antagonistic in either direction (contributor or reviewer), it's a natural part of open source efforts.
Thank you for expanding/improving the functionality of this library. We appreciate the time and effort that you've put into it, I have  no doubt folks will enjoy the new features as evidenced by some of the other comments on this PR.


cmd/compile: handle alias types in recursive types more consistently

The following code
package p

var x T[B]

type T[_ any] struct{}
type A T[B /* ERROR invalid use of type alias */ ]
type B = T[A]

reports an error when we use B in a recursive type definition due to the way type aliases are handled inside the type checker. In this (and possibly many other similar) cases, the error can be avoided by restructuring the code slightly. This version compiles without error (declaration of x moved past the type declarations):
package p

type T[_ any] struct{}
type A T[B]
type B = T[A]

var x T[B]

The compiler should be able to avoid this error on its own.
Root cause: Currently, the type checker doesn't have a "forwarding mechanism" for type aliases that are being "used" before their respective type is fully known. To solve this problem in general, a forwarding mechanism/type needs to be introduced. This is only an issue with some recursive type definitions involving type aliases.
cc: @findleyr

See #50259 and #50276.

This error doesn't appear anymore due to some of the (partial) fixes done with the CLs above. There's still more to do to handle aliases correctly in all cases but that's separate from this issue. We should add a test to cover this specific case and then close this issue.

Was able to reach this in 1.19b2: https://gotipplay.golang.org/p/mpONhtxQI4a
(really excellent to have an issue number in the compiler error!)

Can we re-open this? It can still happen both in tip and in 1.19.4.

Re-opened per previous comments and example: https://gotipplay.golang.org/p/mpONhtxQI4a

While this is mostly solved there are still an edge case.  Here's a full example: https://go.dev/play/p/vW_lpMaIH2h
In this example, Model is an interface where we don't care if we are dealing with a concrete struct of PetStore{}, Cat{}, Dog{}, Owner{} etc yet. All of which implement Model.
So the fix applied fixed the following two use cases:

accepting a concrete instance of the generic interface works.

type Entity = TypedEntity[Model, []Model]

type TypedEntity[T Model, TS ~[]T] interface {
	RelateEntity(Entity)
}

And you can also accept an interface that uses the instance of the generic interface.

type Entity = TypedEntity[Model, []Model]

type EntityPlugin interface {
	RegisterEntity(ctx context.Context, c Entity) EntityPlugin
}
type TypedEntity[T Model, TS ~[]T] interface {
	AddPlugin(ctx context.Context, v ...EntityPlugin) TypedEntity[T, TS]
}

However, you can not do both together or you get the same vet error pointing to this issue again.
type TypedEntity[T Model, TS ~[]T] interface {
	AddPlugin(ctx context.Context, v ...EntityPlugin) TypedEntity[T, TS]
	RelateEntity(Entity)
}

For some reason I don't totally understand, I got a notification from "Aaron" from GH on this issue yesterday with the link https://github.com/golang/go/issues/50729#issuecomment-2454311351, but I do not see it here. Here is the message verbatim:

While this is mostly solved there are still an edge case. Here's a full example: https://go.dev/play/p/vW_lpMaIH2h
In this example, Model is an interface where we don't care if we are dealing with a concrete struct of PetStore{}, Cat{}, Dog{}, Owner{} etc yet. All of which implement Model.
So the fix applied fixed the following two use cases:
accepting a concrete instance of the generic interface works.
type Entity = TypedEntity[Model, []Model]
type TypedEntity[T Model, TS ~[]T] interface {
RelateEntity(Entity)
}
And you can also accept an interface that uses the instance of the generic interface.
type Entity = TypedEntity[Model, []Model]
type EntityPlugin interface {
RegisterEntity(ctx context.Context, c Entity) EntityPlugin
}
type TypedEntity[T Model, TS ~[]T] interface {
AddPlugin(ctx context.Context, v ...EntityPlugin) TypedEntity[T, TS]
}
However, you can not do both together or you get the same vet error pointing to this issue again.
type TypedEntity[T Model, TS ~[]T] interface {
AddPlugin(ctx context.Context, v ...EntityPlugin) TypedEntity[T, TS]
RelateEntity(Entity)
}

Minimized reproducer of this example https://go.dev/play/p/_XljMNVUwEd :
type A = E[any]

type _ interface {
	G(c A)
}

type E[T any] interface {
	L(A)
}

For some reason I don't totally understand, I got a notification from "Aaron" from GH on this issue yesterday with the link https://github.com/golang/go/issues/50729#issuecomment-2454311351, but I do not see it here.

This normally means that the person added a comment and then deleted it.

@ianlancetaylor Thanks. I've opened #70230 to focus on just on this example. Re-closing.


AttributeError: type object 'Path' has no attribute 'expanduser'

Hi,
My python versions is 2.7 and 3.6.
When I import torch and then import matchzoo as mz in python 2.7 I receive this error:
"AttributeError: type object 'Path' has no attribute 'expanduser'"
and in python3 I receive this error:
"ImportError: cannot import name 'ensure_object'"
while matchzoo-py installed completely successfully.
I would appreciate it if you guide me.
Many thanks before all

Hi Zahra,
MatchZoo only supports Python 3.6+. Can you provide more details about the error?


< sign rendered as beginning of new HTML element

I've been looking online and checked the documentation, but I found nothing on this issue.
It might be no issue though. I'm placing the C++ code inside the

        #include <stdio.h>

And in the HTML it's rendered as
#include

and when inspect the code it looks like the new HTML element is created

    #
    include

<stdio.h></stdio.h>

Am I doing something wrong? Any help would be appreciated.
Thanks
Browser: Chrome Version 47.0.2526.73 (64-bit)

You need to escape < and > as < and > if you want them displayed literally. It's how HTML works, otherwise those are treated as regular tags.

 Thanks for help.

@isagalaev
How about  add the feature like syntaxhighlighter?

Are you expecting

Map<String, String> v = new HashMap<String, String>();
but getting?

Map<string, string=""> v = new HashMap<string, string="">();
</string,></string,>
If the answer is yes, please don't file another html escape bug, read on.

If you are using
 tags, unfortunately you have to replace all < characters with <, otherwise browsers think you have unclosed HTML tags.

Your actual HTML code should be:

Map<String, String> v = new HashMap<String, String>();

or use the
Please see Usage for more details on the subject.

We pass over the same problem. But let me explain the user point of view:

What i need to do? I want to hihgligth C++ code
Highlight.js detect text as C++ code ( what i am sending is C++ code)
So I am expecting the C++ code highlighted

So I think in this use of cases We need to replace < and > with the html entities.
What do you think?
Is it worth it to do a PR with this feature?

This has nothing to do with the language. If you don't escape < and > the browser doesn't treat them as part of your text, it treats them as tags. And it happens before highlight.js even gets to work on it.

Clearly I understand how to escape chars to html entities, but from my perspective if highlight.js forces to use  tags in browser, it need to support out of the box this feature.

 in HTML doesn't mean that text inside it will be auto escaped. This is in fact a common misconception. If highlight.js were to suddenly interpret tags inside
 literally, it would be a) quite surprising to people who do know how it works and b) would prevent people from having custom markup inside it. For example, right now you can do something like:

...

That wouldn't be possible if we would autoescape it.
Also, you're supposed to pre-escape any text you want to put inside HTML anyway for security purposes. It would be really cumbersome to force people who do it do something like if (it's a "pre" tag && highlight.js is active) { unescape text back }.


Inconsistent snpeff/VCF entries

Here is one entry in a VCF file I'm getting (SH10-014.vcf.gz in my test data):
NC_011083       3535635 .       A       G       290.577 .       [...] ANN=G|synonymous_variant|LOW|oadA|SEHA_RS17780|transcript|SEHA_RS17780|protein_coding|1/1|c.609T>C|p.Cys203Cys|609/1785|609/1785|203/594||

Why is the VCF entry listed as A to G, but the snpeff HGVS entry is listed as c.609T>C?

Maybe this is related to giving identifiers in terms of forward/reverse complement of sequence in the genbank file?

It looks like reverse-complement is correct. Here is the corresponding gene entry in the genbank file (https://www.ncbi.nlm.nih.gov/nuccore/NC_011083):
     CDS             complement(3534459..3536243)
                     /gene="oadA"
                     /locus_tag="SEHA_RS17780"
                     /old_locus_tag="SeHA_C3650"
...

It would make sense that a C.609T>C when reverse complemented becomes an A to G mutation, as listed in the VCF file.


Feature Request: Set database session variable after connection

I would like to be able to specify some session variables to always be set after Phinx establishes a connection.
For example, I would like to have storage_engine to ensure that if we neglect to specify the table engine in statement, and the script is ran on a server where default_storage_engine is not in our control.
Another good one would be sql_mode.
Ideally these would be specified in the phinx.yml file.

... actually, it may be best to run the SET for each variable before each individual migrations, in case one of those migrations change the variable which would impact all following migrations.

You can easily extend Phinx with your own migration base class.
<?php
namespace YourProject\Migration;

abstract class AbstractMigration extends \Phinx\Migration\AbstractMigration
{
    public function init()
    {
        // Initialize the migration.
        parent::init();

        // Now do your sets here.
}
?>

And then set ```'migration_base_class' => 'YourProject\\Migration\\AbstractMigration',``` in your phinx config (I use a PHP file, so this is array syntax).

Admittedly, the set will be done for every migration, rather than connection. Maybe this is OK. Especially if you have to do something different in a single migration.

We have finally been able to upgrade Phinx to be able to take advantage of this.
Unfortunately, it does not work.
The database connection is not made available to the migration until just before the up/down/change methods are executed.  So you cannot run any queries from the init() method.
So instead you would need to set the session variable in the up()/down() methods. The abstract class cannot enforce this on the change() method because if it gets defined, it will get used instead of up/down.
It is perhaps a little heavy handed, but to ensure a migration are not accidentally written without calling parent::up()/parent::down(), I have declared these methods as final, and the migrations instead need to implement alternative methods, migrate()/rollback() which parent::up()/parent::down() will call.
Note that this is mostly prompted by the need to ensure SQL_MODE for the connection is correctly set before defining triggers and routines, as their modes are inherited from the connection.
I think there is a good case to incorporate a cleaner solution to ensure consistent schemas between servers.

Aha. I see.
Looking at the code, the adapter really is made as late as possible.
I think a better solution would be to be able to extend the adapter and allow that to control it's connection setup better.
You could register your own adapter using http://docs.phinx.org/en/latest/configuration.html#custom-adapters, allowing you to setup the adapter as you see fit.
But it wouldn't alter when the adapter would be available to the migration.
OOI, why not just set the SQL_MODE as part of the migration?
$this->query("SET SQL_MODE = 'xxx'");

You could register your own adapter [...] But it wouldn't alter when the adapter would be available to the migration.

You are right, that may have been a nicer option. I probably would have extended the MySQL adapter and set session variables for the connection withing the connect method, like so:
<?php

MyAdapter extends \Phinx\Db\Adapter\MysqlAdapter
{
    public function connect()
    {
        parent::connect();
        $this->execute("SET SQL_MODE = 'xxx'");
    }
}

Although, it's not clear how to best register a custom adapter. I assume we would need to write our own version of bin/phinx.

why not just set the SQL_MODE as part of the migration?

We have a small team writing migrations and people forget. We have around 80 installs of the product and we have found that the same routines have many different SQL modes across the various installs. There have been cases where MySQL has been silently handling bad values for some installs whilst erring on others.
We want to make sure that going forward, all routines and triggers across all servers and database have a consistent SQL mode.
Additionally, we want to be sure that all our migrations are ran in a suitably strict mode.

Registering a new adapter can in the init() of your own base migration class.
Set 'migration_base_class' in your phinx.yml/phinx.php config file to a class that extends the AbstractMigration class. Add the registration to the init() method. Maybe. Thinking out loud. Untested. YMMV. IANAL.

Or, even easier.
Use phinx.php rather than phinx.yml, and you can add it to the top of the config script.
Mine looks like ...
<?php

// load our environment files - used to store credentials & configuration
(new \josegonzalez\Dotenv\Loader(\Helpers\Directories::getRootDirectory().'/.env'))->parse()->toEnv(true);

return
    [
        'paths' => [
            'migrations' => '%%PHINX_CONFIG_DIR%%/migrations',
            'seeds' => '%%PHINX_CONFIG_DIR%%/seeds',
        ],
        'environments' =>
            [

As the autoloader will already be running, adding AdapterFactory::instance()->registerAdapter($name, $class); to the top of that file should be enough.

You can use
https://github.com/robmorgan/phinx/blob/master/src/Phinx/Db/Adapter/MysqlAdapter.php#L107
0.6.6
'mysql_attr_init_command' => "SET CHARSET 'utf8', NAMES 'utf8', sql_mode = 'STRICT_ALL_TABLES';",

Can you please make a PR to improve the docs here?


Inconsistent URN casing in DBT ingestion

Describe the bug
DBT ingestion deals with three main URNs during ingestion: the model name, the table name in source platform (bigquery, snowflake, etc.) and the column name. During ingestion, the table identifier is getting lowercased and the others are not.

model_name preserves what is being used at the manifest: https://github.com/datahub-project/datahub/blob/1df806d1773b845759939e9574847b5d3ee84de8/metadata-ingestion/src/datahub/ingestion/source/dbt/dbt_core.py#L138-L148
table identifier (db_fqn) is being lowercased: https://github.com/datahub-project/datahub/blob/aa388f04c2dc1cac945d5219ce8a8437e9f90cb4/metadata-ingestion/src/datahub/ingestion/source/dbt/dbt_common.py#L400
column URN preserves what is being used at the catalog: https://github.com/datahub-project/datahub/blob/1df806d1773b845759939e9574847b5d3ee84de8/metadata-ingestion/src/datahub/ingestion/source/dbt/dbt_core.py#L113

I'm using DBT with Snowflake and this is causing two bug scenarios:

When I do snowflake ingestion with convert_urns_to_lowercase=False:
Then I get a mismatch between the table identifier urn coming from snowflake (not being lowercased) with the table identifier from DBT (db_fqn), that is actually being lowercased. So nodes are not matching.

When I do snowflake ingestion with convert_urns_to_lowercase=True:
Now table identifiers are matching (both URNs are lowercased), but then the column identifiers mismatch. Because the snowflake ingestion will convert the column URNs to lowercase, while DBT preserves column casing. And the result is a schema view with duplicated columns (lower and uppercase).

To Reproduce
Steps to reproduce the behavior:

Ingest DBT using snowflake as the target_platform
Ingest snowflake metadata with convert_urns_to_lowercase=False. Observe the first bug described.
Ingest snowflake metadata with convert_urns_to_lowercase=True. Observe the second bug described.

Expected behavior
Columns and tables identifiers should match between DBT and source platform. Ideally, casing in DBT should be consistent - either lowercasing everything or preserving case in every identifier.
As I suggestion, I can submit a PR to introduce a convert_urns_to_lowercase flag to the DBT recipe as well, so users can decide if they want to lowercase or not every identifier. At least to make the behavior consistent.
Screenshots

Column names being duplicated when using convert_urns_to_lowercase=True in Snowflake ingestion.

I am having the same issue starting with v0.10.0 where dbt and Snowflake columns are showing twice in upper and lower cases (with convert_urns_to_lowercase=true in Snowflake config), this looks like a regression that was introduced by https://github.com/datahub-project/datahub/pull/7063? Not having this issue with v0.9.5.


Passing a file, function name and parameters don't work in 7.1 as in 5.1 from cmd

Steps to reproduce
Save this to test.ps1.
function Get-Test() {
  [cmdletbinding()]
  Param (
    [Parameter(Mandatory = $true, HelpMessage = 'The test string.')]
    [String]$stringTest
    )
  Write-Host $stringTest
  return
}

Expected behaviour
In my batch file for my installed 5.1 works.
rem Using PowerShell 5.1 works
powershell.exe ". '...pathto\test.ps1'; Get-Test ""help me"""

Actual behaviour
In my batch file for my portable 7.1 doesn't work.
rem Using PowerShell 7.1 Portable doesn't work
"pathto...\pwsh.exe" ". '...pathto\test.ps1'; Get-Test ""help me"""

Everything is the same only I've pointed the powershell.exe to the path of the portable build.
Environment data
Name                           Value
----                           -----
PSVersion                      7.1.3
PSEdition                      Core
GitCommitId                    7.1.3
OS                             Microsoft Windows 10.0.19042
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

So as to support Unix shebang lines, pwsh's CLI now defaults to the -File parameter (which expects only a script-file path), whereas powershell.exe default to -Command / -c.
To make your commands work with pwsh, you must use -Commnand / -c explicitly.

To make your commands work with pwsh, you must use -Commnand / -c explicitly.

Thanks. What is the correct syntax?
Here's my attempt but it doesn't work.
"...\pwsh.exe" -File "...pathto\test.ps1" -Command Get-Test ""help""

-File and -Command were always mutually exclusive.
All you need is to prefix your command string(s) with the -c parameter:
pathto...\pwsh.exe" -c ". '...pathto\test.ps1'; Get-Test ""help me"""

All you need is to prefix your command string(s) with the -c parameter:

Ah thanks.
Now the same syntax is working for both versions.
rem Both commands are now working in both v 5.1 and v7.1.
rem v7.1
"...pathto\pwsh.exe" -c ". '...pathto\ps-functions.ps1'; Get-Test ""help me"""
rem v5.1
powershell.exe -c ". '...pathto\ps-functions.ps1'; Get-Test ""help me"""


Remove node images based on docker for GKE v1.24+

Setup

Rancher version: v2.8-4350b89f75e08530c9e9c082dca6e4328eabf453-head

Describe the bug
Provisioning a GKE cluster in the UI from an image based on dockerd failed in GKE version higher than 1.24 with the following error message
Googleapi: Error 400: Creation of node pools using node images based on Docker container runtimes is not supported in GKE v1.24+ clusters as Dockershim has been removed in Kubernetes v1.24. Details: [ { "@type": "type.googleapis.com/google.rpc.RequestInfo", "requestId": "0xecc07d3f4f1219ec" } ] , badRequest
To Reproduce

Deploy Rancher on a local cluster with GKE v1.25.6-gke.1000
Add your GKE cloud credentials in Clusters Management > Cloud Credentials;
From Clusters Management, hit Create
Select Google GKE
Pick a location and a kubernetes version higher than 1.24
In the Node Pool section, select "Container - Optimized OS with Docker" or "Ubuntu - Docker"

Result
Cluster fail to provision with the following error
Googleapi: Error 400: Creation of node pools using node images based on Docker container runtimes is not supported in GKE v1.24+ clusters as Dockershim has been removed in Kubernetes v1.24. Details: [ { "@type": "type.googleapis.com/google.rpc.RequestInfo", "requestId": "0xecc07d3f4f1219ec" } ] , badRequest
Expected Result
We should not display the options "Container - Optimized OS with Docker" and "Ubuntu - Docker" in the UI if GKE version is greater than or equal to 1.24
Screenshots

Additional context

This is already fixed in 2.9.0

Fixed as part of https://github.com/rancher/dashboard/issues/10088


Add possibility to put false into config.footprints.controllers

Fix https://github.com/trailsjs/trailpack-footprints/issues/3

@tjwebb what do you think of this ? Can be merge ?

Yes, can we also include docs + test?

Of course, I will try to work on this this weekend and let you know :)

Here it is, let me know if it's enough or not.

Also fix https://github.com/trailsjs/trailpack-footprints/issues/8, I edit tests unit to include the prefix.
Like this tests will crash if there a problem with it now.

About https://github.com/trailsjs/trailpack/issues/31

@tjwebb little up :) can I merge this ?


examples: add an example for mqtt

This will add an example to use jsonrpcserver over mqtt
Signed-off-by: Nicola Lunghi<EMAIL_ADDRESS>

Hi yes no problem I'll do tonight after work
On Mon, 13 Jan 2020, 21:25 Beau Barker<EMAIL_ADDRESS>wrote:

@bcb requested changes on this pull request.
Thanks! Do you mind replacing the print statements with logging?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/bcb/jsonrpcserver/pull/113?email_source=notifications&email_token=AGB6YTHIGPYJKD5JSFXDMCLQ5TL6LA5CNFSM4KGBYPGKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCRSMTEY#pullrequestreview-342149523,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGB6YTHCUTKENRAUADXNFVLQ5TL6LANCNFSM4KGBYPGA
.


edit date from textbox directly

How can I allow to set date directly by editing textbox?

https://github.com/charliekassel/vuejs-datepicker/issues/231


Rename Prompt Populate Value

Added config option rename_prompt_populate to have the rename prompt
begin with the current cursor word.
Set the config option default to true

This is a common default for similar plugins and functionality
It is easier to delete a word than it is to type it out

I agree, thanks @aprowe


[BUG/ISSUE] Website instead of homepage

In Portuguese website makes more sense than homepage. I've also changed it in English. What's your opinion?
Or personal website/personal web page?

Yes, I totally agree.

Then I can close this as fixed, right?

sure!


Fix reflected serialization/deserialization on Name component

Objective

This PR makes it so that ReflectSerialize and ReflectDeserialize traits are properly derived on Name. This avoids having the internal hash “leak” into the serialization when using reflection.

Solution

Added a conditional derive for ReflectDeserialize and ReflectSerialize via #[cfg_attr()]

Changelog

Name now implements ReflectDeserialize and ReflectSerialize whenever the serialize feature is enabled.

Since this is technically a breaking change, could you add a migration guide?

Since this is technically a breaking change (i.e. existing scenes could now be invalid and/or expectations of what's included in the serialized output), could you add a migration guide?

Just saw this now, but the PR is already merged. 😕 Are we using the reflection (de)serialization for scenes? In this case I can add an entry to the migration guide, will the release script still pick it up even after the PR is merged? Will we need to include it manually later when writing the notes?

Are we using the reflection (de)serialization for scenes?

Yep! It's what powers the scene system essentially.

In this case I can add an entry to the migration guide, will the release script still pick it up even after the PR is merged? Will we need to include it manually later when writing the notes?

I believe the script is only run towards the end of the cycle. So it should pick it up if you add it now.

@MrGVSV Ended up adding backwards compatibility to the old format: https://github.com/bevyengine/bevy/pull/11485
This should give people time to more easily migrate.

This doesn't seem to be working in 0.13?


[Question] How to run in debug mode in IDEA or VSCode with latest 1.2.6, and no sequence diagram in IDEA?

Cannot seem to run in debug in either IDE above using plugin 1.2.6.
Also, if project is created from within IDEA, there is no sequence diagram?
IDEA: Community Edition: 2020.1.3
Code: 1.47.0
Mac OSX: Catalina 10.15.5

@scheung38
We tested a simple "Hello, World!" scenario in debug mode with IDEA and VSCode. We were able to successfully debug and view sequence diagram when a project is created with IDEA.
Please follow the steps in [1] to debug in IDEA and [2] to view the sequence diagram.
We were not able to debug in VSCode successfully. This has been already fixed with #24735 and #24745 and the fix with be available with the Swan Lake preview 3 and 1.2.7 releases. You can follow the steps in [3] to debug in VSCode.
Tested sample scenario:
import ballerina/io;

public function main() {
    io:println("Hello, World!");
}

Tested Ballerina version:
jBallerina 1.2.6
Language specification 2020R1
Update Tool 0.8.8

Other versions:
IDEA: Community Edition: 2019.3.4
VSCode: 1.47.2
Mac OSX: High Sierra 10.13.6

[1] https://ballerina.io/learn/setting-up-intellij-idea/using-intellij-plugin-features/#debugging-ballerina-programs
[2] https://ballerina.io/learn/setting-up-intellij-idea/using-intellij-plugin-features/#viewing-the-sequence-diagram
[3] https://ballerina.io/learn/setting-up-visual-studio-code/run-and-debug/

We tested the above scenario in IDEA: Community Edition: 2020.1.4 as well. Everything works as expected.


fix the linum-relative-current-face for peacock-theme.

this is still that underline problem.lol
(btw, expecting tron-legacy and badger

Could you add :underline nil to line-number and line-number-current-line instead of linum-relative-current-face? linum-relative-current-face inherits from them in doom-themes-common.el, and I don't want to break this inheritance.

yeah, ok~


Discord and forum links not working anymore

Since the forum has been down a while I wanted to see where community (scripting) discussions are currently happening. I thought perhaps the discord would be relevant but the discord link is not working anymore

Thanks for the heads up, I've updated the links on the home page.


Add Mediaworks

Mediaworks
Hex-casting capes, sorta spectator mode, iota HUDs, trinket media content viewing. Lotsa neat stuff.

Chloe, myself (as of "sometime this morning"), and possibly other people I'm not specifically aware of, were wondering about the status of this 👀.


Non-private registries cause schema issue

Package ecosystem

NuGet

Language version

Manifest location and content prior to update

dependabot.yml content

Updated dependency

What you expected to see, versus what you actually saw

Native package manager behavior

Images of the diff or a link to the PR, issue or logs

🕹 Bonus points: Smallest manifest that reproduces the issue

From https://github.com/PowerShell/PSScriptAnalyzer/pull/1664.
Config file:
version: 2
registries:
  powershell-gallery:
    type: nuget-feed
    url: https://www.powershellgallery.com/api/v2/
  nuget-org:
    type: nuget-feed
    url: https://api.nuget.org/v3/index.json

updates:
- package-ecosystem: nuget
  directory: "/"
  schedule:
    interval: daily
    time: "13:00"
    timezone: America/Los_Angeles
  open-pull-requests-limit: 10
  registries:
  - powershell-gallery
  - nuget-org

You can find the current file here.
The configuration file is reporting a schema issue:

The configuration file I wrote is based on dependabot's own generated configuration in https://github.com/PowerShell/PSScriptAnalyzer/pull/1668 (which we rewrote because we thought GitHub might have special logic to detect dependabot commits to perform a configuration hook).
I can't find any further information on the schema or what it expects and the documentation doesn't really cover this case (it only talks about private registries that have tokens or passwords).
I also saw the same error message with this config here.

Are non-authenticated registry entries supported?
Is there a schema I can refer to to help understand what's going on here (the current error message didn't help)

Original dependabot commit: https://github.com/PowerShell/PSScriptAnalyzer/commit/9a4a3cdc2f414df452e82df05a8e34885aa07a3a

@xlgmokha is going to dive in a little deeper, but my first quick look is that it's missing a username/password or token (docs).
I assume if you add the right auth mechanism to the registry, it will work fine.

Hey @rjmholt! Thanks for submitting this issue.

Is there a schema I can refer to to help understand what's going on here (the current error message didn't help)

At the moment it looks like we haven't published the v2 schema publicly. I'll see what I can do about that.
Hold tight and I'll see what I can dig up. Thanks for you patience.

Here's what I found... When we validate nuget-feed registries we check to see that they have at least a token or username/password pair. Here's a snippet of the JSON schema equivalent validation.
    "nuget-feed": {
      "anyOf": [
        {
          "type": "object",
          "required": [
            "type",
            "url",
            "token"
          ],
          "additionalProperties": false,
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "nuget-feed"
              ]
            },
            "url": {
              "type": "string"
            },
            "token": {
              "type": "string"
            }
          }
        },
        {
          "type": "object",
          "required": [
            "type",
            "url",
            "username",
            "password"
          ],
          "additionalProperties": false,
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "nuget-feed"
              ]
            },
            "url": {
              "type": "string"
            },
            "username": {
              "type": "string"
            },
            "password": {
              "type": "string"
            }
          }
        }
      ]
    },

It looks like both api.nuget.org and www.powershellgallery.com are public registries that do not require an Authorization header in order to download packages. Is that correct?

Please let me know if that works a little bit better for you.

Ah, thanks for the help!

It looks like both api.nuget.org and www.powershellgallery.com are public registries that do not require an Authorization header in order to download packages. Is that correct?

Yes that's correct!

but my first quick look is that it's missing a username/password or token (docs).

I didn't manage to find the section of the docs you linked, but instead ended up here.
That section, combined with the original config that dependabot itself submitted, didn't give me the impression that we needed to provide any auth entries (eventually I read between the lines that the word private kept appearing around registries and that the only examples included auth entries).
After removing the explicit registry entires, it all seems to be working now. Perhaps nobody else has/will hit this issue, but some things that might have helped me in this case:

The schema validator telling me specifically what was wrong (i.e. what entry it was expecting or what entry wasn't allowed)
A link to the schema from the validator so I could understand the expectation
A description of the structure of registries entries in the docs, namely what keys are available and which are required
A call-out in the docs that registries is only for private, authenticated registries and an auth configuration must be provided

Really appreciate you following up so quickly and finding that schema — that's exactly what I was looking for to get me unblocked!

Oh, also, is there a way to configure the magical dependabot validation CI task to check any edits to the config file, rather than just when dependabot first adds it? That would be really useful to see if we're about to commit a bad config file.

Dependabot-Preview shouldn't be opening up PR's that include registry config without valid credentials. I'll follow up on that to make sure.

The schema validator telling me specifically what was wrong (i.e. what entry it was expecting or what entry wasn't allowed)

I agree. This would have helped me debug this issue as well.

A link to the schema from the validator so I could understand the expectation

I'll see if we can publish a schema in some form in the docs. @asciimike is this something that we can do?

A description of the structure of registries entries in the docs, namely what keys are available and which are required

This sounds do-able.

A call-out in the docs that registries is only for private, authenticated registries and an auth configuration must be provided

I agree. I captured the bullet points and dropped them into the internal issue tracker for us to prioritized. Thanks for taking the time to write that up.

Oh, also, is there a way to configure the magical dependabot validation CI task to check any edits to the config file, rather than just when dependabot first adds it? That would be really useful to see if we're about to commit a bad config file.

I wish. At least not that I know of yet but you do have the attention of the right people to make that happen. 😉
I personally would love to be able to type gh lint .github/dependabot.yml (Shameless plug for gh cli).
Feel free to re-open this issue if you run into any other related issues. Happy hacking!

@rjmholt you were 💯 right that Dependabot-Preview was opening up migration PR's with missing credentials when the registry was configured as a public registry. I'm working on a patch now. Thank you, thank you, thank you!

Really appreciate all your help and friendliness — you've made my day 🙂

Oh, also, is there a way to configure the magical dependabot validation CI task to check any edits to the config file, rather than just when dependabot first adds it? That would be really useful to see if we're about to commit a bad config file.

It should actually run on any edit, but it appears the check is currently on ran on the default branch. That's unfortunate because it's most useful when it's ran on a pull request changing the file! I'll look into fixing that, but I might not be able to prioritize it today.


support for android

Hello. There's a great app for running SSH on Android - https://juicessh.com/
However, if the SSH is behind Pomerium TCP route, AFAIK there's no way currently to connect to it from Android phone or tablet.
Having SSH access on phone is usually for emergencies only, but tablets today are very capable and can be used as a laptop replacement.

https://github.com/brian-mcnamara/android-pomerium-bridge

@ pschiffe was the link @wasaga  what you were looking for?

Not really, as I need to compile that myself? I'm not sure, there's no documentation..
I'm looking for something I could download from the play store.

Got it. The best way to handle this would be to wrap ProxyCommand. I'm not sure the best way to do this in the android ecosystem but it's native to OpenSSH.
https://www.pomerium.com/docs/capabilities/tcp/examples/ssh.html#always-tunnel-through-pomerium

I think JuiceSSH could handle ProxyCommand directive in the SSH connection setting, alternatively it supports "snippets" - run custom code before creating the connection.
However, the part that is missing is to run pomerium-cli on the android device.
I can also imagine, and maybe it would be even better, to have pomerium app for android similar to pomerium desktop - a graphical application to create connections from localhost to pomerium routes. That could work for ssh as well as databases.

Sorry, I'm not super familiar with the android ecosystem (in theory, it should be as simple as having pomerium-cli in /bin somewhere?) but in theory pomerium-cli can probably run on android architecture (we support bunch of different flavors including arm and I don't with little modification on the build target.
Though we don't have the resources (or devices) to do this type of work currently, either an app or updated build target for android and usage instructions would be welcome contributions from the community!

https://pkg.go.dev/golang.org/x/mobile/cmd/gomobile


Change DemoModuleNgFactory to DemoModule

Bug Fix
When npm run demo:watch
I have this error,
ERROR in /Users/mahmutduva/Desktop/myProjects/ng2-pagination/demo/src/bootstrap.aot.ts
(4,35): error TS2307: Cannot find module '../ngfactory/demo/src/demo.module.ngfactory'.

Hi,
This was due to some issues I had implementing AoT compilation for the demo app. I am still working on it, so do not need to merge this PR. Thanks for taking the effort to suggest a fix though!


422

getting 422 Unprocessable entity on api/register

Same here

Same here

i fixed making my own implementation with a custom login and not using cookies, now everything works fine (not using api/register anymore, made my own login and after storing info in the current request.session instead cookies)

Ok

Same here

i fixed making my own implementation with a custom login and not using cookies, now everything works fine (not using api/register anymore, made my own login and after storing info in the current request.session instead cookies)

Still it didn't work. I just mentioned the content type while making the request and it worked!

@Daishiky Sorry for replying late but I am glad you opted for a different solution you can contribute to the project with your own implementation.

@Mitra-Electronics Please contribute to the project but making the required changes.

@Daishiky @Mitra-Electronics I have done few changes please feel free to try them. Thank you both for showing interest in this project. Really appreciated!

Ok. Welcome

Does anyone have the fixed code?


Current latest docker tag does not contain linux/arm64 build

Describe the bug
Your current docker latest build does not have an attached linux/arm64. Other builds, and past builds do have this. This results in my being unable to install Label Studio on Apple Silicon.
To Reproduce
Steps to reproduce the behavior:

Run docker run -it -p 8080:8080 -v pwd/mydata:/label-studio/data heartexlabs/label-studio:latest
"docker: no matching manifest for linux/arm64/v8 in the manifest list entries."

Environment (please complete the following information):

OS: macOS 13.4
Label Studio Version: Unknown

We have been aware of this ongoing issue since April 8, specifically after switching to node:18, which caused problems with yarn2 builds for arm architecture. This is a well-known issue involving QEMU and yarn: https://github.com/nodejs/docker-node/issues/1335.
Unfortunately, we were unable to address and implement a fix prior to the release 1.8.0. However, I am glad to inform you that we have resolved all the issues today. We have updated all the images to include arm builds, ensuring compatibility with Apple Silicon.
Thank you for bringing this issue to our attention.


[MessageControl] Fixing UDP output and allowing it to store more than one message

Like we discussed on Teams with @sebaszm, there are two major changes:

Making sure that UDP output uses the Convert() as all other Publishers, since it has not been updated up to this point
Allowing to store more than just one message in the _sendBuffer, since the Trigger() call is asynchronous. With Thunder already running, the SendData() method is called on average once every 1-3 calls of the Output() method, but when the framework starts, it can take quite a while before the first buffer "flush" happens (hence 4KB size, since I was still getting an ASSERT with 2KB)

The 4KB value seems arbitrary, but I understand it needs to accommodate asynchronous flushing of the data through the network.


"Ghost" posts and wrong post count

Hi,
from a few weeks Vienna is constantly showing the wrong post count in the dock (Mac OS X 10.11.3 El Capitan), pulling "ghost" posts from the following sources (I have the sync with Inoreader active; see screenshots below):

http://www.kenrockwell.com/rss-daily.php
http://www.japancamerahunter.com/feed/
https://www.youtube.com/feeds/videos.xml?channel_id=UCVcxJ9k14bi__-uA1cGkEcA
http://feeds.feedburner.com/techradar/cameras-and-camcorders-reviews?format=xml

Uploading the entire list of feeds doesn't make a difference, while uploading each single feed make the ghost posts disappear from the post count; but as soon as Vienna updates the entire list of feeds they are back.
The only way to solve the problem is to log in via web to Inoreader and mark all as read. The strange thing, though, is that in Inoreaded the feeds showing unread posts are not from the same feeds that are showing false post counts in Vienna, but actually pretty old posts from other feeds already read and deleted in Vienna, so my guess this is some kind of sync error.
P.s. keep up the good work, this software is borderline perfect! The only feature I think is missing is the ability to copy video links from within Vienna itself (or to download them)

@Addicted2light thanks for the clear bug report! I'll try and get a look at it this weekend :smile:

Thanks to you for the speedy response! :)

Since the original post, I've experienced the same behavior just once (and going to Inoreader and marking the affected article as "read" solved it).
Let's hope this new released version has solved this small nuisance for good :+1:

I am glad you're not experiencing this issue very often. I am very sorry that I forgot to revisit the issue - I will try and keep an inoreader account connected to my copy of Vienna so if any issues arise then I can help debug them.

That is what I would call a fast response!!! :)
No need to be sorry btw, I just updated the issue report exactly to let you know that is not something that’s happening very often, so you can concentrate on eventual more urgent “stuff”.
Keep up the good, no, scratch that, GREAT work!
Gianluca Bevacqua
www.addicted2light.com
facebook.com/addicted2light
<EMAIL_ADDRESS>Il giorno 14 marzo 2016 @ 10:02:59, Josh<EMAIL_ADDRESS>ha scritto:
I am glad you're not experiencing this issue very often. I am very sorry that I forgot to revisit the issue - I will try and keep an inoreader account connected to my copy of Vienna so if any issues arise then I can help debug them.
—
Reply to this email directly or view it on GitHub.


The push rules on the webclient don't match to the android ones

Msg containing my user name does not exit on the webclient
The webclient defines

Messages in one-to-one chats
Messages in group chats

https://github.com/vector-im/vector-android/commit/e12b22ec0b095f3aaba691c24b2956d74acbf2f0


Need Clarification.

What does "FE, SBA, etc. are configured in the network configuration settings" mean?

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

ID: d599b313-b8cd-e436-827e-7520157e8b89
Version Independent ID: aa303fbf-a860-0eb9-056a-554dd22c23cc
Content: Call admission control deployment final checklist for Skype for Business Server 2015
Content Source: Skype/SfbServer/deploy/deploy-enterprise-voice/final-checklist.md
Product: skype-for-business-itpro
GitHub Login: @CarolynRowe
Microsoft Alias: crowe

Thank you for this feedback and for contributing to the wellness of the content! This is a good idea and we have added it into our backlog for triage and prioritization.


dpkg: error: PATH is not set

hi. please help me this, i try to install java jre by using cloud cmder docker image but it always returns PATH is not set? thank you.

Looks like you should install apt-utils. What command do you use to install java re?

i tried to install apt-utils but it still not working
my commands:
apt-get update
apt-get install apt-utils

Looks like it is something with $PATH variable and dpkg, try from OS console connect to container with:
docker exec -it container bash

And install what you need.

Fixed with https://github.com/cloudcmd/console/commit/6902ed80e350260b7e6b9e0e2ffd63137c75f973

Landed in v5.10.1.


Fix: yt-dlp and pyppeteer (requests-html) throwing errors

Errors are being thrown from yt-dlp due to use of version 2023.11.16
[WARNING] songbirdcore.youtube: [youtube] YouTube said: ERROR - Precondition check failed.
[WARNING] songbirdcore.youtube: [youtube] HTTP Error 400: Bad Request. Retrying (1/3)...
[WARNING] songbirdcore.youtube: [youtube] YouTube said: ERROR - Precondition check failed.
[WARNING] songbirdcore.youtube: [youtube] HTTP Error 400: Bad Request. Retrying (2/3)...
[WARNING] songbirdcore.youtube: [youtube] YouTube said: ERROR - Precondition check failed.
[WARNING] songbirdcore.youtube: [youtube] HTTP Error 400: Bad Request. Retrying (3/3)...
[WARNING] songbirdcore.youtube: [youtube] YouTube said: ERROR - Precondition check failed.
[WARNING] songbirdcore.youtube: [youtube] Unable to download API page: HTTP Error 400: Bad Request (caused by <HTTPError 400: Bad Request>); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U

This error is actually linked to the pyppeteer error
INFO] Chromium extracted to: /home/cboin/.local/share/pyppeteer/local-chromium/1181205
[INFO] pyppeteer.chromium_downloader: Chromium extracted to: /home/cboin/.local/share/pyppeteer/local-chromium/1181205
[INFO] pyppeteer.launcher: Browser listening on: ws://<IP_ADDRESS>:48611/devtools/browser/a9037d93-2054-48b1-9024-9c7bb041c363
[ERROR] asyncio: Future exception was never retrieved
future: <Future finished exception=NetworkError('Protocol error Target.detachFromTarget: Target closed.')>
pyppeteer.errors.NetworkError: Protocol error Target.detachFromTarget: Target closed.
[INFO] pyppeteer.launcher: terminate chrome process...
[ERROR] asyncio: Future exception was never retrieved
future: <Future finished exception=NetworkError('Protocol error (Target.sendMessageToTarget): No session with given id')>

Once I can upgrade requests_html, I believe this will be resolved, as it's constraining websocket versions, which then constrains yt-dlp.
An explanation has been added to songbirdcore: https://github.com/cboin1996/songbirdcore/pull/4/commits/5ba85378274253c8a26284b94142e0a821241a30

I  have created my own fork of requests-html that uses playwright under the hood.
I updated songbirdcore and songbirdcli to use this instead, and then was able to update yt-dlp and remove pyppeteer entirely as a dependency.


Add  umsida.ac.id

thank you

@unhcr-smh There are several files in the request, along with file.zip. It must not be there. Please remove file.zip and make pull request again.  I have to close this request without merging. Thank you for your understanding.


Firefox development console flooded by CSS warnings

Firefox console is flooded (it even becomes unresponsive at some point) by this CSS warning:
Unknown property ‘-moz-letter-spacing’.  Declaration dropped.

It looks like styled-components adds -moz-letter-spacing  (and matching prefixes for IE/Chrome), yet this property is supported since Firefox 2, we don't need a prefix there. This might be a bug in an upstream library (e.g. styled-components).
We need to understand why this happens, and fix the issue (either in our code or in the library that we use).

@Betree : Very curious as I use Firefox as my default browser for almost everything I do and I haven't noticed this warning at all. I can try to reproduce this but, which version of Firefox is this happening and is there any extensions present? 🤔

@SudharakaP I don't think it's specific to some specific extensions as I can reproduce in private mode. Version is 85.0.
You do need to enable the CSS filter in the console to see them though:

@Betree : Thanks, you are right; I haven't enabled the CSS filter. 🤯
Anyways, this seems to be coming from styled-components and the relevant issue is https://github.com/styled-components/styled-components/issues/3157. Not sure if we could fix it on our end as it seems that styled-components hasn't upgraded to stylis.js v4 which is the cause of the issue. 🤔

@Betree : Thanks, you are right; I haven't enabled the CSS filter. exploding_head
Anyways, this seems to be coming from styled-components and the relevant issue is styled-components/styled-components#3157. Not sure if we could fix it on our end as it seems that styled-components hasn't upgraded to stylis.js v4 which is the cause of the issue.

Nice finding! I missed this issue when I searched for one. Closing this then, as the issue needs to be resolved on their side.

@Betree : Thanks, you are right; I haven't enabled the CSS filter. exploding_head
Anyways, this seems to be coming from styled-components and the relevant issue is styled-components/styled-components#3157. Not sure if we could fix it on our end as it seems that styled-components hasn't upgraded to stylis.js v4 which is the cause of the issue.

Nice finding! I missed this issue when I searched for one. Closing this then, as the issue needs to be resolved on their side.

You are welcome 😸


Dead link to Android developer preview content for foldables.

There is a link to https://developer.android.com/preview/features/foldables that is now a dead link (404 in the browser).  https://developer.android.com/guide/topics/ui/foldables seems to be a useful updated link.

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

ID: e0301dd5-7ff9-6f2b-ab83-271b539d46fd
Version Independent ID: fee54cf8-4cc4-de5d-b00d-302d307545fa
Content: Android 10 features - Xamarin
Content Source: docs/android/platform/android-10.md
Product: xamarin
Technology: xamarin-android
GitHub Login: @JonDouglas
Microsoft Alias: jodou

Hi @gkarabin
Thanks for pointing this out. I've updated the link in a PR that will go live later this week.


When KPconv version release?

as above

I am after a few deadlines recently, and I plan to release the KPConv version soon after CVPR deadline.


flash of empty menu

click to open menu, menu container opens but there is delay in displaying links

this seems to have fixed itself


Command for aspect ratio on category page

Since the genres page is now changed to category, the logger command to change the aspect ratio on the page isn't working anymore:
It says "successful" but doesn't actually change:

New command for this:
\prefs set string category_widget_nav_aspect_ratio


<Command.Empty> showing when using react-window and react-virtualized-autosizer

Here's a CodeSandbox that demonstrates the issue.
I'm trying to virtualize cmdk using the react-window package. This works fine (see the "virtualized cmdk without autosize" demo). All of the elements are displayed properly. When FixedSizeList is used, I need to set the items to take up a certain height. If there are too few items, empty space will be rendered.
One fix for this is to use [react-virtualized-auto-sizer]  (https://github.com/bvaughn/react-virtualized-auto-sizer), which will dynamically change the height. However, this causes the <Command.Item /> elements to no longer render, and instead the <Command.Empty /> element is shown. The "virtualized cmdk with autosize" demo shows "no items found".


Verbose output

Diagnosing issues will be easier with optional verbose output. PR #63 includes several commented out hPutStrLn stderr ... lines, so optionally enabling them would be a good place to start.

Merged


able to catch ruby proc exceptions with try/catch in JS, but they have no information

Would love to prevent the 'catch' and forward them out to ruby if possible.
  def test_catch_rb
    context = MiniRacer::Context.new(timeout: 50)
    context.attach('crash', proc{ raise ArgumentError.new('???') })

    code = "function a() { \
              try { \
                crash(); \
              } catch(e) { return e; } \
            }\
            a();"

    assert_raises(ArgumentError) do
      context.eval(code)
    end
  end

this would be pretty messy to add, not against it, but not an easy change

understood. Can you describe the issue a bit and maybe I can take a stab at it (or have one of my players take a look?)

To solve this error (and others like it) I'm removing player ability to try/catch in their code.
This is still an issue, but it will be low pri for me. Feel free to close if you desire. :)

Yeah I think it makes sense to close, it feels a bit obscure and complex to add to mini racer


Can't see all options at my resolution

Dear ChartJs devteam,
I seem to be missing the "Maintain aspect ratio"  option on my BarChart settings due to my resolution. Is it possible to make the screen scroll when dealing with different resolutions?

Many thanks,
R. Somers

Could you please file a ticket @ Mendix support? This is not an issue with the widget itself, but with the Modeler. This is handled by the Modeler-team

Seems fair, will do. Thanks


latest release

The latest release is still August 3.

Good point. I haven't uploaded the latest pdf yet because I'm waiting for the notebooks to be updated so the links to the code work.


How to handle Captcha

Currently, if you make the mistake I did, have the wrong username it (expectedly) fails. After a few times Skype drops a Captcha on you. Anyway to handle this programmatically?

I don't think there is much to be done on handling this. Captchas are designed to stop robots. Perhaps the code that interacts with the login form could check for captcha and fail with a better error message?
I personally haven't explored this topic. Do they filter per IP or per account? I mean do you see captcha as soon as you load the login page or you see it once you type your username? Also did the captcha go away once you logged correctly?

That's what I was thinking.
Per IP, so yes, regardless of browser and before username was entered. It did not go away once logged in correctly. It went away after around an hour.

Well I'm on a vacation in Greece so I won't be writing any code these days. But I can take a look at PRs  :)

@jaredallard I'll close this given that I don't see what more can we do on this subject. Please see if my commit helps.


undefined symbol: zend_std_call_user_call in Unknown on line 0

namespace Test;

class demo
{
    protected static instance;
    protected config = [];

    public function __construct()
    {
        array ini_config = [
            "aaa" : 111,
            "bbb" : 222,
            "ccc" : 333
        ];

        let this->config = ini_config;
    }

    public function dumpConfig()
    {
        var_dump(this->config);
    }

    public static function __callStatic(var method, array args)
    {
        if is_null(self::instance) {
            let self::instance = new self();
        }

        var instance = self::instance;

        switch count(args) {
            case 0:
                return instance->{method}();

            case 1:
                return instance->{method}(args[0]);

            case 2:
                return instance->{method}(args[0], args[1]);

            case 3:
                return instance->{method}(args[0], args[1], args[2]);

            case 4:
                return instance->{method}(args[0], args[1], args[2], args[3]);

            default:
                array func = [instance, method];
                return call_user_func_array(func, args);
        }
    }
}

this problem is because the "call_user_func_array"?

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/29231165-undefined-symbol-zend_std_call_user_call-in-unknown-on-line-0?utm_campaign=plugin&utm_content=tracker%2F280146&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F280146&utm_medium=issues&utm_source=github).

my php's version is 7.0
when build
Compiling the parser...
/zephir/parser/parser/parser.c: In function 'yy_reduce':
/zephir/parser/parser/parser.c:8763:2: warning: passing argument 2 of 'xx_ret_scall' from incompatible pointer type [enabled by default]
yygotominor.yy132 = xx_ret_scall(0, yymsp[-6].minor.yy0, 1, yymsp[-3].minor.yy0, NULL, status->scanner_state);
^
/zephir/parser/parser/parser.c:1189:14: note: expected 'char *' but argument is of type 'struct xx_parser_token *'
static zval *xx_ret_scall(int dynamic_class, char *class_name, int dynamic_method, xx_parser_token *M, zval *parameters, xx_scanner_state *state)
^
/zephir/parser/parser/parser.c:8775:2: warning: passing argument 2 of 'xx_ret_scall' from incompatible pointer type [enabled by default]
yygotominor.yy132 = xx_ret_scall(0, yymsp[-7].minor.yy0, 1, yymsp[-4].minor.yy0, yymsp[-1].minor.yy132, status->scanner_state);
^
/zephir/parser/parser/parser.c:1189:14: note: expected 'char *' but argument is of type 'struct xx_parser_token *'
static zval *xx_ret_scall(int dynamic_class, char *class_name, int dynamic_method, xx_parser_token *M, zval *parameters, xx_scanner_state *state)
^
/zephir/parser/parser/parser.c: In function 'xx_parse_program':
/zephir/parser/parser/parser.c:9352:3: warning: return makes pointer from integer without a cast [enabled by default]
return SUCCESS;
^
/zephir/parser/parser/scanner.c: In function 'xx_get_token':
/zephir/parser/parser/scanner.c:1274:4: warning: incompatible implicit declaration of built-in function 'free' [enabled by default]
free(token->value);
^

https://github.com/phalcon/zephir/issues/1140
i build #1140 's code, has a same PHP Warning
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/ice.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/ice.so: undefined symbol: zend_std_call_user_call in Unknown on line 0

Cannot reproduce.
Probably you just compiled using a PHP5 without a specified backend?

The https://github.com/phalcon/zephir/issues/1148#issuecomment-165713670 is related to #1142. What is your environment?
Also there is a some troubles with array fetching on PHP7 #1140.

i think i got it.
go to zephir/parser ( directory )
make clean
phpize --clean
phpize // this shouild php7 phpize, or user /opt/php7/bin/phpize
./configure # or ./configure --with-php-config=_PATH_TO_php-config

after that it will compile normally.

Since there really aren't any other people with this issue and travis passes
without problems, this has to be some local issue of any sort.


#622 Extension lost on ID datatype or extension of type primiti…

Fix for issue #622

Coverage increased (+0.04%) to 77.015% when pulling 0fd5a44b5e32a5761cdd0336aa1f1acf075c7922 on SRiviere:#622 into 42a81f4a8523b9c35c139caa717c17caa7508bca on jamesagnew:master.

This is awesome, thanks for the PR! Merging now.


Add a section in CONTRIBUTING.md about the different labels for issues

It would be nice to add an explanation of how users who want to work with scribe can get started. For example, we could add a list of task that need to be done in order of difficulty and add something about the different tags like "low hanging fruit"

@hmgibson23 I have taken a crack at this here


CupertinoAlertDialog dark mode & CupertinoActionSheet fidelity

Description

Adjust colors used in CupertinoAlertDialog and CupertinoActionSheet
Change the ModalBarrier color that used for cupertino popup routes
CupertinoAlertDialog dark mode.

Related Issues
Part of https://github.com/flutter/flutter/issues/35541
Fixes https://github.com/flutter/flutter/issues/39941
Fixes #20469
Screenshots (iPhone XR device, iOS 13.1 17A5831c)
The native alert view has some additional visual effects that we have yet to add to CupertinoAlertDialog, so it looks more opaque than CupertinoAlertDialog in the screenshots below.

native
cupertino

Tests
I added the following tests:

dialog dark mode
route dark mode

Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require Flutter developers to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (Please read Handling breaking changes). Replace this with a link to the e-mail where you asked for input on this proposed change.
[x] No, this is not a breaking change.

This PR caused a regression as discussed in https://github.com/flutter/flutter/issues/50183


sample by svd: No module named 'scripts.util'

when I run "python scripts/sampling/simple_video_sample.py", I meet the following error.
Traceback (most recent call last):
File "/home/amax/Documents/zsy/generative-models/scripts/sampling/simple_video_sample.py", line 16, in
from scripts.util.detection.nsfw_and_watermark_dectection import DeepFloydDataFiltering
ModuleNotFoundError: No module named 'scripts.util'
How can I solve this problem?

have the same issue

Same here


Expose ConfigError not as a Union but wrapped as Class

What version of Effect is running?
2.4
What steps can reproduce the bug?
Sitting in the beginner workshop, we just spotted this not so nice behaviour

What is the expected behavior?
ConfigErrorshould be matchable but only the union elements are catchable
What do you see instead?
.pipe(Effect.catchTag('ConfigError', () => Effect.succeed('bar')))

Additional information
No response

Relevant: https://github.com/Effect-TS/effect/issues/1589 (specifically, the overuse of _tag)

Fixed in https://github.com/Effect-TS/effect/pull/2206


fltering by more than one tag

Hello, when I read about this method here http://docs.python-tablib.org/en/latest/tutorial/#filtering-datasets-with-tags I got the impression that I could pass a list of tags and it would filter by all of them ("students.filter(['male'])" is in the example), but this only seems to work by calling filter once for each tag.
Regards.

Hi @codigo-osv,
please find some examples of the correct usage,

students = tb.Dataset()
students.headers = ['first', 'last']
students.rpush(['Kenneth', 'Reitz'], tags=['male', 'technical'])
students.rpush(['Daniel', 'Dupont'], tags=['male', 'creative'])
students.rpush(['Bessie', 'Monke'], tags=['female', 'creative'])

Filter ( and  )
>>> students.filter(['female']).filter(['creative'])
{first: Bessie, Last: Monke}

Filter ( or )
students.filter(['female', 'creative'])
{first: Daniel, Last: Dupont}
{first: Bessie, Last: Monke}

regards

@claudep  I did not realize of the message before :v , now the doc is updated regarding this issue.

Fixed by d94420d96805f0


Fixed syntax error introduced in #3254

Fixed syntax error in Jasmine spec introduced in #3254.
@himdel @martinpovolny can you review please? :)

@romanblanco : it was broken and you still broke it ;-)


Remove jms dependency

Coverage remained the same at 75.221% when pulling 0a720e635230781da889b220c824b77e98881a5d on remove-jms-dependency into 18873e47fd383cb98378dbebec020c022a1255d4 on master.


Converting the schema owner to lowercase results in a user does not exist error

We are starting to use this provider to manage existing resources inside a Redshift cluster. We use IAM roles for authentication, when doing so a user is automatically created in Redshift for the associated role, in our case the role is Admin and so the user that is created is called IAMR:Admin.
We have imported our existing schemas, but Terraform now wants to change the schema owner from IAMR:Admin to iamr:admin. When trying to apply this change we get an error:
Error: pq: user "IAMR:admin" does not exist

I had a look at the code and I believe it is this line that is causing the issue, https://github.com/mmichaelb/terraform-provider-redshift/blob/main/redshift/resource_redshift_schema.go#L63.
Is the conversion to lowercase needed? If not, could it be removed? If it can be removed, another place where it would be useful to remove the lowercase conversion would be https://github.com/mmichaelb/terraform-provider-redshift/blob/main/redshift/data_source_redshift_user.go#L27, as we use this to read users that are automatically created when using IAM roles for authentication.
For now, I've worked around the issue by adding this to the schema resources:
lifecycle {
  ignore_changes = [owner]
}

Hi @phr3nzii, thank you for the issue and the detailed description. I will have a look at it and give you an update as soon as I know more.

The changes got merged and released with the newest version v1.9.0. Thank you for opening the issue!


Create Composite Views

There are a number of components which are composites of other components. It's currently harder than it should be to change the appearance of parts of these components. We need "composite views" which allow declaration of the different "skin parts" to make it easier to change the appearance without rewriting a whole new view.

[ ] ComboBox
[ ] DateChooser
[ ] Spinner
[ ] TreeGrid
[ ] DataGrid

Also, think that maybe we should consider if it has sense to differentiate between normal and composite components. If we can change the view and skin parts easily in all components (even more basics like Button or TextInput), we'll not need different sets, or at least a component will extend the basic one to add some need ( a property for example,  "primary" in a button )

Good point. It's worth figuring out if there's a PAYG way of making the views more swappable on simple components.

Basic Button was written to not have a replaceable view in JS because it is the smallest/fastest implementation.  If you want to make a "skinnable" component set, please do so.  IMO, Jewel is already that.  I think all of its views are replaceable.

Actually Jewel Button is doing the same in that point as Basic Button. Both rely on "createElement". I'm working now in make IE11 support for Jewel. In next steps I want to have a look at SWF version for the current components (as we talked I'll be happy with components layout right as bounding boxes, throw events and work as expected. I can figure in that phase about skinning for the components that are still not using views and rely only in createElement.


✨ Feature ➾ Implement arbitrary command passing from Taq CLI to underlying binary (LIGO and Octez-client)

🌮 Taqueria PR
Fixes #1460
🪁 Description
Allow arbitrary commands to be ran by underlying binary (such as LIGO) from the Taq CLI.
🪂 Pre-Merge Checklist (Definition of Done)
🚦 Required to merge:

[ ] ⛱ I have completed this PR template in full and updated the title appropriately
[ ] ⛵ My code builds cleanly, and I have manually tested the changes
[ ] 🏄♂ Another team member has built this branch and done manual testing on the change
[ ] 🏖 New and existing unit tests pass locally and in CI
[ ] 🔱 The test plan has been implemented and verified by an SDET
[ ] 🦀 Automated tests have been written and added to this PR
[ ] 🐬 I have commented my code, particularly in hard-to-understand areas
[ ] 🤿 Corresponding changes have been made to all documentation
[ ] 🐚 Required changes to the VScE have been made
[ ] 🪸 Required updates to scaffolds have been made
[ ] 🚢 The release checklist has been completed

🛩 Summary of Changes
Please include a summary of the changes to the codebase. Please also include relevant motivation and context for the change
(e.g. what was the existing behaviour, why did it break, etc.)
🎢 Test Plan
Please describe the testing strategy and plan for this PR. Keep this lightweight and anticipate any testing challenges
🛸 Type of Change

[ ] 🧽 Chore ➾
[ ] 🛠 Fix ➾
[x] ✨ Feature ➾
[x] 👷 Refactor ➾
[ ] 🧪 Pre-Release ➾
[ ] 🚀 Release ➾

Looks like just a few merge conflicts left @jchenche but docs and tests are looking great!


formatOnType breaks raw strings

z = r""
z = rf""
z = R""
z = RF""

becomes:
z = r ""
z = rf ""
z = R ""
z = RF ""

Note the space separating the string prefix and the string literal.

Should be trivial change


Upgrade to Rancher 2.2 GA: Failed to get job complete status for job rke-network-plugin-deploy-job in namespace kube-system

What kind of request is this (question/bug/enhancement/feature request): Bug
Steps to reproduce (least amount of steps as possible): Upgrade Rancher using rancher-latest/rancher repo via Helm
Result: Previously provisioned Custom cluster is stuck with the following status "Failed to get job complete status for job rke-network-plugin-deploy-job in namespace kube-system"
Other details that may be helpful: I had previously upgraded this Rancher instance to 2.2.0-alpha6 and also enabled Prometheus monitoring on the custom cluster.
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): 2.2.0
Installation option (single install/HA): HA

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): Custom
Machine type (cloud/VM/metal) and specifications (CPU/memory): VM
Kubernetes version (use kubectl version): 1.11.6
Docker version (use docker version): 18.9.2

@eroji

I had previously upgraded this Rancher instance to 2.2.0-alpha6 and also enabled Prometheus
monitoring on the custom cluster.

There is no support from alpha and rc releases to GA. Many things changed in between them, and upgrade can cause issues.
Can you try a fresh install. Or if you have an official Rancher 2.1.x or 2.0.x install, see if upgrading to Rancher 2.2 causes the same issue.

Installed rancher v2.2.1 HA and add custom cluster with nodes. It seems ok no problem.
But I got the error message below to install Rancher HA Cluster local using RKE as recommended in https://rancher.com/docs/rancher/v2.x/en/installation/ha/
Failed to get job complete status for job rke-network-plugin-deploy-job in namespace kube-system
Steps
Create cluster.yaml
Rke up
It seems timing issue with RKE command line and run RKE up again work.

Rancher v2.2.1 add 3 nodes to custom cluster . It is slow than previous version, 2,1, 2.2apha6 causing my script to time out but eventually node added.

We haven't seen this issue in our upgrade tests for the most recent releases. If you hit this again, please open a new issue.

I recently ran into this issue, it turns out that my nodes had Disk Pressure, so k8s was evicting pods. Once I resolved that issue, rke ran normally.

It happened to me when I was using a relatively slower disk as the docker root. So it seems related to disk pressure/speed.


Does not recognize objects on the page! Help!

Hello! Faced a problem that ImageAI recognizes a separate object, but when it is on the page, it recognizes the full page as a whole for one object or does not recognize at all. What to do? Thank you in advance.
https://ibb.co/J55HQcR
https://ibb.co/X2fWVmw

can you provide some examples and more details on your problem? Consider that IamgeAI only will find objects that are similar to those in your training set. So, if your training set there are not samples of objects on the page it will be hard for ImageAI to learn those


EventListener prints all program errors to stderr

https://github.com/project-serum/anchor/blob/master/ts/src/program/event.ts#L98
Most users who use event listeners do not have use for the log noise produced by this.
Make this printing optional or remove all together.

I'd like to give this issue a try!