NDRS-876 - track metric for last block time

Adds metrics for time_of_last_finalized_block, block_completion_duration and fixes an unregistered metric time_of_last_proposed_block.
Talking with @EdHastingsCasperLabs time_of_last_added_block wasn't going to be meaningful, so we pivoted to instead record block_completion_duration.

bors r+


Feature request: Support more than column_number, like columnDefs.targets

Just like columnDefs.targets it would be nice to support a class name.
I have a set of default  columns across a few of my tables, some define them in different orders. Because of this, I use the string target type so my defs are matched up to the column name and everything just works.
Being forced to provide a 0-based index to column_number throws a wrench in my setup. I now have to iterate the  columns and store my YADCF definitions in such a way that they can be retrieved by a name, and then I must assign numbers. This is some pretty unfortunate boilerplate.
Please support a target options that can take a string.

Please provide a minimal code sample to explain what do you exactly mean / which to work that way...

Desired Feature:

        Description
        Name

  var myTable = $('#example').DataTable();

  yadcf.init(myTable, [
    { targets : '.Name' }
]);
});

Notice how to init a yadcf column I can now use targets: '.classname'.
Imagine now, that I can re-use the yadcf.init all around my code base and the order of my columns no longer matter.

Please post a minimal working example (jsfiddle / etc)

@vedmack
http://jsfiddle.net/Lord_Zero/7zx8htof/40/
Both tables share the same columnDefs, and the same yadcf options. But the HTML tables define the columns in different orders. This is currently not possible with yadcf because the library forces us to provide the column index instead of letting us provide any [column-selector](https://datatables.net/reference/type/column-selector) we want.

Try 0.9.4.beta.10, see it in action here
Usage is as follows (notice its not camel case since from the start I used _ separated:
column_selector: '.Description',

@vedmack Great job on this! I appreciate it. I am also thankful that you pass the column_selector option directly to .column() thereby making it more flexible for us.
When do you expect to do a release?

@VictorioBerra, you are welcome...  if you referring the npm module update - then I will update the beta on npm the day after tomorrow

Checking in, any word on the NPM package?

Heya...
npm install yadcf@beta


Should we include an ILogger as part of ApiCall etc?

For GAX v4, we've got a dependency on the logging abstractions anyway.
If we added ILogger to ServiceSettingsBase (or potentially ClientBuilderBase, or both) we could add per-client logging, including retries etc.
If we added an ILoggerFactory instead, we could potentially create the logger ourselves with the right client name.

(We should probably prototype this before v4, to see whether we need to implement it properly before v4 ships or whether it could be added afterwards.)

After a few minutes of looking, we'd either need to add an ILoggerFactory or ILogger to ServiceSettingsBase, or add an ILogger parameter to the constructor of each client implementation type. The latter would probably be the most sensible approach, to be honest - and would definitely need to be done before the major release.

Weird idea: we could include ILogger in CallSettings. Probably not a good idea, but worth at least considering...

(CallSettings would actually make this somewhat easier to plumb through, although we'd also want the method name to be plumbed through too, which is trickier...)

Interesting decision: a single logger for the client, or a logger per method? The latter makes it easier to give different log levels to different methods...

Ha! Good point, yes. Not entirely sure the best way of doing that, but we can come to it later...

This was implemented in #559.


Chrisda to Master

Docs Build status updates of commit 3be7b33:
:clock10: Full build: the average full build time is 17 min(s) 42 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit 3be7b33:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/exchange.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/mapping/serviceMapping.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


fix: ensure activity name is used when activity label is not defined

:bulb: Motivation and Context

The loadLabel method was loading the application label when an activity label was not defined. This change ensures that when an activity label is not defined, it defaults to the activity name instead of the application label. This improves the accuracy of screen name logging.

fix #150
:green_heart: How did you test it?

Unit tests were updated and run to verify the behavior of the new activityLabelOrName method.
Additional test scenarios were added to ensure that the correct labels are returned when activity and application labels are the same or empty.
Verified that existing tests pass without any issues.

:pencil: Checklist

[x] I reviewed the submitted code.
[x] I added tests to verify the changes.
[ ] I updated the docs if needed.
[x] No breaking change or entry added to the changelog.

it does not fix https://github.com/PostHog/posthog-android/issues/150 but addresses another issue.

@thisames would add a new item to the changelog file https://github.com/PostHog/posthog-android/blob/main/CHANGELOG.md ?

for sure =)

@thisames type make format and commit to fix the lint issues


Added unit tests to welcome screen

Added 3 x unit tests to welcome screen to test onPress event fires
Added 1 x snapshot test

Fixed the merge conflicts. The package-lock.json hopefully doesn't break things, we should remove it from the repor.

Fixed the merge conflicts. The package-lock.json hopefully doesn't break things, we should remove it from the repor.

I think Somesh thinks differently, he had a chat with people at Expo and they suggested leaving it in?

Package locks should be committed into repositories, whether that’s NPM or Yarn
https://github.com/npm/npm/blob/v5.0.0/doc/files/package-lock.json.md

I'm going to attempt to merge this in again.


Release

Batch stats + small UI fixes

Codecov Report
Base: 67.62% // Head: 67.72% // Increases project coverage by +0.10% :tada:

Coverage data is based on head (def1c7b) compared to base (d203343).
Patch coverage: 92.59% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #343      +/-   ##
==========================================
+ Coverage   67.62%   67.72%   +0.10%
==========================================
  Files          71       71
  Lines        5560     5581      +21
==========================================
+ Hits         3760     3780      +20
- Misses       1800     1801       +1

Impacted Files
Coverage Δ

db/python/layers/sequence.py
80.23% <0.00%> (ø)

test/test_web.py
100.00% <ø> (ø)

db/python/tables/sequence.py
86.19% <90.00%> (+0.19%)
:arrow_up:

api/routes/web.py
60.00% <100.00%> (+1.50%)
:arrow_up:

db/python/layers/web.py
94.80% <100.00%> (+0.32%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Adding NFC/RFID support

Thanks to @adonno - adding RFID reader (external) to HA.
Also, some of the tags are added:

card
FOB
wristband

So, to prepare for future ideas (there are some that I'll share in next video), I've create placeholder automations for each possible combination (with tag reader and by using mobile app).
For now, I'll leave them as is - just blinking LED when scanned.

Waiting for BUNCH of tags to arrive. Until them, closing this.


AAD UI /4

Fixes #7224

@javiercn  I'm almost finished with this but with .NET 6, I get
warning CS0618: 'AzureADDefaults' is obsolete: 'This is obsolete and will be removed in a future version. Use Microsoft.Identity.Web instead.


Updated to graphic renderer sample

@shellygill Please review these updates.  Removed the dependency on the MapView listener.  In sync with common sample design.

Thanks @doneill - few comments but no specific problems found in the code, very clean!
One comment I had though was that the point of a renderer is to draw multiple symbols using the same Symbol object, instead of having lots of symbols all with a separate instance of Symbol, which might all have the same visual properties. Would it be better to demonstrate this by adding a number of points and then setting a renderer that's used to display all of them, for example? What do you think?

Thanks @shellygill I have updated some of your comments and will merge.


check git repository when ref is a tag fails

When the ref of a recipe is a tag, the check of the repository integrity fails, as the ref is compared with the commit id and not the tag name

looks like a blocker for 1.1 ?


Extract podcasts from videos section into its own section

... and add the "PHP Roundtable" Podcast by @SammyK

Thanks.


[ECS] Skip BracesFixer

Same with https://github.com/rectorphp/rector-src/pull/1939#issuecomment-1068878332, the BracesFixer seems cause inlined method after {

I think this will be rather caused by co-behavior with https://github.com/symplify/symplify/pull/4002

Ok 👍 , I will check.

@TomasVotruba I created 2 PR to skip StandaloneLineConstructorParamFixer instead:

https://github.com/symplify/symplify/pull/4007
https://github.com/rectorphp/rector-src/pull/1940

temporary until we can get it fixed.

Reverted, now the skipped rule is StandaloneLineConstructorParamFixer


Convert to using Pipelines

[ ] Replace main.Classifier with a sklearn.pipelines.Pipeline.
[x] Implement a learning curve using the pipeline.

Currently, I've used a different class because the Pipeline isn't working as expected. If someone could review this, that'd be great.


Fix SIQA gold indices

A slight bug in the dataset generation code resulted in erroneously writing that all questions had gold_idx=0. I fixed it to accurate indicate the correct answer indices.

pretty simple change, I approve


Fix bug in subscription due query.

@rjmk This fixes a bug that meant if a member had never had a subscription payment then no results would come up and no payments would be inserted.

👍


ios: added eventEmitter, secureTextField

Hello, i was trying last days to get your plugin working under IOS 16. So, i've modified the ios code to create secure text field and put it under the main rootView.
new methods added:

addListener - sets listener to native UIApplicationUserDidTakeScreenshotNotification
enableSecureView - creates UITextField under the rootView which causes that the application view is white on screenshots

everything is experimental, i tested it only on two physical devices
it's like for your inspiration to update your plugin, because i hope you're better in ObjC :-))

and tell me, do you have the "disableSecureView" method commented out because it has not been completed yet?

exactly, i was trying to implement this method, but after that my app was always crashing... i guess you are more skilled in ObjC and you can fix it :)

and so - the idea is good with "enableSecureView" ))

for now yes, because your original method makes a blurry view on IOS when the app becomes inactive... I just wanted to keep this functionality, it is good to have blurred app for example in OS task switcher. SecureView also works against screen recording.

but it should be possible to turn it off from under the code by calling the desired method :-)
and so it turns out - we will give the application the opportunity to blur, but back - no way )

exactly, i was trying to implement this method, but after that my app was always crashing... i guess you are more skilled in ObjC and you can fix it :)

there just isn't enough time for everything :-(

but it should be possible to turn it off from under the code by calling the desired method :-) and so it turns out - we will give the application the opportunity to blur, but back - no way )

Totally agree... for my own purposes is enough to make app secure and i hope it will help... For now is good to have at least partial functionality.

Totally agree... for my own purposes is enough to make app secure and i hope it will help... For now is good to have at least partial functionality.

I completely agree. thank you for your help )


fix #2477

I've made regex to lower case so that lower case body can be compared with lower case regex.

Would the regex option IGNORECASE be a better fit here?

Thanks! 😃 🍰


Firing triggers from blackbox containers

From @vinodmut :
What's the right mechanism to fire triggers from a blackbox container? Unlike Javascript actions, there's no SDK the developer can use.
The simplest option is to use the /triggers API.
This came up in the context of asynchronous results, where the async result is sent in a trigger event.

Use the API.


Grid not affected by breakpoints defined in custom theme

