format_str option with shared element require specific name to work

When using the format_str to display a "special treatment" if the name match the special treatment the format_str will not be used eg:
[shared_element.acodec]
name = "acodec"   # special treatment in audio_screens()
posx = 375
posy = 220
font = "font_tiny"
fill = "color_7S"
format_str = " {acodec} test "

will display the acodec result --> format_str not work
But if I change the name to any info label:
[shared_element.acodec]
name = "VideoPlayer.Title"   # special treatment in audio_screens()
posx = 375
posy = 220
font = "font_tiny"
fill = "color_7S"
format_str = " {acodec} test "

It will display acodec result + test --> format_str works

What you describe is the natural consequence of the procedural flow the code must go through following the addition of callback functions (to replace the previous "special treatment").   It really has nothing to do with sharing of elements across layouts.
If the name of the entry matches that for a callback function, then the callback function has full responsibility for what then happens.
If this post explains things adequately, please feel free to close the issue.

What you describe is the natural consequence of the procedural flow the code must go through following the addition of callback functions (to replace the previous "special treatment").   It really has nothing to do with sharing of elements across layouts.
If the name of the entry matches that for a callback function, then the callback function has full responsibility for what then happens.
If this post explains things adequately, please feel free to close the issue.

For concreteness, here's the structure that now exists within text_fields():
    # Check for any defined callback functions.  If an entry
    # exists in the lookup table, invoke the specified function
    # with all of the arguments discussed in earlier comments.

    if field_info["name"] in ELEMENT_CB:
        #  ... invoke ELEMENT_CB function ...

    elif field_info["name"] in STRING_CB:
        # ... invoke STRING_CB function ...

    else:
        if (field_info["name"] in info.keys() and
            info[field_info["name"]] != ""):

            # Use format_str or prefix/suffic approach, in that order
            if field_info.get("format_str", ""):
                display_string = format_InfoLabels(
                    field_info["format_str"], info, screen_mode, layout_name)
            else:
                display_string = (field_info.get("prefix", "") +
                                  info[field_info["name"]] +
                                  field_info.get("suffix", ""))

Only the final else makes use of format_str or prefix and suffix.

For concreteness, here's the structure that now exists within text_fields():
    # Check for any defined callback functions.  If an entry
    # exists in the lookup table, invoke the specified function
    # with all of the arguments discussed in earlier comments.

    if field_info["name"] in ELEMENT_CB:
        #  ... invoke ELEMENT_CB function ...

    elif field_info["name"] in STRING_CB:
        # ... invoke STRING_CB function ...

    else:
        if (field_info["name"] in info.keys() and
            info[field_info["name"]] != ""):

            # Use format_str or prefix/suffic approach, in that order
            if field_info.get("format_str", ""):
                display_string = format_InfoLabels(
                    field_info["format_str"], info, screen_mode, layout_name)
            else:
                display_string = (field_info.get("prefix", "") +
                                  info[field_info["name"]] +
                                  field_info.get("suffix", ""))

Only the final else makes use of format_str or prefix and suffix.

One change I can make is to change the conditional that is used within that final else above...
Right now, an element's name has to either match some existing InfoLabel key or be the name identifying a callback function to use.   That test against the InfoLabel keys could be dropped when a format_str is present.  That would permit more generic names for entries within the fields array for every layout.

One change I can make is to change the conditional that is used within that final else above...
Right now, an element's name has to either match some existing InfoLabel key or be the name identifying a callback function to use.   That test against the InfoLabel keys could be dropped when a format_str is present.  That would permit more generic names for entries within the fields array for every layout.

Right now, an element's name has to either match some existing InfoLabel key or be the name identifying a callback function to use.

See if commit b970a648350a20b288f41f56cfb580cc4f911534 helps at all...
Entries with the fields array for a layout that specify a format_str can have any name, so long as it doesn't collide with an entry in the callback tables.  Entries with a format_str always get that string evaluated and, if that results in something non-empty, the result gets displayed.
Entries that have a name corresponding to an InfoLabel still get processed only if that InfoLabel is non-empty.  (I have plans to add an exclude option for handling things like the "00" ChannelNumber you mentioned in discussions.)
Even with the above change, it is still the case that using a name that matches a callback function leaves that callback function "fully in charge" or what happens next.  (For element callbacks that want to draw or render something directly, it made no sense even to attempt using them for string interpolation.  For string callbacks, one can now have the field array entry named anything you like and just invoke the string callback via format_str.)

Right now, an element's name has to either match some existing InfoLabel key or be the name identifying a callback function to use.

See if commit b970a648350a20b288f41f56cfb580cc4f911534 helps at all...
Entries with the fields array for a layout that specify a format_str can have any name, so long as it doesn't collide with an entry in the callback tables.  Entries with a format_str always get that string evaluated and, if that results in something non-empty, the result gets displayed.
Entries that have a name corresponding to an InfoLabel still get processed only if that InfoLabel is non-empty.  (I have plans to add an exclude option for handling things like the "00" ChannelNumber you mentioned in discussions.)
Even with the above change, it is still the case that using a name that matches a callback function leaves that callback function "fully in charge" or what happens next.  (For element callbacks that want to draw or render something directly, it made no sense even to attempt using them for string interpolation.  For string callbacks, one can now have the field array entry named anything you like and just invoke the string callback via format_str.)

Commit 50bce995b2ab3c891df3bc423e78242855bcf74c updates all of the example setup files to explain the available 'name' options for entries in the fields array of each layout, as well as the restriction that exists on the use of format_str.
Here is the new text that starts out the Audio Screens comment block:
#   Entries within the "fields" array generally correspond to text
#   fields, but the introduction of the ELEMENT_CB lookup table (if
#   customized) does permit for additional graphical elements.  Such
#   customization does require a bit of Python programming.
#
#   Note that the available InfoLabels can be augmented via use of
#   the AUDIO_LABELS list (see earlier in this file).
#
#   Each entry must have a 'name' key that corresponds to ONE of
#   the following:
#
#     - Exactly matching one of the InfoLabels retrieved from Kodi.
#       Such entries are only rendered if the corresponding InfoLabel
#       is non-empty.
#
#     - One of the callback functions named in either the ELEMENT_CB
#       table or the STRING_CB table.  That string matching triggers
#       execution of the corresponding callback function.
#
#     - An arbitrary string, not matching an InfoLabel or any callback
#       function names, provided that the entry ALSO specifies a
#       'format_str' key.
#
#   The execution path followed by any of the above naming choices is
#   typically expected to yield a text string to display.  Remaining
#   keys that control the rendering of that text are as follows:

The format_str description now reads:
#      format_str Alternatively, rather than using prefix and suffix,
#                 and if one is NOT triggering a callback function, a
#                 formatting string can be specified.  The string
#                 should contain one or more InfoLabels to substitute,
#                 enclosed within curly braces.  See the status layout
#                 screen text fields for examples.
#
#                 Terms to be substituted can also make use of any
#                 entries defined within the string-manipulation
#                 callback table (see the STRING_CB dictionary in
#                 kodi_panel_display.py)

Hopefully those changes clarify things a little.  If not, please respond.  I'll close this issue if I don't hear from you in a few days.

Commit 50bce995b2ab3c891df3bc423e78242855bcf74c updates all of the example setup files to explain the available 'name' options for entries in the fields array of each layout, as well as the restriction that exists on the use of format_str.
Here is the new text that starts out the Audio Screens comment block:
#   Entries within the "fields" array generally correspond to text
#   fields, but the introduction of the ELEMENT_CB lookup table (if
#   customized) does permit for additional graphical elements.  Such
#   customization does require a bit of Python programming.
#
#   Note that the available InfoLabels can be augmented via use of
#   the AUDIO_LABELS list (see earlier in this file).
#
#   Each entry must have a 'name' key that corresponds to ONE of
#   the following:
#
#     - Exactly matching one of the InfoLabels retrieved from Kodi.
#       Such entries are only rendered if the corresponding InfoLabel
#       is non-empty.
#
#     - One of the callback functions named in either the ELEMENT_CB
#       table or the STRING_CB table.  That string matching triggers
#       execution of the corresponding callback function.
#
#     - An arbitrary string, not matching an InfoLabel or any callback
#       function names, provided that the entry ALSO specifies a
#       'format_str' key.
#
#   The execution path followed by any of the above naming choices is
#   typically expected to yield a text string to display.  Remaining
#   keys that control the rendering of that text are as follows:

The format_str description now reads:
#      format_str Alternatively, rather than using prefix and suffix,
#                 and if one is NOT triggering a callback function, a
#                 formatting string can be specified.  The string
#                 should contain one or more InfoLabels to substitute,
#                 enclosed within curly braces.  See the status layout
#                 screen text fields for examples.
#
#                 Terms to be substituted can also make use of any
#                 entries defined within the string-manipulation
#                 callback table (see the STRING_CB dictionary in
#                 kodi_panel_display.py)

Hopefully those changes clarify things a little.  If not, please respond.  I'll close this issue if I don't hear from you in a few days.

I realized that I left out the option of using a newly-introduced shared element.  So, the "each entry must ..." text is being updated to read
#   Unless making use of a shared element, each entry must have a
#   'name' key that corresponds to ONE of the following:

I realized that I left out the option of using a newly-introduced shared element.  So, the "each entry must ..." text is being updated to read
#   Unless making use of a shared element, each entry must have a
#   'name' key that corresponds to ONE of the following:

Commit 50bce99 updates all of the example setup files to explain the available 'name' options for entries in the fields array of each layout, as well as the restriction that exists on the use of format_str.
Here is the new text that starts out the Audio Screens comment block:
#   Entries within the "fields" array generally correspond to text
#   fields, but the introduction of the ELEMENT_CB lookup table (if
#   customized) does permit for additional graphical elements.  Such
#   customization does require a bit of Python programming.
#
#   Note that the available InfoLabels can be augmented via use of
#   the AUDIO_LABELS list (see earlier in this file).
#
#   Each entry must have a 'name' key that corresponds to ONE of
#   the following:
#
#     - Exactly matching one of the InfoLabels retrieved from Kodi.
#       Such entries are only rendered if the corresponding InfoLabel
#       is non-empty.
#
#     - One of the callback functions named in either the ELEMENT_CB
#       table or the STRING_CB table.  That string matching triggers
#       execution of the corresponding callback function.
#
#     - An arbitrary string, not matching an InfoLabel or any callback
#       function names, provided that the entry ALSO specifies a
#       'format_str' key.
#
#   The execution path followed by any of the above naming choices is
#   typically expected to yield a text string to display.  Remaining
#   keys that control the rendering of that text are as follows:

