Add the ability to link to individual fields within the spin manifest documentation

When trying to share spin documentation with people it would often be useful to link to a specific field in the manifest (e.g when mentioning allowed_outbound_hosts) - unfortunately you can only currently link to the overall table for a section, a la https://developer.fermyon.com/spin/v2/manifest-reference#the-component-table.

@karthik2804 Is there a way to automate this in Bartholomew (like it does for headings) or is it just down to sticking <a> elements in by hand?

Of the top of my head I can think of a few ways to achieve this.

like you pointed out, we can manually add link tags
we can add a shortcode that automatically grabs the next element and create an anchor
if it is limited to just this page or just a couple other we can write some JavaScript to deal with it automatically on the frontend.

Hey @karthik2804 , can I work on this issue?

@VamshiReddy02 sure but I am not sure we have a preferred approach here yet.

I have no opinion on the approach I just want @endocrimes to be happy
@karthik2804 decision or leave it up to @VamshiReddy02?

I would be in favor of doing something with an annotating comment before the table and just writing some JS to generate the anchor links on the front end.
@VamshiReddy02 let me know if you have other ideas or if you need help with the above approach.


Modal.propTypes no longer supported in React Native 0.58

My components using ModalWrapper stopped working properly after updating to RN 0.58.x, because the Modal component no longer supports propTypes as per https://github.com/facebook/react-native/issues/21342.
I'm not sure yet what the proper/best solution is to this, but as a temporary workaround to get my app's functionality working again, I included the Modal.propTypes values as a constant at the top of the component:
const modalPropTypes = {
  animationType: PropTypes.oneOf(['none', 'slide', 'fade']),
  presentationStyle: PropTypes.oneOf([
    'fullScreen',
    'pageSheet',
    'formSheet',
    'overFullScreen',
  ]),
  transparent: PropTypes.bool,
  hardwareAccelerated: PropTypes.bool,
  visible: PropTypes.bool,
  onRequestClose:
    Platform.isTV || Platform.OS === 'android'
      ? PropTypes.func.isRequired
      : PropTypes.func,
  onShow: PropTypes.func,
  onDismiss: PropTypes.func,
  supportedOrientations: PropTypes.arrayOf(
    PropTypes.oneOf([
      'portrait',
      'portrait-upside-down',
      'landscape',
      'landscape-left',
      'landscape-right',
    ]),
  ),
  onOrientationChange: PropTypes.func,
};

I then replaced the two occurrences of Modal.propTypes with modalPropTypes, after which it started working as expected.

@martin-nebel thank you!
I created a post install script to make this a bit less painful. It's only been tested on a Mac but it should work as long as you have node.
If the following script is added as a postinstall script, then running npm i or npm run postinstall will add @martin-nebel's workaround for you.

/*
  This script moves the depricated Modal.propTypes into the modal wrapper code to make it compatible with RN 0.58
  This is a temporary workaround until the library is updated.

  https://github.com/raynor85/react-native-modal-wrapper/issues/14#issue-407824066
*/

const fs = require('fs');
const path = require('path');

const modalWrapperIndexPath = path.resolve(__dirname, '../node_modules/react-native-modal-wrapper/index.js');
let file = fs.readFileSync(modalWrapperIndexPath, { encoding: 'utf8' });

if (!file.includes('modalPropTypes')) {
    const proptypesImport = 'import PropTypes from \'prop-types\';';
    const modalPropTypes = `import PropTypes from 'prop-types';

  const modalPropTypes = {
    animationType: PropTypes.oneOf(['none', 'slide', 'fade']),
    presentationStyle: PropTypes.oneOf([
      'fullScreen',
      'pageSheet',
      'formSheet',
      'overFullScreen',
    ]),
    transparent: PropTypes.bool,
    hardwareAccelerated: PropTypes.bool,
    visible: PropTypes.bool,
    onRequestClose:
      Platform.isTV || Platform.OS === 'android'
        ? PropTypes.func.isRequired
        : PropTypes.func,
    onShow: PropTypes.func,
    onDismiss: PropTypes.func,
    supportedOrientations: PropTypes.arrayOf(
      PropTypes.oneOf([
        'portrait',
        'portrait-upside-down',
        'landscape',
        'landscape-left',
        'landscape-right',
      ]),
    ),
    onOrientationChange: PropTypes.func,
  };`;

    file = file.replace(proptypesImport, modalPropTypes);
    file = file.replace(/Modal.propTypes/g, 'modalPropTypes');

    fs.writeFileSync(modalWrapperIndexPath, file);
}

Broke my app as well after upgrade... Fix? D:

Broke mine too and the suggested fixes do not work either.

@martin-nebel thank you for reporting this. I have created a new release with your suggested changes https://github.com/raynor85/react-native-modal-wrapper/releases/tag/v3.1.1


Array: Find Median of Two Sorted Arrays in C++

https://leetcode.com/problems/median-of-two-sorted-arrays/

I'll take this up

Sure, i've assigned it to you

There are 2 approaches to solve, one using Merge Sort Technique (Time Complexity: O(m+n), m and n are lengths of the arrays) and another one using Binary Search (Time Complexity: O(log (m+n), m and n are lengths of the arrays). So shall I give code both the techniques or only the efficient one (using Binary Search)??

There are 2 approaches to solve, one using Merge Sort Technique (Time Complexity: O(m+n), m and n are lengths of the arrays) and another one using Binary Search (Time Complexity: O(log (m+n), m and n are lengths of the arrays). So shall I give code both the techniques or only the efficient one (using Binary Search)??
Adding both would be very helpful for others, with comparison

ok

can you please assign this issue ? @akgmage


debug: improve msg with "Nothing to make"

Please decline ASAP, the ridiculously long branch name makes pulling fail on my encrypted Ubuntu, and probably on Windows as well.

@maxime-michel
Sorry, hope that helps?!

@maxime-michel
Out of curiosity: do you use encfs?
it also depends on the prefix probably, i.e. where you clone your plugin?
And then: why is this branch/ref being fetched for you in the beginning?

Thanks, yes it does. I had resolved the issue already by deleting the repo and cloning it again, since core.longpaths was in my gitconfig, but had been added after the initial cloning of neomake, and was therefore not taken into account (?).
The ref got fetched when vim-plug pulled, and git tried to save a file named after it.
Yes, I'm using encfs, which can be awkward at times. But in this case I don't think anybody wanted to see such a branch long name in the project's Git history, nor on GitHub. It's adding an horizontal scrollbar to this page's layout on my 13-inch display, for instance.

The ref got fetched when vim-plug pulled

I would have expected it to only fetch the relevant (i.e. master) branch?!

anybody wanted to see such a branch long name in the project's Git history,

Would have been squash-merged anyway.
I get your point though.  Sorry again.


[WIP] Backchannel as the set of commands sending as POST request

I've created this PR to reflect an alternative way using Backchannel as the opposite of keeping static HTTP connection over DIDDoc.
Here we can discuss the way we will choose.
The related Aries RFC doesn't describe backchannels enough.
PR content: Using this backchannel with a defined set of commands we are able to run connection tests without user interaction, get the status of the agent under the testing.
For VCX testing against Test Suite, we did a simple HTTP server above python wrapper which performs requested actions.
Vcx is not the Agent in the complete meaning of this term. It's library that uses an agent as an endpoint to collect messages(Mediator) and handles inbound messages by request.
So, we needed an application above Vcx to run the test suite.

This PR is no longer relevant and no efforts have been made to update it. Closing.


twa: Avoid non-POSIX awk features

This replaces the use of IGNORECASE (a GNU awk extension) with tolower.
Fixes #20.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Update auth, dynamodb, s3, sqs to 2.17.271

Updates

software.amazon.awssdk:auth
software.amazon.awssdk:dynamodb
software.amazon.awssdk:s3
software.amazon.awssdk:sqs

from 2.17.193 to 2.17.271.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "software.amazon.awssdk" }
}]

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

Superseded by #956.


JSON The document may not be well-formed.

There was an error parsing the JSON document. The document may not be well-formed.
https://api.hearthstonejson.com/v1/latest/plPL/cards.collectible.json

Try it now?

Should be fixed, reopen if not.


Support serving ANS-102 data items from data route

Description

Currently, the gateway parses and indexes ANS-102 bundles which allow them to be queried through the GraphQL API.

However, the gateway doesn't store the data of these data items for serving to clients.

The gateway needs to store data item data as they cannot be retrieved from miners efficiently. (possibly compressed in some way)

The gateway should store and serve up data item data to clients.

The gateway needs to store data item data as they cannot be retrieved from miners efficiently. (possibly compressed in some way)

This is something I need to account for too! Thanks, will close my other issue.

Resolved in v1.0.0


Diaper Drive Feature - Diaper Drive filter in donations index page

Summary
Donation -> index.html.erb
Add a dropdown after sources, and before diaper drive participant with the unique diaper drive names.
Add the appropriate logic in the model/controller for it to filter correctly.
Things to Consider
Diaper Drive Participant existed previously, but the person that implemented it used "diaper drive" as the source.
The filtering, as it is now, only works by the selected SOURCES in donations, but it is also used to show the options in the new donation dropdown, but we want the drive and the participant to show up when you choose diaper drive, and not show diaper drive participant as an option in the sources.
Criteria for Completion

This should be a bulleted list of items that, if satisfied, would result in an acceptably complete Pull Request. Be as specific as you need to be. For example:

[ ] The filters in the all donations page should work as expected
[ ] Add a test proving that it works

Hi, can I take this one?


Re-organise faucet codebase.

Remove java-style namespace directories.
Switch to PBR for easier packaging.
Move docs to root directory & update docs.
Simplify .travis.yml.
Simplify dockerfiles.
Default faucet to using IANA reserved port for OpenFlow (6653).
Split requirements.txt into separate files for runtime and testing
Removes faucet apps and package building tools which we will split into a separate repo.

Sorry, this is a bit of a long one.
Pretty sure I have most issues worked out, both travis & mininet unit tests are passing.
This significantly improves the readability of the repo and the simpler python packaging will help us with quicker release times in future.


Error when converting to onnx

Thank you for the awesome work.
I would like to convert the lightqnet-dm025.pb model to onnx and then convert the resulted onnx file to a tensorrt engine. for conversion to onnx, I use the following command:
python3 -m tf2onnx.convert --saved-model /content/lightqnet/lightqnet-dm025.pb  --opset 16 --output /content/lightqnet/model.onnx
where tf2onnx can be installed from here.
However, after executing this command, I get the following error:
/usr/lib/python3.7/runpy.py:125: RuntimeWarning: 'tf2onnx.convert' found in sys.modules after import of package 'tf2onnx', but prior to execution of 'tf2onnx.convert'; this may result in unpredictable behaviour
  warn(RuntimeWarning(msg))
