ENH: fix ARGUS distribution for small parameters in stats

Reference issue
Partially addresses #11699. This PR does not fix _rvs, this is done in #11954
What does this implement/fix?

handle small parameters in pdf, sf, cdf and stats
add _logpdf

Additional information
Test cases were generated using mpmath (code to be added here). The test cases all pass with rtol=1e-13 or 1e-14 on my machine.

code to generate test values with mpmath:
import mpmath

mpmath.mp.dps = 70

_norm_pdf_C = mpmath.sqrt(mpmath.mpf('2.0')*mpmath.pi)

def _argus_phi(chi):
    """
    Utility function for the argus distribution
    used in the CDF and norm of the Argus Funktion
    """
    chi = mpmath.mpf(chi)
    return mpmath.ncdf(chi) - chi * mpmath.npdf(chi) - mpmath.mpf('0.5')

def pdf(x, chi):
    x = mpmath.mpf(x)
    chi = mpmath.mpf(chi)
    mp2 = mpmath.mpf('2.0')
    y = mpmath.mpf('1.0') - mpmath.power(x, mp2)
    A = mpmath.power(chi, mpmath.mpf('3.0')) / (_norm_pdf_C * _argus_phi(chi))
    return A * x * mpmath.sqrt(y) * mpmath.exp(-mpmath.power(chi, mp2) * y / mp2)

def sf(x, chi):
    x = mpmath.mpf(x)
    chi = mpmath.mpf(chi)
    mp2 = mpmath.mpf('2.0')
    y = mpmath.mpf('1.0') - mpmath.power(x, mp2)
    return _argus_phi(chi * mpmath.sqrt(y)) / _argus_phi(chi)

def cdf(x, chi):
    return mpmath.mpf('1.0') - sf(x, chi)

def stats(chi):
    chi = mpmath.mpf(chi)
    chi2 = chi*chi
    phi = _argus_phi(chi)
    mp1 = mpmath.mpf('1.0')
    mp4 = mpmath.mpf('4.0')
    m = mpmath.sqrt(mpmath.pi/mpmath.mpf('8.0')) * chi / phi
    m = m * mpmath.besseli(mp1, chi2/mp4) * mpmath.exp(-chi2/mp4)
    v = (mp1 - mpmath.mpf('3.0') / chi2 + chi * mpmath.npdf(chi) / phi) - m*m
    return m, v

def get_test_vals():
    chi = [mpmath.mpf('1e-3'),
           mpmath.mpf('1e-4'),
           mpmath.mpf('1e-6'),
           mpmath.mpf('1e-9')]
    x = [mpmath.mpf('0.1'),
         mpmath.mpf('0.5'),
         mpmath.mpf('0.9')]
    return x, chi

def test_values_pdf():
    x, chi = get_test_vals()

    for c in chi:
        mypdf = lambda u: pdf(u, c)
        v = list(map(mypdf, x))
        vf = [float(v[i]) for i in range(len(v))]
        print('({}, {}),'.format(c, tuple(vf)))

def test_values_sf():
    x, chi = get_test_vals()
    res = {}
    for c in chi:
        mysf = lambda u: sf(u, c)
        v = list(map(mysf, x))
        vf = [float(v[i]) for i in range(len(v))]
        print('({}, {}),'.format(c, tuple(vf)))

def test_values_cdf():
    x, chi = get_test_vals()
    for c in chi:
        mycdf = lambda u: cdf(u, c)
        v = list(map(mycdf, x))
        vf = [float(v[i]) for i in range(len(v))]
        print('({}, {}),'.format(c, tuple(vf)))

def test_values_stats():
    x, chi = get_test_vals()
    for c in chi:
        m, v = stats(c)
        vf = (float(m), float(v))
        print('({}, {}),'.format(c, vf))

def test_values_phi():
    x, chi = get_test_vals()
    for c in chi:
        vf = float(_argus_phi(c))
        print('({}, {}),'.format(c, vf))

print('PDF:')
test_values_pdf()
print('SF:')
test_values_sf()
print('CDF:')
test_values_cdf()
print('Stats:')
test_values_stats()
print('Phi:')
test_values_phi()

code to generate test values with mpmath:
import mpmath

mpmath.mp.dps = 70

_norm_pdf_C = mpmath.sqrt(mpmath.mpf('2.0')*mpmath.pi)

def _argus_phi(chi):
    """
    Utility function for the argus distribution
    used in the CDF and norm of the Argus Funktion
    """
    chi = mpmath.mpf(chi)
    return mpmath.ncdf(chi) - chi * mpmath.npdf(chi) - mpmath.mpf('0.5')

def pdf(x, chi):
    x = mpmath.mpf(x)
    chi = mpmath.mpf(chi)
    mp2 = mpmath.mpf('2.0')
    y = mpmath.mpf('1.0') - mpmath.power(x, mp2)
    A = mpmath.power(chi, mpmath.mpf('3.0')) / (_norm_pdf_C * _argus_phi(chi))
    return A * x * mpmath.sqrt(y) * mpmath.exp(-mpmath.power(chi, mp2) * y / mp2)

def sf(x, chi):
    x = mpmath.mpf(x)
    chi = mpmath.mpf(chi)
    mp2 = mpmath.mpf('2.0')
    y = mpmath.mpf('1.0') - mpmath.power(x, mp2)
    return _argus_phi(chi * mpmath.sqrt(y)) / _argus_phi(chi)

def cdf(x, chi):
    return mpmath.mpf('1.0') - sf(x, chi)

def stats(chi):
    chi = mpmath.mpf(chi)
    chi2 = chi*chi
    phi = _argus_phi(chi)
    mp1 = mpmath.mpf('1.0')
    mp4 = mpmath.mpf('4.0')
    m = mpmath.sqrt(mpmath.pi/mpmath.mpf('8.0')) * chi / phi
    m = m * mpmath.besseli(mp1, chi2/mp4) * mpmath.exp(-chi2/mp4)
    v = (mp1 - mpmath.mpf('3.0') / chi2 + chi * mpmath.npdf(chi) / phi) - m*m
    return m, v

def get_test_vals():
    chi = [mpmath.mpf('1e-3'),
           mpmath.mpf('1e-4'),
           mpmath.mpf('1e-6'),
           mpmath.mpf('1e-9')]
    x = [mpmath.mpf('0.1'),
         mpmath.mpf('0.5'),
         mpmath.mpf('0.9')]
    return x, chi

def test_values_pdf():
    x, chi = get_test_vals()

    for c in chi:
        mypdf = lambda u: pdf(u, c)
        v = list(map(mypdf, x))
        vf = [float(v[i]) for i in range(len(v))]
        print('({}, {}),'.format(c, tuple(vf)))

def test_values_sf():
    x, chi = get_test_vals()
    res = {}
    for c in chi:
        mysf = lambda u: sf(u, c)
        v = list(map(mysf, x))
        vf = [float(v[i]) for i in range(len(v))]
        print('({}, {}),'.format(c, tuple(vf)))

def test_values_cdf():
    x, chi = get_test_vals()
    for c in chi:
        mycdf = lambda u: cdf(u, c)
        v = list(map(mycdf, x))
        vf = [float(v[i]) for i in range(len(v))]
        print('({}, {}),'.format(c, tuple(vf)))

def test_values_stats():
    x, chi = get_test_vals()
    for c in chi:
        m, v = stats(c)
        vf = (float(m), float(v))
        print('({}, {}),'.format(c, vf))

def test_values_phi():
    x, chi = get_test_vals()
    for c in chi:
        vf = float(_argus_phi(c))
        print('({}, {}),'.format(c, vf))

print('PDF:')
test_values_pdf()
print('SF:')
test_values_sf()
print('CDF:')
test_values_cdf()
print('Stats:')
test_values_stats()
print('Phi:')
test_values_phi()

Thanks for the review, Warren! I addressed all your points.

Thanks for the review, Warren! I addressed all your points.

Hi Warren, thanks, that is an important observation. I thought I had tested the usual implementation at the point 0.001 and it was pretty accurate, but as you showed, it is not. The Pade approximant is also a little bit better than the Taylor approximation for small chi, so I will definitely use it.
One point to discuss it is the cutoff point: the approximation is much slower than the default implementation, factor of ~45, for example, at chi=0.1, timeit says:
388 µs ± 11.9 µs # Pade
8.25 µs ± 426 µs # normal cdf/pdf
With the normal pdf/cdf, argus_phi has the following accuracy at chi=0.1:
Max absolute difference: 8.89045781e-18
Max relative difference: 6.70560281e-14
So is the gain of 1-2 digits worth such a decrease in performance? or should we maybe set the cutoff point at 0.1? What do you think?

Hi Warren, thanks, that is an important observation. I thought I had tested the usual implementation at the point 0.001 and it was pretty accurate, but as you showed, it is not. The Pade approximant is also a little bit better than the Taylor approximation for small chi, so I will definitely use it.
One point to discuss it is the cutoff point: the approximation is much slower than the default implementation, factor of ~45, for example, at chi=0.1, timeit says:
388 µs ± 11.9 µs # Pade
8.25 µs ± 426 µs # normal cdf/pdf
With the normal pdf/cdf, argus_phi has the following accuracy at chi=0.1:
Max absolute difference: 8.89045781e-18
Max relative difference: 6.70560281e-14
So is the gain of 1-2 digits worth such a decrease in performance? or should we maybe set the cutoff point at 0.1? What do you think?

I noted that one can rewrite _argus_phi using the lower incomplete gamma function. This seems to be a good compromise in terms of speed / accuracy:
it is much faster than the Pade approximation and accuracy is only slightly lower in some cases (e.g. rtol needs to be changed from 1e-13 to 1e-11)
Code to check this:
import numpy as np
from scipy import special as sc
from numpy.testing import assert_allclose

_norm_pdf_C = np.sqrt(2*np.pi)

def _norm_pdf(x):
    return np.exp(-x**2/2.0) / _norm_pdf_C

def _norm_cdf(x):
    return sc.ndtr(x)

def phi_pade(chi):
    p = [-1.3191273061071934e-05,
         0.0007110770769112332,
         -0.0065672254524213915,
         0.13298076013381088]
    q = [3.81130944737768e-05,
         0.0015075388134494683,
         0.026960355443430166,
         0.2506152209852525,
         1.0]

    chi2 = chi**2
    chi3 = chi*chi2
    return chi3 * np.polyval(p, chi2) / np.polyval(q, chi2)

def phi_gamma(chi):
    return sc.gammainc(1.5, chi**2/2) / 2

def phi_basic(chi):
    return _norm_cdf(chi) - chi * _norm_pdf(chi) - 0.5

x = np.linspace(0.01, 0.5, 30)

assert_allclose(phi_basic(x), phi_pade(x))
assert_allclose(phi_basic(x), phi_gamma(x))

%timeit phi_basic(x)  # 10.8 µs ± 1.51 µs
%timeit phi_pade(x)   # 61 µs ± 10.3 µs
%timeit phi_gamma(x)  # 8.86 µs ± 1.24 µs

