Allow uploading a native file (e.g. photo) via XMLHttpRequest

With this in place, it's possible to upload a picture from the CameraRoll to Parse, for instance:
xhr = new XMLHttpRequest();
xhr.onload = function() {
  data = JSON.parse(xhr.responseText);
  var parseFile = new Parse.File(data.name);
  parseFile._url = data.url;
  callback(parseFile);
};
xhr.setRequestHeader('X-Parse-Application-Id', appID);
xhr.setRequestHeader('X-Parse-JavaScript-Key', appKey);
xhr.open('POST', 'https://api.parse.com/1/files/image.jpg');
// assetURI as provided e.g. by the CameraRoll API
xhr.send(new NativeFile(assetURI));

cc @ lwansbrough, you might find this interesting

@ide Very interesting! I will definitely have a use for this in my own app. But it's going to need file protocol support before it can be used by the camera module.

// assetURI as provided e.g. by the CameraRoll API
xhr.send(new NativeFile(assetURI));

Can we make CameraRoll vend NativeFile objects instead? This seems like a sucky API to have to require the developer to wrap the assetURI in a NativeFile before sending it.
Also, we absolutely want to conserve as many metadata as possible from the files than just the URI. Maybe what you can do instead of having a NativeFile tag is to check if it's an object and has a uri attribute, then it's considered to be an image and you use RCTLoadImage instead of sending the object.
I'm not a big fan of using instanceof to check if it's a good type, I much prefer duck typing, this way it can be serialized and unserialized.

Ok, so my proposal for you is:

You don't introduce NativeFile
In sendImpl, you special case typeof data === 'object' && data.uri and send the URI down
In the obj-c implementation, if there's an URI then you just feed it to RCTLoadImage without any prefix check

It should make the implementation simpler. Tell me what you think

Can we make CameraRoll vend NativeFile objects instead?

Yes, I think we should... eventually. Currently the API mimics GraphQL APIs, which seems oddly FB-centric. I think we should return something more basic, and then build the GraphQL part around it using JS.

Also, we absolutely want to conserve as many metadata as possible from the files than just the URI.

Like what? I can only think of the Content-Type, and the Blob/File API has provisions for that.

I'm not a big fan of using instanceof to check if it's a good type, I much prefer duck typing, this way it can be serialized and unserialized.

I understand the desire to duck-type. I'd be ok with this, though in terms of the documentation, I think it'd be good to make NativeFile -- actually I had a rethink and want to call it NativeResource -- appear as a logical extension of the Blob/File objects we know from the web.

Like what? I can only think of the Content-Type, and the Blob/File API has provisions for that.

Width and height, aspect ratio, multiple versions of the same file @2x, @3x. Also, one thing that I really want to support is representing a slice of an image. {uri: 'image.jpg', crop_rect: [0, 0.5, 0, 0.5]}. This would be useful for image spriting.

Width and height, aspect ratio, multiple versions of the same file @2x, @3x.

It seems you're conflating system image assets used in the app with camera roll assets.

Also, one thing that I really want to support is representing a slice of an image. {uri: 'image.jpg', crop_rect: [0, 0.5, 0, 0.5]}. This would be useful for image spriting.

Again, this seems useful for image assets used by the app. If you want an image cropped or other transformed (like Ads Manager app), you're going to have to perform that operation in native code, which leaves you with a new URI to a new image asset, which you can then pass to XHR to upload it.

@philikon iOS supports displaying a sub-region of an image at the view level without having to actually chop up the image. It would be more efficient to do it that way for most purposes, although that would limit the use of the cropped image to being displayed inside an  tag.

I'm ok with making the interface that <Image source={...}> eats the same as that of a native resource, so long as we're super explicit about it. We don't need a NativeResource class, but at least a flow type. Duck typing is great, until you forget the contracts and end up with faulty assumptions (and thus bugs) somewhere deep in the code. (I speak from a fairly recent experience here, ahem.)

Also, one thing that we could do is to make non-destructive transforms. {uri: 'baseImage', transforms: ['blur:20%', 'instagram-filter#5']} and don't save the temporary images. Same we could have resize, rotate...
And, eventually when you actually want to upload it, you are doing all the processing and send it.
I don't think that we want to dissociate sending images vs displaying images.

I don't think that we want to dissociate sending images vs displaying images.

Fair enough. Let's take it one step at a time. I'll get rid of NativeFile.

Incidentally, I've been working on expanding the implementation of [RCTConvert data:] to make it easier to construct multipart mime uploads. I was thinking that instead of just string data, it could support a structure something like this:
[
    {text: 'Hello World'},
    {base64: 'asdasdsdadawdda'}
    {text: 'Some More text'},
    {uri: 'file://someLocalFileData'},
    {uri: 'assets-library:someImageTag'}
]