2022-06-27 06:21:43,494 - WARNING - '--tag' not specified for saved_model. Using --tag serve
Traceback (most recent call last):
  File "/usr/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.7/dist-packages/tf2onnx/convert.py", line 696, in <module>
    main()
  File "/usr/local/lib/python3.7/dist-packages/tf2onnx/convert.py", line 238, in main
    use_graph_names=args.use_graph_names)
  File "/usr/local/lib/python3.7/dist-packages/tf2onnx/tf_loader.py", line 615, in from_saved_model
    tag, signatures, concrete_function, large_model, use_graph_names)
  File "/usr/local/lib/python3.7/dist-packages/tf2onnx/tf_loader.py", line 552, in _from_saved_model_v2
    imported = tf.saved_model.load(model_path, tags=tag)  # pylint: disable=no-value-for-parameter
  File "/usr/local/lib/python3.7/dist-packages/tensorflow/python/saved_model/load.py", line 936, in load
    result = load_internal(export_dir, tags, options)["root"]
  File "/usr/local/lib/python3.7/dist-packages/tensorflow/python/saved_model/load.py", line 949, in load_internal
    loader_impl.parse_saved_model_with_debug_info(export_dir))
  File "/usr/local/lib/python3.7/dist-packages/tensorflow/python/saved_model/loader_impl.py", line 57, in parse_saved_model_with_debug_info
    saved_model = parse_saved_model(export_dir)
  File "/usr/local/lib/python3.7/dist-packages/tensorflow/python/saved_model/loader_impl.py", line 116, in parse_saved_model
    f"SavedModel file does not exist at: {export_dir}{os.path.sep}"
OSError: SavedModel file does not exist at: /content/lightqnet/lightqnet-dm025.pb/{saved_model.pbtxt|saved_model.pb}

while the address to the lightqnet-dm025.pb is correct, I still get the same error. maybe it is happening because the lightqnet-dm025.pb file in this repository is  the  .pb file of a frozen model/graph, which is different from the .pb file of a SavedModel  (and that's why the SavedModel can't be found. Unlike frozen models/graphs, SavedModels are also associated with an auto-generated folder called "variables", which seems to be missing here).
Could you kindly provide us with the SavedModel version?

it's a graphdef format, so use --graphdef


Plotting efficient frontier

Hello, how can I plot the efficient frontier diagram, showing the assets by return and volatility, the optimal portfolio, and the frontier? Thanks a lot!

Hi, there are several examples in the cookbooks


Peer-to-peer code review

I think is perfect (Max).
The logo should be outside the nav (Vishal).
-Perfect but, why did you have to copy the dots for the list items? (John).

Everything is perfect there is not any syntax error.
You can try another approach also for the header you can just put the logo part out of the nav.


[SplitButton] Update checked flyout open background colors

Description

Updates brushes to indicate that the SplitButton is checked.
Motivation and Context

Closes #4019
How Has This Been Tested?

Screenshots (if appropriate):

/azp run

@chigy FYUI


TypeScript compiler halts before finishing compiling files to resolve error (VS2013+TS1.5Beta)

I'm in a case where I've written a new class and referenced it in another file.
The first file is causing a compile error as it doesn't know about the new class, but VS/TS won't generate the new class file as it's hitting an error on the reference first...
Seems like it's just stuck.  The only way for me to get through it is to remove the reference in the file.  Let it compile my class and then reference it.
This seems to be the most direct example, but I've noticed this in other places when trying to add/change methods around and just having the compiler get stuck is slowing things down.

Are you seeing this with the final 1.5 bits? A minimal repro would be helpful if possible.

@hawkerm can you provide more information..

Sorry I haven't had a chance to try and isolate or repro it consistently in a controlled environment yet, been pretty heads down lately trying to fight with some other issues.

thanks @hawkerm for getting back on this. i will close this one then. Feel free to reactivate if you run into it again.

Hi @mhegazy, ended up hitting it again.
I'll have to see if I can setup a small project which can show this consistently.  For now, this is what I see in VS2013 with TypeScript 1.5.
While running my code in the debugger, I'll update my class's constructor and make the corresponding updates to where its instantiated in my code.
TypeScript won't recompile it right-away and it'll start complaining that the lines where its instantiated don't match the call signature (as it hasn't recompiled the class).
This issue now persists across stopping debugging and even reloading VS (trying to 'save' the class doesn't force it to recompile just that one file either).  It's effectively halting itself from compiling the root class due to the dependencies having 'errors' which are because it hasn't recompiled the root dependency.
To resolve the issue, I have to go comment/change the instantiated calls out/back in order to get it to recompile the class first in order to resolve the conflict.

We will need more information to diagnose the issue. A project exhibiting these symptoms would be ideal.

do not think this is actionable without more information. closing again. please provide a sample project or repro steps to be able to investigate.


How to get the importance for categorical features in Shap value

Hi, I have some questions regarding how to get the importance of the original the categorical feature in shap value.
I have some input data with both numeric and categorical features, to train a sklearn random forest mode, I change all the categorical into one-hot encoding. For example, if feature A has values ("a", "b"), the feature A will be changed to featureA_a and featureA_b. So for a sample has 'a' for feature A, it will goes [1,0]. When I have the shap values for all the importance of the features, how should I get the importance of the original feature A ? Sum up the importance of featureA_a and featureA_b?
Thanks for the help

Yep. Summing up a set of features gives the importance of that group. I should also note, for many tree models you don't even need to do one-hot-encoding in the first place.

I'm trying to use the kernel explainer to generate shap values. My input sample set contains categorical data and I'm getting an error: "ufunc 'isfinite' not supported for the input types..." Do you have a recommendation for how to fix this?

I'm trying to use the kernel explainer to generate shap values. My input sample set contains categorical data and I'm getting an error: "ufunc 'isfinite' not supported for the input types..." Do you have a recommendation for how to fix this?

same issue I am Also facing the same issue

Yep. Summing up a set of features gives the importance of that group. I should also note, for many tree models you don't even need to do one-hot-encoding in the first place.

I'm not sure summing up the importances of individual one hot columns would make conceptual sense. This would be summing up the mean absolute contributions of individual columns. Instead, what would be more sound is to sum the contributions, and the take the absolute mean of that sum. It's a question of micro-averaging vs macro-averaging. Am I completely off or does this make sense?

Yep. Summing up a set of features gives the importance of that group. I should also note, for many tree models you don't even need to do one-hot-encoding in the first place.

Could you hint on how to do so please? Should this be done before .shap_values() or after?
I tired to modify the df that .shap_values() return and feed that into .shap_summary(), but it is complaining about the size.


feat: implement dependency get_referenced_exports

Summary
implement dependency get_referenced_exports for treeshaking.

Test Plan
Not need.

I forced merge this pull request because provided exports plugin need one API. Also the CI failure seems not introduced by this pull request.


Using promise instead of callback

Is it possible to return a promise from all function instead of callback functions. I'm a little new to javascript and use es7 to code with react-native. I would really like to know how to send promise object from native code or is it not possible.

You can hide it in the javascript interface and return promises there


ontology browser links for term pages

In legacy PomBase, ontology term pages have links to available browsers where people can see the term in context. We should add those links to shiny new PomBase term pages.
GO: AmiGO, QuickGO and BioPortal
FYPO: BioPortal
PSI-MOD: BioPortal
SO: MISO
example links:
QuickGO http://www.ebi.ac.uk/QuickGO/GTerm?id=GO:0005829
AmiGO http://amigo.geneontology.org/amigo/term/GO:0005829
GO in BioPortal bioportal.bioontology.org/ontologies/GO/?p=terms&conceptid=GO:0005829#details
FYPO in BioPortal http://bioportal.bioontology.org/ontologies/FYPO?p=classes&conceptid=FYPO%3A0002019#details
MOD in BioPortal http://bioportal.bioontology.org/ontologies/PSIMOD?p=classes&conceptid=MOD%3A00046#detail
MISO http://www.sequenceontology.org/browser/current_svn/term/SO:0001796
adding to the release milestone because it's in old PomBase, and looks fairly straightforward

Thanks for the example links.  That's useful because only AmiGO is in the GO.xrf_abbs file.

I've added those links.  Let me know if you spot any problems.
Also, please let me know how you'd like the list of link formatted.  Currently it just says:
 External links: GO QuickGO BioPortal

Do we want small icons next to the DB names like we do for esyN here?:
http://preview.pombase.org/term_genes/GO%3A0006914

Those are working nicely, so thanks.
I think the AmiGO link should have the full "AmiGO" name as the hyperlinked text.
Maybe a bit of punctuation to separate the links for GO terms would help make it clearer that there are three different ones - commas or pipes would be fine.
Logos would be nifty but not essential (and I don't have one handy for MISO or BioPortal).

I think the AmiGO link should have the full "AmiGO" name as the hyperlinked text.

Thanks.  Fixed.  The "GO" leaked through from the GO.xrf_abbs where there the AmiGO entry has the abbreviation "GO".

commas or pipes would be fine.

Good idea.  I've gone for:
External links: AmiGO | QuickGO | BioPortal

Shall we close this issue?

sure :)


Fix panic when path coord directions length does not match path length

Fix panic when font family could not be loaded
Decode XML text to remove escape sequences in labels

Thanks!


CWL: cromwell torque "check-alive" fix

torque qstat has no -j flag, resulting in faulty tracking of job status.

Thanks much for testing this and for the fix. Hopefully this resolves the problem with Cromwell not realizing tasks had died you found earlier. I appreciate all the Torque testing.

With pleasure! Thank you for the awesome work on bcbio.
M


⇔ should return only unique combinations

Current behaviour is:
graph = @StenoGraph begin
    [x1, x2, x3] ⇔ [x1, x2, x3]
end

x1 ↔ x1
x1 ↔ x2
x1 ↔ x3
x2 ↔ x1
x2 ↔ x2
x2 ↔ x3
x3 ↔ x1
x3 ↔ x2
x3 ↔ x3

Which adds every undirected edge between differing variables twice. This prevents me from specifying saturated models this way. I think it should be
graph = @StenoGraph begin
    [x1, x2, x3] ⇔ [x1, x2, x3]
end

x1 ↔ x1
x1 ↔ x2
x1 ↔ x3
x2 ↔ x2
x2 ↔ x3
x3 ↔ x3

I think this is a more general about the behavior of different arrow types. From the OpenMx documentation:

‘connect’ has five possible connection types: "single", "all.pairs", "all.bivariate", "unique.pairs",
"unique.bivariate". The default value is "single". Assuming the values c(‘a’,‘b’,‘c’) for the ‘to’ and
‘from’ fields the paths produced by each connection type are as follows:
"all.pairs": (a,a), (a,b), (a,c), (b,a), (b,b), (b,c), (c,a), (c,b), (c,c).
"unique.pairs": (a,a), (a,b), (a,c), (b,b), (b,c), (c,c).
"all.bivariate": (a,b), (a,c), (b,a), (b,c), (c,a), (c,b).
"unique.bivariate": (a,b), (a,c), (b,c).
"single": (a,a), (b,b), (c,c).

↔ Behaves like single, which is good I think. But for variances/covariances, for ⇔ a behavior like unique.pairs would be more usefull to have I think. For directed edges, the case is different. ⇒ should behave like "all.pairs", I think this is also intuitive. The reason is simply that a ↔ b and b ↔ a are the same thing, while a → b and b → a are not.

I dont know if doing this at the end is the best solution. Because you probably would like to warn the user about duplicated edges when building the graph at the end. Consider
graph = @StenoGraph begin
    x1 ↔ x1
    x1 ↔ x1
end

probably should result in a warning about duplicated edges, but
graph = @StenoGraph begin
    [x1, x2, x3] ⇔ [x1, x2, x3]
end

should not.

graph = @StenoGraph begin
    x1 ↔ x1
    x1 ↔ x1
end

I don't think we need to warn users in this case, since they are building a graph and a graph can not have the same edge twice (an list of edges might, but not a graph, which is confusing since our graph is a list of edges).
More interesting is the intended behavior here:
graph = @StenoGraph begin
    x1 ↔ label("first")*x1
    x1 ↔ label("second")*x1
end

and here
graph = @StenoGraph begin
    x1 ↔ label("first")*x1
    x1 ↔ weight(3.0)*x1
end

Most consistent is probably fusing edges, meaning edges get combined (in case of identical edges they simply are deduplicated) and in case of modified edges probably fusing of modifiers where last modifier overwrites first in case of any clash.
I think I will consider edges the same based on hash(typeof(edge), typeof(edge.src), typeof(edge.dst), edge.src.node, edge.dst.node) and will fuse these. If this is expected, reliable, and consistent behavior of graph construction no warning is required.

graph = @StenoGraph begin
    x1 ↔ x1
    x1 ↔ x1
end

I don't think we need to warn users in this case, since they are building a graph and a graph can not have the same edge twice (an list of edges might, but not a graph, which is confusing since our graph is a list of edges).

I think the chance is 99% in this case that it is a copy-paste error and the user wanted to write
graph = @StenoGraph begin
    x1 ↔ x1
    x2 ↔ x2
end

So I think a warning would be very helpful here.

More interesting is the intended behavior here:
graph = @StenoGraph begin
    x1 ↔ label("first")*x1
    x1 ↔ label("second")*x1
end

and here
graph = @StenoGraph begin
    x1 ↔ label("first")*x1
    x1 ↔ weight(3.0)*x1
end

Most consistent is probably fusing edges, meaning edges get combined (in case of identical edges they simply are deduplicated) and in case of modified edges probably fusing of modifiers where last modifier overwrites first in case of any clash.
I am very much against that. I dont see any use cases: why would you want to overwrite an existing identifier by adding it later again to the same egde? And even if there was a use case, I think 90% of the time this happens it is a copy-paste error and 10% it is intended by the user. So I would raise an error in both cases. There seems nothing wrong with

graph = @StenoGraph begin
    x1 ↔ label("second")*x1
end

and
graph = @StenoGraph begin
    x1 ↔ label("first")*weight(3.0)*x1
end

Okay, I take it back. There is a use case for fusing edges with different modifiers. Maybe you prefer the following Syntax):
graph = @StenoGraph begin
   # labels
    x1 ↔ label("first")*x1 + label("second")*x2
   # weights
    x1 ↔ weight(3.0)*x1 + weight(2.0)*x2