@chrisb83 I tested your new code against mpmath using @WarrenWeckesser's script and it looks good.

Also, I agree that it is much faster.  Using your script:
20.3 µs ± 5.83 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)
91.1 µs ± 3.25 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)
11.2 µs ± 1.46 µs per loop (mean ± std. dev. of 7 runs, 100000 loops each)

Remaining test failure is a small tolerance thing. I think we're close here!

Hm, the test failures seem unrelated:
FAILED scipy/stats/tests/test_continuous_basic.py::test_cont_basic[500-200-cosine-arg12]
TypeError: ufunc '_cosine_cdf' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''

I could not try on my computer since I need to fix my dev environment.

My bad, I accidentally removed cosine from fails_cmplx when resolving a conflict. Now all tests pass locally.

How to derive the Taylor expansion for the second moment:
import sympy
x = sympy.Symbol('x', real=True)
u = sympy.Symbol('u', real=True)
npdf = sympy.exp(-x**2/2) / sympy.sqrt(2*sympy.pi)
ncdf0 = sympy.integrate(npdf.subs(x, u), (u, 0, x))
phi = ncdf0 - x*npdf # no need to substract 0.5 since ncdf0 integrates from 0 to x
mu2 = 1 - 3 / x**2 + x *  npdf / phi
sympy.series(mu2, x, 0, 5) # 2/5 + 6/175x**2 + 2/2625 x**4 + O(x**5)

I did a little more comprehensive accuracy checks:
import numpy as np
from scipy.stats import argus
import mpmath
import mpsci.distributions as mpd
import matplotlib.pyplot as plt

mpmath.mp.dps = 80

chivals = np.logspace(-8, 0.5, 1000)
xvals = np.random.rand(100)[:, None]  # for many x values in the support
cdf = argus.pdf(xvals, chivals)
mp_cdf = np.array([[float(mpd.argus.pdf(x, chi, 1)) for chi in chivals] for x in xvals[:,0]])
re = np.max( np.abs(cdf - mp_cdf) / mp_cdf, axis=0)  # maximum relative error

plt.loglog(chivals, re)
plt.xlabel('chi')
plt.ylabel('relative error of argus CDF')
plt.show()

For the CDF:

For the PDF:

These look good to me.

So I think resolves the concerns in gh-11699 except rvs, which is addressed in another PR. Besides the inline comments, I guess my only questions are about the implications of the use of logpdf instead of pdf. Is it possible for that to negatively affect the accuracy somewhere? (I can't think of how that might happen; I just mention it because it has changed more than the rest but is only tested in the same sort of way.)

I also do not see any negative side effects:

x takes only values between 0 and 1, so log1p should be better than log(1+X)
log of phi (the normalizing constant): for small chi, we check the accuracy of the pdf and for larger chi, phi(chi) converges to 0.5, so taking the log is not a problem

I could add a test case though, maybe check a few pdf values, say for chi = 2, 5 and 8 at x=0.1, 0.5 and 0.9?

These look good to me. For the variance, the cutoff could use some fine-tuning, but I'm sure it's better than it was before.

Agree. For large values of chi, the test cases are run with a rtol=1e-8, so for small chi, it is more accurate than that

I could add a test case though, maybe check a few pdf values,

I don't think it's needed.
Other than the remaining comments, I think this looks good.


Description
Utilities to quickly configure how content overflows an element.
Design
https://getbootstrap.com/docs/5.3/utilities/overflow/
Tokens

[ ] Tokens for this component are ready

Tasks
### 💻 Tasks
- [ ] Check in Bitbucket if the classes are used: if not close the ticket
- [ ] HTML/CSS implementation
- [ ] Documentation in Storybook
- [ ] Visual regression tests
- [ ] Design review
- [ ] Remove overflow utilities coming form bootstrap

Usage analysis: found moderate usage for overflow-* classes (100+ results)


Rename Array_Count to ArrayCount

ArrayCount matches Python naming convention
This change should not be polluting the UDF registration PR

Why did just renaming stuff reduce coverage by 0.2%?


bug: Tokyonight background color not changing

Did you check docs and existing issues?

[X] I have read all the tokyonight.nvim docs
[X] I have searched the existing issues of tokyonight.nvim
[X] I have searched the exsiting issues of plugins related to this issue

Neovim version (nvim -v)
v0.9.0
Operating system/version
macOS 12.6.2
Describe the bug
When I use :color scheme tokyonight, the color scheme does not change the background. I am using iterm2, and I have tried running :set t_Co=256, but it doesn't;t work. I have also put this in my neovimrc. My $TERM enviroment varible is xterm-256color, I have never touched this varible. I also put set termguicolors in my setup.
Steps To Reproduce

Download iterm2
Dowload neovim via the official website
Download vim-plug
Add tokyonight, and reload and install
Switch to tokyonight

Expected Behavior
I should see something like this:

But I get this:

Repro
No response

wrong repo. this is the Neovim colorscheme, not the vim one


Added missed unsubscriber from MutationObserver; added more type anno…

Changelog:

Fixed issue with missed unsubscriber from MutationObserver - in the case when text already fits and not needed to call truncate method, we also need to disconnect MutationObserver if watchChanges property was falsy

if (contentHeight > targetHeight) {
  truncate(element, this.lines, this.options.ellipsis, this.handler.bind(this));
} else {
  /* MutationObserver still listening changes in DOM, even if the user hasn't passed `watchChanges = true` as input argument */
  this.hasTruncated.emit(e);
  this.renderer.removeStyle(this.element, "visibility");
}

Added more type annotations

@DiZhou92 , Ok 😉


Visual error.

I use your mod for my Modpack VR MRWS. I use physics mod and a Custom texturepack with new path systm for blocks, the placement works well. But the "Particle" has no texture get a white style with letter T.

It would help if you could share a list of the mods being used and some screenshots of the issue in question

I think it is the  physics mod with the custom ressource pack i test it out and let you know if this is this mod.   https://cdn.discordapp.com/attachments/1093974910164017274/1112731859353342092/2023-05-29_15.14.42.png

What's odd here is it seems like the built-in "resourcepack" that provides generated models isn't being used at all, which would most likely mean for some reason the "AddPackFindersEvent" isn't being fired.

Should hopefully be fixed by
https://github.com/FirEmerald/AdditionalPlacements/commit/183ac9fb9871ab6fb92e45afee3044f8d663f06d
https://github.com/FirEmerald/AdditionalPlacements/commit/ad39799431dd5c0439294d5989a68b669c05a438
https://github.com/FirEmerald/AdditionalPlacements/commit/1ba229add23761004db795cd27be69f298ef9bc1
https://github.com/FirEmerald/AdditionalPlacements/commit/b6615b5a0f3fb313c117f22620a6abd78a427030


1657392 Add descriptions for SEO (1 of 3)

Add descriptions for SEO
For anyone that GitHub notifies, this is for 1657392.
You're welcome but not required, according to KhairunJ's guidance, to review these proposed meta descriptions. I'll leave this PR open for 48 hours and address any feedback. After that, we'll sign off for merge. Thanks!
Please keep in mind our 100-160 char length for descriptions.
Fixes #1657392 (1 of 3)

@BillWagner - these three are a different user story. Please merge when you get a chance.

@BillWagner - should I reach out to @adegeo to merge these? Or should this repo always go to you? Still not clear on how dotnet works -


Add new project

Project title
Text Encrypter
Project Description
This is the simple text encryptor which will work with your desired key.
How to use it -

Write the text in input to encrypt
Write any key-text you want
click on Encrypt
You will get encrypted key
To decrypt you just need to add the decripted text in input
add the same key you have used to encrypt
hit decrypt to decrypt the text

Web stack
HTML5 / CSS3 / JS
Screenshot(mandatory)
Encryption

Decryption

Additional Context(mandatory)
Live link - https://text-encryptor-wheat.vercel.app/
Are you contributing under any open-source program ?
Yes (Codepeak)

@AaadityaG Welcome to METAVERSE!!!!!!!!!!!
Please go through contributing.md before contributing.

@AaadityaG It's really a good project . But from next time please refrain from mentioning a deployment link in the issues.
I have already assigned you. Start contributing.
Happy Coding!!!

Am I eligible to bonus point...🤞🏽

Am I eligible to bonus point...🤞🏽

It totally depends on the review of the project

Am I eligible to bonus point...🤞🏽

It totally depends on the review of the project

Ok


Set index as default x axis for DataFrame

Hi,
this is my attempt at fixing https://github.com/SciRuby/daru/issues/402.
It breaks one test, but otherwise it seems to work.
If you have a better idea on how to do this let me know :)

@matugm ping!

Will work on this today.

Ok I made the requested changes. Only thing left is 2 Rubocop warnings.

@matugm But where's any specs for the new behavior?..

Spec added & also tested manually with IRuby.

Thanks!


Problem with downloaded files not created in your Example

After a successfull download, my files are not created in des directory, so i changed this :
let documentsPath: AnyObject = NSSearchPathForDirectoriesInDomains(.DocumentDirectory,.UserDomainMask,true)[0]
let des =  NSURL(string: documentsPath.stringByAppendingString("/file.pdf"))!

By this :
let fileManager = NSFileManager.defaultManager()
let documentsPath: NSURL = fileManager.URLsForDirectory(.DocumentDirectory,inDomains: .UserDomainMask)[0] as NSURL
let des =  documentsPath.URLByAppendingPathComponent("/file.pdf")

And everytings worked perfectly.

Ok my previous post was not correct at 100%. The bug appear when you set des folder in another not yet created folder, example :
let des =  NSURL(string: documentsPath.stringByAppendingString("/subfolder/file.pdf"))!


Tests launched with flutter drive cannot connect to their own VM Service.

This is probably because of DDS, but potentially because of ADB.
I'll add a test case for this once I figure out which one.

Related issue: flutter drive does not respect the --no-dds flag.

Can confirm that DDS is the issue.

@bkonyi

I saw the same with apps started with flutter run, FWIW, if they connect before the tool, the tool somehow breaks the app's own self-connection.

It's pretty likely that it's the same issue. If you do flutter run --no-dds it may work. If so, it's one more reason to have dds not break this.

I'll investigate once there's a repro.

Here's a simple repro with flutter run:
import 'dart:developer';

import 'package:vm_service/vm_service.dart' as vm;
import 'package:vm_service/vm_service_io.dart';

Future<void> main() async {
  final ServiceProtocolInfo info = await Service.getInfo();
  assert(info.serverWebSocketUri != null);
  vm.VmService vmService = await vmServiceConnectUri(info.serverWebSocketUri.toString());
}

I tried something like this:
  while(true) {
    final ServiceProtocolInfo info = await Service.getInfo();
    print('Using ${info.serverWebSocketUri}');
    await Future.delayed(Duration(seconds: 5));
  }

And the second time it prints out it ends upg etting the DDS URI.

Hmm. It seems like this is slightly less problematic in the flutter run case - but a flutter drive case looks like this:
test_driver/connect.dart:
import 'dart:async';
import 'dart:developer' as developer;

