Allow listing of directory contents

Proposed changes
I propose to add listing of directory contents for drivers. To allow flexibility, we should implement it using async iterators which  are natively supported from Node.js 10.x. But also to allow easy manipulation we should wrap async iterables and add some nice API for transforming the listing output and maybe allow extensions.
DirectoryListing class
To wrap listing and allow transformations of the output we are using the class DirectoryListing which:

implements AsyncIterable so it can be used directly using for-await-of loop
allows to pipe listing through series of transformation functions which takes current async iterable and returns one with transformed output
it is implementing some shortcut functions which are similar to array ones: filter and map
also it allows to use toArray() function to convert async iterable to array if we do not want to use for-await-of.
it is macroable and constructor is exposed on DriveManager instance as DirectoryListing to be extended from outside

DriveListItem interface
It is a type of items returned from driver listing. Currently it is specified as follows:
export interface DriveListItem<T = any> {
  /**
   * Location of list item on disk which can be used in driver methods
   */
  location: string

  /**
   * Flag to know if item represents file or directory
   */
  isFile: boolean

  /**
   * Original list item returned from underlying driver
   */
  original: T
}

Drivers can extend the interface and provide type for original or add additional properties:
export interface LocalDriveListItem extends DriveListItem<fsExtra.Dirent> {}

To prevent repeation I have introduced optional type parameter to DriverContract (it defaults to DriveListItem if not provided):
/**
 * Shape of the generic driver
 */
export interface DriverContract<T extends DriveListItem = DriveListItem> {
  /**
   * Return a listing directory iterator for given location.
   */
  list(location: string): DirectoryListingContract<this, T>
}

export interface LocalDriverContract extends DriverContract<LocalDriveListItem> {
  //
}

Driver list implementation
Disk driver needs to implement list(location: string): DirectoryListingContract<this, DriveListItem> function which returns instance of DirectoryListing class. It accepts to constructor instance of disk driver (this) and async generator function which yields entries in given location. Because generators cannot be arrow functions we use driver instance (this) so we can bind this inside generator function to it.
See example of implementation of LocalDriver (note that we are using this.adapter inside async generator):
public list(location: string): DirectoryListingContract<this, LocalDriveListItem> {
  return new DirectoryListing(this, async function* () {
    try {
      const dir = await this.adapter.opendir(this.makePath(location))

      for await (const dirent of dir) {
        yield {
          location: `${location}/${dirent.name}`.replace(/^\/+|\/+$/g, ''),
          isFile: dirent.isFile(),
          original: dirent,
        }
      }
    } catch (error) {
      throw CannotListDirectoryException.invoke(location, error)
    }
  })
}

Usage
Example usage of driver list function inside user code:
// listing files using for-await-of loop
for await (const item of driver.list('some/dir')) {
  console.log(item)
}

// get list as an array
const items = await driver.list('some/dir').toArray()

// filter only files and exclude directories
// (we can always call toArray to return result as array not as iterable)
for await (const item of driver.list('some/dir').filter((i) => i.isFile)) {
  console.log(item)
}

// get stats of every entry in directory
for await (const item of driver.list('some/dir').map((i, _, dr) => dr.getStats(i.location))) {
  console.log(item)
}

// pipe iterable to transformation function
// (filter and map are using pipe to add function to chain)
// here we are using it to do recursive listing of directory
async function* recursiveList(source) {
  for await (const item of source) {
    yield item

    if (!item.isFile) {
      yield* this.list(item.location).pipe(recursiveList)
    }
  }
}

for await (const item of driver.list('some/dir').pipe(recursiveList)) {
  console.log(item)
}

PathPrefixer
To solve problems with current implementation and centralize path manipulation we are introducing new class PathPrefixer which:

allows prefixing location with root path (or prefix)
always uses / as separator
normalizes location paths

absolute paths are no longer used as-is without prefixing them with disk root - instead they are treated as paths from the root - for example with root path /home/user using /some/directory/ as location has the same behaviour as some/directory and both resolves to path /home/user/some/directory not /some/directory/ in first case as before)
prevent path traversal beyond the root - throw Exception when passing location path like ../some/directory. Note that some/../directory is OK as it resolves to directory

is used to generate location paths for list items - even for cloud drivers just using empty '' prefix
allows us to introduce prefix config option for cloud providers to create disk where objects are always transparently prefixed with given prefix

Types of changes
What types of changes does your code introduce?
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)

BREAKING CHANGE: Other extending drivers implementing DriverContract now need to implement new
method list(location: string): DirectoryListingContract<this, DriveListItem>
BREAKING CHANGE: LocalDriver is now treating absolute paths differently and are always prefixed with disk root path to prevent accessing files beyond the disk root
Checklist

[x] I have read the CONTRIBUTING doc
[x] Lint and unit tests pass locally with my changes
[x] I have added tests that prove my fix is effective or that my feature works.
[ ] TODO: I have added necessary documentation (if appropriate)

TODO

[x] Solve problems with absolute paths and relative paths using .. (add path prefixer to resolve paths)
[x] Make DirectoryListing Macroable so it can be extended by users and packages
[x] Consider adding recursive transformer to DirectoryListing
[x] Write tests

Further comments
More description of further changes needed to related packages.
Implementaion of list for s3 and gcs
After we agree on the proposal of the API, merge PR, and release a prerelease version of @adonisjs/drive and @adonisjs/core, I will open a PRs for @adonisjs/drive-s3 and @adonisjs/drive-gcs for implementing list from changed DriverContract interface.
These cloud drivers are similar in concept of storing objects and not having traditional directories. But directories could be handled with prefixes of object keys and delimiter. Here is an example of implementation of list for s3 driver (not tested):
import { DirectoryListing, CannotListDirectoryException } from '@adonisjs/core/build/standalone'
import { ListObjectsV2Command, ListObjectsV2CommandInput } from '@aws-sdk/client-s3'
import type { DirectoryListingContract, DriveListItem } from '@ioc:Adonis/Core/Drive'

export class S3Driver implements S3DriverContract {
  //...
  public list(location: string): DirectoryListingContract<this, DriveListItem> {
    return new DirectoryListing(this, async function* () {
      const input: ListObjectsV2CommandInput = {
        Bucket: this.config.bucket,
        Prefix: location.replace(/^\/+|\/+$/g, '') + '/',
        Delimiter: '/'
      }

      while (true) {
        try {
          const response = await this.adapter.send(new ListObjectsV2Command(input))

          for (const file of response.Contents) {
            yield { isFile: true, location: file.Key }
          }

          for (const dir of response.CommonPrefixes) {
            yield { isFile: false, location: dir.Prefix }
          }

          if (!response.IsTruncated) {
            break
          }

          input.ContinuationToken = response.NextContinuationToken
        } catch (error) {
          throw CannotListDirectoryException.invoke(location, error)
        }
      }
    })
  }
}

Hey @Ruby184 . Great proposal
Can you also investigate and add the listing support to s3 and gcs?
I would want all the core drivers to have feature parity

Thanks @virk, sure I will add the support also to these drivers. I have added the section according to implementation at the end of the proposal (Implementaion of list for s3 and gcs). But we need to agree first on the shape of the API to be stable, and then we can extend existing drivers.

Looks good at the surface. I might share small modification once I try it in real.
One thing, what's the benefit of having original property?

I have added original so maybe extensions of DirectoryListing could use it for getting informations that are returned from the underlying driver which are not available on DriveListItem and do not have to make another request maybe for s3 where the metadata are returned for given objects. But we can drop it and every driver will just add the properties to extended DriveListItem.

Okay, So I have been through the PR for the most part. Some bits looks complicated to me (because my understand of iterables is limited)
Whenever things looks complicated to me, I try to question the use case we are trying to serve. So let's do that in this case as well.

For me the primary reason for having the list function is to allow listing all the files inside a given directory.
Depending upon the use case, I might want the listing to be recursive as well.
Optionally, I might want to filter and only pick files of a given type. Like only .json files.
And finally, I think we are using iterables because of the performance. Instead of fetching everything at once and keep it as a Buffer in the memory, we are using iterables to render the first batch of files and then fetch the next set of files by calling the next function.

Are my assumptions correct?

Cool. Thanks for the answers.
So what I am thinking is when exactly am I going to use iterables? If I am creating a JSON API, I will have to anyways collect the tree inside the buffer and then send it as response. Same is the case when rendering the tree inside edge templates

Yeah, you are right. The main use case for iterables is to perform operations on the files, for example you want to delete all the files in the directory.
for await (const item of driver.list('some/dir').recursive())) {
  await driver.delete(item.location)
}

Yeah, you are right. The main use case for iterables is to perform operations on the files, for example you want to delete all the files in the directory (or maybe move all files to other location etc.)

Yup, that was the thing I was missing. Totally makes sense.
Now, how should we approach with the same API for s3 and gcs. Does their SDKs provides everything we need?

You can have a look at what we did in flydrive:
https://github.com/Slynova-Org/flydrive/blob/a50f9c6d3ce99732b56c6094bcf2595e44a305c1/packages/flydrive-gcs/src/GoogleCloudStorage.ts#L231
https://github.com/Slynova-Org/flydrive/blob/a50f9c6d3ce99732b56c6094bcf2595e44a305c1/packages/flydrive-s3/src/AmazonWebServicesS3Storage.ts#L231

As I have mentioned in the proposal, s3 is good and also looked into gcs and we should be able to make a list also with "directories" using apiResponse.prefixes as it is shown here:
https://github.com/googleapis/nodejs-storage/blob/21cbce0459f82a4ad7b7741611cc97c9c3d8a6ca/src/bucket.ts#L2470-L2504

@Ruby184 Thanks for being patient :)
The PR looks good to me. So let's merge it. A couple of questions before I hit the merge button

Can we just remove the Macroable from the DirectoryListing class. I don't see any immediate use case for extending this class. So I will wait for the moment to arrive and then make it macroable
How should we deal with the breaking change we will introduce by making DriverContract to accept generics and the list method

Can we just remove the Macroable from the DirectoryListing class. I don't see any immediate use case for extending this class. So I will wait for the moment to arrive and then make it macroable

I like the idea the developers could add the methods what they consider as needed, for example mentioned glob or just other shortcuts but If you are not keen of that feel free to remove it.

How should we deal with the breaking change we will introduce by making DriverContract to accept generics and the list method

I think we should handle it by releasing the major version of the package as Semantic Versioning recommends for such changes.

I'm not sure it's a breaking change. The generic has a default value.

I'm not sure it's a breaking change. The generic has a default value.

Yeah this one is not a breaking change and should be BC but there are 2 other breaking changes:
BREAKING CHANGE: Other extending drivers implementing DriverContract now need to implement new
method list(location: string): DirectoryListingContract<this, DriveListItem>
BREAKING CHANGE: LocalDriver is now treating absolute paths differently and are always prefixed with disk root path to prevent accessing files beyond the disk root

