Check errors related to return as an expression

Description
Investigating/fixing #5282.
I've added a unit test containing some code where return is used in "odd" positions. My interpretation of the test output:

For value returns we are generally reporting an "unreachable code" warning, which is the intended behavior.
match return 42 { ... } reports an "unimplemented feature" error. I haven't looked into which type we're unable to match on, but presumably it's (), which seems like an odd oversight.
It looks like we have a general problem parsing non-value returns.

For item 2 I think we can improve the error message to stating the type we're unable to match on.
For item 3 I think we need to investigate if we can parse these cases correctly, or at least give better error messages.
Checklist

[ ] I have linked to any relevant issues.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have updated the documentation where relevant (API docs, the reference, and the Sway book).
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] I have added (or requested a maintainer to add) the necessary Breaking* or New Feature labels where relevant.
[ ] I have done my best to ensure that my PR adheres to the Fuel Labs Code Review Standards.
[ ] I have requested a review from the relevant team or maintainers.

Re. item 3: Rust struggles with some non-value returns as well:
fn main () {
    let _ = match return {
        () => 42,
    };
}

gives the following error:
error: expected one of `.`, `;`, `?`, `}`, or an operator, found `=>`
 --> return.rs:3:12
  |
3 |         () => 42,
  |            ^^ expected one of `.`, `;`, `?`, `}`, or an operator

error: expected one of `.`, `?`, `{`, or an operator, found `;`
 --> return.rs:4:6
  |
2 |     let _ = match return {
  |             -----
  |             |
  |             while parsing this `match` expression
  |             help: try removing this `match`
3 |         () => 42,
4 |     };
  |      ^ expected one of `.`, `?`, `{`, or an operator

The confusing error occurs because Rust tries to group return with the curly braces that surrounds the match arms.
On the other hand, Rust is capable of parsing this one fine:
fn main () {
    let _ = return + return;
}

Instead, the Rust typechecker complains about there being no implementation of + for ().

For item 2 I think we can improve the error message to stating the type we're unable to match on.
For item 3 I think we need to investigate if we can parse these cases correctly, or at least give better error messages.