end

over
graph = @StenoGraph begin
x1 ↔ label("first")*weight(3.0)*x1 + label("second")*weight(2.0)*x2
end

I disagree because of two points.

Modifiers are stored in dicts, writing in a Dict with the same key replaces the element. See documentation here:

https://aaronpeikert.github.io/StenoGraphs.jl/dev/man/types/#StenoGraphs.ModifiedNode

I find this behavior useful, consider the case where you as a user set many modifier at once programmatically but want some exceptions. I find it natural do simply overwrite exceptions later like here:

using StenoGraphs

struct fixed <: EdgeModifier f end
items = Node.([:a, :b, :c])

@StenoGraph begin
   latent → _(items) .* Ref(fixed(_(missing)))
   latent → fixed(1.0) * :a
end

So unique() is already informed about:

The reason is simply that a ↔ b and b ↔ a are the same thing, while a → b and b → a are not.

In other words StenoGraph know that:
g = @StenoGraph begin
    a ↔ b * fixed(1.0)
    b ↔ a * fixed(1.0)
end

g[2] == g[1]

So I phrased that badly:

I think I will consider edges the same based on hash(typeof(edge), typeof(edge.src), typeof(edge.dst), edge.src.node, edge.dst.node)

What I meant is hash(typeof(edge), typeof(edge.src), typeof(edge.dst), edge.src.node, edge.dst.node) could form an ID of sorts, that this means the same edge but it is of course not the same object.

Okay, so I will try to use unique() and see if that works.
I don't think it matters what the default behavior of a dict is, however I think the use case is convincing and nice to have. But I think overwriting a modifier that way should still give a warning. Also generating the same edge twice without modifiers should give a warning, I think. There are just too many copy/paste errors etc. that would be caught by this.

unique() works for our example model tests.


Grinding stats no longer works for TM2 after most recent update.

I updated this plugin to 2.0.0 and it came back with a script error. I am on OP v1.23.5 (most recent)

i'll put in a fix right away

should be on the plugin manager now


Update getting started and reference docs

This is a quick update on some documentation, with these main changes:

A bit more docs around the fancy new "merge output streams" feature, so folks are more likely to find and use it :-)
Moves some stuff in start/ into a dedicated configuration reference so that it's easier to find
Updates the start/ guide with a few more steps people can take
Makes a few top-level section titles "imperative" so that we cut back on wordiness (and partially inspired by https://diataxis.fr/how-to-guides/)

This is a follow up to https://github.com/executablebooks/MyST-NB/pull/364

thanks for the review @mmcky - I think this one is good to go unless there are objections - if I got the description wrong I am happy to iterate in subsequent PRs

thanks @choldgraf

@choldgraf just updated from the master branch -- all looks good. I think this is good to 🚢

@chrisjsewell @choldgraf I will merge this later this afternoon so we can move forward with https://github.com/executablebooks/jupyter-book/pull/1448#pullrequestreview-778909275


Restic hangs during scanning

Output of restic version
restic 0.8.3 (v0.8.3-0-g272ccec7)
compiled with go1.10.1 on linux/amd64
How did you run restic exactly?
/usr/bin/sudo /usr/local/bin/restic backup -p /etc/restic_key.txt -r sftp:joe@backup:/data/joe/restic --exclude /proc --exclude /sys --exclude /dev --exclude /var/cache/apt/archives --exclude /run/user /
What backend/server/service did you use to store the repository?
sftp
Expected behavior
Restic backs up everything. Worked fine a number of times flawlessly.
Actual behavior
Restic hangs, always at the same point at 625.400 GiB:
/usr/bin/sudo /usr/local/bin/restic backup -p /etc/restic_key.txt -r sftp:joe@backup:/data/joe/restic --exclude /proc --exclude /sys --exclude /dev --exclude /var/cache/apt/archives --exclude /run/user /
password is correct
using parent snapshot a91d2cae
scan [/]
[8:18:17] 174602 directories, 1559869 files, 625.400 GiB

On the backup machine, nothing seems wrong (dmesg empty, all disks working properly). lsof on the client also doesn't show anything of interest (doesn't seem to have any open files):
$ lsof -c restic
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
COMMAND  PID USER   FD      TYPE DEVICE SIZE/OFF      NODE NAME
restic  8807 root  cwd       DIR  253,1    36864  34340869 /home/joe
restic  8807 root  rtd       DIR  253,1     4096         2 /
restic  8807 root  txt       REG  253,1 10937696 113251360 /usr/local/bin/restic
restic  8807 root    0u      CHR 136,26      0t0        29 /dev/pts/26
restic  8807 root    1u      CHR 136,26      0t0        29 /dev/pts/26
restic  8807 root    2u      CHR 136,26      0t0        29 /dev/pts/26
restic  8807 root    3r     FIFO   0,12      0t0   2432630 pipe
restic  8807 root    4u  a_inode   0,13        0     14168 [eventpoll]
restic  8807 root    7w     FIFO   0,12      0t0   2432631 pipe
restic  8807 root    8r     FIFO   0,12      0t0   2432632 pipe

It also seems to block, not hang in a busy waiting loop or something. CPU usage is 0%:
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 8807 root      20   0 1198340 636828   8696 S   0,0  1,0   1:56.77 restic

Steps to reproduce the behavior
Trigger the backup. Just retried and after about 30 seconds it hits the 625 GiB mark:
password is correct
using parent snapshot a91d2cae
scan [/]
[1:26] 174604 directories, 1560186 files, 625.390 GiB

Where it hangs...
Do you have any idea what may have caused this?
None whatsoever. Just did backup after backup and suddenly this happened. The first time I just restarted and then now it hangs at the exact same point.
Do you have an idea how to solve the issue?
None whatsoever.
Did restic help you or made you happy in any way?
Restic's awesome.

Just also built a debug build of restic and enabled debug logging. Unfortunately, there's nothing interesting in there. It ends with:
2018/05/06 10:06:11 cache/backend.go:165	cache.(*Backend).Load	1	Load(<snapshot/f9afec745b>, 0, 0) from cache
2018/05/06 10:06:11 cache/file.go:44	cache.(*Cache).Load	1	Load from cache: <snapshot/f9afec745b>
2018/05/06 10:06:11 sftp/sftp.go:440	sftp.(*SFTP).List	1	send fc8b4e9006a7826dc72ccbfe62ba501c0249edda49a716a152fe69529627b367
2018/05/06 10:06:11 repository/repository.go:73	repository.(*Repository).LoadAndDecrypt	1	load snapshot with id fc8b4e9006a7826dc72ccbfe62ba501c0249edda49a716a152fe69529627b367
2018/05/06 10:06:11 cache/backend.go:165	cache.(*Backend).Load	1	Load(<snapshot/fc8b4e9006>, 0, 0) from cache
2018/05/06 10:06:11 cache/file.go:44	cache.(*Cache).Load	1	Load from cache: <snapshot/fc8b4e9006>
2018/05/06 10:06:11 archiver/archiver.go:825	archiver.Scan	1	Start for /
2018/05/06 10:06:11 restic/exclude.go:78	main.rejectByPattern.func1	1	path "/dev" excluded by an exclude pattern
2018/05/06 10:06:11 archiver/archiver.go:838	archiver.Scan.func1	1	path /dev excluded

Then just hangs after 20 seconds:
using parent snapshot a91d2cae
scan [/]
[0:31] 175422 directories, 1561017 files, 629.333 GiB

Can you please start it again, and when it hangs, press CTRL+\ (may be a bit awkward at first)? It will terminate the process and dump all stack traces of all running threads. Post the output here, you can also redirect stderr to a file if you don't want to manually copy it.
Then we can see what's it doing.

Of course:
/usr/local/bin/restic backup -p /etc/restic_key.txt -r sftp:joe@backup:/data/joe/restic --exclude /proc --exclude /sys --exclude /dev --exclude /var/cache/apt/archives --exclude /run/user /
password is correct
using parent snapshot a91d2cae
scan [/]
^\SIGQUIT: quitirectories, 1563649 files, 629.337 GiB
PC=0x46bb48 m=0 sigcode=128

goroutine 34 [syscall]:
syscall.Syscall6(0xf7, 0x1, 0x5d7b, 0xc42026cd98, 0x1000004, 0x0, 0x0, 0x0, 0x0, 0x0)
	/home/joe/tmp/go/src/syscall/asm_linux_amd64.s:44 +0x5 fp=0xc42026cd40 sp=0xc42026cd38 pc=0x46bb25
os.(*Process).blockUntilWaitable(0xc4202501e0, 0x0, 0x0, 0x0)
	/home/joe/tmp/go/src/os/wait_waitid.go:31 +0x98 fp=0xc42026ce40 sp=0xc42026cd40 pc=0x4f07d8
os.(*Process).wait(0xc4202501e0, 0x0, 0x0, 0x0)
	/home/joe/tmp/go/src/os/exec_unix.go:22 +0x3c fp=0xc42026ceb8 sp=0xc42026ce40 pc=0x4e974c
os.(*Process).Wait(0xc4202501e0, 0x0, 0x0, 0x0)
	/home/joe/tmp/go/src/os/exec.go:123 +0x2b fp=0xc42026cee8 sp=0xc42026ceb8 pc=0x4e8cfb
