Network issue

Describe the bug
A clear and concise description of what the bug is.
Expected behavior
A clear and concise description of what you expected to happen.
Upload the Roster
Rename your .rosz file to have the .zip extension, then drag and drop it here

Attempting to upload rosz file and getting Network Error

Also getting this error, as is my friend.

Also getting the same bug.

Issue appears to be resolved.


Integrate ServiceNow features

This issue is being closed due to platform migration and may be revisited at a later date.


Automated cherry pick of #8865: fix: allow disk attach to multiple guests

Cherry pick of #8865 on release/3.5.
#8865: fix: allow disk attach to multiple guests

/lgtm
/approve


readmd is weird

it does not make sense, one it only has 2 steps the first one and the 3rd one? and then it just saids to compose yml and all that but how in the world are we supposed to install it now?

Huh it said step 1 and 3 just replace 3 with 2


Reduce minimum capsule/cylinder mesh rings to 0

Fixes https://github.com/godotengine/godot/issues/82850

Reduce the minimum amount of capsule/cylinder mesh rings to 0. I checked that both work fine with 0. The code for cylinder already supported 0, but the range hint was wrong, so the editor didn't allow less. Allowing a capsule to have 0 rings is new behavior, but I tested that it still works fine.
Update the ring amount setter methods to use ERR_FAIL_COND like TorusMesh::set_rings already does.
Change the default cylinder rings to 0. The current default value of 4 does not make any sense, if users need to deform the cylinder they will likely want more than 4, and when not deforming (most cases) you only need 0. There is no visual difference when not deforming the cylinder, it looks identically with 0 rings and with 100 rings. Reducing the default from 4 to 0 just means free performance for most projects (only one third the amount of triangles, so this will make the default cylinder mesh ~3 times faster to render).

See https://github.com/godotengine/godot/pull/49730, which was rejected in the past.
That said, I still think this makes sense to be reduced to 0 as not all cylinders are very long.

Long thin triangles can't possibly be less performant than more triangles, right?

The issue is that long thin triangles (more than 8:1 aspect ratio roughly) go through a slow path in the GPU hardware. This is also the case for triangles smaller than a pixel.

@Calinou I updated the PR to not change the default value. Now it's just the allowed and range hint values.


Implement RABIES