Generally I agree with both proposals but would be careful in terms of effort. This is just my opinion. The point 2) should be easy to extend. For the point 3) I am not sure if it pays off at this point and would like to explain why I think so.
Essentially, the output of the overall test is much better then I expected. We get dead code where we should and zero ICEs which is a great starting point. Struggle with naked return is also not there in all cases and, as well pointed above, even Rust has issues with those. That's why for me, even if we keep it as is for now it's fine.
That's reason talking out of me. But emotionally, of course I would love to see if those generic "Expected an expression." could be turned into something more guiding :-)
Also I am thinking, since with break and continue we do have ICEs (#5414) I think investing time there would be more beneficial.

@ironcev : I've added the two cases you mentioned, and I think those are the only two that were missing.
I've also separated the tests out into one passing and one failing test, and I'm now getting ICEs in the tests that are supposed to pass. At least one of them (`let _ = [ return 42, return 43 ];) was also in the original test, where it did not trigger an ICE. Presumably the failing tests cause the compiler pipeline to terminate before the ICEs are hit.
I'll investigate the ICEs after Christmas.

I've also separated the tests out into one passing and one failing test, and I'm now getting ICEs in the tests that are supposed to pass.

Interesting! I am curious what the root cause will be. Thanks for digging deeper into this!

@jjcnn Perhaps this might be helpful for your analysis of ICEs. While working on supporting nonsensical referencing and dereferencing like e.g. &return; or *&break; I've realized that ICEs in other places might be coming from the same issue: not checking the <value>.is_diverging(context) for the expressions compiled in sway-core/src/ir_generation/function.rs.

@jjcnn Perhaps this might be helpful for your analysis of ICEs. While working on supporting nonsensical referencing and dereferencing like e.g. &return; or *&break; I've realized that ICEs in other places might be coming from the same issue: not checking the <value>.is_diverging(context) for the expressions compiled in sway-core/src/ir_generation/function.rs.

I've found two places where ICEs are thrown, but I'm not sure distinguishing on is_diverging() is the correct solution:

functions.rs, function compile_enum_expr, line 2522, : A diverging value doesn't have a type, so the calculation of contents_type fails with an ICE. Distinguishing on is_diverging is the simple solution, but I think the correct solution is to calculate the type based on the enum declaration rather than on the value being used.
convert.rs, function convert_resolved_typeid, line 71: The assumption in the type conversion is that Unknown doesn't exist as a type at this stage in the compilation (see line 163), which suggests that the typechecker isn't handling return (and therefore also break and continue) correctly.

I'll dig a bit deeper into the typechecker after New Year's, but without knowing much about the IR I think I'll need some help figuring out what needs to be done.
On a side note, I think we need tests for return 42 || return 43 and return 42 && return 43 as well, which I'll add tonight.

I've found two places where ICEs are thrown, but I'm not sure distinguishing on is_diverging() is the correct solution:

My quick take on both points, without taking a close look, but based on how things are handled on the IR side at the moment:
Ad 1) (compile_enum_expr) checking is_diverging should be the solution here. In general, out of what I see in code, (almost) all the places where we are calling e.g. compile_expression_to_value and not checking if the result is_diverging will end up in ICE. I did a quick try on e.g. intrinsics which are not covered, and that is the case e.g.
script;

fn main() -> u64 {
    let _ = __size_of_val(return 123u64);
    42
}

will produce this error as expected:
Internal compiler error: UnknownType { span: Span { src (ptr): 0x55f793b98c40, source_id: Some(SourceId { id: 67 }), start: 54, end: 67, as_str(): "return 123u64" } }

Currently, if any subexpression diverges, the code that checks divergence and returns it without proceeding works fine. Note that this means that we are not generating any IR code for anything that comes after it. E.g., function application checks if arguments are diverging which means the code like:
let x = my_function(true, 123, return 42);

will generate IR that just returns 42, no my_function call.
This is definitely cumbersome and error prone at the moment, that (almost) every call of compile_expression_to_value/ptr needs to be checked. I am just documenting the existing behavior here.
Ad 2) (convert_resolved_typeid) This is a longer story. Unknown is in general not supported on the IR and should never pass the type checking level. Which it doesn't except for diverging expressions where it is (mis)used instead of the Never type which is the bottom type which we have in core lib but not supported in the type system. But my assumption here is again, that the convert_resolved_typeid gets called on a value which is returned from some compile_expression_to_value call that has returned diverging result which was not shortcircuted and returned but passed down the chain.
Long story short, on the long term we should support Never, but that will not solve the above issues. We would still need to track and cover all the places on IR which return Never which are essentially all the Values for which is_diverging is true.

I think the PR is ready for review. There are a couple of outstanding questions I'm aware of:

The test I've added in the should_pass directory is currently only compiling, not end-to-end tested. I don't know what the magical formula is to enable end-to-end testing.
There is almost certainly an issue with the function TyExpression::deterministically_aborts(), which is used at least once during IR conversion. I think it's out of scope to deal with it in this PR, but we should definitely take a look at it.
We're not getting all the unreachable code warnings I'm expecting, but I think it's because we're bailing out on some of the IR conversion once we see a diverging value. I suspect it's better to deal with that problem in a separate PR.
We need similar tests for break and continue, and we definitely need to include the test return break, which will almost certainly cause an issue when used in the wrong context. I'm pretty sure deterministically_aborts() gives the wrong result in that case.

Ad 1) Magical formula 😄 given in the comment.

This causes a revert in the return 42 + return 43 test.
I'll need to do some digging to see what's going on, so I'm holding off on the merge.

Ad 2) Agree, definitely an issue and let's deal with it separately.

I'll open an issue on it.

Ad 3) We have issue for that #5414. It's also a separate PR.

If you don't mind I'll assign myself to it. I've already got my hands dirty on control-flow expressions, so I should be in a good position to fix that one too.

Ad 1) Magical formula 😄 given in the comment.

This causes a revert in the return 42 + return 43 test.
I'll need to do some digging to see what's going on, so I'm holding off on the merge.

@ironcev : This issue is caused because return 42 + return 43 is grouped as return (42 + return 43), so the function returns 43 rather than 42, and the assert in the main function fails.
This is counter-intuitive, but I think it's actually working as intended, so I'll just add a comment in the test case and make sure the assert works. Then we should be good to go.

If you don't mind I'll assign myself to it.
Sure go ahead :smile:

This is counter-intuitive, but I think it's actually working as intended
Yes exactly. The priority of operations goes as you said: return (42 + return 43).


[ko] resync: docs/contribute/suggesting-improvements.md

Signed-off-by: Hu Shuai<EMAIL_ADDRESS>

Hi @hs0210
Thank you for the contribution.
But, #35548 already resolved the issue.
(In case of Korean localization, we manage outdated contents by checking differences between two Korean development branches)
So, let me close this PR.
/close


Automated Documentation Generation

As we discussed on the concall, take a look at pydoc to do automated code generation. Good sample is on (SO)[http://stackoverflow.com/a/13050049/2797780]
Another possibility is sphinx. I'm not a pythonista, so perhaps asking in the Python channel in the code community would be a good start.

+1 for Pydoc


Enr Debug implementation is unhelpful

The current debug impl of Enr
https://github.com/sigp/enr/blob/e59dcb45ea07e423a7091d2a6ede4ad6d8ef2840/src/lib.rs#L864-L868
is unhelpful for debugging.
The display impl is more helpful for debugging but lacks content info
https://github.com/sigp/enr/blob/e59dcb45ea07e423a7091d2a6ede4ad6d8ef2840/src/lib.rs#L852-L862
Suggest flipping them and to include k,v pairs as well.

Sounds like a good suggestion! Are you planning on providing a PR for this?


Implementing Stratego

Hello, my lab would be interested in porting Stratego to use in pure end-to-end jax rl. Is there any interest in collaborating on this?

Hi @renos
Sorry for the delayed response, and thanks so much for reaching out 🙏
I'm definitely interested in Stratego and gave it some thought.
However, due to resource constraints, I might not be able to collaborate as much as I'd like.
Additionally, we currently don't have any team members with domain knowledge in Stratego.
That said, if you have any questions about implementing the game environment in JAX, whether you're contributing to Pgx or not, please don't hesitate to ask!


[WEBSITE] No documentation for v0.13

Summary
The website branch still does not have a specific folder for v0.12 so latest still points to v0.12.
Having a v0.13 available would allow people to contribute on v0.13 documentation

What is the change? Add documentation for v0.13
Why should it go in Clarity? v0.13 is in RC, a documentation section would help people to evaluate properly the version and contribute to it (improve documentation, test, BUG, ...)
Does this change impact existing behaviors? If so how? NO CHANGES
If this change introduces a new behavior, is this behavior accessible? NO new behaviuor

Hi @mcosta74
We generally don't update our latest documentation until final release of the version. The reason here being that the implementation/API may undergo changes up until that time. It's not ideal to make changes during RC but it happens every now and then.
For a preview of any breaking changes in 0.13, please refer to the release notes for the two beta releases:

Thanks for the reply.
My point was that I'm evaluating v0.13 and sometimes to understand how to use a new component (combobox for instance) I have to go to the dev app or guessing reading the API.
Understand that cannot be worth to write documentation for beta and RC but it can help people to evaluate upcoming releases and find/fix bugs

@mcosta74
Specifically for combobox, it is not yet supported. We had to stop implementation to shift over to emergent priorities from internal teams. Note that most things we would document would be in the release notes for beta and rc releases. And a demo of every component we have is available in our source code.
If you are specifically looking for combobox and it isn't there, it's because we aren't releasing it. The work on it is about 33% done.

The only new stuff for 0.13 are two form components, which the documentation for is forthcoming when we release 0.13. We are also working on better website design to better surface both versioned documentation and changelogs.

ok guys, thanks for the clarification.
and a HUGE THANKS for your awesome job


Show user's email within Squeak! admin

On the Profiles tab, it'd be incredibly useful to list a user's email address, both for being able to contact/look up users, as well as handle cases where a single person has multiple accounts.

I would like to work on this issue.


Templates and AssetsBox do not exist as render.Options

When creating a new fresh app with ox, I got the following error:

Both TemplatesBox and AssetsBox do not exist as part of render.Options{} struct.

Oh! This one is interesting. This may be related with a change in Buffalo v0.18.x. It will imply some things to fix. For now, we should aim to use v0.17.x


[WIP] Support Cucumber 2.0

In order to get the specs to run against Cucumber 2.0, this change requires files from the new cucumber-core gem.
Next steps: to see whether the formatter works as intended. This change makes the specs run green.

see #39

[x] pass Spec specs

[ ] pass Cucumber specs

[ ] fully use Cucumber 2.0 API

[ ] be able to create an HTML report on a simple Feature file (is there one for general testing use?)

This PR will be beefed-up and when ready, presented again.


🔌 Plugin: Jira Plugin for the Backstage

🔖 Summary
Integrating the JIra with the Janus IDP can be the best option for collaborating on software pieces. A plugin which simply list the issues associated with the software component will be helpful along with the filters
🌐 Project website (if applicable)
atlassian.com/software/jira
✌ Context

Service Details page should have a dedicated card to display Jira issues
The Jira section should show blockers, last 7 days and work in progress issues (Default setting)

👀 Have you spent some time to check if this plugin request has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Contributing Guidelines

Are you willing to submit PR?
None

I have contrributed to the existing plugins - https://github.com/RoadieHQ/roadie-backstage-plugins and https://github.com/AxisCommunications/backstage-plugins/tree/main/plugins/jira-dashboard plugins


PyPlot seems to be broken with Julia master

using PyPlot results in

Warning: both `Libdl` and `Base` export `dlsym`; uses of it in module `PyCall` must be qualified
Warning: both `Libdl` and `Base` export `dlopen`; uses of it in module `PyCall` must be qualified
Warning: both `Libdl` and `Base` export `dlsym_e`; uses of it in module `PyCall` must be qualified
Warning: error initializing module PyPlot:
UndefVarError(var=:dlopen)

Nevermind; wasn't using PyCall master.


Add a check for size field in custom format string

- What I did
This fix addresses an issue where including the {{.Size}} format
field in conjunction with docker ps --format, without the --size
flag, would not correctly display the size of containers.
- How I did it
This is done by doing a check on the custom format string, and setting
the size flag on the options struct if the field is found. This struct
gets passed to the engine API which then generates the correct query.
- How to verify it
An integration test is included which runs docker ps --format table
{{.Size}} without --size, and checks that the returned output is
not 0 B.
- A picture of a cute animal (not mandatory but encouraged)

Fixes #21991
As suggested by @cpuguy83, a parser is implemented to process the format
string as a template, and then traverses the template tree to determine
if .Size was called.
This was then reworked by making use of template execution with a
pre-processor struct that will set the --size option if the template
calls for the field.
The pre-processor now also sets a boolean in the context passed to the
writer. There is an integration test for this that calls docker ps
--size --format "{{.Size}}" and then checks that size: {{.Size}} is
not appended, as it would with previous behavior.
Signed-off-by: Paulo Ribeiro<EMAIL_ADDRESS>

:-1: NOTLGTM
We don't want to magically enable size here.
It should be required to pass --size in order for the size field to be populated.
I do understand there's an issue where passing --size and a format is screwy. I'd rather fix that issue.

@cpuguy83 Thanks for the feedback.
For the issue with passing --size as well as {{.Size}} in the format string giving duplicate output, I believe the changes to this line will resolve that. Seeing as it is separate from #21991, would it be best to raise a new issue and PR for this change?
As for having {{.Size}} without the --size flag; perhaps the output can be changed to convey the need for the flag, instead of just printing 0 B.

We don't want to magically enable size here.

what's the difference between typing --size and {{.Size}}? Users must set both strings, it's not that "magical".

@calavera Ok, then I think we ought to run the format through a pre-processor to really check if the size is being called rather than inspecting the format string directly.

I agree that checking {{.Size}} is not the best option thought. Something like this is totally valid {{lower .Size}} but your check would not catch it.

What might the pre-processor look like? AFAIK, the format string only gets parsed by the template engine after the list of containers has been retrieved, so we'd have to do something with it before that.

@paigr Basically pass the template to a parser that says 'yep Size was called' and can adjust the client request accordingly.

@cpuguy83 I couldn't find anything in the Go libraries that would check a parsed template for a given field, so I tried to implement a template tree traversal algorithm. Is this the sort of thing you were looking for? I'm worried it might not be idiomatic/practical.

@paigr Wow, that's pretty cool!
Honestly I was thinking something along the lines of http://play.golang.org/p/P5vyezCgXi

Apologies for taking a long time to get back to this!
@cpuguy83 Ah, I didn't think about using struct methods and template execution that way, that's very clever! I've implemented the struct, please take a look when you get the chance.
I am still unsure about this line here since, as @calavera mentioned, a format string with {{lower .Size}} would not get caught and size will be printed twice. I replicated a similar fix for this, but perhaps both need to be changed?

ping @paigr can you have a look at @cpuguy83's comment?

I've pushed up what I came with based on suggestions made by @cpuguy83, please let me know what you think.

Ping @calavera @cpuguy83 PTAL.

LGTM

Right now if you do both --size and specify size in the format, it creates 2 size entries when using the table format.
Also (with no table format) if I specify --size but no .Size in the format I do not get the size in the output format

@cpuguy83

Right now if you do both --size and specify size in the format, it creates 2 size entries when using the table format.

It seems to work when testing under my environment:
root@e7c08a755302:/go/src/github.com/docker/docker# docker ps --size --format 'table {{.Size}}'
SIZE
0 B (virtual 125.1 MB)

Also (with no table format) if I specify --size but no .Size in the format I do not get the size in the output format

What is the expected behavior for running docker ps --size --format ' '? The images API has a similar flag --digests, and running docker images --digests --format ' ' does not produce digests information in the output.
I have pushed up what it might look like if size were appended (if not already specified in the format), PTAL.

@paigr Ok, I think you're right, we should not append .Size to a populated format.
After changing that back, I think this will be good, nice job!

gave this a spin, and as far as I can see, this works as expected;
# docker ps --format "table {{.Size}}"
SIZE
2 B (virtual 60.63 MB)
# docker ps --format "{{lower .Size}}"
2 b (virtual 60.63 mb)
# docker ps --format "{{upper .Size}}"
2 B (VIRTUAL 60.63 MB)
# docker ps --format "{{upper .Size}}" --size
2 B (VIRTUAL 60.63 MB)
# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
b37284df45af        nginx:alpine        "nginx -g 'daemon off"   3 hours ago         Up 3 hours          80/tcp, 443/tcp     jovial_nobel
# docker ps --size
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES               SIZE
b37284df45af        nginx:alpine        "nginx -g 'daemon off"   3 hours ago         Up 3 hours          80/tcp, 443/tcp     jovial_nobel        2 B (virtual 60.63 MB)

@paigr looks like the failing CI is genuine. looking at the error, it expects a blank line after ports:, but actual result doesn't give that;
0:08:32 ok  	github.com/docker/docker/api/client	0.015s	coverage: 1.3% of statements
20:08:32 --- FAIL: TestContainerContextWrite (0.00s)
20:08:32 	formatter_test.go:182: Expected
20:08:32 		container_id: containerID1
20:08:32 		image: ubuntu
20:08:32 		command: ""
20:08:32 		created_at: 2016-05-23 20:08:25 +0000 UTC
20:08:32 		status:
20:08:32 		names: foobar_baz
20:08:32 		labels:
20:08:32 		ports:
20:08:32
20:08:32 		container_id: containerID2
20:08:32 		image: ubuntu
20:08:32 		command: ""
20:08:32 		created_at: 2016-05-23 20:08:25 +0000 UTC
20:08:32 		status:
20:08:32 		names: foobar_bar
20:08:32 		labels:
20:08:32 		ports:
20:08:32
20:08:32 		, got
20:08:32 		container_id: containerID1
20:08:32 		image: ubuntu
20:08:32 		command: ""
20:08:32 		created_at: 2016-05-23 20:08:25 +0000 UTC
20:08:32 		status:
20:08:32 		names: foobar_baz
20:08:32 		labels:
20:08:32 		ports:
20:08:32 		container_id: containerID2
20:08:32 		image: ubuntu
20:08:32 		command: ""
20:08:32 		created_at: 2016-05-23 20:08:25 +0000 UTC
20:08:32 		status:
20:08:32 		names: foobar_bar
20:08:32 		labels:
20:08:32 		ports:
20:08:32 FAIL

ping @paigr can you have a look at the CI failures?

I'm carrying this in https://github.com/docker/docker/pull/23247

carry PR was merged; thanks so much for contributing @paigr!


Methods for metadata export

We are using metadata export at one of our DHIS2 apps at UPC and we're building it on-top of d2 library.
We find it would be useful to:

Access the general export "/api/metadata.json" endpoint directly from the d2 library.

Access the specific export endpoints (such as /api/dataSets/ID/metadata.json) to gather elements with dependencies.

Include in the d2 models an attribute to know if the modelProperties are included/excluded from the metadata exporting on DHIS2.

I'm not sure if GitHub is the proper method for asking such questions, please suggest any better option for discussion.
Thanks and apologies,
Alexis Rico
WISCENTD-UPC

In several applications (5 to be precise in the last year) we use d2 as the main connector to DHIS2 instances but when trying to obtain more information about metadata we need to also query the API directly through axios.
Real world scenarios

Data entry apps for datasets and programs. We use the /dataSets/metadata and /programs/metadata to get everything in one request instead of doing multiple requests to the server to retrieve all the categories, categoryOptions, categoryOptionCombos, sections, dataElements, programStages...

Metadata synchronization. We sometimes require to obtain multiple metadata objects of different types in a same request. Traversing the whole metadata tree without the /metadata endpoint with the "id:in" filter is impossible without either growing old or crashing the server with internal java OOM.


Option to force frontend reload from Minecraft based on version

Basically let the websocket interface start with sending the mod version on connect. If the webinterface receives a different version than expected force a reload of the page.
This should prevent any issues with people updating the mod while leaving chat open in the browser.

To avoid adding the version to static files probably leave it as an empty variable first. Then the first connect sets the version as that is a fresh page load. Then on reconnect we check against the stored version.

Depends on #22

Make sure assets aren't cached as well.

On the server end I was thinking of exposing a dynamic endpoint /mod-version which just returns the version of the mod (maybe do it nicely in mod format).
On page load the client loads that resource and uses it to set a constant.
WebsocketJsonMessage needs to be updated to include the mod version.
If the client then receives a message with a different mod version than the constant it means the user left the tab open while the mod was updated.
Reload page.

I am fairly sure I saw a Fabric API call to get the version of the mod.  Doing it like this prevents us from having to store the version in multiple places.

Google says
        String version = FabricLoader.getInstance()
            .getModContainer("web-chat")
            .get()
            .getMetadata()
            .getVersion()
            .getFriendlyString();

https://maven.fabricmc.net/docs/fabric-loader-0.16.9/net/fabricmc/loader/api/FabricLoader.html
getModContainer is an optional.


Wrong HTTP code returned when wrong path to logs is provided

Wrong HTTP code returned when wrong path to logs is provided
Current behaviour:
500 Internal Server Error is returned when wrong path to logs are provided
Expected behaviour:
404 Not Found is returned by the server

Will test today


v10.0.5

Current coverage is 91.35%

Merging #177 into master will increase coverage by +5.41% as of 8d938cf

@@            master    #177   diff @@
======================================
  Files           26      26
  Stmts          370     370
  Branches         0       0
  Methods         83      83
======================================
+ Hit            318     338    +20
  Partial          0       0
+ Missed          52      32    -20

Review entire Coverage Diff as of 8d938cf

Powered by Codecov. Updated on successful CI builds.


Release 2.4.4.

Since this is an extension we don't publish the extension to GitHub release page. It is only published in the market place. The reason for the GitHub releases are insider releases of the extension before VS Code had support for insider releases in the market place.


Using Django Sessions in Nuxtjs

Can I use sessions created by django to keep user authenticated in nuxtjs ? how ?

There are a few django related issues here. Try if you can find something that may give you a hint: https://github.com/nuxt/nuxt.js/search?q=django&type=Issues&utf8=✓

The basic mechanism of sessions is to keep one session key at backend and frontend together. So, I usually use cookies for keeping this key generated by Django.
You can use, for example, vue-cookies library to keep it at your frontend.
After setup of this library you can make authorization page. When user is logged in, you do something like this:

this.$cookies.set("user_session","[backend-generated-session-key]")
then you need to set up your api queries to send Autorization header with this.$cookies.get('user_session') (read this for better understanding)
don't forget that Django use csrf protection. It works the same way.

You also can use django rest framework to set up token authentication for REST application.

First of all, you should figure out of what you aim with using nuxt. Nuxt is a framework which allow us to prerender pages for search crawlers at first place. And for doing static pages for simple hosting.
If you want to show page for google or another crawler, I think you understand that it never login in you application. So, it seems like bad decision for that purpose.
But if you want to use nuxt for "simple hosting", just create a first-root-route index page with your logo or event with nothing. And there you can use something like vue-cookie to make the first request to your server for checking out authorization or just for checking the cookie. This page will be rendered for a second (if your backend server isn't slow). Then you can load another view with route "/home" for example.

It depends on what you want to do but typical usage might be to use Django Rest Framework for your API with Nuxt as frontend (or one of several frontends, e.g. a mobile or desktop app). In this case, Nuxt is using SSR mode - it functions as its own site, proxying all your API calls to Django (and perhaps other backend APIs as well).
In this case, DRF might use token authentication for all frontends. You can use the default DRF rest token auth, or JWT or knox for example.
The basic idea is this:

We have a node server app that wraps Nuxt (auth-module isn't really suitable for production use as it stores the token in localStorage or a client-side cookie and thus is vulnerable to XSS attacks).
The user logs in on your Nuxt site. We have an endpoint on the node app that proxies the authentication call to Django. Assuming valid creds, Django/DRF returns our authentication token.
The token is stored by the node app using express-session in a server-side Http-only cookie. At no point do we expose the token to the client. We can use Redis or some other storage for the session.
All API calls are sent to the node app, which proxies these calls to Django - i.e. all /api/* calls. This is handled using proxy middleware. We can check for the token in the session and add it to the header passed to the Django API if present.
The node app also handles CSRF checks using csurf. DRF doesn't need to worry about this.
A logout endpoint notifies Django to destroy the token, and removes the token from the session.

I have set up a very simple Nuxt application to illustrate this: https://github.com/danjac/nuxt-python-secure-example/blob/master/frontend/server.js. This uses a very simple Flask backend but the principle is the same - in fact this technique could be used with any backend API that uses token authentication.

This question has been answered (quite thoroughly I might add) by @danjac (thanks!).


Fix regression (segfault) in LBM image loading [SDL2 branch]

The PR https://github.com/libsdl-org/SDL_image/pull/318 introduced a regression, loading some kinds of LBM files now segfaults.
Here is a zip that contains one such LBM file that segfaults on 2.8.x but not on earlier versions.
This PR does a simple fix

Merged, thanks!


Typewords and outputting relations

Fix a number of issues with typewords:

add 'group' as a typeword (fixed #40)
use lemma instead of raw text to check for typeword to avoid bugs with plural forms
fix problem in postprocess steps where of-modifiers of typewords get overly duplicated (fixed #32)

We also add relation as part of the string representation of HeadModifierTree, which would help us inspect the tree more easily.
Unittest coming up next.

lgtm! :rocket:


Theme priority via react-css-themr

Hello. I've tried to apply theme via react-css-themr. But I found that default theme's classes apply first, therefore default classes have more priority. To fix it I need either use !important or write more specific selectors. For example,  I wrote following styles for input highlight bar.
  .bar {
    &:after, &:before {
      background-color: #c2c2c2;
    }

But it works only if I wrap it in div to make it more specific.
div {
  .bar {
    &:after, &:before {
      background-color: #c2c2c2;
    }
  }
}

Is there any way to control priority of classes for themr approach? Can post-css autoprefixer cause such behavior?

Sorry there is no control over the priority. In an ideal scenario every node inside react-toolbox would be the least possible priority but this approach came later and most components has more or less priority depending on the case.
The is an upcoming refactor with a similar approach I plan to publish soon in a roadmap that will dramatically push down priority but until then you must write selectors with the same or higher priority in order to override. Sorry :(


Update README.md

When implementing the code I got a null reference without having the site key value in the ViewBag set in the "get"

You're right, thank you for your addition :)


⚠ Bofrost.hr has degraded performance

In 2147420, Bofrost.hr (https://www.bofrost.hr) experienced degraded performance:

HTTP code: 200
Response time: 5496 ms

Resolved: Bofrost.hr performance has improved in 80e06b7.


Local Changes Dialog Needs Better UX

When clicking in the gutter and opening "Git local working changes" dialog:

I want to freely select text. Not just copy a single line or all lines. These options are rarely, if ever, useful.
I want ESC to close the dialog.
I want clicking outside of the dialog to close the dialog.


Theme not applied on startup on Chrome, Cannot GET /theme/css/theme.min.css

Current Behavior
Chrome does not use specified theme on opening browser after node-red restart if the editor is already open in a browser tab.
Expected Behavior
Theme should be used.
Steps To Reproduce
Close the browser (Chrome) with the editor open in a tab
Restart node-red
Open the browser
The editor appears but the theme is not applied, the default theme appears to be used.
The browser console shows
Refused to apply style from 'http://localhost:1880/theme/css/theme.min.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
:1880/#flow/bdd7be38.d3b55:1 Refused to apply style from 'http://localhost:1880/theme/css/theme-customizations.min.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
To get the theme applied refresh the browser page.
Once the page has been refreshed then there is no further problem. The browser may be closed and opened and the theme continues to be used. To see the problem node-red must be restarted and the browser opened.
I believe the problem is that if node-red is restarted and then http://localhost:1880/theme/css/theme.min.css is entered into the browser window the response is
Cannot GET /theme/css/theme.min.css
If the node-red editor page is then refreshed then that url shows the theme as expected.
The problem is not seen with Firefox so I guess it is a timing issue to do with when the theme css becomes available.
Example flow
No response
Environment

Node-RED version: 2.2.2
Node.js version: 16.14.0
npm version:
Platform/OS: Ubuntu on laptop
Browser: Chrome 99.0.4844.51

Tested with "midnight-red" 2.2.0 and with "dark"

Hi @colinl thanks for the detailed info.
It certainly smells like a timing issue.
I suspect what is happening is the browser is getting "something" for the CSS request - possibly a HTML with 404 status code.  Since the browser gets something from the server (but not CSS), it tells you the MIME type of the file is incorrect.
I will look into it as soon as I am in a position to.

So I have been trying to debug this.
What I have found is that after starting node-red & opening the browser at localhost:1880/, ui.editor is not called (and therefore the editorTemplate is not rendered)  (sometimes).
Some carefully placed console.logs have revealed NONE of ensureRuntimeStarted, ui.ensureSlash or ui.editor middleware are called (but do get called after refresh)
The route editorApp.get("/",ensureRuntimeStarted,ui.ensureSlash,ui.editor); is definitely being setup & should be called when the browser is opened at localhost:1880/
If I hit F5 refresh, it does call the route and therefore ui.editor is called which loads & renders the editorTemplate
I have tried to capture the network traffic with dev tools open however the issue doesnt happen (tried with and without browser cache enabled) - so proving difficult to track down why the route /  (the the routes middleware) is (sometimes) not called!
Will probably have to whip out wireshark unless you have an idea Nick @knolleary

A bit more weirdness...
Normal loading

Abnormal loading


Generic file fetch endpoint may not work with base type?

When using the ComputeRequestBase type as the input to the file fetch endpoint, you get the following error with a full config sent in:
{
    "status": "invalid-input",
    "errors": {
        "general": [],
        "byKey": {
            "config": [
                "Unrecognized field \"config\", not marked as ignorable (3 known properties: \"derivedVariables\", \"filters\", \"studyId\"])\n"
            ]
        }
    }
}

Going to try with additional properties enabled, but I doubt that will work.  The issue is that it is deserializing into the base type rather than going to the correct subtype.
Does EDA data use discriminator values?  I don't think so, but that would be helpful here (but not likely possible).

BUT since we don't have a defined order for the json properties (like we do for the generated classes) the hash will be different for the same config.

Trying out the discriminator value to see if that will resolve the issue.


feat: add esm build version

Generate ESM version for build following this issue https://github.com/comfortdelgro/compass-design/issues/4

No, it doesn't work like that. What you did will add ESM outputs in a different directory altogether with a new package.json. I kinda don't even understand your point, like how does it going to work?
We need to make the package hybrid, as in being able to use the same package in both ESM and CommonJS projects. We'll also have to configure the type definitions in a way that it'll play nice with TS Intellisense. That's why it's a tricky task. Refer to this https://2ality.com/2019/10/hybrid-npm-packages.html.


Give more appropriate names to event and attribute max constants

Goal

Testing

Release Notes

WHAT:
WHY:

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#1204  👈
#1203
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @bidetofevil and the rest of your teammates on  Graphite

Merge activity

Aug 7, 4:49 PM EDT: @bidetofevil started a stack merge that includes this pull request via Graphite.


Builds upload to Hockey

This patch changes Hockey as the default build manager instead of testflight

Coverage decreased (-0.08%) to 54.89% when pulling 5328621b661271f147fc6d70b2fc172fbb0a713f on hockey_development into b5191993c46fa87c37b1f91c6be44ebe419b5a3f on development.


learning rate issue

Hi,
Thanks for such amazing work!
Just out of curiosity I set learning rate for both pose network and depth network to be 0 all the time. I noticed that the loss still decreases during training.

This is very confusing to me. I have made no change to your code in this case. Any insight on this situation?

Hi, what is your purpose in setting the learning rate to 0?

Hi,
It was just a way to isolate a problem.
I was trying to train part of the encoder network during test time and see what would the predicted depths look like, and they were quite bad. I suspected that it could be attributed to some other parts that I want frozen during test time  but are not.
So i tried learning rate 0 and the loss was still changing. Any idea what causes this?

Ok, I see your point. However, if the learning rate is set to 0, some layers (e.g. batchnorm layers) will still update parameters. So the loss changes.

And the data is shuffled, which contributed too! Thanks for your reply.


fix erasure.go cgo import

error msg: erasure.go:3:8: cannot find package "github.com/cfs/Jerasure"
I assume our root dir is "github.com/c-fs" not "github.com/cfs"

LGTM


Reached maximum number of concurrent connections

Orientdb version-2.1.16
Java : Orientdb-client -2.1.16

Orient-db-server-config.xml : pool size configuration
<entry name="server.database.path" value="${ORIENT_DB_DIR}/databases"/>
<entry value="30" name="db.pool.min"/>
<entry value="300" name="db.pool.max"/>
<entry name="cache.local.enabled" value="true" />
<entry value="true" name="profiler.enabled"/>
<entry value="info" name="log.console.level"/>
<entry value="fine" name="log.file.level"/>
<entry name="distributed.crudTaskTimeout" value="15000"/>
<entry name="distributed.queueTimeout" value="30000"/>
<entry name="distributed.asynchResponsesTimeout" value="60000"/>
<entry name="distributed.purgeResponsesTimerDelay" value="60000"/>
<entry name="distributed.commandTaskTimeout" value="120000"/>

java code connection configuration

dbConntectionPoolA = new OPartitionedDatabasePool("remote:localhost/db", "xyz", "pwd", "10", "120")
and closing the connection in finally block.
Still we are facing this issue of "reached maximum number of connections".
because the number of  opened connections are 951

hi @ashwin1209,
What do you use client side ? it can happen that there is some proble on closing sessions client side.
Regard

sample java client code.
ODatabaseDocumentTx connection=null;
try{
connection = new OPartitionedDatabasePool("remote:localhost/db", "xyz", "pwd", "10", "120").aquire();
ODocument oDoc= new Odocument();
oDoc.field("name","abc");
oDoc.save();
}catch (Exception exception) {
LOGGER.error( exception);
}
finally {
connection.close();
}

Hi @ashwin1209,
we had some issue on the OPartitionedDatabasePool that was not blocking, this as been fixed in a more recent hotfix that 2.1.16, can you please retry with the last hotfix (currentry 2.1.23) ?
Bye

Updated to 2.1.23, but one observation I found was.

Configured Orientdb server as mentioned above.

I have 2 instance of my java application connecting to orientdb to read content.
client configuration are
connection = new OPartitionedDatabasePool("remote:localhost/db", "xyz", "pwd", "10", "120").aquire();

configured Jmeter to access 2 different instance of java applications, and hitting with 25 threads repeating for 20 times each

when I check the Orientdb binary connections around 30  are created and they remain in memory for ever until I completely close the java applications.

these connections are released into pool on calling db.close() and never gets closed.
When I start a new java application instance with the remaining 2 instances still up, but not hitting the orientdb . A New set of connections are created instead of reading from existing pool of connections.
are there any issues with my configurations? or is it the normal behavior with OpartitionedDatabasePool?

After updating database to 2.1.23, unable to access the db through java client ver 2.1.23?

hi @ashwin1209,
what do you mean that you are no able to access the database ?
anyway we fixed  a similar session issue on 2.2.10, consider to start schedule the migration to 2.2, the 2.1 will go out of support in the next few months.
bye

Hi @ashwin1209,
did you try with 2.2.x?
Thanks.

Hi, I've the same problem.
I'm using orientdb 2.2.14 with scala. The connections aren't closed and application crashes.
val poolFactory = new OPartitionedDatabasePoolFactory()
poolFactory.setMaxPoolSize(40)
val pool = poolFactory.get("remote:db.adimplere.com.br/adimplere", "admin", "sXcdsss098.")
val conn = pool.acquire()

try {
val query = StringBuilder.newBuilder
  query.append("SELECT @this.tojson(\"fetchPlan:*:-1\") AS itens FROM Parceiro limit 1000;")

 val res = conn.query[java.util.List[ODocument]](new OSQLSynchQuery[ODocument](query.toString)).asScala.toList

  val result = {
    if (res.isEmpty) {
      None
    } else {
      Some(res(0).field("itens"))
    }
  }

  result

} finally {
  conn.close()
  pool.close()
  poolFactory.close()
}

After execute, connection stay alive but pool was closed.
netstat -ant | fgrep 2424
tcp6       0      0 :::2424                 :::*                    LISTEN
tcp6       0      0 <IP_ADDRESS>:51928        <IP_ADDRESS>:2424         ESTABLISHED

I seem to be having a similar issue.
val dbPool = new OPartitionedDatabasePool(uri, username, password, 1, 64)

I think have many threads that can request a connection using the acquire() method. The database is closed when the process is done. If I put the system under heavy load, I still get the following exception:
java.lang.IllegalStateException: You have reached maximum pool size for given partition
	at com.orientechnologies.orient.core.db.OPartitionedDatabasePool.acquire(OPartitionedDatabasePool.java:243)

I also tried the default parameters.
val dbPool = new OPartitionedDatabasePool(uri, username, password)

Same issue. It does not seem to be waiting for a connection. This is on 2.2.18 using the remote protocol.

I actually think I may have been mistaken. I have two places I am using this code. I fixed one but not the other. This may be working properly now.  Verifying.

Hi,
2.1.x is not supported anymore and this issue is solved in more recent versions, closing
Regards


Deleting torrents without removing content

Hi there !
I would like first to thank you for this nice piece of software!
Very useful, and perfect design.
I just noticed that, since update 1.X, when you remove a torrent, the content linked to it is also removed.
Before that, we had the possibility to just remove the torrent (.torrent file in fact) from the list of active torrents, but also keeping the content on the transmission host.
Is there an option I'm missing in the settings of the app, or it's not possible anymore? And if so, why?
Thanks again for your time and effort!
Regards

The 'remove' dialog provides two options for removal, deleting torrent and data, and only removing the torrent. What you want is already implemented, you just have to avoid pressing 'delete the data'

I can indeed confirm that's not the case.
Gear Shift 1.0 from F-Droid.
When I click on 'remove', I got a dialog providing the two following choices:

There's also an 'OK' button right next to the cancel button. It's part of android's standard alert dialog. You're not seeing that?

Nope, look :o

maybe its because the string for the left button is too long, if you rotate the phone, does the 3rd button appear?

Pppfff, guess what?
That's the problem...
In landscape I can see the three buttons.
In portrait, even if not visible, there is in fact a clickable area
corresponding to the "ok" button.
That wasn't present in version prior to 1.0
What could be done there? Revert to old traduction that wasn't buggy?
Cheers
Le 17 nov. 2015 9:21 AM, "Viktor Kojouharov"<EMAIL_ADDRESS>a
écrit :

maybe its because the string for the left button is too long, if you
rotate the phone, does the 3rd button appear?
—
Reply to this email directly or view it on GitHub
https://github.com/urandom/gearshift/issues/40#issuecomment-157306366.

The dialogs use google's support library, so that's a bug in it. I guess I'll have to remove the button and add a checkbox instead, which unfortunately will lead to 2 taps if you want to delete a torrent and the data.

Do all the translations also come from the lib? Or could those be shortened, mainly the first, longest one, to keep current way of functioning?

A solution could be to have this long message (I didn't find a nice
alternative), displayed on 2 lines in smaller font.
That will lead to 3 buttons with more height.
Could it be possible to fix the width of each of the 3 buttons to 1/3 of
the width of the dialog? Thus, "forcing" the display on many lines if
needed.
Will be less nice, but will be working at least.
Le 17 nov. 2015 4:07 PM, "Viktor Kojouharov"<EMAIL_ADDRESS>a
écrit :

The dialogs use google's support library, so that's a bug in it. I guess
I'll have to remove the button and add a checkbox instead, which
unfortunately will lead to 2 taps if you want to delete a torrent and the
data.
—
Reply to this email directly or view it on GitHub
https://github.com/urandom/gearshift/issues/40#issuecomment-157396424.

@Orppa the translation of the first button comes from the app. At least the english version is as short as possible while still trying to tell you what it will do.
@Stygmatik I don't think you get to have any customization options for these buttons

So if current dialog would be kept, all the translations would have to be checked and possibly changed. Maybe it's just easier and safer to think of an alternative way. The one you already suggested, or something else.
Having one extra tap opposed to not having a button visible sounds still better option.

I was thinking also about the extra tap.
Could in fact be seen as a security tap for the data also.
Or you could shorten "Supprimer les données" in "Suppr. Donn." Should fit.
Last option: is it possible to have an horizontad scroll of the text (back
and forth) on a button ? To keep a fixed width.
Le 18 nov. 2015 6:26 AM, "Orppa"<EMAIL_ADDRESS>a écrit :

So if current dialog would be kept, all the translations would have to be
checked and possibly changed. Maybe it's just easier and safer to think of
an alternative way. The one you already suggested, or something else.
Having one extra tap opposed to not having a button visible sounds still
better option.
—
Reply to this email directly or view it on GitHub
https://github.com/urandom/gearshift/issues/40#issuecomment-157608537.

The neutral button is now a checkbox. It's default state can be set from the general settings.


Change the CDS banner

Updates CDS banner

:+1:

:tada: This has been pushed live to https://developers.google.com/web/


Update to go 1.22

Update to go 1.22 and address lint errors.

You'll also need to bump golangci-lint to 3cfe3a4abbb849e10058ce4af15d205b6da42804


Query Tracker Fails to Update Query State Due to uint32 Range Issue

The Query Tracker is experiencing a problem where it fails to correctly update the state of a query. The underlying issue appears to be related to a Value is out of range to fit into uint32 error.
Details of the error message:
2023-07-29 18:12:40,637961 E QueryHandler Failed to write query state, backing off (QueryId: b9f81cb4-697f258f-a2ff28f2-4131ab67, Engine: Yql)\nValue is out of range to fit into uint32\n origin qt-0.query-trackers.yt.svc.cluster.local (pid 1, thread Control, fid fffef47e368c12c8)\n datetime 2023-07-29T18:12:40.637648Z\n Control fffef47e368c12c8 2a276c92-c52337af-5a72971c-c2600800

Steps to Reproduce:
Run the following YQL query:
use main;

select
    received_at,
    Yson::YPath(`json`, "/data/E") as E
from (
    select * from range(`//home/table1`)
    union all
    select * from range(`//home/table2`)
)
limit 10

Expected Result: The Query Tracker should be able to accurately update the state of each query.
Actual Result: The Query Tracker fails to update the state of a query due to a Value is out of range to fit into uint32 error.
Please look into this issue at the earliest convenience and let us know if you need any further information to aid your investigation. Thank you.

There were various improvements in QT around state management since the time of report. I'd suggest collecting the debug log of query tracker next time such issue reproduces.
Unfortunately there is not information to debug this issue, so I'm closing this one. Please open a new issue in case of reproduce.


error while loading Audio Model

Bug Description
[A clear, concise description of the bug]
error while loading  Audio Model
Reproduction Steps
[Steps to reproduce. Please include, if needed for your issue:
./build/bin/asr/fl_asr_tutorial_inference_ctc \

--am_path=./models/am_conformer_ctc_stride3_letters_25Mparams.bin
--tokens_path=./models/tokens.txt
--lexicon_path=./models/lexicon.txt
--lm_path=./models/lm_common_crawl_small_4gram_prun0-6-15_200kvocab.bin
--audio_list=./models/audio_list.txt
E0815 10:24:01.434564 88480 Serializer.h:83 Error while loading ""./models/am_conformer_ctc_stride3_letters_25Mparams.bin"": std::bad_alloc

E0815 10:24:02.439431 88480 Serializer.h:83 Error while loading ""./models/am_conformer_ctc_stride3_letters_25Mparams.bin"": std::bad_alloc
E0815 10:24:04.444816 88480 Serializer.h:83 Error while loading ""./models/am_conformer_ctc_stride3_letters_25Mparams.bin"": std::bad_alloc
E0815 10:24:08.447935 88480 Serializer.h:83 Error while loading ""./models/am_conformer_ctc_stride3_letters_25Mparams.bin"": std::bad_alloc
E0815 10:24:16.453296 88480 Serializer.h:83 Error while loading ""./models/am_conformer_ctc_stride3_letters_25Mparams.bin"": std::bad_alloc
E0815 10:24:32.457677 88480 Serializer.h:83 Error while loading ""./models/am_conformer_ctc_stride3_letters_25Mparams.bin"": std::bad_alloc
terminate called after throwing an instance of 'std::bad_alloc'
what():  std::bad_alloc
*** Aborted at<PHONE_NUMBER> (unix time) try "date -d @1660548272" if you are using GNU date ***
PC: @                0x0 (unknown)
*** SIGABRT (@0x3e80000ffb5) received by PID 65461 (TID 0x7f2b07099000) from PID 65461; stack trace: ***
@     0x7f2b99b67046 (unknown)
@     0x7f2b0b657520 (unknown)
@     0x7f2b0b6aba7c pthread_kill
@     0x7f2b0b657476 raise
@     0x7f2b0b63d7f3 abort
@     0x7f2b28316485 __gnu_cxx::__verbose_terminate_handler()
@     0x7f2b28281216 __cxxabiv1::__terminate()
@     0x7f2b28281261 std::terminate()
@     0x7f2b28274c86 __cxa_rethrow
@     0x55a845200f55 fl::retryWithBackoff<>()
@     0x55a8451fd515 fl::pkg::runtime::Serializer::load<>()
@     0x55a8451ef960 loadModel()
@     0x55a8451f03a1 main
@     0x7f2b0b63ed90 (unknown)
@     0x7f2b0b63ee40 __libc_start_main
@     0x55a8451eee25 _start
@                0x0 (unknown)
Aborted (core dumped)
Platform and Hardware
[Please list your operating system, [GPU] hardware, compiler, and other details if relevant]
Ubuntu 22.04 Jammy Jellyfish (x86-64)
NVIDIA Corporation TU117M [GeForce GTX 1650 Ti Mobile]
nvidia-smi-out.txt
Additional Context
[Add any additional information here]

We don't have yet compatibility with old models in master -- checkout v0.3.2 and build there to load this model.


Update package.json

updated  revery in the the dependecies to be able to use the template without getting the error

Sorry, I might have gotten ahead of myself there. It works fine for me locally, but some weird errors on CI. Will try to run it again.

/azp run

Ok, the problem is that you haven't committed the lock files. Could you do that?

/azp run

Better CI error now


Resolve issue where needing to reauth after file upload

Still has to recheck auth after first upload; need to troubleshoot more later


[ASR] Log to file

It would be nice if all debug messages were logged to a file, so you wouldn't need to actively be running the debugger to tell what your autosplitter is doing, and so you could more easily get debug info back from a regular user.
Not sure if this is the right repo for this, since you probably want it to be configured by the app linking against livesplit core.

Yeah this isn't the right repository. From the perspective of lsc, the messages are just forwarded to the application. LiveSplit One for example logs everything to a file. So this would need to be changed in the original LiveSplit.


"Path" button appearing in Kiosk mode

I understand that kiosk mode is meant to be the non-configurable/editable interface of Daijishou.  For this to be fully accomplished, "path" button should be hidden in Kiosk mode.

https://github.com/TapiocaFox/Daijishou/issues/423


Run General Primer Design Script

This issue is for a new feature request to run the [General_Primer_Design](https://github.com/kmceres/Thylacine_Design/blob/main/general_primer_design/scripts/Primer_opt.py) script.

I was able to successfully run this script with some debugging on a subset data. Results were shared with the PIs.

I was able to successfully run this script with some debugging on a subset data. Results were shared with the PIs.


Update 010.1-maze-dfs-p5.md

added contributions. Thanks for the awesome explanations :)

whats wrong?


SQL AAD Setup

Resolves #55 and Resolves #95

Adds make ci-auth, using local terraform state, intended to be run by a Admin prior to setting up CI.

Creates a SQL Owner AAD App, and assigns the associated service principal as the AAD owner of the SQL database.

Creates a System Managed Identity for the SQL Server, and assigns user.read.all | groupmember.read.all | application.read.all as least-privilege as per the docs

Adds a script which uses the SQL Owner AAD app credentials + pyodbc with SQL Driver 18 to connect to the new database and create a LOGIN and USER for the databricks-sql aad app, and assigns that user db_owner on the feature database.

Adds a sample/demo notebook to show a pyodbc query from databricks to SQL, used for validation - which pulls the SQL + AAD details from databricks secrets, and uses them to query a table.

[X] Test from local with high level AAD perms

[x] Test from damoodamoo ci fork in private subscription

[ ] Assign permissions in UCLH tenancy + test in UCLH dev

[x] Document permissions

/test

/destroy-env

/test

/test

/test

/destroy-env

/test

/test

/destroy-env

/test

/destroy-env

/test

/test

/test

/test-force-approve
PR Env for CI got into bad state - ran in separate PR here: https://github.com/UCLH-Foundry/FlowEHR/actions/runs/4286381496/jobs/7465880646

/test-force-approve

/test

/test-force-approve


Implement application.broadcastToClients

This will allow to easily send an event to all of the clients on each
worker of this application.

@tshemsedinov there seems to be quite a bit of changes for that, I think it'd be better to do that in a separate PR, wdyt?

Landed in https://github.com/metarhia/impress/commit/fae083bbdfb7429360eb8c8636bff03737404f0b https://github.com/metarhia/impress/commit/a411f4f1a779ca49c4fc1a579815b0ad2765c0ef https://github.com/metarhia/impress/commit/221652251162da460757077703e1d10cf28cc29d


Initial commit of schema + UI changes (incl. cleaned outputs)

Created initial JSON schema file
Updated CCSW UI outputs to align with expected user behavior and to remove ambiguity
Updated Bicep files to align with UI output changes
Updated Python parameters script to align with UI output changes

Eagerly awaiting feedback :)

Keeping branch around for reference for the time being. Current plan is to use internal validation in bicep along with changes to UI definition file outputs.


Service is not registered after deployment on virtual machine

Expected Behavior
Eureka Server should show the instance to be UP after deployment.
Actual Behavior
Instance was registered DOWN and disappear from the Eureka Server
Steps to Reproduce the Problem

Deploy the microservice to a virtual machine with IIS
The Eureka show

2019-11-14 06:20:21.238  INFO 5132 --- [nio-8761-exec-7] c.n.e.registry.AbstractInstanceRegistry  : Registered instance AUTHENTICATIONSERVICE/AppService2:AuthenticationService:80 with status DOWN (replication=true)
2019-11-14 06:20:21.238  INFO 5132 --- [nio-8761-exec-7] c.n.e.registry.AbstractInstanceRegistry  : Cancelled instance AUTHENTICATIONSERVICE/AppService2:AuthenticationService:80 (replication=true)

The service is start in IIS but didn't registered with Eureka unless MANUALLY browse the service in browser.

Is this behaviour normal?
Or the service should re-registered with Eureka once it finished deployment?
@catcherwong
Thanks for the help

We are not DevOps team!


Update StoreHelper and StoreHelperDemo for Xcode14, iOS16, macOS13 and tvOS16

tvOS support stubs removed due to on-going issues in tvOS


Implement LifecycleService in MediaSessionService and DownloadService

LifecycleOwner is a lifecycle aware option for Services.  There is a base class LifecycleService which manages this, or you can implement LifecycleOwner and use ServiceLifecycleDispatcher
See https://developer.android.com/reference/androidx/lifecycle/LifecycleService https://developer.android.com/reference/androidx/lifecycle/ServiceLifecycleDispatcher
and https://www.daniweb.com/programming/mobile-development/tutorials/537446/android-native-how-to-implement-lifecycleowner-in-a-service

Can you briefly educate me in how you would use the MediaSessionService in you app or library when it is lifecycle aware and dispatches the events accordingly?
I'm asking because onCreate/onDestroy is fairly simple in a service. What events are you interested in and what is depending on these? How would a media library service developer use the bind/start events?

You can get a CoroutineScope for the current component (Service, Activity) such as
https://github.com/google/horologist/blob/10fb61ff97458dbbe004039eca2f94a320ac69da/media-sample/src/main/java/com/google/android/horologist/mediasample/di/PlaybackServiceModule.kt#L202-L208
Also instead of hardcoding events in onCreate, onDestroy - you can attach them to the lifecycle
https://github.com/google/horologist/blob/10fb61ff97458dbbe004039eca2f94a320ac69da/media-sample/src/main/java/com/google/android/horologist/mediasample/di/PlaybackServiceModule.kt#L266-L273
Both really helpful when you have something like Hilt that means you create instances inside your DI modules, instead of directly in the Service implementation.

If you follow the lead of Activities, the typical baseclass in a compose app is now
public class ComponentActivity extends androidx.core.app.ComponentActivity implements
        ContextAware,
        LifecycleOwner,
        ViewModelStoreOwner,
        ...

So this is basically adopting the same approach here.

I think unfortunately there's always going to need to be a class cast in the Dependency Injection module here even if media3 provides an out of the box implementation of the LifecycleOwner, since Hilt's Service scoping only provides the platform Service class, not a LifecycleService.
It would also force the media3 libraries to expose the lifecycle components library to consumers, so I wonder if there's a way to do it in a composable way? Or through a custom listener for when the service is destroyed, similar to how a ViewModelScoped component in Hilt gets a listener binding for when the ViewModel is cleared.
I agree that this would be useful as I'm also looking at keeping the direct Service overriding code minimal and instead building/providing the dependencies to the Service as part of Dependency Injection and scoping things to the Service lifecycle from there

Any news?


Files extension issue with images and audio

I wanted to make a extension that goes with the files extension.
Basically you can use the open file reporter block to open a image or sound, and have it be applied to the current editing target. Issue is that the block doesn't return image data, it returns a string.
A check for the extension of the file, and the type of data it sends would be nice, since having 2 extensions with different ways of opening files would be really messy.
If that's not something that you wanna do or can't do because of some kind of limitations, a way for me to add that in my extension is appreciated.

for sounds, maybe you could convert it into a data url and play it with the sounds extension?

for sounds, maybe you could convert it into a data url and play it with the sounds extension?

I have some blocks that can load sounds and sprites from a link in my utils extension, but I tried to make a data url to do what I just said, and it just doesn't work. It's not a valid link, even tho the code executes with no errors or warnings.

This is now possible as https://github.com/TurboWarp/extensions/pull/173 was merged


FEATURE - Add writer to add inbound navigation configuration to ui5 app

Description
Add a writer that can be used to add inbound and outbound intents to existing application. Can be utilised from existing app writers (fe/ff) also.
Add to existing @sap-ux/app-config-writer module. Can be called using in-mem file system ref or can act directly on a manifest.json using the application path.
The call to generate will take 6 args:
appPath - string,
actionName - string,
semanticObjectName - string,
title - string,
subtitle - string,
overwrite - optional, default false
fs optional
Adds the following to the manifest.json.
"crossNavigation": {
            "inbounds": {
                "<semanticObject>-<action>": {
                    "signature": {
                        "parameters": {},
                        "additionalParameters": "allowed"
                    },
                    "semanticObject": "<semanticObjectName>",
                    "action": "<actionName>",
                    "title": "title",
                    "subTitle": "subtitle"
                }
            }
        }

i18n entries for title, subtitle will not be added to translations file as this is done by the fe/ff writing process or standalone Fiori tools flp-config generator and is not strictly an application configuration. Pass the string in the form {{value}} for replacement by i18n value at runtime.
Add CLI support similar to https://github.com/SAP/open-ux-tools/blob/main/packages/create/src/cli/add/smartlinks-config.ts
Will error if:

Any inbound entry already exists and overwrite is not passed or false.
App path is not found or manifest is not found or cannot be parsed

Technical Design
Enhance @sap-ux/app-config-writer with new api.
Acceptance Criteria
Notes
Tasks

[ ] Add generate api function to add inbound
[ ] Add prompts to allow CLI addition using @sap/create
[ ] Unit Tests added
[ ] Test Cases defined

The writer module needs to provide prompts to gather the config object, that is then used to write the config. See
https://github.com/SAP/open-ux-tools/blob/1ea819d0c11b00505095241b67598eaecf8df31f/packages/create/src/cli/add/mockserver-config.ts#L57-L61


mysql(ticdc): consider collation when build the causality key

What problem does this PR solve?

Issue Number: close #9533
What is changed and how it works?
Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)
No code

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
`None`