os/exec.(*Cmd).Wait(0xc420264000, 0x0, 0x0)
	/home/joe/tmp/go/src/os/exec/exec.go:461 +0x5c fp=0xc42026cf60 sp=0xc42026cee8 pc=0x73884c
github.com/restic/restic/internal/backend/sftp.startClient.func2(0xc420264000, 0xc42016e660)
	/tmp/restic-build-798080644/src/github.com/restic/restic/internal/backend/sftp/sftp.go:76 +0x2f fp=0xc42026cfd0 sp=0xc42026cf60 pc=0x911eaf
runtime.goexit()
	/home/joe/tmp/go/src/runtime/asm_amd64.s:2361 +0x1 fp=0xc42026cfd8 sp=0xc42026cfd0 pc=0x455e51
created by github.com/restic/restic/internal/backend/sftp.startClient
	/tmp/restic-build-798080644/src/github.com/restic/restic/internal/backend/sftp/sftp.go:75 +0x29e

goroutine 1 [syscall]:
syscall.Syscall(0x6, 0xc45a9d9200, 0xc45a230b98, 0x0, 0x0, 0xc45a9d91a0, 0xc424396b90)
	/home/joe/tmp/go/src/syscall/asm_linux_amd64.s:18 +0x5
syscall.Lstat(0xc45a9d91a0, 0x51, 0xc45a230b98, 0x51, 0xc45a9d91a0)
	/home/joe/tmp/go/src/syscall/zsyscall_linux_amd64.go:1312 +0x97
os.lstatNolog(0xc45a9d91a0, 0x51, 0x2, 0x2, 0xc45a9d91a0, 0x51)
	/home/joe/tmp/go/src/os/stat_unix.go:42 +0x5c
os.Lstat(0xc45a9d91a0, 0x51, 0x2, 0xc45a9d91a0, 0x51, 0x0)
	/home/joe/tmp/go/src/os/stat.go:22 +0x4d
path/filepath.walk(0xc45ea0de00, 0x45, 0xb5b060, 0xc45a230820, 0xc44b8463c0, 0x0, 0x0)
	/home/joe/tmp/go/src/path/filepath/path.go:375 +0x1d5
path/filepath.walk(0xc452c19fc0, 0x3c, 0xb5b060, 0xc44ebb5ba0, 0xc44b8463c0, 0x0, 0x0)
	/home/joe/tmp/go/src/path/filepath/path.go:381 +0x2c2
path/filepath.walk(0xc452c19dc0, 0x37, 0xb5b060, 0xc44ebb5860, 0xc44b8463c0, 0x0, 0x0)
	/home/joe/tmp/go/src/path/filepath/path.go:381 +0x2c2
path/filepath.walk(0xc4482c39b0, 0x2d, 0xb5b060, 0xc440fa71e0, 0xc44b8463c0, 0x0, 0x0)
	/home/joe/tmp/go/src/path/filepath/path.go:381 +0x2c2
path/filepath.walk(0xc4482c3410, 0x22, 0xb5b060, 0xc440a7bee0, 0xc44b8463c0, 0x0, 0x0)
	/home/joe/tmp/go/src/path/filepath/path.go:381 +0x2c2
path/filepath.walk(0xc42c852000, 0x1b, 0xb5b060, 0xc428628410, 0xc44b8463c0, 0x0, 0x0)
	/home/joe/tmp/go/src/path/filepath/path.go:381 +0x2c2
path/filepath.walk(0xc43039e4f0, 0x10, 0xb5b060, 0xc428628340, 0xc44b8463c0, 0x0, 0x0)
	/home/joe/tmp/go/src/path/filepath/path.go:381 +0x2c2
path/filepath.walk(0xc43f5320b0, 0x9, 0xb5b060, 0xc43f537d40, 0xc44b8463c0, 0x0, 0x0)
	/home/joe/tmp/go/src/path/filepath/path.go:381 +0x2c2
path/filepath.walk(0xc446f1b2e6, 0x5, 0xb5b060, 0xc4563d65b0, 0xc44b8463c0, 0x0, 0x0)
	/home/joe/tmp/go/src/path/filepath/path.go:381 +0x2c2
path/filepath.walk(0x7ffd0892587f, 0x1, 0xb5b060, 0xc442ba3110, 0xc44b8463c0, 0x0, 0x0)
	/home/joe/tmp/go/src/path/filepath/path.go:381 +0x2c2
path/filepath.Walk(0x7ffd0892587f, 0x1, 0xc44b8463c0, 0xc4200e8901, 0xc44b8463c0)
	/home/joe/tmp/go/src/path/filepath/path.go:403 +0x106
github.com/restic/restic/internal/fs.Walk(0x7ffd0892587f, 0x1, 0xc44b8463c0, 0x1, 0x1)
	/tmp/restic-build-798080644/src/github.com/restic/restic/internal/fs/file.go:113 +0x3f
github.com/restic/restic/internal/archiver.Scan(0xc4202262f0, 0x1, 0x1, 0xc44b846380, 0xc4200e89a0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/tmp/restic-build-798080644/src/github.com/restic/restic/internal/archiver/archiver.go:826 +0x1e9
main.runBackup(0x0, 0x0, 0x0, 0xc420232380, 0x5, 0x8, 0x0, 0x0, 0x0, 0x0, ...)
	src/github.com/restic/restic/cmd/restic/cmd_backup.go:454 +0x856
main.glob..func2(0xe67f80, 0xc42021d2c0, 0x1, 0xf, 0x0, 0x0)
	src/github.com/restic/restic/cmd/restic/cmd_backup.go:49 +0x17b
github.com/restic/restic/vendor/github.com/spf13/cobra.(*Command).execute(0xe67f80, 0xc42021cff0, 0xf, 0xf, 0xe67f80, 0xc42021cff0)
	/tmp/restic-build-798080644/src/github.com/restic/restic/vendor/github.com/spf13/cobra/command.go:698 +0x46d
github.com/restic/restic/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xe68e60, 0xc4201fde00, 0x43f8f5, 0xc420226230)
	/tmp/restic-build-798080644/src/github.com/restic/restic/vendor/github.com/spf13/cobra/command.go:783 +0x2e4
github.com/restic/restic/vendor/github.com/spf13/cobra.(*Command).Execute(0xe68e60, 0x24, 0xc4201fdeb8)
	/tmp/restic-build-798080644/src/github.com/restic/restic/vendor/github.com/spf13/cobra/command.go:736 +0x2b
main.main()
	src/github.com/restic/restic/cmd/restic/main.go:69 +0x1d6

goroutine 18 [syscall]:
os/signal.signal_recv(0x0)
	/home/joe/tmp/go/src/runtime/sigqueue.go:139 +0xa6
os/signal.loop()
	/home/joe/tmp/go/src/os/signal/signal_unix.go:22 +0x22
created by os/signal.init.0
	/home/joe/tmp/go/src/os/signal/signal_unix.go:28 +0x41

goroutine 19 [chan receive]:
github.com/restic/restic/internal/restic.init.0.func1.1()
	/tmp/restic-build-798080644/src/github.com/restic/restic/internal/restic/lock.go:266 +0xef
created by github.com/restic/restic/internal/restic.init.0.func1
	/tmp/restic-build-798080644/src/github.com/restic/restic/internal/restic/lock.go:263 +0x35

goroutine 20 [select, locked to thread]:
runtime.gopark(0xb00a98, 0x0, 0xad25e9, 0x6, 0x18, 0x1)
	/home/joe/tmp/go/src/runtime/proc.go:291 +0x11a
runtime.selectgo(0xc42004ff50, 0xc4200be1e0)
	/home/joe/tmp/go/src/runtime/select.go:392 +0xe50
runtime.ensureSigM.func1()
	/home/joe/tmp/go/src/runtime/signal_unix.go:549 +0x1f4
runtime.goexit()
	/home/joe/tmp/go/src/runtime/asm_amd64.s:2361 +0x1

goroutine 21 [chan receive]:
github.com/restic/restic/internal/restic.init.2.func1(0xc4200be120)
	/tmp/restic-build-798080644/src/github.com/restic/restic/internal/restic/progress_unix.go:17 +0xa3
created by github.com/restic/restic/internal/restic.init.2
	/tmp/restic-build-798080644/src/github.com/restic/restic/internal/restic/progress_unix.go:16 +0xab

goroutine 22 [chan receive]:
main.CleanupHandler(0xc4200be480)
	src/github.com/restic/restic/cmd/restic/cleanup.go:62 +0x5d
created by main.init.0
	src/github.com/restic/restic/cmd/restic/cleanup.go:24 +0x6d

goroutine 33 [IO wait]:
internal/poll.runtime_pollWait(0x7f4f7b660f00, 0x72, 0xc42026c470)
	/home/joe/tmp/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42025a248, 0x72, 0xffffffffffffff01, 0xb53820, 0xe2a448)
	/home/joe/tmp/go/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42025a248, 0xc420276001, 0x1000, 0x1000)
	/home/joe/tmp/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42025a230, 0xc420276000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/home/joe/tmp/go/src/internal/poll/fd_unix.go:157 +0x17d
os.(*File).read(0xc42021a0c8, 0xc420276000, 0x1000, 0x1000, 0x0, 0x0, 0xc42026c578)
	/home/joe/tmp/go/src/os/file_unix.go:226 +0x4e
os.(*File).Read(0xc42021a0c8, 0xc420276000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0)
	/home/joe/tmp/go/src/os/file.go:107 +0x6a
bufio.(*Scanner).Scan(0xc42026c730, 0xb556e0)
	/home/joe/tmp/go/src/bufio/scan.go:208 +0xbf
github.com/restic/restic/internal/backend/sftp.startClient.func1(0xb556e0, 0xc42021a0c8, 0xad00dc, 0x3)
	/tmp/restic-build-798080644/src/github.com/restic/restic/internal/backend/sftp/sftp.go:53 +0x1e6
created by github.com/restic/restic/internal/backend/sftp.startClient
	/tmp/restic-build-798080644/src/github.com/restic/restic/internal/backend/sftp/sftp.go:51 +0x1b9

goroutine 35 [IO wait]:
internal/poll.runtime_pollWait(0x7f4f7b660bc0, 0x72, 0xc420066be0)
	/home/joe/tmp/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42025a388, 0x72, 0xffffffffffffff01, 0xb53820, 0xe2a448)
	/home/joe/tmp/go/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42025a388, 0xc444b56801, 0x4, 0x4)
	/home/joe/tmp/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42025a370, 0xc444b56824, 0x4, 0x4, 0x0, 0x0, 0x0)
	/home/joe/tmp/go/src/internal/poll/fd_unix.go:157 +0x17d
os.(*File).read(0xc42021a0e8, 0xc444b56824, 0x4, 0x4, 0x18, 0x0, 0x0)
	/home/joe/tmp/go/src/os/file_unix.go:226 +0x4e
os.(*File).Read(0xc42021a0e8, 0xc444b56824, 0x4, 0x4, 0x18, 0x0, 0x0)
	/home/joe/tmp/go/src/os/file.go:107 +0x6a
io.ReadAtLeast(0xb522a0, 0xc42016e6c0, 0xc444b56824, 0x4, 0x4, 0x4, 0x9d90a0, 0xc420000101, 0xc444b56824)
	/home/joe/tmp/go/src/io/io.go:309 +0x86