The format_str description now reads:
#      format_str Alternatively, rather than using prefix and suffix,
#                 and if one is NOT triggering a callback function, a
#                 formatting string can be specified.  The string
#                 should contain one or more InfoLabels to substitute,
#                 enclosed within curly braces.  See the status layout
#                 screen text fields for examples.
#
#                 Terms to be substituted can also make use of any
#                 entries defined within the string-manipulation
#                 callback table (see the STRING_CB dictionary in
#                 kodi_panel_display.py)

Hopefully those changes clarify things a little. If not, please respond. I'll close this issue if I don't hear from you in a few days.

To be sure to understand:
Shared elements don't need a name field if they have a format_str field
If a shared element have a name field, matching a callback function it will display the callback function ( format_str , preffix/suffix ignored) like any field
fields  within layout (= not Shared elements) need to have a name. depending of the names:

if name match an infolabel (and that infolabel is not empty) it will display  prefix/infolabel/suffix+label or format_str+label
if name match callback function it will display callback function+label (format_str ignored)
If name match nothing (custom name) it will display format_str+label( prefix/suffix ignored)

It is a bit difficult to follow of the possibilities :)

Commit 50bce99 updates all of the example setup files to explain the available 'name' options for entries in the fields array of each layout, as well as the restriction that exists on the use of format_str.
Here is the new text that starts out the Audio Screens comment block:
#   Entries within the "fields" array generally correspond to text
#   fields, but the introduction of the ELEMENT_CB lookup table (if
#   customized) does permit for additional graphical elements.  Such
#   customization does require a bit of Python programming.
#
#   Note that the available InfoLabels can be augmented via use of
#   the AUDIO_LABELS list (see earlier in this file).
#
#   Each entry must have a 'name' key that corresponds to ONE of
#   the following:
#
#     - Exactly matching one of the InfoLabels retrieved from Kodi.
#       Such entries are only rendered if the corresponding InfoLabel
#       is non-empty.
#
#     - One of the callback functions named in either the ELEMENT_CB
#       table or the STRING_CB table.  That string matching triggers
#       execution of the corresponding callback function.
#
#     - An arbitrary string, not matching an InfoLabel or any callback
#       function names, provided that the entry ALSO specifies a
#       'format_str' key.
#
#   The execution path followed by any of the above naming choices is
#   typically expected to yield a text string to display.  Remaining
#   keys that control the rendering of that text are as follows:

The format_str description now reads:
#      format_str Alternatively, rather than using prefix and suffix,
#                 and if one is NOT triggering a callback function, a
#                 formatting string can be specified.  The string
#                 should contain one or more InfoLabels to substitute,
#                 enclosed within curly braces.  See the status layout
#                 screen text fields for examples.
#
#                 Terms to be substituted can also make use of any
#                 entries defined within the string-manipulation
#                 callback table (see the STRING_CB dictionary in
#                 kodi_panel_display.py)

Hopefully those changes clarify things a little. If not, please respond. I'll close this issue if I don't hear from you in a few days.

To be sure to understand:
Shared elements don't need a name field if they have a format_str field
If a shared element have a name field, matching a callback function it will display the callback function ( format_str , preffix/suffix ignored) like any field
fields  within layout (= not Shared elements) need to have a name. depending of the names:

if name match an infolabel (and that infolabel is not empty) it will display  prefix/infolabel/suffix+label or format_str+label
if name match callback function it will display callback function+label (format_str ignored)
If name match nothing (custom name) it will display format_str+label( prefix/suffix ignored)

It is a bit difficult to follow of the possibilities :)

Shared elements don't need a name field if they have a format_str field

Not quite.  The new documentation was meant to provide guidance solely on the contents with a layout's fields array.
The definition of entries within the shared_element table is exactly what an earlier comment block dictates.  Shared elements get dropped into a layout table exactly as they are written.  So, if a shared element is supposed to be dropped into the fields array for a layout, then that shared element must have a name, because every entry within fields must have a name.
In contrast if the shared element is, say, a progress bar, then no name is needed for that (since the prog entry at the top-level of a layout never needs a name).
(As an aside, there are presently just 3 "top-level" entries possible for a layout:

thumb  (cover art)
prog  (progress bar)
background  (your suggestion)

Everything else is an entry within the fields array.  There likely is little need to continue having thumb and prog be top-level entries.  They could likely be folded into the fields array as well, but doing so might break existing setup.toml files.  There likely aren't that many users at present, but it's nice not to surprise people.)

If a shared element have a name field, matching a callback function it will display the callback function ( format_str , preffix/suffix ignored) like any field

Entries within the fields array always need a name.  If that name matches a callback function, then that function is what gets invoked.
Per my first statements above, shared elements might or might not need a name -- it depends upon where the end-user intends on making use of them.

fields within layout (= not Shared elements) need to have a name. depending of the names:
if name match an infolabel (and that infolabel is not empty) it will display prefix/infolabel/suffix+label or format_str+label

Correct.

if name match callback function it will display callback function+label (format_str ignored)

Correct.  The label is suppressed if the callback function returns an empty string.

If name match nothing (custom name) it will display format_str+label( prefix/suffix ignored)

Correct.
Design History
Originally, a name had to exactly match an InfoLabel (aside from the hard-coded special treatment names).  The resulting string was then exactly that InfoLabel, provided it was non-empty.  That was the extent of the original functionality.
Then the prefix and suffix functionality got added.  The InfoLabel still had to be non-empty in order for the prefix and suffix to be employed.
Subsequent to that, I figured out how to make format_str work.  With format strings, prefix and suffix already get ignored (why use those, when the user can just specify that text as part of the format_str itself).
Even though a format_str could make use of any InfoLabel for substitution, having the entry still carry a name was still useful -- the specified InfoLabel could be checked to see if it was non-empty.
The most recent change to the code just permits an entry that has a format_str to use any name it wants.  That might be useful if you have a format_str that contains multiple distinct InfoLabels and always want it rendered.
Summary Attempt

It is a bit difficult to follow of the possibilities :)

I think things can be distilled to the following points:

All entries within a layout's fields array need a `name.  That name can be:

an exact match for an InfoLabel (the specified InfoLabel is checked to see if it is non-empty);
a callback function, as listed in the ELEMENT_CB or STRING_CB tables; or
an arbitrary name, provided one is using a format_str that is always to be rendered.

Shared elements are a "substitution game".

The entire contents of a shared element's table get dropped in where ever the reference to them occurs.
A fields entry that wants to make use of a shared element does so via a shared_element key;  this is the only time an fields entry does not need to specify a name, since that key is assumed to come from the shared element that gets substituted.

The main use cases for the fields array are still

InfoLabels or
callback functions.

Shared elements don't need a name field if they have a format_str field

Not quite.  The new documentation was meant to provide guidance solely on the contents with a layout's fields array.
The definition of entries within the shared_element table is exactly what an earlier comment block dictates.  Shared elements get dropped into a layout table exactly as they are written.  So, if a shared element is supposed to be dropped into the fields array for a layout, then that shared element must have a name, because every entry within fields must have a name.
In contrast if the shared element is, say, a progress bar, then no name is needed for that (since the prog entry at the top-level of a layout never needs a name).
(As an aside, there are presently just 3 "top-level" entries possible for a layout:

thumb  (cover art)
prog  (progress bar)
background  (your suggestion)

Everything else is an entry within the fields array.  There likely is little need to continue having thumb and prog be top-level entries.  They could likely be folded into the fields array as well, but doing so might break existing setup.toml files.  There likely aren't that many users at present, but it's nice not to surprise people.)

If a shared element have a name field, matching a callback function it will display the callback function ( format_str , preffix/suffix ignored) like any field

Entries within the fields array always need a name.  If that name matches a callback function, then that function is what gets invoked.
Per my first statements above, shared elements might or might not need a name -- it depends upon where the end-user intends on making use of them.

fields within layout (= not Shared elements) need to have a name. depending of the names:
if name match an infolabel (and that infolabel is not empty) it will display prefix/infolabel/suffix+label or format_str+label

Correct.

if name match callback function it will display callback function+label (format_str ignored)

Correct.  The label is suppressed if the callback function returns an empty string.

If name match nothing (custom name) it will display format_str+label( prefix/suffix ignored)

Correct.
Design History
Originally, a name had to exactly match an InfoLabel (aside from the hard-coded special treatment names).  The resulting string was then exactly that InfoLabel, provided it was non-empty.  That was the extent of the original functionality.
Then the prefix and suffix functionality got added.  The InfoLabel still had to be non-empty in order for the prefix and suffix to be employed.
Subsequent to that, I figured out how to make format_str work.  With format strings, prefix and suffix already get ignored (why use those, when the user can just specify that text as part of the format_str itself).
Even though a format_str could make use of any InfoLabel for substitution, having the entry still carry a name was still useful -- the specified InfoLabel could be checked to see if it was non-empty.
The most recent change to the code just permits an entry that has a format_str to use any name it wants.  That might be useful if you have a format_str that contains multiple distinct InfoLabels and always want it rendered.
Summary Attempt

It is a bit difficult to follow of the possibilities :)

I think things can be distilled to the following points:

All entries within a layout's fields array need a `name.  That name can be:

an exact match for an InfoLabel (the specified InfoLabel is checked to see if it is non-empty);
a callback function, as listed in the ELEMENT_CB or STRING_CB tables; or
an arbitrary name, provided one is using a format_str that is always to be rendered.

Shared elements are a "substitution game".

The entire contents of a shared element's table get dropped in where ever the reference to them occurs.
A fields entry that wants to make use of a shared element does so via a shared_element key;  this is the only time an fields entry does not need to specify a name, since that key is assumed to come from the shared element that gets substituted.

The main use cases for the fields array are still

InfoLabels or
callback functions.

Commit e078b4d4836a600dbc977104879bcb1d4c663d1e has another update to the example setup files.
The documentation now reads:
#   All entries in the "fields" array" MUST have a name (either
#   specified explicitly or inherited from a shared element
#   reference).  The 'name' key corresponds to ONE of the following:
#
#     - An exact match for one of the InfoLabels retrieved from Kodi.
#       The entry is only rendered if the corresponding InfoLabel is
#       non-empty.
#
#     - An exact match for one of the callback functions named in the
#       ELEMENT_CB table or the STRING_CB table.  That match triggers
#       execution of the corresponding callback function.
#
#     - An arbitrary string (not matching an InfoLabel or any callback
#       function names), provided that the entry ALSO specifies a
#       'format_str' key.  The interpolated format_str always gets
#       rendered.