Fantastic work with v1 btw!
I'm using v1 and unfortunately I need to temporarily support some legacy breakpoints so I tried overriding the breakpoints when creating the theme like it shows in the documentation. For example:
breakpoints: {     keys: ['xs', 'sm', 'md', 'lg', 'xl'],     values: [360, 800, 960, 1280, 1920],   },
When implementing the <Grid/>.  sm still breaks at 600 not 800.
I use the createMuiTheme function to generate the custom theme and other items are styled just fine.  Just the breakpoints it seems aren't being picked up somehow.
Am I not understanding how to implement this?

You are most likely not using the right API to make it work (have a look at createBreakpoints.js).
We are going to need a reproduction example to help.
Still, I have had concern for a long time around the breakpointsMap, key, values` different structure mess. This issue surface this core issue. I think that it would be great to take care of it once for all.

@oliviertassinari sure, this is what I did.  I assumed that the Grid would break.  Am I doing something wrong here?  when I pass other items to createMuiTheme it works fine.
App.js
const muiTheme = createMuiTheme({
  breakpoints: {
    keys: ['xs', 'sm', 'md', 'lg', 'xl'],
    values: [360, 768, 992, 1200, 1440],
  },
);
const App = ({ children }) => (
  <MuiThemeProvider theme={muiTheme}>
    {children}
  </MuiThemeProvider>
);

App.propTypes = {
  children: PropTypes.node,
};

App.defaultProps = {
  children: undefined,
};

export default App;

FullWidthGrid.js (taken from https://material-ui-1dab0.firebaseapp.com/layout/grid/)
import React from 'react';
import PropTypes from 'prop-types';
import { withStyles } from 'material-ui/styles';
import Paper from 'material-ui/Paper';
import Grid from 'material-ui/Grid';

const styles = theme => ({
  root: {
    flexGrow: 1,
    marginTop: 30,
  },
  paper: {
    padding: 16,
    textAlign: 'center',
    color: theme.palette.text.secondary,
  },
});

function FullWidthGrid(props) {
  const classes = props.classes;

  return (
    <div className={classes.root}>
      <Grid container spacing={24}>
        <Grid item xs={12}>
          <Paper className={classes.paper}>xs=12</Paper>
        </Grid>
        <Grid item xs={12} sm={6}>
          <Paper className={classes.paper}>xs=12 sm=6</Paper>
        </Grid>
        <Grid item xs={12} sm={6}>
          <Paper className={classes.paper}>xs=12 sm=6</Paper>
        </Grid>
        <Grid item xs={6} sm={3}>
          <Paper className={classes.paper}>xs=6 sm=3</Paper>
        </Grid>
        <Grid item xs={6} sm={3}>
          <Paper className={classes.paper}>xs=6 sm=3</Paper>
        </Grid>
        <Grid item xs={6} sm={3}>
          <Paper className={classes.paper}>xs=6 sm=3</Paper>
        </Grid>
        <Grid item xs={6} sm={3}>
          <Paper className={classes.paper}>xs=6 sm=3</Paper>
        </Grid>
      </Grid>
    </div>
  );
}

FullWidthGrid.propTypes = {
  classes: PropTypes.object.isRequired,
};

export default withStyles(styles)(FullWidthGrid);

@justinhp I have been refactoring this part of the theme. I have noticed no issues while testing it. Use breakpointsMap key with beta.11 and values key with beta.12.

@oliviertassinari thank you for your support on this!  I'll test this out and let you know how it goes.

@oliviertassinari Works great! Thanks for the help and I like the new approach. Is there a set date to release v12? Just so I can keep my eye out for when to expect that breaking change.

I will release it this week-end.


Runtime Error on simple Cartesian motion

Hi @JeanElsner,
thanks for the great work here. I came across an edge case in the Cartesian motion generation. Executing the following code ...
T_0 = panda_py.fk(constants.JOINT_POSITION_START)
T_1 = T_0.copy()
T_1[0, 3] += 0.35
T_1[2, 3] -= 0.2
# T_1[1, 3] -= 0.2

panda.move_to_joint_position(constants.JOINT_POSITION_START)

panda.move_to_pose(T_1,
                   speed_factor=0.05,
                   stiffness=2 * np.array([600, 600, 600, 600, 250, 150, 50]))

produces the following error:
INFO:panda:Connected to robot (<IP_ADDRESS>).
INFO:panda:Panda class destructor invoked (<IP_ADDRESS>).
INFO:panda:Initializing motion generation (moveToJointPosition).
INFO:motion:Computed joint trajectory: 1 waypoint, duration 2.10 seconds.
INFO:panda:Starting new controller (Trajectory).
INFO:panda:Stopping active controller (Trajectory).
INFO:panda:Initializing motion generation (moveToPose).
INFO:motion:Computed Cartesian trajectory: 1 waypoint, duration 4.24 seconds.
INFO:panda:Starting new controller (Trajectory).
ERROR:motion:IK failed at time 3.11, prior to waypoint 1. Goal may be outside of workspace.
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
Cell In[77], line 10
      6 # T_1[1, 3] -= 0.2
      8 panda.move_to_joint_position(constants.JOINT_POSITION_START)
---> 10 panda.move_to_pose(T_1,
     11                    speed_factor=0.05,
     12                    stiffness=2 * np.array([600, 600, 600, 600, 250, 150, 50]))

RuntimeError: IK produced NaN.

When I shift the goal pose in y (see line 5 in the code above), the motion works but the first joint turns around very quickly. Let me know, if you need more data or how we can debug this.
Best,
Jan

Hi Jan,
thanks for the report! The Cartesian motion generator creates a trajectory based on linear paths between the provided end-effector poses. If the IK fails, as suggested by the error message, there actually is no solution (the IK is analytical and looks for case-consistent solutions). Alternatively, you could try using joint motion generation by converting the Cartesian pose to joint positions using forward kinematics. Except for collisions (including self-collisions) there is always a path in joint state connecting two poses.
Maybe what you're looking for is motion or path planning that actually takes joint limits and collisions into account. This is not supported by panda-py directly yet, but I'm looking into solutions (either by integrating it directly in the C++ backend or building a Python model on top of panda-py).
To make sure this is not a bug, can you provide me with the initial pose you use to run the code? Is it the standard starting pose?

Thanks for your response! It was indeed the standard starting pose. So you can execute the code after unlocking your panda.
The motion should totally be feasible. And the issue happens exactly when the robot is passing the singularity of joint 0 and joint 2 being aligned.
I made the script more precise for you.
from panda_py import constants
import panda_py
panda = panda_py.Panda(hostname)

print()
print("constants.JOINT_POSITION_START: ")
print(constants.JOINT_POSITION_START)
print()

T_0 = panda_py.fk(constants.JOINT_POSITION_START)
T_1 = T_0.copy()
T_1[0, 3] += 0.35
T_1[2, 3] -= 0.2
# T_1[1, 3] -= 0.2

panda.move_to_joint_position(constants.JOINT_POSITION_START)

try:
    panda.move_to_pose(T_1,
                   speed_factor=0.05,
                   stiffness=2 * np.array([600, 600, 600, 600, 250, 150, 50]))
except RuntimeError as e:
    print(e)

print()
print("JointState close to failure")
print(panda.q)

results in
INFO:panda:Connected to robot (192.168.88.xxx).
INFO:panda:Panda class destructor invoked (192.168.88.xxx).
INFO:panda:Stopping active controller (Trajectory).
INFO:panda:Initializing motion generation (moveToJointPosition).
INFO:motion:Computed joint trajectory: 1 waypoint, duration 2.09 seconds.
INFO:panda:Starting new controller (Trajectory).

constants.JOINT_POSITION_START:
[ 0.         -0.78539816  0.         -2.35619449  0.          1.57079633
  0.78539816]

INFO:panda:Stopping active controller (Trajectory).
INFO:panda:Initializing motion generation (moveToPose).
INFO:motion:Computed Cartesian trajectory: 1 waypoint, duration 4.24 seconds.
INFO:panda:Starting new controller (Trajectory).
ERROR:motion:IK failed at time 3.10, prior to waypoint 1. Goal may be outside of workspace.
IK produced NaN.

JointState close to failure
[ 4.07380508e-02 -1.10497193e-03 -3.99322398e-02 -1.98261358e+00
 -3.44854521e-03  2.02047282e+00  7.80826435e-01]

You see that the first three joints are very close to zero.

And here is a video: https://youtu.be/YmotsV75smE?si=sfE6ZL3pELoFK1YH

And here is the result of ik_full on the critical joint state


Bug - Views after being copied should append blog directory to layouts

By default it can be confusing that all the views still reference all the original monologue gem views (at monologue) but your blog gets generated on a similar file system setup and it can take a couple seconds to realize 'Oh, I need to change all these URLs to reference my new filesystem or itll not reflect any changes.'

I don't understand what you mean here, can you give me an example please?

Sorry, let me explain more.
So, one thing that happens after you run the rake task to get views copied over to your Rails application is that the render statements default to the original gem views.
This can be confusing.

For example, on first glance

<!DOCTYPE html>

  <%= render 'layouts/monologue/application/head' %>

      <%= rss_icon %>

<a href="<%= root_path %>"><%=Monologue::Config.site_name%>

<%=Monologue::Config.site_subtitle%>

      <%= render partial: "layouts/monologue/application/social_icons" %>

      <% flash.each do |name, msg| %>

          <%= msg %>

      <% end %>

      <%= yield %>

      <%= render 'blog/layouts/monologue/application/sidebar' %>

  <% if content_for?(:footer) %>

      <%= yield :footer %>

  <% end %>
  <%= render 'layouts/monologue/application/disqus' %>
  <%= render 'layouts/monologue/application/gauge_analytics' %>

The disqus, guage_analytics, etc are all from the gem but my sidebar is from my override. It would be nice if it just defaulted all items when you copy over the views to the newly copied views instead of defaulting to the gem. The paths can be confusing.

Ah, that's how Rails works. Maybe it could be worth adding a note in the README or somewhere about that, though? Thoughts?

Right, it's how Rails works for the rendering but the Rake task should be able to just modify the html as it's copied over for you - no?

Yeah, the generator should def be fixed or tell you to copy them over.

Should be a simple patch at least.

PR welcome :-)
On Fri, Nov 11, 2016, 11:39 AM Ben Nelson<EMAIL_ADDRESS>wrote:

Should be a simple patch at least.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jipiboily/monologue/issues/294#issuecomment-259998294,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA_jVRnxJ1AfNsQXSpQDkcduV6wy6Ja2ks5q9Jo9gaJpZM4KsD70
.


Registry URL omitted from dependency information

This means you can't identify if crates are from crates-io or an alternative registry, which may result in false positives in subsequent scanning.
Perhaps crates-io could be special cased, so that the URL is included? That would at least allow differentiation between crates-io and alternative registries. (I'm assuming rust-audit doesn't include the source from cargo_metadata directly for privacy reasons e.g leaking URLs/ git repo structure)

I'm assuming rust-audit doesn't include the source from cargo_metadata directly for privacy reasons e.g leaking URLs/ git repo structure

Yes, that's exactly the case.
There is a lot of ambiguity on whether a crate came from crates.io originally or not, even if we do provide that info. Vendored crates, as well crates.io crates mirrored into local registries will result either in false positives or false negatives no matter what, provided the names clash. If a crate came from a local registry but was originally mirrored from crates.io, not reporting a security issue with it would be a false negative. So even if we expose the "it came from crates.io" flag, I don't think auditing software should ignore vulnerabilities if the registry isn't crates.io.
Sadly I don't see a good solution here, other than avoiding name clashes.

Vendored crates using [sources.crates-io] replace-with must have the same source as the original on crates.io. Cargo enforces this using hashes in Cargo.lock and a file containing file hashes in the vendored source. So for all intents and purposes you can use the crates.io registry url for such vendored crates.

Ah, that's encouraging. Can the same be applied to mirroring to private registries?

Anyway, that's probably good enough to include crates.io as a separate source. The issue with registries, if it still exists, is not a showstopper - the tooling consuming this data can be tuned to produce either false positives or false negatives depending on the preferences of the user. It's probably not correct to force false positives on the format level.

Can the same be applied to mirroring to private registries?

If replaced-with is used to replace the crates.io registry with the private registry, yes. If instead it is used as separate registry independent of crates.io, no. One thing to note though is thatvof the private registry is exclusively used, and crates.io is never used, Cargo.lock may still end up with incorrect hashes without any way for cargo to detect this. You could embed the hashes in the audit data to mitigate this.

I've implemented recording crates.io as a distinct source in b7609b9daf1456ab48857ce3b7b2a12d0fd5d551; let me know if this solves it for your use case, or if anything else is needed.


2.8.8: unknown TLS options w/ Kubernetes CRD.. added or not found? confusing log messages

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you do?
Traefik 2.8.8 on k8s
namespace: traefik-external
relevant startup options:
- --providers.kubernetescrd
- --providers.kubernetescrd.ingressClass=traefik-external
- --providers.kubernetesingress
- --providers.kubernetesingress.ingressendpoint.publishedservice=traefik-external/traefik-external
- --providers.kubernetesingress.labelSelector=traefik-context=external
- --providers.kubernetesingress.ingressClass=traefik-external
- --providers.kubernetescrd.namespaces=traefik-external,my-apps

tls option within this name pace:
apiVersion: traefik.containo.us/v1alpha1
kind: TLSOption
metadata:
  labels:
    app.kubernetes.io/instance: traefik-external-traefik-external
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: traefik
    helm.sh/chart: traefik-18.0.0
    traefik-context: external
  name: external
  namespace: traefik-external
spec:
  maxVersion: VersionTLS13
  minVersion: VersionTLS12
  sniStrict: true

error in logs:
time="2022-10-27T14:52:15Z" level=error msg="unknown TLS options: traefik-external-external@kubernetescrd" entryPointName=websecure routerName=my-apps-httpbin-test-http-bin-test101-my-net@kubernetes
time="2022-10-27T14:52:15Z" level=debug msg="Adding route for http-bin-test101.my.net with TLS options traefik-external-external@kubernetescrd" entryPointName=websecure

I'm at loss as to what is going on.
Is it added? or is it not added?
I see the error anove followed by a debug saying its using the options...
similar? https://github.com/traefik/traefik/issues/7408
What did you see instead?
see above
What version of Traefik are you using?
2.8.8
What is your environment & configuration?
see above
If applicable, please paste the log output in DEBUG level
No response

Hello @bitsofinfo ,
We strongly suspect that what's happening, since you're using cross-provider references, is that the first message is from the Ingress provider, saying it hasn't found the TLSOption part, because the ingressCRD provider has not yet received/taken into account the bit of config about that TLSOption. Therefore, that TLSOption does yet exist at this point in time, as far as the whole config is concerned.
However, as soon as the ingressCRD provider does receive that bit of conf, everything is reevaluated and everyone's happy, hence the second log message.
If you don't mind, we're going to take this opportunity to make this issue about an improvement to the logging, as our theory would be easier to establish, if the provider name was present as one of the tags in the log messages.

@mpl thanks, yes that would save a ton of time. I established manually that it is indeed working but the log just was super confusing.


env var on a job command

maybe I am missing a way to skip those chars
image=busybox:
    image: busybox
    tags: ["latest"]
    pull: "once"

job=play:
    use: busybox
    interactive: true
    command: env
    depends: [production-vars]
    env:
      - "VERSION={env.VERSION}"
    description: "bla"

job=play:
    use: busybox
    interactive: true
    command: echo $VERSION
    depends: [production-vars]
    env:
      - "VERSION={env.VERSION}"
    description: "bla"

cescoferraro@desktop: ~/code/go/src/github.com/cescoferraro/api on develop [+!?$]
$ dobi play
[env:set production-vars] Done
[job: play] env Start
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=1b44e5e5e282
TERM=xterm
VERSION=0.2.5
HOME=/root
[job: play] env Done
cescoferraro@desktop: ~/code/go/src/github.com/cescoferraro/api on develop [+!?$]
$ dobi play
[env:set production-vars] Done
[job: play] echo ${VERSION} Start
${VERSION}
[job: play] echo ${VERSION} Done

I'm not sure I understand the question, but I assume you want to use ${VERSION} in the command?
Variable substitution is performed by the shell, so you have to make sure that the image either has an entrypoint to run bash, or you have to use bash -c "echo ${VERSION}", because busybox does not.

Yeah 👍


Add a sig for Array#collect!

There was no signature for Array#collect!. Luckily Array#map! is an alias to it, so their signatures will be the same.
Motivation

More signatures for core methods.
Test plan

See included automated tests.

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_JfoU9SiBEydd5e
→ https://go/builds/bui_JfoUGViPyBs2wf


[REVIEW]

GitHub Profile Link
https://github.com/Rahulbaran

Closing this issue because I forgot to mention username


fix for point_offsets when cell blocks are not the same length

The calculation of point_offsets in the vtu reader assumed that and cell blocks have the same number of elements.  This PR adjusts the calculation to allow variable cell block size.
For my .vtu file,  I have 8 cell blocks, and the 8th block has more elements:
print([pts.shape[0] for pts in points])
[17472, 17472, 17472, 17472, 17472, 17472, 17472, 17536]

The original method results in the following point_offsets :
[     0  17472  34944  52416  69888  87360<PHONE_NUMBER>68]

The final element should be 104832+17472=122304 to reference the start of the 8th cell block. This results in an error when trying to load and evaluate the coordinates of the vertices in my cell blocks:
import meshio
sP=meshio.read('solution-00005.0000.vtu')
Coords = sP.points[sP.cells[-1].data.ravel()]

throws IndexError: index 139840 is out of bounds for axis 0 with size 139840 as the connectivity array ends up with values that exceed the length of the points array. The data I'm using is available here: https://osf.io/56axf/ any of the processor 0 .vtu files will throw the error.
The PR adjusts the calculation to account for the variable cell block size.
Results of my local pytest are attached.
testoutput.txt

Oh, sorry, indentation got screwed up... one more commit coming.

sorry again, forgot  whitespace around the +, I'll squash all these commits after making sure the tests pass.

Thanks for the nice fix!


FeignLoadBalancer can't set loadBalancerKey

I want to overwrite Ribbon IRule.
public Server choose(ILoadBalancer lb, Object key)
but I found 'key' is null.
how can I solve?
i know issues/1272  solved。
but this is in the zuul RequestContext.getCurrentContext().set(LOAD_BALANCER_KEY, "any value you want");
my question is how to set loadBalancerKey in the  FeignLoadBalancer？

Closing in favor of https://github.com/spring-cloud/spring-cloud-openfeign/issues/359. Please don't cross-post.


Fixed #1000412. Reworked Scala-Java completion.

Not much of the original code was kept. Only the part creating the completions from type methods.
The code now uses the Java AST of the source to find the base type of the completion,
and the string to complete.
It supports a wide range of cases. Tests were created to check thoses.

Looks very good to me. Lots of useful comments and beautiful code, well done.

Merged in master


User Following and tagging

To encourage interaction, following other users and tagging them on posts and comments (@username) would be lovely.

@davidyuk
I think that it's nice to separate this issue to steps:

following
taggin

I can help with tagging first. it's sound like a task much simpler than following, because requires less server side work or maybe only client side.

For tag users without chain name I can suggest to use @Ak_adress....

Tagging
Stage 1:

add to the API possibility to get ak_adress by a chain name.
implement first version at front end.

Stage 2:

chain names autocomplete? when user input chain name it will be useful to autocomplete them.

tag by address is not UX friendly
you have to tag by name, then resolve the address and persist that
but when showing the tagged user again show the preferred name
when the to be tagged name is different than the preferred name we should probably let the user know while tagging
4:46 PM
but again this is just my opinion, I'm not defining this feature

@thepiwo thanks for the suggestion.
I think to make that:

user can type @chainName
I check what the current AK_address for this chain.name
persist only the AK_address
every time before the render tag I check what the current chain name for this address
render the current chain.name

@onvisions and @maxkpower can you confirm this approach?

I think we shouldn't complicate this feature so to refer just by chain name ignoring the corresponding address changes is fine.

I think we shouldn't complicate this feature so to refer just by chain name ignoring the corresponding address changes is fine.

@davidyuk I will provide a PR in couple of hours and next maybe I will add that functionality that @thepiwo and I mentioned support the corresponding address changes

I think we shouldn't complicate this feature so to refer just by chain name ignoring the corresponding address changes is fine.

@davidyuk I will provide a PR today and next I suggest to add the functionality that @thepiwo and I mentioned support the corresponding address changes. I can try to add such kind of support as well.

@davidyuk , @shapkarin ,
So as far as I get it the problematic issue with mentioning functionality (@name.chain) is that the specific .chain name can expire and later be associated to another blockchain account. So the mentioning will now point to another user. This actually can create a lot of confusion.
We are OK as long as the @name.chain points to the blockchain address that has been associated to the .chain name at the moment of mentioning. If this is no longer the case we have to update all mentioning displays across the UI with the current preffered .chain name for the given account.
If there is no current .chain name we should display the full address shortened like ak_2Dap(...)Zyx5 (linked to SH user profile).
@maxkpower  what do you think?

@onvisions I think that it's simple and good approach at least for the first version of such feature.

is that the specific .chain name can expire and later be associated to another blockchain account

I would rather make less probable losing of aens names than implement a failback in every feature.


Readable Historical Yield

Our contract should be able to provide the yield at various points in the past. With this, a DApp could display a graph of the yield over the past week, month, year, etc. It might also be helpful to be able to tell users that the "average yield" over the preceding period has been X, which is potentially more informative than the current yield. I'm not sure how well actual earnings will map to time periods since they will accrue as blocks are mined rather than specifically as time passes. But we should be able to approximate it accurately enough.

We've got events firing for this:
event TotalSupplyUpdated(
uint256 totalSupply,
uint256 rebasingCredits,
uint256 rebasingCreditsPerToken
);```

