Add eval to template system

've already wondered if it wouldn't be useful to create more Template Substitutions, such as {favorite?IS_FAV,NO_FAV} or {overall_score}. But the above suggestion would be an elegant way of offering the same flexibility without creating more features.

Ahhm... I realized my assumption was wrong that --quer-eval was an elegant substitute for Template Substitutions. For instance, to have Templates in --keyword, --filename or --directory we'd need multiple runs of different --query-evalexpressions, which may lead to unexpected results particularly with --cleanup, and might take a long time for a large library.
Hence, it would be great to have more Templates like {favorite} and actually also {place.name}, in order to implement --keyword and --filename templates such as in osxphotos export . --filename "{original_name}{edited?#,}{favorite?!,}" --keyword-template "{place.name}"
Or maybe, how's this as a more flexible substitution syntax, to facilitate a wider variety of cases: A =as in --filename "{original_name}{=photo.favorite?!,}" or in --keyword-template "{=place.name}" could indicate that what follows the = is actually an expression similar to the query expressions in --query-eval — what do you think?
Originally posted by @ubrandes in https://github.com/RhetTbull/osxphotos/issues/280#issuecomment-817194210

I think using the proposed {=photo.field} format would be difficult to support and maintain backwards compatibility with the current template syntax as the delimiter field currently occupies the space before the field name.   However, this could work like the {exiftool:} field does now in format:
{eval:photo.favorite} or drop the "photo" as it would always be implied: {eval:favorite} or, maybe {photo:favorite} and {photo:place.name} etc.
It would not be possible to fully support an eval as in --query-eval because of the current template syntax which reserves certain characters for special meaning, e.g. the [find,replace] syntax.

If using = as proposed, the syntax would look like this when using a delimiter field:
{,+=photo.albums} as opposed to
{,+eval:photo.albums}
I think the second is easier to read.

Actually, I think we could just use photo.field without any other template directive.  e.g. {photo.favorite}.  The template engine would detect the field name starts with photo then eval the statement in context of the current PhotoInfo object.

detect the field name starts with photo then eval the statement in context of the current PhotoInfo object

Sounds brilliant. {photo.favorite} and e.g. {photo.place.name} (or maybe even {photo.score.overall>.7?!,} etc?) seems so straightforward and powerful as a syntax.
Am 11.04.2021 um 01:28 schrieb Rhet Turnbull @.***>:

Actually, I think we could just use photo.field without any other template directive. e.g. {photo.favorite}. The template engine would detect the field name starts with photo then eval the statement in context of the current PhotoInfo object.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

What's your use case for this feature (e.g. how would you use it)?  --filename and --directory only allow a single template so even with full eval capability, you'd still be limited in what you could evaluate in a single template string.
I think this can be done fairly easily but I want to make sure I understand how you'd use it.

Thanks for asking. I specifically want to mark with letters # and/or ! between a photo’s filename and extension in my photo archive NAS if this photo was edited and/or favorite.
I could imagine other use cases, such as marking

photos from hometown,
photos with a high overall score
photos with a certain label etc
with either selected conditional keywords, and/or similar extra ASCII flags in their filename.

Am 11.04.2021 um 15:41 schrieb Rhet Turnbull @.***>:

What's your use case for this feature (e.g. how would you use it)? --filename and --directory only allow a single template so even with full eval capability, you'd still be limited in what you could evaluate in a single template string.
I think this can be done fairly easily but I want to make sure I understand how you'd use it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

For edited images you can accomplish this with --edited-suffix.
I guess you could accomplish the others with the proposed eval template by chaining multiple templates each with a null default.  Eg:
--filename "{original_name}{photo.favorite?!,}{photo.score.overall > 0.7?#,}"
But finding text in a field would likely require a separate eval: template due to the way pythons's "in" keyword works. Eg:
{eval:'beach' in photo.labels?beach,}

Any eval implementation will be limited though as the eval statement could not contain square brackets [] or parentheses () or curly braces {} as these all have special meanings in the osxphotos template language. Eg. This would not be valid: {'beach' in photo.title.lower()?beach,}
To really allow this kind of flexibility, a plug-in system would likely be better. Eg. Allow user to write a Python function that gets the PhotoInfo object for the photo and returns a string.
Eg:
{plugin:plugin.py::myfunction}
And plugin.py looks something like this:
def myfunction(photo):
    # your code here
    return replacement value

This lets you use all the logic / features of osxphotos export without having to write your own export code. You could use this anywhere a template is currently used.

Thank you, I wasn’t aware of --edited-suffix
(shoulda better RTFM ;)
Your {photo.favorite?!,} filename solution with the proposed {photo.<...>} template is exactly why I appreciate  your suggestion so much.
The separate {eval:...} template is not a super high priority for me, but others might see this differently.
Couldn’t Python‘s in operator be integrated, ie as if {photo.labels?beach,} effectively returned {eval:'beach' in photo.labels?beach,}?

Am 11.04.2021 um 16:25 schrieb Rhet Turnbull @.***>:

For edited images you can accomplish this with --edited-suffix.
I guess you could accomplish the others with the proposed eval template by chaining multiple templates each with a null default. Eg:
--filename "{original_name}{photo.favorite?!,}{photo.score.overall > 0.7?#,}"
But finding text in a field would likely require a separate eval: template due to the way pythons's "in" keyword works. Eg:
{eval:'beach' in photo.labels?beach,}
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Couldn’t Python‘s in operator be integrated, ie as if {photo.labels?beach,} effectively returned {eval:'beach' in photo.labels?beach,}?

No.  ? is already used in the template system as boolean?value if true,value if false.  This is an edge case and I don't want to rewrite the entire template system (and break backwards compatibility) for this feature.   If you want to do anything complex for naming output files, the proposed plugin system will be the easiest way to do this.
I may be able to implement something like the following to extend the template system with simple logic. And this would apply to all templates, not just photo.property template types:
{template_field [contains|<|>] value}
e.g.:
{photo.score.overall < 0.7?!,}
or
{photo.persons contains 'John'?john,}
contains would work for list values (like persons above) or string values (like photo.title) and would effectively implement python's in.
In order of implementation, I will likely do the following:

Add photo template to provide access to underlying PhotoInfo object
Add plugin (or possibly function) template to allow calling custom python function inside a template
Add the eval extension to allow <, >, and contains.

I'll save the latter for last as this requires modifying the template grammar which takes a fair amount of testing.  The first two should be fairly easy to implement.

Should also add !=

I’m glad to hear the photo template to provide access to underlying PhotoInfo object should be fairly easy to implement!
Re. use of ?, you’re absolutely right, of course.  Obviously, anything after the ? already states <value if true, value if false>.  So indeed, any boolean expression needs to stated be before the ?   Your suggestions with </>/contains makes a lot of sense.

Am 11.04.2021 um 18:40 schrieb Rhet Turnbull @.***>:
Couldn’t Python‘s in operator be integrated, ie as if {photo.labels?beach,} effectively returned {eval:'beach' in photo.labels?beach,}?
No. ? is already used in the template system as boolean?value if true,value if false. This is an edge case and I don't want to rewrite the entire template system (and break backwards compatibility) for this feature. If you want to do anything complex for naming output files, the proposed plugin system will be the easiest way to do this.
I may be able to implement something like the following to extend the template system with simple logic. And this would apply to all templates, not just photo.property template types:
{template_field [contains|<|>] value}
e.g.:
{photo.score.overall < 0.7?!,}
or
{photo.persons contains 'John'?john,}
contains would work for list values (like persons above) or string values (like photo.title) and would effectively implement python's in.
In order of implementation, I will likely do the following:
• Add photo template to provide access to underlying PhotoInfo object
• Add plugin (or possibly function) template to allow calling custom python function inside a template
• Add the eval extension to allow <, >, and contains.
I'll save the latter for last as this requires modifying the template grammar which takes a fair amount of testing. The first two should be fairly easy to implement.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

I've added {favorite} as well as {photo} template as described above to v0.41.11

Awsome, thanks!

Am 12.04.2021 um 08:54 schrieb Rhet Turnbull @.***>:
I've added {favorite} as well as {photo} template as described above to v0.41.11
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

I have a prototype of conditional expressions working.  Need to add tests but so far it seems very robust.  It will work like this:
{template_field operator value?value_if_true,value_if_false}
the valid operators so far are:

contains
==
!=
<
>

Still need to add <=,>=
The value can itself be another full template statement so the following would be valid:
{title == {title},OF COURSE!,}
You can use filters to make case-insensitive matching:
{keyword|lower contains england?England,NotEngland}
This looks like it'll be quite powerful and will of course work with every template field, not just the new {photo} field.

Wonder if I should add a !contains?  The same can be achieved using the value_if_false for contains but might might be easier to use if there's an explicit not operator?

values in the template system can be a single value (e.g. photo.title which is a single string) or a list of values (e.g. photo.keywords).  The conditional logic needs to "do the right thing" in both cases.  For <, >, <=, >= I think the right thing is to operate only on single values and only if both values can be converted to numbers (float).  E.g. {photo.score.overall < 0.7} is valid but {photo.title < 0.7} wouldn't make sense and would be invalid.
For == and !=, the current implementation compares two scalar values if both sides of the expression are single values otherwise it compares sorted lists.  Thus, these are both valid expressions:
{photo.title == Day at the beach} (note that words are not quoted, this is by design to simplify the parsing)
{photo.keywords == {exiftool:IPTC:Keywords}} (True if Photos' keywords matches the EXIF keywords in the file, regardless of what order they're in)
For contains, "the right thing" is somewhat more complex.  For example, this would be valid:
{photo.title contains Beach} or, ignoring case, {photo.title|lower contains beach}
But what to do if a keyword is "BeachDay" and the expression is:
{keyword contains Beach}
In this case, should Beach match BeachDay (Beach is contained as a substring of BeachDay) or not because "Beach" is not one of the keywords in the list ["BeachDay", ...]?  I think the "right thing" is to match in this case because doing one thing when the value is a scalar and a different thing when the value is a list is not intuitive (and the way the template engine works, would require a lot of to make this happen).
So if contains is implemented as described above, what to do if user wants to match a list exactly?  e.g. match if keyword contains Beach but not BeachDay?
I think the cleanest solution is a separate operator that means "match only if the item is in list".  Perhaps matches? as in:
keywords = ["BeachDay", "Travel", "Vacation"]
{keyword contains Beach} --> True
{keyword matches Beach} --> False
{keyword contains BeachDay} --> True
{keyword matches BeachDay} --> False