import 'package:vm_service/vm_service.dart' as vm;
import 'package:vm_service/vm_service_io.dart' as vm_io;

import 'package:flutter/material.dart';
import 'package:flutter_driver/driver_extension.dart';
import 'package:flutter_test/flutter_test.dart';

Future<void> main() async {
  final Completer<void> waiter = Completer<void>();
  enableFlutterDriverExtension(handler: (String? request) async {
    if (request != 'done') {
      throw UnsupportedError('Unrecognized request $request');
    }
    await waiter.future;
    return 'done';
  });
  final developer.ServiceProtocolInfo info = await developer.Service.getInfo();
  assert(info.serverUri != null);
  vm.VmService vmService = await vm_io.vmServiceConnectUri(
    'ws://localhost:${info.serverUri!.port}${info.serverUri!.path}ws',
  );
  await vmService.setVMTimelineFlags(<String>['GC']);
  waiter.complete();
  runApp(MaterialApp(home: Placeholder()));
}

test_driver/connect_test.dart:
import 'package:flutter_driver/flutter_driver.dart';
import 'package:test/test.dart' hide TypeMatcher, isInstanceOf;

Future<void> main() async {
  const String fileName = 'animated_image';

  test('Animate for 250 frames', () async {
    final FlutterDriver driver = await FlutterDriver.connect();
    final Timeline timeline = await driver.traceAction(() async {
      await driver.requestData('done');
    });
    final TimelineSummary summary = TimelineSummary.summarize(timeline);
    await summary.writeTimelineToFile(fileName, pretty: true);

    await driver.close();
  });
}

Run with flutter drive -t test_driver/connect.dart --driver test_driver/connect_test.dart

From chat discussion:

Once DDS starts up, the service URL changes and connections to the old URL aren't valid anymore
Service.getInfo is returning the DDS URL if we artificially wait long enough.

dart:developer might want some kind of Dart define that would let it know to expect DDS to start up before returning the server info. That way it could block until DDS is started.
Otherwise, we might want to consider having DDS startup fail if there are any clients connected already. That still would present other timing issues though, e.g. I get the URL immediately but wait to connect until after DDS started. Having Service.getInfo block until we know the real URL is probably better.

There are use cases where tests want to connect to their own VM service, and flutter_driver on the host isn't available. It really isn't essential to have it be dds or not.

The same thing can happen in an application using flutter run, as noted - and it's super confusing to a user when things just stop working because they tried to connect to the URI from Service.getInfo.

I think we've landed on the idea that the best solution here is to just use the --no-dds flag for such tests.
There is some other work to do to make error handling in this case make sense, but that is going to be tracked upstream in dart. That's tracked in https://github.com/dart-lang/sdk/issues/46256

@dnfield When I run flutter test, Service.getInfo will return a error url.
ServiceProtocolInfo info = await Service.getInfo();
String url = info.serverUri.toString();
Uri uri = Uri.parse(url);
Uri socketUri = convertToWebSocketUrl(serviceProtocolUrl: uri);
_service = await vmServiceConnectUri(socketUri.toString());

Here's the detail error log
  Expected: <Instance of 'Exception'>
    Actual: ArgumentError:<Invalid argument(s): No host specified in URI http://:0/null/ws>
     Which: is not an instance of 'Exception'

  package:test_api                                         expect
  package:flutter_test/src/widget_tester.dart 441:3        expect
  test/service/vm_service/service_wrapper_test.dart 63:29  main.<fn>.<fn>.<fn>
  dart:async                                               _completeOnAsyncError
  package:ume/service/vm_service/service_wrapper.dart      ServiceWrapper.getInstances
  ===== asynchronous gap ===========================
  dart:async                                               Future.whenComplete
  test/service/vm_service/service_wrapper_test.dart 63:10  main.<fn>.<fn>
  test/service/vm_service/service_wrapper_test.dart 59:32  main.<fn>.<fn>

  This test failed after it had already completed. Make sure to use [expectAsync]
  or the [completes] matcher when testing async code.
  package:test_api                                         expect
  package:flutter_test/src/widget_tester.dart 441:3        expect
  test/service/vm_service/service_wrapper_test.dart 63:29  main.<fn>.<fn>.<fn>
  dart:async                                               _completeOnAsyncError
  package:ume/service/vm_service/service_wrapper.dart      ServiceWrapper.getInstances
  ===== asynchronous gap ===========================
  dart:async                                               Future.whenComplete
  test/service/vm_service/service_wrapper_test.dart 63:10  main.<fn>.<fn>
  test/service/vm_service/service_wrapper_test.dart 59:32  main.<fn>.<fn>

The url will be http://:0/null/ws.
And I tried --disable-dds on Flutter 2.2.1/2.0.1. It keeps having errors.

Here's an interesting discovery. When I run flutter test --coverage test, the test case will work fine.

Coverage enables the VM service.
You can also just use the --enable-vm-service flag

Coverage enables the VM service.
You can also just use the --enable-vm-service flag

Could not find an option named "enable-vm-service".

--enable-vm-service is a dart flag, right? So how can I use it in flutter test?

Sorry it's --enable-vmservice

(i specifically added the flag for this use case :)

Sorry it's --enable-vmservice

@dnfield
All right. I see... Now it looks hidden by default. Can you consider displaying this parameter?

You can get the full list of parameters by doing flutter test --help -v. We hide the less-frequently used ones to avoid having overly long help text that gets harder for new users to read.


[Quantization] Quantized Ops

please fix the lint errors

I think quantization is an interesting topic, however, it requires large mount of effort to contribute and ensure everything works. Can we make an independent branch on dmlc/nnvm, similar like sparse, so that more people can contribute to the topic?

independent branch means divergence.  The quantization support likely does not need structure change so we will directly push for this effort in the master branch. With the help of TVM stack, the generation of quantized ops becomes easier and we already have some successful examples.
We definitely welcome contribution and involvements. Either via issue, or discussion forum in tvm stack

Quantization is better to be built inside MXNet, and NNVM focuses on generating kernels. Usually in quantization process, fine-tune is required. Ideally, quantization is done in MXNet (with or without fine-tune), then use NNVM to generate lib.

This is mainly for graph level and op def support for quantized models, with simple support for graph re-transformation and do not intend to serve the role of training quantized models

The advantage of quantization within NNVM over MXNet, I think, is that it provides accelerated computation other than CUDA, typically for devices that support OpenCL like AMD GPUs and FPGAs. Besides, well designed neural network should be robust to quantized computation in nature. For instance, the introduction of relu6 over relu would reduce the chance of numeric overflow, while still resist to degenerate accuracy.

@ZihengJiang May I know whether this PR will be merged?

c.f. #518 we will redirect further changes to tvm repo, please open a new PR there. Please invite the original set of reviewers when the new PR is opened so they can review and approve the changes


[$250] IPAD: Extra space on the above attachment - reported by @ahmdshrif

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open app ( on iPad landScape)
go to any chat
send pdf
open the pdf file

Expected Result:
No extra space above the attachment like other platforms.
Actual Result:
There is extra space as shown on the screenshot.
Workaround:
unknown.
Platform:

Where is this issue occurring?

iOS (IPAD)

Version Number: 1.1.88-0
Reproducible in staging?: Y
Reproducible in production?: Y
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

Expensify/Expensify Issue URL:
Issue reported by: @ahmdshrif
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1658374757439919
View all open jobs on GitHub

Seems like a fairly straightforward fix, doubt it was a regression so marking as external

Job created in Upwork -
Internal job posting - https://www.upwork.com/ab/applicants/1559027292353654784/job-details
External job posting - https://www.upwork.com/jobs/~01e3e6cbb28903b6fd

PROPOSAL
I reproduce the problem. The problem seems to be related only to padding. But if we remove the padding, I haven't tested what kind of problem will occur on other screens.

Proposal

This issue happens from this line:
https://github.com/Expensify/App/blob/main/src/components/AttachmentModal.js#L215
This padding was added initially by @marcaaron in this commit
I think he added this padding to look this screen better in large width devices (web, desktop, iPad, android tablet, etc)
Here's differences between with padding and without padding in web, iPad:

Solution

If we want to remove padding in all platforms, we can remove this condition:
this.props.isSmallScreenWidth || this.props.isMediumScreenWidth
and just set like this:
const attachmentViewStyles = styles.imageModalImageCenterContainer;
If we want to remove padding in iPad, android tablet as well as all mobile devices, but still keep padding in web, desktop:

        const attachmentViewStyles = this.props.isSmallScreenWidth || this.props.isMediumScreenWidth || Platform.OS === 'ios' || Platform.OS === 'android'
            ? [styles.imageModalImageCenterContainer]
            : [styles.imageModalImageCenterContainer, styles.p5];

@Expensify/design
There is the equal spacing on top and bottom. So this looks fine to me.

Also on web/desktop we have spacing on all sides.

So this is a valid issue? if so what's expected here?
cc: @Gonals

I agree, that vertical spacing shouldn't be there at that particular iPad size.

Ideally all "wide" platforms would look the same, and the web/desktop mockup is correct.

Just follow up here, I think this means we can close this job without action. Do I have that correct @Gonals?

I believe the final changes are just removing the vertical spacing for iPad and leaving web as-is, right, @shawnborton?

Correct, or said another way - don't target anything based on the actual kind of device, just use width as our breakpoint for determining that extra spacing.

@shawnborton  which width do we will target?
I think if we target the width, not the platform then the behavior is correct. the current behavior allows this extra space if the width counts as a large screen.
my proposal was to use  canUsetTouchScreen  || this.props.isSmallScreenWidth || this.props.isMediumScreenWidth  . to determine this space. but think this will not be correct based on your explanation.

What size would be the breaking point @shawnborton

I feel like we should have a default "desktop" breakpoint right? Perhaps it's "medium"? Basically the first step greater than what we consider to be a standard mobile size.

@shawnborton that's exactly what happened now  .
But the ipad landscape width  is bigger than this beak boint(medium screen).
This extra space will disappear if you rotation ipad  to portrait.

Issue not reproducible during KI retests. (First week)

Not overdue

Issue not reproducible during KI retests. (Second week)

Two weeks and no issue. Let's close this!

Closed the Upwork job.

@Christinadobrzyn I am not sure why this gets close but I still repro the issue

@ahmdshrif which device & version are you testing on?
@mvtglobally and which device were you testing on when you saw that this was no longer happening?

@shawnborton
Apple iPad 6 - 9.7 (2018) & Apple iPad Pro

@shawnborton I test on iPad  12.9  5Th gen simulator (main)
from some code debugging this only appear if the screen has big width. so it may not appear on small iPads or in portrait mode.
@mvtglobally  can you please test on iPad 12.9 on landscape orientation?

Reopening then, as this is a bug that should be fixed.

That makes sense and would be intended behavior. But why do some of the modals not have the left/right padding then?

Okay cool. Thinking more on this, what would it take for us to always force the full bleed to the edges, no matter the device size, just for PDF? Something like this:

Proposal
Proplem
we have some places we introduce the padding
1- safeAreaPadding around modle ( in all screen cases)  :-
https://github.com/Expensify/App/blob/eb9b903e076e34142c6aab0f415c99e41a008ff8/src/components/Modal/BaseModal.js#L125-L135
2- padding around the attachmentModle  ( at least padding:5 in all cases)
https://github.com/Expensify/App/blob/eb9b903e076e34142c6aab0f415c99e41a008ff8/src/components/AttachmentModal.js#L226-L229
Solution  :
we can delete all padding  in PDF  model only like what @shawnborton  suggested here
1- we will introduce an option here to remove the safer area padding :
const modalPaddingStyles = this.props.noContainerPadding ? {}
                            : StyleUtils.getModalPaddingStyles({
                                safeAreaPaddingTop,
                                safeAreaPaddingBottom,
                                safeAreaPaddingLeft,
                                safeAreaPaddingRight,
                                shouldAddBottomSafeAreaPadding,
                                shouldAddTopSafeAreaPadding,
                                modalContainerStylePaddingTop: modalContainerStyle.paddingTop,
                                modalContainerStylePaddingBottom: modalContainerStyle.paddingBottom,
                            });

add it to the type and py default false .
2- onAttchmentModal will intro  check for pdf same to what we use in pdf attachmentView
        const isPDF = (this.props.sourceURL && Str.isPDF(this.props.sourceURL))
        || (this.state.file && Str.isPDF(this.state.file.name || this.props.translate('attachmentView.unknownFilename')));

then pass to modal noContanerPadding with isPDF
                <Modal
                    statusBarTranslucent={false}
                    type={this.state.modalType}
                    onSubmit={this.submitAndClose}
                    onClose={() => this.setState({isModalOpen: false})}
                    isVisible={this.state.isModalOpen}
                    backgroundColor={themeColors.componentBG}
                    onModalHide={this.props.onModalHide}
                    propagateSwipe
+                    noContainerPadding={isPDF}
                >

we also will use the same const to not apply attachment padding
  const attachmentViewStyles = this.props.isSmallScreenWidth || this.props.isMediumScreenWidth || isPDF
            ? [styles.imageModalImageCenterContainer]
            : [styles.imageModalImageCenterContainer, attachmentViewPaddingStyles];

result : -
pdf : -

Cool, yeah I think I prefer the full bleed to edges for the PDF view since we have the gray background already that kind of serves that purpose.

From above comment,

This looks broken to me @shawnborton

I think that's because the white part of the PDF is just almost as wide as the modal right? Not sure what we can do about that.

Limited availability can't get to this sooner, so un-assigning.
@Christinadobrzyn or @Gonals  Can you assign to another C+ by re-applying the External label?

The job posting closed, so creating a new one and doubling the price.
Internal posting: https://www.upwork.com/ab/applicants/1577535703909056512/job-details
External posting: https://www.upwork.com/jobs/~0127f02a834504a600

I am going through the conversations and I am a little lost on the expected behavior here. @Gonals @shawnborton Possible to update a 1-2 liner on the expected behavior?
@ahmdshrif has provided a few proposals with the last one for the check with isPDF. Are we looking for a behavior specific to PDF?

Proposals
I think Padding is added to make larger screens look better, but affects other smaller screens.

Actually in the spirit of platform consistency, what if we just removed that inner padding around all attachments (images, PDF, etc) on both mobile and desktop? I think that will make this way easier and make it so that we aren't juggling different rules for different platforms.

Love that idea!

is this what we expect in all platforms ?

this the Propsal if this is the expected result : -
in : -
https://github.com/Expensify/App/blob/eb9b903e076e34142c6aab0f415c99e41a008ff8/src/components/AttachmentModal.js#L264
change to
-                    <View style={attachmentViewStyles}>

+                    <View style={styles.imageModalImageCenterContainer}>

in  src/components/Modal/BaseModal.js
             const modalPaddingStyles = StyleUtils.getModalPaddingStyles({
                            safeAreaPaddingTop,
                            safeAreaPaddingBottom,
                            safeAreaPaddingLeft,
                            safeAreaPaddingRight,
-                            shouldAddBottomSafeAreaPadding,
+                            shouldAddBottomSafeAreaPadding: false,
                            shouldAddBottomSafeAreaPadding,
                            shouldAddTopSafeAreaPadding,
                            modalContainerStylePaddingTop: modalContainerStyle.paddingTop,
                            modalContainerStylePaddingBottom: modalContainerStyle.paddingBottom,
                        });

Awesome, yup that looks good to me!

@aimane-chnaif
but your solution does not remove the bottom padding that's come from 'src/components/Modal/BaseModal.js' on all platforms.
and that's a necessary part. to get the full result.

Thanks a lot folks for the proposals and the discussions here. While both of you made good points, and the proposals have gone through 1-2 revisions, I am inclined to choose @aimane-chnaif's proposal here.  Primarily because they first pointed out the iPhone padding that is generally required along with the attachment View styling.
I would personally prefer having shouldAddBottomSafeAreaPadding. But let @shawnborton comment once and give his go ahead too.
🎀 👀 🎀
C+ reviewed

Could someone show me an example of what it would look like with shouldAddBottomSafeAreaPadding?

@shawnborton when you have a moment can you take a peek at the ^ and see if that's a good fit! TY!

Hmm so I kind of think we can just omit the shouldAddBottomSafeAreaPadding - otherwise we might get a weird gap at the bottom. I understand why that exists (for the home bar) but at the same time, not every attachment will be vertical and thus most of the time I think an attachment will go full bleed horizontally and thus we don't need to worry about the bottom portion. Not only that, but you can also pinch to zoom/move around right? So yeah, I think I lean towards not using the SafeAreaPadding here. Thoughts?

Nice, I think that looks good to me 👍

Based on the screenshots and the expected behavior, I am still inclined to go with @aimane-chnaif's proposal. https://github.com/Expensify/App/issues/10352#issuecomment-1279529089
@Gonals All yours.
🎀 👀 🎀
C+ reviewed
Thanks for the patience @aimane-chnaif and @ahmdshrif.

sorry @mananjadhav   but I think you didn't get the point from my comment here about the effect of the other models??
@aimane-chnaif changed the style of the base modal, not that AttachmentModal only. so every component used it will be affected.
form the style here  confirm modal. and  Popover (which use in PasswordPopover ) does not need any padding on small or big screens.  and with this change, you will add to them.
to do a safe change we should add this as a prop on the base module and pass them from the attachment modal only.
or just do the same as I propose above :-
+ shouldAddBottomSafeAreaPadding = shouldAddBottomSafeAreaPadding && isSmallScreenWidth;
+ shouldAddTopSafeAreaPadding = shouldAddTopSafeAreaPadding && !isSmallScreenWidth;

it's the same result  Aimane proposes BUT does not affect other components that use the base modal component.
what do you think @aimane-chnaif  @mananjadhav ?

sorry @aimane-chnaif my bad. I am losing this point because of many changes. in our conversation.

@Gonals Did you get a chance to look at this comment?

@Gonals bump ^

@aimane-chnaif proposal looks good to me too!

Old job expired - created a new one:
New Job Posting Internal - https://www.upwork.com/ab/applicants/1585519240403746816/job-details
New Job Posting External - https://www.upwork.com/jobs/~01046f338d67a67757
Hired
@mananjadhav as C+
@aimane-chnaif as the contributor fixing the issue
@ahmdshrif $250 for reporting the issue

@Gonals @Christinadobrzyn Can you please add a Design label to this task? We need inputs/review from @shawnborton and team for the UI behavior.

@mananjadhav I commented over on the PR! Will add myself here too.

Looks like the PR is up - https://github.com/Expensify/App/pull/12130
@mananjadhav @shawnborton @Gonals where are we with reviewing the PR? Can we get an update on what needs to happen to get this finished?

@Christinadobrzyn The changes I reviewed, I am currently testing them. I'll take me a day or two to finish testing on all platforms

C+ Review done on the PR

@Christinadobrzyn I can say we never design the AttachmentView for iPad. Hence, the fix was to also refactor the component to remove all the padding. Do you still need the PR?

@mananjadhav that might be a question for @Gonals
@aimane-chnaif what do you think is fair compensation for the work you've done - I can discuss with our team.

padding adjusted this way and then with the discussions above, we've refactored the UI to remove the padding altogether.

I don't think we need the PR in this case, since it wasn't really a bug, just a change in design down the line.

Thanks for the extra information @aimane-chnaif I reached out to our team to get some thoughts. I'll follow up as soon as I have more information from them and pay this.

@Christinadobrzyn do you have any updates for us here?

Sorry for the delay.  Closed the job in Upwork and closing this.
I paid
@aimane-chnaif $750 for the fix
@mananjadhav $750 as the C+
@ahmdshrif $250 for reporting the bug
Let me know if you have any questions!

Hey @mananjadhav sorry, I missed your question here https://github.com/Expensify/App/issues/10352#issuecomment-1310606440
Yes, can you please send me the PR that caused the issue so I can record it in test rail.

Yes, can you please send me the PR that caused the issue so I can record it in test rail.

Please check the response here


Mention similar and useful utils (suggestion)

There are similar tools around (like split) and tools that may be nice to know about when you're dealing with multiple files (like Parchive).
Should they be mentioned in Readme?

Hey @ivan-kolmychek,
yes, I know of split and other Linux/gnu tools that do similar tasks, though I am making this Gem to have more features built in, e.g. ability to name files according to a pattern. Also, the aim is to be only Ruby dependent, meaning, let is play on Windows too (which is what I currently work on).
Mentioning those tools is a good suggestion. Let me include them when I am done with fixing Windows bugs.
Thanks! :)


[Refactor] Replace waitTransactionVisible with VisibleStateWaiter

Compared with VisibleStateWaiter, function waitTransactionVisible() has some unnecessary checks and locks.
What type of PR is this：

[ ] bug
[ ] feature
[ ] enhancement
[x] refactor
[ ] others