/run-check-issue-triage-complete

can we use sqlmodel library? In future we will implement more features

can we use sqlmodel library? In future we will implement more features

It's better if TiCDC and DM can share the same library.

/test verify

/test cdc-integration-kafka-test

/test cdc-integration-kafka-test

/cherry-pick release-6.5

/cherry-pick release-7.1


Feature Request Phone Auth

Hello
i'd like to ask if you can add Phone Auth from firebase
it's very  useful for auth
thank you

I'll get on it 👍


waitForSelector not working as intended?

Steps to reproduce
This is tested on a React App.
  await page.click(sel('sign-in'))
 // ↑ screen transition
  await page.waitForSelector(sel('main-dashboard'), { timeout: 1000 })
 // **without timeout: 1000 it crashes** I can use that or `page.waitFor(1000)`
  await page.waitForSelector(sel('btn-projects'))
  await page.click(sel('btn-projects'))
  await page.waitForSelector(sel('btn-create-project'))
 // ↑ opens modal
  await page.click(sel('btn-create-project'))
  await page.waitForSelector(sel('input-project-name'))
  await page.type(sel('input-project-name'), 'test-project')
  await page.waitForSelector(sel('btn-project-submit'))
  await page.click(sel('btn-project-submit'))
 // ↑ makes a request and closes modal
  await page.waitForSelector(sel('test-project'), { timeout: 1000 })