Commit e078b4d4836a600dbc977104879bcb1d4c663d1e has another update to the example setup files.
The documentation now reads:
#   All entries in the "fields" array" MUST have a name (either
#   specified explicitly or inherited from a shared element
#   reference).  The 'name' key corresponds to ONE of the following:
#
#     - An exact match for one of the InfoLabels retrieved from Kodi.
#       The entry is only rendered if the corresponding InfoLabel is
#       non-empty.
#
#     - An exact match for one of the callback functions named in the
#       ELEMENT_CB table or the STRING_CB table.  That match triggers
#       execution of the corresponding callback function.
#
#     - An arbitrary string (not matching an InfoLabel or any callback
#       function names), provided that the entry ALSO specifies a
#       'format_str' key.  The interpolated format_str always gets
#       rendered.

Very clear, I am closing this issue as it is just a mis understanding of the functions.

Very clear, I am closing this issue as it is just a mis understanding of the functions.


troute network abstractions for NHD and Hy Features based networks

Add a base abstract class for a network, and implementations for both NHD and HY Features.
Manually cherry picked and patched the three classes so that they are consistent with the HEAD of the ngen branch.
The next steps will to look at 3b64c41e04e7a690bcef7c73fb952b0f94f1c964 and see how, at the time, __main__ was refactored to use these structures.  From there, we can extend these data structures as needed and look at refactoring the current entry point to use them.
Along the way, it may be worth looking alt nhd_io and nhd_network and nhd_network_utilities to see what can be moved around and/or deprecated from those modules
Additions

AbstractNetwork
NHDNetwork
HY_FeaturesNetwork

Changes

Added a deprectation warning to extarct_waterbody_connections

Testing

None, yet =(

Notes

This should remain in draft until all commits required from the ngen branch are reviewed and added as needed.

Todos

Testing?!?!

Checklist

[x] PR has an informative and human-readable title
[x] Changes are limited to a single goal (no scope creep)
[x] Code can be automatically merged (no conflicts)
[x] Code follows project standards (link if applicable)
[ ] Passes all existing automated tests
[ ] Any change in functionality is tested
[ ] New functions are documented (with a description, list of inputs, and expected output)
[x] Placeholder code is flagged / future todos are captured in comments
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)
[x] Reviewers requested with the Reviewers tool :arrow_right:

Testing checklist
Target Environment support

[x] MacOS
[x] Linux

I compiled by running ./compiler.sh in t-route folder and then move to t-route/test/HurricaneLaura to run "python -m nwm_routing -f test_AnA_internal_2.yaml".  The run failed with an error saying "No module named nwm_routing".  Is the location of nwm_routing changed?


Missing parent: [mitotic prometaphase]

GO term ID and label for which you request a new superclass

GO:0000236  mitotic prometaphase

New superclass (parent) suggested

should be part of
GO:0000087  mitotic M phase

Reference(s), if appropriate

Prometaphase is the stage of eukaryotic cell division that falls between prophase and metaphase.
Maybe need to adjust the def of GO:0000087   accordingly

Also the same for meiotic prometaphase I


Package request: canard

Project description
Canard. A command line TUI client for the journalist RSS aggregator.
Metadata

homepage URL: https://github.com/mrusme/canard
source URL: https://github.com/mrusme/canard
license: gpl3
platforms: linux, darwin

Add a :+1: reaction to issues you find important.

@hakan-demirli please test #318317


CVE-2015-5237

Grype scan reported CVE-2015-5237.
Please investigate and update .grype.yaml.

A false-positive scan result from grype.
mc team confirmed that mc is using the latest version of protobuf which is versioned v1.28.1.  This new versioning number made grype think that an older/vulnerable protobuf is used in mc.
Closing as not an issue and updating grype ignore list.


Switch to iframe container

https://support.google.com/dcm/partner/answer/2823375?hl=en

Codecov Report

Merging #3 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master     #3   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines          29     29
=====================================
  Hits           29     29

Impacted Files
Coverage Δ

lib/index.js
100% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


make m4 compile time dependency

The cmake build will fail if  m4 is not installed, which occured in https://github.com/georust/netcdf/pull/56, which did not give a clear error message. The user was compiling on a MSVC toolchain which did not come with m4.
Should the cmake build be modified to fail with a useful error in the case where m4 is not available?

I'll clarify the message; we currently check for m4 but the assumption is that a developer will have it on their system.  Not necessarily a good assumption, so I'll revisit that.  The messaging also needs to be clear.  Thanks!

This issue has been fixed


Services are not registering in Admin service

Maybe it's related with the fact that the application is deployed in its own namespace (petclinic) that is different from the default one.

Instructions to deploy: https://github.com/martinabrle/aks-java-demo/blob/main/docs/aks-github-actions.md


ng-quill not working fully in Meteor App

Hi @KillerCodeMonkey ,
This is the new thread for the discussion on technical issue we are facing in our meteor app.
We are using ng-quill 2.1.0 in our meteor app.
the error we are getting is as below :

Hence the text editor is not functional in the UI.

Below are the source code details -
import ngQuill from "ng-quill";
var toolbarModules = ['bold', 'italic', 'underline', 'blockquote', 'link', 'image', { 'header': 1 }, { 'header': 2 }, { 'list': 'ordered' }, { 'list': 'bullet' }, { 'align': [] }, 'code-block'];
var toolbarFormats = ['bold', 'italic', 'underline', 'blockquote', 'link', 'image', 'header', 'list', 'code-block', 'align'];
ngQuillConfigProvider.set({
    toolbar: toolbarModules
}, 'snow', 'placeholder', toolbarFormats);

The HTML Code is as below -
<ng-quill-editor class="textEditor mbot16" ng-model="vraaag" on-content-changed="updateVraag(editor,'explaination.vraag',questionObjectId)" toolbar="true" link-tooltip="true" placeholder="Insert your text here" image-tooltip="true" flex></ng-quill-editor>
Versions used are -
ng-quill - 2.1.0
quill -1.1.9
Hope this information can help out figuring the issue.
Thanks in advance.

not really...
because you do not see the correct place of the javascript error in production build... try to test the app without minified version or create sourcemaps to figure out what the problem is...
it could be that the error has nothing to do with ngquill and is part of your own code. So i will close this issue again, but will maybe answer on your question...
only thing i noticed:
on-content-changed="updateVraag(editor, 'explaination.vraag', questionObjectId)"

Do not know why explaination.vraag is wrapped in single quotes and you should not rename or change the call of your update function.
You should use the callback of on-content-changed like shown in the readme:
on-content-changed="myCallbackFunctionName(editor, html, text)"
Angular works in this way, that the parameters editor, html, text should be named exactly this way, if you want additional parameters add them to this three.
Please let the developers debug the project in a correct way... i am not here to help you with build problems... check your commit history and your build process.
i think it is not my or a ng-quill problem if it working before without any changes and if it working on local machine.
Check out your tabsCtrl and part of html code provided in the error message. bye


fix(dojo-bindgen): typescript code gen

addresses #1804 and fixes duplicate definitions of tokens referenced by models

@Larkooo in the next iteration with the support for array of strings, we should add tests here to ensure the generation is done with the expected content. 👍


Re: Allow to choose single select mode for topic type attribute

I've created a new branch from recent develop branch and picked reviewed commits from #5386

Should I update the date of migration class?

Thanks - I took care of it.

🆗


Add .net 45 file source for 6.2.0

Sorry for the incorrect base here but what I am proposing is make a branch off of the 6.2.0 tag so that this bug can be corrected. That same should be done for ElasticSearch.net.
@Mpdreamz I thought this might be a better way of explaining what I am saying. Thanks!
https://github.com/elastic/elasticsearch-net/issues/3423

Hey @gokussx4 thanks for the PR :smile:
We removed net45 support in between 6.1.0 and 6.2.0 as per:
https://github.com/elastic/elasticsearch-net/pull/3266
The bug was that we left the net45 dependencyGroup in the nuspec file:
https://github.com/elastic/elasticsearch-net/blob/6.2.0/build/NEST.nuspec#L19-L21
We are not building net45 output on 6.2.0 to be included as you propose. We did this very much on purpose as only 4.5.2 is still supported by MS. For now we target the lower end equivalent of netstandard 2.0 but we might even jump that to net47 so that we can start using the latest greatest c# features such as ValueTuple without needing additional nuget packages. We also want to include netcoreapp2.<latest> as explicit TFM so that we can start to make use of the improvements to HttpClient (SocketsHandler) which should bring some stability to the client performance on linux (see #3236).
Moving the needle on our lower end of supported TFM's is never an easy decision but in the long run we feel its for the best. E.g we removed 4.0 support nearly 2 years ago and 3.5 6 years ago.
We can not republish the 6.2.0 package sadly.
I will unlist the 6.2.0 packages tomorrow which is the best we can do at this point. cc @codebrain @russcam.


Create YOUR_BUTTON_Rakesh-116.html

Hey I have changed the code for all codes which I have done till now,
Please do check once..
On Sun, 16 Apr 2023 at 23:17, N. K. K. @.***> wrote:

@.**** requested changes on this pull request.
Please avoid external links. Try to use svgs. or worst case : png files.
—
Reply to this email directly, view it on GitHub
https://github.com/KwickerHub/frontend/pull/196#pullrequestreview-1387006535,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A4QTZUMPE4AVSB56P2HQBMDXBQWCLANCNFSM6AAAAAAW77UIMY
.
You are receiving this because you authored the thread.Message ID:
@.***>


TODO issue points to wrong section of code

Hey again! 👋
I opened a PR on one of my repos earlier and added a TODO comment, but the issue that was reported from this bot was pointing to the wrong section of code. I.e., it pointed to lines 136-141 when it should have pointed to the ballpark of 170.
Here's a link to the line in the diff where I added the TODO.
And the subsequent issue opened by your bot.

Not sure what I did to cause this yet, haven't had time to diagnose this yet. Have you seen behavior like this before?

Hey @hawkins! Thanks for the report!

Not sure what I did to cause this

You did nothing wrong - this is a bug in TODO that I've seen before, but haven't had time to solve (and kept forgetting to open an issue for).
TLDR, it occurs when there are two hunks in the same file in a diff. That looks like:
diff --git a/README.md b/README.md
index 8f65799..f4be99b 100644
--- a/README.md
+++ b/README.md
@@ ... line numbers ... @@
+ changes
- other changes
@@ ... other line numbers ... @@
+ changes
- other changes