[FE PR Coverage Check]
:disappointed: fail : 14 / 28 (50.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/transaction/TransactionState.java
1
4
25.00%
[308, 508, 509]

:large_blue_circle:
com/starrocks/transaction/VisibleStateWaiter.java
4
11
36.36%
[24, 25, 26, 27, 28, 44, 45]

:large_blue_circle:
com/starrocks/transaction/DatabaseTransactionMgr.java
4
8
50.00%
[380, 384, 605, 609]

:large_blue_circle:
com/starrocks/transaction/GlobalTransactionMgr.java
5
5
100.00%
[]

@mergify rebase

[FE PR Coverage Check]
:disappointed: fail : 14 / 28 (50.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/transaction/TransactionState.java
1
4
25.00%
[308, 508, 509]

:large_blue_circle:
com/starrocks/transaction/VisibleStateWaiter.java
4
11
36.36%
[24, 25, 26, 27, 28, 44, 45]

:large_blue_circle:
com/starrocks/transaction/DatabaseTransactionMgr.java
4
8
50.00%
[380, 384, 605, 609]

:large_blue_circle:
com/starrocks/transaction/GlobalTransactionMgr.java
5
5
100.00%
[]

run starrocks_fe_unittest

run starrocks_fe_unittest

[FE PR Coverage Check]
:disappointed: fail : 14 / 28 (50.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/transaction/TransactionState.java
1
4
25.00%
[308, 508, 509]

:large_blue_circle:
com/starrocks/transaction/VisibleStateWaiter.java
4
11
36.36%
[25, 26, 27, 29, 31, 47, 48]

:large_blue_circle:
com/starrocks/transaction/DatabaseTransactionMgr.java
4
8
50.00%
[380, 384, 605, 609]

:large_blue_circle:
com/starrocks/transaction/GlobalTransactionMgr.java
5
5
100.00%
[]

run starrocks_admit_test


Allow ext::auth to register and authenticate with WebAuthn

Implement the Web Authentication API specification to allow users to register with email + WebAuthn generated credentials, and then authenticate with those credentials.
Specifically out of scope for now is multi-factor authentication with WebAuthn and recovery options.

Done in #6791 and #6792


modified auth_meth parameter value

Closing in favor of #259 (which was opened to avoid a merge conflict).


adds support for convenient travis builds with forked repos and branches

requires adding DOCKER_IMAGE env in travis, allows simple building from forked repository without any changes and push to a custom docker repository with latest or branch tag

Seems that PR #4 has made it's way into this too - could you cherry pick 7264212 so it is alone?


Created basic CI CD setup and getting strange error

It builds and runs fine.
C:\Program Files\dotnet\sdk\2.0.2\Sdks\Microsoft.NET.Sdk\build\Microsoft.PackageDependencyResolution.targets (323, 5)
C:\Program Files\dotnet\sdk\2.0.2\Sdks\Microsoft.NET.Sdk\build\Microsoft.PackageDependencyResolution.targets(323,5): Error : Assets file 'd:\a\1\s\QuickApp\DAL\obj\project.assets.json' not found. Run a NuGet package restore to generate this file.
C:\Program Files\dotnet\sdk\2.0.2\Sdks\Microsoft.NET.Sdk\build\Microsoft.PackageDependencyResolution.targets (165, 5)
C:\Program Files\dotnet\sdk\2.0.2\Sdks\Microsoft.NET.Sdk\build\Microsoft.PackageDependencyResolution.targets(165,5): Error : Assets file 'd:\a\1\s\QuickApp\DAL\obj\project.assets.json' not found. Run a NuGet package restore to generate this file.
Process 'msbuild.exe' exited with code '1'.

missing a "dotnet restore" before the build ?

I ran that on the DAL still same error. Oh well. Ill have to revisit this maybe some other day.. I was hoping it would just 'work'

What does your build definition look like?
If you can enable the YAML builds preview feature for your account, you can export your build definition as a YAML file and attach it to this thread.  https://docs.microsoft.com/en-us/vsts/collaborate/preview-features

This doesn't look like a CI or task issue - it looks like your build and nuget is outputting an error and the task is correctly reporting it.  There's an ask for more details above.  Need more info to repro.

For future readers: this definitely looks like you need a dotnet restore step before your build. If you use the ASP.NET Core build template, you should have such a step already. If not, add the '.NET Core' build task from the catalog and select the "restore" command from the dropdown.
I'm going to close this for now since it's been 8 days since the filer commented. Please feel free to comment and tag me if you're able to continue troubleshooting and the advice above doesn't solve your issue.

@alexmullans FYI, just for long-tail (one data point, not actionable)
I hit this same symptom today, missing {project}\obj\project.assets.json, where project was my DAL library, which is netstandard 2.0 project, the rest of my projects are 4.x.
But project.assets.json was missing b/c of what looked like an MSBuild race condition, or if it wasn't a race the error message didn't make sense to me.
2017-12-22T20:43:44.8908707Z [command]d:\a\_tool\NuGet\4.3.0\x64\nuget.exe restore d:\a\1\s\MyApp.sln -Verbosity Detailed -NonInteractive -ConfigFile d:\a\1\Nuget\tempNuGet_1738.config
2017-12-22T20:46:56.4035420Z NuGet Version: <IP_ADDRESS>06
2017-12-22T20:46:56.4041837Z MSBuild auto-detection: using msbuild version '<IP_ADDRESS>001' from 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\bin'. Use option -MSBuildVersion to force nuget to use a specific version of MSBuild.
2017-12-22T20:46:56.4048682Z MSBuild P2P timeout [ms]: 120000
2017-12-22T20:46:56.4056237Z C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\bin\msbuild.exe "d:\a\_temp\NuGetScratch\re1o55sm.wwh.nugetinputs.targets" /t:GenerateRestoreGraphFile /nologo /nr:false /v:q /p:NuGetRestoreTargets="d:\a\_temp\NuGetScratch\sahnchut.eth.nugetrestore.targets" /p:RestoreTaskAssemblyFile="d:\a\_tool\NuGet\4.3.0\x64\nuget.exe" /p:RestoreSolutionDirectory="d:\a\1\s" /p:RestoreConfigFile="d:\a\1\Nuget\tempNuGet_1738.config"
2017-12-22T20:46:56.4083540Z NuGet.CommandLine.CommandLineException: MsBuild timeout out while trying to get project to project references.
2017-12-22T20:46:56.4090852Z    at NuGet.CommandLine.MsBuildUtility.<GetProjectReferencesAsync>d__6.MoveNext()
2017-12-22T20:46:56.4091311Z --- End of stack trace from previous location where exception was thrown ---
2017-12-22T20:46:56.4091591Z    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
2017-12-22T20:46:56.4091835Z    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
2017-12-22T20:46:56.4092073Z    at NuGet.CommandLine.RestoreCommand.<GetDependencyGraphSpecAsync>d__48.MoveNext()
2017-12-22T20:46:56.4092336Z --- End of stack trace from previous location where exception was thrown ---
2017-12-22T20:46:56.4092562Z    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
2017-12-22T20:46:56.4092792Z    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
2017-12-22T20:46:56.4105295Z    at NuGet.CommandLine.RestoreCommand.<DetermineInputsFromMSBuildAsync>d__43.MoveNext()
2017-12-22T20:46:56.4105762Z WARNING: Error reading msbuild project information, ensure that your input solution or project file is valid. NETCore and UAP projects will be skipped, only packages.config files will be restored.
2017-12-22T20:46:56.4106078Z Restoring NuGet package Antlr.<IP_ADDRESS>.
2017-12-22T20:46:56.4106288Z Restoring NuGet package Autofac.4.6.0.

@yzorg thanks; I'll forward this to the dotnet team to take a look.


Update Master Detail Sample

What kind of change does this PR introduce?
update
What is the current behavior?
#288
What is the new behavior?
Able to build MasterDetail Sample Solution
Please check if the PR fulfills these requirements

[] Tests for the changes have been added (for bug fixes / features)
[] Docs have been added / updated (for bug fixes / features)

Other information:

Thanks for this. Much appreciated.

Thanks for this. Much appreciated.


feat: custom checks: perform submatch checks in map/object attributes

making it possible to perform subMatch checks in map/object attributes (previously only possible on blocks).
implementation leaves space for possible future expansion to other attribute types
slight reformatting of the processing.go file
added tests for the above changes

solves #1367

Hey @gabrielleecredera  - not ignoring this - we just need to get v1 out the door then I'll get stuck into this PR

@owenrumney i think you undid the changes to the docs in the merge


Mod requests

Iris compat with flywheel seemed to not be working
Optifine broekn early on, not added back yet

Optifine will not be the efficiency mod going forward.
Check Sodium, Indium compat with forgified fabric API.

Find mod to make harvesting tall trees easier. Either:

Mining out the base of a tree will cause the rest of it to collapse
Trees get vein-mined

Embeddium and shaders working properly. Issue now for other mods to look into, requests from players.

need zoom mod replacement still

Zoom mods unlikely to work well with LODs. Closing for now.


Two Bugs with Text Reflowing

Hi,
I noticed two bugs with how the text reflowing is working in the latest release.
I attached a minimal example to reproduce the issue:
example.pdf
output.pdf
You can run those with this code:
from PyPDFForm import PdfWrapper

filled = PdfWrapper("example.pdf").fill(
    {
        "Text1": "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.  Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?",
        "Text2": "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. NEMO ENIM IPSAM VOLUPTATEM QUIA VOLUPTAS SIT ASPERNATUR AUT ODIT AUT FUGIT, SED QUIA CONSEQUUNTUR MAGNI DOLORES EOS QUI RATIONE VOLUPTATEM SEQUI NESCIUNT. NEQUE PORRO QUISQUAM EST, QUI DOLOREM IPSUM QUIA DOLOR SIT AMET, CONSECTETUR, ADIPISCI VELIT, SED QUIA NON NUMQUAM EIUS MODI TEMPORA INCIDUNT UT LABORE ET DOLORE MAGNAM ALIQUAM QUAERAT VOLUPTATEM. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?",
        "Text3": "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.  Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?",
    },
)

with open("output.pdf", "wb+") as output:
    output.write(filled.read())

Issue 1: Mixing uppercase sententences with lowercase sentences makes the text reflow utility not work as expected.
Issue 2: The text box size sometimes conflicts with the decisions that the text reflower made, breaking up words in the middle or forcing new line breaks randomly in the text. This is difficult to explain but the third box shows what is happening. The word at the end of the second sentence should be "ab" but "a" and "b" are split across two lines. Similarly, the "?" on the fourth to last line should remain with the word before and there shouldn't be a line break after it.

Thanks for bringing this up. I may not have time to look at this issue recently but I'm currently working on something that may resolve your issue indirectly. Let me get back to you later.

Hey, sorry for a rather late response. I have been quite busy.
With v1.4.13, I have added (or I should really say added back) FormWrapper to the library. Although it won't directly address your issues through PdfWrapper it does allow you to fill a form in place as if you were filling it manually. I tried the form you linked in this thread and it came out pretty good.
Here is the doc for it. Give it a try and let me know what you think. Also if you still want me to look into these issues in PdfWrapper I'm more than happy to, just won't happen pretty soon because I have been quite busy with life and stuffs. Also if you could tell me approximately at which version this started breaking that would help me a lot in triage this.

In v1.4.14 you can flatten a PDF form when filling it using FormWrapper, described in that same doc I linked you earlier.
I also took a look at the release history and it looks like the only two releases in December were v1.3.4 and v1.3.5. I will try to start taking a look at the diffs between now and these two releases later this week.

Haven’t released yet.  Glad it worked out :D


String conversions in mistral workflows

I think we need some means to convert yaml dicts (objects) to json (string) in mistral workflows
Something like extra-vars: '<% json($.ansible_extra) %>'
Where ansible extra would be published as something like:
        ansible_extra:
          channel: '<% $.rhn_channel %>'
          rset: <% $.rhn_reset %>
          skip_reg: <% $.rhn_skip_registration %>

I publish ansible_extra object here defined in YAML, and all I need is to either provide it as is to other action, but converted to string, or convert it to JSON representation as a string and feed it to another action.

I think this is the problem I'm having.  I'm trying to pass an object from a mistral workflow to an action chain, the object gets mangled in the handoff.  I would love to pass the object as a JSON string, but it looks like that's not possible?


ApiException: (404) Reason: Resource Not Found

Greetings,
I'm trying to run a batch transcription for the first time, i have all the required parameters for transcription class except one is still missing, i can't find it and i don't know to what it refers, which is the ID of the transcription, could someone please tell me what exactly is it? how can i get it?
'def transcribe_from_container(uri, properties):
"""
Transcribe all files in the container located at uri using the settings specified in properties
using the base model for the specified locale.
"""
transcription_definition = cris_client.Transcription(
name=NAME,
description=DESCRIPTION,
locale=LOCALE,
recordings_url=uri,
properties=properties,
id=  )
return transcription_definition'

i tried the key of my speech service resource and it showing the same error.

Your support is highly appreciated,
Jay

Hi @JayR7 , you don't need to pass an id when creating a transcription; the id is generated by the service. Please have a look at the sample code for Python. Thanks!

Hi @chlandsi,
Thanks for your prompt response!
Actually, i tried at the beginning not passing an id, but it was showing me the error below:

so that's why i thought i have to pass an id.

Hi @JayR7 , it looks like you are using the sample against an outdated version of the swagger client (for the version 2.0 of the API, the sample is for the v3.0 version). Please remove the client package (something like pip uninstall swagger_client) and then follow the full installation instructions from the sample again.

Thanks a lot, truly appreciate the support!


Request: option to include description as comments

Given:
import { z } from 'zod'
import { zodToTs } from 'zod-to-ts'

// define your Zod schema
const UserSchema = z.object({
	username: z.string().describe("User's name"),
	age: z.number().describe("User's age"),
	inventory: z.object({
		name: z.string().describe("Item name"),
		itemId: z.number().describe("Item ID number"),
	}).array(),
})

// pass schema and name of type/identifier
const { node } = zodToTs(UserSchema, 'User')
const nodeString = printNode(node, { descriptions: true })

Result:
"{
  username: string  // User's name
  age: number  // User's age
  inventory: {
    name: string  // Item name
    itemId: number  // Item ID number
  }[]
}"

Obviously in this case the descriptions are purely redundant but for the use cases I have in mind the comments could add real value.

Not sure if this package is updated. But I needed something today that had coerce, nullable, defaults, date and inline comments. So here it is, if someone can make it a module. https://gist.github.com/kevbook/861e0885296827bf15530e3a921e1246


Can't update S3 Box because of duplicate OTA instance

Hi there,
This is my yaml config:
packages:
  esphome.voice-assistant: github://esphome/firmware/wake-word-voice-assistant/esp32-s3-box.yaml@main

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: "ESPHome Fallback"
    password: !secret api_password

ota:
  - platform: esphome
    password: !secret api_password

Every time I try to compile this, I get this error:
Failed config

ota.esphome: [source /data/packages/c46f54c1/wake-word-voice-assistant/esp32-s3-box.yaml:85]

  Only one instance of the esphome ota platform is allowed per port. Note that this error may result from OTA specified in packages.
  platform: esphome
  id: ota_esphome
  version: 2
  port: 3232

Since all my devices use a password for OTA I'm not sure how to solve this. Can somebody help me fix this? Thanks!

I've had the same issue too, for some reason even when I change the hostname it seems to always add the id after the name. I had to use a static IP to get it to update or listen to the logs

I've hit the same issue now too. Seems like there ought to be a way to add a password to an existing esphome ota instance, that way there isn't an esphome ota instance available without a password.

I think the extend keyword can be used to modify the default esphome ota instance and add a password to it like so:
ota:
  - id: !extend ota_esphome
    password: !secret esp32_s3_box_3_01_ota_esphome_password

I guess that may not even be necessary due to esphome/esphome#7001 being merged.


Pretrained model download link is down

Hi thank you for the great work! I would like to try this out but found the Google Drive link for downloading the pre-trained network model is invalid. Will you make it back online again? Thanks!

Looking for the same.


Investigate alternative stream definitions

There exist two branches that previously explored different configurations and input datasets especially how they relate to the initial stream definitions that are hydro-enforced and whether or not they are seeded to re-derive a new network. This task involves evaluating the value of bringing these branches forward to be compatible with the latest dev commit.

foss-fim-nwm-streams: Hydro-enforces (burns) NWM channels and not the NHD+HR subset. For demDerived_reaches.shp, the NWM headwater points are directly seeded instead of the current points that are NWM points snapped to nearest NHD+HR line. This may have value because it reduces the dependency on NHD+HR channel lines and the VAA. So less input data storage requirements and less processing requirements to subset these files to the NWM stream density.
foss-fim-no-seeding-config: Still hydro-enforces (burns) the NHD+HR subset but does not seed so does not use streamnet. Involves less processing and less intermediary data. Streamnet is currently the memory bottleneck due to it's watershed feature which is not required.

There may also be value in considering a third branch that is like foss-fim-nwm-streams where it burns the NWM channels but then doesn't seed.
If value is seen in bringing these branches/configuration methods forward, we can include in testing.

@BrianAvant-NOAA Do your recent improvements get at the heart of this issue?

@BradfordBates-NOAA no, this is still a low priority task.

FIM v4.x implements the first item here, but not the second since we still use the streamnet function. I think that we would end up with more cases like #824 if we implemented 2 since streamnet allows for a little variation between the NWM streamlines and the DEM-derived lines.


Optimize: index.js

What:

Performance updates:

join()s are slower than string concatenation
fixed new RegExp(classes[0]) -- was re-creating per loop
replace RegExp.test with 38-52X faster alternatives
remove problematic implicit casting -- de-opts function

Bugfix: Long/multi-@media blocks were not caught by RegExp pattern. Resulted in inverted (ergo, invalid) CSS rule.

Updated Jest snapshot as a result of this!

Why:

Requested // it's fun
Fix the bug 😅

Codecov Report

Merging #126 into master will increase coverage by 0.48%.
The diff coverage is 93.75%.

@@            Coverage Diff             @@
##           master     #126      +/-   ##
==========================================
+ Coverage    88.4%   88.88%   +0.48%
==========================================
  Files          16       16
  Lines         595      594       -1
  Branches      131      133       +2
==========================================
+ Hits          526      528       +2
+ Misses         55       53       -2
+ Partials       14       13       -1

Impacted Files
Coverage Δ

src/index.js
93.67% <93.75%> (-1.33%)
:arrow_down:

jest-utils/serializer.js
95.91% <0%> (+8.16%)
: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 3a856be...25f5ca4. Read the comment docs.


[FLINK-12399][table] Fix FilterableTableSource does not change after applyPredicate

What is the purpose of the change
This PR fixes the problem: FilterableTableSource does not generate a new digest after the predicate push down, unless explainSource() API is explicitly override.
Brief change log

Changed the explainTerm API from FlinkLogicalTableSourceScan to include auxiliary source description.
Changed the TestFilterableTableSource to include both the none explainSource and with explainSource version.
Added test to both stream and batch cases.

Verifying this change

Tests for both stream and batch cases for predicate push down without explainSource override.
Others are covered for current tests.

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? n/a

@flinkbot attention @godfreyhe

@flinkbot attention @beyond1920

@walterddr good catch, we also encountered the problem in Blink before.
The key question is that the explainSource value of new TableSource should be different with the original one after partition prune or filter push down or query push done, however the method name (explainSource) cannot indicate the meaning explicitly.
The solution to pattern match FilterableTableSource in FlinkLogicalTableSourceScan is not perfect, since it ignores PartitionableTableSource,  AggregatePushDownTableSource and so on.
Maybe it's better to refactor current API explainSource in TableSource to explicitly indicates the value should be an identifier for this Tablesource, the identifier must be unique. That meanings, after project push down or filter push down or query pushdown, the identifier value of new TableSource
should be different with the original one.

Thanks for the review @beyond1920 . Yes I agree that the solution is mostly a bare minimum to fix the bug at this moment. I was actually trying to re-architecture the way how TableSource interfaces works, since the explainSource extends from TableSource it doesn't actually contain any information of whether this is a predicate push-down source type.
However changing the API might take some time for designing. I will start a design doc and attached to the JIRA discussion, what do you think?

@walterddr thanks for the fix.  It's a little difficult for users to understand explainSource and implement it, even though we rename explainSource to getSourceDigest(or other names). could we keep the logic about re-compute digest after push down in rules ?

@godfreyhe yeah you are right. this is not exactly "explain source", ideally speaking we need to put "what filter has been pushed down" in the explainSource result since that actually "explain" the data source.
I will draft a design to change the API in the JIRA. how about we move the discussion there? I will close this PR if we all agree.

close based on comments, will open a new one @godfreyhe @beyond1920


Fix errors in setup documentation

fix paths and output when registering Agda2HS as a library
fix information about where Agda2HS will output the Haskell file(s)

Thanks!


DANG 1290 removed vertical centering

JIRA
https://lobsters.atlassian.net/browse/DANG-1290
Description
The heading text is not aligned horizontally across multiple Megabuttons with images. Removed vertical centering to fix this.
Screenshots
Before

After

Also please update the CHANGELOG for this version update, otherwise looks good! 👍

I see you added this new story, nice thanks


CP-SAT solver -- 'int' object is not subscriptable

What version of OR-tools and what language are you using?
Version: v7.6
Language: Python
Which solver are you using (e.g. CP-SAT, Routing Solver, GLOP, BOP, Gurobi)
CP-SAT
What operating system (Linux, Windows, ...) and version?
Windows10
What did you do?
count_nonstop_work = {}
for p in all_people:
    for d in all_days:
        count_nonstop_work[(p, d)] = model.NewIntVar(0, ub, "count_nonstop_work_{}_{}".format(p, d))

for p in all_people:
    for d in all_days:
        if sum(y[(p, d, c)] for c in all_classes) == 1:
            if d == 0:
                model.Add(count_nonstop_work[(p, d)] == 1)
            else:
                model.Add(count_nonstop_work[(p, d)] == count_nonstop_work[(p, d - 1)] + 1)
        else:
            model.Add(count_nonstop_work[(p, d)] == 0)
        model.Add(s[(p, d)] == count_nonstop_work[(p, d)])

What did you expect to see
No error
What did you see instead?
Traceback (most recent call last):
  File "G:/employee_scheduling/solution.py", line 173, in <module>
    model.Add(s[(p, d)] == count_nonstop_work[(p, d)])
TypeError: 'int' object is not subscriptable

Doesn't seems related to OR-Tools, looks like a simple Python error instead.
What is s? Is it a dict?

Doesn't seems related to OR-Tools, looks like a simple Python error instead.
What is s? Is it a dict?

s is defined like :
s = {}  # 员工已连续上班天数
for p in all_people:
    for d in all_days:
        s[(p, d)] = model.NewIntVar(0, ub, 's_p%id%i' % (p, d))

definitely a python error.
Laurent Perron | Operations Research |<EMAIL_ADDRESS>| (33) 1 42 68 53
00
Le jeu. 30 avr. 2020 à 14:39, whoknowsname<EMAIL_ADDRESS>a
écrit :

Doesn't seems related to OR-Tools, looks like a simple Python error
instead.
What is s? Is it a dict?
s is defined like :
s = {}  # 员工已连续上班天数
for p in all_people:
for d in all_days:

    s[(p, d)] = model.NewIntVar(0, ub, 's_p%id%i' % (p, d))

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/1993#issuecomment-621807579,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3NEPVYCCH3CIVOBPM3RPFWPZANCNFSM4MVPPNBA
.

Helped him privately, s was being reassigned...
I think you can close this now as it was a programming bug anyway.

Helped him privately, s was being reassigned...
I think you can close this now as it was a programming bug anyway.

i have closed it

Thanks @stradivari96  !


(PDB-2434) PDB status missing in PE

This splits the status functionality out into its own TK service so it can be
shared with PE routing.

Refer to this link for build results (access rights to CI server needed):
http://jenkins-enterprise.delivery.puppetlabs.net/job/enterprise_puppetdb_init-multijob_githubpr-master/522/
Test PASSed.


SwipeableListView does not allow custom getNewDataSource parameters

Description
Basically SwipeableListView does not allow for custom parameters in the getNewDataSource Method.
I've made changes locally to allow for this but am inexperienced with pull requests and the such so I'd rather bring it here for discussion first.
Solution
 static getNewDataSource(): Object {
    return new SwipeableListViewDataSource({
      getRowData: (data, sectionID, rowID) => data[sectionID][rowID],
      getSectionHeaderData: (data, sectionID) => data[sectionID],
      rowHasChanged: (row1, row2) => row1 !== row2,
      sectionHeaderHasChanged: (s1, s2) => s1 !== s2,
    });
 }

And this is my local edit:
static getNewDataSource(params: ParamType): Object {
    return new SwipeableListViewDataSource({
	  getRowData: (params.getRowData) ?
	  	params.getRowData : (data, sectionID, rowID) => data[sectionID][rowID],
	  getSectionHeaderData: (params.getSectionHeaderData) ?
	  	params.getSectionHeaderData : (data, sectionID) => data[sectionID],
	  rowHasChanged: (params.rowHasChanged) ?
	  	params.rowHasChanged : (row1, row2) => row1 !== row2,
	  sectionHeaderHasChanged: (params.sectionHeaderHasChanged) ?
	  	params.sectionHeaderHasChanged : (s1, s2) => s1 !== s2
    });
}

Additional Information

React Native version: 0.39.2
Platform: Android
Operating System: Windows

Updated to 0.42 and still the same issue, I just make the change locally each time and it works fine but still haven't got around to doing a proper PR could anyone else have a look at this?

Hi there! This issue is being closed because it has been inactive for a while.
But don't worry, it will live on with Canny! Check out its new home: https://react-native.canny.io/feature-requests/p/swipeablelistview-does-not-allow-custom-getnewdatasource-parameters


Fix WorldInteractiveMarkerViewer bug when removing Skeletons

If a Skeleton is removed and a new Skeleton with the same name is added quickly enough (before the viewer refreshes and removes the original Skeleton), the new Skeleton is not visualized. This PR fixes this bug by using the actual SkeletonPtr as the key in WorldInteractiveMarkerViewer, rather than its name.
At some point, we could fix this by registering callbacks to World that are called when adding or removing Skeletons.

Before creating a pull request

[x] Document new methods and classes
[x] Format code with make format

Before merging a pull request

[x] Set version target by selecting a milestone on the right side
[ ] Summarize this change in CHANGELOG.md
[x] Add unit test(s) for this change

This is a good catch! I made some suggestions.

I changed the code according to the suggestions. @brianhou Could you take a look at the change for sure?


layout changes for comment text listing

Issue #:
https://github.com/bcgov/met-public/issues/1223
Description of changes:

changes made to list the submission id on read all comments page instead of comment id
changed the layout of the page to group all comments related to a submission as one row with the related question.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the met-public license (Apache 2.0).

Codecov Report

Merging #1232 (ae327b3) into main (14b301a) will increase coverage by 0.35%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1232      +/-   ##
==========================================
+ Coverage   73.19%   73.55%   +0.35%
==========================================
  Files         281      273       -8
  Lines        7947     7740     -207
  Branches      563      563
==========================================
- Hits         5817     5693     -124
+ Misses       2050     1967      -83
  Partials       80       80

Flag
Coverage Δ

metweb
67.84% <ø> (ø)

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

Impacted Files
Coverage Δ

met-api/src/met_api/models/widget.py
84.09% <0.00%> (-0.36%)
:arrow_down:

met-api/src/met_api/models/__init__.py
100.00% <0.00%> (ø)

met-api/src/met_api/resources/__init__.py
100.00% <0.00%> (ø)

met-api/src/met_api/schemas/widget_events.py

met-api/src/met_api/constants/event_types.py

...-api/src/met_api/services/widget_events_service.py

met-api/src/met_api/models/widget_events.py

met-api/src/met_api/schemas/event_item.py

met-api/src/met_api/models/event_item.py

met-api/src/met_api/resources/widget_events.py

... and 2 more


Added more software

Also fixed some typos and added additional description for other software.

Thank you. As I can't seem to edit the file, I will merge it to the master branch, however, some of the software you listed does not meet our requirements and I will edit them out after I merge. For future reference, I would appreciate it if you just suggest software instead of editing it into the branch. This will make it easier to work with.
Thank you for the typo fixed and adding the extra descriptions. Those look good and I will add those in.


Add megaAI specs

12MP (4056x3040) : 21.09fps (390MB/s) on Gen1, 41.2fps (762MB/s) on Gen2
4K   (3840x2160) : 30.01fps (373MB/s) on Gen1, 60.0fps (746MB/s) on Gen2

Documented here: https://docs.luxonis.com/en/gen2/pages/faq/#what-are-the-highest-resolutions-and-recording-fps-possible-with-depthai-and-megaai


Serialization for Incremental Swift Dependency Information

This doesn't turn anything on yet, it just moves the necessary pieces into place.

Plumb the incremental info bits through the various (serialized) modules in the AST.
Embed binary swiftdeps into a special section of a swiftmodule
Refactor the frontend to be more amenable to whole-module dependency graph construction - do not actually implement that yet.

@swift-ci smoke test

⛵

Very cool!


Add .gdb_history for C and C++

Pull Request
Thank you for contributing to @toptal/gitignore and https://www.gitignore.io.
New or update
Select the appropriate check box for this pull request. This helps when merging to ensure there are no conflicts with other templates or misunderstandings of how thee template list works.
New

[ ] Template - New .gitignore template
[ ] Composition - Template made from smaller templates
[ ] Inheritance - Template similar to an existing template
[ ] Patch - Template extending functionality of existing template

Update

[x] Template - Update existing .gitignore template

Details
GDB (GNU debugger) is frequently used with C and C++, and it generates a .gdb_history file with a history of commands used n the folder you run it from.
It's a perfect candidate for putting into your .gitignore when doing C and C++ development.

Helo @randrej
Are you planning to apply the changes suggested by @macap ?


docker logs doesn't work with journald log driver on Raspbian Jesse

Description
docker logs doesn't work when using the journald log driver on Raspbian Jessie.
Steps to reproduce the issue:
$ apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
$ echo "deb https://apt.dockerproject.org/repo debian-jessie main" > /etc/apt/sources.list.d/docker.list
$ apt-get update
$ apt-get install docker-engine=1.12.6-0~debian-jessie
$ echo '{ "log-driver": "journald" }' > /etc/docker/daemon.json
$ systemctl restart docker
$ docker run $ANYTHING
$ docker logs $CONTAINER_ID

Describe the results you received:

Error response from daemon: configured logging reader does not support reading

Describe the results you expected:
The logs of the container.
Additional information you deem important (e.g. issue happens only occasionally):
Note that I'm using Docker 1.12 as this is the latest version supported by Kubernetes.
This command (https://github.com/docker/docker/pull/13707#issuecomment-174083076) produces no output:
$ nm -CDu /usr/bin/docker | grep sd_journal_add_match

It seems that docker is not linked to libsystemd:
$ ldd /usr/bin/docker
	linux-vdso.so.1 (0x7ef0d000)
	/usr/lib/arm-linux-gnueabihf/libarmmem.so (0x76f94000)
	libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x76f65000)
	libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x76e24000)
	/lib/ld-linux-armhf.so.3 (0x54b93000)
$ ldd /usr/bin/dockerd
	linux-vdso.so.1 (0x7eab6000)
	/usr/lib/arm-linux-gnueabihf/libarmmem.so (0x76eef000)
	libapparmor.so.1 => /usr/lib/arm-linux-gnueabihf/libapparmor.so.1 (0x76ecd000)
	libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x76ea5000)
	libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x76e92000)
	libdevmapper.so.1.02.1 => /lib/arm-linux-gnueabihf/libdevmapper.so.1.02.1 (0x76e36000)
	libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x76cf5000)
	/lib/ld-linux-armhf.so.3 (0x54b79000)
	libselinux.so.1 => /lib/arm-linux-gnueabihf/libselinux.so.1 (0x76cc7000)
	libudev.so.1 => /lib/arm-linux-gnueabihf/libudev.so.1 (0x76caa000)
	libpcre.so.3 => /lib/arm-linux-gnueabihf/libpcre.so.3 (0x76c37000)
	librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0x76c20000)