BREAKING CHANGE: Other extending drivers implementing DriverContract now need to implement new
method list(location: string): DirectoryListingContract<this, DriveListItem>

We can make it non-breaking by making the method optional (the default implementation could throw an error).

BREAKING CHANGE: LocalDriver is now treating absolute paths differently and are always prefixed with disk root path to prevent accessing files beyond the disk root

We could argue that this is a security fix and as such may be breaking in a patch/minor release.

We can make it non-breaking by making the method optional (the default implementation could throw an error).

Yes, but I do not think it is a good idea as we cannot add default implementation which will throw error to extended drivers outside the core because use returns an instance of the driver directly. And by making it optional, users would always need to check for existence or access it with ! like this driver.list!('some/dir'). And later we will need to make it required, so in my opinion we will just delay the change for no added benefit. Are there any disadvantages of releasing it as major version?

We could argue that this is a security fix and as such may be breaking in a patch/minor release.

Yeah, I agree with that this is considered as security fix. And I do not expect people were using absolute paths with these methods when using local driver.

Are there any disadvantages of releasing it as major version?

The package is part of adonisjs/core. I don't know how often @thetutlage intents to make major releases of the core, but as a general thought: it would be unfortunate to require major releases when a new API is added (this new method doesn't make old code throw or change behavior).

The absolute paths one is a bug fix and usually bug fix breaks existing code, since the old behavior was unexpected.
Also, I agree with @targos here, this is just a breaking change for other packages relying on Drive base interface and not the end user code. So, I will prefer not making a breaking change.
So, to conclude. Let's make the list method optional.

Yeah, sure, I got it. Actually I have got an idea, let me try to make some changes. I think I can make it optional and prevent the need of checking for existence in user code when using core drivers

@thetutlage @targos All should be good and ready to merge.

All looks good to me. One final thing, can we have tests for other listing methods as well? Like pipe, map and filter?

@thetutlage I have added the tests you wanted :)

Looks all good to me and I am ready to merge. What you think @targos ?

Sorry I don't have time to look at it again. I trust your judgment 👍

@Ruby184 Thanks a ton for taking the time to create this PR and also showing patience with all the back and forth we had. 🎉

Good evening everyone, really sorry if this is not where I have to express my concern. Indeed, I had to use the list functionality on Drive.use('s3').list!('images').toArray(),
it gives me the following error:
"message": "Drive_1.default.use(...)).list is not a function",
when I use it with local, there is no problem, but with s3 it does not work

Hello @Akpagni5547, implementation for s3 and gcs is not ready yet, so list method does not exist for the drivers. I am working on it and should be available in the following days. Thanks for being patient.


killed error

Hi, I was trying to use NucFreq as such:
python3 /gpfs01/home/mbars7/NucFreq/NucPlot.py -w 32 sorted_nosecondary_hifi.bam hap1_nucfreq.png
And I have an error which simply says killed, but I'm not sure why this error happened:
Using a font-size of 16
Packages loaded
Reading the whole bam becuase no region or bed argument was made.
Killed
Do I need to include a Bed file for this?
Any advice would be great, thank you! :)

Killed is most commonly an out of memory error from your computer. If this is indeed the case passing a bed file with a subset of regions is likely to help.

Hi, thank you for the reply, It seems that I do have memory on my hpc, which is weird that it came up with a killed error. How much memory does it usually take? But having passed a bed file with only two regions, I now keep getting this error:
python3 /gpfs01/home/mbars7/NucFreq/NucPlot.py -w 32 sorted_nosecondary_hifi.bam --bed firsthap_reg2.bed hap3_reg2_nucfreq.png
Using a font-size of 16
Packages loaded
Reading in the region or bed argument(s).
Reading in NucFreq from region: RL_1:1000000-2000000
Reading in NucFreq from region: RL_1:3000000-4000000
Plotting 2 regions in hap3_reg2_nucfreq.png
RL_1:1000000-1999999
/gpfs01/home/mbars7/NucFreq/NucPlot.py:402: UserWarning: FixedFormatter should only be used together with FixedLocator
ax.set_xticklabels(xlabels)
RL_1:3000000-3999999
I noticed in the python script, that it's commented
# Including this causes some internal bug in matplotlib when the font-size changes
# ylabels = [format(label, ",.0f") for label in ax.get_yticks()]
# ax.set_yticklabels(ylabels)
ax.set_xticklabels(xlabels)
Should I just remove this section?
Thank you!


Warning caused by old CardIO

General information

SDK/Library version: 5.4.1
iOS Version and Device: 11.x
Integration type and version: Manual

Issue description
We're seeing this warning along side the GoogleMaps SDKs:
ld: warning: Some object files have incompatible Objective-C category definitions. Some category metadata may be lost. All files containing Objective-C categories should be built using the same compiler.

Unfortunately the version of their that reproduces the issue is not public. We're trying to narrow this down, and we're assuming it's possibly caused by the version of Xcode the newest version of CardIO was compiled with (we've been told by Google they're building the SDK that reproduces this with Xcode 9.3.1).
Is there any way you could provide binaries built with a newer version of Xcode to help us test that theory?

@keith You can clone the source repository and build it yourself. The repo also has a very detailed release process that you can follow to create an unofficial release.

We are using CardIO (5.3.2) installed through CocoaPods and seeing same warning.
Based on the way of finding which static lib was build with a too old Xcode described here, it suggests that libCardIO.a was built with an old version of Xcode which didn't support HasCategoryClassProperties which triggers this warning.
Would love to resolve that warning :)

You can build CardIO yourself to workaround this, the source can be found here https://github.com/card-io/card.io-iOS-source

Thanks Keith!


Set multiple pins at once?

Is it possible to set multiple pins at once, through something like GPIO register masking or a multiple set/multiple clear register? It sounds like the Python interface can set or clear multiple simultaneously. I am trying to write my own HUB75 driver, and it would be nice to be able to set and clear all 6 bits (R0, R1, G0, G1, B1, and B2) in a single write.

Thanks for the suggestion! While RPPAL doesn't currently provide that functionality, It would technically be possible to combine register writes for multiple pins. I can imagine a batch_write function (and possibly a batch_read) that takes a list of OutputPins and states, and combines those into fewer writes.
The BCM2711 uses 4 registers to set/clear pin states (GPSET0, GPSET1, GPCLR0, GPCLR1). In the worst case scenario you'd go from writing 6 32-bit values to 4 (possibly as a single 128-bit write), plus the overhead (either in the library or the end-user code) of sorting through the list of pins. I think it's worth implementing as a convenience function for parallel interfaces, with any performance gains as a bonus.
I'll put this on the list of requested changes and see if we can get it into a future update.

Thanks for considering it. I'm actually getting pretty acceptable performance from what I can tell (though I don't have a logic analyzer at home for my hobby projects) setting them one at a time. If it's just a convenience function, I can just write a wrapper that takes an array of pins. In hindsight, trying to set them via the set/clear registers potentially adds a lot of support work since it might be unique to each Raspberry PI SOC.


Compare 0021 data at Re=3.6e5

Technically the Jacobs data is at Re=3.8e5, but the results are very similar as at 1.6e5:

This may not be necessary, since 1.6e5 comparisons pretty much hammer the point home: The Sheldahl dataset is no good at this Re!


Wide tips (without explcit width) near the edge of the page aren't positioned correctly

A wide tip placed near the edge of the page is sometimes offset from its correct position.
Setting a width in CSS seems to resolve this, but it would be nice if flexible sized tips worked.

I fixed my offset problem on the right/left side of the page by changing the direction_n function
   function direction_n() {
      var bbox = getScreenBBox()
      // check if the tooltip will go overflow right side of the page
      var screenRect = document.body.getBoundingClientRect()
      if (bbox.n.x + node.offsetWidth/2 > screenRect.width) {
          diff = ( bbox.n.x + node.offsetWidth/2 ) - screenRect.width
          return {
            top:  bbox.n.y - node.offsetHeight,
            left: bbox.n.x - node.offsetWidth / 2 - diff
          }
      }
      // check if the tooltip will go overflow left side of the page
      if (bbox.n.x - node.offsetWidth/2 < 0) {
          diff = node.offsetWidth/2 - bbox.n.x
          return {
            top:  bbox.n.y - node.offsetHeight,
            left: bbox.n.x - node.offsetWidth / 2 + diff
          }
      }
      return {
        top:  bbox.n.y - node.offsetHeight,
        left: bbox.n.x - node.offsetWidth / 2
      }
    }

You're a saint, @Lozzi! works very well for me.

@speedymcs Thank you! That's because I added the little triangle as a span in the nodes children to be able to do the calculations there.
tip.show = function() {
      var args = Array.prototype.slice.call(arguments)
      if(args[args.length - 1] instanceof SVGElement) target = args.pop()

      var content = html.apply(this, args),
          poffset = offset.apply(this, args),
          dir     = direction.apply(this, args),
          nodel   = getNodeEl(),
          i       = directions.length,
          coords,
          scrollTop  = document.documentElement.scrollTop || document.body.scrollTop,
          scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft
      // The span is the triangle
      nodel.html(content + '')
        .style({ opacity: 1, 'pointer-events': 'all', display: 'block' })

      while(i--) nodel.classed(directions[i], false)
      coords = direction_callbacks.get(dir).apply(this)
      nodel.classed(dir, true).style({
        top: (coords.top +  poffset[0]) + scrollTop + 'px',
        left: (coords.left + poffset[1]) + scrollLeft + 'px'
      })

      return tip
    }

And also changed it from opacity: 1 to display: 'block' and  opacity: 0 to display: 'none' since if you open a tip and resize your window it will overflow. Hope this helps :)

Ok I'm fairly new to web stuff.. where exactly do you add the triangle now? Somewhere in your css file?

nodel.html(content + '')
        .style({ opacity: 1, 'pointer-events': 'all', display: 'block' })

It's done there, in the node.html() in tip.show = function ().
Then this is the CSS I'm using for it:
d3-tip__pin {
  position: absolute;
  bottom: -9px;
  left: 50%;
  display: inline-block;
  width: 0;
  height: 0;
  margin: -11.5px;
  margin-bottom: -1px;
  box-sizing: border-box;
  border: 0 solid transparent;
  border-width: 11px 14px;
  border-top-color: #fff;
  border-bottom-width: 0;
  z-index: 1000000;
}

So by default the left of the triangle is 50% but gets overwritten in the element style if the d3-tip would go out of bounds: node.children[node.children.length - 1].style.left = (node.offsetWidth / 2 + diff) in the function direction_n()
Hope this helps :+1:

Thanks for the reply! So I've copied your updated function direction_n() as well as the tip.show = function() and added the CSS code. Bbut there's still no triangle.. I don't see the actual triangle symbol anywhere in the code either, I mean the original CSS for the tooltip contained this line: content: "\25BC";. I've tried adding it like this: nodel.html(content + '\u25BC') but that makes the triangle appear in the tooltip.
Maybe you have an idea what could be missing on my side?

The arrow pointing down is drawn with the border of the span. By having borer-width: 11px 14px; and putting the bottom width to 0 so that i makes a triangle, you shouldn't need any content in the span. Here's a little fiddle.
https://jsfiddle.net/xptup3uc/2/

Ok. After comparing every value in the fiddle with my code and more clueless debugging, I finally noticed that my CSS class was missing the dot in front.  However it was your fiddle that made me notice and you gave me and hopefully others in the future insight into code.. thank you so much! It really should be added to the repository!

Glad I could help! :+1:

Triaging issues.  Thanks for the report!  This is a known issue and should be addressed as part of https://github.com/Caged/d3-tip/issues/8


Update README.md

I updated png badges with svg ones because those blurry images are hurting my eyes.

👍
Thanks


Add storegmail.com

storegmail.com is good temp mail service with gmail address

Interesting... how does this work exactly? I assume they just created a bunch of Google accounts and add random dots in the address prefix? Happy to add this if I can be sure it's not harvesting hacked Google accounts for reuse or anything

Looks like it's been taken down.

Replaced with https://smailpro.com/ I think.


Link for rustc --explain E\d+

The compiler helpfully provides explanations for most errors.  Turning this text into a link to the relevant text would be helpful.
I don't know where this text is online; at worst, you can run rustc, but that seems wasteful.

This is already present earlier in the compilation message:

I'd accept a PR to apply the same logic to the --explain line. It would be good to test it with multiple error types.

Or we could even use cargo-explain.


Mednafen <IP_ADDRESS>

updated to 0.9.38
Fixes some issues like netplay on PS1
Needs to use coreutills and builtin gcc or the complied app will throw test errors.

Failing to build on Mountain Lion:
../../include/mednafen/types.h:20:10: fatal error: 'type_traits' file not found
#include <type_traits>
         ^
1 error generated.

See http://bot.brew.sh/job/Homebrew Games Pull Requests/354/version=mountain_lion/testReport/junit/brew-test-bot/mountain_lion/install_Homebrew_games_mednafen/
Then various audit warnings:
        Error: 8 problems in 1 formula
homebrew/games/mednafen:
 * 21: Trailing whitespace was found
 * Use "#{ENV.cc}" instead of hard-coding "gcc"
 * Use "#{ENV.cc}" instead of hard-coding "gcc"
 * Use "#{ENV.cxx}" instead of hard-coding "g++"
 * Use "#{ENV.cxx}" instead of hard-coding "g++"
 * 30: Trailing whitespace was found
 * 32: Trailing whitespace was found
 * Use spaces instead of tabs for indentation

Just out of curiosity, can fails_with :clang still force using GCC on recent OSes no longer bundled with GCC? If so, it'd be nice to help building mednafen, since I was also long waiting for clang fix on this particular issue, but saw it's not going to happen anytime soon.

require GCC and build it

On 12 Elul 5775, at 20:45, Kyungdahm Yun<EMAIL_ADDRESS>wrote:
Just out of curiosity, can fails_with :clang still force using GCC on recent OSes no longer bundled with GCC? If so, it'd be nice to help building mednafen, since I was also long waiting for clang fix on this particular issue http://llvm.org/bugs/show_bug.cgi?id=15470, but saw it's not going to happen anytime soon.
—
Reply to this email directly or view it on GitHub https://github.com/Homebrew/homebrew-games/pull/330#issuecomment-135504391.

Merged the newer mednafen; thanks!


[providers][s]: make sure user with multiple emails on github is identified as one - fixes #31

Coverage decreased (-0.3%) to 74.339% when pulling 154cd58fc590962fc00b30da4537875e316adcf2 on fix/git-multiple-emails into bb28aea00b04e60fcc12ac7cecd2e324c6e5dc20 on master.

Looks good.


predict from pb file

Hi There.
Have you got some sample code to predict from the pb model using the coco sample h5?

Please refer this. #5


Added upsert tests

Re-used the acctUpsert tests with doRequest
Added test for successful upsert

This change is

Coverage remained the same at 93.284% when pulling 3952b62af06affa62a02580547dfe378a4aa85e1 on prashant/more-tests into c2edddc187f02ac2940833703a92843464791f56 on master.


Prevent non-lowercase client names

We're using Azure storage blob containers under the hood to map clients to their state. Containers are created as lower-case so the client names should also be lower-case.

Codecov Report

Merging #128 into master will increase coverage by 0.04%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #128      +/-   ##
==========================================
+ Coverage   91.71%   91.75%   +0.04%
==========================================
  Files          22       23       +1
  Lines         929      934       +5
==========================================
+ Hits          852      857       +5
  Misses         77       77

Impacted Files
Coverage Δ

opwen_email_server/utils/string.py
100% <100%> (ø)

opwen_email_server/actions.py
95.4% <100%> (+0.07%)
:arrow_up:

Continue to review full report at Codecov.

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


[BUG] The style button dropdown opening is not according to the posttion of the button in web

Describe the bug
A clear and concise description of what the bug is. When clicked on Style button which changes the text type from normal to code type or to different types of headings, the dropdown that is being opened is getting opened at the top left side of the screen instead of opening at the place it should be (At the position where the dropdown is present).
To Reproduce
Steps to reproduce the behavior:

Go to ' Html editor toolbar'
Click on 'Style button which is a dropdown showing Normal as the default selection.'
Scroll down to ''
See error While the dropdown value is selected to Normal or code the dropdown position is on top left side of the screen. Apart from these two options when selected another option the dropdown position is according to the button placement.

Expected behavior
By clicking on the style dropdown the dropdown should appear on the place where it was clicked.

Screenshots

Device:
Add device details here.
Additional context
Add any other context about the problem here.

Here in this screenshot the dropdown is working fine as it is opening at the right place. But, if you observe the above 2 pictures attached on selection of those values the dropdown is not in the correct place.


 I did not know that. Thanks for showing me!

looks like i got another problem now. somehow i cant even add keyboards or mouses as input devices. they just dont exist in the list.

i guess i encountered a bigger problem now. although i installed interception now, it wont recognize my mouse in the UCR list of input devices.
besides, i have to use fireshock + shibari since it is a dualshock 3 controller. wont UCR recognize that? it only looks for bigembus devices, but i want it to look for the end-output device through shibari.


Comment classification initially only colorizes identifiers, causes flashing

Consider the following code
function checkObjectLiteral(node: ObjectLiteral, contextualMapper?: TypeMapper): Type {
    // ...snip ...
}

If you open up a multiline comment on the line above, only checkObjectLiteral, node, and contextualMapper are colorized.

This is fixed in the Visual Studio component


Reading doesn't account for deletion

When reading, it appears that doing nothing actually means no change to terraform. So in the case that we don't find a value, we should explicitly set it to null.
┆Issue is synchronized with this Jira Task by Unito

Fixed in #139


network(dm): metering network usage from lightning and dumpling

What problem does this PR solve?

Issue Number: close #7933
What is changed and how it works?

move TCPConnWithCounter to TiDB
pass io counter pointer to dumpling/lightning

Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)
No code

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
`None`.

/run-engine-integration-test
/run-dm-integration-test

/run-engine-integration-test /tidb=release-6.5

do we need to meter syncer's binlog reading connection?

Yes. The network consumption is from the upstream, which is probably connected by private link or vpc peering.

/run-engine-integration-test
/run-dm-integration-test
/run-verify

/run-engine-integration-test

/run-engine-integration-test

/run-verify
/run-engine-integration-test

/run-verify
/run-engine-integration-test

/run-verify
/run-dm-integration-test

/run-verify

/merge

/run-engine-integration-test

/merge

/merge

/hold
impl in another pr #7954

should this pr close? @buchuitoudegou

/close


move db onto lorentz

The momentum and gecko momentum apis should not have to connect to a different sql server. lorentz already has PG installed and all connections should stay local to reduce interdependencies of servers
Done when:

[ ] lorentz no longer calls the sql server for anything
[ ] the sql server is no longer whitelisting lorentz incoming connections

Closing as wont' ship.


Error running script

`Project name: Wordpress Dashboard
Project type: react
Enter a name for the GitHub repository: wordpress-dashboard
401 {'message': 'Must specify two-factor authentication OTP code.', 'documentation_url': 'https://developer.github.com/v3/auth#working-with-two-factor-authentication'}
Something went wrong when creating the GitHub repo. See above for more details.`
I have included my username and password in the script.config

Do you have 2FA turned on for your account?

I do. It is required by the organization I work for

Do you mind if I close this and create a new issue with a more specific title? We will get this authentication error fixed; we will just have to prompt for a 2FA code, which we currently do not support

Reopening issues so that we can directly notify @webface when the issue has been resolved


'meteorhacks:kadira' deps on 'meteorhacks/meteorx'

im trying to upgrade our app to 1.9alpha5
any replacement for self hosting kadira
after install lamhieu:unblock, i still got meteorhacks/meteorx undefined error

I suggest for you 2 way resolve this problem:

Use new package like meteorhacks:kadira, you can use at DEPENDANTS list here. I recommend this way.
Use local packages. In your applications:

Create packages folder at the root
Clone this repo to packages folder and go to meteorx folder after cloned
Open package.js file and change name: "lamhieu:meteorx" to name: "meteorhacks/meteorx"
Re-install your application.

If the problem was resolved, I'd close this issue!


Dynamically varying the polling frequency

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Thank you to all contributors of this incredible project! My understanding is that (when not waiting for the car to sleep) the polling mechanism is used every 15 seconds, regardless of whether the streaming API is connected or not.  I am not able to change the 15 second frequency, such as via Home Assistant using the Home Assistant TeslaMate Integration.
Expected Behavior
I would like to reduce the polling frequency (e.g., to every 30 seconds) when the vehicle is not within .5 miles of my home, as the accuracy of logged data is not critical in those instances.  However, when the vehicle is within .5 miles of my home, I would like to increase the frequency (e.g., to every 7 seconds) to get more reliable location data, as the streaming API frequently does not work.  Any way to do this?
Steps To Reproduce
No response
Relevant log output
N/A

Screenshots
Here is an example of when the streaming API does not work after the vehicle has stopped for 10minutes (between 21:10 and 21:20) and the polling mechanism is used for at least the next 10 minutes (between 21:20 and 21:30).

Additional data
No response
Type of installation
Docker
Version
v1.28.3

Increasing polling will result in too many requests to Tesla Servers and no data will be available.

Thanks for the feedback.  Sounds like this is something that has been considered in the past and intentionally not implemented.  I will close this out.


[release/1.0] Make sure exec process is killed when context is canceled.