I don't think there's any need for actual price recording on chain beyond the log events.


Changing Config After Setup

Hey Marvin, i think i am just missing it in your documentation, but how do you update the config once you have it setup? i have the wifi working and it creates an ip on my network - that was cool. but now i need to add the mqtt information.
thanks!

You can send an MQTT $reset message with true to the device.
I can see the device goes back to AP mode and can connect it (Homie-xxxx).
However after I am stuck. Both the app and the webpage are stuck at "Waiting for the device".
Note am I am running v1.5 of Homie.

@boilermanc with the v2 you can update the configuration over MQTT : https://homie-esp8266.readme.io/docs/ota-configuration-updates#section-configuration-updates 😉

Feel free to reopen if needed.


Inconsistent detection of tripped asserts

I wrote the following program:
#include <assert.h>
#include <stdint.h>
#include <stdbool.h>
#include <stdio.h>

#define GET_ELEMENT(index, input) (((input) >> (2 * (index))) & 0x3)

void sudoku_solver(uint32_t input){
        bool row_constr = true, col_constr = true;
        #pragma GCC unroll (4)
        for(int k = 0; k < 4; k++){
                #pragma GCC unroll (4)
                for(int i = 0; i < 4; i++){
                        bool single_row_constr = false;
                        bool single_col_constr = false;

                        #pragma GCC unroll (4)
                        for(int j = 0; j < 4; j++){
                                single_row_constr ^= GET_ELEMENT(i * 4 + j, input) == k;
                                single_col_constr ^= GET_ELEMENT(i + j * 4, input) == k;
                        }
                        row_constr &= single_row_constr;
                        col_constr &= single_col_constr;
                }
        }

        if(row_constr && col_constr){
                assert(0);
        }
}