So then you could construct an entire request body on the JS side, either passing the data yourself or referencing data known to the native side by using tags/uris. This might be a more flexible solution than what you're planning with the separate dataURI.
The only problem is that it might be tricky to make the NSData blob construction asynchronous, due to the design of RCTConvert, in which case those uris might be less generally useful than they would be in your design (although most of the uris you'd want to access would be local, and the construction would happen on a background thread anyway, so it might not be too bad).

The other thing I wanted to do was basically unify the concept of a source (in the sense of ) and a query (in the sense of RCTDataManager) into something with a structure like:
{
    uri: someURL,
    method: GET/POST/etc (optional, defaults to GET)
    body: someData (optional, of the form described above),
    headers: someHTTPHeaders (optional)
}

This would then be processed into an NSURLRequest, which could then be used to retrieve any sort of data in any situation, whether it's loading an image, making an XHR request, setting a WebView target, etc.
The source dictionary could also include whatever other data you wanted which would be handled by the receiver, so for image sources it might have width/height and cropping information, for RCTDataManager it might include a queryType, etc.

Incidentally, I've been working on expanding the implementation of [RCTConvert data:] to make it easier to construct multipart mime uploads.

Yes, that is exactly my goal, I've already started work on a FormData polyfill so that existing code that constructs multipart requests from a mix of native files and primitive values would Just Work(tm) on React Native. My thoughts regarding the data structure were fairly similar, though I wanted to make the specifics somewhat closer to what we're using already for the FB graph internally. Or we can change our internal "API" to match whatever we come up with here, just so long as we don't invent something that's 99% the same and 1% different.

It seems to me that the analogy between uploading native files and form input files (as in HTML) is weak. Instead of stuffing file handling into the same method (i.e. xhr.send) it would be easier and more explicit to add a new method such as xhr.attachFiles. Granted modifying the xhr api sucks, and is probably a no deal.
in which case, perhaps this functionality should live elsewhere, not in react-native core.

@facebook-github-bot import

@rt2zz I'm not sure why you don't think that xhr.send(data) is the right place. If you look at the API, the browser already overloaded .send to support sending many types of data: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest
The interesting one is send(Blob) which is the way you send an actual file. Which is exactly what we are doing here.

Could you provide some quick example how to correctly setup FormData and use it with fetch? I'm trying to use it but getting error Unsupported BodyInit type in support.FormData.

Phil has added a nice upload example to the XHRExample in UIExplorer. It should be included in the next update, but here's the code if you want to paste it into XHRExample.js yourself.
/**
 * The examples provided by Facebook are for non-commercial testing and
 * evaluation purposes only.
 *
 * Facebook reserves all rights not expressly granted.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL
 * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 *
 * @flow
 */
'use strict';

var React = require('react-native');
var {
  AlertIOS,
  CameraRoll,
  Image,
  LinkingIOS,
  PixelRatio,
  ProgressViewIOS,
  StyleSheet,
  Text,
  TextInput,
  TouchableHighlight,
  View,
} = React;

class Downloader extends React.Component {

  xhr: XMLHttpRequest;
  cancelled: boolean;

  constructor(props) {
    super(props);
    this.cancelled = false;
    this.state = {
      downloading: false,
      contentSize: 1,
      downloaded: 0,
    };
  }

  download() {
    this.xhr && this.xhr.abort();

    var xhr = this.xhr || new XMLHttpRequest();
    xhr.onreadystatechange = () => {
      if (xhr.readyState === xhr.HEADERS_RECEIVED) {
        var contentSize = parseInt(xhr.getResponseHeader('Content-Length'), 10);
        this.setState({
          contentSize: contentSize,
          downloaded: 0,
        });
      } else if (xhr.readyState === xhr.LOADING) {
        this.setState({
          downloaded: xhr.responseText.length,
        });
      } else if (xhr.readyState === xhr.DONE) {
        this.setState({
          downloading: false,
        });
        if (this.cancelled) {
          this.cancelled = false;
          return;
        }
        if (xhr.status === 200) {
          alert('Download complete!');
        } else if (xhr.status !== 0) {
          alert('Error: Server returned HTTP status of ' + xhr.status + ' ' + xhr.responseText);
        } else {
          alert('Error: ' + xhr.responseText);
        }
      }
    };
    xhr.open('GET', 'http://www.gutenberg.org/cache/epub/100/pg100.txt');
    xhr.send();
    this.xhr = xhr;

    this.setState({downloading: true});
  }

  componentWillUnmount() {
    this.cancelled = true;
    this.xhr && this.xhr.abort();
  }

  render() {
    var button = this.state.downloading ? (
      <View style={styles.wrapper}>
        <View style={styles.button}>
          <Text>Downloading...</Text>
        </View>
      </View>
    ) : (
      <TouchableHighlight
        style={styles.wrapper}
        onPress={this.download.bind(this)}>
        <View style={styles.button}>
         <Text>Download 5MB Text File</Text>
        </View>
      </TouchableHighlight>
    );

    return (
      <View>
        {button}
        <ProgressViewIOS progress={(this.state.downloaded / this.state.contentSize)}/>
      </View>
    );
  }
}

var PAGE_SIZE = 20;

class FormUploader extends React.Component {

  _isMounted: boolean;
  _fetchRandomPhoto: () => void;
  _addTextParam: () => void;
  _upload: () => void;

  constructor(props) {
    super(props);
    this.state = {
      isUploading: false,
      randomPhoto: null,
      textParams: [],
    };
    this._isMounted = true;
    this._fetchRandomPhoto = this._fetchRandomPhoto.bind(this);
    this._addTextParam = this._addTextParam.bind(this);
    this._upload = this._upload.bind(this);

    this._fetchRandomPhoto();
  }

  _fetchRandomPhoto() {
    CameraRoll.getPhotos(
      {first: PAGE_SIZE},
      (data) => {
        console.log('isMounted', this._isMounted);
        if (!this._isMounted) {
          return;
        }
        var edges = data.edges;
        var edge = edges[Math.floor(Math.random() * edges.length)];
        var randomPhoto = edge && edge.node && edge.node.image;
        if (randomPhoto) {
          this.setState({randomPhoto});
        }
      },
      (error) => undefined
    );
  }

  _addTextParam() {
    var textParams = this.state.textParams;
    textParams.push({name: '', value: ''});
    this.setState({textParams});
  }

  componentWillUnmount() {
    this._isMounted = false;
  }

  _onTextParamNameChange(index, text) {
    var textParams = this.state.textParams;
    textParams[index].name = text;
    this.setState({textParams});
  }

  _onTextParamValueChange(index, text) {
    var textParams = this.state.textParams;
    textParams[index].value = text;
    this.setState({textParams});
  }

  _upload() {
    var xhr = new XMLHttpRequest();
    xhr.open('POST', 'http://posttestserver.com/post.php');
    xhr.onload = () => {
      this.setState({isUploading: false});
      if (xhr.status !== 200) {
        AlertIOS.alert(
          'Upload failed',
          'Expected HTTP 200 OK response, got ' + xhr.status
        );
        return;
      }
      if (!xhr.responseText) {
        AlertIOS.alert(
          'Upload failed',
          'No response payload.'
        );
        return;
      }
      var index = xhr.responseText.indexOf('http://www.posttestserver.com/');
      if (index === -1) {
        AlertIOS.alert(
          'Upload failed',
          'Invalid response payload.'
        );
        return;
      }
      var url = xhr.responseText.slice(index).split('\n')[0];
      LinkingIOS.openURL(url);
    };
    var formdata = new FormData();
    if (this.state.randomPhoto) {
      formdata.append('image', {...this.state.randomPhoto, name: 'image.jpg'});
    }
    this.state.textParams.forEach(
      (param) => formdata.append(param.name, param.value)
    );
    xhr.send(formdata);
    this.setState({isUploading: true});
  }

  render() {
    var image = null;
    if (this.state.randomPhoto) {
      image = (
        <Image
          source={this.state.randomPhoto}
          style={styles.randomPhoto}
        />
      );
    }
    var textItems = this.state.textParams.map((item, index) => (
      <View style={styles.paramRow}>
        <TextInput
          autoCapitalize="none"
          autoCorrect={false}
          onChangeText={this._onTextParamNameChange.bind(this, index)}
          placeholder="name..."
          style={styles.textInput}
        />
        <Text style={styles.equalSign}>=</Text>
        <TextInput
          autoCapitalize="none"
          autoCorrect={false}
          onChangeText={this._onTextParamValueChange.bind(this, index)}
          placeholder="value..."
          style={styles.textInput}
        />
      </View>
    ));
    var uploadButtonLabel = this.state.isUploading ? 'Uploading...' : 'Upload';
    var uploadButton = (
      <View style={styles.uploadButtonBox}>
        <Text style={styles.uploadButtonLabel}>{uploadButtonLabel}</Text>
      </View>
    );
    if (!this.state.isUploading) {
      uploadButton = (
        <TouchableHighlight onPress={this._upload}>
          {uploadButton}
        </TouchableHighlight>
      );
    }
    return (
      <View>
        <View style={[styles.paramRow, styles.photoRow]}>
          <Text style={styles.photoLabel}>
            Random photo from your library
            (<Text style={styles.textButton} onPress={this._fetchRandomPhoto}>
              update
            </Text>)
          </Text>
          {image}
        </View>
        {textItems}
        <View>
          <Text
            style={[styles.textButton, styles.addTextParamButton]}
            onPress={this._addTextParam}>
            Add a text param
          </Text>
        </View>
        <View style={styles.uploadButton}>
          {uploadButton}
        </View>
      </View>
    );
  }
}

exports.framework = 'React';
exports.title = 'XMLHttpRequest';
exports.description = 'XMLHttpRequest';
exports.examples = [{
  title: 'File Download',
  render() {
    return <Downloader/>;
  }
}, {
  title: 'multipart/form-data Upload',
  render() {
    return <FormUploader/>;
  }
}];

var styles = StyleSheet.create({
  wrapper: {
    borderRadius: 5,
    marginBottom: 5,
  },
  button: {
    backgroundColor: '#eeeeee',
    padding: 8,
  },
  paramRow: {
    flexDirection: 'row',
    paddingVertical: 8,
    alignItems: 'center',
    borderBottomWidth: 1 / PixelRatio.get(),
    borderBottomColor: 'grey',
  },
  photoLabel: {
    flex: 1,
  },
  randomPhoto: {
    width: 50,
    height: 50,
  },
  textButton: {
    color: 'blue',
  },
  addTextParamButton: {
    marginTop: 8,
  },
  textInput: {
    flex: 1,
    borderRadius: 3,
    borderColor: 'grey',
    borderWidth: 1,
    height: 30,
    paddingLeft: 8,
  },
  equalSign: {
    paddingHorizontal: 4,
  },
  uploadButton: {
    marginTop: 16,
  },
  uploadButtonBox: {
    flex: 1,
    paddingVertical: 12,
    alignItems: 'center',
    backgroundColor: 'blue',
    borderRadius: 4,
  },
  uploadButtonLabel: {
    color: 'white',
    fontSize: 16,
    fontWeight: '500',
  },
});

Did this get implemented into Android?
I have this working on ios fine, but in Android, the request made misses the image. I see the commits in this pull refer to Libraries/Network/XMLHttpRequest.ios.js and related ios files.

Yes, I added the same machinery to Android in a separate commit. It lives here: https://github.com/facebook/react-native/blob/master/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java
If it's not working for you, I suggest you open a separate issue and describe your problem in detail (including how exactly you're getting the image's URI and adding it to the request.) Thanks!

@philikon  Is it possible to upload through a uri pointing to the image. I have resized the image and have the uri. Something like
formdata.append('image', {..., pic.uri });

@skyride99 yes, that should work (although you'd need the uri key I think:
formdata.append('image', {uri: pic.uri});

Thanks
this is on Android and RN 17.
the uri is "file:///storage/emulated/0/Pictures/72621376-6710-43cd-8d02-d35d13a68273.jpg"
formdata.append('image', {uri: pic.uri});
but it returns status of 0.
I can upload the base64 like this
formdata.append('file', pic.data);
Really need to upload the binary data not sure how to do it with xhr....

@skyride99 I recently put some code in this issue (make sure you leave out the Content-Type header; read the comments). Maybe this will help you https://github.com/facebook/react-native/issues/5308

Thanks much but different error now.
400
"POST requires exactly one file upload per request."

That seems like a server error, you should ask on stackoverflow for help

I am using react-native-image-picker and posting to the server to test.
let formData = new FormData();
formData.append('image', {uri: pic.uri, type: 'image/jpg', name: 'seventh.jpg'});
let options = {};
options.body = formData;
options.method= 'post';
fetch("http://posttestserver.com/post.php", options).then((response) => {

  debugger;
});

-message back:  post body has 0 char long
Either the file has 0 bytes or fetch is not attaching the file.

@ashleydw You are correct. The server wants 'file' always file. Not 'image'
it has to be
formData.append('file', {uri: pic.uri, type: 'image/jpg', name: 'seventh.jpg'});


[CCI] Create index lifecycle guide

Description

[x] Create index lifecycle guide

Issues Resolved

closes #349

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Thank you for contributing @Nicksqain! Can you add a Changelog entry for this? Also, I see you have 3 PRs for adding guides, you can also combine them into one with a single Changelog entry if that works.

@VachaShah Hello! thanks for the feedback! I will definitely add an entry. If I add to one, will the others have a "skip changelog"?

Codecov Report

Merging #362 (2cf0732) into main (03b72c3) will decrease coverage by 0.07%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main     #362      +/-   ##
==========================================
- Coverage   72.01%   71.94%   -0.07%
==========================================
  Files          77       77
  Lines        7190     7190
==========================================
- Hits         5178     5173       -5
- Misses       2012     2017       +5

see 1 file with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@VachaShah Hello! thanks for the feedback! I will definitely add an entry. If I add to one, will the others have a "skip changelog"?

If you keep the 3 separate PRs, then you can add Changelog entry in each PR. Or you can combine all 3 PRs into 1 and add a Changelog entry.
For Changelog, you can add an entry in the Added section for Unreleased.

Thank you for contributing @Nicksqain! Can you add a Changelog entry for this? Also, I see you have 3 PRs for adding guides, you can also combine them into one with a single Changelog entry if that works.

Can we wait for the index lifecycle to merge first and then re-run the link checker?
I suggest simply doing a merge in the order of the tasks in #355  and adding the changelog entry one by one.  What do you think?

Thank you for contributing @Nicksqain! Can you add a Changelog entry for this? Also, I see you have 3 PRs for adding guides, you can also combine them into one with a single Changelog entry if that works.

Can we wait for the index lifecycle to merge first and then re-run the link checker? I suggest simply doing a merge in the order of the tasks in #355 and adding the changelog entry one by one. What do you think?

Sure, we can merge this PR first and you can fix the changelogs one by one for your PRs after that. I just added a few comments for this PR.

@VachaShah I've added changes! Happy to help!
Looking forward to the following preferences :)

@VachaShah
Updated the branch!
I accidentally saved the breaks of my linter. Apologies for not rolling back and doing a force push


Audit vars

Overall Review of Changes:
Addition of audit environment settings
added temp passwd hash for workflow testing
Enhancements:
Enabled the ability to set an audit envirnment when the audit script runs to get around /var/tmp mount changes
How has this been tested?:
manually

Audit PR will be required prior to this approval to fix issue seen in workflow


Weblogs keeping TCP connections open

Enable weblogs. Set HomeSpan LogLovel to 1.
Start Wireshark.
Monitor the serial port.
Use Chrome & open up Developers Tools on the Network tab.
Hit the weblogs URL.
What you will see in the serial monitor is not one TCP connection saying "Client # Connected:", but two or 3 lines.
Chrome developers tools will show only one connection.
WireShark will also only one outbound connection, one "HTTP GET", one response.
Then wait few seconds.
Wireshark will then show constant TCP Keep-Alive coming from HomeSpan.
Furthermore, the serial monitor will show these:
[1437511][D][WiFiClient.cpp:536] connected(): Disconnected: RES: 0, ERR: 128

It looks like there are references to this browser connection still being used by HomeSpan (or WiFi?) which causes this 2nd error, but all seems somewhat related.
I tried to narrow it down, turning off TCP_KEEPALIVE and SO_KEEPALIVE on the client socket in HAP.cpp:getStatusURL() to no avail.
    int tcp_keepalive = 0;
    int so_keepalive = 0;
    hapClient->client.setSocketOption(IPPROTO_TCP, TCP_KEEPALIVE, &tcp_keepalive, sizeof(tcp_keepalive));
    hapClient->client.setSocketOption(SOL_SOCKET, SO_KEEPALIVE, &so_keepalive, sizeof(so_keepalive));

I hoped to nail it down and submit a PR, but I'll need help on this one.
It looks like WiFiServer does set TCP_KEEPALIVE: https://github.com/espressif/arduino-esp32/blob/master/libraries/WiFi/src/WiFiServer.cpp#L58 , but I seem unable to unset it for HTTP connections that weblogs have to deal with.

Adding an additional TCP_KEEPIDLE to disable it seems to have done the trick:
hapClient->client.setSocketOption(IPPROTO_TCP, TCP_KEEPIDLE, &tcp_keepidle, sizeof(tcp_keepalive);

But now I did see two outgoing TCP connections from Chrome (in Incognito mode, if that changes anything). Why? No clue. But the issue is that the second connection doesn't send the GET /status command, hence never goes to getStatusURL() where I added these socket options, so there is this constant socket leak.
Question for @HomeSpan : does HAP really need TCP keepalives???

No idea.  This is really below the level of the application layer and I have not spent much time exploring.  I do know that it is a requirement of HAP that HomeSpan should never close a HAP connection unless it is trying to force an unpairing when all the admin controllers are deleted.  If HomeSpan closes its HAP connection then setVal() can't send updates of status changes to HomeKit (it would have nowhere to send them).
There are of course no requirements related to the weblogs, and HomeSpan closes that connection as soon as the weblog finishes transmitting.
But that's at the application layer.  How the ESP32 handles TCP sockets is another matter and it may optimize things at those lower layers.
I do know that based on my testing, if I have 14 free sockets, HomeSpan will accept and maintain all 14 simultaneously without a problem.  I would be careful about assuming how sockets get consumed in practice by simply looking at keep-alive and wireshark.  My guess is that this is not necessarily indicative of how the ESP will operate in practice.
Have you run into situations where you cannot connect into or out of the ESP32 even though there seem to be only be a few connections established?

it is a requirement of HAP that HomeSpan should never close a HAP connection

Ok.
I think I have initially understood the problem the opposite way (I didn't carefully look at the network trace.. shame..) The TCP keepalives are sent by Chrome, and HomeSpan / ESP32 simply replies to them. Yes Chrome seems to establish more than one TCP connection to HomeSpan, but the second remains silent, and ESP32 never disconnects it. Chrome does disconnect that silent socket after ~4 minutes.
I have also understood something: HomeSpan will keep any socket connected. Just run a couple of telnet <host> 80 in parallel, they will all remain connected and HomeSpan will never close these connections unless a new one comes in, at which point a random connection will get dropped to handle new incoming one.

Have you run into situations where you cannot connect into or out of the ESP32 even though there seem to be only be a few connections established?

No. I thought HomeSpan was keeping connections with keepalives, which was actually Chrome keeping it connected...
All good, no issues. Thanks again!


Japanese correction

Japanese correction and translation of several words.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


contrib/whisper-auto-resize.py fails

# python whisper-auto-resize.py /archive2/graphite/ /etc/carbon/
Traceback (most recent call last):
  File "whisper-auto-resize.py", line 208, in <module>
    processMetric(fullpath, schemas, agg_schemas)
  File "whisper-auto-resize.py", line 136, in processMetric
    str_xFilesFactor =  "{0:.2f}".format(xFilesFactor)
ValueError: Unknown format code 'f' for object of type 'str'
# python -V
Python 2.7.3
# dpkg -l|grep carbon
ii  graphite-carbon                   0.9.10-1                      backend data caching and persistence daemon for Graphite

I came across the same issue on centos 6
$ ./whisper-auto-resize.py /var/lib/carbon/whisper/ /etc/carbon/
Traceback (most recent call last):
  File "./whisper-auto-resize.py", line 207, in <module>
    processMetric(fullpath, schemas, agg_schemas)
  File "./whisper-auto-resize.py", line 135, in processMetric
    str_xFilesFactor =  "{0:.2f}".format(xFilesFactor)
ValueError: Unknown format code 'f' for object of type 'str'

$ python -V
Python 2.6.6

Name        : python-carbon
Version     : 0.9.12

Name        : python-whisper
Version     : 0.9.12

Some thing wrong here https://github.com/graphite-project/carbon/blob/master/lib/carbon/storage.py#L168 .
h[33] >>> "{0:.2f}".format(None)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: Unknown format code 'f' for object of type 'str'

You may need to check your aggregation config file.

I've fixed with Python 2.4.3
By only changing these two lines.

    #info_xFilesFactor = "{0:.2f}".format(info['xFilesFactor'])
    info_xFilesFactor = '{0:%(x).2f}' % { "x" : info['xFilesFactor'] }
    #str_xFilesFactor =  "{0:.2f}".format(xFilesFactor)
    str_xFilesFactor =  '{0:%(x).2f}' % { "x" : xFilesFactor }

I can confirm this fixes the issue.

https://github.com/graphite-project/whisper/pull/174 should fix that

Fix is merged


Non-portable path to file '<Stdio.h>'; specified path differs in case from file name on disk

(Describe your issue in detail.)
0.48 react-native-git-upgrade =>0.54
pod install
error:Non-portable path to file '<Stdio.h>'; specified path differs in case from file name on disk
Environment
react:16.3.0-alpha.1,
react-native:0.54.2
platform:ios
xcode:9.2
macOS:10.13.1
(Run react-native info in your terminal and paste its contents here.)
Expected Behavior
(Write what you thought would happen.)
Actual Behavior
(Write what happened. Include screenshots if needed.)
Steps to Reproduce
(Link to Snack, or steps to reproduce.)

@xiaoyongchen please how to fix it ? thank you


FYPO chemical sensitivity & resistance lists

We've had one user request for, and think there's probably broader interest in, a web page that lists genes annotated to FYPO terms for sensitivity or resistance to specific chemicals.
It would not make sense to create a page manually because keeping it up to date would be a nightmare (or just not happen). Instead, we propose a page analogous to the GO Slim page (http://www.pombase.org/browse-curation/fission-yeast-go-slim-terms) and its automated updates.
Each table of terms indicated below would resemble the GO Slim annotation table, only without the esyN links (i.e. have the Name, Term, and Genes columns).

Title and blurb for page:
FYPO chemical sensitivity & resistance annotations
The tables below show terms in the Fission Yeast Phenotype Ontology (FYPO) representing increased sensitivity or increased resistance to specific chemicals. FYPO IDs link to BioPortal, where you can see the term in its ontology context. The annotation totals link to pages with information about the term and a list of annotated genes.
Heading 'Chemical sensitivity'
[table of terms with an is_a path to increased sensitivity to chemical (FYPO:0002683)]
Heading 'Chemical resistance'
[table of terms with an is_a path to increased resistance to chemical (FYPO:0002682)]

Let us know if anything isn't clear. Note: by the time this actually happens, we may have an installation of AmiGO adapted to show FYPO and phenotype annotations. If so, we'd use that instead of BioPortal for the FYPO ID links (and there'll be another ticket for FYPO links elsewhere, e.g. ontology term pages).

I'm wondering if filters will handle this ?
I'll add "not required  to go live" but we can close if it happens by chance;)

We have filtering now. So we can either (a) close this now or (b) add one or more canned queries and then close it.

Add canned query for these I think?
Include in FAQ?

I have added a FAQ, with what I hope are query links. I also added the predefined queries to the config file, and I really hope I didn't break anything thereby.
@kimrutherford, could you make sure I didn't screw it up, or tell me how to fix it if I did? And release the new FAQ if it is good to go? tks :)
I'll check soon, and if I haven't broken anything (or once it's fixed), I'll close this.

could you make sure I didn't screw it up, or tell me how to fix it if I did? And release the new FAQ if it is good to go? tks :)

It was all good and is now in the main site.

hooray! off to do a bunch more for #535 ...


[FEATURE] Allow loading an external integration into repository

Is your feature request related to a problem?
We would want to allow users to load integrations from external location other than the preconfigured bundle that is part of the Integration repository
What solution would you like?
Allow loading an Integration from

URL
file system
Github repository

What alternatives have you considered?
A clear and concise description of any alternative solutions or features you've considered.
Do you have any additional context?

https://github.com/opensearch-project/observability/issues/1451
https://github.com/opensearch-project/observability/issues/1443

@Swiddis @derek-ho plz add comments


Kwan Hao Wei - Update About Us and PPP Page

Fixes

#53
#57

Codecov Report

Merging #69 (80939b3) into master (b2830a2) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #69   +/-   ##
=========================================
  Coverage     72.15%   72.15%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1232     1232
  Branches        125      125
=========================================
  Hits            889      889
  Misses          311      311
  Partials         32       32

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 b2830a2...80939b3. Read the comment docs.


Should not use Recycle where path supplied for volume, use Retain instead.

When using Recycle the oc cluster up instance will attempt to remove files in the directory it is given when the pvc is deleted. If a file in the volume is read only, then it will actually fail and give up, but is still attempting to remove stuff and if it can it will. When it does fail, it still allows the volume to be reused even though not empty.
Thus when supplying a path for volumes, be it with create-volume or create-shared-volume, the persistentVolumeReclaimPolicy should be set to Retain to avoid someone deleting all there files because they gave a path to stuff in their home directory or elsewhere.
Need perhaps a way of the manually making that volume reusable again.

Yes. I thought it was retain. I'll fix this.
El 23 sept. 2016 9:55, "Graham Dumpleton"<EMAIL_ADDRESS>escribió:

When using Recycle the oc cluster up instance will attempt to remove
files in the directory it is given when the pvc is deleted. If a file in
the volume is read only, then it will actually fail and give up, but is
still attempting to remove stuff and if it can it will. When it does fail,
it still allows the volume to be reused even though not empty.
Thus when supplying a path for volumes, be it with create-volume or
create-shared-volume, the persistentVolumeReclaimPolicy should be set to
Retain to avoid someone deleting all there files because they gave a path
to stuff in their home directory or elsewhere.
Need perhaps a way of the manually making that volume reusable again.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jorgemoralespou/oc-cluster-wrapper/issues/6, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAEyDrYuFJf-3iyQn629fyp1J188NdJJks5qs4XrgaJpZM4KEtCa
.

@GrahamDumpleton in the docs I created initially, I was thinking on doing a recycle-volume, but this is food for thought


Fix crash on latest ual-reactjs-renderer

The current version of ual-meetone crashes when using the latest ual-reactjs-renderer:
Uncaught TypeError: Cannot read property 'toLowerCase' of undefined
    at Function.boxTitle (UALBoxParts.js:251)
    at UALBoxBase.render (UALBox.js:205)
    at finishClassComponent (react-dom.development.js:17160)
    at updateClassComponent (react-dom.development.js:17110)
    at beginWork (react-dom.development.js:18620)
    at HTMLUnknownElement.callCallback (react-dom.development.js:188)
    at Object.invokeGuardedCallbackDev (react-dom.development.js:237)
    at invokeGuardedCallback (react-dom.development.js:292)
    at beginWork$1 (react-dom.development.js:23203)
    at performUnitOfWork (react-dom.development.js:22157)
    at workLoopSync (react-dom.development.js:22130)
    at performSyncWorkOnRoot (react-dom.development.js:21756)
    at react-dom.development.js:11089
    at unstable_runWithPriority (scheduler.development.js:653)
    at runWithPriority$1 (react-dom.development.js:11039)
    at flushSyncCallbackQueueImpl (react-dom.development.js:11084)
    at flushSyncCallbackQueue (react-dom.development.js:11072)
    at scheduleUpdateOnFiber (react-dom.development.js:21199)
    at Object.enqueueSetState (react-dom.development.js:12639)
    at UALProvider.push../node_modules/ual-reactjs-renderer/node_modules/react/cjs/react.development.js.Component.setState (react.development.js:471)
    at broadcastStatus (UALProvider.js:148)
    at _callee$ (UALProvider.js:179)
    at tryCatch (runtime.js:45)
    at Generator.invoke [as _invoke] (runtime.js:274)
    at Generator.prototype.<computed> [as next] (runtime.js:97)
    at asyncGeneratorStep (UALProvider.js:13)
    at _next (UALProvider.js:13)

It's because the shouldInvalidateAfter function is missing.
This PR adds it.

LGFM, thanks


Change default components folder used by runtime

In what area(s)?

/area runtime
What version of Dapr?

0.8.0

Expected Behavior

Actual Behavior
dapr runtime uses ./components folder as default which has now changed
Steps to Reproduce the Problem

Why does this need to change?

Why does this need to change?

runtime is getting initialized with runtime.FromFlags() which uses ./components as default. This is overriding whatever was used by cli as default

Why does this need to change?

runtime is getting initialized with runtime.FromFlags() which uses ./components as default. This is overriding whatever was used by cli as default

But the CLI sets the flag for the runtime to override it's default value.. or am I missing something.

Why does this need to change?

runtime is getting initialized with runtime.FromFlags() which uses ./components as default. This is overriding whatever was used by cli as default

But the CLI sets the flag for the runtime to override it's default value.. or am I missing something.

Yes, there seems to be something amiss here, updating this default is fine, but cli should passed the Components folder to daprd on dapr run.

Why does this need to change?

runtime is getting initialized with runtime.FromFlags() which uses ./components as default. This is overriding whatever was used by cli as default

But the CLI sets the flag for the runtime to override it's default value.. or am I missing something.

Yes, there seems to be something amiss here, updating this default is fine, but cli should passed the components folder to daprd on dapr run.

Yeah. We can get rid of the default in daprd all together, no?

I really want to make sure we are not trying something in this fix to the CLI

its late, i could be missing it but I cant see cli passing components folder to daprd https://github.com/dapr/cli/blob/master/pkg/standalone/run.go#L76

Why does this need to change?

runtime is getting initialized with runtime.FromFlags() which uses ./components as default. This is overriding whatever was used by cli as default

But the CLI sets the flag for the runtime to override it's default value.. or am I missing something.

Yes, there seems to be something amiss here, updating this default is fine, but cli should passed the components folder to daprd on dapr run.

Yeah. We can get rid of the default in daprd all together, no?

either it can stay to support running daprd directly, or it has to made a manadatory parameter as its always required.


Bump grafana-plugin-sdk-go to v0.220.0

This is necessary as v0.217.0 includes a PDC bug.

@wbrowne Thanks for the PR! However this was already bumped by Dependabot in another PR, so I'm going to close this one.


Incorrect Resolution on Boot and Logo Not Seeing

What happens?
Describe the bug.
Cannot Load /EFI/HackBGRT/S?
Falling Back to Default Loader
How this happens?
Explain exactly the steps you did:

Install HackBGRT into Windows
Reboot the Computer
EFI Load Error

setup.log is required for any assistance.

No reply. Cannot help. Please double-check that you are using the most recent installer (version 2.4.0 as of March 2024). If the problem still occurs, reopen the report with a proper log file.


cert validation on secure boto connections

as of boto 2.6.0 secure connections perform a cert validation that may fail on self signed certs. boto versions up to at least 2.12 fail with a useless gaierror message, 2.27 actually indicated an SSL certiificate related error
update the connection create code to use validate_cert=False

somewhat related to #373 May be able to use similar fix so certs can be optionally validated.

looks like boto uses a cacerts.txt file located in the boto folder, would need to append any missing cert to this as the API call doesn't seem to allow a way to specify another location.


Document support for Python app factory pattern

See Unit commit https://github.com/nginx/unit/commit/a9aa9e76db2766a681350c09947df848898531f6

Oh yeah, we're missing documentation for the new 'factory' option... I'll add it to my other PR...

resolved her https://github.com/nginx/unit-docs/commit/d91b4fe39c361401ba1eca7d0a95c78bc37a5fb9


iptables-services needed to save iptables rules in configure_iptables_al2.md

This document should mention that AL2 requires the iptables-services package.

Thanks for bringing to attention. Updated configure_iptables_al2.md with command to install iptables-services.


data_parallel_tree_learner error while installing GPU version of LightGBM with CUDA 10.2

First of all, thank you for the great work that you do! I appreciate it.
I have, however, a problem with installation of the GPU version of the package in a docker image where CUDA is already installed. I want to create a personalized docker with LightGBM with slightly newer version of CUDA than in the example dockerfile that is enclosed in the repository (where CUDA 8.0 is used). My starting point is then the image nvidia/cuda:10.2-cudnn7-runtime-ubuntu18.04. Everything goes smoothly until the moment when the following command is executed: make OPENCL_HEADERS=/usr/local/cuda-10.2/targets/x86_64-linux/include LIBOPENCL=/usr/local/cuda-10.2/targets/x86_64-linux/lib, which follows the lines (copied from the GPU dockerfile in the repository):
cd /usr/local/src && mkdir lightgbm && cd lightgbm && \
   git clone --recursive --branch stable --depth 1 https://github.com/microsoft/LightGBM && \
   cd LightGBM && mkdir build && cd build && \
   cmake -DUSE_GPU=1 -DOpenCL_LIBRARY=/usr/local/cuda/lib64/libOpenCL.so \
         -DOpenCL_INCLUDE_DIR=/usr/local/cuda/include/ ..

Let me underline, that the error doesn't occur, when the built is run as in the dockerfile in the repository (CUDA 8.0) - it finishes successfully.

CMakeFiles/lightgbm.dir/build.make:638: recipe for target 'CMakeFiles/lightgbm.dir/src/treelearner/data_parallel_tree_learner.cpp.o' failed
make[2]: *** [CMakeFiles/lightgbm.dir/src/treelearner/data_parallel_tree_learner.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/lightgbm.dir/all' failed
make[1]: *** [CMakeFiles/lightgbm.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

Hi @Garrus990 !
Can you please provide the full content of your docker file, not only one line?

Hi @StrikerRUS,
this is the Dockerfile that results in the error message above.

Are these paths OK?
-DOpenCL_LIBRARY=/usr/local/cuda/lib64/libOpenCL.so -DOpenCL_INCLUDE_DIR=/usr/local/cuda/include/

Also, try to add the following lines from the original docker:
https://github.com/microsoft/LightGBM/blob/5e0958fbc6071ce4bb8cdc1a5d5526305a4f89b9/docker/gpu/dockerfile.gpu#L15-L17

Adding the lines with environmental variables did not help - the same error occurs.
The culprits are, however, the two lines that you suspect - neither the path to DOpenCL_LIBRARY, nor to DOpenCL_INCLUDE_DIR exist in the folder tree of CUDA 10.2. The file libOpenCL.so cannot be found in any subfolder in the /usr/local path. Folder named include is present only under: /usr/local/cuda-10.2/targets/x86_64-linux/include.

Can you please try to search for libOpenCL.so across the filesystem?

I've - nothing.

I guess the reason is in that you are branching from
FROM nvidia/cuda:${cuda_version}-cudnn${cudnn_version}-runtime-ubuntu18.04

while our docker is inherited from
https://github.com/microsoft/LightGBM/blob/18c706dc840c72341a2a85e05dfb5fad6366902a/docker/gpu/dockerfile.gpu#L1
(note runtime vs devel part). I think it results in different software and drivers installed.
Try with devel image, e.g. nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04.

runtime vs devel part). I think it results in different software and drivers installed.
Try with devel image, e.g. nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04.

I confirm that problem of large devel vs. small(er) but insufficient runtime base image exists also for CUDA 11: OpenCL dynamic library required by LightGBM is not available in the smallest nvidia/cuda images such as base or runtime, i.e. smaller than devel. However,  you can save around 5 GiB of storage space by skipping the cuDNN versions, which contain the cudnn token, unless you do deep learning in the same containers as boosted trees.
The smaller runtime images - no OpenCL binaries:
$ docker run --rm -it nvidia/cuda:11.0-runtime-ubuntu18.04 sh -c "cd / && find | grep CL"
./usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/SB/CL.pl
./usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Lb/CL.pl
./usr/local/cuda-11.0/targets/x86_64-linux/include/nvtx3/nvtxDetail/nvtxImplOpenCL_v3.h
./usr/local/cuda-11.0/targets/x86_64-linux/include/nvtx3/nvToolsExtOpenCL.h

The larger devel images, where OpenCL binaries are available:
$ docker run --rm -it nvidia/cuda:11.0-devel-ubuntu18.04 sh -c "cd / && find | grep CL.so"
./usr/local/cuda-11.0/targets/x86_64-linux/lib/libOpenCL.so
./usr/local/cuda-11.0/targets/x86_64-linux/lib/libOpenCL.so.1.0.0
./usr/local/cuda-11.0/targets/x86_64-linux/lib/libOpenCL.so.1.0
./usr/local/cuda-11.0/targets/x86_64-linux/lib/libOpenCL.so.1

But there was another twist in the story: devel image version is needed after all when CUDA (not just OpenCL as in current lightgbm) is used by a modeling library. This is because only devel and larget nvidia/cuda images contain the required NVIDIA CUDA compiler (nvcc) - at least judging from xgboost requirements, where cmake it raises this error in runtime' images:    Could not find nvcc, please set CUDAToolkit_ROOT.`
Just like for OpenCL, also in this case installation from Ubuntu system repos is possible: the file required by xgboost during compilation is in the nvidia-cuda-toolkit package (see file list):
apt install nvidia-cuda-toolkit
However, as usual, the packages in Ubuntu repos are obsolete - currently by two major CUDA versions, so using devel docker image from NVIDIA is the only method to pin the desired CUDA version (here: at 11 not 9.1):
The following NEW packages will be installed:
  adwaita-icon-theme [..] g++-6 gcc-6 gcc-6-base [..] libaccinj64-9.1 [..] libcublas9.1 libcudart9.1 libcufft9.1 libcufftw9.1 libcuinj64-9.1 libcups2 libcurand9.1 libcusolver9.1 libcusparse9.1 libnppc9.1 libnppial9.1 libnppicc9.1 libnppicom9.1 libnppidei9.1 libnppif9.1 libnppig9.1 libnppim9.1 libnppist9.1 libnppisu9.1 libnppitc9.1 libnpps9.1 [..] nvidia-cuda-dev nvidia-cuda-doc nvidia-cuda-gdb nvidia-cuda-toolkit

I was directed to this issue from #3286. I confirm that using a multistage build with devel and adding the missing libraries to base resulted in a working binary that passed the tutorial test (runtime also works but it wasn't necessary at least for the tutorial). See #3286 for details.


Add info icon

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[spaceship][deliver][pilot] add support for app clips default experience metadata and review information

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I see several green ci/circleci builds in the "All checks have passed" section of my PR (connect CircleCI to GitHub if not)
[x] I've read the Contribution Guidelines
[ ] I've updated the documentation if necessary.
[x] I've added or updated relevant unit tests.

Motivation and Context

This PR improves #21180 which seems to have been abandoned. My team and I have been using the changes from #21180  for a while now. I have synced the branches and fixed failing tests.
Resolves #17639
Description

Deliver
The following app clip default experience functionality has been added to deliver:

option to specify an action (PLAY, VIEW, ...)
option to specify localized subtitles
option to specify localized default experience header image
option to specify app clip review information

See #21180 for examples
Testing Steps

Basic Testing Setup

Update Gemfile to 👇 and run bundle install, bundle update fastlane, or bundle update

gem "fastlane", git: 'https://github.com/sa-ma/fastlane.git', :branch => "pilot-app-clips"

Upload a binary to ASC with an app clip target

you can follow a project tutorial provided by Apple here

What to Test
Deliver
Before specifying any deliver options:

Confirm that fastlane uses the live version's app clip metadata for the current edit version

It should copy over the action, subtitle, and header image of the live version

After specifying the app clip default experience deliver options:

Confirm the app clip default experience metadata specified in the deliver options reflects the ASC UI after running deliver
Confirm that fastlane enforces that the app clip header image is exactly 1800x1200 in size
Confirm that fastlane enforces only one app clip header image per locale
Confirm that the additional fastlane messages via UI.{message,important,...} are appropriate

Pilot

Confirm that the invocations appear on TestFlight

@rogerluan and @AliSoftware please can you help review. There is no option to request for a reviewer on the PR

+1'ing this PR to get some reviews. Can anyone help us out here?

I've integrated a bunch of fixes mentioned above into my own fork/branch if folks were having the same issues using this.
https://github.com/jttoddy/fastlane/tree/pilot-app-clips

Is there a way to download the metadata from ASC @jttoddy @sa-ma? I tried fastlane deliver download_metadata but it's not pulling the AppClip metadata. Any idea? Thanks in advance!

Is there a way to download the metadata from ASC @jttoddy @sa-ma? I tried fastlane deliver download_metadata but it's not pulling the AppClip metadata. Any idea? Thanks in advance!

I don't believe this is currently supported in this PR. I suspect it would be possible given how the ASC API supports App Clip metadata, but I set mine up manually.

Hello devs, can we get some movement on this?  This PR or the one that preceded it has been held up for a while and it's a pretty helpful feature for anyone making App Clips.  I'd also prefer to not have to execute fastlane from someone's branch.

@stephen-oconnor-cp I think you need to integrate @jttoddy 's changes at the minimum for your PR to be mergeable. Can you start by cherry picking them into your PR? His branch is here https://github.com/jttoddy/fastlane/commits/pilot-app-clips/

@lacostej I'm not a contributor to the project.  No PR is mine.  I'm just hoping to see these features get integrated into fastlane soon.

Excited for this feature!


Visualiziation

Thank you for publishing this awesome work, I was wondering if there is any "easy" way to show the results, like having boxes around the tested images as done in the paper?
I could not find it and it was not mentioned in the readme, maybe this is a feature request if it is not availabel atm.

just found #16 sry.


hg38 salmon_sa_index reference fasta

Hi,
I have used the hg38/salmon_sa_index:default from refgenie to run salmon quant. For some other work I need to determine what was the source of the fasta used to create this, is there a way to determine the source eg Ensembl, Gencode etc. for this asset? On the build log there is a code for the parent .fa file which appears to have been from your servers and I don't think I can view further details.
Many thanks,
Nick

You can find all the relevant assets here: http://refgenomes.databio.org/v3/genomes/splash/2230c535660fb4774114bfa966a62f823fdb6d21acf138d4
Note the description here: Description: The GCA_000001405.15 GRCh38_no_alt_analysis_set from NCBI
see, here is the fasta in question: http://refgenomes.databio.org/v3/assets/splash/2230c535660fb4774114bfa966a62f823fdb6d21acf138d4/fasta?tag=default
And you can actually see the exact parents of the salmon index asset here: http://refgenomes.databio.org/v3/assets/splash/2230c535660fb4774114bfa966a62f823fdb6d21acf138d4/salmon_sa_index?tag=default
(which would lead you to the above fasta asset)

Excellent, thanks very much Nathan

Is there a way to view which Ensembl transcriptome version was used for this reference?


Issue with this lab

The steps in this lab do not work as each VM you create try to create their own vnet and subnet, for an availability set all VM must be on the same one.

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

ID: 0838680a-403c-6c10-7005-f73a159ba272
Version Independent ID: b939ffdd-695a-750c-def0-8b485147f2cc
Content: Tutorial - High availability for Linux VMs in Azure
Content Source: articles/virtual-machines/linux/tutorial-availability-sets.md
Service: virtual-machines-linux
GitHub Login: @cynthn
Microsoft Alias: cynthn

Thanks for the feedback! We are currently investigating and will update you shortly.

@louisjvn Thanks for bringing this to our attention.
I have assigned the issue to the content author to evaluate and update as appropriate.
The commands to Create VMs inside an availability set should include these parameters:
[--vnet-name] [--subnet]
For reference, this doc states correctly the steps to create VMs inside an availability set using Powershell for Windows Vm, using Vnet and subnet name : https://docs.microsoft.com/en-us/azure/virtual-machines/windows/tutorial-availability-sets#create-vms-inside-an-availability-set

@louisjvn thanks for the feedback! The article has been updated a few times since you submitted this issue. Are you still having trouble creating the VMs in the availability set?

#please-close


[WIP] Add random number generator support for CUDA device code

Adds a new numba.cuda.random module which implements the xoroshiro128+ RNG.  This seems to be the simplest high quality RNG available, and only requires a 128 bit state vector.
Still having a problem with getting autodoc to work with the numba.cuda.random module, with the Sphinx complaint:
/Users/sseibert/continuum/numba-seibert/docs/source/cuda/random.rst:20: WARNING: autodoc: failed to import module u'numba.cuda.random'; the following exception was raised:
Traceback (most recent call last):
  File "/Users/sseibert/anaconda/lib/python2.7/site-packages/Sphinx-1.5.1-py2.7.egg/sphinx/ext/autodoc.py", line 547, in import_object
    __import__(self.modname)
ImportError: No module named random

Codecov Report

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


Country Request: Cuba

Hello! I would like to formally request roads for Cuba. Thanks!
Justin

Thanks for the request!
We've added it to the list

Cuba is now available


Considerations for putting music over sync PN noise

This is a thread about the following question: Can an operator run this test without having to listen to (annoying) pure white noise?  This raises the follow-up question: What is the required audio SNR for sync detection using the current (6/28/2021) audio mezzanine white noise sequence?
I was asked to post this as an Issue to keep it from getting lost.  The following doesn't make a conclusion or strong recommendation; this is some info en route to a later solution.  Discussion encouraged; we're also expecting more on a proposed coded spectral band algorithm as well (which would perform better).  (And apologies for the lengthy post, I'm trying to capture a lot.)
tl;dr: Simulation of the current audiomezz.py output white noise sync mechanism suggests it might be reasonable to try to combine human audio (music, beeps) and the white noise timing sync.  Like all simulations, this is more of a direction than a conclusive result, and the real test will be in the lab.
Music played during the sync sequence PN noise would--depending on relative power--interfere with reliable detection (timing extraction would be "less robust").  We also expect some reduced robustness--unquantified as yet--if a speaker-out-microphone-in (non-wired connection) is used from the playout device (or device under test, DUT) to the Observation Framework (OF).
The OF is using a Band-Limited Pseudo-random Noise signal ("BLPN signal").  The audiomezz.py code builds it as follows.

Generate a uniform-selection PN bit sequence at the sample rate, non-repeating for the duration of the test;
The PN sequence is then band-limited to 7kHz (to limit noise from high frequency replication that occurs with some audio codecs); this is the BLPN signal.
The BLPN signal is written to an audio file (write to .WAV format) for playout during a test.

For timing detection, the proposed  algorithm will attempt to match “received PN audio” with “offset copy of the original PN”.  By correlating waveforms while adjusting (sliding) the offset, we can find a correlation peak that identifies the timing.
As mentioned, this is the current concept for timing sync, although one member proposed coded spectral bands in the DPC Test meeting of 6/22.
I did a simple simulation of a cross-correlation detection method.  The generated audio is the BLPN signal, plus random noise values.  The random noise is scaled to approximate the desired audio SNR.  The resulting samples at any audio sample time k are BLPN[k] + {factor * random[0..1)}, where 'factor' is chosen to set the desired SNR.
Ideally, the noise can be much louder than the PN because then we can have music (the noise) with BLPN quietly in the background.  For the simulation I used parameters etc. from the current WAVE content generation code.  For cross-correlation I use a string of 100 consecutive samples of BLPN (longer is better, this is just what I used).
Results:

For -12 dB SNR (music 12 dB greater power than the BLPN signal), the correlation peak is no longer in the correct spot (false timing sync).
At -6 dB the peak is usually correct.  False sync occurs 10-20% of the time.
At 0 dB (music and BLPN at equal power), false sync was not observed in 100 test cycles.

From this simulation I would guess we might get acceptable performance for 0 dB SNR, meaning music and PN are the same average power.  That is not as bad as I had thought.  Note that this is not a definitive simulation, there are a few differences between my correlation and the one planned, but it is should be similar to actual results.
Net--it seems reasonable to try to combine human audio and the BLPN sequence.  Audio blips and background music may not destroy the programmatic sync from the BLPN.  At least, from this rough simulation, it appears worth trying.
A final point is that audio sync detection is currently out of scope for the observation framework, so this is all for the future.

Tl;dr: We should pursue a 2-phase approach for audio testing.  Phase A would be based on wired audio with no added music, and would fit the DPC Specification's current audio test requirements, with a reasonably high degree of confidence.  Phase B would seek to move to speaker output with added music, but leans more towards “research” and has more uncertainty as to feasibility.  We should start work on Phase A proof-of-concept test jigs next, as resources are available.  Some initial work on such a test jig is going on now to further inform this effort.
...
Based on additional study and helpful side discussions with Eurofins, Dolby and Thomas S., here are a few preliminary points that may be helpful in setting expectations.  To hit the key point first, using speakers with added music and extracting a PN sync code appears technically feasible if we work with 60-second audio samples.  Unfortunately, the ~20 mS resolution implied by the DPC Specification makes it more difficult to implement than the wired approach, and these enhancements should remain in "research" while we build a first working wired test system.
Approach:
Backing up from implementation or research, we should consider the DPC specification.  From requirements we can get implementation and capabilities, then consider enhancements.
Whether we have speakers and music, or just PN, is a matter of “added noise”.  This goes to signal-to-noise ratio (SNR).  We can derive available SNR from the basics of the system (On-Off-Keying modulation, signal bandwidth, observation period, etc.)  And we need a minimum implementation at least, while we work through these more “stretch goal” concepts.
So I suggest a two-phase approach:
•	Phase A (wired connection, no music)
•	Phase B (attempt to move to speaker output with added music)
In Phase A, there will be minimal-but-nonzero system noise and implementation loss.  In Phase B, the “speaker out” enhancement will add room noise, room echoes and cross-channel interference; “added music” will add consequential interference power.
Deriving Requirements:
Here is a summary of the DPC specification audio observations requirements (using dpctf-s00001-v032-WAVE-DPC-v1.02, and ignoring human observations like "no clicks or pops").
DPC Specification Audio Observation Requirements (sections 8 & 9):

Every audio sample renders
Audio samples render in increasing presentation time order
For random access (time or fragment), no earlier audio sample shall be rendered
Audio playback duration matches expected value, at audio-sample-level resolution.
Audio startup delay to be sufficiently low, at audio-sample-level resolution.
The presented audio sample matches the one reported by currentTime.

Note: In this context, an “audio sample” is understood to be an audio “ISOBMFF media sample”, the length of which may be on the order of 20 mS.  (Note the difference between this “audio sample” interpretation, and the “audio sample” definition that means the data values collected at the audio ADC clock rate of 48k Hz.)
These six basic requirements all imply use of audio samples.  Each audio sample can be used to extract its actual presentation time.  The shorter the audio sample, the less robust to noise (i.e.. music, echoes, whatever).
It should be noted that this is currently the DPC Spec requirement summary, but there are also "tbd"s in that spec.  We may also want ancillary test capabilities, such as vetting the test setup.  So this requirement set is a starting point and a minimum at this time.
Implementation & Capabilities:
If we assume a 20 mS audio sample time (“Observation Time”), calculations show a required SNR of 11.4 dB.  A music/PN file with the PN “noise” at 11.4 dB under the music would be fairly unlistenable.  That isn't meeting the goal of "music for someone to listen to instead of PN noise."
Therefore, the mezz/encoded content that supports these six requirements must start off as:
A.	Wired audio and a short (e.g., 20 mS) minimum Observation Time (which equals the minimum allowed media sample time).
For some additional test capabilities beyond those basic six requirements, we can also consider:
B.	Longer Observation Time, but must constrain media samples (audio samples) to be correspondingly longer, such as 1 second or 60 seconds
For enhancements of speaker-out transmission and a music overlay, we would need:
C.	Filtering to remove the added music and speaker-out impairments (stretch goal).
Item C may seem a bit ambitious, but there is a theoretical path to doing so and existing Python libraries to at least try it out.  It’s a longer path with less assurance of success, and some downstream inconveniences with actually using the approach, but there is a path.
Content Splice Testing:
In addition, as mentioned today in the DPCTF Test Runner meeting; for content splicing, we will need to distinguish the timestamp of different splice contents.  So if we have Main content playing and an Ad spliced into it, the Main will use PN1 and the Ad must use a PN2 that is different from PN1.
This is an update, not a final.  Next step is to build a test jig for wired sync and API development for the Observation Framework.

Here, for the record (as Jon said, "two years later someone trying to figure out what we did") is the link budget for the reception of the PN code.

Index
Item
Value
Units
How
Comment

A.
Modulation
BPSK

Actually   On-Off Keying or Amplitude Shift Keying; BPSK is equivalent for Eb/N0 determination.

B.
BER
1.00E-03

Required   "bit error rate", in this case it will be a false sync rate.  1E-3 --> 7 dB.

C.
Eb/N0
7
dB

Theoretical   ratio of energy-per-bit (Eb) to noise power spectral density (N0) ratio; determined by modulation scheme (from Eb/N0 vs. BER graph,   BPSK/QPSK curve).

D.
Data rate
48000
bps

The   PN bits are WAV encoded as one bit per audio sample; audio sample rate is   48000 kHz.

E.
BW
7000
Hz

We   apply a 7kHz filter as pre-conditioning for compression schemes like HE-AAC,   which uses SBR for higher-band content on decode.

F.
SNR
15.4
dB
= C + 10* log10(D/E)
Required   signal-to-noise ratio at the required failure rate.  "Signal" is the PN sequence.

G.
TOP
0.02
sec

Observation   period.  Longer is better.

H.
Chipping rate
960
bps
= D * G
#bits   used per observation; in spread spectrum would be the # of spreading bits for   each data bit

I.
Process gain
29.8
dB
= 10*log10(H)
Gain   resulting from using multiple bits for the decision, expressed as dB (i.e.,   10*log10(chipping   rate))

J.
Implementation losses
3
dB

Budget   for real hardware, plus audio compression artifacts post-decode.  Need to measure with real audio compression   as well, this number will go up.  Can   add additional "comfort factor" margin here as well.

K.
CNR actual
-11.4
dB
= (F - I) + J
Usable   ratio of PN signal to (music+noise+etc.).    Negative implies louder music than PN data.

A basic modulation-EbNo-BER curve (from the Wikipedia article on Eb/N0.  See the dotted red line for the operating point of 10E-3 (one failure in 1000 tests):


rx.mini.EventDisposer is not a constructor

Looks like this refactoring broke something https://github.com/shinyoshiaki/werift-webrtc/commit/d3300bf0b05c2714ebc74acbc36b1bf41131ca97
[0] [1] 07:50:32  error  unhandledRejection  TypeError: rx_mini_1.EventDisposer is not a constructor
[0] [1]     at new WebmFactory (/home/kol/Projects/werift-sfu-react/node_modules/werift/lib/webrtc/src/nonstandard/recorder/writer/webm.js:13:30)
[0] [1]     at /home/kol/Projects/werift-sfu-react/node_modules/werift/lib/webrtc/src/nonstandard/recorder/index.js:14:28
[0] [1]     at new MediaRecorder (/home/kol/Projects/werift-sfu-react/node_modules/werift/lib/webrtc/src/nonstandard/recorder/index.js:18:11)
[0] [1]     at RecordVideo.startStreamRecord (/home/kol/Projects/werift-sfu-react/packages/server/dist/addons/recordVideo.js:182:56)
[0] [1]     at /home/kol/Projects/werift-sfu-react/packages/server/dist/addons/recordVideo.js:225:26
[0] [1]     at Array.forEach (<anonymous>)
[0] [1]     at RecordVideo.handleVideoRecord (/home/kol/Projects/werift-sfu-react/packages/server/dist/addons/recordVideo.js:221:49)
[0] [1]     at WebSocket.<anonymous> (/home/kol/Projects/werift-sfu-react/packages/server/dist/main.js:198:33)
[0] [1]     at WebSocket.emit (node:events:527:28)
[0] [1]     at Receiver.receiverOnMessage (/home/kol/Projects/werift-sfu-react/node_modules/ws/lib/websocket.js:1178:20)
[0] [1]

Remove node_modules and package-lock.json and reinstall


Fix NPE when connect method authentication fail.

Motivation
See #412
Modification

Add null check.

Codecov Report

Merging #413 (ebb1a83) into master (238962f) will decrease coverage by 0.85%.
The diff coverage is 69.35%.

@@             Coverage Diff              @@
##             master     #413      +/-   ##
============================================
- Coverage     78.15%   77.29%   -0.86%
- Complexity      590      592       +2
============================================
  Files            83       83
  Lines          2682     2713      +31
  Branches        186      187       +1
============================================
+ Hits           2096     2097       +1
- Misses          464      492      +28
- Partials        122      124       +2

Impacted Files
Coverage Δ

...ers/mqtt/exception/handler/MopExceptionHelper.java
42.85% <ø> (-2.60%)
:arrow_down:

...tt/support/DefaultProtocolMethodProcessorImpl.java
81.40% <41.66%> (-5.13%)
:arrow_down:

...lsar/handlers/mqtt/support/Qos1PublishHandler.java
61.40% <53.33%> (-21.93%)
:arrow_down:

...s/mqtt/proxy/MQTTProxyProtocolMethodProcessor.java
61.93% <75.00%> (ø)

...mqtt/messages/factory/MqttPubAckMessageHelper.java
86.36% <90.47%> (-5.95%)
:arrow_down:

...ulsar/handlers/mqtt/AbstractQosPublishHandler.java
94.44% <100.00%> (+2.77%)
:arrow_up:

.../pulsar/handlers/mqtt/messages/ack/PublishAck.java
100.00% <100.00%> (ø)

...lsar/handlers/mqtt/support/Qos0PublishHandler.java
100.00% <100.00%> (ø)

...dlers/mqtt/support/handler/AbstractAckHandler.java
81.63% <100.00%> (+5.95%)
:arrow_up:

...ndlers/mqtt/support/handler/MqttV3xAckHandler.java
100.00% <100.00%> (ø)

... and 10 more

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 46175bc...ebb1a83. Read the comment docs.

@Technoboy-
PTAL :)


1823825 | Message fixes | Address validation issues | 19

This PR is for user story 1823825.
Fixed an issue with missing table headers.
If these changes are not appropriate, please let me know. I'm only trying to clean up validation issues in this repo. So I can easily close this PR or modify it in whatever way is best for the content.

Docs Build status updates of commit 0e35c05:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

biztalk/core/single-sign-on-event-10512.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10513.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10514.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10515.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10516.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10517.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10518.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10519.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10520.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10521.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10522.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10523.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10524.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10525.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10526.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10527.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10528.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10529.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10530.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10531.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10532.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10533.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10534.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10535.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10536.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10537.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10538.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10539.md
:white_check_mark:Succeeded
View

biztalk/core/single-sign-on-event-10540.md
:white_check_mark:Succeeded
View

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

@MandiOhlinger This PR is ready for merge.


Consecutive spaces make config file invalid

When more than one blank is used to separate the entries of a line in the configuration file (e.g. to make it look more neat or clearly formatted) the configuration file is invalid.
Wouldn't it be better to allow any kind of whitespace as delimiter between the components of a line?

@GCChelp , Can you provide an example of an invalid / invalid configuration please?

This nicely formatted entries are considered invalid:
permit nopass username  as root cmd /usr/bin/systemctl args status  nginx.service
permit nopass username  as root cmd /usr/bin/systemctl args restart nginx.service
permit nopass username  as root cmd /usr/bin/systemctl args stop   nginx.service
permit nopass username  as root cmd /usr/bin/systemctl args start   nginx.service
While it works if I replace redundant spaces by only one:
permit nopass username as root cmd /usr/bin/systemctl args status nginx.service
permit nopass username as root cmd /usr/bin/systemctl args restart nginx.service
permit nopass username as root cmd /usr/bin/systemctl args stop nginx.service
permit nopass username as root cmd /usr/bin/systemctl args start nginx.service
Note: The redundant spaces are after start and stop, such that the following word continues in the same column for all lines. Same applies to usernames with different length. (fixed width font)
(Could not insert the lines as 'code' because Markdown removed the consecutive spaces.)
BTW: I found out about the regular expression syntax to shorten configs like this in the meantime.   ;-)
Using version 0.2.2 downloaded as RPM package and installed on SLES12 SP2.

@GCChelp, I'm on it.

Fixed in https://github.com/odedlaz/suex/commit/199c972f4217a4adc6e40aa210d02fc33310a32c.


Deploy gardener-operator provider resources (backupbucket,dnsrecord)

How to categorize this PR?

/area control-plane
/kind enhancement
What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

Enhance the gardener-operator to deploy dnsrecords and backupbucket for the virtual garden resource.

/assign

/remove-lifecycle stale


Different solution to inline elements

Howdy,
I saw that you just fixed the attribute nesting error, but I was working on another alternative before you pushed those changes.  Probably should have said something, but, you know how that goes sometimes.
Anyway, one of the problems for me, at least, with returning a default rails builder is that I have subclasses your TwitterBootstrapFormFor::FormBuilder form builder so that I can do nifty things like automatically marking fields as required, populating dropdowns, etc.  In inline forms, I lose all the stuff that I do in my subclassed form builder because it returns the default builder, which is no fun for me.  Instead, I have it just yield the current instance of the form builder class that way we still have access to all the same nifty things from the form builder we are using.
So, ya, there you go.  Let me know what you think.

It shouldn't.  While doing anything within the block passed to the inline command, an instance variable @render_inline is set to true.  When that instance variable is set, all of the subsequent field calls will skip the label and div wrapper rendering.  Check out the div_wrapper_with_label method.

I'm going to make some tweaks, but I think I'm going to replace the approach I went with with this one. Thanks for the contribution!

Cool.  No problem.  Assuming you keep the essence of the changes, I think this can create a solution to issue #28.  Once you make your changes, I can add on other changes to fix that problem.

I like this approach as well... and I hacked together the last one ;)


Consider using smaller base image

The Dockerfile in this repo is currently using an "scm" buildpack-deps image.  According to the buildpack-deps repo, the scm images add "various source control management tools".  These tools add significant size to the image and may not be critical for the base .NET Docker image.
We could perhaps use a smaller buildpack-deps image like jessie-curl, which is 42 MB smaller than jessie-scm.  We could then install just one or two source management tools on top of it (such as Git) rather than all of the ones installed by the jessie-scm image.  To reduce the size even further, we could use debian:jessie as the base image and then just install curl and use that instead of wget.
We should also consider making this change in https://github.com/dotnet/dotnet-docker, although the situation is somewhat different there because we plan to have a separate "slim" dotnet-docker image with minimal dependencies.

@naamunds why do you need git?

@friism It's not strictly necessary, but @MichaelSimons mentioned to me that it might be worth having in the base image, so I wanted to call it out as something to consider.

The Dockerfile in this repo is intended for developers to build, test, and debug .Net Core apps on.  In the RC2 time frame there are plans to add two flavors of runtime images.

A slim image that contains the minimum requirements to run a standalone .Net Core app.
A sharedframework image that is based on the slim image and adds to it a version of the shared framework.  This image can be used to run apps built with the shared framework (which is the default way of building apps).

A goal of the runtime images is to make them as small as possible.  These images will not be based on buildpack-deps images rather on plain Debian.  Once Alpine is supported, they will be based on it.  As for the developer intended image (which is what the preview image is), I was thinking it would make sense for it to be based on a buildpack-deps image.  Having git installed in a developer targetted environment is rather convenient IMO.

As @MichaelSimons mentioned, it makes sense for the image with the .NET CLI tools to include common developer tools such as Git by being based on the buildpack-deps:jessie-scm image.  The official images repo has runtime images which have mimimal dependencies in addition to CLI tools images using buildpacks-deps:jessie-scm; this is consistent with other products such as Golang.
This repo just contains an image with the CLI tools, so I'm closing this issue.


Remove Veracruz MVP host calls from Chihuahua

For motivation, see Hugo's WASI proposal.

With the recent WASI changes, this is now resolved.


OpenVPN and IPSEC UI needs some more love (latest devel)

(for reference) issue 1 is fixed in https://github.com/opnsense/core/commit/db5faebf0fbe43cd927c66a43f98f67557777312 I have to look the other later

Checked hardware crypto, on my side I do have another option available "bsd crypto" and the "No hardware ..." comes from the same unchanged function.
To check if the list displays the options correctly, you can run :
/usr/local/bin/openssl engine -t -c
On my end it shows:
(cryptodev) BSD cryptodev engine
[RSA, DSA, DH, AES-128-CBC, AES-192-CBC, AES-256-CBC]
[ available ]
(dynamic) Dynamic engine loading support
[ unavailable ]
Note that the use of AESNI is handled by openssl and no crypto accelerator should be used to utilize it.
Closing this one for now, because it doesn't seem to be related with the gui page.

root@opnsense:~ # /usr/local/bin/openssl engine -t -c
root@opnsense:~ #

Nothing :/ Perhaps this option sould be disabled or hidden completely then instead of offering a blank dropdown?

It should not add an empty option. The utility doesn't print a newline.


Removed signController method from spook role

This will minimize controller signing to owned rooms.

I'm against removing it completely, however, filtering it to only Quorum claimed/reserved rooms would be fine

Neutral rooms or rooms that haven't been signed in weeks should also be signed in my opinion, but yeah.

concur with ags and tedivm. if you added everything back, and added the following in between lines 84 and 85, I'd upvote...
  return false
}```

I think we should sign more than just Quorum's own rooms- neutral rooms are great to sign, as are rooms which haven't been signed in a long time (a month?)

idk, I could see how that could be viewed as annoying. I do not sign my controllers in either owned or reserved rooms. I would be annoyed by a neighboring quorum signing my reserved rooms, simply because I didn't put the effort into writing code to sign my own.

What if it was limited to a certain distance from an existing room?

concur with ags and tedivm. if you added everything back, and added the following in between lines 84 and 85, I'd upvote...
if(!creep.room.controller.my && creep.room.controller.reservation.username !== USERNAME) { return false }

This would cause errors in rooms claimed by others. Should be if(!creep.room.controller.my && creep.room.controller.reservation && creep.room.controller.reservation.username !== USERNAME) { return false }


Fixes to ML Framework APIs

Resolves #4942
Checklist

[x] By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and subject to the Developers Certificate of Origin.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@Naarcha-AWS is there any update on this PR?

Framework APIs updated in a separate PR.


Uncaught Exception: Command failed:<PHONE_NUMBER>

An uncaught exception was reported.
Info:
OS: win32
Arch: ia32
GPMDP Version: 3.0.0
Time: Thu Mar 10 2016 20:32:14 GMT 0000 (GMT Standard Time)
Error:
Command failed:<PHONE_NUMBER>
Error: Command failed:<PHONE_NUMBER>
System.AggregateException: One or more errors occurred. ---> System.Net.WebException: The remote name could not be resolved: 'update.googleplaymusicdesktopplayer.com'
   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
   at System.Net.WebClient.GetWebResponse(WebRequest request, IAsyncResult result)
   at System.Net.WebClient.DownloadBitsResponseCallback(IAsyncResult result)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.Utility.<LogIfThrows>d__50`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.FileDownloader.<DownloadUrl>d__14.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerS
...Some of the stack is missing

This issue was created automatically inside the uncaughtException handler

Client side network issues.
Will not be reported in 3.1.0


Preprint version?

Can you upload the preprint version of the paper? Thanks!

I can download the pdf file from ACM Digital Library now.


Can we put websocket's callback beam file in a virtual server's docroot ?

Following  the example of websockets mentioned on Chapter 14 'WebSocket Protocol Support'
of the http://yaws.hyber.org/doc.yaws  yaws manual .(manual version 7/10/2015)
i come upon this problem:
websockets_example_endpoint.yaws  in the end will give output
{websocket, CallbackMod, Opts}
And let's say that CallbackMod = basic_echo_callback
If the basic_echo_callback.beam is in the docroot of the virtual server then in the
logs we'll see that file is not found.
By searching man yaws and guessing i put it in /usr/lib/yaws/custom/ebin and the example worked.
Is there a way to make it work but keeping those callback beam file inside each virtual_server docroot dir?
Thanks
Alexandros

You can use one or more ebin_dir directives at the global level of your config to add directories the Erlang module load path.

Thanks for the quick response! I'll try it.

I assumed ebin_dir was sufficient to get this working? If so, I'd like to close this issue.

Yes. it worked . thanks


add XChacha20Poly1305 support

add XChacha20Poly1305 support

We do not endorse extra AEAD ciphers (see the official list https://shadowsocks.org/en/spec/AEAD-Ciphers.html). XC20P1305 brings no benefits but cost.

You should read  https://tools.ietf.org/html/draft-arciszewski-xchacha-00

Or maybe you should convince me otherwise? :P


uutils-findutils: Add version 0.5.0

Relates-to: https://github.com/uutils/findutils/issues/273

[x] I have read the Contributing Guide.

/verify


Issue modifying original .json file or replacing with a new one

Hello, and thanks for this amazing release and the Colab!  I have been using the Colab for a while now and haven't messed with the config file until recently.  My problem occurs when I am trying to change "skip_conn" to True in the config.  I am sure the formatting of how I added "skip_conn" to the .json file was correct, I tried having True with and without quotations around it.    Even tried creating a new json with a new name and adding the new config file name to the arguments when training.  Nothing worked.  I also looked at an older issue here which talked about skip connections, and used the updated Colab and still got the same error
Would greatly appreciate your help on this and I thank you for your time.
** Config file & Train args below **
{
"seq_len": 1024,
"frame_sizes": [16,64],
"dim": 1024,
"rnn_type": "gru",
"num_rnn_layers": 4,
"q_type": "mu-law",
"q_levels": 256,
"emb_size": 256,
"skip_conn": "True"
}
!python train.py
--data_dir ./chunks/kick_hat_slices/
--num_epochs 100
--batch_size 128
--max_checkpoints 7
--checkpoint_every 1
--generate False
--id "LSTM_kick_hat"
--resume False \
** Error code below **
Traceback (most recent call last):
File "train.py", line 347, in
main()
File "train.py", line 327, in main
model(init_data)
File "/usr/local/lib/python3.7/dist-packages/keras/utils/traceback_utils.py", line 67, in error_handler
raise e.with_traceback(filtered_tb) from None
File "/content/drive/My Drive/prism-samplernn/samplernn/model.py", line 125, in call
tf.cast(inputs, tf.float32)[:, : -self.big_frame_size, :]
File "/content/drive/My Drive/prism-samplernn/samplernn/frame_rnn.py", line 47, in call
frame_outputs = self.rnn(input_frames)
File "/content/drive/My Drive/prism-samplernn/samplernn/nn.py", line 85, in call
out += self.run_dense(name, seqs)
File "/content/drive/My Drive/prism-samplernn/samplernn/nn.py", line 72, in run_dense
dense = self.getattribute(name + '_skip_out')
AttributeError: Exception encountered when calling layer "rnn" (type RNN).
'RNN' object has no attribute 'layer_0_skip_out'
Call arguments received:
• inputs=tf.Tensor(shape=(32, 16, 1024), dtype=float32)

@xxrraa Hi, and thanks for getting in touch about this. Since the config file is JSON for that param you'll need:
"skip_conn": true
Lower case and no quotes. True is Python format. :) Just tested that on Colab and I get the same error.


DBZ-644 Optionally adding source column type info to field schema

https://issues.jboss.org/browse/DBZ-644
Supersedes #508.

Thanks a lot for reviewing, @orrganani! This will be part of next week's release of Debezium 0.8.0.CR1.

@gunnarmorling Are the metadata kept with event flattening SMT?

@jpechane Ok, so the schema parameters are also kept when applying the unwrapping SMT. I've pushed one more commit related to your other suggestion on how the logical name is passed.

@gunnarmorling One more question regarding the logical name? Would it be better to keep the logicalNameField constructor parameter and instead of it modify the field definition for Postgres to use withDefault with lazy constrution (Supplier) variant?

Hum, dunno. Looks overly complex to me? What would we gain by that?

@jpechane All looks good to me with this commit locally. Should we wait for Travis, too, I suppose?

@gunnarmorling Applied, thanks! I've disabled the test - it is passing localy and on Jenkins but there are still (smaller) issues on Travis. I am pretty sure this is test environment porbalem so I switched it off to unblock path forward.

@jpechane Excellent, thanks! I've also resolved the JIRA issue, let's not forget about it when merging PRs. I'm going to create a follow-up JIRA issue for re-enabling that test.


Language toggle on HTML responses

Issue/opportunity
HTML responses language link skips the data classification and GoC header content. Link to top of response section for each language.
Screenshots
Currently

Ideally

Found on: Staging, Mac, Chrome

We could move the classification banner to just below the h1. It's more contextual there, anyway.

New designs with download and confirm should fix this issue. Confirm in the new year.


uv_fs_type: missed UV_FS_REALPATH

See the documentation.
UV_FS_REALPATH is not part of uv_fs_type as it ought to be.

LGTM. Can you adjust the subsystem to be "doc" ? Thanks!

Landed in f001a67 with a reworded commit message, thanks!


Add sampling rate to internal metrics

What does this PR do?

[x] Add sampling rate option for internal metrics
[x] Reduce the amount of "Gap between view" telemetry, and discarding gaps above 3 seconds (which most probably denote an app being sent to background instead of an actual gap while navigating inside the tracked app).

[!NOTE]
This metric will be applied in addition to the telemetry sampling rate, so if a logMetric is created with a sampling rate of 10%, with the global telemetry sampling rate being sampled at 20%, it has a 2% chance of being kept.

Codecov Report
Attention: Patch coverage is 72.00000% with 7 lines in your changes missing coverage. Please review.

Project coverage is 69.49%. Comparing base (d8d0838) to head (d377ef1).
Report is 1 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #2113      +/-   ##
===========================================
- Coverage    69.56%   69.49%   -0.07%
===========================================
  Files          715      715
  Lines        26553    26577      +24
  Branches      4452     4452
===========================================
- Hits         18469    18468       -1
- Misses        6871     6890      +19
- Partials      1213     1219       +6

Files
Coverage Δ

...n/kotlin/com/datadog/android/api/InternalLogger.kt
100.00% <ø> (ø)

.../android/core/internal/logger/SdkInternalLogger.kt
86.87% <100.00%> (+0.13%)
:arrow_up:

...id/core/internal/metrics/BatchMetricsDispatcher.kt
98.65% <100.00%> (+0.04%)
:arrow_up:

...oid/core/internal/metrics/MethodCalledTelemetry.kt
100.00% <100.00%> (ø)

...dog/android/core/metrics/MethodCallSamplingRate.kt
100.00% <100.00%> (+100.00%)
:arrow_up:

...um/internal/metric/SessionEndedMetricDispatcher.kt
67.74% <100.00%> (+1.08%)
:arrow_up:

...internal/recorder/DefaultOnDrawListenerProducer.kt
36.36% <0.00%> (ø)

...d/rum/internal/domain/scope/RumViewManagerScope.kt
90.67% <45.45%> (-3.74%)
:arrow_down:

... and 31 files with indirect coverage changes


Fix for functionnames where functionname A startwith functionname B

.find would find wrong versionname and aliasname
Example:
Function A: GetAccount
Function B: GetAccountByName
For function GetAccountByName the versionname and aliasname would be from the GetAccount function

I've added commit with:

fix for SNS (the same issue as was fixed for API Gateway by @MartinRisk)
stack and alias fixtures updated with function name overlaps in order to cover current issue (related tests updated)

@HyperBrain pls review


Update README.md

updated with pull request for issue #105

Looks good. I’ll pull this in and test. Hope to get it merged to master this week.

I added a suggested change to the README; other than that, I think that looks about right. Thanks!


yt-dlp do not working with drm files from WOWPRESENTSPLUS

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting that yt-dlp is broken on a supported site
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
ARGENTINA
Provide a description that is worded well enough to be understood
Until a week ago I was able to download videos from wowpresentsplus without any problems but today I tried and I get the following error: WARNING: You have asked for UNPLAYABLE formats to be listed/downloaded. This is a developer option intended for debugging.
If you experience any issues while using this option, DO NOT open a bug report
[generic] Extracting URL: https://drm.vimeocdn.com/1715891908-0x20ff144d8b689fbbf96d4e1ab915d4750dc59b20/01/4263/37/9463173...pd?assetId=946317360
[generic] master: Downloading webpage
ERROR: [generic] Unable to download webpage: <urllib3.connection.HTTPSConnection object at 0x000001395A93C6D0>: Failed to resolve 'drm.vimeocdn.com' ([Errno 11001] getaddrinfo failed) (caused by TransportError("<urllib3.connection.HTTPSConnection object at 0x000001395A93C6D0>: Failed to resolve 'drm.vimeocdn.com' ([Errno 11001] getaddrinfo failed)"))
To start the command I used the following: yt-dlp -F --allow-u https://drm.vimeocdn.com/1715891908-0x20ff144d8b689fbbf96d4e1ab915d4750dc59b20/01/4263/37/946317360/3750546404,3750546270,3750546263,3750546266,3750546403/master.mpd?assetId=946317360
Here I could see the qualities of the video to download but now I can't download it anymore.
Any solution?
Thanks
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
yt-dlp -F --allow-u -vU https://drm.vimeocdn.com/1715891908-0x20ff144d8b689fbbf96d4e1ab915d4750dc59b20/01/4263/37/946317360/3750546404,3750546270,3750546263,3750546266,3750546403/master.mpd?assetId=946317360

If you experience any issues while using this option, DO NOT open a bug report


fix gradle publish action

Issue #, if available:
Description of changes:
Fix gradle publish

Approving since it's the same as #120. The build failure looks like the same one that's on current PRs in the cedar repo. Based on the test names, possibly related to the recent (breaking) cedar#714.

Or it could be related to https://github.com/cedar-policy/cedar/pull/740. Still debugging.


output: add description

wlr_output.description is a string containing a human-readable string
identifying the output. Compositors can customise it via
wlr_output_set_description, for instance to make the name more
user-friendly.
References: https://github.com/swaywm/wlroots/issues/1623
cc @agx

Thanks!


<EMAIL_ADDRESS>- patch-package not found

I'm founding problems when trying to compile my project with the 1.13.5 version.
npm ERR! sh: 1: patch-package: not found

Same here
Exit code: 127
Command: patch-package

Duplicate of https://github.com/jashkenas/underscore/issues/2967

I just released 1.13.6, hopefully that fixes it. Please close if that is the case.


Missing text_to_speech_dataset.py in speecht5/data

In from speecht5.data.text_to_speech_dataset used here, it seems like a text_to_speech_dataset.py file is missing in the speecht5/data folder, like other similar files present in it

Hi,
Currently, we do not update the code for the text-to-speech task. So I delete the related code and it should be OK now.


Fix calling setline on wrong line in reindent

The code I wrote calls setline on the wrong line if a:start is different from lnum. Don't know how I missed that.

Good catch. Thanks!


https termination at nginx reverse proxy

Do you want to request a feature or report a bug? feature
What is the current behavior?
Forced http2 and https

What is the expected behavior?
Add parameter to run in production using http only. Node will be behind load balancer and reverse proxy where https will be appended. The browser will still receive a tls connection, there's just no need for tls in internal networks.
If this is a feature request, what is motivation or use case for changing the behavior?
Hosting inside a cluster
Appologies if this is already possible.

I was under the assumption that this package used SSR, but since it doens't there's no need to run node at all :man_shrugging:

So apparently it prerenders, but doesn't output any html files... only seemingly arbitrary json files?

Hey, by default we only prerender the index.html (/) route. If you want to do multiple, you have to specify the routes.

Just to clarify: It does output multiple HTML files, they're just placed within build/*. Similarly, nested routes' files are placed in sub-directories to easily accommodate static servers.
Lastly, here's an example using Preact CLI & Express for a runtime SSR solution.