io.ReadFull(0xb522a0, 0xc42016e6c0, 0xc444b56824, 0x4, 0x4, 0xc420066ea8, 0x403877, 0xc420142660)
	/home/joe/tmp/go/src/io/io.go:327 +0x58
github.com/restic/restic/vendor/github.com/pkg/sftp.recvPacket(0xb522a0, 0xc42016e6c0, 0x403355, 0xc420142660, 0xc420066f70, 0x1, 0x8ffbb2, 0xc42028a001)
	/tmp/restic-build-798080644/src/github.com/restic/restic/vendor/github.com/pkg/sftp/packet.go:143 +0x86
github.com/restic/restic/vendor/github.com/pkg/sftp.(*conn).recvPacket(0xc42016e6c0, 0xc420066f70, 0xc40000003c, 0xc42028a028, 0x1, 0x0, 0x0)
	/tmp/restic-build-798080644/src/github.com/restic/restic/vendor/github.com/pkg/sftp/conn.go:22 +0x37
github.com/restic/restic/vendor/github.com/pkg/sftp.(*clientConn).recv(0xc42016e6c0, 0x0, 0x0)
	/tmp/restic-build-798080644/src/github.com/restic/restic/vendor/github.com/pkg/sftp/conn.go:64 +0xe5
github.com/restic/restic/vendor/github.com/pkg/sftp.(*clientConn).loop(0xc42016e6c0)
	/tmp/restic-build-798080644/src/github.com/restic/restic/vendor/github.com/pkg/sftp/conn.go:49 +0x5b
created by github.com/restic/restic/vendor/github.com/pkg/sftp.NewClientPipe
	/tmp/restic-build-798080644/src/github.com/restic/restic/vendor/github.com/pkg/sftp/client.go:99 +0x1c3

goroutine 10 [select]:
main.refreshLocks(0xe70be0, 0xc4202b2960)
	src/github.com/restic/restic/cmd/restic/lock.go:72 +0x221
created by main.lockRepository
	src/github.com/restic/restic/cmd/restic/lock.go:49 +0x373

goroutine 51 [select]:
github.com/restic/restic/internal/restic.(*Progress).reporter(0xc4200e89a0)
	/tmp/restic-build-798080644/src/github.com/restic/restic/internal/restic/progress.go:169 +0x130
created by github.com/restic/restic/internal/restic.(*Progress).Start
	/tmp/restic-build-798080644/src/github.com/restic/restic/internal/restic/progress.go:96 +0x132

rax    0xf7
rbx    0x0
rcx    0x46bb4a
rdx    0xc42026cd98
rdi    0x1
rsi    0x5d7b
rbp    0xc42026ce30
rsp    0xc42026cd38
r8     0x0
r9     0x0
r10    0x1000004
r11    0x216
r12    0x4c
r13    0x4b
r14    0x200
r15    0x100
rip    0x46bb48
rflags 0x216
cs     0x33
fs     0x0
gs     0x0

Uuuuuuuuuuuuuh. I got a lead. On my client, when it runs into dmesg, my kernel Ooooopses.... so maybe a kernel bug that's exposed? Gee, doesn't look good at all. Now thinking about it, I did switch to 4.13.0 fairly recently.  The main thread hangs in an lstat() syscall:
goroutine 1 [syscall]:
syscall.Syscall(0x6, 0xc45a9d9200, 0xc45a230b98, 0x0, 0x0, 0xc45a9d91a0, 0xc424396b90)
	/home/joe/tmp/go/src/syscall/asm_linux_amd64.s:18 +0x5
syscall.Lstat(0xc45a9d91a0, 0x51, 0xc45a230b98, 0x51, 0xc45a9d91a0)
	/home/joe/tmp/go/src/syscall/zsyscall_linux_amd64.go:1312 +0x97
os.lstatNolog(0xc45a9d91a0, 0x51, 0x2, 0x2, 0xc45a9d91a0, 0x51)
	/home/joe/tmp/go/src/os/stat_unix.go:42 +0x5c
os.Lstat(0xc45a9d91a0, 0x51, 0x2, 0xc45a9d91a0, 0x51, 0x0)
	/home/joe/tmp/go/src/os/stat.go:22 +0x4d
path/filepath.walk(0xc45ea0de00, 0x45, 0xb5b060, 0xc45a230820, 0xc44b8463c0, 0x0, 0x0)
[...]
	/home/joe/tmp/go/src/path/filepath/path.go:381 +0x2c2
path/filepath.Walk(0x7ffd0892587f, 0x1, 0xc44b8463c0, 0xc4200e8901, 0xc44b8463c0)
	/home/joe/tmp/go/src/path/filepath/path.go:403 +0x106
github.com/restic/restic/internal/fs.Walk(0x7ffd0892587f, 0x1, 0xc44b8463c0, 0x1, 0x1)
	/tmp/restic-build-798080644/src/github.com/restic/restic/internal/fs/file.go:113 +0x3f