Cherrypick https://github.com/containerd/cri/pull/1156 into release/1.0
I think this is the only pre-August thing we need to backport from the commits https://github.com/containerd/cri/commits/release/1.2
Signed-off-by: Lantao Liu<EMAIL_ADDRESS>

Apply lgtm label based on https://github.com/containerd/cri/pull/1301#pullrequestreview-293966311


WIP: Add new verbose mode

Add new command line argument "--verbose"

Change the log level to INFO in verbose and DEBUG in "--debug"

Can one of the admins verify this patch?

@asilveir Please rebase and fix the conflicts. The docstrings have been fixed in the master branch.

@asilveir Please rebase and fix the conflicts. The docstrings have been fixed in the master branch.

@vinzenz done, thank you!


Improve Demo documentation and compose file

Fix missing dependency on presto container for Genie
Improve demo instructions by providing more links, filling in Presto information, fixing the number of images/containers that come up, better highlight specific items, etc

Coverage remained the same at 92.924% when pulling aa5bdab79d60445df51e73dc6f6d9f52d4a69484 on tgianos:improveDemoDocs into d13f84ecd04f052705c180ee48b5fa8d14d8497b on Netflix:master.


rPackages.pbdSLAP: trying to fix build

Description of changes
Trying to fix this one: it tries to run MPI processes during check, so I've added it to the list of packages for which the check should be skipped, like pbdMPI. However, it doesn't seem to work. What am I missing?
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