I believe that right now its basing the line numbers on the first hunk, rather than the nearest (most relevant) hunk numbers.
Totally open to PRs on this, I won't have time to fix it for a few weeks - if you're a RegEx champ then this is for you 😉

Well you know I'm no champ, you've seen me work with RegEx plenty recently 😉  I'll gladly give this a look though! Thanks for the lightning fast feedback! 👏

Thinking about this some more, I think it may require more than just a RegEx change - might be best to split hunks by @@...@@ lines, then parse those hunks. If modifying the RegEx to grab the nearest hunk numbers is possible that'd be best, but it may not be.

I was thinking it looked like a bit more than a regex change at first glance the other day, too; I'm hoping to take a stab at this sometime tomorrow or this weekend, maybe even while streaming if I can come up with a strategy for tackling it first, since a few more eyes on it could help out. 🤷♂

Sorry for the immense delay on this, life’s been comically in the way of my open source time these last few weeks 🙃😔
No hard feelings if you or anyone else would like to tackle this sooner than I can, @jasonetco. Though if it’s still open next time I have time for OSS, I’ll be back to knock it out!🤞

I've seen a lot more stable URL references as of #165 so I'm going to close this for now. If you're still seeing issues feel free to reopen ✌


New Language Request - CFML - ColdFusion

Language
Adobe ColdFusion - cfml
Additional resources
Adobe ColdFusion Docs
I would not mind helping if I have time and can figure out how to help.

If you had simply searched:

You would find:
https://github.com/PrismJS/prism/pull/2771
Which adds partial support for https://github.com/PrismJS/prism/issues/2035 , which is an already existing request for ColdFusion.
So you might find your issue is already solved in https://github.com/PrismJS/prism/pull/2771 , but if not, at least it's a good base to start from.

Duplicate of #2035.


Batch saving strategy that does not require unique indexes

Batch saving strategy that does not require unique indexes. Using batched SQL we are able to achieve huge saving time improvement.

@miq-bot assign @agrare
@miq-bot add_label enhancement

extenuating circumstances:

For many purposes, it's a struct (largely immutable, but not completely).
There is a lot of added methods, but I [nearly?] all constructor args can
be read back.
As a user of this class, I think of it as a declarative DSL.  There are
tons of options (quite well documented), but you don't need all at once,
most of the time I set 4–6 of them.

Do you have any concrete ideas how a better interface could look?

@cben yes, https://github.com/ManageIQ/manageiq/pull/15627#discussion_r129083075
then the interface would look something like:
saver = ManagerRefresh::Saver.new(:strategy => batch, :check_changed => true, :delete_method => nil)
InventoryCollection.new(:parent => ems, :association => vms, :manager_ref => [:ems_ref], :saver => saver)

# then extract another group ...

I've already did a quick walk-through with @agrare , it will get few more iterations to get the grouping and the naming right. I should have time now, since we are near feature complete solution. :-)
Also, I am still thinking about the right place to pass Settings, since that is tied to EMS, so maybe we will be passing ManagerRefresh::Settings.new(ems) and we will extract the right section there. Also I am thinking what everything should be in the settings and what belongs to Persistor. (so what needs to be dynamically changeable)


[Catch2] Update to 2.3.0

This updates catch2 to 2.3.0
Among other things, with this release, the include path for catch2 header files changes from
#include <catch/catch.hpp>

to
#include <catch2/catch.hpp>

I could add a compatibility forwarder just as it is currently possible to use #include <catch.hpp>, but to be completely honest, I'd rather encourage people to switch to the new official include path than encouraging more and more software to rely on the deprecated one (which was only valid for a relatively short period of time anyway).
Sooner or later, I'd also suggest to remove the current compatibility header that allows #include <catch.hpp>.

Agreed, thanks for the PR!

Thanks for the quick merge (and vcpkg in general). Now I can finally remove all the local copies of catch2 from my projects.


SonarLint - Fixed different warnings from SonarQube

Also tried to fix this very "nasty" bug (Apparently the "last" bug in NLog):
https://sonarcloud.io/project/issues?id=nlog&resolved=false&types=BUG

Is this now also a bug fix?

Nope it is not a bug in NLog, but a bug in Sonar that fails to parse the code.

OK thanks!


[FEATURE] Implement memory control

Allow the system manager to use the memory monitoring to perform memory limit controls to prevent memory overloads that runs OOM exception in a system host level.

Closed by improving memory telemtry readings in nuvlabox/agent#114


use g5_modules's python

The util's env should be consistent with g5_modules

This is a very small changes.  Maybe it is not necessary. @saraqzhang . If you can incorporate the change to your PR, we can close this PR

This is a very small changes.  Maybe it is not necessary. @saraqzhang . If you can incorporate the change to your PR, we can close this PR

close. Will be incorporated into #347

close. Will be incorporated into #347


Different look on different computer with the same build on windows

Is there an existing issue for this?

[X] I have searched the existing issues.

Is this issue related to iced?

[X] My hardware is compatible and my graphics drivers are up-to-date.

What happened?
I made a app that is used to get a random student in class.
It works on my computer.
But when I move the app that is build on my computer to the school's computer, I got a very wired result.
The UI is both Mirror flip and up and down flip.
I don't have the screenshot now but I will upload it tomorrow.
What is the expected behavior?

Version
0.3.0
Operative System
Windows
Do you have any log output?
no

0.3 is quite an old release and many fixes have landed both to iced and wgpu since then.
We recently released 0.4 (see #1328). Could you try upgrading and report back?


not related to coding hw..

Having trouble getting my repo to work as a website in Web dev intro class..
you'd think I'd get this after 2 assignments here, lol!
Anywho, this is the link to get to the repo:
https://hagennathaniel.github.io/web-dev-hw/
and I need to get the 'Project-1' directory to work.
Also, I am not sure the image is working correctly, it's in the right folder as she wanted, but not sure it works right either...
Any assistance there would be greatly appreciated.
Thanks

For some random debugging you have <\h3> instead of </h3> on line 15.
For the image, you'll need to use "./images/ZZ_top.jpg" as your source.  That . at the start of the string moves the directory up one level and then the rest of the string tells it which folder/file to access.
  That's the only thing I can think of off the top of my head.

yeah, that link I posted was from the repo live site I set up...it's the "master" level of the entire course github repository.
and thanks for the random debug, I did it a bit fast.

made the changes I could figure out, but still a 404...
New code, as well as repo location:

almost thinking it's the way the link is set up..
doesn't make much sense though.

the instructor found  the issues, thanks for trying guys!! :)

What were the issues?  I was able to run the site's code just fine locally.  Was it a Git problem?


ci: print spl commit hash for downstream tests

Problem
It's hard to figure out what the spl version is when test it.
Summary of Changes
print it!


Pixel values of the masks

Hi, I am trying to use your code for another segmentation project, I just want to know if the pixels in the masks that you use for training have different values or each one is labeled with a category.
Thanks,

@keilalopezbl I am not sure what is exactly your question, but I guess it is about how many classes does this model support? In this implementation only 1 class is supported, but check out issue #18 for supporting multiple classes.

What I meant is if the masks look like this:
[0 0 0 1.....
0 0 1 0.....
1 0 0 0...]


Add color to words

Add a section to add colors to words according to their importance.

Defining Importance Levels:
Create a scoring system to determine the importance levels of the words. For example, you can define an importance scale from 1 to 3.
Assigning Colors:
Assign a color to each importance level:

Green (Lowest importance)
Yellow
Red (Highest importance)

Database Storage: Store the word's importance level and corresponding color in the database.


Frame rate permanently drops overtime

Bevy version
0.12.1
[Optional] Relevant system information

Windows 10
cargo 1.76.0-nightly (2c03e0e2d 2023-11-16)
tested on two machines : i5, 16gb mem, gtx 970 and i5, 8gb mem, gtx 670

What you did
Created a test program displaying the framerate, and left it running for 8+ hours.
What went wrong
Was expecting framerate to stay at 60 fps. But framerate would decrease over time, down to about 15fps and never recover.
Additional information
Framerate decreases faster when:

more going on (eg lots of entities/components, rendering)
when running another program that has high cpu/gpu usage at the same time as the bevy app

With a barebones bevy app, it can take up to a day or possibly longer for the framerate to decrease.
In my bevy app, the menus are noticeably laggy to interact with after the framerate has dropped to 50-45 fps.
Test code
Cargo.toml :
[package]
name = "hello"
version = "0.1.0"
edition = "2021"

[dependencies]
bevy = "0.12.1"

rust-toolchain.toml :
[toolchain]
channel = "nightly"

main.rs :

use bevy::diagnostic::{FrameTimeDiagnosticsPlugin, DiagnosticsStore};
use bevy::prelude::*;

fn main() {
    let mut app = App::new();

    app
        .add_plugins(( bevy::prelude::DefaultPlugins, FrameTimeDiagnosticsPlugin::default(), ))
        .add_systems(Update, ( show_fps_in_title, )) ;

    app.run();
}

fn show_fps_in_title( mut windows: Query<&mut Window>, diagnostics: Res<DiagnosticsStore>, ) {
    let Ok(mut window) = windows.get_single_mut() else { return; };

    let (fps,avg,smoothed) = diagnostics.get(FrameTimeDiagnosticsPlugin::FPS)
        .map(|x|(x.value().unwrap_or_default(),x.average().unwrap_or_default(),x.smoothed().unwrap_or_default()))
        .unwrap_or_default();

    window.title = format!("{fps:.0} {avg:.0} {smoothed:.0}");
}

Something that can help here: Does let the App running with MinimalPlugins make the FPS lower too?
Maybe we can narrow the major problem a bit