github.com/restic/restic/internal/archiver.Scan(0xc4202262f0, 0x1, 0x1, 0xc44b846380, 0xc4200e89a0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/tmp/restic-build-798080644/src/github.com/restic/restic/internal/archiver/archiver.go:826 +0x1e9
main.runBackup(0x0, 0x0, 0x0, 0xc420232380, 0x5, 0x8, 0x0, 0x0, 0x0, 0x0, ...)
	src/github.com/restic/restic/cmd/restic/cmd_backup.go:454 +0x856
[...]

Running it with strace should give you more information what it tries to stat, use it like this:
$ strace -e lstat,fstat ./restic backup [...]

What a great idea. Just did, and something's seriously b0rked with my FS and/or kernel. strace gave me the offending stat() that causes the kernel Oooops.
I'll try to reboot/switch kernel/e2fsck my system and figure out what the root cause is. It doesn't appear to be restic at all, sorry for the report :-(

restic seems to be a great tool to discover that kind of bugs or problems in filesystem, disk hardware and the linux kernel and its config, we have seen that happen a few more times already ;).

Indeed, restic has found a few hardware issues over the years. It's a good idea to spend a day or so running memtest86, that usually reveals issues with memory quickly.
I'll close this for now, please feel free to add further comments. Thanks!

Ok, I see, thanks for the info @MichaelEischer. I wonder how one should deal with such situations then? If a program just hangs indefinitely on an lstat call, one will sooner or later kill it anyway, so why not allow a timeout even if it e.g. leaves the system in an unknown state?


AssertionError: assets/Sprites-gumshoe/gumshoe-shy.gif does not exist

Or at least is not provided in the pack described in README.md
Thanks.

Line 320 or so of anim.py, add these lines to fallback the asset (gumshoe-shy doesn't exist)
                    if not os.path.isfile(
                        default_path
                        ):
                        default_path = (
                        f"{_dir}/{current_character_name.lower()}-normal(a).gif"

Thanks @l1n that's a good fix
You may want to open a PR to fix it, I'll do it myself if you don't feel like it.
Thanks!


Please add 7.3.1 to manifest

Deployer version: 7.3.1
Deployment OS: Ubuntu

Please add 7.3.1 version to manifest.json.  Our deployment is looking for the latest release :)

Any update on this?

I am aware that pushing issues on GitHub is not appreciated, but I am sure that this really small change would fix a lot of pipelines out there 😅
I would do the pull request myself if that manifest file was to be found in a public repository.

Will update the manifest:)

@antonmedv Do you have an ETA for this? Sorry to nudge!

Let's do it this way. https://github.com/sponsors/antonmedv - if I collect $100 by the end of this day, will fix this bug after the work ;)

Bump? 7.3.1 is still unavailable in the manifest file :(

Still not enough money to do the job. Sorry.

Still not enough money to do the job. Sorry.

Holding such a minor change hostage in exchange for money goes against the ethos of FOSS. While, I understand that we all need to make a living, I think this is the wrong way to go about it. Many other projects have found ways to monetize their work without resorting to gatekeeping changes, and I implore you to do the same.

Hi!
There is no gate keeping, you can just fork it and do it yourself. You can have your own manifest and use that.
And it is not about holding hostage - we all work on things we want to and if the motivation is low, we don't. Therefore either you increase the motivation of @antonmedv or you need to learn living with it. It will surely happen one day.

@Schrank is right here. 😊 When my motivation is high, I do a lot of things. Currently my focus shifted to another FOSS project. And I still maintain Deployer.
What need to be done for updating manifest:

Recent release (BTW, thanks for everyone for lunch money, 75$ collected in one day, was enough to buy this on discount) started automatic workflow.
This workflow should update manifest.json itself.
I can just go and add record into manifest, also the workflow need to be fixes.

Just as a note for future explorers: The manifest at https://deployer.org/manifest.json now seems to contain the version 7.3.1, 7.3.2, 7.3.3 and 7.4.0.
Thus, the issue is not just closed because of the move to discussions, but is actually completed.


Validation Error in loading state_dict for Generator

Hi. I got this error message while validating on Colab:
RuntimeError: Error(s) in loading state_dict for Generator:
	Missing key(s) in state_dict: "conv_block1.0.weight", "conv_block1.0.bias", "conv_block1.1.weight", "trunk.0.rcb.0.weight", "trunk.0.rcb.1.weight", "trunk.0.rcb.1.bias",
     ...
     "upsampling.1.upsample_block.0.bias", "upsampling.1.upsample_block.2.weight", "conv_block3.weight", "conv_block3.bias".
	Unexpected key(s) in state_dict: "epoch", "best_psnr", "state_dict", "optimizer", "scheduler".

Tries to use this weight file: SRGAN_x4-ImageNet-2204c839.pth.tar as provided in the link
To overcome the error, updated the code;
model.load_state_dict(checkpoint["state_dict"])
to
model.load_state_dict(checkpoint["state_dict"],False)
in validate.py on line 34.
After changing, validation works but PSNR is only 8.89dB. I tried also all weight files of SRGAN in the link but all 3 of them have the same PSNR result: 8.89

Which point have I missed?

I'm very sorry, this should be my weight upload error, please click the link again to download the latest weight.

Thank you very much for this project and quick answer.


Fix some usage of the replication settings path after #9696

Use the new settings path to the excludes in the MiqPglogical class and in the replication specs.
It seems I missed a few things.
@Fryguy please review.

@miq-bot add_label replication, bug

/cc @gtanzillo

Still working on why the specs are failing locally (we can't run these on travis because they require the pglogical package to be installed). Marking as wip.
@miq-bot add_label wip

Removing wip, got the tests green locally (environmental issue)
@miq-bot rm_label wip
@Fryguy this is good to go

@Fryguy I think this is ready to merge

@Fryguy bump
@miq-bot add_label darga/no


Week picker: make selected date available, not only the week

Hi, guys!
Very nice date picker! Thank you!
Is your feature request related to a problem? Please describe.
I am using the component in week picker mode. I am able to access selected week via v-model, but I also need the clicked day to be available.
Describe the solution you'd like
An emitted event with clicked date would be great!
Describe alternatives you've considered
I've considered getting clicked date by adding @click handler to #day scoped slot but that is not a good solution since the slot content is not the same click target as the one the your component is listening to.

Will be handled by #597


Small fixes and wrote Docker build support

The installer doesn't always get called from a relative path. Made the paths absolute (easier to rebase Mercure).
Also fixed a typo in the filename that caused the installer to fail.

I wrote a second commit that allows for a Docker environment for the entire Mercure setup. Added Docker container handling in webgui.py (can be modified using services.env). I've tested this for me and everything seems to work.
Fixed some minor issues and refactored date handling for logs (only makes one datetime.strptime call now for each start and end).

#6

Changes have been implemented in the new version. Thanks!!


Test merge to live

Learn Build status updates of commit a90a960:
:white_check_mark: Validation status: passed
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 the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Releases without googleapis.dev documentation

The following releases failed to push their documentation to googleapis.dev:

[x] Google.Cloud.Language.V1 version 1.4.0
[x] Google.Cloud.VideoIntelligence.V1 version 1.3.0
[x] Google.Cloud.TextToSpeech.V1 version 1.1.0
[x] Google.Cloud.Redis.V1 version 1.1.0
[x] Google.Cloud.ErrorReporting.V1Beta1 version 1.0.0-beta10
[x] Google.Cloud.Scheduler.V1 version 1.1.0

The NuGet packages were successfully pushed, and the docs were uploaded to the gh-pages branch, but they need to be pushed to googleapis.dev by a Kokoro job. We cuirrently don't have any tooling for this.

(This isn't fixed yet... we just have the means.)

All done.


[Feature Request] Allow JSON body templates

If you can support XML too, great, but I have multiple variants of a JSON body depending on options. I would like a way to have several different bodies that i can pick from a dropdown list for each endpoint.

Dang I looked everywhere to make sure it wasnt a dup! Thanks!


Add TextFormat like pocketmine?

Would be nice for people who want to have it more like pm and useful in general

LGTM

ah ok, thanks hehe


ImportError: No module named mesos.interface

Trying to run cwltoil with --batchSystem=mesos
(blurb) mesosbox@ip-172-31-27-16:~/common-workflow-language/draft-3/examples$ cwltoil --batchSystem=mesos example-1st.cwl example-echo-job.json
INFO:toil.lib.bioio:Logging set at level: INFO
Traceback (most recent call last):
  File "/home/mesosbox/blurb/bin/cwltoil", line 11, in <module>
    sys.exit(main())
  File "/home/mesosbox/blurb/local/lib/python2.7/site-packages/toil/cwl/cwltoil.py", line 459, in main
    Job.Runner.startToil(staging, options)
  File "/home/mesosbox/blurb/local/lib/python2.7/site-packages/toil/job.py", line 422, in startToil
    with setupToil(options, userScript=job.getUserScript()) as (config, batchSystem, jobStore):
  File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "/home/mesosbox/blurb/local/lib/python2.7/site-packages/toil/common.py", line 450, in setupToil
    batchSystemClass, kwargs = loadBatchSystemClass(config)
  File "/home/mesosbox/blurb/local/lib/python2.7/site-packages/toil/common.py", line 375, in loadBatchSystemClass
    from toil.batchSystems.mesos.batchSystem import MesosBatchSystem
  File "/home/mesosbox/blurb/local/lib/python2.7/site-packages/toil/batchSystems/mesos/batchSystem.py", line 25, in <module>
    import mesos.interface
ImportError: No module named mesos.interface

I think extras_require needs to include the mesos.interface package under the mesos option.

On further research, I see that the mesos packages can't be installed from PyPi, are are present on the cgcloud toil box.  So not a bug, although better error handling (catch ImportError and print something out telling you what to do) would be nice.

Did you setup the env blurb with --system-site-packages?

This section covers this more or less:
http://toil.readthedocs.org/en/releases-3.1.x/essentials.html#running-mesos-tests
Should it be reworded? I also like the idea of catching the import error and printing something useful.


OCMVerify times gets wrong count when using OCMPartialMock

OCMock Version: 3.6
Hi, I use OCMPartialMock to mock a config object. When I use the reference to the real object, it is right to verify the times the function networkStatusCacheTime in the object is called.

This is the screenshot -verifyInvocation:withQuantifier:atLocation: called when it is matching invocation to count. Only one invocation ocmock_replaced_networkStatusCacheTime can match.

But the test failed when I use the reference to the mock object.

OCPartialMockObject(NATritonConfig): Method networkStatusCacheTime was invoked 2 times; but was expected once.

Invocations networkStatusCacheTime and ocmock_replaced_networkStatusCacheTime both match by this time.

Is it different using the real object from the mock object? Maybe is it wrong the way I used?

I can reproduce the bug. It affects partical mocks. When invoking a method on the mock, the mock records the method. Then the mock checks whether there is a stub for the method. If that's not the case the mock forwards the method to the real object. Here it gets intercepted and recorded again.

Please check whether this change fixes the issue for you.

I've tested it and the bug has been fixed. Thanks very much.

Thanks. And @dmaclach, could you pull this change and see whether it breaks anyting in your complex test suites? It's a reasonably contained change, which shouldn't cause any issues, and I think I covered all codepaths, but...

Assume fixed.

Sorry Erik, I haven't got OCMock 3.7 building with all of our stuff yet, so
I couldn't test with the patch.
On Sun, Jul 26, 2020 at 2:11 PM Erik Doernenburg<EMAIL_ADDRESS>wrote:

Closed #444 https://github.com/erikdoe/ocmock/issues/444.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/erikdoe/ocmock/issues/444#event-3587413731, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AACOFSM6HUVVF6MLXVFUP4DR5SLZRANCNFSM4OZPF6OQ
.

No worries. In the end I released this as 3.7.1, so in case there are unforeseen issues, people can roll back to 3.7.


Set default and null value handling to Ignore for Json Serializer

Discovered in the Mooncake CRI 2-3 weeks ago, .NET runtime version 467 ships a bug that can affect customers who do not have default and null value handling set to Ignore.
Setting this by default in the quickstart will protect customers who use quickstart code as a base from such changes in behavior.

This PR is incorrect.


Use 64 bits to store max samples file capacity

Codecov Report

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

@@           Coverage Diff           @@
##           master      #78   +/-   ##
=======================================
  Coverage   67.39%   67.39%
=======================================
  Files          80       80
  Lines        5739     5739
=======================================
  Hits         3868     3868
  Misses       1871     1871

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 9f58a2c...172d3a2. Read the comment docs.


Atom freezes momentarily when deleting a variable

Editor freezes for a few seconds when deleting a variable(or symbol?).
Atom v1.0.19
OSX El Capitan 10.11

Can you reproduce this in atom's safe mode?

Does not occur in safe mode. I'm suspecting it has got something to do with the tags it generates for searching method names etc.

If it doesn't happen in safe mode, it probably has to do with a community
package you've installed. You might want to take a look at what you have
installed and try disabling (or perhaps) updating the likely suspects and
see if it helps.
On Mon, Nov 2, 2015 at 1:54 PM, Aniket Garg<EMAIL_ADDRESS>wrote:

Does not occur in safe mode. I'm suspecting it has got something to do
with the tags it generates for searching method names etc.
—
Reply to this email directly or view it on GitHub
https://github.com/atom/atom/issues/9316#issuecomment-153009082.

Is that python ?
You probably have a community package along the line of autocomplete-python that recompute the symbols you haves. That would be the proper place to open the issue.

@jeancroy yes, that's ruby. I'll look into packages related to that and open an issue there if needed.


Feature request: implement a timeout when running formatter

Your code launches formatter on each code snippet.
Based on what I can see the code is extracting the code snippet, look for the header, then call the formatter according to the one available
I was struggling with some files formating that were taking 700s to be formatted.
When I moved the file in /tmp/ it was instant.
I used strace to identify the issue. At first I thought the code was looking for tons of files because of a bug in discovering foldes.
It appears the code calls npx to launch formatter such as sqlformatter
npx relies on node_modules, so when the files were in a repository that needs a private npm registry, AND my VPN is down. It will try over and over to reach the npm registry that cannot be reached.
When I switched my VPN on, the mdsf was able to format instantly.
TL;DR; This should be considered as a source of problem. I think you should implement at timeout setting (that maybe configured) this was when formatting a file you could stop processing and inform a user there were an error.

This makes a lot of sense. I'll look into it  🚀

Okay, so I have been looking into this a bit.
I cannot see an easy way to implement a timeout, without having to refactor large parts of the tool.
Currently the way the formatter works is by creating a temporary file for each code block and then invoking each formatter sequentially on the file. In the end the file is read and the markdown file is updated.
By calling sigkill on an invoked formatter mid process we risk the formatter being stopped during a write operation, which could leave the code in a broken state.
The only way I can see to make a timeout work, is by converting the formatters to instead rely on stdin/stdout (Something like cat $FILENAME | stylua -), but that would add overhead since each codesnippet will be written to stdin/stdout multiple times. It also has the added problem of dealing with formatters that don't support stdin as input.

Ouch indeed. I might be easy
What about a global timeout then? I mean not the lintee level and display error information.
But, it might be the exact way you thought about abd I didn't get it 😁

Thanks for checking anyway

A global timeout could work!
I’ll take a look at it once I have some spare time 😃

Because my issue was your code npx so my VPN protected npm repository, but I wasn't on the VPN and without timeout I was waiting for nothing.
BTW, I think I saw you refactored and now local binary are tried before using an npx version

BTW, I think I saw you refactored and now local binary are tried before using an npx version

Yes, local binaries are ran before trying npx/bunx/deno in most cases.
I have been looking into a global timeout and it is actually blocked by the multithreading implementation in #330 since Rust does not support stopping/killing native threads 😅
I am going to benchmark the difference between using native (std::thread) and green threads (tokio::task) to see how big a difference it makes, if any.
I am currently expecting file io performance to be worse when using Tokio (async runtime for Rust) as described in tokio-rs/tokio/issues/3664.
I do not expect the performance of difference of command spawning to have any big impact since we are dealing with such a small amount of processes. I did find the finding of Jakub Beránek in Process spawning performance in Rust rather interesting though.

It looks like the difference between native and green threads is pretty negligible. Native threads did feel a lot smoother to look at, and impacted the overall performance of my computer a lot less. For that reason I am leaning towards not switching to green threads, and for that reason putting the timeout argument on hold.
I ran both on rust-lang/rfcs which has a lot of markdown files.

Left side is native, right is green threads.

mdsf format

mdsf format --cache with no cache

mdsf format --cache with cache from previous operation

mdsf verify

The async implementation can be tested here https://github.com/hougesen/mdsf/tree/refactor/async-runtime
This is also not a good sign for the async implementation 😅

I'm impressed by the benchmark you made :heart:


tests/kernel/smp: Test fails, scheduler schedules the threads on only one core

The test at tests/kernel/smp is failed as it is scheduling the threads on only one core. Please refer the sample log:
Board used: ESP32
build/zephyr/.config:
CONFIG_SMP=y
CONFIG_MP_NUM_CPUS=2
I just added few prints in the code, to recheck that,
@@ -21,11 +21,14 @@ K_THREAD_STACK_DEFINE(t2_stack, T2_STACK_SIZE);
 struct k_thread t2;

 volatile int t2_count;
+int main_core, t2_core;

 #define DELAY_US 50000

 void t2_fn(void *a, void *b, void *c)
 {
+       t2_core = _arch_curr_cpu()->id;
+
        ARG_UNUSED(a);
        ARG_UNUSED(b);
        ARG_UNUSED(c);
@@ -46,7 +49,8 @@ void t2_fn(void *a, void *b, void *c)
 void test_main(void)
 {
        int i, ok = 1;

+       main_core = _arch_curr_cpu()->id;
        /* Sleep a bit to guarantee that both CPUs enter an idle
         * thread from which they can exit correctly to run the main
         * test.
@@ -67,7 +71,7 @@ void test_main(void)
                 */
                k_busy_wait(DELAY_US + (DELAY_US / 8));

-               if (t2_count <= i) {
+               if (t2_count <= i && main_core == t2_core) {
                        ok = 0;
                        break;
                }
@@ -76,6 +80,7 @@ void test_main(void)
        if (ok) {
                TC_END_REPORT(TC_PASS);
        } else {
+               printk("t2_core = %d, main_core = %d\n", t2_core, main_core);
                TC_END_REPORT(TC_FAIL);
        }
 }

Sample log:

***** Booting Zephyr OS v1.11.0-613-g85e8eaa *****
t2_core = 0, main_core = 0
===================================================================
PROJECT EXECUTION FAILED

Yeah, that looks like a bug.  The failure is clear, but FWIW: the logging of CPU IDs isn't informative.  The main thread can exit the sleep (or the k_thread_create call, in fact) on a different CPU than it started on.  What this looks like is that the secondary thread never runs at all, so t2_core is left at zero from static initialization.
Did you try a quick bisection to the 1.11 release?  I know it was working there. There are some changes to the asm2 layer and to the scheduler that have gone in since that could conceivably have broken it.  Will check in the morning.

Got it.  Took a while to see, because it's timing related.  My WROVER board worked, as did the WROOM board I had at home.
The root cause is the _smp_global_lock() abstraction, which replaces irq_lock() in SMP code.  It's wrong in two ways, one is a giant whopper (that results in the lock being mostly a noop) and one is more subtle (that would have deadlocked the system if the whopper bug hadn't hidden it).  Working on a fix now.

Fix is merged, the issue is no more seen.


my_first_pull

Hi @triumphant-fortune, well done for your contribution. Please remember to add a heading to each section of your information. Also include the checklist of tasks you wish to work on.
It should be in this format
Introduction
Links
Task

Yes, I am really having a problem. Any step to step tutorial on how to
achieve that? I don't want to make this mistakes in the future.
On Sun, Oct 8, 2023 at 3:46 AM Olumide Micheal @.***>
wrote:

Hi @triumphant-fortune https://github.com/triumphant-fortune, well done
for your contribution. Please remember to add a heading to each section of
your information. Also include the checklist of tasks you wish to work on.
It should be in this format
Introduction Links Task
—
Reply to this email directly, view it on GitHub
https://github.com/wagtail/outreachy/pull/44#issuecomment-1751995138,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A5JRVWVOCDSD3XPHBLOCBNLX6KAADAVCNFSM6AAAAAA5WJO5F2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJRHE4TKMJTHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Ok we can schedule a call and see to it together. When would you be available

@codewithmide  I am available now ..


Optimize include files to improve shader_language.h compilation speed

This will remove the inclusion of the shader_language.h from rendering_server.h which only used it in global_variable_type_get_shader_datatype  and also from material.h. ~To prevent errors I've separated DataType from ShaderLanguage into a new file.~
Time build on my PC (Win10, Corei7-5930k) after simple change in shader_language.h,
Before:

After:

which is +62.84% faster than before. I am really tired of doing even a small change to this header takes so much time.

Needs a rebase after the merge of the new OpenGL shader compiler.


[FEAT] Navigate to previous commands

Previously, TAilor did not allow for navigation to previously typed commands.
Let's add this functionality so users can efficiently correct mistype commands
entered before.
This feature behaves similarly as the terminal, where pressing UP navigates to
to previously entered commands, and DOWN navigates to more recently
entered ones.
Issues: #76

Codecov Report

Merging #79 (199da92) into master (4f2d95b) will decrease coverage by 1.84%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master      #79      +/-   ##
============================================
- Coverage     72.32%   70.48%   -1.85%
  Complexity      447      447
============================================
  Files            77       78       +1
  Lines          1301     1335      +34
  Branches        139      139
============================================
  Hits            941      941
- Misses          320      354      +34
  Partials         40       40

Impacted Files
Coverage Δ

...ava/seedu/address/history/InputHistoryManager.java
0.00% <0.00%> (ø)

src/main/java/seedu/address/ui/CommandBox.java
0.00% <0.00%> (ø)

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 4f2d95b...199da92. Read the comment docs.

I've fixed all the checkstyle errors found in addressbook.json in this PR.

Deleted addressbook.json


How to support Astrobee and ISAAC (msgs) simultaneously

Hi Khaled,
Thanks for updating to noetic, makes my life a lot easier!
Rosbridge (and rosvideo) need msg packages included to operate. What do you think is the best solution for this with support for non-NASA msgs? For my application, I only need ff_msgs and some custom messages. Here's some ideas:

copy paste msg packages to gitignored folder, copy to container in dockerfile
same, but add as a volume
git submodule (how isaac works. I'm not a fan of submodules, but msgs are updated infrequently so it might be okay)
user must build their own msgs on top of existing containers (kind of how we had before)

I've thought about this in the past and I think using Docker volumes is the most elegant solution. The caveat is that Docker volumes are only available when the container runs, not when the image is built. A (rudimentary) solution to this is to have the container entry-point or starting command compile ROS messages found inside a predefined Docker volume mount path. This isn't an elegant solution though because it would recompile on every container run regardless of ROS message definition change. My idea to solve this would be to have the user provide a path to the ROS messages directory as a command line argument to the build.sh script. The script would copy this directory to the backend directory allowing the backend Docker build process access to the ROS messages. The script shouldn't change the modification time of the copied ROS messages because doing so would unnecessarily invalidate the Docker build cache.

What's keeping us from using isaac_msgs as base? It's compatible with all 3 ubuntu versions with customizing the args:
ARG UBUNTU_VERSION=16.04

FROM ubuntu:${UBUNTU_VERSION}

ARG ROS_VERSION=kinetic
ARG PYTHON=""

I can also add a REMOTE option such that it pull from github images and no local build is needed

@marinagmoreira
Good point, I like the idea of using the isaac:msgs pre-built Docker image, and we can use it as a "plugin" which is what I call additional docker-compose files that can be added as needed. My idea is to have an isaac.docker-compose.yml file inside the plugin folder and by using that it will adjust all Docker services to the ideal ISAAC state.

@jdekarske @marinagmoreira
The way I've solved this is by adding new docker-compose files to the "plugins" directory and new Dockerfiles to the "rosbridge" directory for both ISAAC and Astrobee sims. For example, Astrobee has a plugin file here and a custom ROS Bridge Dockerfile here. When running build.sh or run.sh, you can add -i or --isaac for ISAAC sim plugins, and similarly -a or --astrobee for Astrobee sim plugins. The way this works is that docker-compose files can be stacked, with each extra file modifying the base docker-compose file, so a "plugin" file only needs to include the changes. I've also added test scripts to illustrate how this all works (ISAAC, Astrobee).

@jdekarske
I was able to verify that ISAAC runs well and ROS Bridge has access to custom messages such as ff_msgs. I verified this by checking the EKF plot inside the IUI. You can also verify this by checking the ROS Bridge logs. Check this script for more info.

Thanks for playing around with this. I'm trying it now. Where do you get this base docker image from?

Thanks for playing around with this. I'm trying it now. Where do you get this base docker image from?

You can build it in the isaac repo by doing ./scripts/docker/build.sh -n -v. As soon as I get time, I'll add it to the isaac CI such that you don't have to build it yourself

@jdekarske
There's one for Astrobee and one for ISAAC. I just realized the one for Astrobee doesn't build the messages, so I switched both ROS Bridge Docker images to use the ISAAC Messages Docker image instead.

@jdekarske There's one for Astrobee and one for ISAAC. I just realized the one for Astrobee doesn't build the messages, so I switched both ROS Bridge Docker images to use the ISAAC Messages Docker image instead.

Should I build it separately? I only split it into 2 different images because of the build context

@marinagmoreira
That's up to you. Does the ISAAC sim use custom ROS messages that won't be included in the Astrobee sim?

@marinagmoreira That's up to you. Does the ISAAC sim use custom ROS messages that won't be included in the Astrobee sim?

Yes definitely, on the ISAAC side we have no use for an astrobee_msgs

Astrobee messages would be ff_msgs and ff_hw_msgs. They are also used by the ISAAC sim. But I don't know if the ISAAC sim has additional messages.

If ISAAC has no use for astrobee msgs alone, I think it would be better to support ISAAC_msgs primarily and leave the rest to a custom plugin in your architecture. For example, I'd use astrobee_msgs and a few other msgs in my application so I can support my own rosbridge container.

Sorry I misspoke, it needs both

I think this is a good approach for now! I need to do some further testing and I'll let you know how it goes :)


[ZEPPELIN-941] jsoup NoSuchMethodError in ZeppelinRDisplay.scala

What is this PR for?
Since version 1.8.2 of jsoup, org.jsoup.select.Elements class no longer has "get(int index)" method. It contradicts to <jsoup.version>1.8.2</jsoup.version> written in scala/pom.xml. Currently %r scripts fail with "java.lang.NoSuchMethodError: org.jsoup.select.Elements.get(I)Lorg/jsoup/nodes/Element;"
This PR changes obsolete get(0) method to more universal and logically equivalent first() method, removing error message and removing 1.8.1 restriction to jsoup library (at least in ZeppelinRDisplay part of zeppelin).
What type of PR is it?
Bug Fix
Todos

[ ] - Task

What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-941
How should this be tested?
Execute R-Tutorial Notebook in default installation of zeppelin and confirm that you can see output.
Questions:
It shouldn't break older versions.

Thx for jumping on this. It was mentioned on the mailing list, but seems like not everyone encounters this (maybe different maven options, profiles...)
Going to first will solve issue for everyone.
I checked Travis: all green execept TEST_SELENIUM=true which returns : Tests in error: ZeppelinIT.testSparkInterpreterDependencyLoading:214->AbstractZeppelinIT.createNewNote:133 Â» Timeout - Not related to this PR.
So LGTM.

CI failure is un-related
08:00:02,254 ERROR org.apache.zeppelin.AbstractZeppelinIT:153 - Exception in ZeppelinIT while testSparkInterpreterDependencyLoading
org.openqa.selenium.TimeoutException: Timed out after 30 seconds waiting for visibility of element located by By.id: noteNameModal

...

	at org.apache.zeppelin.AbstractZeppelinIT.createNewNote(AbstractZeppelinIT.java:133)

@Arkoniak can you please close and re-open the issue to trigger the CI?

Thanks! Lets wait for results, in effort to stabilize the CI.
Otherwise looks great to me.

All Green now. LGTM confirmed.

👍  Merging if there is no more discussion

that is very nice


Add some python post-processing tools that make use of ADIOS2

While the post-processing tools inlined into ExaConstit are worked on, we should be able to offer python tools that perform the same set of operations such as those outlined in https://doi.org/10.1088/1361-651X/aa6dc5 . We could also look into showing off other tools as well to analyze the data.

b8cc222463c3d741bed4f78b8d285205f8437f2b introduced some examples ways of how to use the ADIOS2 functionality. I still need to add a few python files that'll do the dimensionality reduction methods mentioned earlier. I already have them written up in python from my grad school days, so it shouldn't be hard to port over to how things are done with ExaConstit.

00900f8c063848cc2aee9a609978e4b8a8cb3207 added some intragrain misorientation function capability. I'll close this for now just because there's at least enough there now to get people started on things.


Add forgotten recipe for oci-copy task

I didn't understand how the recipe worked before.
I figured this out in the course of working on https://github.com/konflux-ci/build-definitions/pull/1086, but I split this out to a separate PR.

TODO - rebase this on https://github.com/konflux-ci/build-definitions/pull/1086 after it merges.


Anonymous access to grafana

It seems convenient to me to be able to access grafana directly without user registration.
In our deployment we have made the following adjustments in  ./docker/grafana/custom.ini:
[users]
disable user signup / registration
-;allow_sign_up = true
+allow_sign_up = false
[auth.anonymous]
enable anonymous access
-;enabled = false
+enabled = true
Share your opinion on these, I think there is no need for a pull request.

I'm not sure about make this change the default one for grafana (but we could add it into the documentation)
However let's see what the opinion of the community about it

This message was created automatically by mail delivery software at Junk Email Filter.
The message from "Efrain [Masked]"<EMAIL_ADDRESS>is being returned by server opayq-outbound.junkemailfilter.com on Mon, 12 Jun 2017 08:23:12 -0700
A message that you sent could not be delivered to all of its recipients.
NOTE: And this is important - Junk Email Filter is a front end spam filtering service. We accept email for our customers, filter it, and pass the good email on. Sometimes when we forward email as good the server we forward to rejects it. Generally if you are getting this message it is because the server we forwarded to  * NOT JUNK EMAIL FILTER * has rejected the message.
If you see below the phrase "error from remote mail server" then it is the server who we are forwarding to, NOT US who is rejecting the email. Read the reason carefully and see if you can correct the cause of the rejection.
The following address(es) failed:
<EMAIL_ADDRESS>host mx00.emig.gmx.net [<IP_ADDRESS>]
SMTP error from remote mail server after HELO opayq-out-00.junkemailfilter.com
opayq-outbound.ctyme.com: 500 Syntax error, command unrecognized

Yes, not sure about making it the default in open-nti as well.
I think perhaps this issue should be merged with #8 (persistent Grafana config). In our case the setup with anonymous access works best and we will keep it that way. I wouldn't like to keep a separate branch just for this though.

Hi Kostas,
Let's still wait for more comments from community
Meanwhile if you require to specify some config parameters that are not the
default ones, you can always fork the repo, and put your default parameters
in your repo, then for any future change we make in the openNTI repo you
can always sync it
https://help.github.com/articles/syncing-a-fork/
Hope this could be a temporal workaround
Regards
On Tue, Jun 13, 2017 at 11:14 AM, Kostas Zorbadelos <
<EMAIL_ADDRESS>wrote:

Yes, not sure about making it the default in open-nti as well.
I think perhaps this issue should be merged with #8
https://github.com/Juniper/open-nti/issues/8 (persistent Grafana
config). In our case the setup with anonymous access works best and we will
keep it that way. I wouldn't like to keep a separate branch just for this
though.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Juniper/open-nti/issues/166#issuecomment-308056554,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGZZNei5MRFxPl1VszbvTJq_-0WS3Pt7ks5sDlMHgaJpZM4N28Af
.

--
Saludos
Efrain Gonzalez

Could the behaviour of granting anonymous access be controlled via environment variable at container launch?

Good Idea @mwiget,
Here is the ENV variables for grafana ( http://docs.grafana.org/installation/configuration/ )
@kzorba could you please test it, modifying your docker-compose file with [auth.anonymous]

Sorry for the long delay in the answer. Test it it and works like a charm. Thanks @mwiget!
I will send a pull request to have the options commented in  docker-compose-persistent.yml for whoever is interested in this.


Fix: Shares can't be updated on table_grant resource

The difference function in the table_grant resource had a hard coded string meaning it only ever calculated the difference for roles not shares.

@alldoami  would love any guidance to get this incorporated as soon as possible. Let me know if you would like to see anything more on this seems pretty straightforward to me

/ok-to-test sha=261001c

Would be great if you could add a test here! https://github.com/chanzuckerberg/terraform-provider-snowflake/blob/main/pkg/resources/external_table_grant_test.go

@alldoami I am a little confused does the external table grant use the table_grant?

@alldoami I added a test to table_grant_test.go I have verified that it fails when bug is present. Assumed this is what you wanted above. Let me know if there is anything else needed here.

/ok-to-test sha=fac1c94

Thank you for adding the test! It looks good.


Use 333 as black

Fixes #6

@xybrnet this uses #333 as black everywhere, which is bootstrap's default. It's slightly lighter than the dark-gray, so the last footer and the dark gray slab are still dark.

I think it works well :+1:


EDA service error for study India ICEMR Severe P. vivax and falciparum Cohort

https://qa.restricted.clinepidb.org/ce.restricted.qa/app/workspace/analyses/DS_3b4a4e8f09/new
Error: 500 Internal Server Error
{"status":"server-error","message":"Unable to complete request","requestId":"21MOx9OdNiIk3pfF2ph22D"}
fir: /var/log/containers/docker.eda_qa_data_1.log
Unable to process result of SQL
SELECT distinct stable_id, data_type, data_shape, display_type, has_values, unit, is_multi_valued, precision, provider_label, display_name, parent_stable_id, definition, vocabulary, display_order, display_range_min, display_range_max, range_min, range_max, bin_width_override, bin_width_computed, is_temporal, is_featured, is_merge_key, is_repeated, distinct_values_count, is_multi_valued FROM apidb.AttributeGraph_ICESEVER1_1_ParticipantRepeatedMeasure ORDER BY stable_id
I cannot see any issue with the query; if there is some issue with the values returned, we may be able to address it in data loading

Two studies are now affected and Outreach needs to QA them for release. Can we get this fixed today?
Affected:
DS_22e3c3c070	ISASimple_General_Crompton_cohort_RSRC	Kalifabougou Malaria Cohort	Kalifabougou Malaria Cohort DS_3b4a4e8f09	ISASimple_ICEMR_India_severemalaria_RSRC	India ICEMR Severe P. vivax and falciparum Cohort	India ICEMR Severe P. vivax and falciparum Cohort


auto completion for sqlx-cli

It would be awesome if there was support for auto completion for sqlx-cli 😃

We would love this, too. It looks like Clap provides a way to generate completions so someone just has to set this up to run on build of the CLI? https://github.com/clap-rs/clap/tree/master/clap_generate

Seems like Clap recommends it be run as a subcommand: https://docs.rs/clap_generate/3.0.0-beta.4/clap_generate/fn.generate.html
Although if we start publishing binary releases we can easily include the generated completions.

i have added completion script as shown in the clap_generate example, would you like to see that?


[e2e]: generic tag main assets slsa3

Repo: https://github.com/slsa-framework/example-package/tree/v18.0.305
Run: https://github.com/slsa-framework/example-package/actions/runs/4663254589
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.generic.tag.main.assets.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.generic.tag.main.assets.slsa3.yml
Trigger: push
Branch: v18.0.305
Date: Tue Apr 11 02:39:27 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/v18.0.306
Run: https://github.com/slsa-framework/example-package/actions/runs/4664678968
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.generic.tag.main.assets.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.generic.tag.main.assets.slsa3.yml
Trigger: push
Branch: v18.0.306
Date: Tue Apr 11 06:58:44 UTC 2023
Tests are passing now. Closing this issue.


NOISSUE: prioritize network pulse stream

NOISSUE: prioritize network pulse stream

Where is the proof, that this increases the speed of execution?
@egorikas  this is an experiment to make this proof.

The os.LockOSThread() mechanism is mostly useful when Go has to interface with some foreign library (a C library for instance). It guarantees that several successive calls to this library will be done in the same thread.

Already attempted in various ways. This will NOT work. Please cancel this change.

@cyraxred please provide results of this experiments.


Complete Crossfeed Registration Data Flow Diagram

We have started a Crossfeed registration document: https://www.figma.com/file/y0T6W1Y8XN73tuho2ePz1z/Crossfeed-Registration?type=whiteboard&node-id=0-1&t=ypzCjxvIyH78iKO6-0
This document will show user inputs and registration process data entry.

blocked by #2355

@nickviola - Please translate the following for the Region data. (States --> Region Num)
https://www.fema.gov/about/organization/regions

Data flow diagram created here: https://www.figma.com/file/y0T6W1Y8XN73tuho2ePz1z/Crossfeed-Registration?type=whiteboard&node-id=0-1&t=b1agsnEiCKJLr1OV-0

Closing Issue as the design has been implimented and this issue does not relate to deployable code.


[Server] Package Meshery Catalog Artifacts as OCI Images

Description
Meshery Catalog content represents a schema-based description of cloud native infrastructure. Catalog content need to be portable between Meshery deployments as well as easily version-able in external repositories.
References:

https://github.com/kyverno/KDP/blob/main/proposals/store_kyverno_policies_in_oci_registries.md
https://docs.kubewarden.io/distributing-policies/oci-registries-support.html
https://docs.kubewarden.io/distributing-policies/publish-policy-to-artifact-hub

Implementation
Using Reactjs, Golang, GraphQL
Acceptance Tests

Meshery clients (mesheryctl and Meshery UI) should be able to import/export Catalog content as OCI images.
Meshery clients (mesheryctl and Meshery UI) should be able to push/pull from OCI-compatible registries.
Stretch Goal: OCI image signing; Verify the authenticity of Catalog content using cosign.
Target registries: Meshery Catalog (https://meshery.io/catalog), Artifact Hub.

Mockups

Contributor Guides and Handbook

🛠 Meshery Build & Release Strategy
📚 Instructions for contributing to documentation

Meshery documentation site and source

🎨 Wireframes and designs for Meshery UI in Figma
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

Hey @leecalcote, can I work on this issue?

@leecalcote I will like to work on this issue. Will you assign me.

Excellent. Start by creating a design spec. Instructions for doing so are above.

Hi @leecalcote . I am intereseted in working on this project.

Hey @leecalcote I am also interested on working on this issue

This is great. I can't wait to review a design spec draft. 👍

@leecalcote I am very intrested in working on this project.

@leecalcote, I would like to work on the design spec and I need some guidance in doing so.
I am having trouble in understanding the project completely


Use Argon2 Password Hasher?

Hello, noticed that the Django 1.10 docs recommend to use the Argon2 password hasher rather than the defaults.  Any thoughts on using this?  Apparently it requires an additional 3rd party library.  See here and here

I'm very excited to include Argon2, but the installation path is a bit worrisome. According to the docs (linked above), recent pip and setuptools should account for any problems. That's wonderful, and I really respect the maintainer's efforts, but sometimes things can go haywire (especially when dealing with closed-source vendors like Microsoft and Apple). Considering the size and dynamism of our community, I don't want to dump a ton of work on the maintainer of argon2-cffi unless they are certain their package is ready.
Therefore, I'm going to ask the maintainer of argon2-cffi, @hynek, the following question: Considering that we have a LOT of Windows users for Cookiecutter Django, are you okay with us using your argon2-cffi library for password hashing?

I think that ship has sailed once Django added and endorsed it. :)  As with Python 3, once Django encourage something, things tend to start moving.
FWIW, Windows is least of my concerns since it‘s shipping wheels from day 1 (for exactly those reasons; I knew I could rather work out building wheels than supporting people building a C extension).
So sure, go for it.

Thanks for the response @hynek. 😄
@jhancia, did you want to put together a pull request?

Sure, I can give it a go.

Closed by #1079