The problem here is that it initializes MPI in zzz.r on load, so it fails the load check (which you can't disable). This is difficult to work around without extensive patching.


Fix for SNAP-1221

Store side changes for SNAP-1221. Refer toPR https://github.com/SnappyDataInc/snappydata/pull/620 for description
Patch testing
ReleaseNotes changes
(Does this change require an entry in ReleaseNotes? If yes, has it been added to it?)
Other PRs
https://github.com/SnappyDataInc/snappydata/pull/620

These changes are not needed


Animated.event now requires a second argument for options , which leads to the second error useNativeDriver was not specified.

Any solutions? The modal view seems to be getting duplicated on visible event. and the useNativeDriver error comes from the duplicated modal. ( I figured this out because I use a video player inside the modal and the video is getting played twice. The sounds are overlapping )

@Kasun-thilina  i suggest using react-native-modal that is much more easier to setup


Deprecate use of deploy.json in favor of config/deploy.js. Closes #51

introduces a deprecate util
provides the ConfigurationReader with the ui instance
improves error message when config file is missing
changes default value for --deploy-config-file option
updates README

do I remember us saying we will eventually also support per-env files?

code looks great to me. What's customary here, should I actually pull down and try it? Or are the tests supposed to handle the behavior?

I believe it was agreed in one of the issues that we'd just have a single deploy.js file @samselikoff .

@samselikoff - issue #46 has some comments regarding per env configs.
Regarding what is customary - I do what is necessary for me to be comfortable :+1:  the PR. Sometimes I pull down code to verify and probe around some use cases I'm unsure are handled. Usually however, I'm good to read through the code and don't need to pull it down and review.

Tests should handle it. We should have a manual smoke test as part of our release process.
If we make a mistake, we will fix or revert.
Someone go ahead and press the big green button.

:+1: - I can't press the big green button but it looks good to me

@danshultz just invited you to the team

Thanks PR merged


Added max results support

moved over to python3, make the search function return image urls and made the search function limit the number of urls returned

imo it is better to keep the change to minimal
notes:

keep the whitespace for now, even if it doesn't pass flake8
keep keywords variable
keep printJson function
maybe do different method based on the max_results variable. if user don't give any max_inputs value, use the old method, if it is given, use the new one

see other note that i put on code


Fixed compatibility with newer Pillow version

See https://github.com/grantmcconnaughey/django-avatar/issues/153

Broke some tests. Need more code.


[build] fix error on 2nd configure for PHP extension on Windows

f you run the configure command on Windows multiple times without clearing the build directory the second and following fail with a

Microsoft JScript runtime error: File already exists

This PR adds a JScript function to check if the build directories have already been created  before performing FSO.CreateFolder()
I ran into this when building php_grpc.dll for PHP 8.2. See https://github.com/phalcon/cphalcon/issues/16318#issuecomment-1592534432 for the request and the result.
Note: I created this PR for the current git head. If other PR's are merged that change config.w32 there is a chance that merging fails. Please edit the PR if that happens.

@drfloob New PR replacing https://github.com/grpc/grpc/pull/33477 with a correct title.
I cannot add labels or assignees, so this is all I can do.

This is PHP-specific. @stanley-cheung can you take a look?

Outdated


[Chore][Api][Portal] Create isomorphic library with models and business logic

Models and they typings are shared between API and Portal, so we should extract them into a seperate package (as we're using a workspaces monorepo) and include also shared business logic, like price calculation.

[ ] Create package common
[ ] Extract models types into this package and use them in API/Portal
[ ] Extract common business logic and use it in API/Portal

Won't implement due to lack of time.


download_folder can return False which is not documented

Provide environment information
Python 3.8.2
gdown: main
What OS are you using?
Windows 10
Describe the Bug
The return type of download_folder is documented as:
filenames: list of str
        List of files downloaded, or None if failed.

Ignoring that the stated type (list of str) and the documentation disagree, the documented type (list[str] | None) is not correct. The function can also return False via this code path.
Btw. the variable return_code isn't actually a return code, but a bool that describes whether gdrive_file is None.
Expected Behavior
Do what the docs say.
To Reproduce
No response

@RunDevelopment Yeah, I've just noticed this bug while working on this PR: https://github.com/wkentaro/gdown/pull/317/files#diff-d7515ef115e0aa06e22e4982677823eea6feba7594ba740388219f6206880484R277.
It's merged to main, and will be fixed in the next release.


Error component

There's no great way of dealing with errors in the UI Kit right now. It would be awesome to just import an error component and get a nice error page. It should deal with common error automatically and let me override styles like error code, title, message, and maybe a picture. Have it deal with common 400 and 500 errors be default.

Added in 0.0.9


how to call isValidJalaaliDate in typescript?

I'm using type script, i understand that i can't use isValid for persian datetimes, so after some search i found another topic right here, that pointed that i need to call isValidJalaaliDate. after looking inside the typing script of jalali date, i found that it used require. that's where i don't know how to import. :|

I don't have any experience with TypeScript.
@alitaheri Can you help us here?

@deadmann If you're using typescript version > 2.0 then you can install the typings:
npm install @types/moment-jalaali
However, isValidJalaaliDate is not in moment-jalaali it's located in jalaali-js. You can follow in my footsteps and make a PR in DefinitelyTyped repo like I did and add the API for the jalaali-js repo so that the following code would work:
import { isValidJalaaliDate } from 'jalaali-js';
isValidJalaaliDate(1395, 12, 30); // true

i did this, but i didn't knew import { isValidJalaaliDate } from 'jalaali-js';...
so i need to find the code in that post... there are lot of change sets, but is there actual code that i should use? or u mean i should use this typings "jalaali-js" instead of this "moment-jalaali"?

@alitaheri Can you please help here?

@deadmann you should install jalaali-js separately.
npm install --save jalaali-js
you can use it like this:
import { isValidJalaaliDate } from 'jalaali-js';
isValidJalaaliDate(1395, 12, 30); // true

And if you see typescript complaining you can ( probably because of having noImplicitAny on ) you can do this:

const { isValidJalaaliDate } = require('jalaali-js');
isValidJalaaliDate(1395, 12, 30); // true

i'm tired of this... i send a date time, and i get something else, if i send the same thing back, it will fail and is three day off
if i some how hack and hardcode the date i desire, then the timezone fail although it show same date in server... if i send .... i tried many ways.... i start hating dates, and i gonna replace it all with string soon, yeah i loss comparision ability, but man, date is s***

@deadmann I've published the types for my use case. As soon as this PR is merged you can use typescript too:
npm install @types/jalaali-js
then:
import { isValidJalaaliDate } from 'jalaali-js';
isValidJalaaliDate(1395, 12, 30); // true

cc @behrang

Great. Thanks.


WIP: Simplify Build

What Changed:

TBD

Limitations:

TBD

Changes:

Make use of pathlib.Path in make.py for path operations (readability). Fixed the file not found issue, triggered by not creating the dist/ directory prior to creating the spreadsheet output files.
Had to change the test suite to accomodate the pathlib change, file not found error, and other areas that were incomplete like expecting the actual loaded JSON files vs the path to the file.


riscv/arch_elf.c: Handle PCREL_HI20/LO12_I/S relocations correctly

Summary
There is a problem with the current elf loader for risc-v: when a pair of PCREL_HI20 / LO12 relocations are encountered, it is assumed that these will follow each other immediately, as follows:
label:
auipc      a0, %pcrel_hi(symbol)    // R_RISCV_PCREL_HI20
load/store a0, %pcrel_lo(label)(a0) // R_RISCV_PCREL_LO12_I/S
With this assumption, the hi/lo relocations are both done when a hi20 relocation entry is encountered, first to the current instruction (addr) and to the next instruction (addr + 4).
However, this assumption is wrong. There is nothing in the elf relocation specification[1] that mandates this. Thus, the hi/lo relocation always needs to first fixup the hi-part, and when the lo-part is encountered, it needs to find the corresponding hi relocation entry, via the given "label". This necessitates (re-)visiting the relocation entries for the current section as well as looking for "label" in the symbol table.
The NuttX elf loader does not allow such operations to be done in the machine specific part, so this patch fixes the relocation issue by introducing an architecture specific cache for the hi20 relocation and symbol table entries. When a lo12 relocation is encountered, the cache can be consulted to find the hi20 part.
[1] https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc
Impact
Fix elf loader for risc-v
Testing
qemu-rv:knsh64

One example where the current elf linker fails:
https://github.com/apache/nuttx/blob/bffe858e47a15e7f2b7fb7a3e61569afe0f77d05/libs/libc/machine/risc-v/gnu/arch_memset.S#L59-L64

I made this PR into a draft to get comments before I fix the build errors (up_relocate[add] points to many places). @xiaoxiang781216 or @masayuki2009 can you take a look please ?

Not sure if this is related, but recently I faced an issue of relocation truncation (with static linking of course) for RV64 arch when referenced symbol address had "sign bit" set (0x80000000 bit set), so RV64 compiler populates the sign bit and address starts looking 0xffffffff80000000. To overcome this I had to use a trick of masking sign bit from symbol label at compile time and then adding assembly instructions to restore it back after %pcrel_hi(symbol-0x80000000) value loaded to the register.
Sorry for spamming here, but I spent fair amount of time to actually understand this non-logical behaviour of RV64 ISA that does not have instruction to say that I want to load %pcrel_hi(symbol) value as unsigned.

Not sure if this is related, but recently I faced an issue of relocation truncation (with static linking of course) for RV64 arch when referenced symbol address had "sign bit" set (0x80000000 bit set), so RV64 compiler populates the sign bit and address starts looking 0xffffffff80000000. To overcome this I had to use a trick of masking sign bit from symbol label at compile time and then adding assembly instructions to restore it back after %pcrel_hi(symbol-0x80000000) value loaded to the register. Sorry for spamming here, but I spent fair amount of time to actually understand this non-logical behaviour of RV64 ISA that does not have instruction to say that I want to load %pcrel_hi(symbol) value as unsigned.

The compiler is mandated to do sign extension for short addresses. It is a valid address, it being negative should not have any impact.
This is not really related to this PR. Like I described, the hi/lo relocations must be done in pairs. The current implementation assumes that the hi/lo relocations follow each other as two contiguous instructions. This assumption is wrong, and thus when a pcrel_lo relocation is encountered, the matching pcrel_hi must be found from the relocation entries, and it is found via the symbol "label".
This is why they have the form:
label:
auipc a0, %pcrel_hi(symbol) // R_RISCV_PCREL_HI20
/* Whatever goes here */
load/store a0, %pcrel_lo(label)(a0) // R_RISCV_PCREL_LO12_I/S

Having the label: is not optional, it is mandatory, otherwise the pcrel_hi part cannot be found by the linker!


Using Dart's ArgParser to parse arguments

Fixes #12

Hey @snwagbata, I was wondering if this PR is still a draft? 🤔

@x64Eddie I've kept it a draft as I don't understand the arguments, -url, -key, and -SKey that parabeac.dart takes. I asked a question about that on the discord

Hey @x64Eddie, the PR is open now


[WIP] Release patch release 1.1.1 with faster CPU performance

Port CPU performance improvement #5720
Bump version to 1.1.1

Closes #5666
@trivialfis @SmirnovEgorRu @ShvetsKS The CI system will momentarily produce a wheel file. I will post the link once it's available. You should be able to try it and check for performance improvement.

Here is the new wheel:https://s3-us-west-2.amazonaws.com/xgboost-nightly-builds/PR-5732/xgboost-1.1.1%2B39744a4c113c73b49e9a02e4a86c917609c50b2e-py3-none-manylinux2010_x86_64.whl

Codecov Report

Merging #5732 into release_1.1.0 will not change coverage.
The diff coverage is n/a.

@@              Coverage Diff               @@
##           release_1.1.0    #5732   +/-   ##
==============================================
  Coverage          82.48%   82.48%
==============================================
  Files                 11       11
  Lines               2598     2598
==============================================
  Hits                2143     2143
  Misses               455      455

Impacted Files
Coverage Δ

python-package/xgboost/core.py
77.79% <ø> (ø)

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 882b966...c1b70bf. Read the comment docs.

@hcho3, got it.
@ShvetsKS, could, you, please, check the wheel for fixing the performance issues?

@hcho3, got it.
@ShvetsKS, could, you, please, check the wheel for fixing the performance issues?

Seems it works fine.


Data Management Hackathon cleanup

Background
Link to issue
N.A.
Link to staging deployment URL
https://ui-data-man-refactor.scp-staging.biomage.net/
Links to any Pull Requests related to this
N.A.
Anything else the reviewers should know about the changes here
Changes
Code changes
Main changes are in ProjectDetails, ProjectMenu and SamplesTable. This PR refactors the main components for the project details part of the Data Management page.
Definition of DONE
Your changes will be ready for merging after each of the steps below have been completed:
Testing

[ ] Unit tests written
[ ] Tested locally with Inframock (with latest production data downloaded with biomage experiment pull)
[ ] Deployed to staging

To set up easy local testing with inframock, follow the instructions here: https://github.com/biomage-ltd/inframock
To deploy to the staging environment, follow the instructions here: https://github.com/biomage-ltd/biomage-utils
Documentation updates
Is all relevant documentation updated to reflect the proposed changes in this PR?

[ ] Relevant Github READMEs updated
[ ] Relevant wiki pages created/updated

Approvers

[ ] Approved by a member of the core engineering team
[ ] (UX changes) Approved by vickymorrison (this is her username, tag her if you need approval)

Just before merging:

[ ] After the PR is approved, the unstage script in here: https://github.com/biomage-ltd/biomage-utils is executed. This script cleans up your deployment to staging

Optional

[ ] Photo of a cute animal attached to this PR

Looks good to me, can't see any obvious problems. That said, would be good to have the call with the team to discuss the details.


Скласти додаткові інформаційні блоки

Можна зробити резюме менш формальним, додавши додаткові блоки, які містять корисну інформацію, але подають її в "розважальній" формі. Наприклад, що подобається і не подобається, сильні і слабкі сторони, перелік навиків чи хобі, інфографіка або ж інтерактивні модулі, тощо. Варто написати контент такого блоку раніше, ніж починати верстку, бо його розміри впливатимуть на розміщення елементів на сторінці.

1. The Solo Ryu Movie
The original Street Fighter movie (starring Jean-Claude Van Damme) is terrible, but at least it's bad in a fun way. It fits into the same category of movies as The Room or Samurai Cop, where you can sit around with your friends and have some fun goofing on the film. For all of its many problems, Street Fighter is an endlessly quotable film.
In 2009, Capcom decided to try again with a live action Street Fighter movie. They decided to make a film that focused on Chun-Li's struggle against M. Bison and the Shadaloo organisation. Street Fighter: The Legend of Chun-Li is a legitimately terrible movie, with almost no redeeming features. It currently holds a 6% freshness rating on Rotten Tomatoes.
During the final scene of the movie, Chun-Li is told about a Japanese fighter who might be able to help her out. His name is Ryu, and he may be an asset in an upcoming street fighting tournament. If The Legend of Chun-Li had been financially successful, then Ryu would have received his own solo movie as the star of the sequel.
2. Ryu's True Age
The first game in the Street Fighter series debuted in 1987. You could only play as Ryu in the single player mode, and a second player could only use Ken in two player battles. The game is considered to be far inferior to its sequel, due to the limited roster, difficult controls, and overall poor presentation.
Ryu debuted in this game, as did Ken, Adon, Birdie, Sagat, and Gen. He has appeared in every game in the series since, as well as most of Capcom's crossover games as the representative of Street Fighter. Ryu is generally considered to be the main character of the series.
While Ryu first appeared in 1987, his actual age is much older. Ryu was born in July of 1964, this means that he will turn 53 this year. Ryu looks amazing for his age. It makes sense for him to look so youthful, as he spends his entire life in physical training whilst eating healthy food.
3. Hot Ryu
Street Fighter V has caused a lot of controversy since its release in 2016. The game was sold in an incomplete state; most of the promised characters and modes were unavailable upon release, with lots of content now being sold as DLC. Capcom explained that the early release of Street Fighter V was for the competitive players, who needed time to prepare for the major fighting game tournaments of that year. Most fans saw through this flimsy excuse and the game sold way less than Capcom originally projected.
It wasn't all just negative publicity for Street Fighter V, however. The game would receive retailer specific DLC outfits as a pre-order bonus. If you ordered Street Fighter V from Gamestop, then you would receive the "Battle Costume" for Ryu. If you used this costume, then Ryu would fight topless, sporting a beard. He now looked like Joel from The Last of Us, if he decided to hit the gym, so that he could more effectively punch the Clickers.
This new outfit took the Internet by storm. "Hot Ryu", as it came be known, lit up Twitter with letters of affection. Hot Ryu ignited sexual desires from both men and women alike.  It was a brief moment of positive publicity in a storm of accusations of screwing over the fans being aimed towards Capcom.


x/crypto/ocsp: the responder cert is not provided along with the OCSP response signature

The docs on ocsp.CreateResponse state that:
// The responder cert is used to populate the responder's name field, and the
// certificate itself is provided alongside the OCSP response signature.

But in the code, the responder cert is only used to populate the rawResponderID.
The certificate provided with the OCSP response signature seem to come from template.Certificate instead of the responder cert.
Is this an error in the docs/code or am I missing something?

That does look like a bug to me. Perhaps we'd want to use responderCert if template.Cert is nil? /cc @agl


fix: Give new link to User Documentation in Readme

Summary:
In Readme, under the User Documentation, it shows to go to some other page after it is clicked. Instead, we could directly provide the link to the page in which it is available. Might seem like a smaller issue, but I felt we need to correct it.
@misaochan Your thoughts on this, please!
Steps to reproduce:

Open Readme
Click "User Documentation"

Would you like to work on the issue?
Yes

Thanks for a filing an issue for this! While moving the documentation to a separate repo we never updated all the links in the repo. So, fixing them is a good thing indeed.
I'll assign this to you. You can work on this. :)
If possible, you can update the other instances of such broken links, too. For instance, there a reference to the wiki page in ISSUE_TEMPLATE.md.

@sivaraam Actually, I have noticed that all the links lead to the same documentation. Should we modify it into a single link "Guidelines" instead of "User documentation", "Volunteers", etc? Please tell me what you feel  :)

@sivaraam Actually, I have noticed that all the links lead to the same documentation.

While it is true that most of the links lead to the same documentation page, the section to which each link corresponds, to varies. For instance:

User documentation should link to https://github.com/commons-app/commons-app-documentation/blob/master/android/README.md#-user-documentation
Contributor Documentation should link to https://github.com/commons-app/commons-app-documentation/blob/master/android/README.md#-contributor-documentation
Developer Documentation - https://github.com/commons-app/commons-app-documentation/blob/master/android/README.md#-developer-documentation

Observe how the anchor part of the link varies. This is done to allow the different audience to quickly get the relevant information. So, it's best to keep them as it is.
Also, there are a few links that lead to different pages like:

Volunteers Welcome! - https://github.com/commons-app/commons-app-documentation/blob/master/android/Volunteers-welcome!.md
Libraries Used - https://github.com/commons-app/commons-app-documentation/blob/master/android/Libraries-used.md

Hope this clarifies your doubt.


Somethimes runkick is being wierd

We both need to investigate it

Probably fixed, check if you still see it


[Visibility Classes] ISSUE NAME HERE

How can we reproduce this bug?
Create the following elements as in the docs:
<callout class="hide-for-large primary">

This callout will only appear on small screens.

</callout>

<callout class="show-for-large alert">

This callout will only appear on large screens.

</callout>

What did you expect to happen?
Elements hide on different screen sizes
What happened instead?
Nothing
What email clients does this happen in?
In Chrome.

It looks like the visibility classes can only be used in table.body table.container . My mistake

You should be able to add the classes to any element (except on img itself). I see it working on this test https://github.com/zurb/foundation-emails/commit/3ee7511ab12fa2b9806b14a4f46ae22f93e55acb case as well as in the docs. Make sure you are on version 2.1. We'll close this here - open a new issue if you are able to replicate on 2.1


podman-1.5.1-1~ubuntu18.04~ppa1 seems compiled without support for AppArmor

Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)
/kind feature
Description
podman-1.5.1-1~ubuntu18.04~ppa1 seems compiled without support for AppArmor
Steps to reproduce the issue:
$ podman run -it --rm --security-opt apparmor=docker-default alpine
Error: AppArmor is not supported
$ podman run --rm alpine cat /proc/1/attr/current
unconfined