Here's all the default plugins, with as many commented out as possible. I'm testing it now to see if the problem still occurs.
.add_plugins(((
	// bevy::log::LogPlugin::default(),
	bevy::core::TaskPoolPlugin::default(),
	// bevy::core::TypeRegistrationPlugin,
	bevy::core::FrameCountPlugin,
	bevy::time::TimePlugin,
	// bevy::transform::TransformPlugin,
	// bevy::hierarchy::HierarchyPlugin,
	// bevy::diagnostic::DiagnosticsPlugin,
	bevy::input::InputPlugin,
	bevy::window::WindowPlugin::default(),
	bevy::a11y::AccessibilityPlugin,
	bevy::asset::AssetPlugin::default(),
	// bevy::scene::ScenePlugin,
	bevy::winit::WinitPlugin::default(),
	bevy::render::RenderPlugin::default(),
	bevy::render::texture::ImagePlugin::default(),
),(
	// bevy::render::pipelined_rendering::PipelinedRenderingPlugin,
	// bevy::core_pipeline::CorePipelinePlugin,
	// bevy::sprite::SpritePlugin,
	// bevy::text::TextPlugin,
	// bevy::ui::UiPlugin,
	// bevy::pbr::PbrPlugin::default(),
	// bevy::gltf::GltfPlugin::default(),
	// bevy::audio::AudioPlugin::default(),
	// bevy::gilrs::GilrsPlugin,
	// bevy::animation::AnimationPlugin,
	// bevy::gizmos::GizmoPlugin,
	FrameTimeDiagnosticsPlugin::default(),
)))```

Well, to be fair, we could remove the winit and the window by printing in the console the framerate, we could filter frames using the FrameCount and do the check-up only at 10k frames and see if the FPS goes down any further.
(Something like that)
fn checkup(frame_count: Res<FrameCounter>, diagnostic: Res<DiagnosticStore>) {
   if frame_count.0 % 10000 == 0 {
      //Only will check on every 10k, in order to lower possible problems that the println can have
   }
}

The previous test with the window/rendering and minimal plugins still has the issue.
I made another test like you suggested with MinimalPlugins, I made it run 60 times a second and print the framerate every 10 seconds to the console. Testing it now.
use std::time::Duration;

use bevy::time::common_conditions;
use bevy::app::ScheduleRunnerPlugin;
use bevy::diagnostic::{FrameTimeDiagnosticsPlugin, DiagnosticsStore};
use bevy::prelude::*;

fn main() {
    let mut app = App::new();

    app
        .add_plugins((
            MinimalPlugins.set(ScheduleRunnerPlugin::run_loop(Duration::from_secs_f64(1.0 / 60.0,))),
            FrameTimeDiagnosticsPlugin::default(),
        ))
        .add_systems(Update, ( print_fps.run_if( common_conditions::on_timer(Duration::from_secs(10))), )) ;

    app.run();
}

fn print_fps( diagnostics: Res<DiagnosticsStore>, ) {
    let (fps,avg,smoothed) = diagnostics.get(FrameTimeDiagnosticsPlugin::FPS)
        .map(|x|(x.value().unwrap_or_default(),x.average().unwrap_or_default(),x.smoothed().unwrap_or_default()))
        .unwrap_or_default();

    println!("{fps:.0} {avg:.0} {smoothed:.0}");
}

The problem doesn't seem to occur with only MinimalPlugins (after running for a day).

We can probably rule out the World, the App and everything that is within the MinimalPlugins. My guess is that the bevy_winit is at fault here, but not sure why.

Couldn't reproduce this on Linux (Wayland), so maybe it's something specific to Windows?

Or maybe it is something specific of this machine. Could you try maybe a cargo clean and retry to see if framerate drops?

I've had the problem occur on two different win 10 machines, and tried running cargo clean.
It can take quite a while to occur, I'll try come up with a better test to make it occur sooner.

One possible test: Two winit Windows
If the problem is in fact winit, this can shorten the time

We can probably rule out the World, the App and everything that is within the MinimalPlugins. My guess is that the bevy_winit is at fault here, but not sure why.

One possible test: Two winit Windows

If the problem is in fact winit, this can shorten the time

I'll give that a try.
It's going to take a bit of time, for some reason the tests have been taking much longer (days instead of hours) for the problem occur.

I ran the multiple windows without rendering, for a couple of days, I didn't notice any framerate loss. But it can be hard to tell since the framerate without rendering enabled is all over the place.
For the multiple windows with rendering enabled, the issue did occur much more quickly. I believe when the windows are minimised the issue will occur much sooner (Within 5 hours with the windows minimised).
Not sure where to go from there.

I think we have pinpointed that the problem is in fact the Window, I'll have tests on this field as soon as possible and return here.

I ran the test, and it absolutely looks like the problem is happening here. After about 20 minutes, the average fps went from 30 to 20. Another thing worth mentioning is that the memory usage went from 30 to 100 after these minutes, it seems that there is some kind of leak happening.

I hadn't notice the memory leakage.
I tested it with window_render, it seems to happen when a window is minimised, and the leak rate increases for each additional minimised window. I also tested with a single window app, which also leaked.
I tested with the window_norender test, and didn't find any memory leaks.
So the memory leak has to be related to bevy_render?
Also the frame rate loss issue still occurs even when the windows aren't minimised (and the memory isn't leaking).

I updated it for 0.13.
The frame rate loss issue still persists, but the memory seems to leak much slower now.
I also noticed after the frame rate has deteriorated, the memory usage seems to jump around between 40-60 megs. I wonder if something is repeatedly being created and destroyed.


chore(dependencies): Update dependency typescript to v5.4.2

This PR contains the following updates:

Package
Type
Update
Change

typescript (source)
devDependencies
minor
5.3.3 -> 5.4.2

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


example_interfaces: 0.10.0-3 in 'rolling/distribution.yaml' [bloom]

Increasing version of package(s) in repository example_interfaces to 0.10.0-3:

upstream repository: https://github.com/ros2/example_interfaces.git
release repository: https://github.com/ros2-gbp/example_interfaces-release.git
distro file: rolling/distribution.yaml
bloom version: 0.11.2
previous version for package: 0.10.0-2

example_interfaces

No changes

I clearly made some mistake with this release, so closing to do it again.


bug: block write panic

reproduce:
given HCL containing:
some_block {
    attr = "value"
}

hq will panic if the query for writing resolves to a "block"
➜ cat example.hcl | hq '.some_block' write 3
thread 'main' panicked at src/write.rs:48:50:
removal index (is 0) should be < len (is 0)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

expected:
hq should instead just print an error message

➜ cat example.hcl | hq '.some_block' write 3
Error: "unable to write expr as block body"


Fixes imports for Jax 0.4.10->0.4.11

Fixes #178 and #175

@Ivan-Zhou updated this and it fixes #175 now


Is it possible to set a custom titlebar as in WIN UI gallery?

Hi,
It's not really an issue but I'm wondering how to set a custom titlebar (to get rid fo the system title bar).
The exemple given by Microsoft is :
// UIElement set as titlebar
<Border x:Name="AppTitleBar" Grid.Column="1" VerticalAlignment="Top">
    <TextBlock x:Name="AppTitle" Text="{StaticResource AppTitleName}" VerticalAlignment="Top" Margin="0,8,0,0" />
</Border>

// C# code to set AppTitleBar uielement as titlebar
Window window = App.MainWindow;
window.ExtendsContentIntoTitleBar = true;  // enable custom titlebar
window.SetTitleBar(AppTitleBar);      // set user ui element as titlebar

I try to add the Border definition in the xaml but when i do that that raise the following error when I try to read it with XamlReader as in your example:
File "c:\Users\Philippe\Documents\Codes_Python\WinUI-python\winui-python-main\win32more_winrt.py", line 239, in call
raise WinError(hr)
OSError: [WinError -2144665590]
I confess I'm not an expert in windows desktop programmation nor in XAML .
Can you help me or that is not possible at the stage of development of WinUI-python?
Thank in advance
PS: I'm developping on Windows 10 22H2

First of all, I recommend you to learn the basics of XAML with C# before using this Python APIs.
The prefix "x:" currently has been not supported. The "x:Name" tag generates a variable to access its control using the an external tool (XAML compiler). In Python, you need to use FrameworkElement.FindName(String) to get a reference to the named control.
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="32"/>
            <RowDefinition/>
        </Grid.RowDefinitions>

        <Grid Name="AppTitleBar">
            <TextBlock Name="AppTitleTextBlock" Text="App title"
                       TextWrapping="NoWrap"
                       Style="{StaticResource CaptionTextBlockStyle}"
                       VerticalAlignment="Center"
                       Margin="28,0,0,0"/>
        </Grid>

        <NavigationView Grid.Row="1">
            <!-- Page content -->
        </NavigationView>
    </Grid>
</Page>

from win32more.xaml import XamlApplication
from win32more.Microsoft.UI.Xaml import Window
from win32more.Microsoft.UI.Xaml.Media import MicaBackdrop
from win32more.Microsoft.UI.Xaml.Markup import XamlReader
from win32more.Microsoft.UI.Xaml.Controls import Page

class App(XamlApplication):
    def OnLaunched(self, args):
        win = Window()
        win.SystemBackdrop = MicaBackdrop()
        with open("page.xaml", "r", encoding='utf-8') as file:
            win.Content = XamlReader.Load(file.read())
        win.ExtendsContentIntoTitleBar = True
        win.SetTitleBar(win.Content.as_(Page).FindName("AppTitleBar"))
        win.Activate()

XamlApplication.Start(App)

Thank you very much.
I'll follow your advice and learn a bit of XAML 👍
In your ReadMe you say that its also possible to do without XAML, but I suppose that could be more tricky.
Have a nice day.


Python debug test unable to step into third party module

Type: Bug

Behaviour
Expected
When running a python test in debug mode with justMyCode set to false, I should be able to step into and debug third party modules.
Actual
Since v1.92, third party modules are unable to be stepped into with VSCode.
Steps to reproduce:

Clone the demo repo I created at https://github.com/steve148/vscode-test-debug-bug
Install the dependencies with poetry.
Set a break point at the call to the third party module.
Run the test in debug mode.
Try to step into the third party module.

Diagnostic data

launch.json configuration

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Debug Tests",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "purpose": [
                "debug-test"
            ],
            "console": "integratedTerminal",
            "logToFile": true,
            "justMyCode": false
        }
    ]
}

Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)

2024-11-05 22:31:20.287 [warning] Dir "/Users/lennoxstevenson/dev/vscode-test-debug-bug/.pixi/envs" is not watchable (directory does not exist)
2024-11-05 22:31:20.287 [info] VS Code was launched from an activated environment: '.venv', selecting it as the interpreter for workspace.
2024-11-05 22:31:20.287 [info] Python interpreter path: ./.venv/bin/python
2024-11-05 22:31:21.711 [info] > pyenv which python
2024-11-05 22:31:21.711 [info] cwd: .
2024-11-05 22:31:21.735 [info] > conda info --json
2024-11-05 22:31:24.556 [info] Starting Pylance language server.
2024-11-05 22:31:25.671 [info] Discover tests for workspace name: vscode-test-debug-bug - uri: /Users/lennoxstevenson/dev/vscode-test-debug-bug
2024-11-05 22:31:25.683 [info] > . ./.venv/bin/activate && echo 'e8b39361-0157-4923-80e1-22d70d46dee6' && python ~/.vscode/extensions/ms-python.python-2024.18.0-darwin-arm64/python_files/printEnvVariables.py
2024-11-05 22:31:25.683 [info] shell: bash
2024-11-05 22:31:25.716 [info] > ./.venv/bin/python ~/.vscode/extensions/ms-python.python-2024.18.0-darwin-arm64/python_files/testing_tools/run_adapter.py discover pytest -- --rootdir . -s --cache-clear tests
2024-11-05 22:31:25.716 [info] cwd: .
2024-11-05 22:31:30.089 [info] Using configuration in launch.json
2024-11-05 22:31:30.840 [info] CreateEnv Trigger - Skipping for /Users/lennoxstevenson/dev/vscode-test-debug-bug
2024-11-05 22:31:32.684 [info] DAP Server launched with command: /Users/lennoxstevenson/dev/vscode-test-debug-bug/.venv/bin/python /Users/lennoxstevenson/.vscode/extensions/ms-python.debugpy-2024.12.0-darwin-arm64/bundled/libs/debugpy/adapter --log-dir /Users/lennoxstevenson/.vscode/extensions/ms-python.python-2024.18.0-darwin-arm64
2024-11-05 22:31:32.855 [info] Send text to terminal: source /Users/lennoxstevenson/dev/vscode-test-debug-bug/.venv/bin/activate.fish
2024-11-05 22:31:38.576 [info] Using configuration in launch.json
2024-11-05 22:31:38.726 [info] DAP Server launched with command: /Users/lennoxstevenson/dev/vscode-test-debug-bug/.venv/bin/python /Users/lennoxstevenson/.vscode/extensions/ms-python.debugpy-2024.12.0-darwin-arm64/bundled/libs/debugpy/adapter --log-dir /Users/lennoxstevenson/.vscode/extensions/ms-python.python-2024.18.0-darwin-arm64

Output for Python Debugger in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python Debugger)

2024-11-05 22:31:21.739 [info] Name: Python Debugger
2024-11-05 22:31:21.739 [info] Module: debugpy

Extension version: 2024.8.0
VS Code version: Code 1.95.1 (65edc4939843c90c34d61f4ce11704f09d3e5cb6, 2024-10-31T05:14:54.222Z)
OS version: Darwin arm64 24.0.0
Modes:

Python version (& distribution if applicable, e.g. Anaconda): 3.12.7
Type of virtual environment used (e.g. conda, venv, virtualenv, etc.): VirtualEnvironment

System Info

Item
Value

CPUs
Apple M2 Pro (10 x 2400)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabledwebgpu: enabledwebnn: disabled_off

Load (avg)
3, 3, 3

Memory (System)
32.00GB (2.91GB free)

Process Argv
. --crash-reporter-id ccefdccc-a241-4b18-a2ac-fb744e259231

Screen Reader
no

VM
0%

I experienced the same problem with vscode 1.95 and actually it seems related to the python version. With python 3.12 I couldn't step into the third party module, while with python 3.11 or python 3.10 it was possible.

Same here, I've switched to the older version.
Extensions -> Python Debugger -> Select dropdown near Uninstall -> Install specific version -> 2024.10.0

Downgrading to 2024.10.0 also worked for me, thanks @bartektrybala .


async-http-faraday adapter is not threadsafe

When a faraday client is cached in a global or module/class-level singleton variable such that the same client instance may be used across multiple threads, then a concurrent request between threads to the same endpoint may result in a FiberError due to how async-http-faraday caches and reuses clients within the faraday middleware.
This can be demonstrated by adding the following test case to the adapter_spec.rb:
  it 'is threadsafe' do
    connection = Faraday.new(endpoint.url) do |faraday|
      faraday.response :logger
      faraday.adapter :async_http
    end

    delay = 0.1

    run_server(response_delay: delay) do
      expect do
        5.times.map do
          Thread.new { connection.get('/index') }
        end.map(&:value)
      end.not_to raise_error(FiberError)
    end
  end

Because the same Faraday instance is used across multiple threads, and the adapter caches @clients for reuse, the same @clients instance within the adapter may be reused by more than one thread. As a result, when this code runs one or more of these threads may raise FiberError: fiber called across threads while attempting to acquire a resource from the client pool:
     1.1) Failure/Error:
            expect do
              5.times.map do
                Thread.new { connection.get('/index') }
              end.map(&:value)
            end.not_to raise_error(FiberError)

            expected no FiberError, got #<FiberError: fiber called across threads> with backtrace:
              # ~/.rvm/gems/ruby-2.7.8/gems/async-1.31.0/lib/async/semaphore.rb:111:in `resume'
              # ~/.rvm/gems/ruby-2.7.8/gems/async-1.31.0/lib/async/semaphore.rb:111:in `release'
              # ~/.rvm/gems/ruby-2.7.8/gems/async-1.31.0/lib/async/semaphore.rb:101:in `acquire'
              # ~/.rvm/gems/ruby-2.7.8/gems/async-pool-0.4.0/lib/async/pool/controller.rb:290:in `available_resource'
              # ~/.rvm/gems/ruby-2.7.8/gems/async-pool-0.4.0/lib/async/pool/controller.rb:254:in `wait_for_resource'
              # ~/.rvm/gems/ruby-2.7.8/gems/async-pool-0.4.0/lib/async/pool/controller.rb:95:in `acquire'
              # ~/.rvm/gems/ruby-2.7.8/gems/async-http-0.60.2/lib/async/http/client.rb:90:in `call'
              # ./lib/async/http/faraday/adapter.rb:114:in `block (2 levels) in call'
              # ./lib/async/http/faraday/adapter.rb:137:in `with_timeout'
              # ./lib/async/http/faraday/adapter.rb:113:in `block in call'
              # ~/.rvm/gems/ruby-2.7.8/gems/async-1.31.0/lib/async/task.rb:261:in `block in make_fiber'
          # ./spec/async/http/faraday/adapter_spec.rb:116:in `block (3 levels) in <top (required)>'
          # ./spec/async/http/faraday/adapter_spec.rb:38:in `block in run_server'
          # ~/.rvm/gems/ruby-2.7.8/gems/async-1.31.0/lib/kernel/sync.rb:29:in `Sync'
          # ./spec/async/http/faraday/adapter_spec.rb:24:in `run_server'
          # ./spec/async/http/faraday/adapter_spec.rb:115:in `block (2 levels) in <top (required)>'
          # ~/.rvm/gems/ruby-2.7.8/gems/async-rspec-1.17.0/lib/async/rspec/reactor.rb:97:in `block (4 levels) in <module:RSpec>'
          # ~/.rvm/gems/ruby-2.7.8/gems/async-rspec-1.17.0/lib/async/rspec/reactor.rb:57:in `block in run_in_reactor'
          # ~/.rvm/gems/ruby-2.7.8/gems/async-1.31.0/lib/async/task.rb:261:in `block in make_fiber'