These issues seem related:
https://github.com/docker/docker/pull/13707
https://github.com/docker/docker/issues/20497
https://github.com/docker/docker/pull/19598
Output of docker version:
Client:
 Version:      1.12.6
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   78d1802
 Built:        Tue Jan 10 21:20:51 2017
 OS/Arch:      linux/arm

Server:
 Version:      1.12.6
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   78d1802
 Built:        Tue Jan 10 21:20:51 2017
 OS/Arch:      linux/arm

Output of docker info:
Containers: 18
 Running: 17
 Paused: 0
 Stopped: 1
Images: 10
Server Version: 1.12.6
Storage Driver: devicemapper
 Pool Name: docker-179:2-124629-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 10.74 GB
 Backing Filesystem: ext4
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 1.056 GB
 Data Space Total: 107.4 GB
 Data Space Available: 28.77 GB
 Metadata Space Used: 2.392 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.145 GB
 Thin Pool Minimum Free Space: 10.74 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.90 (2014-09-01)
Logging Driver: journald
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: overlay bridge host null
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options:
Kernel Version: 4.4.50-v7+
Operating System: Raspbian GNU/Linux 8 (jessie)
OSType: linux
Architecture: armv7l
CPUs: 4
Total Memory: 925.5 MiB
Name: example
ID: YHL7:PLP5:GDZO:MUKV:PLBF:6UE2:SBK4:VYBM:EG2O:UDA4:3ACA:BAMA
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
WARNING: No kernel memory limit support
WARNING: No cpu cfs quota support
WARNING: No cpu cfs period support
Insecure Registries:
 <IP_ADDRESS>/8