!contains sounds consistent — maybe it would round it off?
Also your reflections around „contains“ and „matches“ seem very consistent and considerate to me. I’m just getting sensitive of scope increase here: One might also wish to add „begins“ and „ends“ for strings beginning and ending with a phrase. Plus the !not versions...
Maybe it’s easier to introduce a |not pipe similar to |lower and |upper that’s generic for Booleans, instead of introducing lots of !operators. Personally I like the brevity of ! but |not might also have merits.

Am 12.04.2021 um 19:30 schrieb Rhet Turnbull @.***>:

values in the template system can be a single value (e.g. photo.title which is a single string) or a list of values (e.g. photo.keywords). The conditional logic needs to "do the right thing" in both cases. For <, >, <=, >= I think the right thing is to operate only on single values and only if both values can be converted to numbers (float). E.g. {photo.score.overall < 0.7} is valid but {photo.title < 0.7} wouldn't make sense and would be invalid.
For == and !=, the current implementation compares two scalar values if both sides of the expression are single values otherwise it compares sorted lists. Thus, these are both valid expressions:
{photo.title == Day at the beach} (note that words are not quoted, this is by design to simplify the parsing)
{photo.keywords == {exiftool:IPTC:Keywords}} (True if Photos' keywords matches the EXIF keywords in the file, regardless of what order they're in)
For contains, "the right thing" is somewhat more complex. For example, this would be valid:
{photo.title contains Beach} or, ignoring case, {photo.title|lower contains beach}
But what to do if a keyword is "BeachDay" and the expression is:
{keyword contains Beach}
In this case, should Beach match BeachDay (Beach is contained as a substring of BeachDay) or not because "Beach" is not one of the keywords in the list ["BeachDay", ...]? I think the "right thing" is to match in this case because doing one thing when the value is a scalar and a different thing when the value is a list is not intuitive (and the way the template engine works, would require a lot of to make this happen).
So if contains is implemented as described above, what to do if user wants to match a list exactly? e.g. match if keyword contains Beach but not BeachDay?
I think the cleanest solution is a separate operator that means "match only if the item is in list". Perhaps matches? as in:
keywords = ["BeachDay", "Travel", "Vacation"]
{keyword contains Beach} --> True
{keyword matches Beach} --> False
{keyword contains BeachDay} --> True
{keyword matches BeachDay} --> False
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Thanks for the input!

One might also wish to add „begins“ and „ends“ for strings beginning and ending with a phrase.

I've already added those! startswith, endswith (to be consistent with python's string methods of same name)

Maybe it’s easier to introduce a |not pipe similar to |lower and |upper that’s generic for Booleans,

the filters like |lower get evaluated before the conditional expressions so this wouldn't work unless added to the end of the conditional expression which doesn't help readability.
I'm debating between using '!' or 'not' for negation:
{keyword not contains 'Beach'}
vs
{keyword !contains 'Beach'}
Personally, while I like the succinctness of !, I think the not is more clear and likely easier for those who aren't experienced programmers to understand and use.  If implemented, 'not' would apply to all operators so a user could do this (and it would work as expected):
{photo.score.overall not < 0.7}
vs
{photo.score.overall >= 0.7}

The current implementation also allows multiple values to be used for the comparison value, separated by |.  This is very flexible but also means that | can't be used as a comparison value.  The current template engine doesn't support escaping of characters, e.g. \|.
e.g.
{keyword matches Travel|Vacation}

Implemented in v0.42.00
If you use this feature and have any feedback, let me know!  For docs see osxphotos help export or here


Suggest Git instead of depending on it

That way, people using git-with-openssh won't end up with two versions of Git installed.

Good idea 👍


ability to tap into metrics (e.g. carbon-relay-ng)

we need a way to tap into incoming metrics stream, and route it elsewhere.
for example, carbon-relay-ng stats.

this was poorly phrased.
we need to see "harmless" crng health stats, but don't want to make it easy to see any other customer's own stats


Document/support centered videos

Is your feature request related to a problem? Please describe.
When setting the width of a video to 50% or a small px value, the video will be justified on the left side. A common use case would be to center these smaller videos.
I've been able to do this with:
![type:video](./my_video.webm){: style='width: 300px; margin: 0 auto; display: block'}

Perhaps this is worth a configuration option? Or maybe just a small example in the README to help others?

For images, we've used this before:
/* extrac.css */
.center {
    display: block;
    margin: 0 auto;
}

And then in the document:
![](./image.png){ width=600 .center }

In case this is a useful pattern for videos too.


Getting a   [Symfony\Component\Process\Exception\RuntimeException]     The process has been signaled with signal "11".

Hi am Running
Composer version 2.0.2 2020-10-25 23:03:59
PHP 7.4.11 (cli) (built: Oct  1 2020 23:30:54) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.11, Copyright (c), by Zend Technologies
Any ideas ?

Error does not happen with me. Have you installed the latest version? Setup all the keys?

Running laravel 8  the php artisan larabug:tests command works

This is unrelated to this repository.
The tool works with me in the latest Laravel Nova version, please provide more information if you have any.


Develop Initial Design and Architecture

💡 Description

Doing some rapid prototyping to determine the best approach and develop and architecture. See sub-tasks for more details

📆 February Status: POC and Ops Concept completed. On schedule for beta delivery.


[arci-urdf-viz, openrr-gui] Accept duration = 0.0

🤔
error[E0658]: use of unstable library feature 'duration_zero'
   --> arci-urdf-viz/src/client.rs:136:40
    |