What this does is encode a 4 by 4 board into a unsigned 32 bit integer. Each cell is 2 bits wide, and indexed in the following manner (each cell below contains its index):
0   1   2   3
4   5   6   7
8   9   10 11
12 13 14 15

The program encodes constraints that force each row and each column to contain entries for all four numbers (0, 1, 2, 3). This part isn't as important but perhaps useful as background information.
I compile the program with:
gcc-8 -O3 -o main main.c

Then I invoke bap in the following two ways:
  bap main --pass=wp --wp-function=sudoku_solver
  bap main --pass=wp --wp-function=sudoku_solver --wp-check-null-deref

Both return UNSAT (to me, this means that the condition in the if statement could not be evaluated to true, as both with and without the null derefence flag, a assert(0) is caught). However, if I change the if statement containing the assert to:
        if(row_constr && col_constr){
                int* a = 0x0;
                printf("this should segfault: %d", *a);
        }

And then I run CBAT with the null deref flag:
bap main --pass=wp --wp-function=sudoku_solver --wp-check-null-deref

I get the following countermodel:
SAT!

Model:
	ZF  |->  #b0
	SF  |->  #b0
	RSP |->  #x00007fffffff0000
	RSI |->  #x0000000000000000
	RDX |->  #x0000000000000000
	RDI |->  #x000000001e78e187
	RCX |->  #x0000000000000000
	RBX |->  #x0000000000000000
	RBP |->  #x0000000000000000
	RAX |->  #x0000000000000000
	R9  |->  #x0000000000000000
	R8  |->  #x0000000000000000
	R15 |->  #x0000000000000000
	R14 |->  #x0000000000000000
	R13 |->  #x0000000000000000
	R12 |->  #x0000000000000000
	R11 |->  #x0000000000000000
	R10 |->  #x0000000000000000
	PF  |->  #b0
	OF  |->  #b0
	CF  |->  #b0
	AF  |->  #b0
	mem_orig |-> [
		else |-> #x00]
	mem_mod = mem_orig

Refuted goals:
verify non-null mem load:
	Z3 Expression: false

Which, if I add in a main function and run the sudoku_solver function on 0x1e78e187 does segfault.
From this, I'm concluding it's possible to satisfy the if statement. For some reason, CBAT isn't realizing this on failing asserts but is when I include a null dereference.
I dumped the BIR and there's a lot of it, as one might expect after unrolling all those loops. The loops are getting unrolled, and the control flow looks like a bunch of branches that eventually lead to an __assert_fail if I've compiled with with failing assertion or a null dereference depending on which version of the program I've compiled and dumped.
I'm trying to generate a simpler example as this one is rather complicated, but CBAT works on this example when I remove conditions or loops/some of the logic.

The BIR between including an assert and a dereference differed. Specifically, in the assertion case, 90% of the function (including the dereference) got moved to a separate function (which does not happen in the null dereference case). Upon inlining that function, CBAT gave consistent and the same correct results with both the assert and null dereference versions of the program.


Bring CD image deployment configuration to main branch

@CannonLock, I see you've set up CD on your tracking branch. This is great, but there's now an inconsistent setup between that and the main branch.
This config should be broken out into a PR that addresses #89, and ideally #97, that can be applied directly to the main branch.
In general changes should be small-ish PRs focused on a single issue, rather than maintaining a separate tracking branch.

#102 adds a build test that will handle several of the proposed checks.


FQTN displayed as "Non | demo-tests/test_1.py::test_5_marked_SKIP" for demo test

No start_time assigned to this test somehow?
Test 'test_1.py::test_5_marked_SKIP' source code:
@pytest.mark.skip
def test_5_marked_SKIP(log_testname):
    logger.critical(fake_data())
    logger.error(fake_data())
    logger.warning(fake_data())
    logger.info(fake_data())
    logger.debug(fake_data())
    assert 1

TuiTestResult object for this test:
TuiTestResult(fqtn='demo-tests/test_1.py::test_5_marked_SKIP', outcome='SKIPPED', start_time=None, duration=0.0006051778327673674, caplog='', capstderr='', capstdout='', longreprtext="('/Users/jwr003/coding/pytest-tui/demo-tests/test_1.py', 187, 'Skipped: unconditional skip')\n").to_dict()

As a dictionary:
{'fqtn': 'demo-tests/test_1.py...arked_SKIP', 'outcome': 'SKIPPED', 'start_time': None, 'duration': 0.0006051778327673674, 'caplog': '', 'capstderr': '', 'capstdout': '', 'longreprtext': "(...)\n"}
special variables
function variables
'fqtn': 'demo-tests/test_1.py::test_5_marked_SKIP'
'outcome': 'SKIPPED'
'start_time': None
'duration': 0.0006051778327673674
'caplog': ''
'capstderr': ''
'capstdout': ''
'longreprtext': "('/Users/jwr003/coding/pytest-tui/demo-tests/test_1.py', 187, 'Skipped: unconditional skip')\n"
len(): 8

Apparently, pytest_runtest_setup doesn't even get called for this test (which is where the start_time values gets populated). It has to be because of the @pytest.mark.skip marker. This is the only test in the suite that has that marker, and it's the only one skipping the start-time-populating code.

Fixed in 1.7.0


[BUG] wont open no matter what ive reinstalled about 5 times

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[ ] My answer given in the checkbox above is a lie.

What problem did you encounter?
the game will open normally but wont open thru bloxstrap ive reinstalled restarted and it just wont ive had someone help me i really think i need a dev to help

Please send the log file when this issue occured (%localappdata%\Bloxstrap\Logs\)

Did you read https://github.com/pizzaboxer/bloxstrap/wiki/Roblox-crashes-or-does-not-launch?


environment

Could you please announce the versions of the packages in your Python environment? The versions of some packages I have installed are not being imported properly

Hi, could you provide specific logs?

from diffusers.utils import DIFFUSERS_CACHE, HF_HUB_OFFLINE, SAFETENSORS_WEIGHTS_NAME, is_accelerate_available, version
ImportError: cannot import name 'DIFFUSERS_CACHE' from 'diffusers.utils    。

from diffusers.utils import DIFFUSERS_CACHE, HF_HUB_OFFLINE, SAFETENSORS_WEIGHTS_NAME, is_accelerate_available, version
ImportError: cannot import name 'DIFFUSERS_CACHE' from 'diffusers.utils    。 Can you help me solve this problem

Please try diffusers==0.20.x or 0.21.x according to your torch version. BTW, you could also report here which version you're using.

Now I am using diffusers = 0.20.1, torch = 2.0.1, python = 3.9, but some packages still can't be imported. May I ask which versions of diffusers, torch, and python you are using？

We used torch==2.0.1+cu117 diffusers==0.23.1 python==3.10


Lighttpd (and some other apps) requires both cert and privkey to be in the same .pem file

Could this be made an option?
Or, if it can be done with hook, can you add a doc entry regarding how to do it?

I don't want any more formats of keys and certs so this would have to be done with a hook script.
In theory something like this should work (untested):
#!/usr/bin/env bash

function deploy_cert {
    local DOMAIN="${1}" KEYFILE="${2}" CERTFILE="${3}" FULLCHAINFILE="${4}" CHAINFILE="${5}" TIMESTAMP="${6}"

    cat "${KEYFILE}" "${FULLCHAINFILE}" > "${BASEDIR}/certs/${DOMAIN}/combined.pem"
}

Hook should actually contain CERTFILE instead of FULLCHAINFILE:
    echo " + HOOK: Merging KEYFILE and CERTFILE to ssl.pem"
    umask 0077
    cat "${KEYFILE}" "${CERTFILE}" > "${BASEDIR}/certs/${DOMAIN}/ssl.pem"

Btw.

@domenpk and then you are missing the chain certificates, which are important too ¯_(ツ)_/¯

Ah, no, no... Lighttpd has 2 config options ssl.pemfile and ssl.ca-file. Former should contain both KEYFILE and CERTFILE, latter is FULLCHAINFILE.

Interesting... don't even want to know how it came to this.
Anyway, with hooks this can easily be done :)

Using the hook method now and it works fine, thanks!
However, you might still want to add this use-case to documentation, for googlers' sake.


SendGrid CSharp Template Error

I Create SendGridCSharp1 on function portal using SendGrid-CSharp
After I create it using template, an error occurred.
Microsoft.Azure.WebJobs.Host: Error indexing method 'Functions.SendGridCSharp1'. Microsoft.Azure.WebJobs.Host: Cannot bind parameter 'message' to type SendGridMessage&. Make sure the parameter Type is supported by the binding. If you're using binding extensions (e.g. ServiceBus, Timers, etc.) make sure you've called the registration method for the extension(s) in your startup code (e.g. config.UseServiceBus(), config.UseTimers(), etc.).

By the way, I don't know how to  configure the app setting "AzureWebJobsSendGridApiKey" with SendGrid Api key.

To configure that key, simply add an app setting to your Function App using the portal. The instructions here show how to configure an app setting (though that article is about adding a DB connection string). Create a new setting with the correct name and your Api key as a value.

