gRPC Name Resolution docs invalid example template string

The template for the URL is given as dns:[//authority/]host[:port] - however, in reality it's dns:[//authority]/host[:port] - because the /host is actually treated as URL path part internally, see e.g. https://github.com/grpc/grpc-java/blob/master/core/src/main/java/io/grpc/internal/DnsNameResolverProvider.java#L56 :
Preconditions.checkArgument(targetPath.startsWith("/"),
          "the path component (%s) of the target (%s) must start with '/'", targetPath, targetUri);

Experiments with grpc-java show that both dns:///foobar and dns:/foobar are OK, while dns:foobar is not, which confirms the above (i.e. doc mistake).

The doc is correct.  According to RFC-3986, dns:host is a valid URI.
I believe the issue here is that Java's URI parser implementation is too picky.  I seem to recall @ejona86 telling me that this is because it implements an older version of the URI spec that predates RFC-3986.  I'm not sure how easy this is to fix in grpc-java -- maybe there's an RFC-3986-compliant URI parser library available for Java that it could use instead?  I suggest you file an issue on the grpc/grpc-java repo if you want them to fix this.

Oh, sorry -- I misread the description.  I thought it was saying that dns:/host was okay but dns:host was not, whereas it's actually saying the opposite.
At the end of the day, I don't think I care too much whether dns:/host works, because it's not really the normal way that you would expect to write this kind of URI; the slash is really useful only when the URI includes an authority.  But that having been said, I would argue from a technical perspective that the C-core behavior is correct here.  Semantically, what we're doing is (1) parsing the URI as per RFC-3986 and then (2) evaluating the path part of the URI as a name to resolve in DNS.  Step (2) has to strip off the leading slash from the path, because that behavior is required for a URI of the form dns://authority/host.  And step (2) is done outside of the URI parser and therefore really shouldn't know or care whether the URI had an authority.
Note that we would have to actually go out of our way to avoid stripping off the leading slash in the dns:/host case.  And it wouldn't be sufficient to just check that the URI's authority is empty, because we would want to strip the slash for a URI like dns:///host.  We'd probably have to change our URI parser itself to differentiate between the case where the URI is empty vs. not present.  I don't think it's worth adding that complexity just to disallow something that is semantically fine, even if it is a bit weird.
I don't think this case is important enough to force Java to do the same thing.  But I do think the C-core behavior makes the most sense.

@markdroth my 5c: I do agree that dns:///foobar is awkward, as well as dns:/foobar, and that both are confusing to many people (based on both my work colleagues and internet queries). I also do agree that there is no hard requirement for grpc-java and grpc-c to be strictly aligned on the DNS URL format they accept - although I'd argue they should, because with two official reference implementation differing on something like this, people will be confused.
In any case, the docs should be updated to at least mention this. ATM, they aren't reflecting the de facto official (and perhaps most used) implementation, so they are wrong. https://grpc.github.io/grpc/core/md_doc_naming.html doesn't mention "this information applies only to C gRPC implementation", it's not even aligned with https://grpc.io/docs/guides/custom-name-resolution/ , which furthers the confusion here.
As an aside,

I don't think this case is important enough to force Java to do the same thing.

how should we proceed then? Just ignore the fact that we have two de facto official standards used but only one is documented in the core?

@ejona86 are there any practical problems that would be associated in making the gRPC-Java parsing of the URLs more relaxed to allow dns:host syntax? (dns://host is obviously more problematic, but also reasonable IMO)

I thought it was saying that dns:/host was okay but dns:host was not, whereas it's actually saying the opposite.

No, it is dns:/host works, but not dns:host. Java has never had any plan to support the dns:host. We accept C does it and Java doesn't and users are best off using dns:///host or dns:/host. The documentation referenced was written in a weak way on purpose because we didn't agree.

@ejona86 wouldn't that imply that the "common" definition should be as conservative as possible, i.e. dns:[//authority]/host[:port] - because that's supported both by C and by Java if I understand correctly?

@ejona86 I don't think it makes any sense at all to not support dns:host.  If you support dns:/host but not dns:host, you are saying that the slash is required in the path, which makes no sense, since the slash is not useful to begin with.  The only reason it's ever there is because it's a required separator in the case where the URI includes an authority.  I think it's very clearly an optional part that should be ignored if present but not required.
It's worth noting that while RFC-3986 allows both dns:name and dns:/name, RFC-4501 says that the spec is dns:[//authority/]name, which means that dns:name is valid but dns:/name is not.  I think it's clear that dns:/name is a weird edge case that C-core happens to accept but that is arguably not intended.  I don't think there is any reasonable reading of these RFCs that says that dns:name is not okay.
I think our spec is correct as-is, and I consider it a bug that grpc-java does not support dns:name.
@FyiurAmron I don't see anything in https://grpc.io/docs/guides/custom-name-resolution/ that conflicts with the naming spec.

Hm. It's as @markdroth says, the RFC-4501 dns spec is explicit about it, dns:[//authority/]domain[?CLASS=class;TYPE=type] . However, if we assume that's our source of truth (and I'd say it's the best normative source we can reasonably expect to get), then saying "These target strings follow the format for RFC-3986 URIs" is even more misleading. Which RFC should and could be normative here then? If we assume the grpc.io docs are right by saying "RFC-3986", then 1. dns:name should probably be allowed by gRPC-Java as valid, although dns:/name would still remain valid, and 2. md_doc_naming should thus document dns:/name as valid. If we assume the docs are wrong and it's RFC-4501, then grpc.io should just say so, and then dns:/name should be invalid in gRPC-Java and dns:name would need to be supported in gRPC-Java to be up to spec.
The examples given in the RFC-4501 are completely explicit about it:
  dns:www.example.org
  dns://<IP_ADDRESS>/ftp.example.org?type=A

Etc.

Please correct me if I'm wrong, but this is what I was able to piece together:
== valid dns syntax according to ==
= RFC-3986 =
dns:foo
dns://bar/foo
dns:///foo
dns:/foo
= RFC-4501 =
dns:foo
dns://bar/foo
= gRPC core =
dns:foo
dns://bar/foo
= gRPC.io =
dns:foo
dns://bar/foo
dns:///foo
= gRPC-C =
dns:foo
dns://bar/foo
dns:///foo
dns:/foo
= gRPC-Java =
dns://bar/foo
dns:///foo
dns:/foo

I don't actually think there's any real conflict between RFC-3986 and RFC-4501.  RFC-3986 defines a general-purpose URI syntax, which individual URI schemes can refine, as per RFC-3986 section 1.1.1:

This specification defines those elements of the URI syntax that are required of all URI schemes or are common to many URI schemes.  It thus defines the syntax and semantics needed to implement a scheme-independent parsing mechanism for URI references, by which the scheme-dependent handling of a URI can be postponed until the scheme-dependent semantics are needed.  Likewise, protocols and data formats that make use of URI references can refer to this specification as a definition for the range of syntax allowed for all URIs, including those schemes that have yet to be defined.  This decouples the evolution of identification schemes from the evolution of protocols, data formats, and implementations that make use of URIs.

In other words, a specific individual URI scheme may not support the full range of permutations supported by the general-purpose URI syntax, and the "dns" scheme defined in RFC-4501 is an example of such a scheme.
In gRPC, we don't actually claim to support RFC-4501 explicitly; we claim only to support the general-purpose RFC-3986.  I do think it's important that all gRPC implementations accept the URI forms that are valid in RFC-4501, since I think users will expect those to work.  However, I don't think it's that important that we explicitly reject anything that does not exactly match RFC-4501, nor do I think it's that important for all gRPC implementations to have the same behavior for those cases.
What this means in practice is:

dns:name: I think all gRPC implementations should support this, since it's supported in RFC-4501.
dns:///name: This is not valid in RFC-4501, but I think the intent is clear, since there really is no semantic difference between an empty authority and an unset authority.  I think this is a reasonable form that users would expect to work.  I believe that all gRPC implementations support this today, and I think it would cause problems to break this.
dns:/name: This form is technically allowed by RFC-3986, but it's really non-sensical, and I can't think of any reason why anyone would use it in practice, because the leading slash is totally unnecessary if the URI does not have an authority.  I don't feel the need to change C-core to go out of its way to reject this, but I also don't care if other gRPC implementations reject it.

In terms of our documentation, the docs are really aimed at describing what URIs are allowed, not what URIs are rejected.  I think if you view them in that light, they are correct as-is.  I think the docs would wind up being more confusing if we attempted to document that different implementations differ in their handling of dns:/name.

In other words, a specific individual URI scheme may not support the full range of permutations supported by the general-purpose URI syntax, and the "dns" scheme defined in RFC-4501 is an example of such a scheme.

Yes, I fully agree, that's my point here: if it's a subset that it's supported, then it's usually the subset that is announced, not the superset, for obvious reasons.

In gRPC, we don't actually claim to support RFC-4501 explicitly; we claim only to support the general-purpose RFC-3986. I do think it's important that all gRPC implementations accept the URI forms that are valid in RFC-4501, since I think users will expect those to work. However, I don't think it's that important that we explicitly reject anything that does not exactly match RFC-4501, nor do I think it's that important for all gRPC implementations to have the same behavior for those cases.

Well, having e.g. all of four forms allowed is still supporting RFC-4501 while also permitting general RFC-3986-like forms, right? I'd say that mentioning RFC-4501 in the docs would be beneficial then, even with the remark that it's actually just a more strict definition and that gRPC supports more by design.

What this means in practice is:

dns:name: I think all gRPC implementations should support this, since it's supported in RFC-4501.
dns:///name: This is not valid in RFC-4501, but I think the intent is clear, since there really is no semantic difference between an empty authority and an unset authority.  I think this is a reasonable form that users would expect to work.  I believe that all gRPC implementations support this today, and I think it would cause problems to break this.
dns:/name: This form is technically allowed by RFC-3986, but it's really non-sensical, and I can't think of any reason why anyone would use it in practice, because the leading slash is totally unnecessary if the URI does not have an authority.  I don't feel the need to change C-core to go out of its way to reject this, but I also don't care if other gRPC implementations reject it.

Hard to disagree, TBH. dns:///name is the only form that is actually valid everywhere except RFC-4501, so it's still the best "average" form we have nowadays :D

In terms of our documentation, the docs are really aimed at describing what URIs are allowed, not what URIs are rejected. I think if you view them in that light, they are correct as-is. I think the docs would wind up being more confusing if we attempted to document that different implementations differ in their handling of dns:/name.

Well, I'd at least mention RFC-4501 in them then. It's really hard to consider something normative for a solution if it's not mentioned even once in the official docs, right?

The problem with mentioning RFC-4501 is that we can't actually say that we support all forms specified there, because we don't support the class or type fields.
I think it's clearer to just directly document what we do support, and I believe that our documentation already does that.

I think it's clearer to just directly document what we do support, and I believe that our documentation already does that.

I'd be inclined to agree, if not for the fact that it doesn't, because the de facto standard implementation in Java doesn't, at least at this particular moment :D
But yeah, this point is kind of moot ATM, agreed, although this is basically a Catch-22 case; we don't mention RFC-4501 because we're not fully supporting it, but we won't support it more fully because it's not exactly normative for us, and it's not really normative, because it's not mentioned.
I rest my case.

To be clear, I am not saying that we should support dns:name format only because it's documented in RFC-4501; I am saying that we should support it because it's a form that users should be able to expect to work, and I was citing the fact that that form is supported in RFC-4501 as a justification for that assertion.
I do not think the general statement that we support RFC-4501 is correct or useful, since we clearly do not and will not support all of the forms documented there.


Move Auto-Centering Code to Independent Class

We want to move the auto-centering code to a separate class so it can be reused in driver-control and autonomous

It probably makes more sense for auto-centering to be a method within the drive class

Closing this issue as it is no longer needed


Font "Libre Barcode 39" not loading

I am trying to add barcodes in the spreadsheet by setting the font as "Libre Barcode 39", the font is set as expected but doesn't load when opening in the desktop version of the excel. This loads fine if opened from office online or the web version of office.
Here's a simplified report of what the issue boils down to and to replicate this issue :
DATA: lo_excel                TYPE REF TO zcl_excel.
DATA: lo_worksheet            TYPE REF TO zcl_excel_worksheet.
DATA: lo_style_barcode        TYPE REF TO zcl_excel_style.
DATA: lv_style_barcode        TYPE        zexcel_cell_style.

CONSTANTS: gc_save_file_name TYPE string VALUE 'Barcode_Style.xlsx'.

INCLUDE zdemo_excel_outputopt_incl.

START-OF-SELECTION.

  CREATE OBJECT lo_excel.

  lo_style_barcode                  = lo_excel->add_new_style( ).
  lo_style_barcode->font->name      = 'Libre Barcode 39'.
  lo_style_barcode->font->scheme    = zcl_excel_style_font=>c_scheme_none.
  lo_style_barcode->font->size      = 25.
  lv_style_barcode                  = lo_style_barcode->get_guid( ).

  lo_excel->set_default_style( lv_style_barcode ).

  lo_worksheet = lo_excel->get_active_worksheet( ).
  lo_worksheet->set_title( 'Barcode Style' ).
  lo_worksheet->set_cell( ip_column = 1 ip_row = 1 ip_value = '*ABC123*' ).

  lcl_output=>output( lo_excel ).

I am not sure if we can use a font that is not in zcl_excel? However the cell properties do reflect the font that I set here.

The same file opened in the office online excel:

Any help?Thanks in advance

Thank you for the code to reproduce. Could you attach an Excel file which works so that we can compare the two? Thank you!

@ramc-v is the required font installed on your local machine? I guess in the web version web fonts are used and automatically loaded.

I don't have any issue with Excel 365. Could you give more information? What do you get when you open the Excel file generated by abap2xlsx?

Thanks for the feedback. That will surely help others!


Split up state.json

This might not be necessary because we are toying with the idea of storing the state of services as labels against the actual containers.


Add terrain 3D viewer

For #26.

Performance issues: the FPS drops very low when rendering a lot of cells.


A lot of warning/errors at /var/log/messages etc at Raspberry Pi 2B+ with standart RPI camera

Good day! RPI-Web-cam interface version 6.6.6
Raspberry Pi standart camera connected to Rpi 2B+, everything works well!
But in /var/log files, such as syslog, messages and user.log a lot of warnings.
messages:

Nov 21 16:19:27 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: disconnecting netcam since keep-alive not set.
Nov 21 16:19:27 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: leaving netcam connected.
Nov 21 16:19:27 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_html_jpeg: disconnecting netcam since keep-alive not set.
Nov 21 16:19:27 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_html_jpeg: leaving netcam connected.
Nov 21 16:19:28 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_first_header: Found Conn: close header ('Connection: close'                                        )
Nov 21 16:19:28 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_first_header: Non-streaming camera (keep-alive not set)
Nov 21 16:19:28 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_first_header: Found Conn: close header ('Connection: close'                                        )
Nov 21 16:19:28 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_first_header: Non-streaming camera (keep-alive not set)
Nov 21 16:19:28 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_html_jpeg: disconnecting netcam since keep-alive not set.
Nov 21 16:19:28 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_html_jpeg: leaving netcam connected.
Nov 21 16:19:28 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: disconnecting netcam since keep-alive not set.
Nov 21 16:19:28 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: leaving netcam connected.
Nov 21 16:19:28 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_first_header: Found Conn: close header ('Connection: close'                                        )
Nov 21 16:19:28 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_first_header: Non-streaming camera (keep-alive not set)
Nov 21 16:19:28 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_first_header: Found Conn: close header ('Connection: close'                                        )
Nov 21 16:19:28 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_first_header: Non-streaming camera (keep-alive not set)
Nov 21 16:19:28 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: disconnecting netcam since keep-alive not set.
Nov 21 16:19:28 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: leaving netcam connected.
Nov 21 16:19:28 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_html_jpeg: disconnecting netcam since keep-alive not set.
Nov 21 16:19:28 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_html_jpeg: leaving netcam connected.

in syslog:

Nov 21 16:25:51 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_first_header: Non-streaming camera (keep-alive not set)
Nov 21 16:25:51 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_first_header: Found Conn: close header ('Connection: close')
Nov 21 16:25:51 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_first_header: Non-streaming camera (keep-alive not set)
Nov 21 16:25:51 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_html_jpeg: disconnecting netcam since keep-alive not set.
Nov 21 16:25:51 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_html_jpeg: leaving netcam connected.
Nov 21 16:25:51 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: disconnecting netcam since keep-alive not set.
Nov 21 16:25:51 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: leaving netcam connected.
Nov 21 16:25:52 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_first_header: Found Conn: close header ('Connection: close')
Nov 21 16:25:52 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_first_header: Non-streaming camera (keep-alive not set)
Nov 21 16:25:52 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_first_header: Found Conn: close header ('Connection: close')
Nov 21 16:25:52 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_first_header: Non-streaming camera (keep-alive not set)
Nov 21 16:25:52 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_html_jpeg: disconnecting netcam since keep-alive not set.
Nov 21 16:25:52 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: disconnecting netcam since keep-alive not set.
Nov 21 16:25:52 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_html_jpeg: leaving netcam connected.
Nov 21 16:25:52 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: leaving netcam connected.
Nov 21 16:25:52 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_first_header: Found Conn: close header ('Connection: close')
Nov 21 16:25:52 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_first_header: Non-streaming camera (keep-alive not set)
Nov 21 16:25:52 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_first_header: Found Conn: close header ('Connection: close')
Nov 21 16:25:52 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_first_header: Non-streaming camera (keep-alive not set)
Nov 21 16:25:52 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: disconnecting netcam since keep-alive not set.

in user.log:

Nov 21 16:26:25 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_html_jpeg: disconnecting netcam since keep-alive not set.
Nov 21 16:26:25 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_html_jpeg: leaving netcam connected.
Nov 21 16:26:25 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_first_header: Found Conn: close header ('Connection: close')
Nov 21 16:26:25 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_first_header: Non-streaming camera (keep-alive not set)
Nov 21 16:26:25 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: disconnecting netcam since keep-alive not set.
Nov 21 16:26:25 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: leaving netcam connected.
Nov 21 16:26:25 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_first_header: Found Conn: close header ('Connection: close')
Nov 21 16:26:25 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_first_header: Non-streaming camera (keep-alive not set)
Nov 21 16:26:25 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_first_header: Found Conn: close header ('Connection: close')
Nov 21 16:26:25 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_first_header: Non-streaming camera (keep-alive not set)
Nov 21 16:26:25 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: disconnecting netcam since keep-alive not set.
Nov 21 16:26:25 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: leaving netcam connected.
Nov 21 16:26:25 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_html_jpeg: disconnecting netcam since keep-alive not set.
Nov 21 16:26:26 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_html_jpeg: leaving netcam connected.
Nov 21 16:26:26 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_first_header: Found Conn: close header ('Connection: close')
Nov 21 16:26:26 raspberrypi motion: [1:nc2] [NTC] [NET] netcam_read_first_header: Non-streaming camera (keep-alive not set)
Nov 21 16:26:26 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_first_header: Found Conn: close header ('Connection: close')
Nov 21 16:26:26 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_first_header: Non-streaming camera (keep-alive not set)
Nov 21 16:26:26 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: disconnecting netcam since keep-alive not set.
Nov 21 16:26:26 raspberrypi motion: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: leaving netcam connected.

Why? How can I remove this warnings/errors?

Those look like messages being generated by the motion process which is only used if you select external motion detection.
Try it with internal motion detection which is the recommended method as it is much more efficient.
If you didn't have external motion selected then check the running processes with cmd ps -A
If motion is in the list then something else is starting it up which should not be happening.

I am using internal motion detection.
ps -A | grep motion
gives me a 2 motion processes:

684 ?        00:00:42 motion
691 ?        00:00:42 motion

I have killed process 691. Now, I have 1 motion process. Every thing works fine, but warning and errors are still incoming into log files

In internal motion detection mode the software makes no use of the motion process and doesn't start it up. All the motion detection is done internally in the raspimjpeg process.
Did you install anything else that might have started up the motion process.?

No, I did not install anything, that can start motion. Only RPI-Web-Cam.
I have killed both motion processes. Every thing fine! No more warning and errors.
I have found an entry in rc-local:
#autostart motion
motion start

Check to see that the external motion service is disabled at the system level
            sudo systemctl status motion

It should say it’s disabled.  The fact that you are seeing the processes suggests that they may be starting at boot.
From: thc2018<EMAIL_ADDRESS>Sent: Thursday, November 21, 2019 12:41 PM
To: silvanmelchior/RPi_Cam_Web_Interface
Cc: Subscribed
Subject: Re: [silvanmelchior/RPi_Cam_Web_Interface] A lot of warning/errors at /var/log/messages etc at Raspberry Pi 2B+ with standart RPI camera (#529)
No, I did not install anything, that can start motion. Only RPI-Web-Cam.
I have killed both motion processes. Every thing fine! No more warning and errors.
I have found an entry in rc-local:
#autostart motion
motion start
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/silvanmelchior/RPi_Cam_Web_Interface/issues/529?email_source=notifications&email_token=ACROKDPWPL3BCLD36443COLQU3P3FA5CNFSM4JQCJPVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEE3NEFA#issuecomment-557240852 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ACROKDO5I22R5A7E23CBQDLQU3P3FANCNFSM4JQCJPVA .  https://github.com/notifications/beacon/ACROKDKE5LXLND6KEYFPGBTQU3P3FA5CNFSM4JQCJPVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEE3NEFA.gif

sudo systemctl status motion

● motion.service - LSB: Start Motion detection
Loaded: loaded (/etc/init.d/motion; generated; vendor preset: enabled)
Active: active (running) since Thu 2019-11-21 23:03:51 MSK; 6min ago
Docs: man:systemd-sysv-generator(8)
Process: 241 ExecStart=/etc/init.d/motion start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/motion.service
└─703 /usr/bin/motion
ноя 21 23:09:56 raspberrypi motion[703]: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: disconnecting netcam since keep-alive not set.
ноя 21 23:09:56 raspberrypi motion[703]: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: leaving netcam connected.
ноя 21 23:09:57 raspberrypi motion[703]: [1:nc3] [NTC] [NET] netcam_read_first_header: Found Conn: close header ('Connection: close')
ноя 21 23:09:57 raspberrypi motion[703]: [1:nc3] [NTC] [NET] netcam_read_first_header: Non-streaming camera (keep-alive not set)
ноя 21 23:09:57 raspberrypi motion[703]: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: disconnecting netcam since keep-alive not set.
ноя 21 23:09:57 raspberrypi motion[703]: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: leaving netcam connected.
ноя 21 23:09:57 raspberrypi motion[703]: [1:nc3] [NTC] [NET] netcam_read_first_header: Found Conn: close header ('Connection: close')
ноя 21 23:09:57 raspberrypi motion[703]: [1:nc3] [NTC] [NET] netcam_read_first_header: Non-streaming camera (keep-alive not set)
ноя 21 23:09:57 raspberrypi motion[703]: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: disconnecting netcam since keep-alive not set.
ноя 21 23:09:57 raspberrypi motion[703]: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: leaving netcam connected.

Looks like it’s trying to run. you can try
            sudo systemctl disable motion

I would also comment out that “motion start” line in /etc/rc.local.  Then reboot and check status again.
From: thc2018<EMAIL_ADDRESS>Sent: Thursday, November 21, 2019 1:11 PM
To: silvanmelchior/RPi_Cam_Web_Interface
Cc: Fred Pishotta; Comment
Subject: Re: [silvanmelchior/RPi_Cam_Web_Interface] A lot of warning/errors at /var/log/messages etc at Raspberry Pi 2B+ with standart RPI camera (#529)
sudo systemctl status motion
● motion.service - LSB: Start Motion detection
Loaded: loaded (/etc/init.d/motion; generated; vendor preset: enabled)
Active: active (running) since Thu 2019-11-21 23:03:51 MSK; 6min ago
Docs: man:systemd-sysv-generator(8)
Process: 241 ExecStart=/etc/init.d/motion start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/motion.service
└─703 /usr/bin/motion
ноя 21 23:09:56 raspberrypi motion[703]: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: disconnecting netcam since keep-alive not set.
ноя 21 23:09:56 raspberrypi motion[703]: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: leaving netcam connected.
ноя 21 23:09:57 raspberrypi motion[703]: [1:nc3] [NTC] [NET] netcam_read_first_header: Found Conn: close header ('Connection: close')
ноя 21 23:09:57 raspberrypi motion[703]: [1:nc3] [NTC] [NET] netcam_read_first_header: Non-streaming camera (keep-alive not set)
ноя 21 23:09:57 raspberrypi motion[703]: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: disconnecting netcam since keep-alive not set.
ноя 21 23:09:57 raspberrypi motion[703]: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: leaving netcam connected.
ноя 21 23:09:57 raspberrypi motion[703]: [1:nc3] [NTC] [NET] netcam_read_first_header: Found Conn: close header ('Connection: close')
ноя 21 23:09:57 raspberrypi motion[703]: [1:nc3] [NTC] [NET] netcam_read_first_header: Non-streaming camera (keep-alive not set)
ноя 21 23:09:57 raspberrypi motion[703]: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: disconnecting netcam since keep-alive not set.
ноя 21 23:09:57 raspberrypi motion[703]: [1:nc3] [NTC] [NET] netcam_read_html_jpeg: leaving netcam connected.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/silvanmelchior/RPi_Cam_Web_Interface/issues/529?email_source=notifications&email_token=ACROKDOXXUBRES6GC5NG4K3QU3TMTA5CNFSM4JQCJPVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEE3P6KY#issuecomment-557252395 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ACROKDIC6M5GHIAOKDYIGG3QU3TMTANCNFSM4JQCJPVA .  https://github.com/notifications/beacon/ACROKDMC724ZQOICATKBWU3QU3TMTA5CNFSM4JQCJPVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEE3P6KY.gif

Thanks to all, solved in my case.

I have found the problem.
Then you are doing a fresh install on raspberry pi, motion also installs on Pi. And during this installation, motion configure rc-local to autostart then Pi is starting (motion enabled)

I'll check that. Raspbian never used to install motion and start it up automatically.
It is possible they have added this but it sounds a bad thing to do.


cheftie.rb and entry points

Hey Noah,
Can this be documented a bit?
https://github.com/poise/halite/blob/03c45888c5a9cc2ed59df13f25c8879f3648dd13/lib/halite/converter/libraries.rb#L61
I had to reverse-engineer this from poise-service to make the ssh_keygen provider I'm working on work.

I'm holding on documenting it a bunch because I think it is going to change at least somewhat. The Chef RFC for handing gem dependencies is probably going to go with the Rails-style of requiring the gem name and driving everything from there.

Sounds good. At the very least this issue can serve as a bit of a hint for others until then ;)

The pattern will look similar to rails plugins (which was the origin of the cheftie name), but with an explicit require 'mygem/cheftie' if defined?(Chef) to allow loading inside and outside Chef.

Gotcha. Reading up on that now (http://api.rubyonrails.org/classes/Rails/Railtie.html), gives me a better idea of how to organize the gem. Also thanks for the link on the RFC, good to read up on things to come.

The RFC:
https://github.com/chef/chef-rfc/blob/master/rfc060-metadata-gem-installation.md
Is being worked on here:
https://github.com/chef/chef/pull/4478
Its just using bundler syntax now so gem 'whatever', require: 'whatever/cheftie' can be used to supply your own entrypoint (or name it something other than cheftie, doesn't matter...)
i think if you have git pre-installed on your image that checking out github branches would even work and other insane things i probably haven't thought about...

Hey @coderanger, closing this one as it's pretty dormant now. I'm sure you're tracking anything that needs to be changed in halite to address this otherwise when the time comes :)


PR #3 Implementation of Maps API in the front end.

What does this PR do?
This is the first implementation of the maps API.
This PR implements a Google's Map by showing a map focused on user's location. This map shows a pin/marker in the exact user's location and a semi-transparent radius indicating the search range of user's query.
Why it is needed?
The street vendor application will include a search engine where clients have a map view in order to see the nearest vendors.
How?
By implementing Maps API and HTML geoLocation.
Testing?
Map successfully showed in the map.html file.
Anything Else?
This is the first proof of concept of the map search. It is not a working example of the final implementation, but this will help for integration testing once data is retrieved from the servlets.

@googlebot I consent


BUG: Login Page is not there. I can create Login Page for the project. Please assign this issue to me.

Is there an existing issue for this?

[X] I have searched the existing issues

What went down?
Page is not available.
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a gssoc-24-extd contributor
[X] I want to work on this issue
[ ] I check the issue doesn't exist

hi @isimarjitsingh thank you for rising the issue actually we are using kinde auth for that so no need of login page


@cli.command without the () sometimes works, sometimes doesn't

I just spent a few hours confused by a VERY weird bug. Running s3-ocr --help sometimes listed all of the sub-commands I had registered... and sometimes didn't! Depending on installation criteria that I couldn't quite nail down, but I suspect was related to the specific dot-release of Click that was installed.
My long-winded investigations of this issue (not particularly interesting reading) are here:

https://github.com/simonw/s3-ocr/issues/25
https://github.com/simonw/s3-ocr/issues/26

Given how much work it took me to spot my mistake, I think it would be useful if Click could raise an error if you attempt to use the @cli.command decorator without including the @cli.command() parenthesis.

Here's my diff that finally fixed the bug for me: https://github.com/simonw/s3-ocr/commit/c67949aeb8ca916e358ff01551ec754e63896e13

We just made it possible to use without the parens. I don't plan to change that again. What was the actual thing that was failing? A reproducible example would be helpful.

I think that explains my mystery! Just found this here: https://click.palletsprojects.com/en/8.1.x/changes/#version-8-1-0

The command and group decorators can be applied with or without parentheses. #1359

My mistake: I pinned to click>=8.0 and thought that would fix the bug I was seeing. As a result, if my software was installed on a machine that already had Click 8.0 the following bug would exhibit itself:
% s3-ocr --help
Usage: s3-ocr [OPTIONS] COMMAND [ARGS]...

  Tools for running OCR against files stored in S3

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Where a machine with 8.1.0 or higher would do the correct thing, which is this:
% s3-ocr --help
Usage: s3-ocr [OPTIONS] COMMAND [ARGS]...

  Tools for running OCR against files stored in S3

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  dedupe       Scan every file in the bucket checking for duplicates -...
  fetch        Fetch the OCR results for a specified file
  index        Create a SQLite database with OCR results for files in a...
  inspect-job  Show the current status of an OCR job
  start        Start OCR tasks for PDF files in an S3 bucket
  status       Show status of OCR jobs for a bucket
  text         Retrieve the text from an OCRd PDF file

So I don't think Click has done anything wrong here: you added a new feature in 8.1.0 (minor version bump) and documented it in the changelog.
The point of confusion is that if you USE this new feature (@cli.command instead of @cli.command()) and fail to pin to click>=8.1.0 in your requirements your software will work fine on some installs but will fail in a very confusing way (rather than throwing an error) on others.
Hopefully I've made enough noise about this in enough places that are indexed by search engines that people who run into this problem in the future will spend less time debugging it than I did!

For a reproducible example:
pip install s3-ocr==0.6

That version doesn't pin Click - so if you then run:
s3-ocr --help

You will see a list of commands if you happened to end up with click 0.8.1, but you will get an empty list if you already have a prior version of click installed.
Initially I ran into trouble because on older versions of Fedora and Ubuntu there's a python3-click operating system package which provides Click 7.0 - so if that was present an un-pinned click dependency would leave the user with that older version.

To anyone who sees this and has experienced the same bug: add the following to your requirements or setup.py dependencies to fix it:
"click>=8.1.0"

8.1 is a feature version, we are not semver.


Ford: Disable Radar Interface

Testing confirms on non Stop/Go Fords, radar is connected directly to HS2 and cannot be intercepted. Stop/Go Ford's can be intercepted, but the ACC is able to go to 0 and resume anyway.

why deleting the whole interface? a conditional case based on the presence of the radar on CAN would be better. See Honda.

There isnt much improvement to be made over stock.

If openpilot can do longitudinal control we want to use that. In the future openpilot longitudinal will be significantly better than the stock one in detecting cut-ins, slowing down for turns, etc...


UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019'

eliasah@AH-PC:~/utils/zeppelin$ airship-convert extract notebooks/* --output snippets/
Traceback (most recent call last):
  File "/home/eliasah/anaconda2/bin/airship-convert", line 9, in <module>
    main()
  File "/home/eliasah/anaconda2/lib/python2.7/site-packages/airship_convert/__init__.py", line 37, in main
    args.func(args)
  File "/home/eliasah/anaconda2/lib/python2.7/site-packages/airship_convert/pipelines/__init__.py", line 62, in extract_func
    return process(args.paths, load_zeppelin_for_path, tag_and_strip_annotations(args.language), filter_, sink_)
  File "/home/eliasah/anaconda2/lib/python2.7/site-packages/airship_convert/pipelines/__init__.py", line 34, in process
    pipe(path, load_, transform_, filter_, sink_)
  File "/home/eliasah/anaconda2/lib/python2.7/site-packages/toolz/functoolz.py", line 518, in pipe
    data = func(data)
  File "/home/eliasah/anaconda2/lib/python2.7/site-packages/toolz/functoolz.py", line 281, in __call__
    return self._partial(*args, **kwargs)
  File "/home/eliasah/anaconda2/lib/python2.7/site-packages/airship_convert/render/source.py", line 31, in render_source
    render_source_(notebook, output_file, template)
  File "/home/eliasah/anaconda2/lib/python2.7/site-packages/airship_convert/render/source.py", line 21, in render_source_
    fw.write(template.render(notebook))
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 1318: ordinal not in range(128)

I have a problem with reproducing that. Could you take a look at cff7912b01cfe0911af190981044fad9c0f41c18 and check if it resolves the issue.


[freeimage] Updated port to prepare for libraw version 0.21

Updated the freeimage port to prepare it for libraw version 0.21 (which will be added in a separate PR,)

[X] Changes comply with the maintainer guide
[X] SHA512s are updated for each updated download
[X] The "supports" clause reflects platforms that may be fixed by this new version
[X] Any fixed CI baseline entries are removed from that file.
[X] Any patches that are no longer applied are deleted from the port's directory.
[X] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[X] Only one version is added to each modified port's versions file.

@JonLiu1993 If you are able to merge this PR for me, then I can submit a PR for the LibRaw 0.21.1 update next. I don't have write access to merge the PR myself.

I am having a problem with the bot that asks to have the version number updated one more time even though the PR has not been committed yet. This is very strange. I might have to close this PR and open a new one.

Run vcpkg x-add-version --overwrite-version freeimage, then commit the resulting changes.

You have modified or added at least one portfile where deprecated functions are used.
详情 If you feel able to do so, please consider migrating them to the new functions:

Yeah, and I don't care. Freeimage is "abandon-ware". It has had no new official release since 2018. I am just updating the port to avoid a build break that will happen once RawImage is updated to version 0.21.1. I will happily defer cosmetic changes to the portfile.cmake to whoever claims ownership of Freeimage? Are you volunteering?

Yeah, and I don't care. Freeimage is "abandon-ware". It has had no new official release since 2018. I am just updating the port to avoid a build break that will happen once RawImage is updated to version 0.21.1. I will happily defer cosmetic changes to the portfile.cmake to whoever claims ownership of Freeimage? Are you volunteering?

You should replace cpkg_configure_cmake with vcpkg_cmake_configure, and the robot will not report errors.


add scDEED and single-cell large model part

add scDEED (optimize single-cell visualization), and a new part: single-cell large model (geneformer, scGPT, scFoundation)

Thanks, @ETAOIK. Welcome to the contributor club!


Error in program:  Error generating stop tokens for geneach loop.

The bug
I am trying to set a stop token for the geneach command but I don't find a way to make it work.
To Reproduce
import guidance
guidance.llm = guidance.llms.OpenAI('gpt-3.5-turbo')
guidance.llm.cache.clear()

prompt = guidance(
'''{{#system~}}
You are a helpful assistant
{{~/system}}
{{~#geneach 'conversation' stop='Final Answer:'~}}
{{#user~}}
{{set 'this.user_text' (await 'user_text')}}
{{~/user}}
{{#assistant~}}
{{gen 'this.ai_text' temperature=0 max_tokens=300}}
{{~/assistant}}
{{~/geneach}}''', stream=False, silent=True)

prompt = prompt(user_text ='Hello there :)')
prompt

In this specific example I am using stop='Final Answer: but it does not work with any string.
I get the following error:
assert prompt.endswith("<|im_start|>assistant\n"), "When calling OpenAI chat models you must generate only directly inside the assistant role! The OpenAI API does not currently support partial assistant prompting."
...
File "[<local venv path>/lib/python3.9/site-packages/guidance/library/_geneach.py](https://file+.vscode-resource.vscode-cdn.net/home/sam/.venvs/offering/lib/python3.9/site-packages/guidance/library/_geneach.py)", line 145, in geneach
    raise Exception(f"Error generating stop tokens for geneach loop. Perhaps you are outside of role tags (assistant[/user/system](https://file+.vscode-resource.vscode-cdn.net/user/system))? If you don't want the loop to check for stop tokens, set stop=False or set num_iterations.")
Exception: Error generating stop tokens for geneach loop. Perhaps you are outside of role tags (assistant[/user/system](https://file+.vscode-resource.vscode-cdn.net/user/system))? If you don't want the loop to check for stop tokens, set stop=False or set num_iterations.

System info (please complete the following information):

OS: Ubuntu
Guidance Version (guidance.__version__): 0.0.51

maybe there is a missing {{#user~}} in your prompt?

maybe there is a missing {{#user~}} in your prompt?

 I updated the snipped above and double checked running again locally. Still get the same error.

Another thing which is interesting... Why are you set user input as await function while it is just str input?
Maybe you can just set this as
'''
{{#user~}}
{{user_input}}
{{~/user}}
'''

the stop parameter of geneach is what the LLM would generate instead of starting the next iteration of the loop. You can't control OpenAI chat models outside of the role tags right now (nor would they likely generate that stop sequence outside their role tags...
I suggest you do something like:
{{#if (my_custom_end_check_function this.ai_text)}}{{break}}{{/if}}
or you could just raise a StopIteration exception directly from your stop condition function and call it like this form inside the loop :
{{my_custom_end_check_function ai.text}}

@slundberg great, thanks for the tip!.


plotly vs xlmhg version conflict

Hi Author,
I have tried to run the celseq2 after installation. However, there is a serious version conflict between plotly and xlmhg. The current version plotly does not work with xlmhg after the upgrade of plotly and vice versa. is there a way to run celseq2 with the latest version of both plotly and xlmhg packages?
Many thanks,
Mike

I had the same problem and managed to solve it by installing specific versions of the packages that would be compatible. The error messages generally tell you which version you should use.
I did something like the following, which might differ from your setup. Just iterate a bit with the versions that pip suggests to you.
pip install snakemake==5.5.2
pip install genometools
pip install xlmhg==2.4.9

Hi Tim,
Thank you for the reply ! I have tried the solution you posted here and plotly will complain as well. I have found a way to get around the version incompatibility. For those who like to use the celseq2, you can follow the quick workaround below.
Create a vritualenv using python 3 and install the genometools and celseq2 in the virtualenv
Download CelSeq and Genometools
https://github.com/yanailab/celseq2
https://github.com/flo-compbio/genometools
Genometools Installation
The solution is to change the plotly version to <=3 in the setup.py of genometools.

download genometools 0.4.1 tarball from https://pydigger.com/pypi/genometools
untar the genometools tarball
cd into the genometools directory
change the plotly version in setup.py to <=3
e.g 'plotly>=2, <=3'
pip setup.py install
note: make sure xlmhg version is 2.4.9 and it is the requirement of genometools 0.4.1


Fix Reladomo reverse-engineering

Input
TABLE_NAME.ddl
if exists (select * from sysobjects where name = 'TABLE_NAME' and type='U')
drop table TABLE_NAME
GO
create table TABLE_NAME
(
ID bigint not null,
TABLE_NAME_3 bigint not null,
TABLE_NAME_2 bigint not null,
OUT_UTC datetime not null
)
GO
TABLE_NAME.idx
if exists (select * from sysindexes where name = 'TABLE_NAME_PK' and id = object_id('TABLE_NAME'))
drop index TABLE_NAME.TABLE_NAME_PK
GO
create unique index TABLE_NAME_PK on TABLE_NAME(ID, OUT_UTC)
GO
if exists (select * from sysindexes where name = 'TABLE_NAME_IDX0' and id = object_id('TABLE_NAME'))
drop index TABLE_NAME.TABLE_NAME_IDX0
GO
create index TABLE_NAME_IDX0 on TABLE_NAME(TABLE_NAME_3, OUT_UTC)
GO
if exists (select * from sysindexes where name = 'TABLE_NAME_IDX1' and id = object_id('TABLE_NAME'))
drop index TABLE_NAME.TABLE_NAME_IDX1
GO
create index TABLE_NAME_IDX1 on TABLE_NAME(TABLE_NAME_2, OUT_UTC)
GO
Expected Behavior
Output
//// CHANGE name="init-table"
create table TABLE_NAME
(
ID bigint not null,
TABLE_NAME_3 bigint not null,
TABLE_NAME_2 bigint not null,
OUT_UTC datetime not null
)
GO
//// CHANGE INDEX name="index0"
create unique index TABLE_NAME_PK on TABLE_NAME(ID, OUT_UTC)
GO
//// CHANGE INDEX name="index1"
create index TABLE_NAME_IDX0 on TABLE_NAME(TABLE_NAME_3, OUT_UTC)
GO
//// CHANGE INDEX name="index2"
create index TABLE_NAME_IDX1 on TABLE_NAME(TABLE_NAME_2, OUT_UTC)
GO
Actual Behavior
Output
//// CHANGE name="init-table"
if exists (select * from sysobjects where name = 'TABLE_NAME' and type='U')
drop table TABLE_NAME
GO
create table TABLE_NAME
(
ID bigint not null,
TABLE_NAME_3 bigint not null,
TABLE_NAME_2 bigint not null,
OUT_UTC datetime not null
)
GO
//// CHANGE INDEX name="index0"
if exists (select * from sysindexes where name = 'TABLE_NAME_PK' and id = object_id('TABLE_NAME'))
drop index TABLE_NAME.TABLE_NAME_PK
GO
create unique index TABLE_NAME_PK on TABLE_NAME(ID, OUT_UTC)
GO
if exists (select * from sysindexes where name = 'TABLE_NAME_IDX0' and id = object_id('TABLE_NAME'))
drop index TABLE_NAME.TABLE_NAME_IDX0
GO
create index TABLE_NAME_IDX0 on TABLE_NAME(TABLE_NAME_3 , OUT_UTC)
GO
if exists (select * from sysindexes where name = 'TABLE_NAME_IDX1' and id = object_id('TABLE_NAME'))
drop index TABLE_NAME.TABLE_NAME_IDX1
GO
create index TABLE_NAME_IDX1 on TABLE_NAME(TABLE_NAME_2, OUT_UTC)
GO
Obevo Version where this issue was observed
6.3.0
Steps to reproduce the behavior
Run ReladamoSchemaConverter with the above input

Fixed in pull request #124 using approach that we are planning for #83


Implement/document custom blocks

Some thoughts: My Blocks (custom blocks)
a custom block is simply a generator or a function (we need to distinguish here!)
generators (long running blocks that need yields) are invoked with yield from
functions as usual (they block the thread).
Scratch does not support custom reporters, actually, unlike Snap.
Reporters would be functions, as only this way we can work with the return value

Now a duplicate of #12. Closing this, the comment above seems to be from the very beginnings when we still exposed yield to the user :-)


Property handle Close() on  NSMD.

We need to handle Close() properly in both Local and Remote NSMD implementation.

We need integration tests to check if NSC Close() request causes a proper Routes/ARP entries/ interfaces shutdown.

👍

@haiodo As a side note here, I'm fine with doing this in a followup PR to #559 ... #559 has gotten way to big, and I'd like to merge it as soon as I can wrap my head around the source thing.


Fix for Issue #46

This pull request includes a fix for Issue #46.  The plugins.sh now includes a fall through to capture the last line, regardless of if bash hits the EOF prior to hitting an EOL.

:+1:  needs to be fixed, I got bitten by that too

Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests

see #92 rebased


[a11y][iOS] Nested accessibility items not accessible

Hello,
This is basically a repeat of #24515. It seems like that issue is locked though, so creating a new one.
React Native version: 0.61.2
System:
    OS: macOS 10.15.1
    CPU: (8) x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
    Memory: 1.32 GB / 16.00 GB
    Shell: 3.2.57 - /bin/bash
  Binaries:
    Node: 8.11.3 - /usr/local/bin/node
    npm: 6.4.1 - /usr/local/bin/npm
  SDKs:
    iOS SDK:
      Platforms: iOS 13.1, DriverKit 19.0, macOS 10.15, tvOS 13.0, watchOS 6.0
  IDEs:
    Android Studio: 3.5 AI-191.8<IP_ADDRESS>00203
    Xcode: 11.1/11A1027 - /usr/bin/xcodebuild
  npmPackages:
    react: 16.9.0 => 16.9.0
    react-native: 0.61.2 => 0.61.2
  npmGlobalPackages:
    react-native-cli: 2.0.1

Steps To Reproduce

Use nested Text components for text inline with hyperlinks, or go to this Snack<EMAIL_ADDRESS>Turn on Voiceover, swipe around the app
See that there is no way for a user using Voiceover to access the hyperlink to click it

Describe what you expected to happen:
Voiceover user should be able to access the entirety of the text, and the hyperlink (so both the parent Text component and nested Text components). There were two strategies proposed by @sahrens in #24515, can we open that issue back up to continue that discussion?

I may be asking the wrong question but why would you nest <Text /> within a <Text />?

@CoryWritesCode this is how we’ve been creating text all in one line where different parts of the text needs different styling. For example, if one part of a sentence needs a hyperlink.
Wrapping with a View even with flexWrap “wrap” has some visual issues, unless maybe we create a separate child Text component for every word. So there is a sort of a clunky workaround, however it seems like native iOS and Flutter have a nicer way of handling nested accessibility, that would be nice to have in React Native as well.

I can see that @cihan-m. Makes sense as RN doesn't have a <Span /> type component.


Flanking only works for the first attack

Hello I noticed that you need to retarget the target each time in order to get the flanking to automate. If you attack twice in a row only the first attack gets advantage.

I'll be able to take a look at this tomorrow.

I can't seem to be able to replicate that.

Lol I can not reproduce now on my end either! Weird but thank you for checking!

No-problem.


Draw error rate from a distribution

E.g. from an empirical distribution observed for a given sequencing platform. These can then be returned to the user in the form of Phred-scaled base quality scores, which some genotype likelihood models use explicitly.

Do we have any information on how those errors are distributed?

It depends on the sequencing platform. I did something similar a few years ago: https://github.com/grahamgower/PP5mC#quality-score-profiles

For ancient DNA, the base quality scores may have been "recalibrated" using, e.g. mapDamage, to account for possible deamination at the terminal ends of reads. I'm not sure how we could incorporate this nicely without simulating the reads in conjunction with a putative ancestral genome sequence (so as to identify where possible C->T or G->A substitutions could be). But this is something that empirical datasets do, so its worth considering how we could close the gap between a simulated training dataset and the empirical dataset(s) the trained model will be applied to.

I was considering doing something similar to what I'm doing with mean_depth which the user can choose to input:

just a mean value for all haplotypic samples. This value is then used together with std_depth to sample randomly mean coverage values per sample from a normal distribution.
a list with the mean coverage per sample. Then, the coverage per site are drawn from a poison distribution per individual.

But I don't think it makes sense to sample error probabilities from a normal distribution. Furthermore, the errors for each nucleotide have their own biases (C>T deamination).

How about using a discrete distribution for the error distribution? This is what we get in practice with PHRED scores in a fastq file, so it match up pretty well with empirical data.

Ok! I did some analysis to check how de quality scores for each base pair of reads are distributed in real data and how are they correlated.
1. Empirical read base-pair quality distributions
I download different fastq files from different samples:

sample
age
coverage
link

Branuhi
0
~35
ftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR757/ERR757817/ERR757817_1.fastq.gz

Ust'-Ishim
45,000
40.70
ftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR566/ERR566093/ERR566093_1.fastq.gz

Young Yana
862
2.03
ftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR335/001/ERR3351001/ERR3351001.fastq.gz

Sunghir I
32,873
1.16
ftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR211/004/ERR2117984/ERR2117984.fastq.gz

with the command
wget ftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR757/ERR757817/ERR757817_1.fastq.gz

Then, with fastqc program, I obtained the distribution of quality scores per base of all reads in the fastq files with the following command:
fastqc --nogroup ERR757817_1.fastq.gz

And obtained the desired information from the file:
unzip ERR757817_1_fastqc.zip
ls ERR757817_1_fastqc/fastqc_data.txt

To read such file I created a function:
def read_fastqc_data(file):
    quals  = []
    counts = []

    printing = False
    with open(file, "r") as file:
        for line in file:
            if ">>END_MODULE" in line and printing:
                break
            if printing:
                if "#" not in line:
                    qual, count = line.strip().split()
                    quals.append(int(qual))
                    counts.append(int(float(count)))

            if ">>Per sequence quality scores" in line:
                printing = True

    qualsdist = pd.DataFrame({"quality" : quals,
                              "counts"  : counts})
    return qualsdist

I then obtained all the distributions form each fastq with
qualsdist_HGDP = read_fastqc_data("ERR757817_1_fastqc/fastqc_data.txt")
qualsdist_USTI = read_fastqc_data("ERR566093_1_fastqc/fastqc_data.txt")
qualsdist_YANA = read_fastqc_data("ERR3351001_fastqc/fastqc_data.txt")
qualsdist_SUNG = read_fastqc_data("ERR2117984_fastqc/fastqc_data.txt")

And plot those distributions in R

library(tidyverse)
library(ggplot2)
library(cowplot)

plot_qualdist <- fucntion(qualsdist){
  qualsdist %>%
      mutate(counts = counts/sum(counts)) %>%
      ggplot() +
      geom_bar(stat = "identity", aes(x = quality, y = counts))
}

plot_grid(plot_qualdist(qualsdist_HGDP) + xlim(c(0, 65)) + ylim(0, 0.9) + ggtitle("HGDP (35x)"),
          plot_qualdist(qualsdist_USTI) + xlim(c(0, 65)) + ylim(0, 0.9) + ggtitle("Ust'Ishim (40,7x)"),
          plot_qualdist(qualsdist_YANA) + xlim(c(0, 65)) + ylim(0, 0.9) + ggtitle("Yana Young (2,03x)"),
          plot_qualdist(qualsdist_SUNG) + xlim(c(0, 65)) + ylim(0, 0.9) + ggtitle("Sungir I (1,16x)"))
          ncol = 2)

We can see from this figure that the shape of the distributions look quite alike regardless of the coverage and age of the sample, but with different dispersion values. This suggests to me that if we could find a parametric distribution that behaved like this, we could change the mean and variance value and then we could draw quality values from such distribution. Otherwise, I also imagine the option to input an empirical distribution (fastqc text file output) and use that to sample quality values per base pair. If the user does not specify anything regarding the quality values, then by default we could use one of the HGDP fastq files quality distributions.
2. Autocorrelation
I took the file produced from the cram file as explained in #22, and first checked the histogram of the distribution:
df %>%
    ggplot() +
    geom_histogram(aes(x = quality), binwidth = 1)

It looks different from the previous distributions, probably because I took a subset of a few reads.
Then, I computed the difference in score between consecutive positions and ploted the difference as a measure of autocorrelation of the quality score between adjacent bases.
df %>%
    group_by(readnum) %>%
    mutate(diff = quality-lead(quality)) %>%
    filter(!is.na(diff)) %>%
    ggplot() +
    geom_point(aes(x = positio, y = diff))

df %>%
    group_by(readnum) %>%
    mutate(diff = quality-lead(quality)) %>%
    filter(!is.na(diff)) %>%
    ggplot() +
    geom_histogram(aes(x = diff), bins = 20)

df %>%
    group_by(readnum) %>%
    mutate(diff = quality-lead(quality)) %>%
    filter(!is.na(diff)) %>%
    ungroup() %>%
    summarize(mean = mean(diff), var = var(diff))

>     mean   var
    <dbl> <dbl>
1 0.00104  63.6

In order to compare to what would happen if they were completely independent, I shufled the dataset such that there was no positional structure.
df$qualityperm <- sample(x = df$quality, replace = FALSE)

df %>%
    mutate(diff = quality-qualityperm) %>%
    filter(!is.na(diff)) %>%
    summarize(mean = mean(diff), var = var(diff))

> mean     var
1    0 95.2269

The variance is smaller in the real dataset, pointing towards autocorrelation.  Furthermore, I did 10,000 permutations and checked the variance value for each permutation and then compared to the real value. None of the permutations had a value equal or more extreme than the real one. Thus, it is very likely that the quality scores of a read are autocorrelated.
However, since this would be more complicated to simulate than #22, and might not be so critical for simulating Genotype Likelihoods, for now I don't think I'll simulate such autocorrelation.
3. Differences between bam and fastq quality scores
I've took the reads in the original cram file and created a fastq file out of it with
samtools view -T GRCh38_full_analysis_set_plus_decoy_hla.fa HGDP00001.alt_bwamem_GRCh38DH.20181023.Brahui.cram | awk '{print "@"$1"\n"$10"\n+\n"$11}' > HGDP00001.cram2fastq.fastq

I didn't let the whole thing to be transformed since it is a file very big. Thus, because I cancelled the job midway, I had to remove a few lines from the end of the file. Then, I read the data with the previous function for the new
qualsdist_HGDP_CRAM = read_fastqc_data("/Users/au552345/GenomeDK/fastqsbams/HGDP00001.cram2fastq_fastqc/fastqc_data.txt")

and plot

qualsdist_HGDP %>%
    mutate(counts = counts/sum(counts)) %>%
    ggplot() +
    geom_bar(stat = "identity", aes(x = quality, y = counts), alpha = 0.5, fill = "blue") +
    geom_bar(data = qualsdist_HGDP_CRAM, stat = "identity", aes(x = quality, y = counts/sum(counts)), alpha = 0.5, fill = "red")

We can see that the cram quality distributions have changed quite a lot: quality scores are lower in general and the distribution looks more like bimodal. In the case of simGL I think the objective is to simulate reads already mapped. Thus, It might be more accurate to use empirical distributions from BAM/CRAM files than fastq files. Nonetheless, I don't think it will matter too much other than just introducing variation on the quality measurement.

With your last plot, which colour is the mapped data and which is the unmapped? The mapped data should be a proper subset of the unmapped data, right?

Red is the mapped. I thought the same as you, but then, could it be that there is some recalibration of the quality scores after mapping? or that the quality value scales have been reformated to a different Phred scale?

I don't know, but there's something funny going on there.


Using SAR-lambda-janitor in eu-west-1

Hello, is there a way to use this janitor lambda in eu-west-1 region?

Sorry, didn't have notification turned on...
Yes, you should be able to use it in eu-west-1 region, or any other region for that matter.
Closing for now, feel free to reopen if you can't use it in eu-west-1


Translate cookbook docs to Chinese

Translate cookbook docs to Chinese. I already transfered the minio project's docs,next step would be translating the sdk docs.The Chinese developers would have the official Chinese docs finally.

As per our conversation @dingjs  will get it reviewed locally for chinese content. Otherwise this pr looks good to me.


Tasks with multiple projects get routed improperly

We tag each task with a project tag and a type tag (using project tags), so an average task might have the project tags #someexampleproject and #code.
We've set phabulous to route notifications about tasks with the #someexampleproject tag to a certain slack channel. These never arrive if the tasks includes any other tags.
To summarize, phabulous seems to assume the tag rule to be this tag and nothing else while I expect it to be at least this tag. Not sure if this is intentional.

Minor addition, it seems some tasks do get posted to the slack channel, but only if the project tag is listed before the type tag. Interestingly, the order you add these tags to a new task doesn't seem to affect the order they are listed.
We're still figuring out what situations and task add processes affect the tag order, but I don't think it should matter at all.

Yeah, the bot currently only supports resolving one channel per object (task, repository, etc). This is definitely an issue when tagging something with multiple projects. I'll need to update resolver code to loop over every project attached to an object.

i've got a fork here:
https://github.com/blades/phabulous
that addresses this in the maniphest resolver class if you're interested. i haven't touched any of the other resolvers, though.

i've added a pull request, too. if i get a chance, i'll see if i can do anything further with the other resolvers if necessary.

Somewhat related, tasks with no project tags cause Phabulous to send a message with just "(More Info)" to all channels being routed under projects: in main.yml it seems.


Tracking issue: implications of borrowing across yield points

With the ability to work with borrowed data within futures, many APIs can change shape so that they work with e.g. &mut references rather than threading ownership. As part of the futures 0.3 work, we need to work through these implications.

[ ] io APIs
[ ] Stream
[ ] Sink
[ ] Channels

Closing -- this is basically done in the futures 0.3 branch!


PERF: implement timedelta string parsing to c

follows #6755  / #10396

Does someone working on this? If not, I'll take a look.

go for it!


update README for doc

What is this PR for?
Updating doc for the Zeppelin docs
What type of PR is it?
Documentation
Todos

[x] - Update doc

Is there a relevant Jira issue?
N/A
How should this be tested?
N/A
Screenshots (if appropriate)
N/A
Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? This is

Looks good !

LGTM

LGTM

LGTM


in_ Operator does not work for column type NUMERIC

The command IN UNNEST does not work for columns with type NUMERIC the same way it works with INT64 or FLOAT64.
The in_ operator on python-bigquery-sqlalchemy uses the IN UNNEST(@PARAM_1) syntax. Therefore it is unable to run an in_ operation for columns with the NUMERIC type.
Note: IN (@PARAM_1) works well with NUMERIC. And when compiling with compile_kwargs "literal_binds"=True it uses that syntax. But for normal compile it uses IN UNNEST.
Environment details

OS type and version: Ubuntu 20.04.6
Python version: 3.12.4
pip version: 24.2
sqlalchemy-bigquery version: 1.11.0

Steps to reproduce

Create a sample BigQuery table with different types. Go to the the consoles, editor and run the code example.
Run in the console different versions on the test query to see what works and doesn't work.
Populate the table with some values.
Run an SQLAlchemy query with the in_ operator on the numeric column and it will raise an error.

Code example
--Create table for step 1
CREATE TABLE my_dataset.test_table(
 numeric_col NUMERIC,
 int_col INT64,
 float_col FLOAT64
)

--Tests for syntax that works and doesn't work with numeric
SELECT
 COUNT(*)
FROM my_dataset.test_table`
WHERE
 numeric_col IN UNNEST([1]) -- Doesn't work
 int_col IN UNNEST([1]) -- Works
 numeric_col IN (1) -- Works
 numeric_col IN UNNEST([1.1]) -- Doesn't work
 float_col IN UNNEST([1.1]) -- Works
 numeric_col IN (1.1) -- Works

--Populate the table with some values
INSERT my_dataset.test_table (numeric_col , int_col , float_col)
VALUES(1, 1, 1.1), (2.2, 2, 2.2)

# Set-up the ORM of the table
from sqlalchemy import create_engine, select
from sqlalchemy.orm import DeclarativeBase, Mapped, Session, mapped_column

class Base(DeclarativeBase):
    pass
class TestTable(Base):
    __tablename__ = "test_table"
    __table_args__ = {"schema": "my_dataset"}
    numeric_col: Mapped[float] = mapped_column(primary_key=True)
    int_col: Mapped[int]
    float_col: Mapped[float]

bq = create_engine("bigquery://")
conn = bq.connect()
session = Session(conn)

stmt_numeric = select(TestTable).where(TestTable.numeric_col.in_([1]))
stmt_int = select(TestTable).where(TestTable.int_col.in_([1]))
stmt_float = select(TestTable).where(TestTable.float_col.in_([1.1]))

session.execute(stmt_int) # Works
session.execute(stmt_float) # Works
session.execute(stmt_numeric) # Doesn't work

Seeing as the syntax
WHERE numeric_col IN (1)

actually works it is counter intuitive seeing it doesn't work with sqlalchame-bigquery.
Thanks!

@pforero As a workaround, does it work if you compare against a python Decimal type? I haven't tried this end to end, but it seems like the problem might be that BigQuery does not attempt to cast array elements when using the x IN UNNEST([...]) form.
As you say, this does not work:
SELECT CAST(1.1 AS NUMERIC) IN UNNEST([1.1])

No matching signature for operator IN UNNEST for argument types: NUMERIC, ARRAY at [1:29]

But this does:
SELECT CAST(1.1 AS NUMERIC) IN UNNEST([CAST(1.1 AS NUMERIC)])

If you use a python Decimal type when constructing the WHERE clause, the parameter will use the NUMERIC type:
from decimal import Decimal
import pytest

import sqlalchemy

@pytest.fixture
def test_table(metadata):
    from sqlalchemy_bigquery import FLOAT64, INT64, NUMERIC

    return sqlalchemy.Table(
        "test_table",
        metadata,
        sqlalchemy.Column("f", FLOAT64),
        sqlalchemy.Column("i", INT64),
        sqlalchemy.Column("n", NUMERIC),
    )

def test_numeric_in_unnest(faux_conn, test_table):
    expr = sqlalchemy.select(test_table.c.n).where(test_table.c.n.in_([Decimal(1)]))

    expected_sql = (
        "SELECT `test_table`.`n` \n"
        "FROM `test_table` \n"
        "WHERE `test_table`.`n` IN UNNEST(%(n_1:NUMERIC)s)"
    )

    actual_sql = expr.compile(
        faux_conn
    ).string

    assert expected_sql == actual_sql

Note that it is currently expected that python-bigquery-sqlalchemy rewrites x IN (...) to x IN UNNEST([...]) - looks like the idea there was to avoid chewing up query parameters when the set of values is large.


Bug: Explorer's Table List can not be opened again after selecting a Table

Describe the bug
Explorer's Table List can not be opened again after selecting a Table. The Explorer view is stuck viewing rows of the first table selected. It should be possible to explore another table after the first.
Note. "Designer" also has a Tables List. However it is possible to re-open that list. The issue is only in "Explorer".
Steps to reproduce

Click on "Explorer" in the left nav
Click on any Table name
The data rows of the Table are displayed. And the Table List is closed automatically.
There is no way to open the list of Tables again

Expected behaviour
There should be a way to re-open the list of tables so that the rows of a different table can be viewed.
Surrealist Environment
Version 3.1.8 (20241220.135508)
Contact Details
No response
Is there an existing issue for this?

[X] I have searched the existing issues

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Have the same issue on windows, last working version is 3.1.7, after that the "<" button on the tables section of Explorer disappears.

I was about to write-up a issue and found this. Can confirm no button to explore other tables.


feat: consensus diff changes

Description
Adds consensus crate diff docs.

Current dependencies on/for this PR:

master

PR #1

PR #2   👈

This comment was auto-generated by Graphite.


MAINT: Fix CircleCI error

[x] Replicate error with [circle full]
[x] Switch to PyQt6, see problem with report + Qt browser not clearing all instances
[x] Fix problem with clearing instances

Okay the commit above shows failures on Azure, CircleCI, and GH Actions regarding reference cleanup. I'll try changing CIs to use https://github.com/mne-tools/mne-qt-browser/pull/145

Some good news @drammock it at least gets past the previously failing tutorial on this PR:
https://app.circleci.com/pipelines/github/mne-tools/mne-python/16584/workflows/ce28aaf3-a2ef-49c5-94d3-32d13bcf0b08/jobs/49574
So I think once we cut a mne-qt-browser release and merge this PR things then the CircleCI main builds might work again

@drammock feel free to merge if you're happy. Bonus points for adding [circle deploy] to the message so we find out in 2h if it actually worked.
In the end the fixes were to switch 1) to PyQt6 (from PySide6) to deal with the weird xcb error, and 2) to  CircleCI machine medium+ from medium (the default) to have 2GB more memory.


Update aws-java-sdk-bundle to 1.12.493

About this PR
📦 Updates com.amazonaws:aws-java-sdk-bundle from 1.12.490 to 1.12.493
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.amazonaws", artifactId = "aws-java-sdk-bundle" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.amazonaws", artifactId = "aws-java-sdk-bundle" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #2741.


Mobile browser support?

Thanks for this great library. Is there a way to support mobile devices? Like drawing a line on the background instead of hovering...

You could edit bind().
Currently:
document.addEventListener("mousemove", (e) => {
      if (!e.clientX || !e.clientY) {
        return;
      }
      ... drawing trail

It's using the event listener mousemove and then drawing the tail. You could play around with modifying that.


Add detected Bots, Browser, Platform and devices

Compare with other library, the supported Bots, Browser, Platform and devices is the important information for make a choice.
Hope the library get better.

Thanks for doing this. I think it's useful but I'm afraid this can get out of sync pretty quickly.
How can we solve this problem?

keep in mind for core member and note in contribute.txt. Or if you can find some way to auto produce it from code?

On May 27, 2016, at 10:26, Nando Vieira<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
Thanks for doing this. I think it's useful but I'm afraid this can get out of sync pretty quickly.
How can we solve this problem?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/fnando/browser/pull/249#issuecomment-222045373, or mute the thread https://github.com/notifications/unsubscribe/ABwDThzQ3pTtN1rQcSuDisQZbGw_Vn36ks5qFlZjgaJpZM4IoHac.

Now that all requires are extracted to the main files (e.g. all requires for platform are done on lib/browser/platform.rb) we can just link to that file from the README, avoiding manually syncing this information.


[Event Hubs] Partition Context fix

Fixes https://github.com/Azure/azure-sdk-for-net/issues/38254
Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
API changes are not detected in this pull request.

/azp run net - eventhub - tests


Added vendored copy of zlib

Added vendored copy of zlib.
Motivation:
Yesterday i encountered this,
satish@ubuntu:~/swift-nio$ swift build
<module-includes>:1:10: note: in file included from <module-includes>:1:
#include "/home/satish/swift-nio/Sources/CNIOZlib/include/CNIOZlib.h"
         ^
/home/satish/swift-nio/Sources/CNIOZlib/include/CNIOZlib.h:17:10: error: 'zlib.h' file not found
#include <zlib.h>
         ^

So, for easy to build and deploy swift-nio on all platforms for all users. provide vendored copy of zlib with swift-nio.
also nodejs ships vendored copy of zlib with it.
Exposing CZlib will make easy to integrate zlib for swift-nio adoptors.
For example if swift-nio adoptors want to implement compression or gzip
they can use CZlib from swift-nio directly.
Modifications:
Added vendored copy of zlib.
Introducing CZlib in products.
Result:
swift-nio will stop linking against the system copy of zlib and use vendored copy of zlib.
CZlib will exposed in swift-nio Package file

I'm afraid I don't think this is a good idea, so I'm -1 on this.

So, for easy to build and deploy swift-nio on all platforms for all users. provide vendored copy of zlib with swift-nio.
also nodejs ships vendored copy of zlib with it.

There is essentially no platform that does not have an easily-accessible copy of zlib either in the base distribution or a single package manager operation away. It's also easily identified from the compiler error if such a thing is not installed

Exposing CZlib will make easy to integrate zlib for swift-nio adoptors.
For example if swift-nio adoptors want to implement compression or gzip
they can use CZlib from swift-nio directly.

This is also a thing I don't think we should do, even if we wanted to drop the dependency on the system zlib. I'd strongly have proposed using a separate SwiftPM package that is appropriately versioned and then add an appropriate dependency on it, rather than have swift-nio be a backdoor mechanism to add zlib bindings.

I'm closing on this.


Deploy Container ACR Credentials

I've been following this tutorial and in the Deploy Container section it says to, "Replace <service-principal-ID> and <service-principal-password> with the service principal ID and password that you created to access the registry." However, in the last step ("Part two" https://docs.microsoft.com/en-us/azure/container-instances/container-instances-tutorial-prepare-acr) nothing was mentioned about principal IDs nor passwords in connection to the acr.
What do I do? How do I create those credentials or find out what they are?

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

ID: a27b22e3-437d-04f2-a542-b20facee238b
Version Independent ID: e4b43d9c-3dc8-3ed0-9b3e-2972e8788bea
Content: Tutorial - Deploy container app to Azure Container Instances
Content Source: articles/container-instances/container-instances-tutorial-deploy-app.md
Service: container-instances
GitHub Login: @dlepow
Microsoft Alias: danlep

@evpill
Thanks for the question! We are investigating and will update you shortly.

@evpill Steps for creating the service principal and assigning "acrpull" role to that service principal is missing the document.
We will add those steps to the document.
Now you can use the below commands to complete the tutorial.

to create a service principal

az ad sp create-for-rbac --skip-assignment
This command will provide the service principal id and password to use in the az container create  command

to assign a role to that service principal.

az role assignment create --assignee <appId> --scope <resourceScope> --role acrpull
Here appid is the service principal id
resource scope will be the full resource id of the ACR. You can use this command to get that az acr show --name <ACR_NAME> --query id --output tsv
We can also use managed identities in ACI. But this tutorial is not using that. You can refer to this doc for more info. https://docs.microsoft.com/en-us/azure/container-instances/container-instances-managed-identity

@evpill Try this out and let me know

@evpill Is there any update? Please let me know if the above reply helped.

We will now close this issue. If there are further questions regarding this matter, please tag me in a comment. I will reopen it and we will gladly continue the discussion.

@dlepow I think we need to do a doc update for this issue. Please add your comment

The article already includes a pointer to instructions to create service principal credentials. However, I'll try to make this more prominent. Thanks for raising the issue.

I've just got stuck on the same problem and followed the steps here to create the service principal.


[kwokctl] Update start/stop for nerdctl

What would you like to be added?
nerdctl 1.2 or later, change it to look like docker. Keep the rest unchanged.
Why is this needed?
https://github.com/kubernetes-sigs/kwok/blob/8c30ec90a88d85fd04579fddb00a491b87ef96e0/pkg/kwokctl/runtime/compose/cluster.go#L550-L555
https://github.com/kubernetes-sigs/kwok/blob/8c30ec90a88d85fd04579fddb00a491b87ef96e0/pkg/kwokctl/runtime/compose/cluster.go#L570-L586
https://github.com/kubernetes-sigs/kwok/blob/8c30ec90a88d85fd04579fddb00a491b87ef96e0/pkg/kwokctl/runtime/compose/cluster.go#L598-L606

/assign

/reopen
Revert by #260

/assign

Hi @wzshiming, is this issue still in work?

The PR seems to be reverted due to issue with nerdctl stop .

Thanks for your attention, this issue has been fixed I forgot to update it, refactoring the way containers are started, and no longer relying on compose.
Fixed by #607


[stable/phpmyadmin] Fix an SSL certificates directory conflict

Mount the SSL certificates used to connect to the database in  /db_certs instead of /certs, as /certs is already used by the bitnami/phpmyadmin Docker image to configure Apache internally.
Signed-off-by: Nicolas Camus<EMAIL_ADDRESS>
Is this a new chart

NOTE: We're experiencing a high volume of PRs to this repo and reviews will be delayed. Please host your own chart repository and submit your repository to the Helm Hub instead of this repo to make them discoverable to the community. Here is how to submit new chart repositories to the Helm Hub.

No.
What this PR does / why we need it:
When deploying this Chart with db.sslEnabled set to true, the PHPMyAdmin container failed to start with the following error :
E 2020-01-13T10:26:29.810047469Z INFO Mounting certificates files from /certs...
I 2020-01-13T10:26:32.586060989Z nami    INFO Initializing apache
I 2020-01-13T10:26:32.611706459Z nami    INFO  apache successfully initialized
I 2020-01-13T10:26:35.412699470Z nami    INFO  Initializing php
I 2020-01-13T10:26:35.452136893Z nami    INFO  php successfully initialized
I 2020-01-13T10:26:39.185558014Z nami    INFO  Initializing phpmyadmin
I 2020-01-13T10:26:39.433519635Z phpmyad INFO  Preparing PHP environment...
I 2020-01-13T10:26:39.444187884Z phpmyad INFO  Preparing Apache environment...
I 2020-01-13T10:26:39.444529964Z phpmyad INFO  Configuring App
I 2020-01-13T10:26:39.455265308Z phpmyad INFO  Enabling SSL
I 2020-01-13T10:26:39.463243301Z phpmyad INFO  Generating blowfish_ecret
I 2020-01-13T10:26:39.465742558Z nami    INFO  phpmyadmin successfully initialized
E 2020-01-13T10:26:39.482142037Z INFO  ==> Starting phpmyadmin...
E 2020-01-13T10:27:13.105445906Z nami    ERROR Unable to start com.bitnami.apache: AH00526: Syntax error on line 6 of /opt/bitnami/apache/conf/vhosts/phpmyadmin-https-vhost.conf:
E 2020-01-13T10:27:13.105479125Z SSLCertificateFile: file '/opt/bitnami/apache/conf/bitnami/certs/server.crt' does not exist or is empty

When trying to understand the issue, I found out that when setting db.sslEnabled to true, the Chart mounts a /certs directory in the container, in which live the SSL/TLS certificates used to reach the database.
However this directory, when it exists, seems also to be linked by the bitnami/phpmyadmin Docker image's entrypoint script to the Apache configuration.
This is problematic as, in our case, the certificates present in the /certs directory are meant to be used to provide an SSL connection between PHPMyAdmin and the database, not between the user's browser and the web server (Apache).
Therefore the web server init fails, as Apache does not find the right certificates to serve PHPMyAdmin on port 443 even if the image's entrypoint script script has configured it due to the presence of the /certs directory.
Long story short, to fix this I renamed the directory hosting the SSL/TLS certificates for the database to /db_certs.
An other option would be to update the Docker image's entrypoint script to find out which certificates are present in the /certs directory instead, but it seems outside this repository's scope.
P.S.: It might be related to recent changes in the underlying Docker image about how the certificates directory location is managed.
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)
No opened issue is related to this PR to my knowledge.
Special notes for your reviewer:
Sorry if my English is bad (I'm not a native speaker), I will gladly try to reword my PR if it's not clear enough.
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

Thanks for spotting this and submitting a fix, @ncamn. Please, increase the chart version as there is a conflict.


🐛 [firebase_app_check] MacOS desktop -  Debug token is not output.

Flutter: MacOS desktop
The debug token is not output.

[✓] Flutter (Channel stable, 3.7.3, on macOS 13.0 22A380 darwin-arm64 (Rosetta), locale ko-KR)
    • Flutter version 3.7.3 on channel stable at /Users/patrick386/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision<PHONE_NUMBER> (7 days ago), 2023-02-08 15:46:04 -0800
    • Engine revision 248290d6d5
    • Dart version 2.19.2
    • DevTools version 2.20.1

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/patrick386/Library/Android/sdk
    • Platform android-32, build-tools 32.1.0-rc1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14C18
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Ultimate Edition (version 2022.2.4)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 72.1.3
    • Dart plugin version 222.4533

[✓] VS Code (version 1.71.1)
    • VS Code at /Users/patrick386/Downloads/Visual Studio Code.app/Contents
    • Flutter extension version 3.58.0

[✓] VS Code (version 1.75.1)
    • VS Code at /Users/patrick386/Visual Studio Code.app/Contents
    • Flutter extension version 3.58.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 13.0 22A380 darwin-arm64 (Rosetta)
    • Chrome (web)    • chrome • web-javascript • Google Chrome 109.0.5414.119

[✓] HTTP Host Availability
    • All required HTTP hosts are available

Sample
firebase_core: ^2.5.0
firebase_auth: ^4.2.6
firebase_storage: ^11.0.11
cloud_firestore: ^4.4.0
cloud_functions: ^4.0.8
firebase_app_check: ^0.1.1+9
flutterfire_ui: ^0.4.3+20
DriverKit SDKs:
        DriverKit 22.2                  -sdk driverkit22.2

iOS SDKs:
        iOS 16.2                        -sdk iphoneos16.2

iOS Simulator SDKs:
        Simulator - iOS 16.2            -sdk iphonesimulator16.2

macOS SDKs:
        macOS 13.1                      -sdk macosx13.1
        macOS 13.1                      -sdk macosx13.1

tvOS SDKs:
        tvOS 16.1                       -sdk appletvos16.1

tvOS Simulator SDKs:
        Simulator - tvOS 16.1           -sdk appletvsimulator16.1

watchOS SDKs:
        watchOS 9.1                     -sdk watchos9.1

watchOS Simulator SDKs:
        Simulator - watchOS 9.1         -sdk watchsimulator9.1

import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_app_check/firebase_app_check.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';

import 'firebase_options.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
  const debugToken = '10205845-xxxxxxxxxxxxx';
  /// Recaptcha Site Key
  const liveToken = '6LdDe2AjAAAAxxxxxxxxxxxxxxxx';

  await FirebaseAppCheck.instance.activate(
    webRecaptchaSiteKey: kReleaseMode ? liveToken : debugToken,
    androidProvider: AndroidProvider.debug,
  );

  FirebaseFirestore.instance.settings = const Settings(
      host: 'localhost:8000', sslEnabled: false, persistenceEnabled: false);

  runApp(const ProviderScope(child: TestApp()));
}

class TestApp extends StatelessWidget {
  const TestApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomeScreen(),
    );
  }
}

class HomeScreen extends StatefulWidget {
  const HomeScreen({Key? key}) : super(key: key);

  @override
  State<HomeScreen> createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {
  List<String> listBanners = [
   'https://cdn.pixabay.com/photo/2023/01/30/20/02/bird-7756521_1280.jpg',
  ];
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: SizedBox(
          width: 300,
          height: 300,
          child: Image.network(listBanners[0],fit: BoxFit.fill,),
        ),
      ),
    );
  }
}

Output
Launching lib/main.dart on macOS in debug mode...
Building macOS application...
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:macOS, arch:x86_64, id:02FF114C-06CF-529E-BB9D-E3D81BCDE17C }
{ platform:macOS, arch:arm64, id:02FF114C-06CF-529E-BB9D-E3D81BCDE17C }
warning: Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'BoringSSL-GRPC' from project 'Pods')
warning: no rule to process file '/Users/patrick386/.pub-cache/hosted/pub.dev/twitter_login-4.3.1/macos/twitter_login.podspec' of type 'text.script.ruby' for architecture 'x86_64' (in target 'twitter_login' from project 'Pods')
warning: Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'abseil' from project 'Pods')
warning: Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'Libuv-gRPC' from project 'Pods')
warning: Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'gRPC-Core' from project 'Pods')
warning: Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'gRPC-C++' from project 'Pods')
Debug service listening on ws://<IP_ADDRESS>:57564/1QzqCmvKYq4=/ws
Syncing files to device macOS...

I tried several times following the instructions below, but the token was not printed.
https://docs.flutter.dev/get-started/install/macos
https://firebase.google.com/docs/flutter/setup?platform=ios#available-plugins

@Patrick386
The document doesn't seem to show how to configure or set debug token: https://firebase.google.com/docs/app-check/flutter/debug-provider it has for Android, web and iOS currently, so I am not sure if app_check works yet for macOS desktop.
Also check this issue and see if it helps further.

@Patrick386 The document doesn't seem to show how to configure or set debug token: https://firebase.google.com/docs/app-check/flutter/debug-provider it has for Android, web and iOS currently, so I am not sure if app_check works yet for macOS desktop.
Also check this issue and see if it helps further.

It still doesn't work
I have tried several ways, but it still doesn't work. The manual only explains about iOS, so I don't know if it's still not supported on macOS.  For reference, it works fine on the web.
Thank you.
Manual - ios
UIApplication is not available on MacOS. (Use NSApplication instead)
import UIKit
import Flutter
import Firebase  // Add the Firebase import.

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    // Use the debug provider in Debug builds:
#if DEBUG
    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
#endif

    GeneratedPluginRegistrant.register(with: self)
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }
}

My MacOS-  'AppDelegate.swift'
import Cocoa
import FlutterMacOS
import Firebase  // Add the Firebase import.

@NSApplicationMain
class AppDelegate: FlutterAppDelegate {
  override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
  #if DEBUG
      let providerFactory = AppCheckDebugProviderFactory()
      AppCheck.setAppCheckProviderFactory(providerFactory)
  #endif
    return true
  }
}

Output:
Launching lib/main.dart on macOS in debug mode...
Building macOS application...
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:macOS, arch:x86_64, id:02FF114C-06CF-529E-BB9D-E3D81BCDE17C }
{ platform:macOS, arch:arm64, id:02FF114C-06CF-529E-BB9D-E3D81BCDE17C }
warning: Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'BoringSSL-GRPC' from project 'Pods')
warning: Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'abseil' from project 'Pods')
warning: no rule to process file '/Users/patrick386/.pub-cache/hosted/pub.dev/twitter_login-4.3.1/macos/twitter_login.pods
pec' of type 'text.script.ruby' for architecture 'x86_64' (in target 'twitter_login' from project 'Pods')
warning: Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'Libuv-gRPC' from project 'Pods')
warning: Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'gRPC-Core' from project 'Pods')
warning: Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'gRPC-C++' from project 'Pods')
Debug service listening on ws://<IP_ADDRESS>:53988/IIKrX4pr3eA=/ws
Syncing files to device macOS...

Thanks for the report. I am going ahead and labeling this for team's insights on expected behavior.

I've just tested this and it works:

Please be sure that the following boxes are checked in your Xcode project under "Signing and Capabilities":


fix(link): link not wrapping text

fix #143

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


patch_set_timer breaks if you pass an pygame.event.Event

In this line the constructor to pygame.event.Event is called with event, but event itself could already be a pygame.event.Event .
If that's the case, then the constructor of pygame.event.Event will throw a TypeError:
future: <Task finished name='main' coro=<main() done, defined at <console>:4> exception=TypeError("'pygame.event.Event' object cannot be interpreted as an integer")>
Traceback (most recent call last):
  File "<console>", line 19, in main
  File "/data/data/org.python/assets/site-packages/platform_wasm/pygame/__init__.py", line 40, in patch_set_timer
    cevent = pygame.event.Event(cust_event_no)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'pygame.event.Event' object cannot be interpreted as an integer

please test

I'm afraid it's not that easy, because event is used as a key for the THREADS dict, and if it's a pygame.event.Event instance, this will fail, as this object is not hashable.
The documentation for set_timer says:

It is also worth mentioning that a particular event type can only be put on a timer once. In other words, there cannot be two timers for the same event type. Setting an event timer for a particular event discards the old one for that event type.

so maybe a good solution would be to use something like that:
    if isinstance(event, pygame.event.Event):
        cevent = event
        tevent = event.type
    else:
        cevent = pygame.event.Event(int(event))
        tevent = int(event)

and then use tevent as key for THREADS.


Fix typo in atom map

Addresses the second bug in #403

Add a test which would have caught this bug?

Test implemented.