I'm unsure exactly how this should be resolved and/or why the client cache exists within the adapter in the first place; however, I'm open to suggestions.
In practice, this became a problem when we started using async-http-faraday to parallelize outbound API requests in an environment where multiple processes run in concurrent threads sharing singleton Faraday instances for the outbound APIs. This shared singleton was not a problem prior to adding the async-http-faraday adapter.

We came across this issue when trying to switch the default adapter to this adapter because of some other libraries. Those libraries set a global Faraday connection and reuse it for all requests. They also don't call close on the connection so we will have had memory leaks eventually, had the FiberErrors not happened first.

I think we can make this safer by default... let me see what I can come up with.

I seem to be able to workaround this by simply patching out the caching for now:
# Workaround https://github.com/socketry/async-http-faraday/issues/31
module Async
  module HTTP
    module Faraday
      class Adapter < ::Faraday::Adapter
        def client_for(...)
          make_client(...)
        end

        def proxy_client_for(proxy_endpoint, endpoint)
          client_for(proxy_endpoint).proxied_client(endpoint)
        end
      end
    end
  end
end

However I didn't monitor this for memory usage yet.
My usecase is using async-http in Sidekiq for a bunch of different upstream APIs, where a lot of client libraries are using Faraday.

@jhass with the latest release, your monkey patch will no longer work (and/or may cause problems).


[CSL-314] Use snapshot when multiple reads must be done for the same version

@gromak
For example, in Pos.Modern.Txp.Storage.Storage.processTx.
It's hard to estimate this task, because we have never used snapshots and some difficulties can arise. If everything goes smoothly, it should take less than 2 hours of course.

@gromak
Another place where it probably makes sense to use snapshot is normalizeTxpLD. However, if we do it under lock on block application, then it's not necessary. Currently we don't have this lock at all.

@georgeee
Gromak: almost impossible to reproduce, though possible

@gromak
Snapshot is necessary in two cases:

In block verification.
In Data message verification.

@gromak
processTx is an example of (2).

@gromak

In block verification.
Currently it's not needed, because verification useless lock. It's bad and there is issue about it: CSL-600.
In Data message verification.
Usually it's not necessary.
For example, it's not necessary in Delegation and GodTossing, because there verification doesn't use DB at all.
Also it's not necessary in Update and Txp, but for another reason. These components store tip in memory state. Also Update currently uses lock, maybe it will be improved, maybe not, but it doesn't really matter.
Suppose we receive data which needs to be verified. In Txp we do all queries to DB first and then do verification and modifications in STM. Suppose that after we started querying DB and before we finished, tip has changed. It means that that we may consider invalid data valid. But in reality nothing bad can happen. Even if we put this data into memory state, we know that we will normalize it before releasing lock. And we can't create block without lock. So having bad data in mempool for a short interval won't have any bad consequences.
————————————————————————————————
Snapshots have been implemented long ago. After that it appeared that we don't need them in block verification/data processing. They will be needed to optimize LRC and for CSL-600, but these are separate issues.


[Unblock Legitimate Site] boomchange.io

**Hello boomchange.io is a good working site. Please unblock website ** Just because someone wanted to do something bad for Boomchange.io (fake competitors).  Please remove from block list .

Merge this in #12


can not play on safari！

a web use your dplayer for all the videos to play online, suddenly oneday I can't play any videos on this website by using my macbook, it can just only play with my iPhone , how is this work?
If you want to report a bug, please provide the following information:

The steps to reproduce.
A minimal demo of the problem via https://jsfiddle.net or http://codepen.io/pen if possible.
Which versions of DPlayer, and which browser / OS are affected by this issue?