@mathewc Thank you for answer my question.
I open this issues is for the following error.
But after I configure the key, everything goes right.


Class 'Locale' not found

This error is triggered when you want to access the route /canvas after connection.

Error Line 63
solution: $translations->put($locale, Str::ucfirst($locale, $locale));
Delete class Locale. Thanks

For linux just install php7.0-intl base on your php version.
sudo apt-get install php7.5-intl

I pushed out the Localization feature without thinking that the PHP intl extension was necessary. Currently looking into Carbon to see if it could provide similar functionality without having the extension required.

Fixed in https://github.com/cnvs/canvas/releases/tag/v5.3.8

composer update will generate this error:
In Cache.php line 231:
hash_file(): read of 8192 bytes failed with errno=5 Input/output error


Can't decrypt a previously encrypted note

First of all, thank you for this truly amazing plugin!
I'm trying out the new share_unencrypted: true property option, because I want a preview of the note to appear when sharing the link. The note was previously shared / uploaded without this property, so it was encrypted.
Is it possible to have share_unencrypted: true decrypt a previously encrypted upload. If not, what might a workaround be? A related question, is it possible to remove / unshare a shared note?

I made a mistake and hadn't set the property type to checkbox. Now that I did, and shared the note again, I do actually get a link without an encryption key: "https://file.obsidianshare.com/70/e612da498b038c3e5e367043782e2b59.html"
However, the note is still encrypted, so this just makes the link non-functional:

Okay, nevermind. After waiting a while, and reloading the link above, the note is not encrypted anymore! So either it just takes a while to decrypt, or I was seeing a cached version.

All good :)
You don't even need to wait a while, just refresh your browser.
The cache is immediately cleared at the server end when you re-upload a note, so you just need to refresh a couple of times at your end.


Add ReSharper 10 installation support

@heathsnow Support for installing ReSharper 10 (w/dotTrace and TC plugin). This is needed for VS 2015 support.
/cc @joshua-garcia

:shipit:


Cartodb json url is dead

GET  https://code4kc.cartodb.com/api/v2_1/viz/8167c2b8-0cf3-11e5-8080-0e9d821ea90d/viz.json [HTTP/1.1 404 Not Found 763ms]

The url for the json file that we usually get from cartodb to populate the map quit working sometime between yesterday and this evening.
@rlh-aagis
It was:
https://code4kc.cartodb.com/api/v2_1/viz/8167c2b8-0cf3-11e5-8080-0e9d821ea90d/viz.json

disregard, I found how to retrieve the new one from cartodb.
The new url is at:
https://code4kc.cartodb.com/api/v2/viz/8167c2b8-0cf3-11e5-8080-0e9d821ea90d/viz.json
The only difference appears to be the change from v2_1 to v2.
You can see the change at d739cb89e34947a714e2eea66c8ae2007d2c18d5

@Questoflranon - Please bear with me, looking to merge updates today, Glad you got CartoDb export working, hopefully we will be able to expand use of CartoDb, no guarantees but hopeful, stay tuned!


Vaapi closing #27

Following up from #106

Checking why https://travis-ci.org/jrottenberg/ffmpeg/jobs/393451694 failed...

@jrottenberg For this to work, you need to:

Run the container in privileged mode and mount /dev/dri from your host into the container (docker run --privileged -v /dev/dri:/dev/dri if I'm not mistaken)
Have the Intel drivers up and running on your host. You can run vainfo (part of vainfo package on Ubuntu) to determine whether your graphics card has been recognized correctly.
Run ffmpeg with the correct parameters, this is the same as when running ffmpeg natively. See https://trac.ffmpeg.org/wiki/Hardware/VAAPI

Excellent, not too sure about the --privileged parameter /dev/dri mount for sure.


Use file's created time to print build error message

updatedAt property in builded lists breaks bundle caching and messing up with "identical build checks"
This PR implements @jhnns solution to use created file time
Based on this issue: https://github.com/peerigon/parse-domain/issues/60

We can't use the birthdate because that will be the date when npm install has been executed. We just need to save the date in separate file. I'm going to implement that :)
Anyway, thanks :+1:

Follow up https://github.com/peerigon/parse-domain/pull/75

@jhnns Since separate file contains data based on it's generated time, problem is still here: we still have not matching files at every build :)
Maybe we can use not created but last-modified time?

Since separate file contains data based on it's generated time, problem is still here: we still have not matching files at every build :)

I don't get the problem :). The meta.json is not included in a bundle because it is not imported/required anywhere.


Update deployProcess.py with new profile moderation message

Informing PCs that new profiles will take up to two weeks to be activated, but also letting them know that institutional emails will automatically activate their profile so they may choose to encourage this.

There are some conflicts here.
I'm waiting for the signup page to be released in the live before merging these changes.


[android] build ot-ctl on Android.mk

Add build ot-ctl
Enable platform netif and platform UDP.

@gjc any comments?

Hi - I think this one is for @gjc13. Thank you


Upgrade to groqflow 3.x.x

Do this when https://github.com/groq/groqflow/pull/14 merges

We are currently on the preview release of groqflow 3.0.1. Moving this issue out of the First Release milestone, since it's ok for us to stay on the groqflow preview.

Turns out this is blocking release to PyPI!

Finally unblocked! GroqFlow 3.0.2 released to PyPI today.


0.57 Improve reprocessor

Support Clickhouse

0.57~pr380-122 has been deployed on FSN on 2022-05-28


Can't work live streams...

Hello,
I'm sorry to disturb you but I can't make it work..
I used the basic example described on the site that is : "http://osmfhls.kutu.ru/docs/grind/"
But I couldn't make it work, with files on my desktop, with http, rtmp ... how should I do ? can someone be kind and help me please ? thanks !
It always keep "initializing"...
Example : https://www.useloom.com/share/d8c1c917aefa402da0edc8dabc794fab

its not gonna work
you cant playback ts files without m3u8 playlist and my osmfhls plugin
and you need to test it on local server at least, you cant just open html file in browser and expect it to work, because of security policy in flashplayer


[🐞] Google Publisher Tag does not work

Describe the bug
In our platform we want to run Google Publisher Tag in Partytown context and it does not work. Below I provided a reproduction URL with minimal setup. The GPT ad can be found on the element with #banner-ad id.
Reproduction
https://github.com/burakbasbug/qwik-gpt-bug-reproduction
Steps to reproduce
You can use setup guidelines of Qwik + Partytown + GPT docs for reproduction:

create a new qwik project npm create qwik@latest
add partytown to the project npm run qwik add partytown
add <QwikPartytown /> component
add forwarding attribute for googletag: forward={['googletag.cmd.push']}
add reverse proxy as in partytown docs
add google publisher tag: you can use this generic-ad example: https://developers.google.com/publisher-tag/guides/get-started#generic-ad

Browser Info
Chrome, Safari, Firefox
Additional Information
No response

Still relevant for us.