// ↑ **does not work. I have to use await page.waitFor(250)** the created item would show up on the dashboard
  await page.click(sel('test-project'))

I'm not sure if this is a bug or not but I think it relates to #2192
Why does await page.waitForSelector(sel('main-dashboard'), { timeout: 1000 })  work when
  await page.waitForSelector(sel('test-project'), { timeout: 1000 }) does not.
Response from the server can take time, which is why I added the timeout: 1000.
With await page.waitForSelector(sel('test-project'), { timeout: 1000 }) it does not matter how much time I give it, it wouldn't work unless I use page.waitFor(250)
The page.waitForNavigation method doesn't work on it either.
Sometimes requests take longer, and I will have to increase the time interval to page.waitFor
Right now, whenever a await page.waitForSelector does not work, I add page.waitFor(250) right about it to quick patch it. If 250 crashes, I add 500, or 1000 and so forth, which seems kinda hacky. Is there a better way of handling it?
Expected Result
After await page.click(sel('btn-project-submit')), the tests should continue to run
Actual Result
After await page.click(sel('btn-project-submit')), it does show the POST request in the server log and then hangs. Puppeteer with Jest then just returns the typical Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout.
Tell us about your environment:

Puppeteer version: 1.4
Platform / OS version: Mac
Node.js version: 8.10