Additional environment details (AWS, VirtualBox, physical, etc.):
Hardware: Raspberry Pi 3 Model B
uname -a: Linux example 4.4.50-v7+ #970 SMP Mon Feb 20 19:18:29 GMT 2017 armv7l GNU/Linux

ping @andrewhsu

Let me close this ticket for now, as it looks like it went stale.


examples: replace structopt with clap

See https://github.com/TeXitoi/structopt/issues/525.
Currently codespan-reporting is the most downloaded dependent of
structopt: https://crates.io/crates/structopt/reverse_dependencies.

@Johann150 perhaps? Unclear if this repository is maintained.

Please check your code formatting (or run cargo fmt), as indicated by the CI. You would probably also want to rebase on the master branch, since there unfortunately was some broken CI.
There also seems to be an issue with the minimum supported Rust version so CI will probably not completely pass still, but I don't feel qualified to change that. I'm just a collaborator, not a maintainer of this package.

Both issues should be fixed now. Could you trigger another run?

One more attempt please! Should be fixed now. Implementing "possible values" on foreign types is a bit clumsier now.

Looks like we'd need to bump MSRV to 1.56 fro 1.46 to allow this to land. See description in https://github.com/d-e-s-o/test-log/commit/9619698ef9facff2baaa450f89d9b4c4267f12d9.