@rmertens We have found the reason and a possible solution to the problem. However we decided it was too finicky to implement in production.
The Solution
The SafeFrame specification uses the "name" attribute on the iframe to set the configuration of the SafeFrame which contains the version number and content length of the srcdoc. To correctly proxy this behavior, we need to forward the "window.name" property to the main window. This can be done by settings the partytown config option mainWindowAccessors to ['name'].
Next the SafeFrame performs a check on the window.hostname to make sure it was loaded on the correct domain.
In case of GPT the hostname needs to match one of these patterns:
/^([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\.safeframe\.googlesyndication\.com|tpc\.googlesyndication\.com|secureframe\.doubleclick\.net|[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\.safeframe\.usercontent\.goog)$/
or
/^(pagead2\.googlesyndication\.com|googleads\.g\.doubleclick\.net)$/
These patterns can be found when /safeframe/1-0-40/html/container.html is loaded.
To bypass this the proxy needs to update the regex to also match localhost.
We have done this like so:
content = content.replaceAll(
    "/^([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\\.safeframe\\.googlesyndication\\.com|tpc\\.googlesyndication\\.com|secureframe\\.doubleclick\\.net|[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\\.safeframe\\.usercontent\\.goog)$/",
    "/^([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\\.safeframe\\.googlesyndication\\.com|tpc\\.googlesyndication\\.com|secureframe\\.doubleclick\\.net|[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\\.safeframe\\.usercontent\\.goog|localhost)$/",
);

With these changes the SafeFrame will be able to load correctly and the ad will be displayed.

Thanks @rmertens @finalgamer


Feature Suggestion: Enemy boats. :ok_hand:

Enemy boats and a reason for 'em too. 👍

I think it'd be really cool to have boats patrolling

Will have a look into that, as it's not only "add boat classnames". But yeah, some checks if surface is water etc. and it should be working quite nice.
Will be something for 0.96 then.

Some kind of 'does sector overlap into water (not ponds or lakes) if so add boats to the spawns above water' or 'is friendly sector within 100m of coast, if so enemy could attack (and land a small force) via water'. I think would be my vote.

I think this would be great as ive edited tanoa with multiple mods for the build menu.... mainly transport ships but also frigates and corvettes I think this will look really cool if they tried to attack my transport craft and my frigate blows it the hell out of the water hehe

boats are a cool idea


Add support for adaptive payments

See https://cms.paypal.com/uk/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_APIntro
To do:

[x] Implement gateway for chained payments
[x] Add documentation
[ ] Integration tests
[x] Tidy sandbox integration

What's about this guys?

@codeinthehole @sasha0 Do you will finish this feature?


add extra info

Added extra author information to avoid possible dpkg problems like which errors i get from apt and dpkg in debian 10.
$ sudo apt-get autoremove
...
unnecessary part
...
dpkg: warning: parsing file '/var/lib/dpkg/status' near line 10744 package 'green-tunnel':
 missing 'Maintainer' field
dpkg: warning: parsing file '/var/lib/dpkg/status' near line 10744 package 'green-tunnel':
 missing 'Maintainer' field
dpkg: warning: parsing file '/var/lib/dpkg/status' near line 10744 package 'green-tunnel':
 missing 'Maintainer' field
(10 more same error)

Thanks.


Add Events to the App

[ ] add event to the buttons
[ ] update calculate.js to make the division and the multiplication operator to work

thank you for your feedback and approval
On Fri, Dec 9, 2022 at 9:49 PM Mahbub Alam @.***> wrote:

@.**** approved this pull request.
Project Approved 🏆 🎉
Hi @atatm https://github.com/atatm,
Your project is complete! You have done it exceptionally well. it's time
to merge it 💯
Congratulations! 🎉
To Highlight 👍
✔ No linter error.
✔ Descriptive readme file.
✔ Well-implemented suggestions.
Optional suggestions 🔽
Every comment with the [OPTIONAL] prefix is not crucial enough to stop the
approval of this PR. However, I strongly recommend you take them into
account as they can make your code better.

N/A

Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something
is not 100% clear.
Please, remember to tag me in your question so I can receive the
notification. You can also connect with me on slack
https://microverse-students.slack.com/team/U01J39GL614
As described in the Code reviews limits policy
https://microverse.zendesk.com/hc/en-us/articles/1500004088561 you have a
limited number of reviews per project (check the exact number in your
Dashboard). If you think that the code review was not fair, you can request
a second opinion using this form https://airtable.com/shrQAqnBwek5a0O0s.
—
Reply to this email directly, view it on GitHub
https://github.com/atatm/math-magicians/pull/3#pullrequestreview-1212095263,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZKNXDDBL4VAZELTXY6WWKTWMN5NFANCNFSM6AAAAAASZPJXT4
.
You are receiving this because you were mentioned.Message ID:
@.***>


[PROPOSAL] Mutable tensor abstraction to expose storage layer of Mars

Mars is an execution engine dedicated to perform massive tensor or dataframe computation. Sometimes, if users want to just partially or concurrently update or read data in tensor, it's not effective and intuitive enough.
Thus I propose an abstraction called mutable tensor, which is different from non-volatile tensor that the user can create a chunked mutable tensor, and read and write chunk data concurrently. At last, users can transform the mutable tensor to a vanilla tensor to perform upcoming computations.
The API designs are listed below.
Create mutable tensor
Create a mutable tensor via session.create.
import mars.tensor as mt
from mars.session import new_session

sess = new_session('http://***', id='exist_session_id')

# create a 1000x2000 mutable tensor wich chunk size 500 on each dimension
# other clients can ref the same mutable tensor by the `name`
# compression and size of redundant can also be specified
a = mt.mutable_tensor(1000, 2000, chunk_size=500, name='mutable_tensor1',
                      compression='lz4', n_redundant=2)
sess.create(a)

Get mutable tensor
Like I said, other clients can get the mutable tensor by its name.
from mars.session import new_session

sess = new_session('http://***', id='exist_session_id')

a = sess.get('mutable_tensor1')

Delete mutable tensor
from mars.session import new_session

sess = new_session('http://***', id='exist_session_id')

sess.delete('mutable_session')

Alias mutable tensor with another name
from mars.session import new_session

sess = new_session('http://***', id='exist_session_id')
sess.alias(a, 'mutable_tensor2')
sess.get('mutable_tensor2')

Write chunk data into mutable tensor
Write data by slice which is quite intuitive. At first, we can support write into only one chunk data with exact the chunk size, but we can support other situations later.
import numpy as np

a[500:1000, :500] = np.empty(500, 500)

Other situations include fancy indexing way.
import numpy as np

a[[0, 1, 2, 3], [4, 5, 6, 7]] = np.asarray([8, 9, 10, 11])

Read chunk data
Still we can only support the exact range of the chunk at first. User can get a numpy ndarray here.
array = a[500:1000, :500]

Fancy indexing can also be considered.
import numpy as np

array2 = a[[0, 1, 2, 3], [4, 5, 6, 7]]

Transform mutable tensor into vanilla tensor
Transform can be done via session.seal.
from mars.session import new_session

sess = new_session('http://***', id='exist_session_id')

t = sess.seal(a)
# perform vanilla tensor computation
t.sum(axis=1).execute()

I think in order to implement mutable tensor, we need to do a few things.

We need a MutableTensorActor, when a user create a mutable tensor, a MutableTensorActor will be created by SessionActor, we need a mars.tensor.core.MutableTensorData as well, which could inherit from mars.tensor.core.TensorData, but with more properties like name, n_redundant, and compression.
MarsAPI, MarsWebAPI or MarsWeb could add more interfaces for mutable tensor.

create_mutable_tensor(shape: tuple, chunk_size: any, name: str, compression: str, n_redundant: int), this API will create a MutableTensorActor.
get_workers_storage_size() -> dict, get all workers' storage size.
set_chunk_worker_addresses(chunk_index: tuple, addresses: list) -> None,  set worker addresses written to for a chunk.
get_chunk_worker_addresses(chunk index: tuple) -> list, get worker addresses a chunk allocated.
write_chunk(chunk_index: tuple, data: bytes, worker_address: str), write chunk data to a worker.
read_chunk(chunk_index: tuple, worker_address: str)  -> bytes, read chunk data from a worker.
write_slice_array(slices: tuple[slice], array: numpy.ndarray) -> dict, write a ndarray into slices on each dimension, return a dict which key is the chunk_index and value is the worker address. Internally, the slice could be within or without a chunk, the function could handle it correctly.
read_slice_array(slices: tuple[slice]) -> numpy.ndarray, read a ndarray according to slices on each dimension. The slices could be across a few chunks, this function could handle it correctly.
write_index_array(index_array: numpy.ndarray, data_array: numpy.ndarray) -> dict, write a ndarray as a fancy indexing way, return a dict which key is the chunk_index and value is the worker address. Internally, the index_array could be involved in a few chunks, the function could handle it rightly.
read_index_array(index_array: numpy.ndarray) -> numpy.ndarray, read a ndarray according to fancy indexes on each axis. The fancy indexes could be across a few chunks, this function could handle it correctly.

session should add a few methods just mentioned in the proposal.

About the implementation, there is a key point is that, a chunk could be written for a few times, thus how to handle it is important, I think there are mainly two solutions.

We just store the data passed by user directly to shared memory, if shared memory not sufficient, the spill will be triggered automatically, when seal triggered, we will then merge them into one ndarray.
We create a numpy ndarray on some process of a worker, the coming data could be updated on the ndarray. The advantage is that if the data is updated frequently, it could work better. The downside is that we cannot leverage the spill mechanism, if the memories are not sufficient, new chunk data could not be allocated any more.

We can discuss later when we come to this part.
cc @sighingnow if you have any question about the whole process. cc @wjsi if you have any further suggestion.

Now we have (almost) done the proposal, see pr-464 comment for a runnable demo.

Close as in favour of #2195.


Enhance the Error  Message for 'scloud deploy' when SDF is not enabled in the Account

The Node.js CLI does give a meaningful error for the 'scloud setupaccount' command in case the user forgets to enable "Token Based Authentication" feature in the account. (which is good)
However, the Noce.js CLI does not give a meaningful error for the 'scloud deploy' command if the user has forgotten to enable the "SuiteCloud Development Feature" on his account.
The current error message says something like "Timed Out Exception"

Fix is available in master branch.


feat(icon-button): added new sizes

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.001%) to 82.958%

Totals

Change from base Build<PHONE_NUMBER>:
0.001%

Covered Lines:
8767

Relevant Lines:
9695

💛  - Coveralls


Updated contributing guidelines

More concise, easier to understand and detailed.
fixes #6

Thank you so much for your contribution @kaustav202


Adds a data collection utility and improves support for loading in MFEMSidreDataCollection

Summary

This PR is a feature, but also includes some bugfixes

It adds a new tool for generating distributed blueprint-compliant (high order) meshes over a Cartesian domain or from an mfem mesh: data_collection_util. The latter is active when Axom is configured with mfem and AXOM_ENABLE_MFEM_SIDRE_DATACOLLECTION

This PR also improves support for loading data collections in MFEMSidreDataCollection.

Specifically:

It avoids appending the .root suffix to an input root file when that suffix is already present
It wires up the high order nodal grid function during load (when available)
It improves error messages when attempting to load using a different number of ranks than were used to save the file

This PR also add a new string utility function: removeSuffix()

I noticed that the string utilities did not have unit tests, so I added some

In doing so, there were a few undocumented edge-case behaviors. I'd like the reviewers to sign off on the changes I made (which I'll point out via comments)

TODO:

[x] Update RELEASE-NOTES

Is there a possible test you could add for the new tool?  If not could you at least add something to make sure that it doesn't crash on a basic input?


Remove client from _ContainerApp and _LocalApp

Moving it to the stub instead.
More prep work for turning stubs into apps.

@prbot approve


Minor fix

corresponding https://github.com/exercism/javascript/blob/main/exercises/concept/elyses-enchantments/.docs/instructions.md

@qweered Can you say a couple of words why you think this change is necessary? newCard in the instructions is just a variable name so there is no actual need for the two names to match.

@junedev I think it removes any misunderstanding like "what is replacement card?". Cause everywhere in code it names newCard

It would become:
## 2. Exchange a card in the stack

Perform some sleight of hand and exchange the card at index `position`
with the replacement card provided.
Return the adjusted stack.