136 |                     if target.duration.is_zero() {
    |                                        ^^^^^^^
    |
    = note: see issue #73544 <https://github.com/rust-lang/rust/issues/73544> for more information

merged


Error when there is a mismatch to sheet column name

Describe the bug
When there is a mismatch for a column name in a sheet, there is an error and the column producing the error is not identified
Additional context
Traceback (most recent call last):
File "C:\Users\saisa\Excel-to-SBOL\excel2sbol\excel2sbol\converter.py", line 7, in
e2s(file_path_in, file_path_out, sbol_version=2)
File "C:\Users\saisa\Excel-to-SBOL\venv\lib\site-packages\excel2sbol\converter.py", line 23, in converter
e2s.column_parse(to_convert, compiled_sheets, sht_convert_dict,
File "C:\Users\saisa\Excel-to-SBOL\venv\lib\site-packages\excel2sbol\compiler_test.py", line 238, in column_parse
split_on = col_convert_df['Split On'].values[0]
IndexError: index 0 is out of bounds for axis 0 with size 0

This should be fixed by commit 0cdb25bd87a184740708e1040b511acbae6591f8


bug: button size changes on click

What version of daisyUI are you using?
2.51.6
Describe your issue
On btn-xs when using no-animation class to prevent scale on click (active & focus state), looks like a small change happened on button size when clicking...
It's something like italic of letter-spacing applied to text but there is not any modification like this.
Looks like the transform: scale(var(--btn-focus-scale,.95)); property which expects to do nothing on no-animation buttons is causing this issue. When I disable this property it doesn't happen.
Firefox Developer Edition 113:
Screencast from 05-10-2023 09:22:31 PM.webm
Firefox 112:
Screencast from 05-10-2023 09:25:57 PM.webm
What browsers are you seeing the problem on?
Firefox
Reproduction URL (optional)
https://play.tailwindcss.com/FYJ9XB8teW

That's strange. I couldn't reproduce the issue on my FireFox (MacOS 13.3) but thanks for the video.
using no-animation class, --btn-focus-scale value is 1 so basically transform: scale(var(--btn-focus-scale,.95)) is transform: scale(1) which is expected to have no effect.
Can you please try the following tests:

With :active and :hover enabled, does checking/unchecking this line, apply a visual change in the button?

In normal state, if you add a transform: scale(1) style to the button, does it apply a visual change?

Yes --button-focus-scale value is 0 but looks like this bug comes from Firefox. Because scale(1) should not cause any change to element, which causes in Firefox!
Anyway, I created #1809. That doesn't add transform: scale() property to buttons has no-animation class which fix the issue.
I think it's better to don't apply scale instead to apply scale(1).

Also, I created a bug for Firefox.


Server

Hi, I was aboutr to do a server with this mod for friends, but when I start the server it generates normal minecraft worlds not the 1:1 Earth world. What should I do?

try this guide: https://github.com/orangeadam3/terra121/blob/master/USING_SERVER.md
let me know if that helps


Avoid indexing the table twice for Cross Tab

Pull Request Description
Rewrites MultiValueIndex.makeCrossTabTable to build only a single index.
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[x] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
All code has been tested:

[x] Unit tests have been written where possible.
[x] If GUI codebase was changed, the GUI was tested when built using ./run ide build.

Could you share a performance comparison?

Performance comparison here: https://github.com/enso-org/enso/issues/5840#issuecomment-1654142981

After running the bad benchmark again, it was still a bit higher, but only about 11%.

After running the bad benchmark again, it was still a bit higher, but only about 11%.

So an earlier implementation seems to have been much better than the latest one? Did you run a benchmark on the final implementation?
What do you think may be the cause of the lower gain compared to the early measurements?

I don't think there was a performance gain; I think it was just that the benchmarks were varying too much. I rewrote the benchmark to run both old and new code in a single run, and after doing that, the results were much more consistent.

No, there is an overall performance gain, for larger tables. I meant that the one benchmark that seemed to get slower, then got faster, wasn't a performance gain, but just a result of benchmarking the two versions separately, at different times, with a large build between them. Once I ran the benchmarks together, the new approach was consistently faster for larger tables.
I'll implement the sub-indices approach as well, for comparison.

No, there is an overall performance gain, for larger tables. I meant that the one benchmark that seemed to get slower, then got faster, wasn't a performance gain, but just a result of benchmarking the two versions separately, at different times, with a large build between them. Once I ran the benchmarks together, the new approach was consistently faster for larger tables.

Ah ok, I've misunderstood then.

I'll implement the sub-indices approach as well, for comparison.

Well, if the current approach is indeed faster (earlier I misunderstood that), I'm not sure if it's needed, but if you think it's worth it, may be worth trying - just if it doesn't take too much time to do.


Error 400: Invalid IdP when trying o_auth_login

Hi,
I am attempting to us the function o_auth_login but keep getting an error saying that my IdP is invalid. My process is as follows:

I start with auth() to create login_token, and this works successfully.
login_token <- auth(projectAPI = “API”, email = “email”, password = “password”)
I attempt o_auth_login with the following information:
project_api: The same as I used in auth()
request_uri: the url listed under project_info.firebase_url in the JSON file of the site.
post_body = login_token$idToken
return_idp_credential=T
When I attempt this a window opens with the following error messsage:
Error 400: redirect_uri_mismatch
The redirect URI in the request, http://localhost:1410/, does not match the ones authorized for the OAtuh client. To update the authorized redirect URIs, visit: (a google apis URL.)

Thanks so much for any help you can give!

Just looked at the function, which itself is quite lightweight. Lets first check if its related to the code or to your credentials.
Try to login you via a "postman" https://www.postman.com/ request, looking at our code, it seems that its just a simple API call that seems to fail here.
 o_auth_login_url <- paste0("https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyAssertion?key=", project_api)   o_auth_login_data <- httr::POST(url = o_auth_login_url, body = list("requestUri" = request_uri, "postBody" = post_body,
In case the postman API call works, but the package not, we do some bug fixing round.

Thanks a lot for the quick response! I’ll try to use postman (I haven’t used it before so this may take a little while to figure out) and see if I get better results there.

On Jul 23, 2020, at 9:21 PM, Robin Kohze<EMAIL_ADDRESS>wrote:
Just looked at the function, which itself is quite lightweight. Lets first check if its related to the code or to your credentials.
Try to login you via a "postman" https://www.postman.com/ https://www.postman.com/ request, looking at our code, it seems that its just a simple API call that seems to fail here.
o_auth_login_url <- paste0("https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyAssertion?key= https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyAssertion?key=", project_api) o_auth_login_data <- httr::POST(url = o_auth_login_url, body = list("requestUri" = request_uri, "postBody" = post_body,
In case the postman API call works, but the package not, we do some bug fixing round.

Hi,
I just making an API call on Postman with this url:
paste0("https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyAssertion?key= https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyAssertion?key=", project_api)
And I again received Error 404. Unfortunately I am not familiar with Postman, so was that what I needed to do to check the API call or do I also need to send credentials along with the request?
Thank you very much for your help,
Brian

On Jul 23, 2020, at 9:21 PM, Robin Kohze<EMAIL_ADDRESS>wrote:
Just looked at the function, which itself is quite lightweight. Lets first check if its related to the code or to your credentials.
Try to login you via a "postman" https://www.postman.com/ https://www.postman.com/ request, looking at our code, it seems that its just a simple API call that seems to fail here.
o_auth_login_url <- paste0("https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyAssertion?key= https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyAssertion?key=", project_api) o_auth_login_data <- httr::POST(url = o_auth_login_url, body = list("requestUri" = request_uri, "postBody" = post_body,
In case the postman API call works, but the package not, we do some bug fixing round.

As an update, I tried making a separate test Firebase project and tried using this project’s API Key and Database URL and I am receiving the same errors, I don’t know if this changes what the possible error is.

On Jul 24, 2020, at 12:11 AM, Brian Moser<EMAIL_ADDRESS>wrote:
Hi,
I just making an API call on Postman with this url:
paste0("https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyAssertion?key= https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyAssertion?key=", project_api)
And I again received Error 404. Unfortunately I am not familiar with Postman, so was that what I needed to do to check the API call or do I also need to send credentials along with the request?
Thank you very much for your help,
Brian

On Jul 23, 2020, at 9:21 PM, Robin Kohze<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
Just looked at the function, which itself is quite lightweight. Lets first check if its related to the code or to your credentials.
Try to login you via a "postman" https://www.postman.com/ https://www.postman.com/ request, looking at our code, it seems that its just a simple API call that seems to fail here.
o_auth_login_url <- paste0("https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyAssertion?key= https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyAssertion?key=", project_api) o_auth_login_data <- httr::POST(url = o_auth_login_url, body = list("requestUri" = request_uri, "postBody" = post_body,
In case the postman API call works, but the package not, we do some bug fixing round.

The redirect URI in the request, http://localhost:1410/, does not match the ones authorized for the OAuth client.

The error means that you didn't register the http://localhost:1410/ URL as a valid redirect option, which is a security feature of OAuth providers.
One example, how to add a URL to e.g. Facebook can be found here:
https://stackoverflow.com/a/40174229

I was able to get it to work, my partner who is setting up our Firebase project did not create a Real Time Database for our Firebase project. We realized this was the problem after I found that I was able to add and remove users with no issue, but couldn't upload or download any files. I had failed to see that this package works best with the Real Time Database.
Additionally, I realized that an OAuth login was not necessary for what I was trying to do, since with the security settings on my project I could upload and download files without an OAuth login.
As a warning to anybody who is a beginner with Firebase and has this issue, I tried adding http://localhost:1410/ as a valid OAuth link but still received the same errors. If you're trying to upload/download files and getting similar errors as me, consider that the problem might be on the Firebase side rather than the R side.


docs: promote team version

@landism : How about we call this feature "Canary releases", or whatever @dbentley thinks makes sense. And write it down in the docs title here. That way we can easily refer to it when we share with customers and reinforce the feature name/functionality when when we have customer conversations.

@landism : How about we call this feature "Canary releases", or whatever @dbentley thinks makes sense. And write it down in the docs title here. That way we can easily refer to it when we share with customers and reinforce the feature name/functionality when when we have customer conversations.

changed it in the title and one other place


Fix typo in color files

I've found some typos in hsv.py, in the commented summary section, so I fixed them, and added class example in the rest of color conversions files.

@edgarriba LGTM


Decompilation request #2

Let's see... Faith WebSynth D-77
Exists in several flavours, win2000, win9x, winME.
https://www.vogons.org/viewtopic.php?p=762893#p762893

For the win2000 driver, the driver bit is just a midi port and the real deal is usermode application dswebWDM.exe.


onDrag "x" and "y" always are NaN

Same problem for onDragStart and onDragEnd

It works fine in the demos. Feel free to reopen with a full repro case.

yeah! just checked and realize the whole problem is the svg elements. It seems that draggable doesn't support svg
https://codesandbox.io/s/lyy7xln9yz
For some reason the dragg in this codesandbox doesn't work at all, in my application the dragg works


block by ChinaMobile Shanghai

上海移动宽带，几天前突然不能建立伪TCP链接，重启了光猫，换了境内境外三家VPS，都不可以，从443端口换成4433也不行。
联通和电信宽带没问题。
INFO  client > Remote address is: 144.202.xxx.xxx:443
INFO  client > 4 cores available
INFO  client > Created TUN device tun0
INFO  client > New UDP client from <IP_ADDRESS>:13232
INFO  fake_tcp > Sent SYN to server
INFO  fake_tcp > Waiting for SYN + ACK timed out
INFO  fake_tcp > Sent SYN to server
INFO  fake_tcp > Waiting for SYN + ACK timed out
INFO  fake_tcp > Sent SYN to server
INFO  fake_tcp > Waiting for SYN + ACK timed out
INFO  fake_tcp > Fake TCP connection to (Fake TCP connection from <IP_ADDRESS>:34649 to 144.202.xxx.xxx:443) closed
ERROR client   > Unable to connect to remote 144.202.xxx.xxx:443

English only please.


Multiple entries imported from a single file / persistent workspace lists

This is mostly a description of a feature we've implemented at @uniba-ub and would like, as far as possible, to merge.
Is your feature request related to a problem? Please describe.
Importing several items from a single BibTeX or RIS file is something that's important to our users.
Describe the solution you'd like
Ideally, uploading a BibTeX or RIS file with multiple entries would result in a list of publications which could be selected individually, similar to how importing from an external source works. After completing a submission, the user would be able to return to the list with the completed item filtered out or removed.
Describe alternatives or workarounds you've considered
There is some stubbed-out support for multiple entries in a single uploaded file that we have changed to create one workspace item for every publication in the file, but that has proven to be impractical particularly for files with many entries.
Additional context
We've implemented this as a proof of concept by doing the following:

When a file is uploaded, a special workspace item is created with the uploaded file as a bitstream and extra metadata fields which determine which publications are still visible.
The special workspace item can be opened as an external source to display a list of publications. This parses the bitstream and filters out those external source entries which are marked in the metadata to no longer be visible.
Once a publication is imported, the special workspace item's metadata is modified so it won't be shown again.
Frontend changes to hide the "workspace worklist" external source, and return to the worklist view once the submission is complete.
Additional code to make sure every user has at most one active workspace worklist at any point, and that the worklist is deleted overnight.

@philipprumpf : It sounds like you are already aware of it, but just wanted to point out that we do already have basic support for creating multiple items from a single BibTeX.  Here's an integration test which proves that s a single BibTeX file with 3 entries will create 3 items: https://github.com/DSpace/DSpace/blob/main/dspace-server-webapp/src/test/java/org/dspace/app/rest/WorkspaceItemRestRepositoryIT.java#L1618
That said, it sounds like you are suggesting a major enhancement to that functionality by somehow keeping track of all the WorkspaceItems created in a separate list.  One other thing to consider here is to potentially use the search capability of the new MyDSpace area (where all WorkspaceItems can be easily filtered/searched).  It might be easier to potentially consider a workflow similar to this:

Upload a single BibTex file (test.bib) which contains 5 entries
5 WorkspaceItems are created, each indexed with a flag/field that notes they were part of  "import_batch:test.bib"  (This would require adding a new filter to Solr called import_batch)
Send the user to the MyDSpace page with the results filtered by that "import_batch:test.bib" flag.  This shows only those 5 items.
User can then finish the first item... go back to that MyDSpace page & process the next one, etc.

Might need to add some way for the MyDSpace page to "remember" your last filters, as otherwise I think it resets to no filters.

I suspect using the MyDSpace page in this manner would be easier than trying to create a special type of WorkspaceItem to keep the batch information.
All that said, I think this idea would be interesting to others.  I'd just caution about making it too overly complex, as that can cause issues with reviewing & eventual approval of the code.

There's an initial patch series at https://github.com/DSpace/DSpace/compare/main...philipprumpf:DSpace:issue-8469?expand=1 that may illustrate what we're trying to do (it's probably not a good idea to attempt to run it yet). In short, we add an ExternalDataProvider which isn't actually external but allows access to "tagged" WorkspaceItems, which are then imported again, without the tag (https://github.com/DSpace/DSpace/commit/983cf4585b22ea21679117366efffae028fbfad4 is the relevant commit).
So the procedure is as follows:

user imports "test.bib", a BibTeX file with 5 entries
5 WorkspaceItems are created with a "tag" metadata field set to "test.bib"
the user starts an external search for the "test.bib" tag using the new provider
the user selects one of the 5 entries
a new WorkspaceItem is created as a copy of the selected entry, but without the tag
the tagged WorkspaceItem is deleted
the user finishes the submission process and starts another external search for the "test.bib" tag
the user is shown the remaining 4 entries

That's a bit circuitous, but it ensures we use the same UI representation for imports from files (with multiple entries) and imports from genuinely external sources. The tagged WorkspaceItem is then deleted, making it easier for the user to work through a long list of publications to import.
Most of the changes are fallout from changing the ExternalDataService and ExternalDataProvider interfaces to take a context argument, which I believe might be generally useful to allow access to non-public external data sources. There's also an extra argument for marking an external data entry as handled, which may be useful to ignore entries in searches for other providers.
The corresponding frontend changes for our installation will be to hide both "tagged" WorkspaceItems and the new external source provider, opting instead for threading through a return-to address during the submission process. We've decided to limit our users to a single tag at any time, to keep things manageable. However, a frontend more like what @tdonohue described shouldn't be a problem.

At this point, there isn't sufficient community interest to pursue this further. We're discussing how to proceed with this in Bamberg, but we'd like to close this issue for now. We'll keep watching it in case someone stumbles across it and wants to use our code (please leave a comment), but it's not clear whether we'll continue using this feature.
Thanks again for the helpful comments!


Install-Module needs to be able to download from private feeds that require Entra (AAD) authentication.

Summary of the new feature / enhancement
In many environments it is a security requirement that scripts / end users do not install anything from a source that is not under direct control of the organization. So for example, if your users need some public NuGet package, then you snap a version of that public NuGet package into an organization-private feed, where it can be security-scanned, and is relatively protected from being updated unbenkownst to the organization; and users get the package from there, instead of from the public feed.
I'd like to be able to use Install-Module to install modules from such a private NuGet feed... but the problem is that my feed requires Entra (AAD) authentication, and I am not aware of a way to do that with a PSCredential. (And, BTW, we really do not want to use PATs.)
Proposed technical implementation details (optional)
No response

My understanding is that the module underlying Install-Module is no longer maintained,
so you're better off requesting that in the context of its successor, Install-PSResource, at https://github.com/PowerShell/PSResourceGet/issues

Thank you! Filed: https://github.com/PowerShell/PSResourceGet/issues/1551


Make website name available to template?

Would be nice to be able to add the name of the website to tags / metadata for the purposes of grouping recipes from the same source. I see this isn't in the json schema, but shouldn't be too hard to just parse <title> from the domain's root page?
Main barrier would be that there is no existing HTML parsing in the project, but grabbing the contents of  seems like it could be just done with regex/string manip on the full html content - I'm not familiar with HTML parsing in JS.
Happy to PR this myself when I have a second if it would be as easy as I'm imagining, but want to check the idea is possible first.

Thanks for taking the time to suggest this, and sorry for the late reply.
I definitely could see the feature being useful! And we do actually parse the html to extract the json schema. Check it out here: https://github.com/seethroughdev/obsidian-recipe-grabber/blob/master/src/main.ts#L96
Additionally, the value is part of the Recipe schema. I'm pretty sure its just called name: https://schema.org/Recipe. So I think the implementation is definitely possible like you said.
The harder question is how much complexity will we add by making a feature that tries to know what users want.

what happens if tags already exist?
what if users don't want to use tags?
what if the recipe gets inserted into an existing document?
are we doing string manipulation or is there an obsidian api to help add the tags?

The answers to these might be simple, so I'm definitely not saying we shouldn't. But it could use some thought before you or anyone else puts some coding time into it.
att: @Flxp49 , @Lanjelin

Lol. So sorry @deafmute1! I am deleting my previous message. I forgot we already do add the tags. I will 100% add name in there! I think we should go with name from the https://schema.org/Recipe instead of the  though. Do you agree?


Fix failing UserPoint test

Set gPath on group object after rescan

Add addtional test for rescan group path

Add test for Group::updateGroup()

Run parent::setUp() as DBUnit has a setUp method that does not get
run if this is not included

Clear CacheLocal on tear down for clean state between tests

I feel like I've been a bit out of the loop with testing and other stuff so I am possibly missing some things with how the tests are being run etc. The notes are in the commit and let me know if you have any questions on that etc.
Anyhow, there is an array_fill() issue in another test but this gets the other user point issue cleared up hopefully.

@mkly if you could take a look at the array_fill issue, at this point I have no clue how it could be triggered

@KorvinSzanto This has something to do with the https://github.com/thephpleague/url library and how it is being used. I'm actually not quite sure what that code is trying to test. Maybe you have some insight on that?
Taking this https://github.com/thephpleague/url/blob/3.x/src/Components/Path.php#L78
and changing it to $nb_common_segment ? array() : array_fill(0, $nb_common_segment, '..'), will probably fix the array_fill zero warnings, but beyond that I'm not sure.

Wrote a test and send a PR over to the 3rd party library. https://github.com/thephpleague/url/pull/80
I don't have a convenient method of testing php < 5.6 right this minute, but I imagine that would fix the test/warning.

Code style updated with new PR https://github.com/thephpleague/url/pull/81

thephpleague/url#81 has been merged but I'm not sure about releases as I believe the 3.x branch is sunsetting in favor of 4.x. You might want to get in touch with the maintainer to see if you need to track 3.x-dev or fork it to concrete5

Dang, we can fork it and modify that in the interim but I think we should probably write a concrete5 specific implementation based on PSR-7 URI interfaces instead.

I merged this prematurely, can you open a new PR? Sorry for the trouble.

Actually I cherry-picked it back in. Sorry for the hiccup – some things
were eyebrow-raising but I see why you did them. Suffice it to say that
using PHP aliases was a mistake. Ah, well.
On Tue, Jul 14, 2015 at 12:21 PM, Korvin Szanto<EMAIL_ADDRESS>wrote:

I merged this prematurely, can you open a new PR? Sorry for the trouble.
—
Reply to this email directly or view it on GitHub
https://github.com/concrete5/concrete5/pull/2729#issuecomment-121347366.

Sorry for the trouble. I imagine you are talking about the \Core::make('Group') I was getting an error with one of the tests because it was looking for the full path name. To be honest, I wasn't positive that \Core::make('Group') was the preferred way of doing it, only that it was the closest fix to the original code. Most of it is just test stuff.

Ah, after looking at @aembler 's commit https://github.com/concrete5/concrete5/commit/4c4ab86f276b657b4937bb99a715cdc6d530ed4f
I see the preferred method of dealing with the situation. :tropical_drink:


Deprecate calculateTemperature

Hardware support for external thermistor removed by vendor. Remove calls to calculateTemperature() from example and update docstring.

can merge once travis passes


Error when running Set-PSDCConfiguration without parameters

Before submitting the bug

[x] Ensure you are able to reproduce it on the latest released version (we release often)
[x] Verified this bug is not already reported in an issue
[x] Verified errors are not related to permissions
[x] Can reproduce in a clean PowerShell session (clean = powershell -NoProfile)

Describe the bug
When running Set-PSDCConfiguration, the user is supposed to receive an interaction in which the scripts asks the user for various bit of information. This does not happen. Instead, the following error happens:
PS C:\Users\Administrator\Desktop\PSDatabaseClone> Set-PSDCConfiguration
Test-Path : Cannot bind argument to parameter 'Path' because it is an empty string.
At line:218 char:35
+         if (-not (Test-Path -Path $Path)) {
+                                   ~~~~~
    + CategoryInfo          : InvalidData: (:) [Test-Path], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.TestPathCommand

WARNING: [21:48:40][Set-PSFConfig] Could not update configuration: PSDatabaseClone.informationstore.path | Failed validation: Is an empty string:

To Reproduce
Run Set-PSDCConfiguration without parameters
Expected behavior
Interactive prompt should appear

Merged in development


zdd using the cf push interface

we now fully implement the cf push interface with
the zero-downtime-push plugin. Think of this as a
decorator to the cf push command

Hi,
I am not familiar with the exact process how Pull Requests are handled in this project. This pull requests implements a change I also wanted to implement and therefore I was hoping that it gets merged soon. As it first got submitted more then 6 weeks ago I was wondering when do you expect this to be merged.
Best,
Andreas

Hi there,
Sorry it's taken so long to get to these pull requests. I've been very busy.
Unfortunately, I don't think I'm going to accept either of the pull requests to add the push flags to autopilot. This is because I think that a manifest should be the only way that applications are configured as it lets the configuration be stored and versioned and less likely to be lost in your $SHELL history. This is doubly important in autopilot as a new application is created each time so it's very easy to have your second application configured slightly different to the first.
If you feel strongly that you'd like this then please feel free to fork the project, apply your patch, and advertise it to others. Let me know if there is anything I can do with the licensing of the project to make this easier.
Sorry to take so long to give bad news,
@xoebus

I agree with your position on how and why to use manifests. I feel, as you
do, this is the pattern we should promote.
However, the intent of the change was to remove the opinionated requirement
to do so by simply mirroring the functionality offered in the cli natively.
This way it is opt-in. Should people agree (as I do) with the approach you
have described then they are free to take that approach. If not, then they
are still free to do anything supported by the cli client.
Hope this helps clarify the intent of the change submitted.
-John
2015-10-14 1:13 GMT-04:00 Chris Brown<EMAIL_ADDRESS>
Closed #8 https://github.com/concourse/autopilot/pull/8.
—
Reply to this email directly or view it on GitHub
https://github.com/concourse/autopilot/pull/8#event-434819288.


[Bug] Securite save fields

Why does getStrippedSaveRequest return fields that I added via addField() ?
You don't think they should return the fields specified in the request rule ?

/** @var \Illuminate\Foundation\Http\FormRequest $request */
        $request = $this->crud->validateRequest();
        // update the row in the db

        $item = $this->crud->update(
            $request->get($this->crud->model->getKeyName()),
            $request->validated()
        );


Offer of additional imagery sources

I run a number of imagery sites... You are welcome to use any of them.

http://aerial.openstreetmap.org.za/
Aerial imagery 15cm RGB. Sourced from the South African mapping agency National Geo-spatial Information (NGI). Permissive usage policy, attribution required.
TMS Tile URL: http://[a|b|c].aerial.openstreetmap.org.za/ngi-aerial/{zoom}/{x}/{y}.jpg
Projection: EPSG:3857 "Google Tiles"
http://os.openstreetmap.org/
Ordnance Survey "Street View" OpenData. 1:10k. Open Government Licence
TMS Tile URL: http://[a|b|c].os.openstreetmap.org/layer/gb_os_sv_2016_04/{zoom}/{x}/{y}.png
Projection: EPSG:3857 "Google Tiles"
http://hampshire.aerial.openstreetmap.org.uk/ (Has RGB + False Colour IR layers)
Hampshire Hub Aerial Imagery. Blog Post
RGB Tile URL: http://[a|b|c].hampshire.aerial.openstreetmap.org.uk/layer/gb_hampshire_aerial_rgb/{zoom}/{x}/{y}.png
FCIR Tile URL: http://[a|b|c].hampshire.aerial.openstreetmap.org.uk/layer/gb_hampshire_aerial_fcir/{zoom}/{x}/{y}.png
Projection: EPSG:3857 "Google Tiles"
http://surrey.aerial.openstreetmap.org.uk/
Surrey Air Survey. 5cm resolution. ODBL Licensed by Surrey Heath Borough Council
Tile URL: http://[a|b|c].surrey.aerial.openstreetmap.org.uk/layer/gb_surrey_aerial/{zoom}/{x}/{y}.png
Projection: EPSG:3857 "Google Tiles"
http://agri.openstreetmap.org/
The Australian Geographic Reference Image. ?15m? resolution. Creative Commons Attribution 4.0 International Licence.
Tile URL: http://[a|b|c].agri.openstreetmap.org/layer/au_ga_agri/{zoom}/{x}/{y}.png
Projection: EPSG:3857 "Google Tiles"

I can also create custom urls for different tile sizes etc, as required. I can also enable WMS if required.
Tiles are generated on-demand and cached. Please set a HTTP User-Agent that describes the app if scraping.

@Firefishy awesome!  Could you give a (brief) description of each of these?  Then I could start a new section of the README with imagery sources and include these.
The current setup just needs a URL for 256x256 tiles, which I assume I can just infer from the linked maps?

The DigitalGlobe 'Recent' and 'Vivid' layers could be added to the Readme too: http://mapsapidocs.digitalglobe.com/docs/imagery-and-basemaps
These tiles are more detailed that the DigitalGlobe scenes via Mapbox for remote regions with low population density.
It's probably understood that DG use the same infrastructure as MB and so the swap out for these tiles is straightforward.

I have updated the initial message with more detail. If you have any specific questions, feel free to message me.

Thanks @Firefishy -- super helpful!

We also provide high resolution multi-temporal aerial imagery datasets over Australian cities and would be interested in putting them through your system. Our API is essentially WMS/WMTS with an API key. Details here: https://metromap.freshdesk.com/solution/articles/22000029054-using-metromap-in-a-client-software-without-username-password-login
We have multi-temporal layers which may help in assessing sensitivity to misalignment due to camera orientations, seasonal differences etc.


problem

while i use the scripts
it is alaways in the setting up test environment
what should i do ?
thanks

Hi there, thanks for your question.
You're quite right, there was a problem with the 'thesis_setup' file. I have replaced it with an updated version.
Another useful thing to know is in Stellarium you can hide the GUI with (Ctrl+T), I think thats's the default key command.
Hope that helps,
Daniel

thank u very much !
this my email<EMAIL_ADDRESS>i have some quetions to ask you , such as the screenshot  can you email me ?

core.screenshot("check",false,"E:/Documents/Strathclyde/Thesis/Stellarium Screenshots",false,"png");
while i changed the path, when the programm thesis_4 end this is no "png"
what should i do to solve this question?
thank u !
jianming zhang
At 2019-09-03 21:04:33, "Daniel Hingston"<EMAIL_ADDRESS>wrote:
Hi there, thanks for your question.
You're quite right, there was a problem with the 'thesis_setup' file. I have replaced it with an updated version.
Another useful thing to know is in Stellarium you can hide the GUI with (Ctrl+T), I think thats's the default key command.
Hope that helps,
Daniel
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

core.screenshot("check",false,"E:/Documents/Strathclyde/Thesis/Stellarium Screenshots",false,"png");
while i changed the path, when the programm thesis_4 end this is no "png"
what should i do to solve this question?
thank u !
jianming zhang

Hi Jianming,
Do any images appear in the folder you selected at all?
Please make sure that the path is correct and in the same format as in my original code.
If it still doesn't work for you please let me know and I can help.
Kind regards,
Daniel

I had the same issue as @jianshenv587 and it seems that the issue was created by the following lines:
LandscapeMgr.setFlagCardinalsPoints(false);
SolarSystem.setFlagLabels(false);
Satellites.setFlagHints(false);
Satellites.setFlagLabels(false);

I think this is perhaps a Stellarium version discrepancy.
Changing the scripts to the following solved the issue for me.
LandscapeMgr.setFlagCardinalPoints(false);
SolarSystem.setFlagLabels(false);
Satellites.setFlagHintsVisible(false);
Satellites.setFlagLabelsVisible(false);

"realcascades/weighted _purged", their is no such file name in the project such that it is showing that the system cannot find the path, what is the fix of this.

"realcascades/weighted _purged", projede böyle bir dosya adı yok, öyle ki sistem yolu bulamıyor, bunun çözümü nedir.

have you solved the problem?


VAL error

I'm getting this error:
Traceback (most recent call last):
  File "pdb2lmp.py", line 299, in <module>
    conv.collect_types()
  File "pdb2lmp.py", line 99, in collect_types
    dbmol = self.moldb.molecules[mol.name]
KeyError: 'VAL'

I suspect that I should modify the pdb2lmp.py such that it recognizes the .pdb file which I'm trying to convert.  Could you kindly tell me what I must do?

It looks like you're trying to simulate a protein (I assume the residue name VAL is valine).  Unfortunately, the ELBA forcefield that PDB2LMP was created for doesn't support proteins.
If you want to use PDB2LMP to set up protein simulations in LAMMPS you'll have to create some new forcefield database files (as seen in https://github.com/jag1g13/pdb2lmp/tree/master/data) that contain the parameters of whichever model you would like to use.
I'll modify the code to give a proper error message when an unrecognised residue name is found.

The error message has been made more informative in commit d4b711a.
I've opened another issue (#3) to add other forcefields to the database in the future so people can simulate a wider range of molecules, but I can't promise I'll get round to it soon.

Thank you for your prompt reply.

Marking issue as closed since a proper error message has been added when a molecule is not defined in the forcefield.  I would like to add more forcefields in the future, but that is currently low priority.


Color gradient curve

Objective

Currently we have the ColorRange trait to interpolate linearly between two colors
It would be cool to have:

linear interpolation between n colors where n >= 1
other kinds of interpolation

Solution

Implement ColorGradient which takes n >= 1 colors and linearly interpolates between consecutive pairs of them
Implement Curve intergration for this ColorGradient which yields a curve struct. After that we can apply all of the cool curve adaptors like .reparametrize() and .map() to the gradient

Testing

Added doc tests
Added tests

Showcase
// let gradient = ColorGradient::new(vec![]).unwrap(); // panic! 💥
let gradient = ColorGradient::new([basic::RED, basic::LIME, basic::BLUE]).expect("non-empty");
let curve = gradient.to_curve();
let brighter_curve = curve.map(|c| c.mix(&basic::WHITE, 0.5));

Kind of related to https://github.com/bevyengine/bevy/pull/14971#discussion_r1736337631

@mweatherley @bushrat011899
I took another try to implement it. Now it's backed by a SampleCurve which simplifies it quiet a bit overall. However, unfortunately, because types, we can't get a constructor with a default mix function. Hence the current implementation also needs the user to specify how to mix 2 mixables. This is a bit unfortunate because it allows misuse of the API if the passed mix function doesn't behave like T::mix. Not sure how to resolve it in a better way :/

@bushrat011899 Thanks for guiding me! I almost already had this at some point in time. The deal breaker for me was the
        let mix: fn(&T, &T, f32) -> T = <T as Mix>::mix;

I guess I gave up too early 😅
Anyways: Looks sooooo much cleaner now! Thanks again!

@bushrat011899 Thanks for guiding me! I almost already had this at some point in time. The deal breaker for me was the
        let mix: fn(&T, &T, f32) -> T = <T as Mix>::mix;

I guess I gave up too early 😅
Anyways: Looks sooooo much cleaner now! Thanks again!

Another approach, if you prefer to avoid function pointers, would be to just use EvenCore directly; the Curve library itself ran into the same issue that you encountered, which is why SampleAutoCurve exists in addition to SampleCurve.

@bushrat011899 Thanks for guiding me! I almost already had this at some point in time. The deal breaker for me was the
        let mix: fn(&T, &T, f32) -> T = <T as Mix>::mix;

I guess I gave up too early 😅
Anyways: Looks sooooo much cleaner now! Thanks again!

Another approach, if you prefer to avoid function pointers, would be to just use EvenCore directly; the Curve library itself ran into the same issue that you encountered, which is why SampleAutoCurve exists in addition to SampleCurve.

That's even better and also solves the serde flaw!

Thank you to everyone involved with the authoring or reviewing of this PR! This work is relatively important and needs release notes! Head over to https://github.com/bevyengine/bevy-website/issues/1681 if you'd like to help out.


cli_parser: Add class method to make options declaration more readable

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew tests with your changes locally?

#1860
https://github.com/Homebrew/brew/pull/3971#discussion_r176933717

Thanks again @GauthamGoli!


Run lint-staged on commit

#173 added lint-staged, but it wasn't run automatically yet. This PR adds the git pre-commit hook to automatically run lint-staged.
This was set up using the command recommended on the lint-stage readme:
npx mrm lint-staged

Rachel had it in her PR, i removed it because it was blocking the github action from working i need to review again

closing as husky causes an issue with the deploy github action and we have lint tests

Re-opening this to try to fix the deploy issue


compatibility with bdist_rpm

I am using "pep440" style in setup.cfg, and run into the following issue if I "python setup.py bdist_rpm"
copying dist/myapp-0.15rc12+4.gc1b4ff2.tar.gz -> build/bdist.linux-x86_64/rpm/SOURCES
Note that +4 symbol  in the package name, later,
building RPMs
rpmbuild -ba --define _topdir ... build/bdist.linux-x86_64/rpm --clean build/bdist.linux-x86_64/rpm/SPECS/myapp.spec
error: File ...build/bdist.linux-x86_64/rpm/SOURCES/myapp-0.15rc12-4.gc1b4ff2.tar.gz: No such file or directory

As seen here, for some reason, python rpm build replaced the "+" with "-" in the file name, cause the file not found.
Am I missing something or this is indeed a compatibility issue?

I'm not familiar with the rules on RPM filenames.. I know the +-based local-version scheme produces filenames that aren't legal in certain circumstances, and maybe the RPM build process is one of them. (I'm guessing that something in bdist_rpm is making different assumptions than something else).
Does anyone else here know how bdist_rpm works?

@warner, I ended up looking into this (six months on), and think I have found the problem.
When using setuptools, the bdist_rpm command gets modified to call egg_info before running. egg_info uses the pkg_resources.safe_version() method, which replaces a + with a - in the distribution.metadata.version.
During bdist_rpm.run() (after the version string has been 'corrected') two things happen:

the spec file gets written using the modified version string, then
sdist gets reinitialised to generate the SOURCES tarball needed by rpm

However, versioneer itself modifies the sdist command in such a way that it regenerates the version string from scratch at the beginning of the run() call.
If I manually remove this line then the bdist_rpm command runs end-to-end without failure for me. The catch is that the version number might not be what you expect it to be if you have a + in it.


Fix login after reset

There were some issues with logging in after resetting your account.
Although we test login after reset in login_test.go, there is always a logout before the relogin attempt.  This adds a new test for logging in after reset but without logging out.
Also, manual testing of gui in various states revealed a few other issues.

logged in, quit app
reset self on website
start app

would have device keys unlocked, but they would be revoked and the user wouldn't load and it would be a mess until the background task that checks for being on a revoked device ran.
There's also an APIServerSession call that the gregor connection uses.  I believe this would cause issues on foregrounding mobile app after reset, so it is fixed to logout if it detects the state of unlocked device keys but a user with no keys.
There's a companion desktop PR that I'm going to test next that should make it so the reset user logging in doesn't see any errors.

looks like this PR breaks TestUPAKDeadlock

This can’t be the true cause.
On Mon, Oct 16, 2017 at 11:14 AM Patrick Crosby<EMAIL_ADDRESS>wrote:

@patrickxb commented on this pull request.
In go/externals/test_common.go
https://github.com/keybase/client/pull/9047#discussion_r144876564:

)

func SetupTest(tb testing.TB, name string, depth int) (tc libkb.TestContext) {
ret := libkb.SetupTest(tb, name, depth+1)
ret.G.SetServices(GetServices())

ret.G.SetUIDMapper(uidmap.NewUIDMap(10000))

@maxtaco https://github.com/maxtaco this is the line that breaks
TestUPAKDeadlock. I can take it out, but then we aren't testing the
uidmapper in lots of tests, we're using the test one that does not use api
server endpoint at all.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/keybase/client/pull/9047#pullrequestreview-69594823,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA05_6VinwGKHYqmm3nbNZJxO4vu4tdIks5ss3LdgaJpZM4P5Ei6
.

It feels like there is an actual race and this line tickles the timing
On Mon, Oct 16, 2017 at 11:28 AM Maxwell Krohn<EMAIL_ADDRESS>wrote:

This can’t be the true cause.
On Mon, Oct 16, 2017 at 11:14 AM Patrick Crosby<EMAIL_ADDRESS>wrote:

@patrickxb commented on this pull request.
In go/externals/test_common.go
https://github.com/keybase/client/pull/9047#discussion_r144876564:

)

func SetupTest(tb testing.TB, name string, depth int) (tc libkb.TestContext) {
ret := libkb.SetupTest(tb, name, depth+1)
ret.G.SetServices(GetServices())

ret.G.SetUIDMapper(uidmap.NewUIDMap(10000))

@maxtaco https://github.com/maxtaco this is the line that breaks
TestUPAKDeadlock. I can take it out, but then we aren't testing the
uidmapper in lots of tests, we're using the test one that does not use api
server endpoint at all.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/keybase/client/pull/9047#pullrequestreview-69594823,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA05_6VinwGKHYqmm3nbNZJxO4vu4tdIks5ss3LdgaJpZM4P5Ei6
.

It could be using upaks would clear this deadlock.
On Mon, Oct 16, 2017 at 11:43 AM Maxwell Krohn<EMAIL_ADDRESS>wrote:

It feels like there is an actual race and this line tickles the timing
On Mon, Oct 16, 2017 at 11:28 AM Maxwell Krohn<EMAIL_ADDRESS>wrote:

This can’t be the true cause.
On Mon, Oct 16, 2017 at 11:14 AM Patrick Crosby<EMAIL_ADDRESS>wrote:

@patrickxb commented on this pull request.
In go/externals/test_common.go
https://github.com/keybase/client/pull/9047#discussion_r144876564:

)

func SetupTest(tb testing.TB, name string, depth int) (tc libkb.TestContext) {
ret := libkb.SetupTest(tb, name, depth+1)
ret.G.SetServices(GetServices())

ret.G.SetUIDMapper(uidmap.NewUIDMap(10000))

@maxtaco https://github.com/maxtaco this is the line that breaks
TestUPAKDeadlock. I can take it out, but then we aren't testing the
uidmapper in lots of tests, we're using the test one that does not use api
server endpoint at all.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/keybase/client/pull/9047#pullrequestreview-69594823,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA05_6VinwGKHYqmm3nbNZJxO4vu4tdIks5ss3LdgaJpZM4P5Ei6
.

I put just that line in on master and it causes a deadlock.
I think this is a problem:  we haven't been testing uidmapper in the tests, just the fake implementation of the interface in libkb that doesn't use uidmapper.

That line basically does nothing but maybe there is a cyclical lock grab to
set the property on global.
On Mon, Oct 16, 2017 at 11:54 AM Maxwell Krohn<EMAIL_ADDRESS>wrote:

Ok I am not around much today if you think it is the problem can you debug
it? Thanks
On Mon, Oct 16, 2017 at 11:53 AM Patrick Crosby<EMAIL_ADDRESS>wrote:

I put just that line in on master and it causes a deadlock.
I think this is a problem: we haven't been testing uidmapper in the
tests, just the fake implementation of the interface in libkb that doesn't
use uidmapper.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/keybase/client/pull/9047#issuecomment-336931317, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA05_9F8q_lhObAgymrj99bLP72WdGA4ks5ss3v0gaJpZM4P5Ei6
.

No, it does a lot.
It's not that line that deadlocks, but the use of UIDMapper.
This is the default for all client tests:
        g.SetUIDMapper(NewTestUIDMapper(g.GetUPAKLoader()))

which is in libkb/test_common.go

I'll debug, but for now, I'm going to take it out so CI passes.  If you could approve this PR, I can test it with marco's change on frontend.  Both should improved login after reset significantly.

I can’t really take a good look now I am sorry
On Mon, Oct 16, 2017 at 11:58 AM Patrick Crosby<EMAIL_ADDRESS>wrote:

I'll debug, but for now, I'm going to take it out so CI passes. If you
could approve this PR, I can test it with marco's change on frontend. Both
should improved login after reset significantly.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/keybase/client/pull/9047#issuecomment-336933140, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA05_x8YJYMHHvLPrUwUQ-t3r2VDwSddks5ss30_gaJpZM4P5Ei6
.

Cleared for merging?

👍


Update messages to support auto account creation

Problem
Hedera Services would like to support new way to create accounts using an alias (public key)
Solution
Make the following changes in our protobufs:

Add an alias public key to the existing AccountID. Any account should have unique alias or accountNum set.

message AccountID {
    int64 shardNum = 1;
    int64 realmNum = 2;
 oneof account {
    int64 accountNum = 3;
    Key alias = 4;
    }
}

The account info should have information about alias

bytes alias;

Alternatives
No response

PRs are merged


Release 3.0.0-beta.8

Related to https://github.com/node-fetch/node-fetch/issues/908

Available on npm under the next tag.


[feature] Provide a way to look at query generated operation output.

The apollo-tooling(https://github.com/apollographql/apollo-tooling) API provides a way to generate a json file such as using operationIdsPath.
{
  "$operation_id" : {
    "name"   : "$name",
    "source" : "$transformedQuery"
  }
}

Real example:
{
  "8fe6f24988733e5c84d90cfcdcdc9590987654321b651d3ce35889bf5b5b477a": {
    "name": "CurrentLocation",
    "source": "query CurrentLocation {\n  currentLocation {\n    __typename\n    coordinates {\n      __typename\n      latitude\n      longitude\n    }\n    zipCode\n  }\n}"
  },
  "d11117159ca53b57bbee9c1b3cd64a3fe24a72d584f04aa1fa68eb098863edcd": {
    "name": "CurrentUser",
    "source": "query CurrentUser {\n  currentUser {\n    __typename\n    id\n    fullName\n    avatarImage {\n      __typename\n      url\n    }\n  }\n}"
  }
}

Currently, there is no way to access such information in a format outside of .kt or .java classes for this plugin.
TODO:

[x] add a test

@Laimiux: Thank you for submitting a pull request! Before we can merge it, you'll need to sign the Apollo Contributor License Agreement here: https://contribute.apollographql.com/

Can you share a bit more what your use case is ? There are some related questions about customizing the hash function (https://github.com/apollographql/apollo-android/issues/1794) and maybe we can hit two birds with one stone ?

I need to whitelist the queries by sending some information such as generated operation id, operation name and transformed query to the backend. The iOS counterpart is using apollo-tooling and operationIdsPath flag to generate a json file to send to the backend. I currently don't see a good way to generate this output.

Regarding the hash function, the existing mechanism for hash generation works for me.

@DSteve595 would you be ok using the operationOutput json instead of the transformed queries ? They overlap in terms of functionality with the operationOutput also having id

What does that json look like?

I understand it would look like this (@Laimiux please correct me if I'm wrong):
{
  "$operation_id" : {
    "name"   : "$name",
    "source" : "$transformedQuery"
  }
}```

So it would contain all the transformedQueries along with the operationId and operationName in a single big json file.

That seems totally fine. Would be nice if there were a way to get the values through the DSL, otherwise consumers have to use a json parser.

Yep, that's the format. The only minor correction is that it generates a json file for each .graphql file (not a single json file for all .graphql).
@DSteve595 could you explain what you mean by DSL? Are you talking about providing a lambda/interface to the apollo plugin which will be called with some data structures that represent the codegen report?

Yes. Preferably a Property.

@Laimiux does it have to be one json file per operation ? I understood the apollo tools were generating a single file so maybe it's better if we stick to what they're doing ?
@DSteve595 for up-to-date checks to work, I think it'll have to be a DirectoryProperty or RegularFileProperty (depending if it's one json per operation or one big json for all). What we could do is provide a OperationOutput.deserialize() to transform the directory/file into data structures.

@martinbonnin I initially had a single-file per module, but for some reason split it up into multiple json files. As this does not seem to be preferable, I'll revert the change.
@tasomaniac the output JSON structure is the same as what apollo-tooling library provides with operationIdsPath parameter.  (https://github.com/apollographql/apollo-tooling#apollo-clientcodegen-output)
For context generate.ts file:
interface OperationIdsMap {
  name: string;
  source: string;
}

function writeOperationIdsMap(context: CompilerContext) {
  let operationIdsMap: { [id: string]: OperationIdsMap } = {};
  Object.keys(context.operations)
    .map(k => context.operations[k])
    .forEach(operation => {
      operationIdsMap[operation.operationId!] = {
        name: operation.operationName,
        source: operation.source
      };
    });
  fs.writeFileSync(
    context.options.operationIdsPath,
    JSON.stringify(operationIdsMap, null, 2)
  );
}

Reverted back to a single JSON file per module. Currently, it will be placed in build/apollo/${serviceName}/${variant}/operationOutput/OperationOutput.json.

Follow up PR is there: https://github.com/apollographql/apollo-android/pull/1859

@Laimiux The docs were moved to docs/source folder. If you can fix the conflicts, then this can be shipped :shipit:

Rebased + fixed conflicts.


merge from arlac77/npm-package-template-esm-only

package.json

chore(package<EMAIL_ADDRESS>chore(scripts): cover@#overwrite c8 -x 'tests/**/*.mjs' --temp-directory build/tmp ava && c8 report -r lcov -o build/coverage --temp-directory build/tmp

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


How to use with iPhone depth data

Hey! I have a dataset of MVS images and corresponding depths obtained buy iPhone lidar. I want to evaluate the existing net/finetune on this dataset. However, as I noticed, the out of the box results look far from good on my samples (reference image attached). I'm using colmap poses.

One thing I noticed is that depth_min in DTU is 425, the interval is 1.06, and in my dataset the depth range is from 0.03 to 26, so I likely need to take these different parameters into account when just evaluating the pretrained net. How can I reproduce the results on my dataset?

I assume your camera parameters follow the same format as those in DTU Dataset.
In this case, you might need to change depth_min and interval both in this case. For your data, depth min should be 0.03 and interval should be (26-0.03)/192 = 0.135.


CRAYSAT-1929: Fix CFS fields in sat status for CFS v3

Summary and Scope
The CFSStatusModule still had hard-coded property names for the properties of a CFS component, and these property names were only valid for CFS v2, so sat status only showed CFS fields when CFS v2 was used. Update the mapping so that it correctly maps CFS properties to the sat status column names for both CFS v2 and v3.
Issues and Related PRs

Resolves CRAYSAT-1929

Testing
Tested on:

noname

Test description:
Built cray-sat image and tested on noname with both CFS versions, that is:

sat status --cfs-version v2
sat status --cfs-version v3

Risks and Mitigations
Low risk change which only affects sat status.
Pull Request Checklist

[x] Version number(s) incremented, if applicable
[x] Copyrights updated
[x] License file intact
[x] Target branch correct
[x] CHANGELOG.md updated
[x] Testing is appropriate and complete, if applicable
[x] HPC Product Announcement prepared, if applicable

Testing results: https://gist.github.com/haasken-hpe/c84a5a18aaf4a5988babcb3baa2bcf2f


Creature export saves PNGs with JSON metadata

https://www.w3.org/TR/PNG/#11textinfo
PNG supports a 'zTXt' metadata field for storing big text strings. We could leverage this so that bugs would be exported as PNGs with JSON metadata attached.
This would make it easier and more intuitive for people to share their creations on the Discord server.

https://www.reddit.com/r/godot/comments/iwikd9/does_godot_support_png_metadata_ztxt_text_etc/
I've investigated this, but I could not find any evidence that Godot supports the idea of PNG metadata fields. This may be a dead end (or, it may require importing some C# libraries into our game, which seems like a lot of trouble.)

Closing; Godot doesn't support this.


Cherry pick #644 into r291

Cherry pick #644 into r291

I think the linter in CI has failed because I initially opened again main instead of weekly-r291. I will re-run it.


script crash

Traceback (most recent call last):
File "gen_cmd.py", line 183, in
main()
File "gen_cmd.py", line 179, in main
genCertAndPriv(args.certFile,args.privFile,args.E,n,d)
File "gen_cmd.py", line 125, in genCertAndPriv
r = rsa.PrivateKey(n, e, d, p, q, exp1=e, exp2=e,coef=e)
TypeError: init() got an unexpected keyword argument 'exp2'

I'm also running into this error. Changing the value of E doesn't seem to resolve it. Any other suggestions?

pip install rsa==3.2

I'm also running into this error. Changing the value of E doesn't seem to resolve it. Any other suggestions?

Are you still paying attention to this project? I think we can talk about it.

So, I should have changed this in the install script? any other changes to pip modules?


text2image: --fonts_dir=

@zdenop wrote in #396:

I found out that --fonts_dir="" reset fonts_dir variable to system default e.g. if --fonts_dir argument is not use text2image is looking for fonts in /auto/ocr-data/tesstraining/fonts

With --fonts_dir= text2image will search fonts from many directories. These directories are defined in a config file which is part of fontconfig. This is the situation on Linux at least.
/auto/ocr-data/tesstraining/fonts is probably Google-specific path. Clearly it is not a good default for non-Goole users.

Here is one possible fix from my fork of text2image:
https://github.com/amitdo/text2tif/commit/ac0a24c93271
I'm not sure this is the 'right' solution.

Another way is to define a different default path for each OS (Linux, Mac, Windows).


hangs after enumerating USB devices in teardown hook

ZFSBootMenu build source
Release EFI
ZFSBootMenu version
2.3.0
Boot environment distribution
Void Linux
Problem description
System (UEFI 64-bit Intel i5-9400F) fails to continue boot beyond the xhci-unbind teardown hook and yields just a blinking cursor after reporting on all the USB devices. Installed via script based on official install instructions which work fine on a VM. ZBM installed onto second NVMe drive; can access the management screen to make snapshots and modify kernel settings but booting with 'loglevel=9' doesn't yield any more helpful messages.
Steps to reproduce

Install ZBM
Boot to default environment exactly like I did in a VM.
Wonder what went wrong.

You can try a different kernel series in your boot environment. Short of that, there's not enough information available to suggest a more targeted fix.

Thanks for the quick reply. I will try a different kernel - I'm not sure what other information I could offer or what else I could do to troubleshoot.

Resolved by installing the 6.5 headers and kernel prior to finishing installation. Same issue as #627


Classify text into pre-defined categories

See for example https://opennlp.apache.org/docs/2.3.2/manual/opennlp.html#tools.doccat

Using embeddings might also promising<EMAIL_ADDRESS>

First version implemented, whereas training of classifications moved to
com.wyona.katie.services.ContextService#addQuestionAnswer()
which we need to improve generally

Implementation finished, whereas see various classifiers src/main/java/com/wyona/katie/handlers/mcc/


Invitations should open a new window

My coworkers often try to use the "Invite Contact" feature to start a live share session with me, but accepting the invitation would reuse my current VSCode window. If I accept the invitation, I lose my place in whatever workspace I'm in.
Currently, both options I know of add friction to starting a session:

Open a new window, then ask them to invite me again.
Ask them to send a URL instead of using "Invite Contact".

When accepting an invitation, I would like one of the following options because they allow the invitee to resolve the problem themselves:

Always open invitations in a new window.
A button to "Accept in New Window".
If I open a new window manually after receiving an invitation, show the invitation notification so I can accept it.

Accepting an invite from a link trashes the current workspace too. If you forget to open a fresh window before clicking. 😢

Since GitHub issues seems to be the place for feature requests for this project, I don't think this should be closed unless the team decides they won't do this feature.

We’re not able to prioritize this issue over the other higher-impact issues we receive every week, based on the votes and comments from others in the community and our understanding of the issue. However, rest assured that we love your input. If you feel it deserves to stay open, then clarify your use case and contact us to let us know how severe it is for you.

It's not a complete deal breaker for me, but it is really annoying that it takes over my current work when I go to help a coworker with their code. And then when it ends I'm left with a blank window trying to figure out what I was doing before. I lose focus and waste time because of it. At least if it remembered to reopen the project I had open before the live share session started it wouldn't be as bad.


Needs to be a way to clear data

My mapviz keeps getting filled up with clutter from successive bag runs.  There needs to be a way to clear data (or re-init plugins).  Restarting mapviz each time is not sufficient since geo maps are not cached and need to redownload each run.

Yeah the tubes keep getting clogged. Also I need to borrow Jerry's scissors.

Seems like a useful feature.  Base plugin could be modified with a virtual clear data method and individual plugins could be modified to clear their buffers.
What specifically is getting cluttered up?  Things like the odometry track?

Also  @HoomanBean  doesn't seem like a real person, I wouldn't trust anything they say.

Off hand, at least the gps display.

@daveconger See if these branches work:
https://github.com/malban/mapviz/tree/clear-history-indigo
https://github.com/malban/mapviz/tree/clear-history-jade
It adds a 'Clear History' button to the menu bar and clears the history of GPS, tf, and odometry tracks, point clouds, laser scans, and markers.  You will need to recompile both mapviz and mapviz_plugins.

cool beans


Unable to resolve path to module on bun or modules with bun: prefix

Importing modules with bun: prefix (eg. bun:test) or bun itself with @types/bun installed results in a resolution error with import-x/no-unresolved
Unable to resolve path to module 'bun:test'. eslint import-x/no-unresolved

index.test.ts
import { expect, test } from 'bun:test';

test('2 + 2', () => {
  expect(2 + 2).toBe(4);
});

Configuration Solution / Workaround
If automating this based on the TS types in @types/bun is not possible / feasible / wanted, then one way that I've found to work around this is to use the ignore option:
import eslintTypescript from '@typescript-eslint/eslint-plugin';
import typescriptParser from '@typescript-eslint/parser';
import eslintImportX from 'eslint-plugin-import-x';
import globals from 'globals';

/** @type
 * {import('@typescript-eslint/utils/ts-eslint').FlatConfig.ConfigArray}
 * */
const configArray = [
  {
    // Lint common extensions by default with rules above
    files: [
      '**/*.js',
      '**/*.jsx',
      '**/*.cjs',
      '**/*.mjs',
      '**/*.ts',
      '**/*.tsx',
      '**/*.cts',
      '**/*.mts',
    ],
    languageOptions: {
      parser: typescriptParser,
      parserOptions: {
        project: './tsconfig.json',
        // typescript-eslint specific options
        warnOnUnsupportedTypeScriptVersion: true,
      },
      globals: {
        ...globals.browser,
        ...globals.node,
        ...globals.commonjs,
        ...globals.es2021,
        // Allow using React as a global without importing it
        React: true,
      },
    },
    plugins: {
      '@typescript-eslint': {
        rules: eslintTypescript.rules,
      },
      'import-x': eslintImportX,
    },
    settings: {
      'import-x/parsers': {
        '@typescript-eslint/parser': ['.ts', '.tsx'],
      },
      'import-x/resolver': {
        // Load <rootdir>/tsconfig.json
        typescript: true,
        node: true,
      },
    },
    rules: {
      // Error on imports that don't match the underlying file
      // system
      // https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-unresolved.md
      'import-x/no-unresolved':
-        'error',
+        [
+          'error',
+          {
+            ignore: ['^bun:\\w+$'],
+          },
+        ],
    },
  },
];

export default configArray;

See also https://github.com/import-js/eslint-import-resolver-typescript/pull/266

import { isBuiltin } from 'node:module'

console.log(isBuiltin('bun:sqlite'))
// In Node.js: false
// In Bun: true

Thus we can't use isBuiltin here as ESLint might still be running under Node.js rather than Bun (E.g. in IDE).

Ah just saw this other PR:

https://github.com/import-js/eslint-import-resolver-typescript/pull/288

I guess once this is published and eslint-plugin-import-x upgrades to it, it will resolve the issue

The latest version of eslint-import-resolver-typescript should have fixed the issue.

@SukkaW thanks for the heads up!
Yeah indeed, I can confirm that<EMAIL_ADDRESS>resolves the issue 🎉
Relevant PR from @SunsetTechuila :

https://github.com/import-js/eslint-import-resolver-typescript/pull/288

This uses the new is-bun-module package (GitHub), nice 👀


CCS811 board does not work

suspect it is not initialized properly
Adafruit and Sparkfun boards work
identify and correct problem

Use this as a reference CCS811 driver
https://github.com/SuperHouse/esp-open-rtos/tree/master/extras/ccs811


[CARBONDATA-3302] [Spark-Integration] code cleaning related to CarbonCreateTable command

What changes were proposed in this pull request?
Removed Extra check to validate whether the stream relation is not null , moreover condition can be optimized further, currently the condition has path validation whether path is part of s3 file system and then system is  checking whether the stream relation is not null, this check can be added  initially as this overall condition has to be evaluated for stream table only if stream is not null.
How was this patch tested?
Manual testing and existing test-cases

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/2601/

Build Success with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/10860/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/2832/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/2677/

Build Success with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/10936/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/2905/

LGTM

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/2740/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/2970/

Build Success with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/11001/

LGTM


fix: upgrade jxboot-helmfile-templates

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign jstrachan
You can assign the PR to them by writing /assign @jstrachan in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jstrachan: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

kube
70c3c33c86644e304af2fd954cf48d4636e47f30
link
/test kube

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jstrachan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

kube
70c3c33c86644e304af2fd954cf48d4636e47f30
link
/test kube

gsm-kapp
70c3c33c86644e304af2fd954cf48d4636e47f30
link
/test gsm-kapp

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

/retest

/approve

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: jstrachan
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [jstrachan]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Stable release

Please express your acceptance/rejection with a +/-1

:+1: if message is in stable

lets try to wrap up #42 so it can be included in the initial release.

:+1:


git clone https://github.com/kgretzky/evilginx2.git code not working, command not found

support?

try this  git clone https://github.com/kgretzky/evilginx2.git
and make sure you don't copy extra space when highlight that might be the issue

Hello,
To run the command
git clone https://github.com/kgretzky/evilginx2.git

You need to have Git installed.
root@localhost:~# sudo apt install git

To confirm that you installed Git correctly, run the following command and check that you receive a relevant result.
root@localhost:~# git --version
git version 2.25.1

If you want expedited help and have the assistance of many professional people, join our private group. Contact us<EMAIL_ADDRESS>to give you access to the group.

Hello! If you were already able to resolve your doubts and achieve your goals, close the issue so that we know which ones are pending.
Thank you!


Color polygons according to it's  features

How can I color polygons according to a attribute that is present in GeoJSON?

you can define getFillColor to be something like this.
getFillColor: d => {
  // check attribute here
  if (d.height == 100) return [255, 0, 0, 255];
  return [0, 255, 0, 255];
}

@gcoimbra  Please read the documentation and use the template to raise questions.


Redundant assignement of using_separate_specular

Godot version
4.0 1ba87f0c82ca62deaba71767ed08270a45fac2e9
Issue description
https://github.com/godotengine/godot/blob/1ba87f0c82ca62deaba71767ed08270a45fac2e9/servers/rendering/renderer_rd/forward_clustered/render_forward_clustered.cpp#L1285-L1287

One of those is meant to be false, it's setting a flag for using in render_buffer->ensure_specular(). But I don't know which.

Fixed at some point. That code is long gone


expose DNS / ExternalName in test framework

OOP LB depends on gRPC DNS round robin balancing. For that we need to have a DNS server running that exposes several endpoints for an OOP adapter. We need an ability to either mock ExternalName services or run a native DNS server in the framework.
/assign @nmittler
/assign @ozevren
for re-assignment

@kyessenov is this still something we are interested in?

I think so. This is basically requesting an ability to exercise DNS dependent behavior.


无法显示统计信息，one-hub/model/statistics.go:102 unrecognized token: "!"

例行检查

[x] 我已确认目前没有类似 issue
[x] 我已确认我已升级到最新版本
[x] 我已完整查看过项目 README，尤其是常见问题部分
[x] 我理解并愿意跟进此 issue，协助测试和提供反馈
[x] 我理解并认可上述内容，并理解项目维护者精力有限，不遵循规则的 issue 可能会被无视或直接关闭

问题描述
之前一直正常，突然当前的分析数据空白。
复现步骤
点击分析，消费统计空白。
预期结果
能够正常显示各项消费信息。
相关截图

Logs:
one-hub  | 2024/12/25 14:53:41 /home/runner/work/one-hub/one-hub/model/statistics.go:102 unrecognized token: "!"
one-hub  | [0.072ms] [rows:-]
one-hub  |         SELECT strftime('%!Y(string=WHERE date BETWEEN "2024-12-19" AND "2024-12-25")-%!m(MISSING)-%!d(MISSING)', date) as date,
one-hub  |         sum(request_count) as request_count,
one-hub  |         sum(quota) as quota,
one-hub  |         sum(prompt_tokens) as prompt_tokens,
one-hub  |         sum(completion_tokens) as completion_tokens,
one-hub  |         sum(request_time) as request_time,
one-hub  |             model_owned_by.name as channel
one-hub  |             FROM statistics
one-hub  |             JOIN prices ON statistics.model_name = prices.model
one-hub  |                      JOIN model_owned_by ON prices.channel_type = model_owned_by.id
one-hub  |             %!s(MISSING)
one-hub  |             GROUP BY date, model_owned_by.name
one-hub  |             ORDER BY date, model_owned_by.name

更新一下dev。再试试


Enforcing @private on trait usage

Should referencing a @private trait be permitted outside the declared namespace?
I couldn't really tell from https://awslabs.github.io/smithy/1.0/spec/core/constraint-traits.html#private-trait.
And it looks like the private access validator isn't including trait relationships (and so allows you to use it wherever).
Example
$version: "2"

namespace a

@trait
@private
structure privateTrait {}

$version: "2"

namespace b

use a#privateTrait

@privateTrait
structure MyStructure {}

and no complaints during build.

Main reason I'm asking is because HttpConfiguration
/// Contains HTTP protocol configuration for HTTP-based protocols.
@private
@mixin
structure HttpConfiguration { ... }

doesn't add private to localTraits, so all of the mixed protocols now end up being @private too.
Didn't know if this was intentional, so wanted to get a better understanding of what @private is supposed to do.
No real issue here, just curious. :)

Yeah, private is supposed to not allow referencing private traits outside of the defined namespace. It's a bug if that's not the behavior now.

Upon looking into this further, there are other cases that exhibit this behavior as well. This example includes everything that seems to not enforce @private:
$version: "2"

namespace example.private

@private
@trait
structure privateTrait {}

@private
resource PrivateResource {
    identifiers: {
        id: String
    }
}

@mixin
structure MixinWithPrivateMember {
    @private
    member: String
}

$version: "2"

namespace example.public

use example.private#privateTrait
use example.private#PrivateResource
use example.private#MixinWithPrivateMember

// 1. Using a private trait
@privateTrait
structure PrivateTraitUsage {}

// 2. Target elision with private resource
structure PrivateResourceUsage for PrivateResource {
    $id
}

// 3. Target elision of private member of mixin
structure PrivateMemberOfMixinUsage with [MixinWithPrivateMember] {
    @required
    $member
}

Based on the documentation, I'm not sure if 3. is expected behavior, because while the mixin itself isn't private, the member being referenced is. Both 1. and 2. are clearly references to private shapes in another namespace though. For 1., we could use getReverseProviderWithTraitRelationships instead of just getReverseProvider like we do now in PrivateAccessValidator. This change breaks a whole bunch of protocol tests because PrivateAccessValidator will then check all parent traits, but we can probably solve that. For 2. however, the relationship with PrivateResource isn't modeled so there doesn't seem to be a way to enforce @private. This wasn't caught in any tests because the validation tests use JSON AST representation, not Smithy IDL.
Unless I'm missing something, we would probably have to model these target elision relationships in order to fix 2. and possibly 3. If I'm not missing something, we might want to open a separate issue for that because it would be a more general change. In the meantime I think a solution to this specific problem would be to just check any applied traits to the shape and see if they're private.