so you need provide the name or url of that site and your browser version or we cannot do anything for you
你需要提供这个网站的名字或者网址以及你的浏览器版本（以及系统信息等等） 否则并没法愉快的修复问题


demo is not working.

your demo have error on combobox

Hi, It seems there is still some interest in this repo every once in a while.
The project has not been maintained in at least 3 years, and I probably won't work on it in the near future.
Kivy is an awesome framework - I just don't have time at the moment, please understand.


⚠ ClamAV has degraded performance

In 5bc08d6, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 193 ms

Resolved: ClamAV performance has improved in 23b71ae.


Attempt to provide a fix for the RLS syncing issue.

What kind of change does this PR introduce?
Fix the RLS syncing issue ( #185 ) existing between the independent supabase and postgrest client.
What is the current behavior?
User authentication does not invoke an update in the postgrest-py session, which causes an RLS error to appear as the authentication header remains on the default supabase_key.
What is the new behavior?
If the postgrest-py clients are updated to match:
from typing import Optional

# ...

def from_(self, table: str, auth_token: Optional[str] = None) -> SyncRequestBuilder:
   # Add the auth_token parameter with the default None value
   # to introduce a non-intrusive update that will allow other clients to sync their auth state.
    if auth_token is not None:
       self.session.headers["Authorization"] = f"Bearer {auth_token}"

    return SyncRequestBuilder(self.session, f"/{table}")

# ...

Every .table() call from the supabase client will invoke a _get_auth_token check that will provide either the supabase_key or the new access_token. This resembles the javascript implementation as every fetch call will trigger an 'auth check' function to retrieve the available session.
I am uncertain if this will fix the issue for all 3 login-types.
Additional context
This PR should not be merged before postgrest-py is also fixed (with the proposed snippet and a fixed dependency version).

Thank you for your attempt at fixing this issue. We've gone with a more flexible option which doesn't require passing the auth token to the individual methods and also covers RLS for storage too. https://github.com/supabase-community/supabase-py/pull/560


verilator simulation

in order to simulate the rocket-chip with verilator, I comment two un-compatible codes in the testbench.v and add a verilator segment in the Makefile. VER_FLAGS with --main can let verilator to generate a driver main function automatically and can handler the delay in verilog grammar.

use VCS macro to comment VCS grammar code, use jtag_enable reg to close fuzz when use jtag to debug


Feature/add runtime permission

Basically permission of Asset operation.

Sorry I miss pull request. not master ;)


in_app_purchase: PurchaseStatus is null

I have implemented in-app purchases for my app and have added a non-consumable product in the Play Console. When I test the purchase it goes through successfully. When I call queryPastPurchases() the purchase I made is returned but the status is null instead of pending, purchased or error. I'm using version  ^0.2.0+6 of the library.

I'm running in real device and I have same issue using version  ^0.2.1.

@vince-nyanga Please provide a minimum reproducible example, also your flutter doctor -v output.

Here's flutter doctor -v output
[✓] Flutter (Channel stable, v1.7.8+hotfix.4, on Mac OS X 10.14.6 18G87, locale en-GB)
    • Flutter version 1.7.8+hotfix.4 at /Users/vince/dev/flutter
    • Framework revision 20e59316b8 (7 weeks ago), 2019-07-18 20:04:33 -0700
    • Engine revision fee001c93f
    • Dart version 2.4.0

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.1)
    • Android SDK at /Users/vince/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 10.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.3, Build version 10G8
    • CocoaPods version 1.7.5

[✓] iOS tools - develop for iOS devices
    • ios-deploy 1.9.4