```javascript
const position = 2;
const replacementCard = 6;
setItem([1, 2, 4, 1], position, replacementCard);
// => [1, 2, 6, 1]

2. Exchange a card in the stack
Perform some sleight of hand and exchange the card at index position
with the replacement card provided.
Return the adjusted stack.
const position = 2;
const replacementCard = 6;
setItem([1, 2, 4, 1], position, replacementCard);
// => [1, 2, 6, 1]

Sounds good

i think its ready to merge


Homebrew Cask: Ensure Secure

It should have either a checksum or https URL

There is a command line option to require SHA, which we now enable by default


Firebase Authentication partially incorrect

It says 'no UI provided' but there are the officially maintained libraries github.com/firebaseui-android, github.com/firebaseui-ios, github.com/firebaseui-web.
I am the maintainer of the Android version, can answer questions.

yes true, I don't even remember now why I wrote that, will modify, thanks!


Questions on Protocol and Specification Versioning

Below is the description from the OP documentation no how they do version, release & revision specification -- when using the OpenProtocolInterpreter it appears that one only really needs to be concerned with the revision when dealing with specific MIDs (i.e. the version and release are more or less irrelevant).  Is that correct?
I regards to OP 2, that largely seems to be additional MIDs and dealing with variable message data size--is OP 2 supported?

Hi @dekenless, you're right, the OpenProtocolInterpreter version has no relation with OP versioning.
Since we might face bugs that has no relation with the protocol itself (an internal bug for example), it would be difficult to keep versions equal and would cause more confusion. (If you have a suggestion on how to handle this, I would appreciate it)
As far as I know, most of MIDs are compatible with previous versions and the lib is not handling these compatibility issues yet.
The reference of OP version for the latest release of OpenProtocolInterpreter is 2.14.0 (see docs here).
If there is another version published, I would ask you to provide the docs, so I can develop the new modifications or new MIDs at the library. Optionally, you can do it by yourself and make a PR too.
Check unavailable mids section for further information on which are not implemented (most of them due to lack of example for testing).

Thanks for the reply.
Attached is the latest version that I know of, 2.17 I believe.
OpenProtocol_Specification_R_2.17.0.pdf


max-length in MPD module gets ignored

Waybar seems to ignore the actual max-length value in the MPD module when the user sets the max-length attribute in the config file.
max-length: 500 vs. max-length: 150 with the same track playing on MPD:

It seems like the text gets truncated around 104 characters regardless of the value set in the config file.

Doesn't appear to be the case at the moment. Can you confirm that you also don't experience the issue now?

Yes, the issue has apparently since been solved.


Dockerfile updated to pass all the Red Hat Certification requirements

The Dockerfile now passes all the following Tests on Red Hat Certification:

[x] is_rhel
[x] has_licenses
[x] rpm_list_successful
[x] not_running_privileged
[x] not_running_as_root
[x] name_label_exists
[x] vendor_label_exists
[x] version_label_exists
[x] release_label_exists
[x] good_tags
[x] good_layer_count
[x] free_of_critical_vulnerabilities
[ ] free_of_important_vulnerabilities
[x] non_inherited_base_label_name
[x] non_inherited_base_label_vendor
[x] non_inherited_base_label_description
[x] non_inherited_base_label_summary
[x] has_base_rh_image
[x] ubi_content_ok
[x] has_under_40_layers

Note: At times the tests free_of_critical_vulnerabilities or free_of_important_vulnerabilities may fail if the ubi8/nodejs-14 has any known vulnerability.

Manoj: Looking at https://github.com/IBM/template-node-typescript/pull/27/commits/d4a9813e1ec9cf24ac4967255603d812826831ce, lots of good stuff here. There's a couple of things I'm confused about though.
The Dockerfile is adding security updates and license files to the builder image. Shouldn't those go in the second image, the one that will be deployed? Also, it probably doesn't need to be root to run WORKDIR /opt/app-root/src, I would think default could do that.
Also, your file set currently includes .DS_Store. If that's not needed, let's take it out. Maybe add it to .gitignore to prevent this in the future.
Nice progress. Thanks!

Manoj: Looking at d4a9813, lots of good stuff here. There's a couple of things I'm confused about though.
The Dockerfile is adding security updates and license files to the builder image. Shouldn't those go in the second image, the one that will be deployed? Also, it probably doesn't need to be root to run WORKDIR /opt/app-root/src, I would think default could do that.
Also, your file set currently includes .DS_Store. If that's not needed, let's take it out. Maybe add it to .gitignore to prevent this in the future.
Nice progress. Thanks!

Fixed these issues. Thanks

Fixed these issues. Thanks

Manoj: I see where you deleted .DS_Store and moved the WORKDIR command so that it's run by the default user. Good, thanks.
I'm still confused about where the security update and license stuff is being done. It looks like the code is doing the right stuff but to the wrong image. It's updating the builder image. Seems to me it should be updating the second image, the one with the labels and exposed port, etc.
To make sure I'm explaining what I mean: This code is between the two FROM statements:
FROM ...
USER root
## comment the below line if there are no sec severities
RUN dnf -y update-minimal --security --sec-severity=Important --sec-severity=Critical && dnf clean all
COPY ./licenses /licenses
USER default
...
FROM ...
...

Shouldn't it be after the second from statement? Or if it's in the right place, please explain.

Minoj: The value for the name label should be of the form <namespace>/<image-name>. For example, it's ubi8/openjdk-11 in the Java UBI. So "Typescript Microservice" (in https://github.com/IBM/template-node-typescript/pull/27/commits/25de4945a52c9b4a94027ea152ef9077ba284d57) is an OK example but could be better.
For this image, it's not a base image stored in a registry anywhere, so the image namespace and name are not yet determined. So for this example, the name of the GitHub org and repo is probably as good a default as any: ibm/template-node-typescript. If the image (with no application) were stored in a registry, that's probably what we would name it.
So let's change:
LABEL name="Typescript Microservice"

to:
LABEL name="ibm/template-node-typescript"

Manoj: Likewise, Red Hat doesn't put the letter "v" in their version name, so let's not show that in our example. For example, ubi8/openjdk-11:1.3-15 sets version="1.3" and release="15".
So let's change:
      version="v1.0.0" \

to:
      version="1.0.0" \

Bobby: Answering your questions:

I'm still confused about where the security update and license stuff is being done.

I believe as the base image is the same in both the FROM commands, updating of image security contents, copying the license can be done anywhere. However keeping it consistent across all the starter kit templates, I'll move it after the 2nd FROM statement.

The value for the name label should be of the form /. For example, it's ubi8/openjdk-11 in the Java UBI. So "Typescript Microservice" (in 25de494) is an OK example but could be better.

Ok noted, I'll change the name label.

Likewise, Red Hat doesn't put the letter "v" in their version name, so let's not show that in our example. For example, ubi8/openjdk-11:1.3-15 sets version="1.3" and release="15".

Ok makes sense, I'll change the version and release tags accordingly.
Thanks for the Feedback.

LGTM. Nice job.
Catalyst team, what do you think of the default values for version and release being the same as those for the UBI the image is built from?

@csantanapr: What updates do you want to this PR to approve it? Please document these requests for @manojjahgirdar. Thanks.

I have commented the updating image security content command.
Here is a confirmation that the Dockerfile builds successfully:

Please verify app still works on OpenShift, build and deploy with Toolkit

Please verify app still works on OpenShift, build and deploy with Toolkit

@csantanapr,
I tried it, and it fails on tag-release, it says:
ERROR fatal: tag 'v1.0.4' already exists

What does this mean?

@manojjahgirdar: Now that your pipelines are able to log into Artifactory, is this pipeline able to run successfully? If so, please post a screenshot.
ERROR fatal: tag 'v1.0.4' already exists means that the pipeline tried to use a tag that it has already used. This might happen if you reran the same pipeline run (I'm not sure). Try making a change to your code and merging that to your branch, which will trigger the pipeline to start a new run.

@manojjahgirdar: Now that your pipelines are able to log into Artifactory, is this pipeline able to run successfully? If so, please post a screenshot.
ERROR fatal: tag 'v1.0.4' already exists means that the pipeline tried to use a tag that it has already used. This might happen if you reran the same pipeline run (I'm not sure). Try making a change to your code and merging that to your branch, which will trigger the pipeline to start a new run.

@bwoolf1, this still fails with the same error.


I suggest changing the source also to my repo where I keep the updated list from iso.org

I prepared a repo where you can use the CLI to fetch the newest ISO 3166 list or use the countries.json file. https://github.com/detrin/download-iso3166-list

Does it have i18n?

I am not sure what exactly is i18n in this context. Do you mean alpha2 codes? Then yes. An example
{
    "Alpha-2 code": "US",
    "Alpha-3 code": "USA",
    "English short name": "United States of America (the)",
    "French short name": "États-Unis d'Amérique (les)",
    "Numeric": "840"
  }

https://raw.githubusercontent.com/detrin/download-iso3166-list/main/countries.json
This is exactly taken from iso.org. If you would be interested I could alter the CLI so it fetches other details about countries.

Yeah, I was referring to country names in other languages.
I'm not interested at the moment, but thanks for offering, if someone sees a value in this we might consider adding a new source.

Okay, thanks for the response.


refactor: use whiskers.filename instead of redirection

The output filename can now be specified in the template itself with whiskers.filename. I've updated the justfile to remove the output redirection, and since Whiskers itself creates the parent directory the setup task is not required. You also technically don't need the clean task since Whiskers will overwrite existing files, though I've left it up to if you want to keep it or not.

Thank you very much @uncenter !
The justfile is much simpler, and the execution is much more elegant now with this new whiskers version.
I will accept the PR, merge it to develop, and generate a new version.


Update() is broken as of 3.4.3

Given this sample code:
import box

if __name__ == '__main__':
    b = box.Box({
        'one': {
            'sub1': 'monkey',
            'sub2': 'goat',
        }
    }, box_it_up = True)

    print(f'box: {b}')
    print(f'one is a {type(b.one)}')
    print(f'expect monkey: {b.one.sub1}')
    print(f'expect goat: {b.one.sub2}')

    b.update({'one': {'sub2': 'alpaca'}})
    print(f'one is a {type(b.one)}')
    print(f'expect monkey: {b.one.sub1}')
    print(f'expect alpaca: {b.one.sub2}')

It works with < 3.4.3:
box: {'one': {'sub1': 'monkey', 'sub2': 'goat'}}
one is a <class 'box.Box'>
expect monkey: monkey
expect goat: goat
one is a <class 'box.Box'>
expect monkey: monkey
expect alpaca: alpaca

But using >= 3.4.3, this is the result:
box: {'one': {'sub1': 'monkey', 'sub2': 'goat'}}
one is a <class 'box.Box'>
expect monkey: monkey
expect goat: goat
one is a <class 'dict'>
Traceback (most recent call last):
  File "./test.py", line 16, in <module>
    print(f'expect monkey: {b.one.sub1}')
AttributeError: 'dict' object has no attribute 'sub1'

I notice there were changes to the update() method.
(edited: added some code to print out the types, which show the difference)

Thanks for the report! Always appreciate sample code!
It is an issue with not forcing conversion of sub dictionaries on update, prepping PR.

Thanks!  It actually took me about an hour to dig in enough to find the cause - we subclass Box with a bunch of extra logic, so there were a lot of places it could have been.

If it's not terribly difficult for you to pull development and test that version would be appreciated. (Will push and release later today either way, I think it should be good now but always better to have more eyes.)
Thanks again for your work to track that down!

Not quite - and different now:
$ PYTHONPATH=$(pwd) python ./test.py
box: {'one': {'sub1': 'monkey', 'sub2': 'goat'}}
one is a <class 'box.Box'>
expect monkey: monkey
expect goat: goat
one is a <class 'box.Box'>
Traceback (most recent call last):
  File "/home/michael/work/boxtest/.venv/lib/python3.6/site-packages/box.py", line 424, in __getitem__
    value = super(Box, self).__getitem__(item)
KeyError: 'sub1'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/michael/work/boxtest/.venv/lib/python3.6/site-packages/box.py", line 507, in __getattr__
    value = self.__getitem__(item, _ignore_default=True)
  File "/home/michael/work/boxtest/.venv/lib/python3.6/site-packages/box.py", line 431, in __getitem__
    raise BoxKeyError(str(err))
box.BoxKeyError: "'sub1'"

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/michael/work/boxtest/.venv/lib/python3.6/site-packages/box.py", line 509, in __getattr__
    value = object.__getattribute__(self, item)
AttributeError: 'Box' object has no attribute 'sub1'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "./test.py", line 18, in <module>
    print(f'expect monkey: {b.one.sub1}')
  File "/home/michael/work/boxtest/.venv/lib/python3.6/site-packages/box.py", line 526, in __getattr__
    raise BoxKeyError(str(err))
box.BoxKeyError: "'Box' object has no attribute 'sub1'"

Ah, that is because you update that entity and the new one does not have that key. b.update({'one': {'sub2': 'alpaca'}})

Oh! Well that should have been obvious.
I believe you did say that update would now work more like it does on dict.
I'll change our code which does a deep merge to do this properly rather than rely on Box's update to do it for me.
I saw your other issue about backwards compatibility... Should I point out that this kind of update worked before 3.4.3? :)
Thanks for fixing this so fast!

Very good points, when writing the update originally I (obviously) didn't deeply look into how standard dicts operated. And you are totally right I don't want a big change to happen on same major release, so will figure out how to get this all working with the old way of merging!
Then going forward with 4.x will possible have that as its own function, like merge_update or something.

I've been here myself, more than once. And I agree that dict-like performance is probably the ideal goal. A new function for 4.0 sounds perfect.
I'll be happy to test further, just let me know!

Thanks, think I hopefully got everything sorted finally in development now.

Hooray:
box: {'one': {'sub1': 'monkey', 'sub2': 'goat'}}
one is a <class 'box.Box'>
expect monkey: monkey
expect goat: goat
one is a <class 'box.Box'>
expect monkey: monkey
expect goat: alpaca

Looks great!  Thanks for the quick work on this, and for the excellent library!


Copyable Transaction origins

When using the Javascript VM, the "Transaction Origin" dropdown gives you a handful of convenient addresses that have some Ether in them, but all the addresses are truncated.
When a Contract is created, it's address is shown truncated, but there's a "copy address" button next to it, to get at the whole address string. It would be very useful to have a similar UI for copying the "Transaction Origin" addresses, so that when debugging contracts that do something with the sender's address, it's easier to query metadata about it.
Currently you can get at those addresses by inspecting the HTML, but that's not an elegant solution to working with those addresses.

addressed by https://github.com/ethereum/browser-solidity/pull/585


feat: Improve site performance

Deferred loading some resources that aren't needed in most areas
of the site
Lazy-loading angular theme CSS
Pre-generate angular theme to avoid dynamically creating it on
every page load
Minified HTML components
Minified NLS/i8n json files
Added server compression for HTML assets
Removed unused parts of bootstrap
Removed unused CSS classes
Removed some dead JavaScript client-side code

Signed-off-by: Dale Lane<EMAIL_ADDRESS>

Before

After

Before

After


Docs - Update DG for summary bar feature

Added proposed implementation for summary bar feature in the Developer Guide.
Fix #114

Codecov Report

Merging #115 (30614e9) into master (4a3bcef) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #115   +/-   ##
=========================================
  Coverage     69.34%   69.34%
  Complexity      439      439
=========================================
  Files            80       80
  Lines          1481     1481
  Branches        169      169
=========================================
  Hits           1027     1027
  Misses          396      396
  Partials         58       58

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 4a3bcef...30614e9. Read the comment docs.


The XRayPipelineHandler will throw a null reference exception if the client does not have a RegionEndpoint assigned.

The XRayPipelineHandler will throw a null reference exception if the client does not have a RegionEndpoint assigned.
https://github.com/aws/aws-xray-sdk-dotnet/blob/master/sdk/src/Handlers/AwsSdk/Internal/XRayPipelineHandler.cs#L300
subsegment.Aws["region"] = client.RegionEndpoint.SystemName;

If for some reason you have an AWS service where you are explicitly setting the clients ServiceURL then the region endpoint will be null - in these cases this will cause the XRay SDK to blow up.
A good example of this is if your developing against local dev copies of AWS services (e.g. when employing local stack for local development).
It appears the AWS sub segment does not have anywhere to put the service URL for a request - but it does at least allow the region to be omitted if unavailable, so it wuold be great to change the code to be:
if (client.RegionEndpoint != null) {
    subsegment.Aws["region"] = client.RegionEndpoint.SystemName;
}

Hi @bittercoder ,
Thank you for raising this issue and submitting the pull request. You can leverage annotations and metadata feature for the service URL. Please refer : https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-dotnet-segment.html
Thanks,
Yogi

@yogiraj07 so if I was to add service Url to the annotations for the segment in the AWS SDK handler - is that behaviour you would be happy to accept as a pull request?

Hello @bittercoder ,
We have made 2.2.1-beta release. : Changelog, which includes your PR. Closing this issue. Please feel free to reopen if you have any questions.
Thanks,
Yogi


Dockerized development environment

Thanks for this! I've just added a Dockerfile as I needed it for using GitHub actions, can you see if that provides what you need, and let me know if anything is missing?


[Request] Toggle to Disable Humidity Sensor Reporting in Homekit

Is your feature request related to a problem? Please describe:
I'd like to be able to disable humidity reporting from the humidifier. I have a homepod that reports humidity for the room and now Siri when asked about the humidity replies with the range of humidities from both the HomePod and the humidifier instead of just a single value.
Describe the solution you'd like:
In the Homebridge settings for the plugin I'd like to he able to toggle off the humidity sensor.

Hey @FarawaySounds, I'll look into this next week. Pretty sure this is simple to implement

@FarawaySounds Please try 1.9.2-beta1. There is a setting in the config to disable the sensors now. I haven't tested it myself, so please check it out.

Published in 1.10.1

Works great! Thanks!


Test cases for LinkReferenceNumber api

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 6

Complexity increasing per file
==============================
- hip-service-test/Link/Patient/LinkPatientRepositoryTest.cs  1
- hip-service-test/Link/Patient/PatientRepositoryTest.cs  1
- hip-service-test/Link/Patient/LinkPatientTest.cs  1
- hip-service-test/Link/Builder/TestBuilder.cs  1

Clones added
============
- hip-service-test/Link/Patient/LinkPatientRepositoryTest.cs  2
- hip-service-test/Link/Patient/LinkPatientTest.cs  2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 6

Complexity increasing per file
==============================
- hip-service-test/Link/Patient/LinkPatientRepositoryTest.cs  1
- hip-service-test/Link/Builder/TestBuilder.cs  1
- hip-service/Link/Patient/GuidWrapper.cs  1
- hip-service-test/Link/Patient/PatientRepositoryTest.cs  1
- hip-service-test/Link/Patient/LinkPatientTest.cs  1

Clones added
============
- hip-service-test/Link/Patient/LinkPatientRepositoryTest.cs  2
- hip-service-test/Link/Patient/LinkPatientTest.cs  2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- hip-service-test/Link/Patient/PatientRepositoryTest.cs  1
- hip-service-test/Link/Patient/LinkPatientTest.cs  1
- hip-service-test/Link/Builder/TestBuilder.cs  1
- hip-service-test/Link/Patient/LinkPatientRepositoryTest.cs  1
- hip-service/Link/Patient/GuidWrapper.cs  1

Clones added
============
- hip-service-test/Link/Patient/LinkPatientTest.cs  2
- hip-service-test/Link/Patient/LinkPatientRepositoryTest.cs  2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- hip-service-test/Link/Patient/LinkPatientTest.cs  1
- hip-service-test/Link/Builder/TestBuilder.cs  1
- hip-service-test/Link/Patient/PatientRepositoryTest.cs  1
- hip-service-test/Link/Patient/LinkPatientRepositoryTest.cs  1
- hip-service/Link/Patient/GuidWrapper.cs  1

Clones added
============
- hip-service-test/Link/Patient/LinkPatientRepositoryTest.cs  2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- hip-service-test/Link/Builder/TestBuilder.cs  1
- hip-service/Link/Patient/ReferenceNumberGenerator.cs  1
- hip-service-test/Link/Patient/LinkPatientRepositoryTest.cs  1
- hip-service-test/Link/Patient/PatientRepositoryTest.cs  1
- hip-service-test/Link/Patient/LinkPatientTest.cs  1

Clones added
============
- hip-service-test/Link/Patient/LinkPatientRepositoryTest.cs  2

See the complete overview on Codacy

Can do better bro :)

Get approval from someone once you fixed the comments.

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- hip-service-test/Link/Builder/TestBuilder.cs  1
- hip-service-test/Link/Patient/PatientRepositoryTest.cs  1
- hip-service-test/Link/Patient/LinkPatientRepositoryTest.cs  1
- hip-service-test/Link/Patient/LinkPatientTest.cs  1
- hip-service/Link/Patient/ReferenceNumberGenerator.cs  1

Clones added
============
- hip-service-test/Link/Patient/LinkPatientRepositoryTest.cs  2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- hip-service-test/Link/Patient/LinkPatientRepositoryTest.cs  1
- hip-service-test/Link/Patient/PatientRepositoryTest.cs  1
- hip-service-test/Link/Builder/TestBuilder.cs  1
- hip-service/Link/Patient/ReferenceNumberGenerator.cs  1
- hip-service-test/Link/Patient/LinkPatientTest.cs  1

See the complete overview on Codacy


Trapping with a date string removes the offset

Ran into a very weird bug where if there is a datetime in a string value that is being used in a trap, it will remove the tz offset. Took me a long time to figure this out. Seems like Debug.print is fine though
Debug.trap("2022-11-21T21:30:42-05:00");

Will output 2022-11-21T21:30:42

Where do you see the output? In a message from the Internet Computer?
Is it really the dash, or not just the string length?
I cannot reproduce it here in a simulated run in drun or ic-ref-run, so it is more likely an issue with the Internet Computer:
ingress Completed: Reply: 0x4449444c016c01b3c4b1f204680100010a00000000000000000101
ingress Err: IC0503: Canister rwlgt-iiaaa-aaaaa-aaaaa-cai trapped explicitly: 2022-11-21T21:30:42-05:00

Interesting. I'm using the MOPS testing library which relies on dfx. I'll investigate and put an issue on the other repo.
I tried some variations that weren't datetimes with a tz offset and they were fine. It's like something parses it as a date but outputs it without the offest.
My case was actually a date nested deep in an object that i outputted via debug_show, so it doesn't seem like a length issue


(feat):Responsive design for small screen of dashboard section.

Is your feature request related to a problem? Please describe.
The dashboard section is not responsive
Describe the solution you'd like
Want to make it responsive for the small mobile screen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Go Ahead!


macOS: Add menu extra showing status of system/printers

For macOS, add a menu extra for the system and its printers. The menu extra should convert the favicon image into a template image, and then expose the following menu items:

System name (opens system home page when selected)
System version (disabled menu item)
Menu separator
For each printer:

Printer name (opens printer home page when selected)
Printer status (disabled menu item) with alerts
Active job (if any) including job name (disabled menu item)

Menu separator
"Quit "

The menu extra should appear whenever the system is run.

Looks like we could provide something similar with GNOME as well. Tracking with issue #127 (how's that for serendipity?)
On macOS we can also provide notifications (which can be controlled by the user via notification center), and it would be nice if the notifications can be configured (none, errors only, everything) in addition to the big on/off switch that notification center provides.
Also from #127, there should be a callback for bringing up native UI instead of the web interface.

Looks like we could provide something similar with GNOME as well. Tracking with issue #127 (how's that for serendipity?)
On macOS we can also provide notifications (which can be controlled by the user via notification center), and it would be nice if the notifications can be configured (none, errors only, everything) in addition to the big on/off switch that notification center provides.
Also from #127, there should be a callback for bringing up native UI instead of the web interface.

[master b4cffaa] Implement menu extra on macOS (Issue #27)