After await page.click(sel('btn-project-submit')), it does show the POST request in the server log and then hangs. Puppeteer with Jest then just returns the typical Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout.

@chantlong it looks like some long process is taking place once you hit a button. If you think 5 seconds is not enough to run the test, you can bump jest timeout up to 10 seconds (or any other number that you're comfortable with).

Sometimes requests take longer, and I will have to increase the time interval to page.waitFor

You don't really need to use the page.waitFor once you have a timeout.
NOTE Timeouts are specified in milliseconds; so timeout: 1000 is just a single second. From what you've described your server occasionally takes more then 5 seconds to complete.
I hope this helps.

@aslushnikov Thanks but can you please clarify on...
Why does await page.waitForSelector(sel('main-dashboard'), { timeout: 1000 }) work when
await page.waitForSelector(sel('test-project'), { timeout: 1000 }) does not.
Response from the server can take time, which is why I added the timeout: 1000.
With await page.waitForSelector(sel('test-project'), { timeout: 1000 }) it does not matter how much time I give it, it wouldn't work unless I use page.waitFor(250)
The page.waitForNavigation method doesn't work on it either.

Sometimes requests take longer, and I will have to increase the time interval to page.waitFor
Right now, whenever a await page.waitForSelector does not work, I add page.waitFor(250) right about it to quick patch it. If 250 crashes, I add 500, or 1000 and so forth, which seems kinda hacky. Is there a better way of handling it?

The timeout: 5000  doesn't make sense when page.waitFor(250) solves the problem.

The timeout: 5000 doesn't solve the problem. page.waitFor(250) solves the problem.

@chantlong yeah, I don't have any explanation for this. Do you have a minimalistic repro I can locally to play with?

@aslushnikov Let me get back to you on that matter.

await page.waitForSelector doesn't work for me at all. I've launched in headless false mode, I can SEE the element. And yet, await page.waitForSelector throws a non found error.

@aslushnikov Thanks but can you please clarify on...

With await page.waitForSelector(sel('test-project'), { timeout: 1000 }) it does not matter how much time I give it, it wouldn't work unless I use page.waitFor(250)
The page.waitForNavigation method doesn't work on it either.

Sometimes requests take longer, and I will have to increase the time interval to page.waitFor
Right now, whenever a await page.waitForSelector does not work, I add page.waitFor(250) right about it to quick patch it. If 250 crashes, I add 500, or 1000 and so forth, which seems kinda hacky. Is there a better way of handling it?

The timeout: 5000 doesn't solve the problem. page.waitFor(250) solves the problem.

Quick note: for the waitFor is replaced by waitForTimeout from version 7.0.0 and will be deprecated in future releases


Molecule Property Analysis using GNN

The model uses Graph Neural Networks (GNNs) to predict molecular properties based on the molecular structure. It incorporates GINEConv and GATV2Conv layers to effectively learn from atomic and bond features.
Fixes #911

@Niketkumardheeryan  @invigorzz313
Please review and provide feedback.


fix: resolve n-input-number hold click event bug, change firstAddMous…

Fixes  this issue

Apologies if you're already resolving this, just thought to try and help out. However, should I add the onmouseLeave events for the buttons as I mentioned in the above comment too? (Thought it would be best to create separate prs for this, as I'm not sure this is how you would like it to be implemented on the n-input-number.)