[✓] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 38.2.3
    • Dart plugin version 191.8423
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] IntelliJ IDEA Ultimate Edition (version 2019.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 38.2.4
    • Dart plugin version 192.6459

[!] VS Code (version 1.37.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    ✗ Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 9 (API 28) (emulator)

! Doctor found issues in 1 category.

Steps to reproduce:

Purchase non-consumable product
Query past purchases
Handle past purchase response:

void _handlePastPurchases(List<PurchaseDetails> pastPurchases) {
    pastPurchases.forEach((purchase) {
      print('Purchase status: ${purchase.status}'); // This prints null
    });
  }

I have the same issue when testing in-app purchases for my application using the non-consumable product. Everything runs fine, however PurchaseStatus is null. Therefore I cannot successfully verify if the item was purchased.
Is this affecting only test purchases or also the real ones?
Is there any update regarding this issue? I'm using the latest version in_app_purchase 0.2.2+2
Thanks!

I have the same issue when testing in-app purchases for my application using the non-consumable product. Everything runs fine, however PurchaseStatus is null. Therefore I cannot successfully verify if the item was purchased.
Is this affecting only test purchases or also the real ones?
Is there any update regarding this issue? I'm using the latest version in_app_purchase 0.2.2+2
Thanks!

I discovered a work around that you need only in Android (iOS works fine).
There is some json data called verificationData.  I parse that and look at the purchaseState.  This gives valid information about purchases.  Here is my code.
var purchaseData = jsonDecode(purchase.verificationData.localVerificationData);
return (purchaseData.containsKey("purchaseState") && (purchaseData["purchaseState"] == 0))
? true //purchased
: false;
Note: Make sure you do not call this for iOS.  The jsonDecode will fail, which happened to me.
I hope this helps.

I discovered a work around that you need only in Android (iOS works fine).
There is some json data called verificationData. I parse that and look at the purchaseState. This gives valid information about purchases. Here is my code.
 var purchaseData = jsonDecode(purchase.verificationData.localVerificationData);
  return (purchaseData.containsKey("purchaseState") && (purchaseData["purchaseState"] == 0))
      ? true //purchased
      : false;

Note: Make sure you do not call this for iOS. The jsonDecode will fail, which happened to me.
I hope this helps.

Works flawlessly. Thank you very much for help!

The same issue with purchase id for test purchase. It is null.

Just checking in to ask if this is still an issue? I've tried reproducing this on 0.5.1 using the example app, but to no avail.
When calling queryPastPurchases(), it returns the purchase of the non-consumable with the PurchaseStatus.purchased as it should.
This issue is already quite old, so I can imagine this has already been fixed in the meantime.

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


Split pipelines into various flavours.

Tarides - existing Tarides/OCamlLabs pipelines on deploy.ci3.ocamlabs.io
OCaml - new pipelines for deploy.ci.ocaml.org
Toxis - existing Mirage piplines on deploy.ocamllabs.io

The goal is to have 2 main versions of deployer; one for deploy.ci3.ocamllabs.io and one for deploy.ci.ocaml.org.
Everything for ocaml.org goes onto the deployer under that domain, and everything else stays on ci3.
When the solver service is done, we can migrate the deployer off toxis and retire that GH App
I wanted to avoid having different pipelines on the live branches vs what is present on master.
This means there are now 3 GH Apps:

deploy.ci.ocaml.org @ https://github.com/apps/deploy-ci-ocaml-org
deploy.ci3.ocamllabs.io (confusingly called ocaml.org deployer) @ https://github.com/apps/ocaml-org-deployer
toxis deployer (OCurrent deployer) @ https://github.com/apps/ocurrent-deployer


Deploy Apex stack on OpenShift AWS

Let's attempt to deploy our SaaS stack on OpenShift AWS.

@vishnoianil complete (or maybe obsolete) by the work on operate-first?

@russellb Yes, There is no plan to deploy it on openshift AWS as such, given that we have the Apex SaaS running on operate first cloud. I think the same manifest file can be used for openshift AWS as well. So we can close this issue.


Any chance a 1.12 release?

There's no need. CompatLayer was specifically written to make 1.10 and 1.11 able to run mods with the same files. It's no longer relevant with newer versions, as it doesn't add any content itself, and nothing depends on it anymore.

CompatLayer is useless on 1.12.


Linux 4.18 not support

I can build in Ubuntu18.04 ,but i can't use!
Debug and found ,ZzReplace has someting error!
ZzReplace->route->Dispatch();-> Prepare();->GenRelocateCode error at this
I debug in Ubuntu 14.0,It running.Linux version is 4.4

thx, i will try & fix later. (example code?)
yuzehome<EMAIL_ADDRESS>于2019年6月19日周三 下午2:47写道：

I can build in Ubuntu18.04 ,but i can't use!
Debug and found ,ZzReplace has someting error!
ZzReplace->route->Dispatch();-> Prepare();->GenRelocateCode error at
this
I debug in Ubuntu 14.0,It running.Linux version is 4.4
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jmpews/HookZz/issues/55?email_source=notifications&email_token=ABDSANN3OER2HSDE4AHS44TP3HJAHA5CNFSM4HZGMYKKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G2KAUNA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABDSANJM2U5MN2R7VF2ZXUDP3HJAHANCNFSM4HZGMYKA
.

#include <stdio.h>
#include <unistd.h>
#include "hookzz.h"
size_t (*origin_fread)(void * ptr, size_t size, size_t nitems, FILE * stream);
size_t (fake_fread)(void * ptr, size_t size, size_t nitems, FILE * stream) {
printf("[FileMonitor|fread|model|%p] >>> %ld, %ld\n", ptr, size, nitems);
return origin_fread(ptr, size, nitems, stream);
}
void hook_fread()
{
int status = ZzReplace((void *)fread, (void *)fake_fread, (void **)&origin_fread);
int a  =10;

}
int main()
{
hook_fread();
int t = getpid();
getppid();
FILE* file = fopen("/home/pi/1.txt","r");
char buf[1024] = {0};
size_t n = fread(buf,4,1,file);
//fwrite("1234" , 4 , 1 , file);
fclose(file);
return 0;

}

this is my test code! on ubuntu14.04
Print error!
[!]  [/home/pi/prj/HookZz-dev/srcxx/InstructionRelocation/x64/X64InstructionRelocation.cc:50:GenRelocateCodeTo]
unimplemented code!!!
[!]  [/home/pi/prj/HookZz-dev/srcxx/InstructionRelocation/x64/X64InstructionRelocation.cc:50:GenRelocateCodeTo]
unimplemented code!!!

fixed


Lack of specificity with regard to the level at which the per-user export API is enforced

With regards to below. This leaves it unclear as to whether or not the single call per 5 minutes limitation is enforced at the tenant level, per-user level, or workspace level. I have since confirmed with the product group that this constraint is placed at the per-user capacity level. Please consider revising to reflect that specificity.
"7. Will the export API be available for Premium Per User?
This is currently available for paginated reports, and is restricted to a single call once every 5 minutes. Power BI reports are not supported at this time."

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

ID: 4810006b-6245-ccd5-0d2d-9b1089eb06ab
Version Independent ID: fe970573-f765-75dc-048e-40ef64cf4285
Content: Power BI Premium Per User FAQ (preview) - Power BI
Content Source: powerbi-docs/admin/service-premium-per-user-faq.md
Service: powerbi
Sub-service: powerbi-premium
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Hi, @PATRICKwithMSFT -- thanks for asking! Assigning to the author to investigate.

Hi, @PATRICKwithMSFT -- thanks for asking! Assigning to the author to investigate.

Hi @PATRICKwithMSFT ,
Thank you for your suggestion.  I checked with the Engineer and this is their response: This is currently available for paginated reports, and is restricted to a single call once every 5 minutes on a per user basis.  Power BI reports are not supported at this time.  The updated article will go live later this week.
All the best,
The DOCS team


[WIP] Implemented support for CAN-FD with dynamically sized allocator blocks.

Not all done, please leave initial feedback. Look at todo to see what you can refrain from commenting.
Design:
The design is based around adding a notion of protocol to the interface that will only affect the maximum data size of transmitted frames (output from libcanard).
The received frames (input to libcanard) has been changed to accept an array of variable size to allow receiving from all kinds of interfaces in all kinds of modes (to support bootloaders etc, ref prior discussion).
Convinient types (with data size corresponding to CAN 2B and CAN FD) for reception of CAN frames is provided in canard.h. This is not strictly necessary but avoids the hassle of making sure your type is compatible with the CanardCANframe type.
Constraints:
Transmitted frames != received frames
Due to C being quite awfull I'm not allowed to create the following type
struct CanardTxItem
{
    CanardTxItem* next;
    CanardCANFrame * frame;
};

This forces me to unroll the fields of CanardCANFrame into CanardTxItem like the following
struct CanardTxItem
{
    CanardTxItem* next;
    uint32_t id;
    uint8_t data_len;
    uint8_t data[];
};

After reading the C specification on type compatibility i see no way to safely return a CanardCANFrame* from this type. Which unfortunately means that the whole CanardTxItem must be returned or data must be copied. I don't think this is great, but not terrible either (this being C). We are only returning const pointers of this block so messing up the next field should be considered misuse.
Todos:

[ ] Add FD equivalent tests to what exists for 2B
[ ] Write tests for functionality that is touched and previously did not have tests
[ ] Update the .md files
[ ] Try to massage the FD block size down to 80 bytes
[ ] Attempt to write assert on all properties required to be compatible types for can frame types.

Hello,
how far is this? Would like to use it on a payload for the ISS? CANFD would be nice there.
You are doing great work so far!
Sincerely
Kreolis

Thanks, @Kreolis484. I am supposed to have this finished soon, but there are only 24 hours in a day and my todo list for some reason is not getting shorter. I will get to this (and also the other urgent PR here) as soon as I can; per the roadmap, we are aiming to have this released by Q1 2020.

ISS

Could you perhaps share any details? Maybe even on the forum, perhaps? Thanks in advance!

As discussed with Kjetil in November, I am taking this over so I am going to close this PR and cherry-pick relevant things into my own branch.


Upgrade to new Mojolicious

New major release of Mojolicious is out. We need to upgrade to it and de-bitrot anything that breaks.

Presently the main problem is that Toadfarm is no longer being updated, and is incompatible with the current Mojolicious. Downgrading to Mojolicious-8.73 does work. I believe removing the Toadfarm dependency is the best way to go.
The built-in Mojolicious::Plugin::PODRenderer plugin is no longer available. It has been revived as an external fork, Mojolicious::Plugin::PODViewer.


Update "Step by Step Deployment" documentation

Update deployment process
update the post-deployment process ( like Custom domain)

ARM template seems valid and creates the 5 resources required.
Error on provisioning the Azure Function

The specified project 'C:\home\site\repository\src\shortenerTools' is not valid. It needs to point to either a csproj/vbproj file or to a directory.

Error fixed deployment works.
todos

update Deploy to Azure links(under buttons)
finish updating the docs (removing the no required steps)

The deployment didn't generate any error but the azFunction is not created. The hypothesis is that the project path is not defined and because it's not at the root level it won't work.

[ ] Define working directory


Update outdated node-role taints

Product Version(s):

Issue:

Link to docs preview:

SME review:

[ ] An SME has approved this change.

DOCS review:

[ ] A member of the docs team has approved this change.

Additional information:

Merge checklist:

[ ] Deploy preview inspected wherever changes were made
[ ] Build completed successfully
[ ] Test have passed

LGTM


Bug when running redux-debugger on Flipper

I receive an Uncaught Error when running redux-debugger plugin for my RN app.
Screen shot of the error:
https://imgur.com/O6I1Fcr
Block of code causing error:
https://imgur.com/pC3TpcU
I am adding redux-debugger using RN version 0.67.3, Redux Toolkit version 1.8.0, React Redux version 7.2.6, and React Native Flipper version 0.137.0.

May I know the way you add the createDebugger part to RTK middleware?

Yessir.
import { configureStore } from "@reduxjs/toolkit";
import counterReducer from "../features/counter/counter-slice";

const createDebugger = require("redux-flipper").default;

export const store = configureStore({
  reducer: {
    counter: counterReducer,
  },
  middleware: (getDefaultMiddleware) =>
    getDefaultMiddleware().concat(createDebugger),
});

export type AppDispatch = typeof store.dispatch;
export type RootState = ReturnType<typeof store.getState>;

I then export store and use it with React Redux provider:
const App: React.FC = () => {
  return (
    <Provider store={store}>
      <SafeAreaView style={styles.safeAreaView}>
        <StatusBar barStyle="default" />
        <View style={styles.container}>
          <Text>Hello World! Working with Redux-Toolkit</Text>
        </View>
      </SafeAreaView>
    </Provider>
  );
};

Also, I wanted to mention that when adding redux-flipper as a middleware, it does not update the state of the counter state. I tested it with other middlewares like redux-logger and it updates the counter state accurately.

@plwai Yessir.
import { configureStore } from "@reduxjs/toolkit";
import counterReducer from "../features/counter/counter-slice";

const createDebugger = require("redux-flipper").default;

export const store = configureStore({
  reducer: {
    counter: counterReducer,
  },
  middleware: (getDefaultMiddleware) =>
    getDefaultMiddleware().concat(createDebugger),
});

export type AppDispatch = typeof store.dispatch;
export type RootState = ReturnType<typeof store.getState>;

I then export store and use it with React Redux provider:
const App: React.FC = () => {
  return (
    <Provider store={store}>
      <SafeAreaView style={styles.safeAreaView}>
        <StatusBar barStyle="default" />
        <View style={styles.container}>
          <Text>Hello World! Working with Redux-Toolkit</Text>
        </View>
      </SafeAreaView>
    </Provider>
  );
};

Hi @Isaacmeedinaa, it should be createDebugger() instead of createDebugger. This function do flipper connection initialization and return a function for middleware.

 That makes total sense. It works now. Thank you!


Breakpoints are rendered before normal styles when bundled using tailwind

This only happens when bundled with tailwind cli. The CDN static css works as expected.
This is due to the placement of width media query directives before the general css directives in the released npm package.

Moving the media assignment code below the base css assignments solves this issue. Please let me know if i can submit a PR.

Hello @osiloke
Thank you for reporting this issue. You are absolutely right that it only occurs when bundled with Tailwind CLI, whereas the CDN static CSS works as expected.
Have you considered installing PostCSS alongside Tailwind CLI? Alternatively, you could use npm create vite@latest, which comes with built-in PostCSS support. This would allow you to simply run npx franken-ui init -p and have everything set up for you.
Regarding your suggestion to move the media assignment code below the base CSS assignments, I appreciate your willingness to submit a PR. However, I believe I've explored this solution before and found that it can still cause issues due to improper sorting. I know, it's weird. I expected browser to sort rules by themselves but I was wrong. If I remember correctly, it's the Width component that's malfunctioning.
During the early releases I discussed this in the docs. But, it already been updated multiple times and eventually got removed and replaced by the CLI method.
The simplest solution would be to utilize PostCSS, which is already included in the package. This would eliminate the need for additional installations and also remove duplicated rules caused by hooks.
module.exports = {
	plugins: [
		require('tailwindcss'),
		require('franken-ui/postcss/sort-media-queries')({
			sort: 'mobile-first'
		}),
		require('franken-ui/postcss/combine-duplicated-selectors')({
			removeDuplicatedProperties: true
		})
	]
};

Ok that makes sense. I'm using a Go/HTMX setup so vite is not an option.
However, the postcss fix works. Thank you for the suggestion.

Ok that makes sense. I'm using a Go/HTMX setup so vite is not an option.
However, the postcss fix works. Thank you for the suggestion.


[Docs]: Google sheets docs shows new flow

Is there an existing issue for this?

[X] I have searched the existing issues

Documentation Link
https://docs.appsmith.com/reference/datasources/querying-google-sheets
Discord/slack/intercom Link
No response
Describe the problem and improvement.
The new Google sheets flow was added to the docs during rehaul, but this feature is not yet available to users. We need to check the flow on a non-Appsmith account and update this page accordingly

PR ready


pull: leverage local credentials

Pull will now leverage local credentials exclusively when fetching images.
Additionally, there is an option to specify that pull should use the CRI backend instead of containerd. This is passed through on the criv1.ImageSpec via annotations.
Platform can be specified when pulling and is passed into the containerd-pull backend via criv1.ImageSpec annotation.
Fixes #2
Signed-off-by: Jacob Blain Christen<EMAIL_ADDRESS>

So, @cjellick and @ibuildthecloud: it turns out that I was neglecting to pass through the client-supplied auth to the CRI backend when pulling. Works just fine!


Testing

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

Action Performed:
Testing this https://expensify.slack.com/archives/C01GTK53T8Q/p1648494938982909
Expected Result:
Describe what you think should've happened
Actual Result:
Describe what actually happened
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platform:

Where is this issue occurring?

Web
iOS
Android
Desktop App
Mobile Web

Version Number:
Reproducible in staging?:
Reproducible in production?:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL:
Issue reported by:
Slack conversation:
View all open jobs on GitHub

We need a non C+ external contributor to test this, thanks anyways.


Update Edictor file

This file should substitute the previous one. It has a different name from the previous one too.

Very well done, @thiagochacon, now that you know how it works, you'll also be able to change, e.g., the language settings, where we also have files, etc. where you may want to change information.


fix: escape special chars in the filename.

Can be tested with file a%27b%27c.bin.
See :h fnameescape for more details.

Thanks!