Describe the results you received:
Describe the results you expected:
Additional information you deem important (e.g. issue happens only occasionally):
Output of podman version:
Version:            1.5.1
RemoteAPI Version:  1
Go Version:         go1.10.4
OS/Arch:            linux/amd64

Output of podman info --debug:
debug:
  compiler: gc
  git commit: ""
  go version: go1.10.4
  podman version: 1.5.1
host:
  BuildahVersion: 1.10.1
  Conmon:
    package: 'conmon: /usr/libexec/podman/conmon'
    path: /usr/libexec/podman/conmon
    version: 'conmon version 2.0.0, commit: unknown'
  Distribution:
    distribution: ubuntu
    version: "18.04"
  MemFree: 737173504
  MemTotal:<PHONE_NUMBER>
  OCIRuntime:
    package: 'containerd.io: /usr/bin/runc'
    path: /usr/bin/runc
    version: |-
      runc version 1.0.0-rc8
      commit: 425e105d5a03fabd737a126ad93d62a9eeede87f
      spec: 1.0.1-dev
  SwapFree: 0
  SwapTotal: 0
  arch: amd64
  cpus: 2
  eventlogger: journald
  hostname: ubuntu-bionic
  kernel: 4.15.0-58-generic
  os: linux
  rootless: false
  uptime: 11m 0.8s
registries:
  blocked: null
  insecure: null
  search: null
store:
  ConfigFile: /etc/containers/storage.conf
  ContainerStore:
    number: 0
  GraphDriverName: overlay
  GraphOptions: null
  GraphRoot: /var/lib/containers/storage
  GraphStatus:
    Backing Filesystem: extfs
    Native Overlay Diff: "true"
    Supports d_type: "true"
    Using metacopy: "false"
  ImageStore:
    number: 1
  RunRoot: /var/run/containers/storage
  VolumePath: /var/lib/containers/storage/volumes

Package info (e.g. output of rpm -q podman or apt list podman):
$ apt list podman
Listing... Done
podman/bionic,now 1.5.1-1~ubuntu18.04~ppa1 amd64 [installed]

Additional environment details (AWS, VirtualBox, physical, etc.):

@lsm5 PTAL?

Facing similar issue @rhatdan @lsm5
root@ubuntu:/home/nitesh# podman --version
podman version 1.5.1
root@ubuntu:/home/nitesh# uname -a
Linux ubuntu 4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:27:02 UTC 2019 ppc64le ppc64le ppc64le GNU/Linux
root@ubuntu:/home/nitesh# cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.2 LTS (Bionic Beaver)"

root@ubuntu:/home/nitesh# podman run --security-opt apparmor=unconfined docker.io/ubuntu:18.04 bash
Error: AppArmor is not supported

/do-not-close

@vrothberg The do-not-close label doesn't seem to exist yet

@vrothberg The do-not-close label doesn't seem to exist yet

I just created one.

@lsm5 is the issue fixed in the meantime?

On Wed, Oct 30, 2019 at 01:55:38AM -0700, Valentin Rothberg wrote:

@lsm5 is the issue fixed in the meantime?

Not yet :(


Calendar is only showing last week for current month.

I can't seem to reproduce this on my emulators, but on stock Nexus 4 and Nexus 5 both running 5.1.1 I can reproduce this consistently. I can reproduce this on 0.4.0, 0.5.0, and 0.6.0.
The calendar view only shows the last week of the current month, and then shows the greyed out days of next month, scrolling to the next month shows the active day buttons of the last week of the next month, and then greyed out day buttons of the month after that.
For example. Opening up the calendar in June shows, under the month bar, the weekdays from Sunday to Monday. Below I see 26, 27, 28, 29. When I select those I properly get June 26 2015 as dates. The remaining days in the calendar are not tappable and appear to be for July.
When I swipe over to August it again shows me 26, 27, 28, 29, 30, 31 along the top - which, when tapped, are the correct July 26 2015 dates. The remainder of the days appear to be August, and are not selectable.
The fragment view code is below, as well as a screen shot of the issue.
I am using DayDecorators.
I build against 21, with 21.1.1 build tools. Support library support-v13:21.0.3 with app compat appcompat-v7:22.2.0
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:app="http://schemas.android.com/apk/res-auto"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:background="@color/screen_background_light"
                android:orientation="vertical">

    <com.prolificinteractive.materialcalendarview.MaterialCalendarView
        android:id="@+id/event_calendar_view"
        android:layout_width="match_parent"
        android:layout_height="320dp"
        app:mcv_showOtherDates="true"
        app:mcv_tileSize="40dp"/>

    <include
        android:id="@+id/list_header_title"
        layout="@layout/list_header"
        android:layout_width="match_parent"
        android:layout_height="30dip"
        android:layout_below="@+id/event_calendar_view"/>

    <ProgressBar
        android:id="@+id/event_progress_bar"
        android:layout_width="50dip"
        android:layout_height="50dip"
        android:layout_below="@id/list_header_title"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dip"/>

    <ListView
        android:id="@+id/event_list_view"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/list_header_title"
        android:visibility="gone"/>
</RelativeLayout>

Hey @jlindenbaum, I wasn't able to replicate this on any of my test devices (including a Nexus 5). Do you see this issue with the sample app as well?

I can't reproduce it on the sample app. Played around with the sample app's XML, too, to see if it's something in there.
I stripped out my fragment to just the calendar view, removed all decorators, and set options and other views on the screen, and it still does it. Still the same results.

I can reproduce this across all my test devices, including some 4.x devices, but not on the simulators. I'm upgrading from 0.2.4 - I've stripped everything in that fragment, and just a bare-bones setup of the calendar view is rendering like that on 0.6.1. 0.2.4 works as expected.

I have same issue. testing on nexus5, galaxy s5.

same problem but I`ve explored a little bit further. It seems it depends on the TimeZone.
With the following configuration:

I reproduce this issue as shown in the next image:

Then if I modify my settings, concretely the time zone as follows:

The calendar is displayed correctly, as depicted in the following pic:

Hope it helps!

@sersast thanks for the research!

Fixed in 0.7.0


Debug UI Improvements

improved readability through white text
automatic size selection based on window size

Can you fix the static analysis checks? By writing to HOR you have to mark it as global explicitly. You can probably clean it up so it's only set once the window is available.

Can you fix the static analysis checks? By writing to HOR you have to mark it as global explicitly. You can probably clean it up so it's only set once the window is available.

The plots are much more readable! We should have done this earlier :)

The plots are much more readable! We should have done this earlier :)

Noticed the readability issue and thought it would be a nice first PR 😉

Noticed the readability issue and thought it would be a nice first PR 😉

You can ignore the macOS failure. Not related to your PR.

You can ignore the macOS failure. Not related to your PR.


Multi Cuda issue

Hello!
Can this model be trained with multi cuda?

You might need to rewrite the code. Currently, a single GPU 24G is able to run the code. The code doesn't involve heavy training, the only training is the 3DGS training. The editing part is a pure inference process.


Still incomplete .dal files

Hi @kalberes
although I am using the latest AL language extension version from Marketplace, 5.0.280447, I am still experiencing the bug #5914 while developing on a 5.0 runtime (BC 16.0). I had re-downloaded the symbols from my local docker container, but I did not update my container since.
What are all requirements to correct the issue?

BTW it does work on another repo, also 5.0 runtime, same AL language extension version, and even targeting the very same docker container as in my initial post.

If you specify a runtime <= 5.1 in you app.json things should work.
For runtimes > 5.,2 gotodefinition will only resolve if you have a >= 16.2 NSt runtime on base app symbols. On other third party symbols gotodefinition wiill work when they are rebuilt and republished with the 16.2 runtime.
An empty DAL can also be caused by the fact that your connection to the NST failed for some reason. Or the symbol could not resolve (showmycode= true, nondebuggable attribute, etc).
Hard to tell.

Again: I have two repos for Saas development

both runtime 5.0
both opened with the same version of the AL Language extension
both targeting the very same docker container in launch.json
both with the very same dependencies to the base app and system app (incl. version)
I could not detect any other mentionable difference between the two app.json files
both with refreshed symbols after AL language update
one is an older project, one is a newer project: the dal files are incomplete for the older project only (F12 on table "Sales Line"), hence for the app that had been published first on the target database.

Now comes the most confusing part:

The downloaded base app symbol file does contain the complete table definition for "Sales Line" for both repos

However, for my old repo, VS Code does not display the full content on F12:

How is that possible?

I do not know.  If you have a metadata DAL it means that the server could not provide the AL file information from the database. Any hints in teh event viewer for the server?

I've tried these:

https://www.hougaard.com/get-an-eventlog-from-a-docker-container/
https://stackoverflow.com/questions/41215471/how-do-i-access-windows-eventlog-of-a-docker-container

Nothing helpful was logged, unfortunately.

Sorry, that was a bit too quick. I've searched only for logs from the time that I was trying to view the symbols. Upon starting the container, there are in fact some warnings and errors. In chronological order only those that might have something to do with the issue:
Warning
Server instance: BC
Category: Sql
ClientSessionId: 00000000-0000-0000-0000-000000000000
ClientActivityId: 00000000-0000-0000-0000-000000000000
ServerSessionUniqueId: 00000000-0000-0000-0000-000000000000
ServerActivityId: 4d3ddb6e-937a-4da6-b8ae-9af1ff2dc5c0
EventTime: 06/09/2020 05:22:17
Message Action completed successfully, but it took longer than the given threshold.
  Execution time: 1191 ms
  Threshold: 750 ms
  Message: Long running SQL statement
  Task ID: 3
  Connection ID: 1
  SQL server session ID: 51
  Client Type:
  Database Name: Financialsde
  Current Company Name:
  Statement: SELECT [Package ID], [Object Type], [Object ID], [Metadata] FROM [Application Object Metadata] WHERE ([Metadata Hash] = '' OR LEN([Metadata Hash]) <> 64) AND [Metadata] IS NOT NULL

ProcessId: 2288
Tag: 000007L
ThreadId: 8
CounterInformation:
CustomParameters: {
}
GatewayCorrelationId:

warning
Server instance: BC
Category: Extensions
ClientSessionId: 00000000-0000-0000-0000-000000000000
ClientActivityId: c7b4dfa5-d608-49b8-89bc-94c59a08e82b
ServerSessionUniqueId: 00000000-0000-0000-0000-000000000000
ServerActivityId: 4d3ddb6e-937a-4da6-b8ae-9af1ff2dc5c0
EventTime: 06/09/2020 05:22:41
Message Object metadata load attempted with no thread app group context defined -- Type:Page; Id:130650; MetadataGroup:19
   at Microsoft.Dynamics.Nav.Runtime.NCLMetaApplicationObject.Populate()
   at Microsoft.Dynamics.Nav.Runtime.NCLMetadata.GetMetaApplicationObjectInternal(ApplicationObjectId appObjectId, Boolean requireCompiled, Boolean onlySearchCache, Int32 appGroupId)
   at Microsoft.Dynamics.Nav.Runtime.NCLMetadata.GetMetaApplicationObject(ApplicationObjectId appObjectId, Int32 appGroupId, Boolean requireCompiled, Boolean onlySearchCache)
   at Microsoft.Dynamics.Nav.Runtime.ApiWebServiceEntryHelper.GetAllVersions(ObjectType objectType, Int32 objectId, PackageId packageId, NavAppGroup group, HashSet`1 paths, Boolean throwOnEndpointDuplicate)
   at Microsoft.Dynamics.Nav.Runtime.ApiWebServiceEntryHelper.GetEntriesFromNavApp(NavTenant tenant, HashSet`1 paths)
   at Microsoft.Dynamics.Nav.Runtime.WebServiceHelper.GetApiWebServices(NavTenant tenant)
   at Microsoft.Dynamics.Nav.Service.Api.ApiRouteManager.ConfigureCommonRoutesForAllTenants()
   at Microsoft.Dynamics.Nav.Service.Api.GraphApiHost.ConfigureHost(WebApiHost context, IAppBuilder builder, Category telemetryCategory, AuthenticationSchemes authenticationScheme, DelegatingHandler handler, WebApiAssemblyResolver resolver)
   at Microsoft.Dynamics.Nav.Service.WebApi.WebApiHost.<StartInternal>b__46_0(IAppBuilder builder)
   at Microsoft.Owin.Hosting.Engine.HostingEngine.Start(StartContext context)
   at Microsoft.Dynamics.Nav.Service.WebApi.WebApiHost.StartInternal()
   at Microsoft.Dynamics.Nav.Service.WebApi.WebApiHost.Open(String machineName, ServerUserSettings settings)
   at Microsoft.Dynamics.Nav.WindowsServices.NavServerWindowsService.StartOwinServices(ServerUserSettings settings)
   at Microsoft.Dynamics.Nav.WindowsServices.NavServerWindowsService.StartAllServices(ServerUserSettings settings)
   at Microsoft.Dynamics.Nav.WindowsServices.NavServerWindowsService.Start(String commandLineServiceInstanceName)
   at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()

ProcessId: 2288
Tag: 00007YP
ThreadId: 8
CounterInformation:
CustomParameters: {
}
GatewayCorrelationId:

Error
Server instance: BC
Category: Runtime
ClientSessionId: 00000000-0000-0000-0000-000000000000
ClientActivityId: c7b4dfa5-d608-49b8-89bc-94c59a08e82b
ServerSessionUniqueId: 00000000-0000-0000-0000-000000000000
ServerActivityId: 4d3ddb6e-937a-4da6-b8ae-9af1ff2dc5c0
EventTime: 06/09/2020 05:22:41
Message (NavMetadataNotFoundException): RootException: NavMetadataNotFoundException
The metadata object Enum 100 was not found.
ExceptionStackTrace:
   at Microsoft.Dynamics.Nav.XmlMetadata.MetadataProvider.GetEnumMetadata(Int32 id)
   at Microsoft.Dynamics.Nav.Runtime.NCLFieldEnumMetadata.GetEnumMetadataFromMetadataProvider()
   at Microsoft.Dynamics.Nav.Runtime.NCLFieldEnumBaseMetadata.GetAppGroupAwareEnumMetadata()
   at Microsoft.Dynamics.Nav.Runtime.NCLFieldEnumBaseMetadata.get_OrdinalValues()
   at Microsoft.Dynamics.Nav.Runtime.NCLOptionMetadata.HasNonAscendingOptionValues()
   at Microsoft.Dynamics.Nav.Runtime.NCLMetaTable.ApplyAppGroupAwareEnumMetadata(MetaTable metaTable)
   at Microsoft.Dynamics.Nav.Runtime.NCLMetaTable.GetMetaTableClone()
   at Microsoft.Dynamics.Nav.XmlMetadata.MetadataProvider.GetTableMetadata(Int32 id, Int32 appGroupId, Boolean requireCompiled)
   at Microsoft.Dynamics.Nav.Runtime.NCLMetaQuery.FieldFromTableNoResolver(Int32 tableNo, Int32 appGroupId)
   at Microsoft.Dynamics.Nav.Types.Metadata.MetaQuery.ApplyLanguage(String language, String primaryLanguage, Func`3 fieldFromTableNoResolver)
   at Microsoft.Dynamics.Nav.Runtime.NCLMetaQuery.LoadMetadata()