Fixes this issue
Apologies if you're already resolving this, just thought to try and help out. However, should I add the onmouseLeave events for the buttons as I mentioned in the above comment too? (Thought it would be best to create separate prs for this, as I'm not sure this is how you would like it to be implemented on the n-input-number.)

I think it's unneccessary to add mouseleave event to button, since for a normal native html button, it's in active state as long as you hold the mouse button even if your mouse has left the button.


Integrate HdfsScanNode to pipeline execution engine

What type of PR is this：

[ ] bug
[ ] feature
[x] enhancement
[ ] others

Which issues of this PR fixes ：
Problem Summary(Required) ：
This PR is trying to port HdfsScanNode to pipeline execution engine, including:

HdfsScanOperator and
HdfsChunkSource

Passed tests:

tpch 100g orc
ssb 1T orc/parquet

run starrocks_fe_unittest

run starrocks_be_unittest

run starrocks_fe_unittest

[FE PR Coverage check]
:disappointed: fail : 0 / 1 (00.00%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/planner/HdfsScanNode.java
0
1
00.00%

run starrocks_be_unittest

[BE PR Coverage check]
:heart_eyes: pass : 0 / 0 (0%)


Validate email address

Only allow valid emails to be submitted on the registration form (currently accepts any string)
Perhaps /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ ?

Done


Add Microosoft's Sysinternals ZoomIt and BgInfo to Microsoft PowerToys

Summary of the new feature/enhancement
Useful tools that many Windows developers, testers and sysadmins install are Microsoft (aka Mark Russinovich's) Sysinternals BgInfo and ZoomIt (and Microsoft Garage Mouse without Borders).  Please add BgInfo and ZoomIt to Microsoft PowerToys so they can be conveniently installed, discovered, and enhanced.  BgInfo is great for remote desktop scenarios when managing many Windows servers, ZoomIt is super usefully when doing a code, UI, spreadsheet or (Visio) drawing peer reviews.  Especially useful is ZoomIt's quick hotkeys, screen pen inking and shapes drawing features.
ZoomIt
BgInfo
Proposed technical implementation details (optional)
N/A

I love ZoomIt, but I don't love that it is from 2006. And I don't love the idea of running both PowerToys and ZoomIt - my notification area ("tray") is busy enough as it is!
I feel like this would be a great addition if it were re-imagined for Win10 and brought into the PowerToys family.
What is the likelihood that we could have ZoomIt functionality in a future PowerToys release?

variant of #149

Question for this, is the ask to have it bundled or is the ask here to add new functionality?

Both. To add new functionality and have a convient way to deploy both application.  For example, BgInfo and ZoomIt would be good to have builtin to the Windows OS but if that is not possible PowerToys would a convenient way to get them easily installed, especially for developer/power-user senerios. ZoomIt can be enhanced with new gestures, pointers, stamps, pen, ruler support, and fix any issues with a few keyboard shortcuts. BgInfo can be extented to add additional metadata, such as GPU type, TPM type, new refresh rates, dark themes, etc. Thank you and the community for doing such  great job on this.  PowerToys is super useful!
Sent from my T-Mobile 4G LTE Device
Get Outlook for Androidhttps://aka.ms/ghei36

From: Clint Rutkas<EMAIL_ADDRESS>Sent: Wednesday, March 3, 2021 11:56:48 AM
To: microsoft/PowerToys<EMAIL_ADDRESS>Cc: Mark Orlassino<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [microsoft/PowerToys] Add Microosoft's Sysinternals ZoomIt and BgInfo to Microsoft PowerToys (#3096)
Question for this, is the ask to have it bundled or is the ask here to add new functionality?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/PowerToys/issues/3096#issuecomment-789875966, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAGZ2AUFG4GC4V5DANHJ6NDTBZS5BANCNFSM4NDM4WCQ.

it should call presentation tools, and i suggest to add eraser and mouse hover and keyboard press key to this tools.
it should better have hiding drawing.

i'm going to /dup #149 as this is a subset


pg pool integration

awesome package.
Quick question about integration with pg-pool... This definitely returned results into results.rows, but I want to make sure there are no caveats if I adopt this method.
const PgPool  = require('pg-pool');
const PgNamed = require('node-postgres-named');
const config  = {...}

var pool = PgPool(config);

PgNamed.patch(pool);

pool.query('SELECT * FROM users WHERE email = $email AND active = $active;', { email<EMAIL_ADDRESS>active: 1 }, (err, results) => {

  console.log(results.rows);

});

Any thoughts?

Curious about this @jordanarseno any feedback?

@vroudge It has worked fine for me since without noticable caveats, but I cannot say with confidence there aren't any. By the way @vroudge, I ES6-ified this repo if that interests you @ https://github.com/jordanarseno/node-postgres-named

Already got the ES6 part handled myself 👍
Alright, in prod straight away. Thanks!


added module tests and bug fixes

Lan tests are passing, but the internet ones are not.

Lan tests are passing, but the internet ones are not.
[2020:12:04 04:24:05][NETWORKING][INFO]Cannot connect to the intermediate serverjava.net.ConnectException: Connection refused (Connection refused)

Server should be running the server code while running the tests


MAINT, REL: prepare for SciPy 1.5.1

bump maintenance branch version to
1.5.1 unreleased, along with associated
file changes/additions, just in case
this patch release will be needed eventually

Something messy is happening with NumPy pre-wheels

Ok, this backport PR has been updated, and fingers crossed on the CI.
Primary motivation for 1.5.1 is resolution of #12400, which appears to now be confirmed in https://github.com/pytorch/pytorch/pull/40975 after a series of recent patches in main + wheels repo.

The only remaining CI failure is Travis ARM64 test_lgmres.py:109: in test_arnoldi, and this has been observed to fail sporadically in master branch CI recently: https://github.com/scipy/scipy/pull/10504#issuecomment-644347862
So, merging


Adding the small screen fonts view and changing vote rank

Well detailed description of the change :

 I worked on the changing the position of the icons on small screens and also I changed the vote rank so if it is 0 it does not say - 0

Context of the change :

 - Why is this change required ?

Does it solve a problem ? (please link the issue)

Type of change :

[ ] Bug fix

[ ] New feature

[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Preview (Screenshots) :

If it is possible, please link screenshots of your changes preview !

Checklist:

[ ] I have read the CONTRIBUTING document.
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] All new and existing tests passed.

Reviewers
@PraveenMalethia

@PraveenMalethia I dont know if I changed the vote rank to not say -0 the correct way. There might be a simpler way but this works.


(DO NOT MERGE) (PUP-4194) Set logdir permissions to 0755

Previously, if you only installed puppet-agent, but not
puppetserver, then executing puppet agent or puppet apply would
set permissions of its $logdir to root:root and mode 0750.
Debug: /File[/var/log/puppetlabs]/mode: mode changed '0755' to '0750'

If you then installed puppetserver as root, the package would create the
puppet user and group, create a $logdir/puppetserver directory, and
set its permissions to puppet:puppet with mode 0700.
However, the puppetserver could not start, because it starts as
as puppet and could not write to its log file, as it doesn't have
permssion to traverse the grandparent $logdir. Note, the JVM based
puppetserver does not have the ability to start as root and switch uids
like ruby/webrick can.
This commit modifies puppet to manage its :logdir with mode 0755,
which is consistent with puppet-agent packaging. It is ok to
relax permissions on this directory, because puppet normally writes
to syslog. It is theoretically possible for puppet to write to its
:puppetdlog instead, but in practice this never happens, and even
if it did, puppet would set its mode to 0640.
The only other log that puppet writes to :logdir is when running
webrick. But puppet manages the webrick log file :masterhttplog with
mode 0660.

See note https://tickets.puppetlabs.com/browse/PUP-4194?focusedCommentId=149909&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-149909

CLA signed by all contributors.

Decided to handle this differently


Add a note to say that dependencies between workspace members are editable

Just a small note to say that dependencies between workspace members are editable as shown in #9362
(This might be obvious since if dependencies between workspaces members are not editable then every time a workspace member is update it has to be manually reinstalled but since it's in the concepts documentation and since I see a lot of issues about workspaces, that little note might help newcomers a little bit)

Thanks! Sorry for the delay.


Attiny85/Digispark Support?

Hi
(not a bug, feel free to close without notice)
I wanted to recreate a Nokilino with a Attiny85/Digispark. Unfortunately, I fail because of the used Libraries (EEPROM.h and SoftwareSerial.h). Am I doing something wrong or would the code have to be adapted for this?
(DigisparkSoftSerial does not work for me)

Hi!
I will have a look soon.

Hello again,
i made a Digispark version:

SoftwareSerial.h is called SortSerial.h.
EEPROM.h is working but not included in the Digispark package, i don't now why... Now it is included in the src/ folder.
analogRead(A2) is now analogRead(2)
Alas, battery warning is not working, Attiny is not good implemented in the package.

Hopefully it is working, i can't test it by myself, i don't have a Digispark module. Be sure to set the clock to 8 MHz or JQ6500 may have problems.
Good luck!

Thank you very much. I have here a "screaming" JQ8400-FL-10P which is connected to a Digispark. (Power via USB, all "eeprom_write_word" code commented out).
The code for the JQ6500 compiles correctly. The code for the JQ8400 unfortunately not.
Code: https://github.com/NikolaiRadke/Nokolino_pcb/tree/master/src/Nokolino_V31
Error:
C:\~\Nokolino_Digispark2.ino.ino: In function 'int main()':
Nokolino_Digispark2.ino:125:34: error: invalid conversion from 'uint16_t {aka unsigned int}' to 'uint16_t* {aka unsigned int*}' [-fpermissive]
       eeprom_write_word(address,0);    // Write seed 0
                                  ^
In file included from C:\~\libraries\EEPROM/EEPROM.h:25:0,
                 from C:\~\Nokolino_Digispark2.ino\Nokolino_Digispark2.ino.ino:26:
c:\~\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\eeprom.h:689:6: error:   initializing argument 1 of 'void __eewr_word_tn85(uint16_t*, uint16_t)' [-fpermissive]
 void eeprom_write_word (uint16_t *__p, uint16_t __value);
      ^
Nokolino_Digispark2.ino:127:34: error: invalid conversion from 'uint16_t {aka unsigned int}' to 'const uint16_t* {aka const unsigned int*}' [-fpermissive]
     seed=eeprom_read_word(address);    // Read seed
                                  ^
In file included from C:\~\Arduino\libraries\EEPROM/EEPROM.h:25:0,
                 from C:\~\Arduino\Nokolino V2.1 Digispark\Nokolino_Digispark\Nokolino_Digispark2.ino\Nokolino_Digispark2.ino.ino:26:
c:\~\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\eeprom.h:662:10: error:   initializing argument 1 of 'uint16_t __eerd_word_tn85(const uint16_t*)' [-fpermissive]
 uint16_t eeprom_read_word (const uint16_t *__p) __ATTR_PURE__;
          ^
Nokolino_Digispark2.ino:135:35: error: invalid conversion from 'uint16_t {aka unsigned int}' to 'uint16_t* {aka unsigned int*}' [-fpermissive]
     eeprom_write_word(address,seed);   // Save new seed for next startup
                                   ^
In file included from C:\~\Arduino\libraries\EEPROM/EEPROM.h:25:0,
                 from C:\~\Arduino\Nokolino V2.1 Digispark\Nokolino_Digispark\Nokolino_Digispark2.ino\Nokolino_Digispark2.ino.ino:26:
c:\~\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\eeprom.h:689:6: error:   initializing argument 1 of 'void __eewr_word_tn85(uint16_t*, uint16_t)' [-fpermissive]
 void eeprom_write_word (uint16_t *__p, uint16_t __value);
      ^
Multiple libraries were found for "SoftSerial.h"
 Used: C:\~\Arduino\libraries\DigisparkSoftSerial
 Not used: C:\~\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\DigisparkSoftSerial
Multiple libraries were found for "TinyPinChange.h"
 Used: C:\~\libraries\DigisparkTinyPinChange
 Not used: C:\~\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\DigisparkTinyPinChange
exit status 1
invalid conversion from 'uint16_t {aka unsigned int}' to 'uint16_t* {aka unsigned int*}' [-fpermissive]

I added a JQ8400 version here:
https://github.com/NikolaiRadke/Nokolino_pcb/tree/master/src
Can you guess the time interval between the random talking? Maybe you should flash the bootloader to set the Attiny85 to  8 MHz.

The time intervals are mostly correct. The chip programmed with the correct settings (8mhz no USB). But the button does not work correctly. At most, no pressing is detected.

I see. the hardware close programming to save flash space may cause problems with the digispark package. Now the button is questioned by standard Arduino code. Give it a try.


Status lines cursor issue

When the cursor is at the end of the text for a line within any of the categories (staged, unstaged, stashes etc) the hotkeys don't work, and require me to move the cursor one or more characters into the text.
This worked fine before, something must have messed it up.

This commit on master was supose to fix it. Can you check if you have this commit.
Maybe duplicate of #414.

Probably fixes it, I'm using the latest tag.

Ok, than it will be fixed in next release. We are planing to make a new release soon.


Change JavaVersion to a normal class

In order to prevent blocking usage of new Java versions because the JavaVersion cannot exhaustively list all upcoming Java versions, it should be changed to an interface or class and allow specifying a Java version using only an int, like with JavaLanguageVersion. Perhaps we even deprecate one for the other, since there does not seem to be much reason to keeping them separate.

After investigation, we have decided that there are too many issues with this to do it in 8.0. The two options going forward are:

Do this change, but with bytecode rewriting in plugins / third-party libraries bundled with Gradle

Bytecode rewriting is necessary to prevent issues with Kotlin where it tries to cast JavaVersion as an Enum, which will fail with this change

Add a new type, perhaps org.gradle.api.jvm.JavaVersion, which will replace JavaVersion and JavaLanguageVersion.

This would allow the normal incubating->de-incbuate+deprecate old->remove old cycle, which is more normalized. However, it would also create another hard barrier where the type and API differs vastly between Gradle versions, in a very core API. It may be prudent to have bytecode rewriting for this as well.
This change could feasibly be started in 8.1 RC1.


add tests for syntax

Type of changes

[ ] Bug fix
[ ] New feature
[ ] Documentation / docstrings
[x] Tests
[ ] Other

Checklist

[x] I've run the latest black with default args on new code.
[ ] I've updated CHANGELOG.md and CONTRIBUTORS.md where appropriate.
[x] I've added tests for new code.
[x] I accept that @willmcgugan may be pedantic in the code review.

Description
#37 Added more test for syntax.py. Please review.

@willmcgugan , Got syntax.py and pretty.py to 100%. Please review 🥇

Fantastic. Thanks!


Add minecraft chart to incubator.

Surprise!

@k8s-bot ok to test

Any chance in a NOTES.txt? Some short next steps for connecting to the Minecraft server (e.g. getting the IP address) and a warning if the EULA is set to false would be great.

Sure. I just realized that NOTES.txt was a thing. That looks like a good idea.

@chrislovecnm Thanks for the review. I'm not 100% sure which of the above are just questions/suggestions vs blockers for merging to incubator. Maybe that'll be more apparent after reading my responses.
As a sidenote, do we have any kind of style guide that I'm missing? I feel like I'm being really arbitrary with my capitalization and even some of the value organization. Some charts use a flat structure, others use something more nested like I am. Some use dropCase, others use CamelCase.

@gtaylor looks great. I would ask that we break up request and resource limits.
We need to write recommended best practices / standards for this darn repo. There is an issue open.

For best practices please send PRs here:
https://github.com/kubernetes/charts/blob/master/CONTRIBUTING.md#technical-requirements
If it is not yet listed there we shouldnt be blocking PRs from making it in.

@viglesiance agreed

Some re-jiggering in fixup commits above. I've lowercased all of the values, since that's going to look better for using the nifty toYaml thing in the deployment (k8s manifests are lowercase). I've also added a NOTES.txt and adjusted the starting memory to 512 MB. This is workable for 1-3 players.

@k8s-bot ok to test

Squashed!

TLDR; lgtm!
My only concern in moving this to stable is the EULA requirement breaks the following requirement:

Must successfully launch with default values (helm install .)
All pods go to the running state
All services have at least one endpoint

from CONTRIBUTING.md.
However, given the NOTES.txt appropriately warns about this, and it's reasonable to require a EULA, I'm okay with this going into stable.
Just wanted to point it out, since this could cause issues when the CI does more functional testing of Charts.

You could make an if block around the deployment when the EULA is set to false, then you wouldnt deploy it at all and the NOTES could further note that you dont even have it deployed yet.

You could make an if block around the deployment when the EULA is set to false, then you wouldnt deploy it at all and the NOTES could further note that you dont even have it deployed yet.

Actually this is an interesting idea. Then, the command to add the deployment could simply be helm upgrade <release> --set minecraftServer.eula=true. Actually, this command should also work for the current case too.

@prydonius I think I got everything addressed in the fixup commits.

@prydonius I think I got everything addressed in the fixup commits.

I've been doing upgrades to the same version over the last few days and havent hit any issues.

@prydonius Added the link to README.md and updated NOTES.txt as suggested.

@gtaylor lgtm, great work :)!


SPFX Extension - Subsite link override - Modern Experience

Category

[ ] Question

In classic experience, we are redirecting the users to a provider hosted site request form instead of out of the box site request page(/_layouts/15/newsbweb.aspx) using custom action. We are trying to create a SPFX Application Customizer to replace this functionality by getting the Subsite button element by name and attaching a click event which will redirect the users to the provider hosted site request form. But the logic is not 100% working as there is delay in rendering the dropdown values on new button click.
What is the right way to execute the code within the onInit method after the complete page load so that we can access the commandbar with class name CommandBarItem-link?

@PaoloPia @waldekmastykarz - Any suggestions?

I don't think there is. The whole idea behind SPFx is that we don't do DOM manipulation because it's unreliable. I'd suggest you submit a UserVoice entry (assuming there isn't one already) that clearly describes your use case.

Thank you @waldekmastykarz
Done - https://sharepoint.uservoice.com/forums/329220-sharepoint-dev-platform/suggestions/32539840-sharepoint-framework-extension


Uncaught Error: Cannot find module './../tools/settings'

[Enter steps to reproduce below:]

...
...


Fix windows GHA

This Pullrequest tries to fix our GitHub actions by making them a bit more resilient.

Use PowerShell by default (the windows default).
Use msys2, ghcup, ... that already come with the base windows image.
Do not rely on msys2 as much as we can.
Try not to cross the toolchains much (stock windows / msys2-mingw64), by isolating it's use, or trusting ghcup to run stuff for us.
Externalise building libsecp256k1. (We should ultimately cache just that thing, or even better pull a static pre-built version of this. It costs 4min for each commit!).
Drop the typed-protocols test pattern. That seems to fail because there is no test that could match. (The test seems to have been moved?)
Add tmate.io for debugging on failure

Thanks a lot for looking into that @angerman :pray::exclamation:

Thanks a lot for looking into that @angerman 🙏❗

It's busted across all repos 😱

If this now finally works, we'll need this in network as well!

Thanks, great to have working GHA Windows CI again 🎉

If this now finally works, we'll need this in network as well!

I guess you mean node instead of network 😄

Yes, node. Sorry brain was fried after a day looking at windows failures.

I think there's still a bug in the windows caching logic. But we can address that in a separate PR.


rrdcached

Is rrdcached supported?

@faxm0dem Hello 👋
No. In my understanding, rrdcached works when writing RRD data. grafana-rrd-server is a server that only reads RRD files and doesn't support writing.

No, rrdcached can also be used for reading.
I tried setting the RRDCACHED_ADDRESS environment variable, but it doesn't seem the library you're using is rrdcached aware (I might be wrong I didn't push my tests very far)

@faxm0dem Oh, I didn't know that but that makes sense. I'll keep this issue open and am going to investigate. Thank you!

Hi, I am also interested in this feature

Hi,
You can send a FLUSH command with the full (or relative) PATH to the RRDCache Socket, before reading the RRD File.
Best regards,

Hi,
thanks for grafana-rrd-server!
Would it be possible to list the label of each rrd? For example in Icinga rrd the format listed is host:service:x, where x is the number of ds. It'll be nice if the label will be instead of the ds number.
Best regards

@sjosean please open a new issue this has nothing to do with it