Would you mind allowing CI to run again?

Needed to update the arguments to cargo update. Another run, please!

Once more please! Need 1.61.

@Johann150 this is finally green. If you are not able to approve this MSRV bump, can you ping someone who is?

I don't think it makes sense to raise the MSRV for the entire library just because one of the examples requires it. It would probably be a better idea to use another parsing framework, e.g. pico-args for this, or alternatively remove command line parsing from the example files and documentation code examples.

Done.
I added another commit to remove ColorArg, but I can withdraw it if you prefer.

@Johann150 can you please run CI?

@Johann150 ping.

@Johann150 could you have a look please?

@Johann150 ping.


[Android] Failed to load the WebView when sharing to the meeting stage

Steps to reproduce
We use Android Emulator to test our Teams tab app on Android. We tested on Android API 32, 33 and 34. When sharing our App from a meeting sidebar to the meeting stage we get the following error on Android devices: "Failed to load webview. Please check if the specified app is available". Before sharing we can interact with the app as expected in the sidebar.
Expected behavior
Sharing from a sidebar to the meeting stage should also work on Android devices as it does on Teams Desktop, Browser or iOS.
Actual behavior
We see an error page with the error message: "Failed to load webview. Please check if the specified app is available".

Error details
We get the following logs in Android Studio when sharing to the meeting stage:
START u0 {flg=0x14000000 cmp=com.microsoft.teams/com.microsoft.skype.teams.views.activities.InCallActivity (has extras)} from uid 10157 ProcessId: 7621, Thread: main, Activity paused: com.microsoft.skype.teams.views.activities.TeamsJsHostActivity 201990625 app_time_stats: avg=55.66ms min=9.39ms max=725.00ms count=18 ProcessId: 7621, Thread: main, Activity started: com.microsoft.skype.teams.views.activities.InCallActivity 150948112 ProcessId: 7621, Thread: main, getUserObjectIdForCall called from logCallOrMeetupButtonSubmitEvent, Unable to find user for call ID 0, guid: 5817a7b0-3c4c-456e-a1e0-7bc4ce7f821d ProcessId: 7621, Thread: main, updateParticipantList count: 0 ProcessId: 7621, Thread: main, updateParticipantList: Participant list updated updating MainStage ProcessId: 7621, Thread: main, Updating mainStage for stageType : 1 ProcessId: 7621, Thread: main, loadLayout for stageType : 1, ProcessId: 7621, Thread: main, getAvailableVideoDevices:[/FRONT/1, /BACK/0] ProcessId: 7621, Thread: main, updateStageLayout for stageType : 1, participantsCount: 0 ProcessId: 7621, Thread: main, updateStageLayout ignored layout update since its the same layout : stageType : 1 ProcessId: 7621, Thread: Pool-ViewData-Thread-4, setUsers() called on non Ui Thread, Thread:Pool-ViewData-Thread-4, Stacktrace:java.lang.Exception: setUsers() called on non Ui Thread 	at com.microsoft.skype.teams.views.widgets.UserAvatarViewAdapter.setUsers(Unknown Source:54) 	at com.microsoft.teams.contributionui.useravatar.UserAvatarView.setUsers(Unknown Source:2) 	at com.microsoft.teams.feed.R$id.setUser(Unknown Source:17) 	at com.microsoft.teams.chats.data.ChatsViewData$7$$ExternalSyntheticLambda0.run(Unknown Source:450) 	at com.microsoft.teams.androidutils.tasks.TaskUtilities$4.call(SourceFile:2) 	at com.microsoft.teams.androidutils.tasks.TaskUtilities$4.call(SourceFile:1) 	at bolts.Task$4.run(Unknown Source:1990) 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) 	at java.lang.Thread.run(Thread.java:1012) ProcessId: 7621, Thread: Pool-BoltsBackground-Thread-105, requestRefreshData ProcessId: 7621, Thread: main, isLobbyInPreJoinEnabled: true ProcessId: 7621, Thread: main, Activity resumed: com.microsoft.skype.teams.views.activities.InCallActivity 150948112 ProcessId: 7621, Thread: main, onResumeBridge() called.. Moving LazyLifecycle state to Active ProcessId: 7621, Thread: main, onResume: isUserObjectIdNull: false ProcessId: 7621, Thread: main, onResume2131428723 ProcessId: 7621, Thread: main, isLobbyInPreJoinEnabled: true ProcessId: 7621, Thread: main, Notification notify request [Id: -1, Type: 20] ProcessId: 7621, Thread: main, Notification is reported ProcessId: 7621, Thread: main, sending notify ProcessId: 7621, Thread: main, Starting service ProcessId: 7621, Thread: main, Using service binding to start foreground service and foreground notification ProcessId: 7621, Thread: main, subscribe view changes from adapter No layout manager attached; skipping layout No layout manager attached; skipping layout No layout manager attached; skipping layout ProcessId: 7621, Thread: main, Calling: layout update for icons and borders callID: 107 Moving LazyLifecycle state to Rest ProcessId: 7621, Thread: main, Handling call in progress and updating allow video to true ProcessId: 7621, Thread: main, Handling call in progress and updating isPstnCallWithOCMUser to false ProcessId: 7621, Thread: main, CallForegroundService Service is connected ProcessId: 7621, Thread: main, Reporting foreground notification for CallForegroundService ProcessId: 7621, Thread: main, setupCompanionBanner: Banner is not supported, returning. ProcessId: 7621, Thread: main, Calling: subscribeForSLAParkedCallsBanner: returning as its not initialized ProcessId: 7621, Thread: main, Activity stopped: com.microsoft.skype.teams.views.activities.TeamsJsHostActivity 201990625 ProcessId: 7621, Thread: main, Activity destroyed: com.microsoft.skype.teams.views.activities.TeamsJsHostActivity 201990625 tagSocket(171) with statsTag=0xd83ddc19, statsUid=-1 ProcessId: 7621, Thread: main, handleUiRequiredError feature not enabled; nothing to unsubscribe. ProcessId: 7621, Thread: Pool-BoltsBackground-Thread-103, User left the activity, therefore cancelling all auth related calls Window{246474c u0 com.microsoft.teams/com.microsoft.skype.teams.views.activities.TeamsJsHostActivity}: Setting back callback null endAllActiveAnimators on 0xb400006e585fbe20 (StateListDrawable) with handle 0xb400006d68505e60 Input channel object '246474c com.microsoft.teams/com.microsoft.skype.teams.views.activities.TeamsJsHostActivity (client)' was disposed without first being removed with the input manager! ProcessId: 7621, Thread: CL--1671533392, Calling: onObjectPropertyChangeWithValue CALL, Propkey.CALL_ROSTER_VERSION ProcessId: 7621, Thread: CL--1671533392, Calling: onObjectPropertyChangeWithValue ignored; event not whitelisted : ObjectType : CALL, Propkey : CALL_ROSTER_VERSION ProcessId: 7621, Thread: CL--1671533392, Calling: onObjectPropertyChangeWithValue CALL, Propkey.CALL_ROSTER_VERSION ProcessId: 7621, Thread: CL--1671533392, Calling: onObjectPropertyChangeWithValue ignored; event not whitelisted : ObjectType : CALL, Propkey : CALL_ROSTER_VERSION ProcessId: 7621, Thread: CL--1671533392, Calling: onObjectPropertyChangeWithValue CONTENTSHARING, Propkey.CONTENTSHARING_STATUS ProcessId: 7621, Thread: Pool-BoltsBackground-Thread-106, Calling: ContentSharing Status: PRESENTING ProcessId: 7621, Thread: Pool-BoltsBackground-Thread-106, startExtensibleAppContentSharingSession : starting remote extensible app sharing session [ERROR:aw_browser_terminator.cc(154)] Renderer process (11687) crash detected (code -1). ProcessId: 7621, Thread: main, Calling: Handling action: notify notificationId: -1 ProcessId: 7621, Thread: main, CallForegroundService reporting foreground for id : -1, at :<PHONE_NUMBER>627

Thank you for reporting this, we will check this and get back to you.

@Meghana-MSFT Can you give any updates on this issue?


Decide which default CV constraints should be included in Forseti

Story
We want to enable Config Validator in a future version of Forseti and need to decide which constraints will be included.
Proposed Solution

Review the current default Forseti rules and evaluate if they are still needed/used.
Decide if new GCP resources or policies should be included by default

Acceptance Criteria
Document the constraints that we want to include in the future.

Scanning with CV enabled by default will scan for the same items being scanned by Forseti Python scanners.


Discussion: merge right and responsibility

@hwfan What about we discussing the right and responsibility when dealing with merging PR? Then we can update the manuals and help improve the process.

My idea is that the first reviewer comes is responsible for the whole process of merging. Other reviewers can comment as a supplement.(In order to avoid the mess of multi-processing)

How about we change the rule to:

Every PR needs two approvements before it is able to be merged.
The second approver takes the responsibility to merge the PR.

Just my two cents, FYI.

Two-step reviewing sounds good to me.

@huan Could you please help modify the rules as you mentioned?

@CyFeng16 It's just my suggestion.
I'd like to make it a discussing topic at one of our seminars, and write it in the meeting notes before we actually modify it.
Because I think it will be better than we modify it directly, how do you think?

@huan We are on the same page. I will submit a proposal at the next meeting.

BTW, voting for issues is really an essential feature.

@hwfan Have you got any conclusions on this issue at your last meeting(#406 )?