CallerStackTrace:
   at Microsoft.Dynamics.Nav.Runtime.NCLMetaQuery.LoadMetadata()
   at Microsoft.Dynamics.Nav.Runtime.NCLMetaApplicationObject.Populate()
   at Microsoft.Dynamics.Nav.Runtime.NCLMetadata.GetMetaApplicationObjectInternal(ApplicationObjectId appObjectId, Boolean requireCompiled, Boolean onlySearchCache, Int32 appGroupId)
   at Microsoft.Dynamics.Nav.Runtime.NCLMetadata.GetMetaApplicationObject(ApplicationObjectId appObjectId, Int32 appGroupId, Boolean requireCompiled, Boolean onlySearchCache)
   at Microsoft.Dynamics.Nav.Runtime.ApiWebServiceEntryHelper.GetAllVersions(ObjectType objectType, Int32 objectId, PackageId packageId, NavAppGroup group, HashSet`1 paths, Boolean throwOnEndpointDuplicate)
   at Microsoft.Dynamics.Nav.Runtime.ApiWebServiceEntryHelper.GetEntriesFromNavApp(NavTenant tenant, HashSet`1 paths)
   at Microsoft.Dynamics.Nav.Runtime.WebServiceHelper.GetApiWebServices(NavTenant tenant)
   at Microsoft.Dynamics.Nav.Service.Api.ApiRouteManager.ConfigureCommonRoutesForAllTenants()
   at Microsoft.Dynamics.Nav.Service.Api.GraphApiHost.ConfigureHost(WebApiHost context, IAppBuilder builder, Category telemetryCategory, AuthenticationSchemes authenticationScheme, DelegatingHandler handler, WebApiAssemblyResolver resolver)
   at Microsoft.Dynamics.Nav.Service.WebApi.WebApiHost.<StartInternal>b__46_0(IAppBuilder builder)
   at Microsoft.Owin.Hosting.Engine.HostingEngine.Start(StartContext context)
   at Microsoft.Dynamics.Nav.Service.WebApi.WebApiHost.StartInternal()
   at Microsoft.Dynamics.Nav.Service.WebApi.WebApiHost.Open(String machineName, ServerUserSettings settings)
   at Microsoft.Dynamics.Nav.WindowsServices.NavServerWindowsService.StartOwinServices(ServerUserSettings settings)
   at Microsoft.Dynamics.Nav.WindowsServices.NavServerWindowsService.StartAllServices(ServerUserSettings settings)
   at Microsoft.Dynamics.Nav.WindowsServices.NavServerWindowsService.Start(String commandLineServiceInstanceName)
   at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()

ProcessId: 2288
Tag: 000028Z
ThreadId: 8
CounterInformation:
CustomParameters: {
}
GatewayCorrelationId

Only to name a few. I will send you the whole event log by mail (GitHub does not allow this file type).

Solved:
Reason for my runtime 5.0 repository not showing the dal files completely, was a multiple configuration in the launch.json (and a AL Language extension fix, not yet provided).
The moment I reduced it to one configuration only, the dal files were displayed completely again. No need to reload/restart client or download symbols again.
Thanks @kalberes for proposing the final hint (by e-mail)!


Add CPS-based household composition files for UBI

Starting over from @prrathi's https://github.com/PSLmodels/OG-USA-Calibration/pull/37 for simplicity. This is based on CPS tax units only, since that's what we agreed upon for consistency with other OG-USA modeling (fewer people per unit than PSID families). There's still code that could add similar data from the PSID in #37, but I think it'd be cleaner to have it run off the psid_lifetime_income dataset; I compressed an older version of it, which fits under GitHub's 100MB limit, but I haven't re-run it since adding the num_in_family column.
The main output of this is data/hh_composition/cps.csv, which should just be filtered to smoothed==True for usage in OG-USA. It also exports charts to images/hh_composition/. @jdebacker could you suggest how to add this matrix to ogusa_default_parameters.json? It doesn't look like any of the code in this repo is currently connected to that file (it was added all at once in #35).
@rickecon

Codecov Report

Merging #39 (8d2cce9) into master (5bae7c5) will decrease coverage by 0.08%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #39      +/-   ##
==========================================
- Coverage   63.13%   63.04%   -0.09%
==========================================
  Files           8        8
  Lines        1188     1188
==========================================
- Hits          750      749       -1
- Misses        438      439       +1

Flag
Coverage Δ