The following pull request is a draft to provide a centralized point for discussion and tracking of the implementation of the RABIES pipeline into nipoppy.
More information about the RABIES fmri pipeline is provided at the following sites:
Github (https://github.com/CoBrALab/RABIES)
RABIES documentation (https://rabies.readthedocs.io/en/stable/)

was this ever tested on a sample dataset?

@Gab-D-G This implementation was tested with the sample dataset provided in the rabies tutorial , specifically the one available on zenodo

@Gab-D-G This implementation was ran with the sample dataset provided in the rabies tutorial , specifically the one available on zenodo

Great! If all ran without errors, then it should be all good.

@michellewang @Gab-D-G I was wondering how I should go about creating the pipeline tracker configuration file for RABIES and if it is necessary to implement? The final output of the pipeline can have 60+ files, which could lead to quite a large tracker config file if they were all to be tracked. In addition, some files will only exist if a certain argument is passed (ex: the --data_diagnosis tag). Any advice how to tackle this would be greatly appreciated, thanks!

you are right @david-roper that RABIES outputs lots of files, and the set of file varies according to the input parameters. It would be preferable that it is not necessary to track every file manually, since nipype is doing so internal when running RABIES... Not sure I can advise further on this end.

Hi @david-roper, the tracker configuration file is not required, so it's fine if there isn't one for RABIES. Though just to clarify, the tracker doesn't need to include an exhaustive list of all expected output files. If there is a set of files (or a single file) that is generally important for downstream analysis (and are produced no matter the input arguments), then you could include it in the tracker config file, though again that is not required.
Another thing: trackers currently are specified by pipeline, not pipeline step (we might change that, see #258). So if the steps in RABIES are sequential then it might make sense to track only the expected outputs of the last step.
FYI we're currently thinking about how to manage the growing library of supported pipelines (see #316), as it doesn't necessarily make sense to have the JSON descriptors/invocations all in the main code repo. I think we might want to wait until we settle on long-term solution for this before merging this PR.
In the meantime if you have any feedback about the docs or anything else, please let us know!

Ok great thank you both for the advice. I will hold merging the descriptor and invocation files for now until a long term solution (Zenodo upload, etc.) is set (#316). I will also keep the tracker config empty for now but will do a deeper dive into the important files from the final output of RABIES (i.e. the analysis step) that would be beneficial to track. I found the current docs quite helpful and if I have any extra suggestions for them I will let you know!


Additionally test KVStore mode in E2E/IPSec workflows

Modify a few matrix entries of the Cilium E2E Upgrade and IPSec workflows to configure Cilium in kvstore mode, to cover this functionality here as well in addition to the clustermesh workflows. In detail, the etcd instance is executed as a pod running in host network, which is setup via the kind-kvstore-start makefile target. The matrix entries are selected trying to cover the most common combinations, that is native-routing/tunneling, KPR off/on and wireguard off/on, and avoiding incompatible options (mainly Egress Gateway).
Depends on https://github.com/cilium/cilium/pull/35646

/ci-e2e-upgrade

/ci-e2e-upgrade

/ci-ipsec-e2e

/ci-ipsec-upgrade

/ci-ipsec-e2e

/ci-ipsec-upgrade

/ci-ipsec-e2e

/ci-ipsec-upgrade

Starting to open for review to gather feedback. The first commit is from https://github.com/cilium/cilium/pull/35646 which shall be merged first (hence I marked this one as blocked).

Rebased onto main to drop the commit from https://github.com/cilium/cilium/pull/35646.

/test

Rebased onto main to fix a conflict.

/test


add option to disable openni2 driver

needed for avoiding library conflicts between director libopenni2 and ROS libopenni2

closing this in favor of #570 which implements the same change but also removes the now unused USE_KINECT option.

works for me, thanks


merge package from arlac77/npm-package-template-esm-only

.travis.yml

chore(travis): remove node versions 11.12.0
chore(travis): add node versions -10,-11,11.13.0

Codecov Report

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

@@           Coverage Diff           @@
##           master      #20   +/-   ##
=======================================
  Coverage   94.09%   94.09%
=======================================
  Files           6        6
  Lines         220      220
  Branches       37       37
=======================================
  Hits          207      207
  Misses         13       13

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 cdcc647...fcb7dfb. Read the comment docs.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


NumericUpDown decrement/increment of null value is confusing

Describe the bug
Probably not quite a bug, but confusing behavior.
When empty NumericUpDown (with Value=null ) is decremented, value is getting reset to the NumericUpDown.
Which doesn't look right with default NumericUpDown.Maximum value - decimal.MaxValue.
Probably it should check if Maximum was set, if not - use Minimum (i.e. no decrement less then minimum) or reset to 0.
Same about incrementing.

Desktop (please complete the following information):

Version 11.0

😂 it is

I prefer 0 in case there is no maximum set. Should I work on this?

@timunie note, 0 is not valid value, if Minimum is greater than 0. So it should be adjusted by these properties if it's set (this.IsSet(MinimumProperty)...)


How to coverage all branches

Component
Forge
Have you ensured that all of these are up to date?

[ ] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (e385736 2022-08-13T00:08:48.145581Z)
What command(s) is the bug in?
forge coverage
Operating System
macOS (Apple Silicon)
Describe the bug
Is there any example that covers all branches tests. I have already add all test of my branches, but my test report seems not correct, still have lots branches not covered

I have already run the forge-coverage-test code, it seems also have the same question that the branches coverage is 50%

same here, it looks like require branches does not work as expected:
contract Counter {
    function example(uint number) public view {
        require(number != 0, "number cant be zero");
    }
}

test:
contract CounterTest is Test {
    Counter public counter;
    function setUp() public {
       counter = new Counter();
    }

    function testOne() public {
        vm.expectRevert("number cant be zero");
        counter.example(0);
    }

    function testTwo() public {
        counter.example(1);
    }
}

result:
+----------------------+---------------+---------------+---------------+---------------+
| File                 | % Lines       | % Statements  | % Branches    | % Funcs       |
+======================================================================================+
| script/Counter.s.sol | 0.00% (0/1)   | 0.00% (0/1)   | 100.00% (0/0) | 0.00% (0/2)   |
|----------------------+---------------+---------------+---------------+---------------|
| src/Counter.sol      | 100.00% (1/1) | 100.00% (1/1) | 50.00% (1/2)  | 100.00% (1/1) |
|----------------------+---------------+---------------+---------------+---------------|
| Total                | 50.00% (1/2)  | 50.00% (1/2)  | 50.00% (1/2)  | 33.33% (1/3)  |
+----------------------+---------------+---------------+---------------+---------------+

Hmm, pretty weird, this is what I am getting on the latest version:
+------------------+----------------+----------------+----------------+---------------+
| File             | % Lines        | % Statements   | % Branches     | % Funcs       |
+=====================================================================================+
| src/Contract.sol | 81.63% (40/49) | 73.91% (34/46) | 44.74% (17/38) | 61.54% (8/13) |
|------------------+----------------+----------------+----------------+---------------|
| Total            | 81.63% (40/49) | 73.91% (34/46) | 44.74% (17/38) | 61.54% (8/13) |
+------------------+----------------+----------------+----------------+---------------+

In the same repository, but on Linux. Version is forge 0.2.0 (b1f6a6c 2022-08-23T00:11:49.822421184Z).
@kesar What version are you on?

@kesar What version are you on? And platform?

I ran foundryup right before posting so I guess last one (I am out of that computer till tomorrow unfortunately, I will give more  info if needed tomorrow)

In the forge-coverage-test project, I commented out a part, and only kept the code in the picture to view the branch coverage in the forge coverage. Is there any example that cover all branches for this test.

update: my system:
foundryup: installed - forge 0.2.0 (4e11d1f 2022-08-24T00:11:00.431678626Z)
foundryup: installed - cast 0.2.0 (4e11d1f 2022-08-24T00:11:00.431678626Z)
foundryup: installed - anvil 0.1.0 (4e11d1f 2022-08-24T00:11:00.508522506Z)
Ubuntu 20.04.4 LTS (WSL2)

I also noticed that fuzz tests are not being catched by coverage:
contract Counter {
    function example(uint number) public view {
        uint256 number2 = number;
    }
}

test:
contract CounterTest is Test {
    Counter public counter;
    function setUp() public {
       counter = new Counter();
    }

    function testOne(uint numbers) public {
        counter.example(numbers);
    }
}

result:
Running tests...
+-----------------+-------------+--------------+---------------+-------------+
| File            | % Lines     | % Statements | % Branches    | % Funcs     |
+============================================================================+
| src/Counter.sol | 0.00% (0/1) | 0.00% (0/1)  | 100.00% (0/0) | 0.00% (0/1) |
|-----------------+-------------+--------------+---------------+-------------|
| Total           | 0.00% (0/1) | 0.00% (0/1)  | 100.00% (0/0) | 0.00% (0/1) |
+-----------------+-------------+--------------+---------------+-------------+

@kesar Hid your comment re: fuzz since that is already known, see #1964

More clearly for the question, What tests should I add to make branches 100% coverage？
The contract is
contract Branches {
    event Branch(uint256 n);

    function branchRequire(bool increment) external {
        // Should be treated as a branch
        require(increment);

        emit Branch(2);
    }
}

test:
pragma solidity =0.8.9;

import "../lib/ds-test/src/test.sol";
import "src/Contract.sol";

interface Cheats {
    function expectRevert() external;
    function expectRevert(bytes calldata) external;
}

contract BranchTest is DSTest {
    Cheats constant internal cheats = Cheats(0x7109709ECfa91a80626fF3989D68f67F5b1DD12D);
    Branches fixture;

    function setUp() external {
        fixture = new Branches();
    }

    function testBranchRequire() public {
        fixture.branchRequire(true);
        cheats.expectRevert();
        fixture.branchRequire(false);
    }
}

result:
| File             | % Lines       | % Statements  | % Branches   | % Funcs       |
+=================================================================================+
| src/Contract.sol | 100.00% (2/2) | 100.00% (2/2) | 50.00% (1/2) | 100.00% (1/1) |
|------------------+---------------+---------------+--------------+---------------|
| Total            | 100.00% (2/2) | 100.00% (2/2) | 50.00% (1/2) | 100.00% (1/1) |
+------------------+---------------+---------------+--------------+---------------+

It should give you 100%, which it also does for me, leading me to suspect that it is some platform issue that I am unaware of. I am looking at it


[continue:] Moving towards multi-sensor-per-same-measurement fusion

This PR is exactly the same as: https://github.com/PX4/ecl/pull/652,
but added as a separate branch to ECL. Such that we can test the PR's compatibility with the Firmware's CI.

Question: why do we even use the std. deviation in the estimator interface?

PX4 side uses variances (from cov matx)
Fusion uses variances

So we just end up uselessly square rooting and then squaring.

@mhkabir I also noticed that and want get rid of the std deviation. I am in the process of cleaning this and some other things up. But these changes are based on top of this refactor. I am eager to get them in after this PR.

@kamilritz What is missing here? Let's bring this in soon.

@mhkabir Glad you feel the same. Waiting on the firmware PR to be ready.

@kamilritz  https://github.com/PX4/ecl/blob/master/EKF/vel_pos_fusion.cpp#L168
This is just KP, why does the code say it is KHP, where does H come from?  thank you very much :smiley:

Is it because the H matrix is 1?

Yes. To be a bit more precise. It is a vector of size 1x24 full of zeros with a single 1 at the location of the measurement.


How to Read setValue(std::string value) on the BLE receiver?

Hello there,
I am notifying my client (iOS App) for a new value on the characteristic, I set with the setValue(std::string value) method.
I have a u32int value voltage1 and convert it into a string:
std::string Voltage1AsString((char*)&voltage1, 4);
Then set the value for the characteristic:
Signal1_Characteristic->setValue(Voltage1AsString);
How am I supposed to "convert" or read the characteristic value on the client side?
I do not expect swift code, but a general way on how to handle this data would be nice, since I am very nooby at c/c++
Thank you in advance!

Hi @pana216
you can send value in 2 different ways:

send raw integer value Signal1_Characteristic->setValue((uint8_t*)&voltage1, 4);
send as string, its similar way you are doing it
Then on client side you will receive:
4 bytes representing integer value, you have to do nothing but read it and eventually change bytes order (but most likely just read it)
use https://en.cppreference.com/w/cpp/string/byte/atoi

With the help of stackoverflow, google and your answer I came to following conclusion (for everybody who works with iOS as client, a must read, makes things very easy):
Go to the didUpdateValueFor characteristic method from CoreBLE and get the characteristic.value by
guard let characteristicData = characteristic.value else {return -1}
let byteArray = [UInt8](characteristicData)
now if you print the byteArray depending on what value you set to the characteristic in this case we say 'Signal1_Characterisitc->setValue("1840")` you recieve an array of bytes (here [48,7,0,0])
and with the following calculation we can get the Int value back:
let value = (Int(byteArray[0]) << 0)  + (Int(byteArray[1]) << 8)     + (Int(byteArray[2]) << 16)     + (Int(byteArray[3]) << 24)


[C++] arrow::Result::status() should have rvalue-reference-qualified overload returning value instead of reference

Describe the enhancement requested
In current implementation, arrow::Result::status() always returns internal status_ field by const lvalue reference, regardless of Result value category, which can lead to a lot of bugs. For example, consider the following code:
if (auto&& status = functionReturningArrowResult().status(); status.ok())
  return 0;
return -1;

Here call status.ok() leads to undefined behavior cause status is a dangling const lvalue reference pointing to the object returned by functionReturningArrowResult() and destructed after ;.
If arrow::Result had two overloads of status() method for different ref qualifiers:
template <…>
class Result {
  …
  auto status() const & -> const Status& { return status_; }
  auto status() && -> Status { return std::move(status_); }
  …
};

It would prevent such type of bugs, and would allow for better optimized code (as you could move Status from expiring Result object).
Component(s)
C++

Issue resolved by pull request 44477
https://github.com/apache/arrow/pull/44477


Filter placeholder color

Filter placeholder was grey so text was not visible

Done

Sorry for the long delay, I was on vacation.
Thanks a lot for the patch!


Opening the buffer log automatically when an error occurs

Currently, the error message is partially displayed in the echo area, but that is not enough to quickly identify the error. One has to jump to the buffer or use apheleia-goto-error. Is there an option to have the log buffer open automatically after an error?

I do not think there is an option for this by default, but you could probably accomplish it by adding a function to apheleia-formatter-exited-hook.


Develop a Doc Guideline

Description
We need to have a Doc Guideline so that the new contributors know on how they can format their articles for publishing over the website. Right now we have two types of content:

Docs
Blogs

Blogs are reserved for the core maintainers unless stated otherwise. The Docs would consist of articles over various Data Structures and Algorithms that are available on the upstream (NeoAlgo) repository. Your Doc Guideline should contain information and basic sections on how someone can write an article for the website.
You can get inspired from these:

GeeksForGeeks reference
Rotten Scripts reference

I would like to work on this issue. Please assign it to me @HarshCasper


POTENTIAL CONTRIBUTORS BEWARE :: This project does not accept pull requests

Please see this thread:
The README.md should make it clear that the maintainer has zero interest in accepting or reviewing pull requests. In the long term, the project should probably be forked (or forgotten about, there are more open-source friendly options out there, like ripgrep, and for some, contributing to that would involve learning rust, which some may like to do).

Please stop.


Problems binding data at runtime

This may have broken in a recent update (or I might be doing something wrong of course): https://github.com/jefffriesen/vega/blame/webpack/src/core/View.js#L92
When I try to pass in data into the config object, I get errors. Here's the problem code with the screenshot and error message.
Problem
let data = [
  {"x": 1,  "y": 28}, {"x": 2,  "y": 55},
  {"x": 3,  "y": 43}, {"x": 4,  "y": 91},
  {"x": 5,  "y": 81}, {"x": 6,  "y": 53},
  {"x": 7,  "y": 19}, {"x": 8,  "y": 87},
  {"x": 9,  "y": 52}, {"x": 10, "y": 48},
  {"x": 11, "y": 24}, {"x": 12, "y": 49},
  {"x": 13, "y": 87}, {"x": 14, "y": 66},
  {"x": 15, "y": 17}, {"x": 16, "y": 27},
  {"x": 17, "y": 68}, {"x": 18, "y": 16},
  {"x": 19, "y": 49}, {"x": 20, "y": 15}
]
...
let barChartConfig = {
  "width": 400,
  "height": 200,
  "padding": {"top": 10, "left": 30, "bottom": 30, "right": 10},
  "data": [
    {
      "name": "table"
    }
  ],
  "scales": [
    {
      "name": "x",
      "type": "ordinal",
      "range": "width",
      "domain": {"data": "table", "field": "x"}
    },
    {
      "name": "y",
      "range": "height",
      "nice": true,
      "domain": {"data": "table", "field": "y"}
    }
  ],
  "axes": [
    {"type": "x", "scale": "x"},
    {"type": "y", "scale": "y"}
  ],
  "marks": [
    {
      "type": "rect",
      "from": {"data": "table"},
      "properties": {
        "enter": {
          "x": {"scale": "x", "field": "x"},
          "width": {"scale": "x", "band": true, "offset": -1},
          "y": {"scale": "y", "field": "y"},
          "y2": {"scale": "y", "value": 0}
        },
        "update": {
          "fill": {"value": "steelblue"}
        },
        "hover": {
          "fill": {"value": "red"}
        }
      }
    }
  ]
}
...
vega.parse.spec(barChartConfig, function(chart) {
    chart({el:node})
        .data({"table": data})
        .update()

})

The error is
Uncaught TypeError: data[k] is not a function

Working:
If I pass in data to the config object directly it works fine:
let data = {
   {"x": 1,  "y": 28}, {"x": 2,  "y": 55},
  ...
}
...
"data": [
    {
      "name": "table",
      "values": data
    }
],
...

I wanted to update the charts based on user interaction, so I need to bind and update the charts during runtime.
Thanks

Hi Jeff,
Apologies for the slow response, I wanted to get some documentation up before replying. This is an intended breaking change to the API in order to support streaming data. Until I write documentation to better describe the new API, you should hopefully be able to piece together what you need using this guide and PR #48. Let me know if you have any questions!

Thanks for the update to the docs. I still haven't been able to make it work yet.
In the new documentation (https://github.com/uwdata/vega/wiki/Upgrading-to-2.0#runtime-view-api), it's not clear to me what view is. I think it's the chart reference shown in the original runtime documentation: https://github.com/uwdata/vega/wiki/Runtime#basic-use
vg.parse.spec(spec, function(chart) {
  chart({el:"#vis"}).update();
});

Here is what I tried based your docs: (not working)
vega.parse.spec(barChartConfig, function(chart) {
  chart({el:node})
    .data("table")
    .remove(function(d) { return true; })
    .insert(values)
    // I tried to chain an .update() and a .fire() here with no luck
})

There's no error, just no chart. I looked in the tests to see if there were examples but didn't find any examples that showed me my problem. I think my setup is otherwise correct, because when I set the values array directly in the barChartConfig object, it works fine using the non-runtime binding:
vega.parse.spec(barChartConfig, function(chart) {
  chart({el:node}).update()
})

(btw, I'm excited you are taking an RxJS-type approach to interactions. It's one of the reasons that drew me to exploring this library more)

I believe this is the proper way:
vega.parse.spec(barChartConfig, function(chart) {
  var view = chart({el:node});
  view
    .data("table")
    .remove(function(d) { return true; })
    .insert(values);
  view.update();
})

That's because it is necessary to update the view instance after inserting the data. Note that the insert(values) call does not return the instance of view, which I think is why your attempt to chain .update() didn't work.

Thanks @meetamit and @arvind
Looking at your examples and source code I have a better understanding of things, but I still haven't been able to make it work.
I tried
vega.parse.spec(barChartConfig, function(chart) {
  var view = chart({el:node});
  view.data("table")
    .remove(function(d) { return true; })
    .insert(values);
  view.update()
})

and
vega.parse.spec(barChartConfig, function(chart) {
  var view = chart({el:node});
  view.data({
	  table: function(data) {
	    data.remove(function(d) { return true; })
	      .insert(values);
	  }
	})
  view.update()
})

I tried values as a JS array and as an RxJS Observable (Rx.Observable.from(values)) , neither would work (no error, but just got axis and no chart data). Again, I think the rest of my setup is ok, because I can get the chart rendering if I set the values on the barChartConfig object.
I think one or two full examples would clear up a lot, but I know a lot is in flux right now and you're busy still putting it together. Thanks for the work you've all done on this.

You're right, it seems like a regression was introduced at some point.

@jefffriesen thanks for the bug report, this should be fixed in 06d8d43. Let me know if you still run into any issues.


gatsby develop- does not work on unaltered clone

Bug report

What is the current behavior?
unaltered clone of repo errors and build fails using "gatsby develop" (also tried npm run develop)
If the current behavior is a bug, please provide the steps to reproduce.
git clone https://github.com/netlify-templates/gatsby-starter-netlify-cms.git myapp
cd myapp
npm install
npm run develop

What is the expected behavior?
running gatsby develop should not produce an error on unmodified repository clone.

Other relevant information:
gatsby -v
Gatsby CLI version: 2.7.2
Gatsby version: 2.10.0
nodejs -v v8.11.4
npm -v 6.9.0

System:
OS: Linux 4.18 Ubuntu 18.10 (Cosmic Cuttlefish)
CPU: (2) x64 Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz
Shell: 4.4.19 - /bin/bash
Binaries:
Node: 11.12.0 - /usr/local/bin/node
Yarn: 1.16.0 - /usr/bin/yarn
npm: 6.9.0 - /usr/local/bin/npm
Languages:
Python: 2.7.16 - /usr/bin/python
Browsers:
Chrome: 75.0.3770.100
Firefox: 67.0.4
npmPackages:
gatsby: ^2.1.34 => 2.10.0
gatsby-image: ^2.0.23 => 2.2.1
gatsby-plugin-netlify: ^2.0.6 => 2.1.0
gatsby-plugin-netlify-cms: ^4.0.0 => 4.1.0
gatsby-plugin-purgecss: ^4.0.0 => 4.0.0
gatsby-plugin-react-helmet: ^3.0.4 => 3.1.0
gatsby-plugin-sass: ^2.0.7 => 2.1.0
gatsby-plugin-sharp: ^2.0.15 => 2.2.1
gatsby-remark-copy-linked-files: ^2.0.7 => 2.1.0
gatsby-remark-images: ^3.0.1 => 3.1.0
gatsby-remark-relative-images: ^0.2.1 => 0.2.2
gatsby-source-filesystem: ^2.0.26 => 2.1.0
gatsby-transformer-remark: ^2.3.4 => 2.5.0
gatsby-transformer-sharp: ^2.1.9 => 2.2.0
npmGlobalPackages:
gatsby-cli: 2.7.2
Node.js version:
NPM/Yarn version
Operating System:
Additional tools:

did a gatsby develop > buildOutput.txt
here's the file
buildOutput.txt

Reproduced. Weird, looks like Gatsby's build uses an eslint loader that's throwing during compilation. Doesn't look like anyone else is running into this error though.

Worth noting: The clone I did of this a couple of days ago still works, but new clones do not.

Gotcha. If you can pinpoint the commit we can look into reverting, otherwise I can take a look at the commits in the morning.

I'll try poking around, I still have a couple hours.

Actually just realizing this should probably be fixed right away, hunting the bad commit now.

Looks like it was the lockfile, which means an in-range dependency is hurting us (probably eslint-loader): https://github.com/netlify-templates/gatsby-starter-netlify-cms/pull/246

Fixed for now, although the CMS build is throwing an error too, need to investigate that.

Are you referring to this?
TypeError: Cannot read property 'minimizer' of undefined

The TypeError above also appears to have been introduced recently. The version I cloned a couple days ago does not report that error when I run "gatsby develop" while the clone I made a few minutes ago does.

Gotcha - looks like it was the last lockfile update before the one I just reverted: https://github.com/netlify-templates/gatsby-starter-netlify-cms/pull/242

I just did a fresh install and I'm still seeing this error:
TypeError: Cannot read property 'minimizer' of undefined
history:
2013  git clone https://github.com/netlify-templates/gatsby-starter-netlify-cms.git testapp
2014  cd testapp
2015  npm install
2016  gatsby develop
Notes

This apparently does not prevent the application from compiling.
This error does not appear in a clones made 3 or 4 days ago when I ran it today.
I've attached a file containing the reported error.

minimizerError.txt

This issue was found to be in "gatsby-plugin-netlify-cms"
You can find it here: https://github.com/gatsbyjs/gatsby/pull/14795
and here: https://github.com/gatsbyjs/gatsby/issues/14794
The fix for this is to simply upgrade the package.json reference from version 4.0.0 to 4.0.3
like this: "gatsby-plugin-netlify-cms": "^4.0.3",
I have tested this and found it takes care of the problem.

The dependency range is fine, lockfiles just haven't been updated - we use Renovate to do that automatically every week, but I guess 4.0.3 of the plug-in hadn't been released last time it ran. I'll push fresh lockfile updates in the am.
Sent with GitHawk

We did move back to dependabot for some time. Shawn did some preliminary work to sync package updates with netlify-cms package update on the dependabot config, hopefully that's partly eliminating the chance for this to happen again. Gonna close this due to age.


Proxy issues when using self-hosted runners

I've run into issues with this action and the deploy-pages action because they don't seem to support proxies in self-hosted runners. It's not a 404, rather a 400:

Please consider this PR: https://github.com/actions/configure-pages/pull/63
It uses the @actions/github API instead of manually constructing the axios requests. Whatever their package is doing behind the scenes fixes the self-hosted runner issue I'm having... and honestly just makes more sense in my opinion.

Fixed by PR #63 (thanks to you! 💝)


Taskbot (with new AI suggestion)

[ ] Confirm the Business requirements with client (validate if AI is to be included in the solution)
[ ] Identify potential solution for client

Client proposed new AI suggestion: "Allowing managers to ask the chatbot specific questions about who is working on what file and it would be generated based on the data entered by colleagues."
Scheduling kickoff meeting to discuss new AI proposal. Invite sent scheduled meeting on Friday, Nov 10 at 9:30am.


Fixed a bug in the result array

In setting the thumb_name in the result array an underscore was being added between the raw_name and the thumb_marker. But the thumb_marker already has the underscore added at creation time. This means a double underscore in the result array's thumb_name.

Nice, I had already listed that bug, but haven't had the time to fix it.
Thanks mate :)


fatal error: exitsyscall: syscall frame is no longer valid

ref https://github.com/errordeveloper/kubeplay/issues/1
I've not yet been able to find what's the simplest way to reproduce this, but I am able to hit this with my project, which you can compile like this:
go get github.com/Masterminds/glide
go get -d github.com/errordeveloper/kubeplay
cd $GOPATH/src/github.com/errordeveloper/kubeplay
$GOPATH/bin/glide up
make -C vendor/github.com/mitchellh/go-mruby libmruby.a
go install ./rubykube
go build .

Create empty kubeconfig:
kind: Config
apiVersion: v1
preferences: {}
clusters:
- cluster:
    server: https://localhost:8443
  name: test
contexts:
- context:
    cluster: test
    user: test
  name: test
current-context: test
users:
- name: test
  user: {}

Start kubeplay and call pods []:
> ./kubeplay -kubeconfig ./kubeconfig
kubeplay (namespace="*")> pods []
+++ Execute: pods
args=[]
fatal error: exitsyscall: syscall frame is no longer valid

Here's the simple way to reproduce it:
package main

import (
	"fmt"

	mruby "github.com/mitchellh/go-mruby"
)

var testClass *mruby.Class

func createException(m *mruby.Mrb, msg string) mruby.Value {
	val, err := m.Class("Exception", nil).New(mruby.String(msg))
	if err != nil {
		panic(fmt.Sprintf("could not construct exception for return: %v", err))
	}

	return val
}

func testFunc(m *mruby.Mrb, self *mruby.MrbValue) (mruby.Value, mruby.Value) {
	args := m.GetArgs()
	fmt.Println(args)

	t, err := testClass.New()
	if err != nil {
		createException(m, err.Error())
	}

	argv := []mruby.Value{}
	for _, arg := range args {
		argv = append(argv, mruby.Value(arg))
	}
	v, err := t.Call("dotest!", argv...)
	if err != nil {
		createException(m, err.Error())
	}

	return v, nil
}

func doTestFunc(m *mruby.Mrb, self *mruby.MrbValue) (mruby.Value, mruby.Value) {
	args := m.GetArgs()
	fmt.Println(args)
	if len(args) > 1 {
		return nil, createException(m, "Fail us!")
	}
	return nil, nil
}

func main() {
	mrb := mruby.NewMrb()
	mrb.DisableGC()

	testClass = mrb.DefineClass("TestClass", nil)
	testClass.DefineMethod("dotest!", doTestFunc, mruby.ArgsReq(0)|mruby.ArgsOpt(3))

	mrb.TopSelf().SingletonClass().DefineMethod("test", testFunc, mruby.ArgsReq(0)|mruby.ArgsOpt(3))

	if _, err := mrb.LoadString("test()"); err != nil {
		fmt.Printf("Error: %v\n", err)
	}
	if _, err := mrb.LoadString("test(1)"); err != nil {
		fmt.Printf("Error: %v\n", err)
	}
	// Next call will result in a panic
	if _, err := mrb.LoadString("test(1, 2)"); err != nil {
		fmt.Printf("Error: %v\n", err)
	}
}

ping @erikh

The reason I'm doing this level of nesting, is because kubeplay is a DSL, which has simple methods one calls in a REPL, which in turns create objects and call methods on them. I hope this approach is not insane.

The stack trace is:
[]
[]
[1]
[1]
[1 2]
[1 2]
createException returned
fatal error: exitsyscall: syscall frame is no longer valid

runtime stack:
runtime.throw(0x4139cec, 0x2d)
	/Users/ilya/Library/Local/Homebrew/Cellar/go/1.7.1/libexec/src/runtime/panic.go:566 +0x95
runtime.exitsyscall.func1()
	/Users/ilya/Library/Local/Homebrew/Cellar/go/1.7.1/libexec/src/runtime/proc.go:2470 +0x36
runtime.systemstack(0x7fff5fbff6e0)
	/Users/ilya/Library/Local/Homebrew/Cellar/go/1.7.1/libexec/src/runtime/asm_amd64.s:298 +0x79
runtime.mstart()
	/Users/ilya/Library/Local/Homebrew/Cellar/go/1.7.1/libexec/src/runtime/proc.go:1079

goroutine 1 [syscall, locked to thread]:
runtime.cgocall(0x408e840, 0xc420051928, 0xc400000000)
	/Users/ilya/Library/Local/Homebrew/Cellar/go/1.7.1/libexec/src/runtime/cgocall.go:131 +0x110 fp=0xc4200518d0 sp=0xc420051890
github.com/errordeveloper/reproduce-go-mruby-issue-49/vendor/github.com/mitchellh/go-mruby._Cfunc_mrb_funcall_argv(0x4600020, 0x5005640, 0x8, 0x20000028f, 0xc42008a380, 0x0, 0x0)
	??:0 +0x5d fp=0xc420051928 sp=0xc4200518d0
github.com/errordeveloper/reproduce-go-mruby-issue-49/vendor/github.com/mitchellh/go-mruby.(*MrbValue).call(0xc42008a340, 0x4134526, 0x7, 0xc42008a360, 0x2, 0x2, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/ilya/Code/kubeplay/src/github.com/errordeveloper/reproduce-go-mruby-issue-49/vendor/github.com/mitchellh/go-mruby/value.go:94 +0x5e0 fp=0xc420051a28 sp=0xc420051928
github.com/errordeveloper/reproduce-go-mruby-issue-49/vendor/github.com/mitchellh/go-mruby.(*MrbValue).Call(0xc42008a340, 0x4134526, 0x7, 0xc42008a360, 0x2, 0x2, 0x1, 0x2, 0x0)
	/Users/ilya/Code/kubeplay/src/github.com/errordeveloper/reproduce-go-mruby-issue-49/vendor/github.com/mitchellh/go-mruby/value.go:47 +0x7c fp=0xc420051a90 sp=0xc420051a28
main.testFunc(0xc420088068, 0xc42008a2c0, 0x290, 0xc42009e098, 0x0, 0x0)
	/Users/ilya/Code/kubeplay/src/github.com/errordeveloper/reproduce-go-mruby-issue-49/main.go:33 +0x27f fp=0xc420051b58 sp=0xc420051a90
github.com/errordeveloper/reproduce-go-mruby-issue-49/vendor/github.com/mitchellh/go-mruby.goMRBFuncCall(0x4600020, 0x7fff5fbfe558, 0x7fff5fbfe548, 0x0, 0x0)
	/Users/ilya/Code/kubeplay/src/github.com/errordeveloper/reproduce-go-mruby-issue-49/vendor/github.com/mitchellh/go-mruby/func.go:58 +0x1a8 fp=0xc420051c20 sp=0xc420051b58
github.com/errordeveloper/reproduce-go-mruby-issue-49/vendor/github.com/mitchellh/go-mruby._cgoexpwrap_2c571e600d93_goMRBFuncCall(0x4600020, 0x7fff5fbfe558, 0x7fff5fbfe548, 0x0, 0x0)
	??:0 +0x51 fp=0xc420051c68 sp=0xc420051c20
runtime.call64(0x0, 0x7fff5fbfe448, 0x7fff5fbfe4e8, 0x28)
	/Users/ilya/Library/Local/Homebrew/Cellar/go/1.7.1/libexec/src/runtime/asm_amd64.s:480 +0x4c fp=0xc420051cb8 sp=0xc420051c68
runtime.cgocallbackg1(0x0)
	/Users/ilya/Library/Local/Homebrew/Cellar/go/1.7.1/libexec/src/runtime/cgocall.go:283 +0x19d fp=0xc420051d30 sp=0xc420051cb8
runtime.cgocallbackg(0xc420051dc0)
	/Users/ilya/Library/Local/Homebrew/Cellar/go/1.7.1/libexec/src/runtime/cgocall.go:170 +0x84 fp=0xc420051d98 sp=0xc420051d30

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
	/Users/ilya/Library/Local/Homebrew/Cellar/go/1.7.1/libexec/src/runtime/asm_amd64.s:2086 +0x1

It points to value.go:94. I'm using code from @erikh 's PR #45, but it panicked before I started testing that PR.

Please try with this branch. I will explain more on the func PR: https://github.com/mitchellh/go-mruby/compare/master...erikh:fix-pointers?expand=1

@erikh thank you!! I'll test now.

This breaks exception handling while fixing a few other problems. It's not
a solution. I'm working on one and hope to have it later today.
Sorry for the response, it was late when I discovered it last night!
On Fri, Jan 6, 2017 at 6:56 AM, Ilya Dmitrichenko<EMAIL_ADDRESS>wrote:

@erikh https://github.com/erikh thank you!! I'll test now.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mitchellh/go-mruby/issues/49#issuecomment-270919742,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABJ66ue20hM1-11vSKFYvSO4XLGf0quks5rPlYhgaJpZM4LazJu
.

Yes, I've noticed that exceptions broke.
Also, something else seems to be broken. My code appears to hit this, which is kindda expected to be virtually unreachable...

My code appears to hit this, which is kindda expected to be virtually unreachable...

The way that code compares pointers may not be idea, suggestions are very welcome 👍

I'll revisit this tonight with a full solution for you. I'm comfortbale
with the idea that the unions are the problem, but to appropriately
represent them I need to rework some types.
In short, look at the Yield implementation in mruby.go. The argvPtr
there is returning too few items.
On Fri, Jan 6, 2017 at 10:12 AM, Ilya Dmitrichenko<EMAIL_ADDRESS>
wrote:

My code appears to hit this, which is kindda expected to be virtually
unreachable...
The way that code compares pointers may not be idea, suggestions are very
welcome 👍
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mitchellh/go-mruby/issues/49#issuecomment-270966274,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABJ6wHk0O2y5xSgMqtdFQIK6Dmhw-Fkks5rPoQEgaJpZM4LazJu
.

This what caused this originally and works now:
kubeplay (namespace="*")> pods []
+++ Execute: pods []
args=[[]]
+++ Error: Not yet implemented!

I've written new things called with_labels yesterday, and it takes a block that is instance_eval'ed to provide a funky little DSL for building label expressions with Ruby syntax, e.g. with_labels { label("foo") =~ %w(foo.baz foo.bar); label("boom").defined?; } it also has predefined shortcuts for @app and @name...
Here is what should had been an exception about undefined method foo:
kubeplay (namespace="*")> with_labels { foo }
+++ Execute: with_labels
fatal error: exitsyscall: syscall frame is no longer valid
...

Also @foo is nil and has now defined? method, and thereby causes an exception too:
kubeplay (namespace="*")> with_labels { @app.defined? ; @foo.defined? ; }
+++ Execute: with_labels
{app  []}
fatal error: exitsyscall: syscall frame is no longer valid
...

The code is in master branch of kubeplay, see  rubykube/class.labels.go and rubykube/verbs.go.

ok, great information. I'll keep trying to find the right fix, thanks.
On Sat, Jan 7, 2017 at 10:00 AM, Ilya Dmitrichenko<EMAIL_ADDRESS>
wrote:

This what caused this originally and works now:
kubeplay (namespace="*")> pods []
+++ Execute: pods []
args=[[]]
+++ Error: Not yet implemented!
I've written new things called with_labels yesterday, and it takes a
block that is instance_eval'ed to provide a funky little DSL for building
label expressions with Ruby syntax, e.g. with_labels { label("foo") =~
%w(foo.baz foo.bar); label("boom").defined?; } it also has predefined
shortcuts for @app and @name...
Here is what should had been an exception about undefined method foo:
kubeplay (namespace="*")> with_labels { foo }
+++ Execute: with_labels
fatal error: exitsyscall: syscall frame is no longer valid
...
Also @foo is nil and has now defined? method, and thereby causes an
exception too:
kubeplay (namespace="*")> with_labels { @app.defined? ; @foo.defined? ; }
+++ Execute: with_labels
{app  []}
fatal error: exitsyscall: syscall frame is no longer valid
...
The code is in master branch of kubeplay, see rubykube/class.labels.go
https://github.com/errordeveloper/kubeplay/blob/b6fe8b1b0381634c56b265e07e978dcad4060820/rubykube/class.labels.go#L211
and rubykube/verbs.go
https://github.com/errordeveloper/kubeplay/blob/b6fe8b1b0381634c56b265e07e978dcad4060820/rubykube/verbs.go#L77
.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mitchellh/go-mruby/issues/49#issuecomment-271099243,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABJ606NNYvxpvbieOKQzqgValYpv8TAks5rP9KngaJpZM4LazJu
.

Can you try on the latest commits to that branch, please?

@erikh awesome work! It now works as expected in both cases where it previously failed  :)
kubeplay (namespace="*")> pods []
+++ Execute: pods []
+++ Error: Not yet implemented!
kubeplay (namespace="*")> with_labels { foo }
+++ Execute: with_labels
+++ Error: undefined method 'foo' for #<LabelCollector:0x9002880>
kubeplay (namespace="*")> with_labels { @foo.defined? }
+++ Execute: with_labels
+++ Error: undefined method 'defined?' for nil
kubeplay (namespace="*")> ^D


Opt in to gather host computer information

A checkbox to send "hosting information" would be useful. Data gathered could be of an identifying or personal nature however so must be opt-in each time the form opens (or maybe a user setting?).
Desired Data:

OS, Browser
Electron app, Self-hosted, Forge Hosted?

For forge hosted, we can check if the "Forge" module exists I think.

Make sure it complies with Data Protection laws, though probably not a concern given this requires the user to willingly opt-in.

Using navigator.userAgent for collecting information about the host browser, etc is getting deprecated slowly. If you need those data it would be better to use client-hints which perfectly fits into the requirements.
You can read about that here:

https://web.dev/user-agent-client-hints/
https://developer.mozilla.org/en-US/docs/Glossary/Client_hints
https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/client-hints


Performance becomes very bad after tens of calls of scrypt()

I encountered performance issue when using scrypt-async to crypt the password, following is the test code
var scrypt = require('scrypt-async');

var i = 0;
var count = 50;
while (i <= count) {
  var res;
  var start = Date.now();
  scrypt('HelloWorld', '39wiYWT7TxX6aflvCUk840nqmY8pm0EaC5plkK+SVyg=', {"N": 32768, "r": 8, "p": 1, dkLen: 32, encoding: 'base64', interruptStep: 0}, (derivedKey) => {
    res = derivedKey;
  });
  var end = Date.now();
  console.info('Count: ' + i + ' Time: ' + (end - start) + 'ms');
  i++;
}

After tens of calling of scrypt, the encryption time becomes 15 times more, following is the output:
Count:	0	Time:	147ms
Count:	1	Time:	145ms
Count:	2	Time:	130ms
Count:	3	Time:	125ms
Count:	4	Time:	227ms
Count:	5	Time:	165ms
Count:	6	Time:	145ms
Count:	7	Time:	148ms
Count:	8	Time:	132ms
Count:	9	Time:	119ms
Count:	10	Time:	120ms
Count:	11	Time:	137ms
Count:	12	Time:	134ms
Count:	13	Time:	149ms
Count:	14	Time:	129ms
Count:	15	Time:	143ms
Count:	16	Time:	137ms
Count:	17	Time:	134ms
Count:	18	Time:	122ms
Count:	19	Time:	126ms
Count:	20	Time:	118ms
Count:	21	Time:	128ms
Count:	22	Time:	158ms
Count:	23	Time:	139ms
Count:	24	Time:	137ms
Count:	25	Time:	127ms
Count:	26	Time:	125ms
Count:	27	Time:	124ms
Count:	28	Time:	127ms
Count:	29	Time:	125ms
Count:	30	Time:	145ms
Count:	31	Time:	159ms
Count:	32	Time:	127ms
Count:	33	Time:	126ms
Count:	34	Time:	121ms
Count:	35	Time:	131ms
Count:	36	Time:	146ms
Count:	37	Time:	128ms
Count:	38	Time:	144ms
Count:	39	Time:	154ms
Count:	40	Time:	156ms
Count:	41	Time:	161ms
Count:	42	Time:	174ms
Count:	43	Time:	2302ms
Count:	44	Time:	2333ms
Count:	45	Time:	2308ms
Count:	46	Time:	2313ms
Count:	47	Time:	2384ms
Count:	48	Time:	2291ms
Count:	49	Time:	2300ms
Count:	50	Time:	2363ms

As you can see, the beginning 43 calls just cost about 150ms in average, but from the 44th call, the time increased to 2300ms.
The scrypt-async version is 1.3.1, nodejs version 4.4.5
I'm using a MacOS, version 10.12.4 (16E195), Processor 2.8 GHz Intel Core i7, Memory 16 GB 1600 MHz DDR3.

Does it happen every time you try?
Can't reproduce it on 10.12.4 (16E195), 2.6 GHz Intel Core i5, 8 GB 1600 MHz DDR3, even after 500 attempts. My guess would be that it's either the garbage collector kicks in and slows things down, or your CPU is getting throttled.

Yes, I can reproduce it every time I try, I can reproduce it in a Linode VPS which has 1GB memory as well.
I tried to test with different node versions today, and this seems related to node, the performance issue happened with node version 4.4.5, if I run the test code with node 6.10.1, no performance issue.

I used Intel Power Gadget to monitor the CPU Frequency, the Frequency increased significantly when running scrypt(), please check the screenshot

The interval inside the red rectangle is during I was running the test, seems this is not related to CPU is getting throttled?

Hi,
The same problem exists in the eth-lightwallet library. I have implemented a solution for reducing the nextTick calls to bypass the browser throttling in this area.
Look at this pull request.

This also happens on JavaScriptCore (React Native).

"interruptStep: 0" in the OP's code implies no calls to nextTick (just synchronous looping) so I don't understand why it would slow down after repeated calls (i.e. no nextTick throttling)


[sdl1-mixer] new port

Current github version, with custom msbuild files as with the sdl1 port and dependencies from vcpkg.

[x] Changes comply with the maintainer guide
[x] The name of the port matches an existing name for this component on https://repology.org/ if possible, and/or is strongly associated with that component on search engines.
[x] Optional dependencies are resolved in exactly one way. For example, if the component is built with CMake, all find_package calls are REQUIRED, are satisfied by vcpkg.json's declared dependencies, or disabled with CMAKE_DISABLE_FIND_PACKAGE_Xxx
[x] The versioning scheme in vcpkg.json matches what upstream says.
[x] The license declaration in vcpkg.json matches what upstream says.
[x] The installed as the "copyright" file matches what upstream says.
[x] The source code of the component installed comes from an authoritative source.
[x] The generated "usage text" is accurate. See adding-usage for context.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is in the new port's versions file.
[x] Only one version is added to each modified port's versions file.

It looks like this is a complete build system replacement. Is there a specific reason the replacement is done with msbuild rather than with something like cmake? I'm nervous about this replacement not being stable across updates.

I assumed the sdl1 port would be a good example. but if cmake is preferred I can look into that.

I assumed the sdl1 port would be a good example. but if cmake is preferred I can look into that.

"copied from this other port" is a reasonable justification. This works, so I'm going to merge it as is, but would really appreciate CMake instead where possible.
Thanks!

IMO there are many old ports which are not good examples...
This msbuild stuff makes it hard for non-MSVC users to contribute.


Updated readme for env and secrets

Why are these changes being introduced:

Now that whatever was blocking our use of .env files has been resolved we need to update our documentation.

Relevant ticket(s):

https://mitlibraries.atlassian.net/browse/lm-20

How does this address that need:

This expands our project readme with information about how to use .env files with the phpdotenv package. In the process it removes the warning statement about not using this approach until this ticket is closed.

Document any side effects to this change:

The application now has three different methods for dealing with secret / configuration values (Terminus Secrets, PHPdotenv, and GitHub Secrets). (We are also trialling a fourth method from Pantheon, a new secrets management plugin). While this is a bit much, I don't think we are yet into "too many tools" territory?

Developer
Secrets

[x] All new secrets have been added to Pantheon tiers
[x] Relevant secrets have been updated in Github Actions
[x] All new secrets documented in README

Documentation

[x] Project documentation has been updated
[ ] No documentation changes are needed

Accessibility

[ ] ANDI or Wave has been run in accordance to
our guide and
all issues introduced by these changes have been resolved or opened as new
issues (link to those issues in the Pull Request details above)

Stakeholder approval

[ ] Stakeholder approval has been confirmed
[x] Stakeholder approval is not needed

Dependencies
NO dependencies are updated
Code Reviewer

[ ] The commit message is clear and follows our guidelines
(not just this pull request message)
[ ] The changes have been verified
[ ] The documentation has been updated or is unnecessary
[ ] New dependencies are appropriate or there were no changes

This is ready for review - for now I've elected not to set up a multidev for this, as the only change is to a readme. If desired, I could add a new feature to the Secrets Widget plugin that would list values defined in .env files, which could then be inspected in a multidev.


NuGet dependencies? with > version 5.8.6

What changes have led to the dependencies? For an WP8.1 app I use Unity, so 5.8.6 is the last worked version.

Could you be more specific and explain what is wrong?

WP8.1 supports only  netstandard 1.2.
https://docs.microsoft.com/en-us/dotnet/standard/net-standard#net-implementation-support
With 5.8.7 the nuget package has the dependencies with netstandard 2.0 (no update possible for WP8.1), but before that, there were no dependencies. Was there a major change in these circumstances, so the dependency was added?

You could solve this by referencing individual packages instead of composite Unity package.
This issue will be solved in 5.9.0


Smoke Test Browser Support

This is a placeholder task for checking if extension works under browsers other than Firefox and Chrome.
The goal is to see what works out of the box and add manual installation steps to README.

[x] Firefox – yes
[x] Chrome/Chromium – yes
[x] Legacy Firefox (<53) and XUL-based forks  – only old version from legacy-sdk branch (more)
[x] Opera – ?
[x] Edge – "its complicated 🙃 " (https://github.com/ipfs-shipyard/ipfs-companion/issues/353)
[x] Brave - in progress (https://github.com/ipfs/ipfs-companion/issues/312)
[x]  Safari – no, it uses limited API that is not compatible with WebExtensions

References:

https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs
http://help.opera.com/Windows/11.60/en/extensions.html
https://lifehacker.com/how-to-install-chome-extensions-in-opera-and-vice-versa-579083466

Just tested and Companion runs fine in Opera as well:


please include the LICENSE file in the source package

From<EMAIL_ADDRESS>on 2013-08-21T08:26:56Z
the license review should be easier if the LICENSE file were distributed in the source package.
thanks
Frederic
PS: Thanks for this file, it is of a great help
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=1527

From pierre.raybaut on 2013-08-21T10:04:03Z
This issue was updated by revision d03374f21be3 .
Status: Fixed

From pierre.raybaut on 2013-08-21T12:43:24Z
After some internal discussions, the v2.2.4 release will happen later than initially expected: we should release v2.2.4 in early September.

From pierre.raybaut on 2013-08-21T10:05:01Z
For your information, we are about to release v2.2.4 in a few hours (last minute fixes that we missed in just released v2.2.3).

From pierre.raybaut on 2013-08-21T12:46:39Z
Yep. Thanks!

From<EMAIL_ADDRESS>on 2013-08-21T12:44:42Z
so I can package the 2.2.3 version ?

From ccordoba12 on 2013-08-23T15:06:19Z
Labels: MS-v2.2.3


bump to go1.19 . Move to generic alpine images in Dockerfile

upd: move to generic tags in Dockerfile

@mholt The difference is that caddy:alpine and caddy:builder-alpine are docker aliases for the latest released build. E.g Now its already caddy:2.6.1 and yest it was caddy:2.6.0. Thus using a generic alias in Docker one always makes  use of the latest released build

I see... (Generally we advise against this. Or at least, against using latest. Maybe that's different.)


is registery replicated?

If I have 1M registrations across my cluster, does each node contain a table of all the registrations? Or is consistent hashing using to determine which node a process belongs on?
I'm trying to understand if any part of Swarm isn't fully horizontally scalable.

Yes, the process registry is replicated amongst all nodes in the cluster. This is to support local named process lookup.
A Swarm.Entry struct is stored for each registered named process in an ETS table.

So the max number of registered processes is limited by the memory of a single node in the cluster.  This probably isn't a problem for most but are the goals of Swarm not to support unlimited scalability?

Erlang uses a mesh network to cluster nodes so there’s a limit to how many nodes you can scale to. The cost of synchronization grows with the number of node in the cluster.
The local registry is used by Swarm to provide fast process lookup, at the cost of memory required on each node.

@bitwalker may be able to answer your question about registered process limitations and memory usage for large deployments.

Exactly the cost of replication grows with every node you add.  That's why I was wondering if it's worth building a communication system that's totally dependant on consistent hashing without any replication.  Messages would be dispatched to the appropriate node and then forwarded to the right process manually.

The consistent hash ring used by Swarm is a separate library (libring). You could potentially use that, in conjunction with the auto cluster library (libcluster), to do so. Whereas Swarm provides the process rebalancing as nodes join/leave the cluster.

That's exactly what I was planning to do :) Just wanted to verify I wasn't
redoing a capability of Swarm. Thanks!
On Fri, Nov 3, 2017, 5:05 PM Ben Smith<EMAIL_ADDRESS>wrote:

The consistent hash ring used by Swarm is a separate library (libring
https://github.com/bitwalker/libring). You could potentially use that,
in conjunction with the auto cluster library (libcluster
https://github.com/bitwalker/libcluster), to do so. Whereas Swarm
provides the process rebalancing as nodes join/leave the cluster.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/bitwalker/swarm/issues/50#issuecomment-341826938, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAydIH5HA-zLjpoAZkUK55N0Z8hGNSjsks5sy4AXgaJpZM4P9AVU
.

@thdxr Good luck.
Do take a look at the Swarm.Tracker module for how Swarm deals with adding and removing nodes from the ring strategy.


Add UI testing code for MQTT node

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)

Proposed changes
Added UI testing code for MQTT scenarios on cookbook.
This scenario runs MQTT broker using mosca package to communicate between mqtt-out node and mqtt-in node.
Checklist

[x] I have read the contribution guidelines
[ ] For non-bugfix PRs, I have discussed this change on the mailing list/slack team.
[x] I have run grunt to verify the unit tests pass
[x] I have added suitable unit tests to cover the new/changed functionality

Coverage remained the same at 76.289% when pulling 9e006d42bbe0e2aafb4e24e117a8a2fa780eea3e on node-red-hitachi:uitest-mqtt into 5800ed41f107333ee5fcd2713d8b9120b8b60945 on node-red:dev.


move to production

[x] https://github.com/airqo-platform/AirQo-api/pull/3226

Merging this PR to production as we aim to address an urgent request for access to MET data. @BenjaminSsempala / @Mnoble-19


TAJO-2032: Change tajo.rest.service.port to be the general style in TAJO.

Change the variable name to tajo.rest.service-http.address from tajo.rest.service.port with the default value <IP_ADDRESS>:26880. And then it was modified to refer to several classes.

Hi @jihoonson .
I was to change a property name to tajo.rest.service.address from tajo.rest.service-http.address.
Thank you.

@jihoonson Anything else to commit this PR?

Sorry for late response.
+1, This patch looks good to me.


Anyone solution to prevent new users can see the test message that author app sent before?

We have an author app sent some test message to some test group users before only, how can we prevent other user see those test message next time when we send to everyone in Org?

Hi @rex-ma,
As I mentioned over email thread earlier, there is no such restriction with CC app, even though if the message is sent already, if the message is sent again at the organization level, all the users will receive the message again.

Hi @rex-ma,
Please let us know if you've any other queries, if not we'll proceed with closing the issue.


Choice module

In our fork, we have added support for the choice module.
If you like, we can try to upstream these changes, but as this takes effort, we would first appreciate feedback on the last two pull requests.

The Choice modules is not something that is used by our professors. Hence why it was never supported it. Regardless, we'll be happy, if you are up for upstreaming these changes.

Closing due to inactivity.


Icons not loading on Chrome OS or Windows

I just noticed that on my production server, font-awesome icons are not appearing properly.  The icons appear to load properly on Mac (OS X and iOS), but when I load on a Chromebook or in browser on Windows, I get boxes instead of the icons.  You can check it out by loading this page:
http://buildinprogress.media.mit.edu/
This is the error that appears in the console:
downloadable font: download failed (font-family: "FontAwesome" style:normal weight:normal stretch:normal src index:2): bad URI or cross-site access not allowed source: http://d2gqa68fsv1w7h.cloudfront.net/assets/fontawesome-webfont-f2a9004d897733ee518fb3d48f0fbb53.woff?v=4.4.0

Any ideas how to resolve this issue?

The problem was Cloudfront - I followed the instructions here to resolve the issue: http://blog.xdite.net/posts/2013/07/22/font-awesome-firefox-cloudfront


Unstable ordering of TopCollector results with the same score

Hi!
We're using a TopCollector to fetch results sorted by score, and also to implement pagination in a simple way. Given an offset and a limit by the client code, we always fetch the top offset+limit results, then return the last limit ones. For example, on page 1 we fetch the top 10 documents and return them, on page 2 we fetch the top 20 documents and return the last 10 of those, etc. This is good enough for us as we don't have many pages of results in practice.
First question: is this a completely nonsensical way to do pagination? Is there an obviously better way that I've overlooked? If so, please do tell me and ignore the rest of this issue :)
Provided that this is a legitimate usage of TopCollector, we ran into an edge case that could potentially break pagination.
The problem is that the BinaryHeap that backs TopCollector doesn't guarantee any ordering when returning its sorted contents (into_sorted_vec()), for items whose ordering evaluates to Equal.
This could cause some items to never be included in a search result, if they are fetched after the max capacity is reached when querying for page 1 (for example TopCollector(10)), and if they are sorted in a position < 10 when querying for page 2 (TopCollector(20)).
In the end it really boils down to the following test not passing:

    #[test]
    fn test_top_collector_stable_ordering_for_equal_feature() {
        let mut top_collector_limit_2 = TopSegmentCollector::new(0, 2);
        top_collector_limit_2.collect(4, 3.14);
        top_collector_limit_2.collect(5, 3.14);
        top_collector_limit_2.collect(6, 3.14);

        let mut top_collector_limit_3 = TopSegmentCollector::new(0, 3);
        top_collector_limit_3.collect(4, 3.14);
        top_collector_limit_3.collect(5, 3.14);
        top_collector_limit_3.collect(6, 3.14);

        assert_eq!(
            top_collector_limit_2.harvest(),
            top_collector_limit_3.harvest()[..2].to_vec(),
        );
    }

In order to be able to use TopCollector to do pagination in this way, I think we need the results to be stable when items have Ordering::Equal (the specific order of course doesn't matter, it just needs to be the same when querying with different limits).
Any suggestion?
Thank you!
Alberto

Solution
The binary heap as used today by construction picks the first doc encountered in case of a tie.
This behavior is a side-effect of the code, and is consistent at the leaf level and when merging the different leaf so-called "fruits".
Even with a multithreading executor, fruits are merged in the same order as their respective segments, so as long as the Searcher is unchanged you should get consistent results.
The problem appears actually in the harvest code.
I suggest we simply get all of the unsorted elements out of the heap and put them into a Vec.
Then, we sort them there comparing both the score AND the DocAddress. In case of a tie, we pick the lowest DocAddress to stay consistent with the rest of the collector.

[ ] Fix the harvest function to take the DocAddress in account in the sort.
[ ] Document the collector to explain this policy in case of a tie.
[ ] Add Unit tests

Still under the assumption that this usage of TopCollector is legitimate, one way of fixing this without having to swap BinaryHeap with something else that tries to guarantee insertion order, would be to track the insertion order explicitly and also sort by that.
Hacky patch which makes the above test pass:
diff --git a/src/collector/top_collector.rs b/src/collector/top_collector.rs
index 9a9d2dca0..b20b1052f 100644
--- a/src/collector/top_collector.rs
+++ b/src/collector/top_collector.rs
@@ -19,6 +19,7 @@ use std::collections::BinaryHeap;
 struct ComparableDoc<T, D> {
     feature: T,
     doc: D,
+    i: usize,
 }

 impl<T: PartialOrd, D> PartialOrd for ComparableDoc<T, D> {
@@ -30,10 +31,19 @@ impl<T: PartialOrd, D> PartialOrd for ComparableDoc<T, D> {
 impl<T: PartialOrd, D> Ord for ComparableDoc<T, D> {
     #[inline]
     fn cmp(&self, other: &Self) -> Ordering {
-        other
+        let feat = other
             .feature
             .partial_cmp(&self.feature)
-            .unwrap_or_else(|| Ordering::Equal)
+            .unwrap_or_else(|| Ordering::Equal);
+
+        match feat {
+            Ordering::Equal => other
+                .i
+                .partial_cmp(&self.i)
+                .unwrap_or_else(|| Ordering::Equal)
+                .reverse(),
+            _ => feat,
+        }
     }
 }

@@ -82,11 +92,20 @@ where
         let mut top_collector = BinaryHeap::new();
         for child_fruit in children {
             for (feature, doc) in child_fruit {
+                let len = top_collector.len();
                 if top_collector.len() < self.limit {
-                    top_collector.push(ComparableDoc { feature, doc });
+                    top_collector.push(ComparableDoc {
+                        feature,
+                        doc,
+                        i: len,
+                    });
                 } else if let Some(mut head) = top_collector.peek_mut() {
                     if head.feature < feature {
-                        *head = ComparableDoc { feature, doc };
+                        *head = ComparableDoc {
+                            feature,
+                            doc,
+                            i: len,
+                        };
                     }
                 }
             }
@@ -170,7 +189,11 @@ impl<T: PartialOrd + Clone> TopSegmentCollector<T> {
         } else {
             // we have not reached capacity yet, so we can just push the
             // element.
-            self.heap.push(ComparableDoc { feature, doc });
+            self.heap.push(ComparableDoc {
+                feature,
+                doc,
+                i: self.heap.len(),
+            });
         }
     }
 }

I don't like that this is making everyone pay an extra cost, though. Apart from the pagination use case, the ordering of items with Ordering::Equal is completely irrelevant.
So I would rather implement a separate collector for this.

Your analysis is entirely correct. TopCollector is the right way to do pagination and the current implicit sort is not stable (because the number of elements we put in the BinaryHeap might change) so I tagged the issue as bug. Thanks for the report!
I however do not actually understand your solution. I edited the ticket with a simple, CPU inexpensive solution.
Do you want to pick this ticket?

Ah, I see, thanks for the nice solution :)

picks the first doc encountered in case of a tie.

If I understand this correctly, the docs are added in ascending DocAddress order?

Do you want to pick this ticket?

Yes, I can work on this

If I understand this correctly, the docs are added in ascending DocAddress order?

This is correct yes.

Regarding the pagination, is it possible to skip returning the docs for the previous page?
For example, let's say limit=10,  skip the first 10 docs on page 2, and only returns from 11th-20th docs.

Hi @gembin,
since the TopDocs collector returns an iterator over DocAddresses, you can skip-limit that iterator to only fetch the documents for the specific page, for example with code like
for address in doc_addresses.into_iter().skip(offset).take(limit) {
    let doc = searcher.doc(address)?;
    ...
}

(assuming you're in a function that returns a Result, and can thus use ? to propagate the error)
I hope this helps. In general, could you avoid using closed issues to ask questions? A better place for this would be the gitter chat. Thanks!

Thanks a lot! That's what I did. Just wondering if there any better way to do.
Sorry for using the closed issue.


bug: Switching modes (Light to Dark)

Describe the bug
Toggle switch is not recognized for new users
To Reproduce
Steps to reproduce the behavior:
Make the border dark for the toggle and add z Index
Expected behavior
It needs to be visible as toggle or add a tooltip
Screenshots or GIFs

Info (please complete the following information):

Browser [e.g. chrome, Brave, Edge]

@devsargam can you assign this issue to me.

@p1kalys I had a question , If I added a tooltip on the light theme then to it will only be visible on hover , so should I try to change the ui a bit??

Please assign this issue to me !


new random election timeout on every tick

I was browsing around with @superfell earlier, and I think this code https://github.com/coreos/etcd/blob/v2.3.0/raft/raft.go#L874 compares against a new random election timeout every time tickElection() is called. If the new random value is ever smaller than the ticks elapsed, it'll start a new election. This is really different from choosing a random election timeout, then waiting for it to elapse. The more you call the tickElection function, the shorter your effective election timeout will be. I didn't measure it, but I'd expect this to cause a higher split vote rate than necessary.

@ongardie
I am aware this. We did the first simple implementation (without remembering the first choice) and did some test around this: https://github.com/coreos/etcd/blob/master/raft/raft_paper_test.go#L350-L384
The ideal value should be around 30%, which is (A10,5)/(10^5).
With the current implementation, it grows up to 35%-40%.
I am not sure there is a real effect in practical with such small number. But yes, we should make this better.

@ongardie Btw, thanks for bringing this up. We will get a fix soon.

@xiang90 your test looks like it only checks if servers time out at the exact same tick. That's not the same as a split vote rate, where two servers timing out at nearly the same time can still cause a split vote.
What's (A10,5)/(10^5) mean? I don't think I get the syntax.
How frequent are ticks? What's a typical election timeout set to?

I mentioned "But this calculation is not exactly effective since raft votes only conflicts when the number conflicts happens with the smallest chosen number."
So you are right. That is an approximation to compare the ideal one and the current one. I feel the actual difference should be smaller.

What's (A10,5)/(10^5) mean

Sorry. It seems like America calls this P 10,5, which is short for Permutations. No idea why we call this A in China...

How frequent are ticks? What's a typical election timeout set to?

A tick is usually larger than expected RTT (heartbeat per tick; and election timeout is 10*ticks by default). So if different servers timeout at different tick, we can expect no split votes. But yea... There might be other cases when RTTs between different machines can vary a lot.

I see. Ticks are less frequent than I imagined, which lessens the severity of this randomness problem. Still, if ticks are too infrequent (say you only had 1 per election timeout), you'd expect to see a high split vote rate. I'm wondering whether 10 is enough.
How frequent are ticks typically in milliseconds? And how long is a typical one-way latency (half RTT) in milliseconds?

How frequent are ticks typically in milliseconds? And how long is a typical one-way latency (half RTT) in milliseconds?

You mean the default, right? For the default setup in etcd, we assume the machines are in one DC. We assume the one-way latency is usually well under 10ms (<1ms for most of the time).
The default heartbeat tick is around 100ms and election timeout is 10 ticks (1s). Sometimes, we suggest to set to 10ms, 300ms for faster recovery (higher false positive rate though... GC, high load can lead to higher latency to start sending heartbeat).

Thanks.
I think this might make a good detour in my CoreOS Fest talk, along with hashicorp/raft#109. I'm working on a tool that includes a visualization component like RaftScope but also a simulator and model checker. It might be fun to talk through Raft's randomized timeout algorithm and these two variations, and show some graphs from simulations of how they compare. Those default/typical values are good for plugging into the simulation.
I'd be picking on you guys a little, but my take-aways would be:

Raft, including its randomized election timeouts, can be a little subtle.
On the other hand, randomness can be forgiving.
A tool like what I'm building can be useful to better understand the behavior of different designs.

Of course, I'll be happy to mention that you guys are working on this or have already changed it by then. :)
Do you have a sense for whether different servers will be ticking at similar times or offset from another? Does it depend on whether a leader just sent out heartbeats? I didn't get to looking at this part of the code (is it somewhere in raft/node.go?).

Do you have a sense for whether different servers will be ticking at similar times or offset from another? Does it depend on whether a leader just sent out heartbeats? I didn't get to looking at this part of the code (is it somewhere in raft/node.go?).

The ticking is not synced. Actually I can get some real world data for you. We are injecting failures into etcd consistently on GCE (http://dash.etcd.io/dashboard/db/functional-tests). We have the data of split votes :). We did observe some long election, but most of them are caused by the bad buffer/batching mechanism used by upper layer.

Cool, I'd love to have the real-world data for comparison.

The ticking is not synced.

What if I were to boot the servers at the same time?

What if I were to boot the servers at the same time?

By not synced, I mean we do not sync the ticker intentionally.

Fixed by https://github.com/coreos/etcd/pull/4929.


Fix UI navBar bug in CougarCash

This change is

Reviewed 4 of 4 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


bug(orders): receiving return with return shipping results in wrong refund amount

Steps to reproduce

Create an order
Fulfill and ship the order
Create a return and add a return shipping method with a price > 0
Receive the return

At this point the refund amount sent to the backend only takes the product total into account: i.e. the shipping cost is not deducted from the refund amount and the customer, therefore, receives a higher discount than they are supposed to.

Has this already been solved, I cant seem to reproduce with the given steps

Solved #539


Enable dependabot

Auto-update Go modules monthly with dependabot.
Signed-off-by: SuperQ<EMAIL_ADDRESS>

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.006%) to 89.381%

Totals

Change from base Build<PHONE_NUMBER>:
0.006%

Covered Lines:
16093

Relevant Lines:
18005

💛  - Coveralls


onBackgroundMessage() only fires after clicking the notification

Hi, I don't know if this is how it should work but the onBackgroundMessage() only fires after clicking the notification. Testing it on Android 11

This is expected behaviour for push with notification in payload. For silent background callback try to use data only push payload.


Delete redundant "org.gradle.configuration-cache=false"

Description
This pull request deletes the redundant org.gradle.configuration-cache=false, which is default.

By default, Gradle does not use the configuration cache.

https://docs.gradle.org/current/userguide/configuration_cache.html#config_cache:usage:enable
Checklist

[x] PR description added
[ ] tests are added
[ ] KtLint has been applied on source code itself and violations are fixed
[ ] documentation is updated
[ ] CHANGELOG.md is updated

In case of adding a new rule:

[ ] Rule is added to rules documentation

Is there any specific reason, other than its value is equal to the default value, why you want to delete the setting?
It was left on purpose (but should have been commented) as we learned that enabling it blocked the release process of the 0.49 release.

No. I just thought there was no reason to specify the default.
Now I see your point.
Thanks for the clarification.


https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage

Request type

[x ] Correction or update

Details
The data is serialized using the structured clone algorithm.
Data is plural, datum is singular. The sentence should read:
The data are serialized using the structured clone algorithm.

The MDN writing style guide defers to the Microsoft Style Guide for issues it does not explicitly cover. That guide says: "Use data as both a singular and plural noun. Don't use datum. Always use data with a singular verb, even if you're talking about more than one data set. Don't use the data are."


Graceful Failure / Dynatrace token name

Currently the plugin seems to crash with an uncaught exception in case of missing information. That should maybe be catched as missing telemetry shouldn't be a show stopper but a warning. Also it seems like the actual api token name required deviates from the readme file (for version 0.0.2).
... uncaughtException: Neither metrics_apitoken nor rest_apitoken.token found in Dynatrace credentials\nError: Neither metrics_apitoken nor rest_apitoken.token found in Dynatrace credentials\n    at _getExporter (/home/vcap/deps/0/node_modules/@cap-js/telemetry/lib/metrics/index.js:27:23)\n

Yet the documentation describes:
Excerpt from example mta.yaml:

requires:
  - name: my-dynatrace-instance
    parameters:
      config:
        tokens:
          - name: ingest_apitoken #> default lookup name, configurable via cds.requires.telemetry.token_name
            scopes:
              - metrics.ingest

Which is present in the credentials.

hi @tsteckenborn
thanks for your feedback!

That should maybe be catched as missing telemetry shouldn't be a show stopper but a warning.

this is intentional: fail loudly! the developer tried to achieve something and should immediately understand that something isn't right. you can always add NO_TELEMETRY=true to your app's env and the plugin will go dead (cf. Environment variables), so i wouldn't consider it a show stopper.
for the 0.0.2 readme, you'll need to switch to the respective tag (i.e., https://github.com/cap-js/telemetry/blob/v0.0.2/README.md) as the main branch has already moved on. ingest_apitoken will be the default lookup name in 0.0.3, where we also support traces to dynatrace via otel.
best,
sebastian


Add storysource addon

https://www.npmjs.com/package/@storybook/addon-storysource
Would be useful to be able to see the source code of the stories

It's done in https://github.com/zakodium/react-plot/pull/43
btw you can already see the source when you are in the "Docs" (instead of "Canvas") view


BLOB/CLOB's of size zero fail during read process

When the ion reader is trying to read a BLOB/CLOB/byte array of length zero, buf_max is assigned to equal 0 and enters an endless loop upon testing an assertion.
ASSERT(buf_max)

This line appears at line 1747 in ion_reader.c in function: iERR _ion_reader_read_lob_bytes_helper
Line also appears at line 1950 in ion_reader_text.c in function: iERR _ion_reader_text_read_lob_bytes
Note the function: iERR ion_reader_read_lob_bytes tests buf_max before calling function _ion_reader_read_lob_bytes_helper
if (buf_max < 0) FAILWITH(IERR_INVALID_ARG);

The line in ion_reader_binary.c appears as:
ASSERT(buf_max >= 0);

Changing the ASSERTS in ion_reader.c and ion_reader_text.c to match the ion_reader_binary appears to resolve the issue.

Oh my, thank you again ezabes. :) We'll hopefully get to look at this in the next couple days. Thank you again, we really appreciate your issue submissions.

Thank you again ezabes for reporting this issue! #348 has been merged to address the problem.


WIP: Adding a bunch of Hardware Description Language file formats.

.v - Verilog (C like)
.vh - Verilog header (C like)
.sv - SystemVerilog (C like)
.svh - SystemVerilog header (C like)
.tcl - TCL (should use # comments)
.sdc / .xdc - Synopsis Design Constraint / Xilinx Design Constraint files -- Really TCL scripts (see above)
.blif / .eblif - Berkley Logic Interface Format (just # style comments)
.lef - Library Exchange Format (just # comments)
.lib - Liberty Timing File (Supports C like style comments)
.sdf - Standard Delay Format (LISP file which supports /* */ and // comments)
.spef - Standard parasitics exchange format (supports only // style comments)

Signed-off-by: Tim 'mithro' Ansell<EMAIL_ADDRESS>

Please talk to @gauntface or @crschmidt about pulling the code into Google.


Moderated Registration Feature - Issue #81

I've implemented a moderated registration feature.  By default all functionality is the same, however there is now the capability to set the following in your settings.py:

USERENA_MODERATED_REGISTRATION = True
USERENA_ACTIVATION_REJECTED = 'ACTIVATION_REJECTED'
USERENA_PENDING_MODERATION = 'PENDING_MODERATION'

With moderated registration enabled, the following happens:

User registers
Receives activation email, and clicks activation link
Gets msg that they are activated, but pending administrators approval
The admin logs into the django admin, clicks 'Users', selects user, performs the 'Approve user registration'  or 'Reject user registration' action from the drop down.
An approval or rejection email is sent accordingly

This is an extremely important feature for us during pilot periods where we want something online publicly but only want specific people able to fully register and login.  I did my best to follow Userena's coding style/layout/etc.  If there is anything you are questionable about please let me know... however I feel it is a very sane and simple solution.
Thanks!

Hi Derks,
First off, thank you for this addition. I have done some further work on your pull request in commit 971b55ade1d403cf67268ffcbe93fbcdcc05b577
Things I have done:

Added tests, not fully complete yet, but now again at 99% test coverage
Naming, changed "registration" to "signup" to keep it consistent
After activation you are redirected to a template where you are told to await moderation. Instead of redirect to signin.

I still have some things that I think are necessary to merge this with userena. Currently, you can accept a user, regardless of their activation. So if a user signs up and you moderate them before they click on their activation link, they are still "in" without validation of their e-mail.
I also think that you should be able to accept/reject a user in the detailed admin view.
Would love to hear your thought on the above. Greets.

The above all sounds great.  I'm not real familiar with the admin stuff...  so I tried my best just to provide at least some way for an admin to approve users.  As for the ability to approve a user even before they activate...  I agree.  Perhaps we can change the admin action to only approve if the signup activation key is in ['ALREADY_ACTIVATED', or 'ACTIVATION_REJECTED'] ...  not the prettiest, but atleast it would keep from approving a user that hasn't activated.

Hi,
It's not a biggie if you can't accept or decline in the user detail view, it would be a nice feature however. Maybe a button with either "accept" or "decline" (depending on the status) would be enough.
I had also begun working on this, but it's very busy right now at the office, so haven't finished it. Take a look at commit 971b55ade1d403cf67268ffcbe93fbcdcc05b577 to see what's changed.
Good luck and thanks for your work.


ER-Diagram

User story

As a software developer
I need an ER-Diagram
So that I know the data that has to be implemented in the database

Acceptance criteria

All known entities are illustrated
All known relations are illustrated

Definition orf done

Approved by product owner


DateTime of a field

Hi @DigitalFlow
i found a problem in the language, if i extract a datetime field the time is converted to UTC.
In CRM the timezone selected is GMT+1 and the appointment of 6/03/2019 18.30 is converted to 6/03/2019 5.30.
How can i fix this issue?
Thank you,
Andrea

Hi @andreaPorini
CRM returns the UTC values by default. I will think of some new methods for converting from and to UTC regarding timezones.
Kind Regards,
Florian

For the time being, you could use a fetch for retrieving the date field, as fetch will return the user local time value by default. But that might be a bit much for a workaround.

Hi @DigitalFlow ,
using the FetchXml i will get the real data? If this is the behavior I think it's a good workaround.
I'll try it, thank you very much for the suggestion!
Best regards,
Andrea

Unfortunatly, also the fetch extract the value in UTC format.
I will look for your implementation!
Regards,
Andrea

@andreaPorini
Found that out right now as well, must be specific to fetches in XML reports then...
I'll add some date functions and notify you.

Hi @andreaPorini,
Just so that you know that some design progress has been made:

There will be methods for getting Local Time of a UTC DateTime for a given User ID and vice versa
There will be methods for getting a Local Timein a user fixed time zone by UTC DateTime by target time zone id

I hope to get it done soon.
Kind Regards,
Florian

Hey @andreaPorini,
This feature has been implemented in v3.4.0.
Please install the latest solution and check the ConvertDateTime Function.
Kind Regards,
Florian

Hi @DigitalFlow,
thank you very much, i will update and try the new functions as soon as possible!
Best regards,
Andrea

Great,
I'll close this issue, please ping back if you experience any issues.
Kind Regards,
Florian


Referenced examples not shown in schema

Describe the bug
Let's say I have an interface like:
"RelationValueInterface": {
  "type": "object",
  "properties": {
    "href": {
      "type": "string",
      "description": "Link to another request.",
      "example": "https://example_link"
    }
  },
  "required": [
    "href"
  ]
},

Which is integrated like:
"ModelInterface": {
  "type": "object",
  "properties": {
    "link_stuff": {
      "$ref": "#/components/schemas/RelationValueInterface"
    },
  }
}

Inside the response schema (from example) I see "string" instead of the actual example:

Swagger shows this OK.
Expected behavior
I would expect to see the example from the reference.
Current behavior
I see "string"
Thank you

Hi @sradu, can you share what version of the plugin/theme you are using?

@sserrata apologies should have not deleted the last part. Using the latest version, 1.3.2.

Thanks, we'll try to reproduce. This should have been addressed in v1.3.1 but it's possible it's an edge case we are not covering.

Maybe because it's a couple of layers down via $ref?
MainObjInterface has properties ChildObjInterface has properties SubChildObjInterface which has the example?

It's a possibility..although all JSON and OpenAPI pointers should be pre-resolved prior to this stage...Do the examples appear under the Schema property (left hand side)?

They don't appear there. Swagger shows them.

I'm wondering if there's an opportunity to extract the example here: https://github.com/PaloAltoNetworks/docusaurus-openapi-docs/blob/main/packages/docusaurus-plugin-openapi-docs/src/openapi/createRequestExample.ts#L180
Basically something like...
let { type, format, example } = schema;

if (example) {
  return example
}

Want me to email you the full spec I'm working on?

Sure, that would help. Thanks.

A million apologies. This was a bad bug report.
I updated the deps in my package.json but ran rush update out of habit instead of npm i. We removed docusaurus from our rush build because it just wouldn't work.
The examples are showing up correctly with the last release.


[v1alpha2] Introduce v1alpha2 APIs

This commit intends to introduce the new
v1alpha2 APIs

/hold
This PR is to brainstorm and review the changes. Not intended to be merged for now.

@varshaprasad96 thanks for starting this!
Do you want this PR to go through the full review process? I don't think we'd want to merge it with just the API changes?

@ncdc Not at all. Just wanted to push the incremental work being done, so that we have a place to discuss if this is the right path. Wasn't hoping for this to be merged so soon. At least until controller logic is re-written for these API changes.

@varshaprasad96 do you plan to continue working on this branch to make the controller changes?

do you plan to continue working on this branch to make the controller changes?

@ncdc No, I was hoping to make it separate. Have been working on some controller changes in a separate branch, but its not ready for review yet. Still working on cleaning up and re-writing a few things.

Addressed existing PR comments. Will wait on https://github.com/operator-framework/rukpak/pull/711 to go in before this.

The PR is ready for review, given RFC has been accepted.


♻ REFACTOR: package code

Essentially re-writes the most of the code, to implement a number improvements and bug fixes, but the output LaTeX is shown (via tests) to be the same.

move event functions to separate file (and rename)
add sphinx based tests, which provide comparisons of the doctrees create with/without this extension, before/after post-transforms have been applied. This also shows how the package can be used as a "standalone" sphinx extension.
use importlib.resources for accessing jupyterBook.cls
Remove enforcement of myst-parser amsmath extension
make myst_nb requirement optional, and check for compatibility
convert class/function nameing from pascalCase to camel_case (and enforce with pep8-naming linter):

replace getFilenameWithSubpath with is_root_document
replace removeExtension with remove_suffix

replace H2Node and H3Node by RootHeader node, which applies to any sub-section of the root file (i.e. also H4 etc)
added app.add_config_value("jblatex_load_imgconverter", True, "env") to enable loading of sphinx.ext.imgconverter to be turned off
remove reliance on _toc.yml, instead adding app.add_config_value("jblatex_captions_to_parts", None, "env")

[x] You could check app.env.external_site_map (from sphinx-external-toc) to override this dynamically.
This could either be done within jupyter-book or within this extension.

Move all doctree restructuring to the post-transform, so that the stored doctrees are builder agnostic (as should be the case). The transform (which is now called for all builders) only adds extra node attributes for use by the post-transform.
a lot more code documentation and added to README
[ ] https://github.com/executablebooks/jupyter-book/pull/1293#discussion_r619531461

Not finished, but publishing so @mmcky / @AakashGfude don;t do any conflicting work
TODO: rewrite LatexMasterDocTransforms, ToctreeTransforms, handleSubSections, add more testing

@AakashGfude there has been a lot of discussion over the past few days re: sphinx-external-toc so let's catchup this morning on zoom and I will bring you up to speed.

ok this is ready to review

thanks @chrisjsewell -- we will review this today.

You shouldn't be building your own listings though, there latex packages for that

thanks @chrisjsewell I confirm both of our current project tests cases are now building via CI

Thanks, I'm not sure what you mean by transfer the tableofcontents directive though, that's part of sphinx-external-toc now, you wouldn't use it here. If you want those bullet lists of contents (which should be optional, with "pure" latex alternatives also made available) you'd just be looking for non-hidden toctrees

Also, just to clarify, I'll merge this once I've finished the final point

Thanks, I'm not sure what you mean by transfer the tableofcontents directive though, that's part of sphinx-external-toc now, you wouldn't use it here. If you want those bullet lists of contents (which should be optional, with "pure" latex alternatives also made available) you'd just be looking for non-hidden toctrees

ooh. I could not see the tableofcontents directive result in the pdf, so assumed it was not handled for latex yet.
A screenshot:

book.pdf

The tableofcontents now works no different to if you were just using a regular toctree (without sphinx-external-toc).
So the point is you should be thinking of a "generic" solution that would work with any regular sphinx build (as the rest of the package now does)

The tableofcontents now works no different to if you were just using a regular toctree (without sphinx-external-toc).
So the point is you should be thinking of a "generic" solution that would work with any regular sphinx build (as the rest of the package now does)

Sorry, maybe I did not make my point clear earlier. The problem I faced when using a regular toctree with tableofcontents like the rest of the sphinx build, was that in the case of latex, it literally included the files itself, instead of just links to the file, as was expected. If I wanted to change this behavior, I had to interfere with the sphinx latex writer.
So, while the rest of the builders were using the inline toctree directive of that page, the latex builder needed special handling. I am very much looking forward to any generic solutions you have for the latex builder. But, didn't see any solution in the sphinx-external-toc PR, so was enquiring.

@AakashGfude if we need special handling of the toc for the latex builder then this package is the best place for that.

I had to interfere with the sphinx latex writer.

Do we need to adjust the writer or the translator?
Could we just override the method that is producing output that we don't want (that has the filenames included)?
To assist with this discussion could you please add some screenshots showing the pdf output that sphinx produces. I remember seeing it (and it didn't look good) and that's when we went with the special handling for displaying local contents.

I think the best way forward is to use the simple lists that @AakashGfude has put together and we can open an issue to replace it with a more pure latex implementation using some latex package to generate simple local contents listings. @AakashGfude can you open a PR to add in this support.

this should not be that difficult:

The point of this PR, and thus any future work, is that for builder specific extensions you can "gather" information in a transform, but you cannot implement any modifications of the AST until a post-transform.
The list addition must be optional, and should be one option of how to generate a toc.


no notLessThan for 2 strings? also no Assert.greaterEqualThan, Assert.lessEqualThan?

Error: template instance fluentasserts.core.base.Assert.opDispatch!("notLessThan", string, string) error instantiating

$ cat ab.d
#!/usr/bin/env dub
/+ dub.sdl:
dependency "fluent-asserts" version="~>0.13.0"
+/

import fluent.asserts;

void main() {
  assert("a" < "b");  // OK
  Assert.lessThan("c", "b");     // Error: no property lessThan for type fluentasserts.core.string.ShouldString
  Assert.notLessThan("c", "b");  // Error too
}

$ dub ab.d
../../../.dub/packages/fluent-asserts-0.13.3/fluent-asserts/source/fluentasserts/core/base.d-mixin-592(592,17): Error: no property lessThan for type fluentasserts.core.string.ShouldString
ab.d(10,18): Error: template instance fluentasserts.core.base.Assert.opDispatch!("lessThan", string, string) error instantiating
../../../.dub/packages/fluent-asserts-0.13.3/fluent-asserts/source/fluentasserts/core/base.d-mixin-592(592,17): Error: no property lessThan for type fluentasserts.core.string.ShouldString
ab.d(11,21): Error: template instance fluentasserts.core.base.Assert.opDispatch!("notLessThan", string, string) error instantiating

Also I found there is no Assert.greaterEqualThan, Assert.lessEqualThan even for int?

@gedaiu
ping.
Hit this problem again, we have notLessThan(), and Assert.notGreaterThan(), can we add alias to greaterEqualThan(), and lessEqualThan().
Thanks.

I just added those 2 operations on the master branch and issued a new release v0.14.0-alpha.2 with those new operations.
I have mixed feelings for allowing lessThan and greaterThan to work with strings. I will research how other assert frameworks call this operations for strings. Maybe there is a better name.
If you want to enable those operations for strings, the v0.14 has a new way to extend the predefined asserts: https://github.com/gedaiu/fluent-asserts/blob/master/source/fluentasserts/core/lifecycle.d#L39
This should enable greaterThan comparisons for strings:
import fluentasserts.core.operations.registry;

static this() {
    Registry.instance.register("string", "string", "greaterThan", &greaterThan!string);
}


UHF-5996: Alter unit contact and accessibility

UHF-5996
Made the requested changes to the Unit contact card and Unit accessibility information paragraphs.
What was done

Added ability to choose which picture – TPR or overridden – is used with Unit contact card.
Added the Unit contact card paragaph also to the basic page's upper content area.
Added the Unit accessibility information paragraph to the same content areas as the Unit contact card paragaph.

How to install

Make sure your instance is up and running on correct branch, e.g:

git pull origin UHF-5996-alter-unit-contact-and-accessibility
make fresh

How to test

Check that Unit contact card and Unit accessibility information paragraphs can be added to landing page, basic page (both content areas), TPR unit (both content areas) and TPR service (both content areas).

Check that when adding the Unit contact card, there is an option to prefer override picture: when selected, the override picture is shown if available; when not selected, the TPR picture is shown.

[x] Check that this feature works

[x] Check that code follows our standards

Designers review

[ ] This PR does not need designers review
[x] This PR has been visually reviewed by a designer (Name of the designer)

"Unit accessibility information" paragraph missing from "Content region" on "Landing page".


Add A Role Option

User Story
AS A business owner,
I WANT to be able to view and manage the departments, roles, and employees in my company,
SO THAT I can organize and plan my business.

Acceptance Criteria
GIVEN a command-line application that accepts user input,
WHEN I choose to add a role,
THEN I am prompted to enter the name, salary, and department for the role and that role is added to the database.

Complete. See PR #21.