unittests
63.04% <ø> (-0.09%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

ogusa_calibrate/tests/test_txfunc.py
53.50% <0.00%> (-0.44%)
:arrow_down:

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 5bae7c5...8d2cce9. Read the comment docs.

Per the discussion in today's developer meeting, I'll add this to calibrate.py.

@MaxGhenis @jdebacker . This looks good to me, except for the build and test CI failure (due to some out-of-date codecov stuff). The most recent commit fixes a data issue for the number of adults age 18-64. I like having the 6 .png files and one .csv file in this case. This looks much better.
The build and test failure is coming from the following error message:
{'detail': ErrorDetail(string='Unable to locate build via Github Actions API. Please upload with the Codecov repository upload token to resolve issue.', code='not_found')}
Error: Codecov failed with the following error: The process '/usr/bin/bash' failed with exit code 1

I don't know how to fix this off the top of my head. I will have to look into it. I wonder if we are missing a coverage component in the environment.yml file.

@MaxGhenis Thanks for the contributions in this PR!

The main output of this is data/hh_composition/cps.csv, which should just be filtered to smoothed==True for usage in OG-USA.

I've looked at the code a bit and can't figure out what you mean by this.  Do you mean change lined 93 and/or 94 of hh_composition.py?
I think what you should do is to create a function in hh_composition.py that returns the results (i.e., a matrix) that can be read into OG-USA.  This function should be called in the calibrate.Calibration class and the result should become and attribute of that class.
Does the program take much time to arrive at the data/hh_composition/cps.csv file?  Is it sufficient to just use the link to the TaxData CPS file rather than store this CSV file here?

It also exports charts to images/hh_composition/.

Can you share and describe some of these images in this thread?  I would also recommend adding these images to the Jupyter Book documentation (as part of a new chapter to describe that what the output is and how it was arrived at).  That could be done in a separate PR -- but for this one, I'd recommend against having png files outside of the docs/ directory.

@jdebacker could you suggest how to add this matrix to ogusa_default_parameters.json? It doesn't look like any of the code in this repo is currently connected to that file (it was added all at once in #35).

Do not worry about updating that json file.  I'll update it after the OG-USA PR #725 is complete.  That PR will be updated to add the matrix created here to the OG-USA default_parameters.json file.

@rickecon I've fixed the off-by-one error, so this is now good to use for the UBI paper via pd.read_csv("https://github.com/PSLmodels/OG-USA-Calibration/raw/b0ad2816a0c7fbbb9099060f89b7ef36d85f8f5b/data/hh_composition/cps.csv")
Previous:

New:

I think what you should do is to create a function in hh_composition.py that returns the results (i.e., a matrix) that can be read into OG-USA. This function should be called in the calibrate.Calibration class and the result should become and attribute of that class.

OK I think @rickecon is doing something like this for the UBI project, I'll also look into it here.

Does the program take much time to arrive at the data/hh_composition/cps.csv file? Is it sufficient to just use the link to the TaxData CPS file rather than store this CSV file here?

This file is not the full taxdata cps csv, it's a summary by s,j, counted age group (<18, 18-64, 65+), and whether it's raw or smoothed. I think storing this summarized data as a csv in the repo would make this input more accessible to other researchers than storing it only in the json file as three separate elements (and presumably without the unsmoothed values). It's currently 152KB.

Can you share and describe some of these images in this thread? I would also recommend adding these images to the Jupyter Book documentation (as part of a new chapter to describe that what the output is and how it was arrived at). That could be done in a separate PR -- but for this one, I'd recommend against having png files outside of the docs/ directory.

Sounds good, I'll add the images to the docs with descriptions.


Pretty big performance regression from 1.1.7 to 1.1.8

Hi there,
We recently updated some of our project packages and redis-bundle was updated from 1.1.7 to 1.1.8. One week later I was checking or perfromance logs in newrelic (with a double-check with our in-house logstash/kibana) and there was a pretty big performance hit. After isolating that redis-bundle is the cause i've been reading throught the commit logs and it seems there is a new feature #120 session locking that now is enabled by default and that's the cause of the performance hit.

As you can see (ignore the spike) median time went from ~60ms to ~72ms, that's a +20% increase in page load time, not negligible.
So my question here is: how the session locking thing is useful for us and why should we enable it?
Besides that, IMHO this feature should not have been enabled by default.

I have big problem by session, i think that its reason is session lock.

bundle run very command for session set.
1	0.89 ms	default	SET session5m1vdrvau4jdmgiqu8300gqtq1.lock 581ce28fabbf0 PX 30001 NX
2	0.46 ms	default	SET session5m1vdrvau4jdmgiqu8300gqtq1.lock 581ce28fabbf0 PX 30001 NX
3	0.40 ms	default	SET session5m1vdrvau4jdmgiqu8300gqtq1.lock 581ce28fabbf0 PX 30001 NX
4	0.40 ms	default	SET session5m1vdrvau4jdmgiqu8300gqtq1.lock 581ce28fabbf0 PX 30001 NX
5	0.44 ms	default	SET session5m1vdrvau4jdmgiqu8300gqtq1.lock 581ce28fabbf0 PX 30001 NX
6	0.45 ms	default	SET session5m1vdrvau4jdmgiqu8300gqtq1.lock 581ce28fabbf0 PX 30001 NX
.
.
.
186	0.49 ms	default	SET session5m1vdrvau4jdmgiqu8300gqtq1.lock 581ce28fabbf0 PX 30001 NX
187	0.52 ms	default	SET session5m1vdrvau4jdmgiqu8300gqtq1.lock 581ce28fabbf0 PX 30001 NX
188	0.52 ms	default	SET session5m1vdrvau4jdmgiqu8300gqtq1.lock 581ce28fabbf0 PX 30001 NX
189	0.52 ms	default	SET session5m1vdrvau4jdmgiqu8300gqtq1.lock 581ce28fabbf0 PX 30001 NX
190	0.52 ms	default	SET session5m1vdrvau4jdmgiqu8300gqtq1.lock 581ce28fabbf0 PX 30001 NX
191	0.53 ms	default	SET session5m1vdrvau4jdmgiqu8300gqtq1.lock 581ce28fabbf0 PX 30001 NX
192	0.51 ms	default	SET session5m1vdrvau4jdmgiqu8300gqtq1.lock 581ce28fabbf0 PX 30001 NX
193	1.42 ms	default	SET session5m1vdrvau4jdmgiqu8300gqtq1.lock 581ce28fabbf0 PX 30001 NX
194	0.35 ms	default	GET session5m1vdrvau4jdmgiqu8300gqtq1

194 command for session set ;(
can i disable session lock? why we must use session lock?

See https://github.com/snc/SncRedisBundle/pull/403 and https://github.com/snc/SncRedisBundle/pull/404 to improve locking and reduce the need for it. But anyway closing this as it's easy to disable locking if you don't care for it:
snc_redis:
    clients:
        # ...
    session:
        client: session
        ttl: 3600
        locking: false


Adding userlist parameter

https://github.com/MicrosoftDocs/office-docs-powershell/issues/4888

@hirenshah1

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

Docs Build status updates of commit 2743550:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

skype/skype-ps/skype/Move-CsUser.md
:white_check_mark:Succeeded
View (skype-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

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

Docs Build status updates of commit f9ced7b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

skype/skype-ps/skype/Move-CsUser.md
:white_check_mark:Succeeded
View (skype-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Location of cromwell-34.jar

The SLURM tutorial (https://github.com/kundajelab/atac-seq-pipeline/blob/master/docs/tutorial_slurm.md) says that one should cd into atac-seq-pipeline before downloading cromwell-34.jar.  However, based on my experience running the pipeline, it seems like it might be necessary to have a copy of cromwell-34.jar in my home directory (the super-directory of atac-seq-pipeline).  Is that correct?  If so, it would be great if this could be added to the SLURM tutorial's installation instructions.  Thanks!

It looks like the pipeline actually does work with cromwell-34.jar in the atac-seq-pipeline directory.  I apologize for posting this unnecessarily.


Made editor automatically open the scene of built in scripts

Made editor automatically open the scene of built in scripts if it isn't open yet when attempting to open that script.
This removes the need for the annoying "Built-in scripts can only be edited when the scene they belong to is loaded" warning.
This fixes #21750

Thanks!


feat: add Input Layer for nn Interface

Is your feature request related to a problem?
We are right now working on translating the safe-ds data into pytorch tensors. The translation is defined in the dataclasses them self, but the definiton how, should be defined on the input layer interface.
Desired solution
Create Input Layer Interface, with Type parameter, so we have static type analysis.

:tada: This issue has been resolved in version 0.22.0 :tada:
The release is available on:

v0.22.0
GitHub release

Your semantic-release bot :package::rocket:


add --chown flag to docs for COPY and ADD

File: engine/reference/builder.md, CC @mistyhacks
Per https://github.com/moby/moby/issues/6119#issuecomment-338920866 ADD and COPY now support --chown. Please add these to the main documentation.

Issue moved to docker/cli #738 via ZenHub

Oh hai @metalivedev 👋 👋 🤗

Linking here as well for easier finding; https://github.com/docker/cli/pull/467


Is there any way to remove taunt on go

Describe your problem here.
I realized that with the new 1.19 update when the countdown finishes on the go bf does the taunt and dad does the up animation
I wanned to ask if there is any way to diseable this on the engine settings, i use this engine to do showcastes and i don't like it a lot
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No

This is exacly what i mean by this
https://github.com/JordanSantiagoYT/FNF-PsychEngine-NoBotplayLag/assets/144788620/94a16e21-7ed1-456f-9ae4-e74061ff2010

you would have to edit the source code to remove it, but i will make a hotfix release that adds an option

This is exacly what i mean by this
the.taunt.thing.mp4

let me guess. this is why you don't use denpa engine

thanks


Implement functions to compare 2 images

Implement the comparison algorithms between 2 images described in https://github.com/cheminfo/profid-padif/issues/20.

difference
meanDifference
dssim
rmse

The difference algorithm is actually already implemented under the name substract.

The difference algorithm is actually already implemented under the name substract.

Then the name is wrong, please rename it to subtract.

The difference algorithm is actually already implemented under the name substract.

Then the name is wrong, please rename it to subtract.

I'm not sure I got your point, since the algorithm already has the name substract. However do you have a better name for meanDifference so that it is coherent with substract?

My point is the name substract is wrong (typo). It should be named subtract.
What exactly is the meanDifference ?

My point is the name substract is wrong (typo). It should be named subtract.
What exactly is the meanDifference ?

You're right sorry!
meanDifference is supposed to be the average of the subtraction between two images. It would be a number expressing how different two images are.

meanDifference is supposed to be the average of the subtraction between two images. It would be a number expressing how different two images are.

OK. We don't think it's really useful to implement exactly meanDifference so here's the suggestion:

we already have subtract
we add a stats() method that returns an object. For now it will contain only this (1 value per channel):
image.stats() // { sum: [4, 0, 850], mean: [1, 0 ,56] }

When we need the mean difference, we can call both in the application

Hi! I'm sorry but first computing the sum and then the difference is not equivalent to computing the differences and then taking the sum, as stated in the below example.

I never said we should compute the sum first.

Other question, should I use an existing library for SSIM, like this one : https://github.com/bytespider/ssim#readme, or should I reimplement it?
Wikipedia article: https://en.wikipedia.org/wiki/Structural_similarity

https://github.com/obartra/ssim Seems better

I have a question concerning rmse, among others. I am not sure how to handle images with multiple channels. Should I compute a score for each channel independently or one for the whole image?
I thought this could also be a user option, so we could allow both behaviours.

I'd check what is done in the literature / documentation of other libraries.

In this post the two solutions don't use the same implementation to handle color images....
https://stackoverflow.com/questions/29973957/mse-for-two-vec3b-images-in-opencv
In the original code of PROFID, the RMSE is computed on the whole image, so that is how I reimplemented the method.
https://github.com/cheminfo/profid-padif/blob/e987695347ad241a267bacb31c1be9f08d9f6a2c/src/tools/digital_image_processing.py#L106-L120

In the end:

The comparison functions are applied on the data array directly and not on pixels.
The compute functions return the values for each channel (so the stats are computed on each channel independently).
The stats function was not implemented because it didn't allow a lot of optimisation.