Android 11 gesture navigation when using CupertinoPageTransitionsBuilder, causes double "pop" of Flutter navigation stack

Pixel 5 / Android 11 uses gesture navigation. This means you can "go back" by swiping from the edges of the screen. This gesture is occasionally picked up by Flutter; thus duplicating the "back" intention.
https://youtu.be/1PinCPtCQB0 - the bug in our production app
https://youtu.be/mkDj4Ym9nWU - the bug in the example code below
Possibly related:

#62744
#74228

Steps to Reproduce
The following should display the same behaviour.
Please see the youtube video above.
Using a physical device running Android 11 with navigation gestures, sometimes swiping from the edges sometimes causes navigator.pop to trigger twice. The Hero widget will disappear.
My hypothesis is that:

The Hero widget is attached to Page3
pop is triggered twice in a single event - the bug
The Hero widget is now attached to Page2, which is immediately disposed
The user ends up on Page1, with no Hero widget - a side effect

Please note that I've not ran this code on a physical device as I'm not at my usual workstation. Please DM me if you cannot replicate and I will see if I can flesh out my code / testing.
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        pageTransitionsTheme: PageTransitionsTheme(
          builders: {
            TargetPlatform.android: CupertinoPageTransitionsBuilder(),
          },
        ),
      ),
      home: Page1(),
    );
  }
}

class Page1 extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Page 1'),
      ),
      body: Column(
        crossAxisAlignment: CrossAxisAlignment.center,
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          Logo(),
          TextButton(
            onPressed: () {
              Navigator.push(
                context,
                MaterialPageRoute(
                  builder: (context) => Page2(),
                ),
              );
            },
            child: Text('Go To Page 2'),
          ),
        ],
      ),
    );
  }
}

class Page2 extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Page 2'),
      ),
      body: Column(
        crossAxisAlignment: CrossAxisAlignment.center,
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          Logo(),
          TextButton(
            onPressed: () {
              Navigator.push(
                context,
                MaterialPageRoute(
                  builder: (context) => Page3(),
                ),
              );
            },
            child: Text('Go To Page 3'),
          ),
        ],
      ),
    );
  }
}

class Page3 extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Page 3'),
      ),
      body: Column(
        crossAxisAlignment: CrossAxisAlignment.center,
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          Logo(),
        ],
      ),
    );
  }
}

class Logo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Hero(
      tag: 'hero',
      child: Card(
        child: Padding(
          padding: EdgeInsets.all(8.0),
          child: Text('Hero Widget'),
        ),
      ),
    );
  }
}

Expected results:
I expected swiping from the edges to trigger a single "back" event
Actual results:
Swiping from the edges causes two back events. Sometimes.

Logs

No issues found! (ran in 1.8s)

[✓] Flutter (Channel stable, 2.0.4, on Mac OS X 10.15.7 19H15 darwin-x64, locale en-GB)
    • Flutter version 2.0.4 at /Users/david/Development/flutter
    • Framework revision b1395592de (7 weeks ago), 2021-04-01 14:25:01 -0700
    • Engine revision 2dce47073a
    • Dart version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/david/Library/Android/sdk
    • Platform android-30, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 40.2.2
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] VS Code (version 1.56.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.22.0

[✓] Connected device (1 available)
    • Chrome (web) • chrome • web-javascript • Google Chrome 90.0.4430.212

• No issues found!

Hi @TahaTesser
Yeah, my video / app is built with 2.0.4 - I will review it with 2.2.0 to see if it recurs.
I'll schedule it in for Tuesday next week; it's the earliest I'll be able to get round to it.

@oodavid
Hey, looking for the response:)

OK, have replicated it on my device with the example source code above
https://youtu.be/mkDj4Ym9nWU - woo
My code didn't show the behaviour until I added this to my theme, which is the issue:
pageTransitionsTheme: PageTransitionsTheme(
  builders: {
    TargetPlatform.android: CupertinoPageTransitionsBuilder(),
  },
),

This gives a clearer picture of the bug. It's probably not typical to use that transition for android. Personally think it makes the navigation feel a bit more natural, which is why we've opted for it.
I'll update my sample code above to include the change to the theme.
Possibly related: #42928 #83183 #40580
I'll let you tweak the bug title, I think you have the best domain knowledge here :)

PS: @TahaTesser I'm impressed at how on the ball you are at following this up, kudos!

Hi @oodavid
Thanks so much for the follow-up
I am able to replicate it once, on multiple tried on One Plus 8 (Android 11).

Preview

Reproduced the issue using the following minimal code sample

minimal code sample
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        pageTransitionsTheme: PageTransitionsTheme(
          builders: {
            TargetPlatform.android: CupertinoPageTransitionsBuilder(),
          },
        ),
      ),
      home: Page1(),
    );
  }
}

class Page1 extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Page 1'),
      ),
      body: Column(
        crossAxisAlignment: CrossAxisAlignment.center,
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          Logo(),
          TextButton(
            onPressed: () {
              Navigator.push(
                context,
                MaterialPageRoute(
                  builder: (context) => Page2(),
                ),
              );
            },
            child: Text('Go To Page 2'),
          ),
        ],
      ),
    );
  }
}

class Page2 extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Page 2'),
      ),
      body: Column(
        crossAxisAlignment: CrossAxisAlignment.center,
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          Logo(),
          TextButton(
            onPressed: () {
              Navigator.push(
                context,
                MaterialPageRoute(
                  builder: (context) => Page3(),
                ),
              );
            },
            child: Text('Go To Page 3'),
          ),
        ],
      ),
    );
  }
}

class Page3 extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Page 3'),
      ),
      body: Column(
        crossAxisAlignment: CrossAxisAlignment.center,
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          Logo(),
        ],
      ),
    );
  }
}

class Logo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Hero(
      tag: 'hero',
      child: Card(
        child: Padding(
          padding: EdgeInsets.all(8.0),
          child: Text('Hero Widget'),
        ),
      ),
    );
  }
}

Reproduced on the following channels

stable

❌

Check flutter doctor -v outputs for each channel below

flutter doctor -v
[✓] Flutter (Channel stable, 2.2.0, on Microsoft Windows [Version 10.0.19043.985], locale en-US)
    • Flutter version 2.2.0 at C:\Users\Taha\Code\flutter_stable
    • Framework revision b22742018b (10 days ago), 2021-05-14 19:12:57 -0700
    • Engine revision a9d88a4d18
    • Dart version 2.13.0

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\Taha\Code\SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_SDK_ROOT = C:\Users\Taha\Code\SDK
    • Java binary at: C:\Users\Taha\Code\android-studio\jre\bin\java.exe
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.9.6)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.9.31313.79
    • Windows 10 SDK version 10.0.19041.0

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).

[✓] VS Code (version 1.56.2)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.22.0

[✓] Connected device (5 available)
    • IN2011 (mobile)                    • c9d8ee0c      • android-arm64  • Android 11 (API 30)
    • Android SDK built for x86 (mobile) • emulator-5554 • android-x86    • Android 6.0 (API 23) (emulator)
    • Windows (desktop)                  • windows       • windows-x64    • Microsoft Windows [Version 10.0.19043.985]
    • Chrome (web)                       • chrome        • web-javascript • Google Chrome 90.0.4430.212
    • Edge (web)                         • edge          • web-javascript • Microsoft Edge 90.0.818.66

! Doctor found issues in 1 category.

✅ : No Issue ❌: has Issue

Are there any updates on this? It's still present for me.

It's still present in flutter 3.3.7

Flutter 3.7.2 - still exists.
Programming on Flutter is becoming increasingly annoying.
Instead of the team fixing basic bugs like this one, which has been open for 1.5 years, the more important one is Material3 which nobody needs.

Flutter 3.7.2 - still exists.
Programming on Flutter is becoming increasingly annoying. Instead of the team fixing basic bugs like this one, which has been open for 1.5 years, the more important one is Material3 which nobody needs.

it's the thing with google, it's about pushing some kind agendas than fixing real problems lol. It's been 3 years and they haven't yet fixed the animation jank issue. I know it's being fixed but should've been the top most priority since day 1

Is it fixed

Still have that issue, still not fixed. Super annoying.

You can create your custom transition builder. Here is an example of such that mimics the behaviour of Cupertino one:
class SlideRightToLeftTransitionBuilder extends PageTransitionsBuilder {
  const SlideRightToLeftTransitionBuilder();

  @override
  Widget buildTransitions<T>(PageRoute<T> route, BuildContext context, Animation<double> animation,
      Animation<double> secondaryAnimation, Widget child) {
    return SlideTransition(
      position: Tween<Offset>(begin: const Offset(1, 0), end: Offset.zero).animate(
        CurvedAnimation(
          parent: animation,
          curve: Curves.fastEaseInToSlowEaseOut,
          reverseCurve: Curves.fastEaseInToSlowEaseOut.flipped,
        ),
      ),
      child: child,
    );
  }
}

Then you can use it in ThemeData:
ThemeData(
  pageTransitionsTheme: const PageTransitionsTheme(
    builders: {
      TargetPlatform.android: SlideRightToLeftTransitionBuilder(),
    },
  )
)

Still having the bug when using CupertinoPage


Patched the Compara database

The first build failed with many occurrences of "DBD::mysql::db do failed: Specified key was too long". This was probably due to the fact that the dump script removed all the "DEFAULT CHARSET=latin1" instructions. I've now put them back manually

:v thank you mag for the tip !

thanks for the patch
I will investigate why the charset gets lost sometimes

I ran this on compara3: perl ../ensembl/misc-scripts/db/dump_mysql.pl --host=compara3 --port=3306 --user=ensadmin --pass=${ENSADMIN_PSW} --database mm14_test_db_multi_compara_20150810_104741 --testcompatible --directory /tmp
The database is still there

the --testcompatible option removes all the special table options
https://github.com/Ensembl/ensembl/blob/release/81/misc-scripts/db/dump_mysql.pl#L329
it sounds like this was added to help with the diff
I need to test whether we can leave some of those options in
Have you tried running the ensembl-test/scripts/patch_test_databases.pl script?
It is meant to do the patching+ dumping for you, and does not strip out the charset

On ensembl-compara, patch_test_databases.pl worked fine and didn't strip the CHARSET stuff.
But on ensembl-rest,  it refused to create the databases (see below) so I felt back to the DIY approach, especially because I only had to patch the compara db.
OK, I've tried again  patch_test_databases.pl and I think I understand the error message: the problem is that I was running it from my laptop (usually I run it on farm3), so the network configuration is dodgy

Travis is happy, I'm happy.


Add multi-package support to rez-pip

Extend rez-pip to support multi-package installations using both requirements.txt and adding multiple packages to the cmdline. e.g.
rez-pip -i -r arrow Click
I am unsure how to best handle requirements.txt files. The original argument is -r which rez-pip interprets as "release" already. Opinions?

I'm cool with adding multiple package support to CLI, but is there a
specific need for parsing requirements from a requirements.txt?
A
On Mon, Jul 29, 2019 at 12:28 AM Thorsten Kaufmann<EMAIL_ADDRESS>wrote:

Extend rez-pip to support multi-package installations using both
requirements.txt and adding multiple packages to the cmdline. e.g.
rez-pip -i -r arrow Click
I am unsure how to best handle requirements.txt files. The original
argument is -r which rez-pip interprets as "release" already. Opinions?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/nerdvegas/rez/issues/682?email_source=notifications&email_token=AAMOUSXIA3HU4W6IT7LWXWLQB2LYTA5CNFSM4IHPQUPKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HB7BOMQ,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAMOUSX47QQH4G27WGQ3YADQB2LYTANCNFSM4IHPQUPA
.

The main reason for me is that we have quite a few packages that are python packages, come with python dependencies (and sometimes quite a lot of dependencies) but are not installed through rez-pip. An example would be packages that need to be bootstrapped into a DCC. These would not be installed through rez-pip because the package.py needs to do things that pip does not support.
For these cases installing dependencies can be quite a hassle. We oftentimes still build these packages with full pip support so there already is a requirements.txt file. Installing dependencies like this would be convenient.
Another option would be to integrate this into our rezbuild setups. Having a shared function that can reads the requirements.txt and calls rez-pip on each of those. My gut feeling is that this would be a weird rez-ception at build-time, but i may be off. What do you think?

So first, that use case is reasonable so I think that's reason enough for
requirements.txt support in rez-pip. The work needed for that has already
been done (see https://github.com/nerdvegas/rez/pull/667, which will be
merged soon). I may even make it part of the same PR.
In terms of a rez package that uses pip to install its dependencies. Ideas
similar to this have been raised in the past, and recently as well. In fact
you can take the idea further, and add pluggable support for setup.py-
based packages, that rez would then be able to ingest and build natively.
My thoughts on this at the moment are that it's an interesting place to go,
and I think it makes sense - ie, the general case where a non-package.py
file can be run through a step that converts it into a rez package. However
bear in mind that rez was not designed specifically for managing python
packages, and so any work in this area needs to be done with that in mind
(hence framing this as a general, plugin-driven approach).
One thing to mention also is that rez-build does NOT build a package's
dependencies also, and should not. That is not the job of the build. That's
not to say we don't want that functionality however - in fact, the main
part of my rez talk here at siggraph tomorrow is all about how we implement
a rez-install tool that is capable of that kind of thing (ie, installing
rez packages and their requirements from public rez package repositories).
Cheers
A
On Mon, Jul 29, 2019 at 12:13 PM Thorsten Kaufmann<EMAIL_ADDRESS>wrote:

The main reason for me is that we have quite a few packages that are
python packages, come with python dependencies (and sometimes quite a lot
of dependencies) but are not installed through rez-pip. An example would be
packages that need to be bootstrapped into a DCC. These would not be
installed through rez-pip because the package.py needs to do things that
pip does not support.
For these cases installing dependencies can be quite a hassle. We
oftentimes still build these packages with full pip support so there
already is a requirements.txt file. Installing dependencies like this would
be convenient.
Another option would be to integrate this into our rezbuild setups. Having
a shared function that can reads the requirements.txt and calls rez-pip on
each of those. My gut feeling is that this would be a weird rez-ception at
build-time, but i may be off. What do you think?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/nerdvegas/rez/issues/682?email_source=notifications&email_token=AAMOUSSZYPW6FGF3RXZQ3ZTQB46O7A5CNFSM4IHPQUPKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3BW6LQ#issuecomment-516124462,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAMOUSXMCIDK3DQJEBVZB3TQB46O7ANCNFSM4IHPQUPA
.

Hello Allan, just want to make sure before I start working on it but is your pip improvements PR #667  going to add support for multi package install and installing from a file ala requirements.txt
rez-pip -i arrow click django
rez-pip -i ../project/requirements.txt # (same format as usual)

or do you mean the necessary changes to support said actions will be complete but the implementation still pending?

I think that's reason enough for requirements.txt support in rez-pip. The work needed for that has already been done (see #667, which will be merged soon). I may even make it part of the same PR.

If it is the latter, once your PR is merged I will be happy to look into the implementation so I will wait until I hear from you.

Sorry getting back late, missed this thread.
Yes I think we should do this in separate PR once #667 is merged, cheers!

Sounds good, I will start working on a new PR to add said functionality once #667 is merged then 👍

@lambdaclan have you been looking into this recently ?


no tools directory

There was no tools directory when I installed this library by npm install highlight.js, so I can not use the tools/build script to build for browsers.

The GitHub repo contains the tools dir. Also, check the highlight.js website.

@derhuerst Thanks for your answer.
I know what you mean. There are two workarounds:

npm install isagalaev/highlight.js --save, then I have a tools dir.

Download the highlight.min.js, and use the script tag to import it.

But my project is based on npm modules, so the two workarounds look really ugly.
I think the most perfect way is to publish the highlight.pack.js to npm too.

I know what you mean. There are two workarounds:

npm install isagalaev/highlight.js --save, then I have a tools dir.
Download the highlight.min.js, and use the script tag to import it.

Or use a git submodule and build the highlight.js on the fly.

But my project is based on npm modules, so the two workarounds look really ugly.

I'd also like highlight.js to be many small modules, as that is the common practice in the npm eco system. See #1086.

I think the most perfect way is to publish the highlight.pack.js to npm too.

I strongly disagree. There is a point in npm just serving the distribution files, as custom builds seems to get less common (because of small composable modules).
There's terabytes of traffic and hours or time being wasted because npm modules that have more files than necessay.

The purpose of highlight.js on npm is to be installed and used as a library, it's not a source code distribution. Source code is hosted on GitHub. We don't intend to support every imaginable way of getting either source or binary distribution from everywhere.


Trying to get property of non-object in on line 873 when calling getSnaps

It happens when getSnaps calls $conversations = $this->getConversations();
On this line:
$offset = end($updates['data']->conversations_response)->iter_token;
Not an issue, just something to mention. Thanks for your great library. :)
Edit: I'm using the latest master.

@KirovAir will check it later, thanks for noticing

@KirovAir can you try latest commit? https://github.com/mgp25/SC-API/commit/28f0c40601fd6970324c2d7193780a5b5ed2f291
Regards

I can confirm the fix works, thanks mgp25!


Error: undefined: tblfmt.EncodeAll

rev. 114dc37 fails on FreeBSD:
# github.com/xo/usql/handler
handler/handler.go:871:9: undefined: tblfmt.EncodeAll

What version of Go are you using? Please note that we are using Go modules for dependency management. It should build if using the correct module version. The tblfmt is currently in massive flux as we finish / better the implementation of that package.

It was a wrong dependency.
Thank you for your help!


Kotlin line numbers in stack traces

Our stack traces currently emit line numbers of JavaScript files, which I consider to be an intermediate form.
It’d be really nice for our stack traces to have proper line numbers from the original Kotlin.
We need a mapping file from the Kotlin/JS compiler. Ideally such a file would map JavaScript line numbers to the corresponding Kotlin file name and line number. (Does this exist already?)
We also need a way to provide this mapping to QuickJS. Ideally we could pass a mapping function when we load JavaScript source. Alternatively we could rewrite QuickJS bytecode to fixup line numbers.

Does this exist already?

Yes. A standard source map file is produced adjacent to the .js.

https://github.com/cashapp/zipline/pulls

https://github.com/cashapp/zipline/pull/363

Nothing further needed here!


Issue #261: Extract product detail view root snippet

Closes #261.

Note: The following patch must be applied to sample project to work with product details root template - patch.txt


OmniSharp fails to load properly

I just did a fresh install of VSCode and extensions following this guide to the letter including reboots.
https://code.visualstudio.com/docs/other/unity
I've tried uninstalling and reinstalling C# extension several times to no avail.  Help would be great! Thanks.
Environment data
`dotnet --info` output:

.NET Core SDK (reflecting any global.json):
 Version:   2.1.300
 Commit:    adab45bf0c

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.17134
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.1.300\

Host (useful for support):
  Version: 2.1.0
  Commit:  caa7b7e2ba

.NET Core SDKs installed:
  2.1.300 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

VS Code version: 1.23.1
C# Extension version: 1.15.2
Steps to reproduce

Load VSCode
Open a .cs file, edit it, save.
Wait for OmniSharp to startup and throw 130 errors.

Expected  behavior
It won't have errors.
Actual behavior
It has errors.
Here is the output:
Starting OmniSharp server at 6/3/2018, 6:27:56 PM
    Target: e:\dev\rsg_svn\FP1\FP1\FP1.sln

OmniSharp server started
    Path: C:\Users\David\.vscode\extensions\ms-vscode.csharp-1.15.2\.omnisharp\1.30.1\OmniSharp.exe
    PID: 2868

[info]: OmniSharp.Stdio.Host
        Starting OmniSharp on Windows 6.2.9200.0 (x64)
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Located 2 MSBuild instance(s)
            1: Visual Studio Community 2017 15.5.27130.2003 - "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin"
            2: StandAlone 15.0 - "C:\Users\David\.vscode\extensions\ms-vscode.csharp-1.15.2\.omnisharp\1.30.1\msbuild\15.0\Bin"
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Registered MSBuild instance: Visual Studio Community 2017 15.5.27130.2003 - "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin"
[info]: OmniSharp.Cake.CakeProjectSystem
        Detecting Cake files in 'e:\dev\rsg_svn\FP1\FP1'.
[info]: OmniSharp.Cake.CakeProjectSystem
        Could not find any Cake files
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Initializing in e:\dev\rsg_svn\FP1\FP1
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Auto package restore: False
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Update workspace context
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Resolving projects references
[info]: OmniSharp.MSBuild.ProjectSystem
        Detecting projects in 'e:\dev\rsg_svn\FP1\FP1\FP1.sln'.
[info]: OmniSharp.MSBuild.ProjectManager
        Queue project update for 'e:\dev\rsg_svn\FP1\FP1\Assembly-CSharp.csproj'
[info]: OmniSharp.MSBuild.ProjectManager
        Queue project update for 'e:\dev\rsg_svn\FP1\FP1\Assembly-CSharp-Editor.csproj'
[info]: OmniSharp.Script.ScriptProjectSystem
        Detecting CSX files in 'e:\dev\rsg_svn\FP1\FP1'.
[info]: OmniSharp.MSBuild.ProjectManager
        Loading project: e:\dev\rsg_svn\FP1\FP1\Assembly-CSharp.csproj
[info]: OmniSharp.Script.ScriptProjectSystem
        Could not find any CSX files
[info]: OmniSharp.Stdio.Host
        Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpWorkspaceOptionsProvider
[info]: OmniSharp.Stdio.Host
        Configuration finished.
[info]: OmniSharp.Stdio.Host
        Omnisharp server running using Stdio at location 'e:\dev\rsg_svn\FP1\FP1' on host 9592.
[info]: OmniSharp.MSBuild.ProjectManager
        Adding project 'e:\dev\rsg_svn\FP1\FP1\Assembly-CSharp.csproj'
[info]: OmniSharp.MSBuild.ProjectManager
        Loading project: e:\dev\rsg_svn\FP1\FP1\Assembly-CSharp-Editor.csproj
[fail]: OmniSharp.MSBuild.ProjectLoader
        The "GetReferenceNearestTargetFrameworkTask" task was not found. Check the following: 1.) The name of the task in the project file is the same as the name of the task class. 2.) The task class is "public" and implements the Microsoft.Build.Framework.ITask interface. 3.) The task is correctly declared with <UsingTask> in the project file, or in the *.tasks files located in the "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin" directory.
[warn]: OmniSharp.MSBuild.ProjectManager
        Failed to load project file 'e:\dev\rsg_svn\FP1\FP1\Assembly-CSharp-Editor.csproj'.
e:\dev\rsg_svn\FP1\FP1\Assembly-CSharp-Editor.csproj
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(1601,5): Error: The "GetReferenceNearestTargetFrameworkTask" task was not found. Check the following: 1.) The name of the task in the project file is the same as the name of the task class. 2.) The task class is "public" and implements the Microsoft.Build.Framework.ITask interface. 3.) The task is correctly declared with <UsingTask> in the project file, or in the *.tasks files located in the "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin" directory.

I also deleted all of my .sln and .csproj files and had Unity regenerate them with no luck.

Interestingly, I updated Visual Studio Community 2017, rebooted, and on a whim tried VSCode to see if it fixed this.  It did.

@swakdaddy : That is actually expected. From your log above, I can see that OmniSharp is using the MSBuild toolset in VS Community:
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Located 2 MSBuild instance(s)
            1: Visual Studio Community 2017 15.5.27130.2003 - "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin"
            2: StandAlone 15.0 - "C:\Users\David\.vscode\extensions\ms-vscode.csharp-1.15.2\.omnisharp\1.30.1\msbuild\15.0\Bin"
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Registered MSBuild instance: Visual Studio Community 2017 15.5.27130.2003 - "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin"

So, updating VS Community updated the MSBuild toolset that OmniSharp is using.


Added pigz to unit tests

This PR adds:

New GitHub Actions CI used to test pigz.
New CMakeLists.txt that can be used to build pigz against zlib-ng or any other zlib variant.

Adds tests for pigz compression/decompression against all the files in test/* and test/corpora/** (similar to what zlib-ng does with minigzip)
Adds test specifically for pigz-2.6.tar.gz mentioned in #979. This means I have added this .gz file to the repository which is ~100KB.

If we add the files in https://github.com/neurolabusc/zlib-bench/tree/master/corpus to https://github.com/zlib-ng/corpora repository then we can also provide test coverage for old pigz issue #536. @Dead2 what do you think? Those files are 18mb and 34mb.

I'm all for adding tests that make sure we don't introduce regressions or tests that confirm we have an crash issue.

I might just create a new repository corpora-lg for larger test corpora.

@nmoinvaz I usually just clone the original repository and then rename it... That's a lot easier than trying to combine files from multiple repositories and preserving edit history to conform to copyrights.

I have added a CI test for no threads to be able isolate threaded compression and also a CI test for no optimizations to isolate those as well.

@mtl1979 it could be as simple as a GitHub CI action that will download the new repo (same as what is done with corpora). CMake script picks up everything in test/data/**.

I'm not big fan of supporting pigz but if it helps finding issues involving corner cases, then I see no reason to "oppose"...
Keeping own "version" of repositories is always a good thing as the original repository might go offline and break our build system...

If we ended up include the pigz sources in our repository then we will likely have to support it, that is why I pull the official sources from madler/pigz. We could fork that repo, but I don't want to have to keep it up to date.

Regarding neuro images, I have decided to just added them to corpora repository. Even though it is 80mb it will be good to have it tested every where because image data such as that is unique and good for RLE tests.

Yes it is. The CI tests that fail, fail because our code fails them.


Regression: From version 1.3.6 inclusive, it is not possible to patch the global key during an Modified event

Expected behavior (what you expected to happen):
Patching the global key during the Modified event should be possible, as it was up to version 1.3.4 inclusive.
Actual behavior (what actually happened):
Since version 1.3.6 inclusive, an attempt to update the global key ends with an error as below, even though I am not tampering with the key that is the subject of the error. The versions I have tested and have this error: 1.3.12, 1.3.8, 1.3.7, 1.3.6. The versions I have tested without error: 1.3.4, 1.3.3, 1.3.2.

[...] msg="Global hook failed, requeue task to retry after delay. [...]. Error: cannot apply values patch for global values: 2 errors occurred:\n\t* global.enabledModules is a forbidden property\n\t[...]" binding=kubernetes binding.name=monitor-workloads-deployments [...] hook.type=global queue=main [...] watchEvent=Modified

The patch I dump to the file indicated in the VALUES_JSON_PATCH_PATH variable:
[{'op': 'add', 'path': '/global/apps/slo/some-namespace/some-workload', 'value': {}}]

Steps to reproduce:

Implement below hook script as a global hook.
In ConfigMap, prepare global values that will create a nested structure /global/apps/slo/some-namespace/some-workload and apply it.
Create a deployment and apply it.
Force a change in the definition of deployment.

Environment:

Addon-operator version: as described above
Helm version: The same as in the official flant/addon-operator.
Kubernetes version: v1.28.4
Installation type: kubectl apply

Anything else we should know?:
Additional information for debugging (if necessary):
I simplified the script to the minimum necessary.
Hook script
#!/usr/bin/env python3
import json
import os
import sys

from benedict import benedict

# language=yaml
EVENTS_BINDING_CONFIG = r'''
---
configVersion: v1
kubernetes:
  - name: monitor-workloads-deployments
    apiVersion: apps/v1
    kind: Deployment
    keepFullObjectsInMemory: false
    jqFilter: |
      {
        "name": .metadata.name,
        "namespace": .metadata.namespace
      }
'''

BINDING_CONTEXT_PATH = os.environ.get('BINDING_CONTEXT_PATH')
VALUES_PATH = os.environ.get('VALUES_PATH')
VALUES_JSON_PATCH_PATH = os.environ.get('VALUES_JSON_PATCH_PATH')

values = {}
values_patch_ops = []

def handle_object_update(item_name, object_data):
    data_name = object_data['name']
    data_namespace = object_data['namespace']

    if item_name.startswith('monitor-workloads-'):
        k8s_workload_name = data_name
        k8s_namespace_name = data_namespace

        values_patch_ops.append({
            'op': 'add',
            'path': f'/global/apps/slo/{k8s_namespace_name}/'
                    f'{k8s_workload_name}',
            'value': {}
        })

def handle_event():
    with open(BINDING_CONTEXT_PATH, 'r') as binding_context_file:
        binding_context = json.load(binding_context_file)

        for context_item in binding_context:
            item_name = context_item['binding']
            item_type = context_item['type']

            if item_type == 'Event':
                item_event = context_item['watchEvent']
                object_data = context_item['filterResult']

                if item_event == 'Modified':
                    handle_object_update(item_name, object_data)

        with open(VALUES_JSON_PATCH_PATH, 'w') as values_json_patch_file:
            print(values_patch_ops)
            json.dump(values_patch_ops, values_json_patch_file)

if __name__ == '__main__':
    if len(sys.argv) > 1 and sys.argv[1] == '--config':
        print(EVENTS_BINDING_CONFIG)
        exit(0)

    values = benedict(VALUES_PATH, format='json')
    handle_event()

Logs
time="2024-04-24T17:13:22Z" level=info msg="GlobalHookRun task for 'kubernetes/monitor-workloads-deployments' binding, trigger is Kubernetes" binding=kubernetes binding.name=monitor-workloads-deployments event.id=dbe85418-c2a8-48b4-ac5f-c46e8347656b hook=sync-global-values-hook.py hook.type=global queue=main task.flow=start task.id=11b950ad-efc7-4847-b20a-a9dae4ab4930 watchEvent=Modified
time="2024-04-24T17:13:22Z" level=info msg="[{'op': 'add', 'path': '/global/apps/slo/some-namespace/some-workload', 'value': {}}]" binding=kubernetes binding.name=monitor-workloads-deployments event.id=dbe85418-c2a8-48b4-ac5f-c46e8347656b hook=sync-global-values-hook.py hook.type=global output=stdout queue=main task.id=11b950ad-efc7-4847-b20a-a9dae4ab4930 watchEvent=Modified
time="2024-04-24T17:13:22Z" level=error msg="Global hook failed, requeue task to retry after delay. Failed count is 363. Error: cannot apply values patch for global values: 2 errors occurred:\n\t* global.enabledModules is a forbidden property\n\t* global.apps.slo.some-namespace.some-workload is required\n\n" binding=kubernetes binding.name=monitor-workloads-deployments event.id=dbe85418-c2a8-48b4-ac5f-c46e8347656b hook=sync-global-values-hook.py hook.type=global queue=main task.id=11b950ad-efc7-4847-b20a-a9dae4ab4930 watchEvent=Modified

@piotrminkina Hello! Thanks for such comprehensive information!
May I ask to check if any openapi schema is applied to the global values in your case? According to the documentation, you can find it in the $GLOBAL_HOOKS_DIR/openapi directory

Yes, I have the following YAMLs:
# config-values.yaml
type: object
additionalProperties: false
required:
  - dataMaxLength
  - operatorReleaseName
  - apps
properties:
  dataMaxLength:
    type: integer
    minimum: 65536
  operatorReleaseName:
    type: string
  apps:
    type: object
    additionalProperties: false
  [...]

# values.yaml
---
x-extend:
  schema: config-values.yaml
type: object
additionalProperties: false

could you possibly update your values.yaml by adding an additional enabledModules property so that it would look like:
# values.yaml
---
type: object
default: {}
additionalProperties: false
properties:
  enabledModules:
    type: array
    items:
      type: string

and give it a try? It seems we unwittingly enforced sort of a requirement for customers' openapi schemas to contain this enabledModules key by having this global values patch applied in the operator's logic.

@miklezzzz It seems that after this change, object updates are implemented correctly. Thanks!
What do you plan to do about it next? Some kind of update in the documentation or what?

@piotrminkina We'll try to make it seamless for users by adding missing properties to the final values schema.

Fixed in v1.13.3


Fixed: Ensure Header component uses proper semantic header HTML tag

Changed div tag to HTML semantic element for Header component
Issue #2870
Merge checklist

[ ] Changes are SSR compatible
[ ] Tested in Chrome
[ ] Tested in Firefox
[ ] Tested in Safari
[ ] Tested in Edge

Take a look at the What we look for in reviews section of the contributing guidelines for more information on how we review PRs.

Hi @joshblack, This is my PR. Please can you guide me if there is anything that I missed or any advice? Thanks

Thank you @joshblack for your guidance 🤗. I have committed test snapshots now. Hopefully, it works now.

@amarmanhala seems like just one final change, in the test file for Header (src/__tests__/Header.test.tsx) there is a test that asserts on the tagName that needs to be updated:
  it('renders a <div> and <a>', () => {
-    expect(render(<Header />).type).toEqual('div')
+    expect(render(<Header />).type).toEqual('header')
    expect(render(<Header.Link />).type).toEqual('a')
  })

After that you should be good to go! 🥳

Thank you @joshblack for your guidance.

Thanks so much for your contribution @amarmanhala! 🙌 🥳


Add Bucket Type data collection to riak-debug [JIRA: RIAK-1624]

Additionally (or alternately), we could capture all the *.dets files in /path/to/data/cluster_meta.

Duplicated in #767; closing this issue in favor of the other one because there was more activity there.


sleep_until() does not wake up until 5 seconds

Hi,
In a WASM project, I use wasmtimer 0.4.0 (the current latest version), and I often call wasmtimer::tokio::sleep_until(deadline).await, with a deadline which is in the order of a few milliseconds in the future (typically 0~50ms):
// simplification of my code
loop {
    let deadline = …;
    wasmtimer::tokio::sleep_until(deadline).await;
    log::info!("{}", my_own_get_current_time_ms());
    do_something();
}

Some calls work to sleep_until() work as expected, but some calls wake up only almost 5 seconds later.
Btw, if I log the timestamps (with my own log function based on Performance.now()), then the log is always printed at exactly the same timestamp modulo 5 seconds (for example xxxxxxx0564 ms or xxxxxxx5564 ms).
After a quick search in the codebase, this specific 5 seconds timeout might come from here: https://github.com/whizsid/wasmtimer-rs/blob/7a5f83f98bed85e8d3c20c259ccebeaa9487bf62/src/timer/global.rs#L63
Any idea about the issue?
Thank you

Hi, That code segment is using when there is no any event scheduled in the timer. By the way are you using NodeJS or Browser?

That code segment is using when there is no any event scheduled in the timer.

Is that possible that a race condition cause the lib to think that no remaining event is scheduled?

By the way are you using NodeJS or Browser?

Browser (chromium).

That code segment is using when there is no any event scheduled in the timer.

.unwrap_or(Duration::from_secs(5));

If I change this duration to 2 seconds, then my sleep_until() blocks for 2 seconds instead of 5.
diff --git a/src/timer/global.rs b/src/timer/global.rs
index 5e183de..7f12da7 100644
--- a/src/timer/global.rs
+++ b/src/timer/global.rs
@@ -60,7 +60,7 @@ fn schedule_callback(timer: Arc<Mutex<Timer>>, when: Duration) {
                     Duration::new(0, 0)
                 }
             })
-            .unwrap_or(Duration::from_secs(5));
+            .unwrap_or(Duration::from_secs(2));
         drop(timer_lock);

         schedule_callback(timer, sleep_dur);

This fixes the issue:
diff --git a/src/timer/global.rs b/src/timer/global.rs
index 5e183de..6b4239e 100644
--- a/src/timer/global.rs
+++ b/src/timer/global.rs
@@ -42,14 +42,6 @@ fn schedule_callback(timer: Arc<Mutex<Timer>>, when: Duration) {
         let now = Instant::now();
         timer_lock.advance_to(now);

-        // Each call to `schedule_callback` calls `schedule_callback` again, but also leaves
-        // the possibility for `schedule_callback` to be called in parallel. Since we don't
-        // want too many useless callbacks, we...
-        // TODO: ugh, that's a hack
-        if Arc::strong_count(&timer) > 20 {
-            return;
-        }
-
         // We call `schedule_callback` again for the next event.
         let sleep_dur = timer_lock
             .next_event()

There's probably a leak somewhere, this count keeps increasing:
diff --git a/src/timer/global.rs b/src/timer/global.rs
index 5e183de..31ee6fb 100644
--- a/src/timer/global.rs
+++ b/src/timer/global.rs
@@ -42,13 +42,7 @@ fn schedule_callback(timer: Arc<Mutex<Timer>>, when: Duration) {
         let now = Instant::now();
         timer_lock.advance_to(now);

-        // Each call to `schedule_callback` calls `schedule_callback` again, but also leaves
-        // the possibility for `schedule_callback` to be called in parallel. Since we don't
-        // want too many useless callbacks, we...
-        // TODO: ugh, that's a hack
-        if Arc::strong_count(&timer) > 20 {
-            return;
-        }
+        log::info!("===== Arc::strong_count(&timer): {}", Arc::strong_count(&timer));

         // We call `schedule_callback` again for the next event.
         let sleep_dur = timer_lock

@rom1v Unfortunately it is an issue of the architectural design of the timer. The reference counter is not decreasing because we are cloning the Arc<Timer> in nested calls.
if Arc::strong_count(&timer) > 20 {
  return;
}

By the above code, we are stopping the nested chain after 20 calls and waiting for the next call for 5 seconds. Otherwise it will lead to a memory leak.


popover not showing with bootstrap already used

I use bootstrap(Version3.3.6) already and also use vue-strap(Version1.0.11), my Vue Version is1.0.24.
The popover is not working. I can see that the style of the popover DOM has changed but the default style of class popover of bootstrap is display: none, so when vue-strap component Popover respond to events like trigger hover it just adds or removes display: none; of the popover DOM instead add display: block;

I solved this by changing the order of importing bootstrap and the components. But i suggest add scope limitations to the components.


implement request-response

More details here:
https://github.com/microsoft/botframework-sdk/issues/5735
and an initial PR for JavaSCript:
https://github.com/microsoft/botbuilder-js/pull/1783/files

already tracking as #3430


Graph gaps

At first: Brilliant card!
Du you have any clue, why there are gaps with this cards?

vs

Tried it with every curve types, etc. Always the same gaps.

Hey thanks !
Usually that means there was no information available in the database during these time periods. Maybe you restarted HA ? This will create gaps like that, often longer than the time HA was offline. Or maybe the sensor went offline for a while and came back later ? The HA built-in history will often just connect these 'dead' parts with lines hiding them (depending whether the entity state became unknown or unavailable during that time). The history explorer card doesn't, on purpose. Because if there's nothing in the history, it should show that. That way you can identify problems and drop outs for sensors.

Might be. Have to have a deeper look. But currently the time frames seem to me to long for this. What does no data mean? I would think that between two data points there is always a gap. Longer or shorter.
Do you think that you will introduce an option to switch on a gap smoothing at some point in the future? I like the approach, that you have described to be able to see gaps.  But sometimes I would like to use it with closed gaps.

No data means that an item is in the database with an unavailable or unknown state. If that happens the line/curve just before and just after this item won't appear. Depending on how far the last or next entries are from the unavailable state, the gap can be pretty long. Keep in mind that the database only stores state changes.
I guess I can add an option to interpolate over them on the next release. It would have to be enabled in the yaml (default would be off).

No data means that an item is in the database with an unavailable or unknown state.

Ah. Was not aware. Thought, that there is only "no data". Understood.

I guess I can add an option to interpolate over them on the next release. It would have to be enabled in the yaml (default would be off).

Great. I had this in mind. default off and only a yaml option as for the decimation. Idea: Per entity and not per card. Or both, global and local for overruling. As said, not time critical. Thanks so much.

Option to hide gaps was added in v1.0.9. See readme for usage details. Only a global option is available at this time.
This will only hide gaps due to unavailable data, like for example from offline devices or HA restarts. Gaps can still happen at the beginning of the graph when the state was unchanged for multiple days before. Zooming out or panning the graph will usually fix this. That's due to a bug / limitation in the HA database engine. The HA history panel is also affected by this.


Does this support yt-dlp?

Does this support https://github.com/yt-dlp/yt-dlp?

Hi, eventually it will be supported if the project is stable over time and worth it 🙂


Update the apiVersion for TriggerAuthentication.

Signed-off-by: Shubham82<EMAIL_ADDRESS>Update the apiVersion for TriggerAuthentication w.r.t KEDA 2.0 in deploy-consumer.yaml.

Hi @jeffhollan @tomkerkhove @zroubalik
Could you please take a look.
Thanks

Sorry I've missed this one :/


PyVISA-py support?

Hi there,
quick Q: are there any plans for RsInstrument to support running on top of PyVISA-py without a proprietary IVI-VISA library installed, such as R&S®VISA or others?
As far as I understand (I'm new to this stuff, so I might have overlooked/misunderstood sth, pls correct me if so ..):
R&S®VISA is proprietary freeware, shipped as a native blob with associated annoyances and potential for increased security attack surface, and is unconditionally required to make any practical use of RsInstrument, right?
Thanks!

Hi oberstet, sorry, for the late answer, use the LAN plain Socket: https://rsinstrument.readthedocs.io/en/latest/StepByStepGuide.html#no-visa-session

Thanks for answering! So the answer is "no", and I am wondering, why I would want to use RsInstrument just for a plain, raw TCP socket connection. What's the point? Well, what's the point of forcing proprietary R&S®VISA blobs onto developers. Anyways. Won't happen. Waste of time.

Sorry to force the RsInstrument on you :-) Pyvisa-py is also an additional software layer, which I see you want to avoid. But the answer is 'YES', use the SelectVisa='@py' in the options string:
io = RsInstrument("TCPIP::<IP_ADDRESS>", options="SelectVisa=@py")

Sorry to force the RsInstrument on you :-)

=) No worries! I understand. "Trying" is ok. I will just ignore that.
FWIW, luckily I only need to deal with RF sub 6 GHz, I don't need top-end hardware like R&S provides, and I found a VNA which is fully OSS (both HW and all SW, including firmware and user libs, no BLOBs!) - and supports Python;)


test-pr

test

ingore

don't test how to use github on a public repository. you just sent notification of your PR to thousands of people.


typescript: Update all non-major dependencies

This PR contains the following updates:

Package
Type
Update
Change

@types/node (source)
devDependencies
minor
22.8.7 -> 22.9.0

@types/node (source)
dependencies
minor
22.8.7 -> 22.9.0

gdata-vaas
dependencies
patch
7.5.5 -> 7.5.6

uuid
dependencies
patch
11.0.2 -> 11.0.3

:warning: Warning
Some dependencies could not be looked up. Check the warning logs for more information.

Release Notes

GDATASoftwareAG/vaas (gdata-vaas)
v7.5.6
Compare Source

uuidjs/uuid (uuid)
v11.0.3
Compare Source
Bug Fixes

apply stricter typing to the v* signatures (#831) (c2d3fed)
export internal uuid types (#833) (341edf4)
remove sourcemaps (#827) (b93ea10)
revert "simplify type for v3 and v5" (#835) (e2dee69)

Configuration
:date: Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
:ghost: Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
:warning: Warning: custom changes will be lost.


Refactor simppl::dbus::Any

This PR addresses #36 by adding support for sending a received simppl::dbus::Any.
How do we archive this?
Once  we receive something, we convert it to an intermediate representation aka IntermediateAny{Vec, Map, Tuple, ...} utilizing std::any. Then when the user requests the data, we perform the proper type conversion.
Does this change the simppl::dbus::Any interface and does it break existing implementations?
No.
Why wasn't this possible with the current implementation?
The live time of the dbus message iterator was broken.
Wouldn't it be easier to simply fix the live time of the iterator?
Yes, but have fun doing that :) while creating a copy of it.
 Going over the intermediate representation is a good workaround for the switch from compile time to runtime polymorphism. I tried to stick to compile time only, as the whole library tries to do so and it reduces one further copy of the data. The drawback of my approach is that I have to keep a reference to the original message's data stream - and this was a kind of hack, you probably recognized how I got to the pointer.
Are you willing to provide a solution for structs? The struct is nothing other than a tuple, so maybe the solution could be straight forward?

Thanks for taking a look at it! Yes, I will solve the struct thing. Just needs a bit more template magic. Sadly this will have to wait for ~2 weeks or so while I have to focus on other parts at work.

@COM8 its cool idea

Thanks for all your work. I finally had a look into your changes and found two issues:

had to remove the bits/utility.h header include from any.h in order to compile on gcc 11.4
the properties unittest did not work since there I used an enumeration as key type. So I had to add one layer of type resolution for the is<T> and as<T> functions (quick and ugly) because otherwise the following condition in the check() function fails:

return any.type() == typeid(T);

If you write it as follows
return any.type() == typeid(typename get_underlying_type<T>::type);

with
template<typename T>
struct get_underlying_type
{
	// enum to int mapping is simppl specific
	typedef typename std::conditional<std::is_enum<T>::value, int, T>::type type;
};

it works.
The same applies for the convert() function where I patched the any_cast to
return (T)std::any_cast<typename get_underlying_type<T>::type>(any);

@martinhaefner thanks for taking a look at it! I added your suggestions.
Sadly I'm failing right now in converting structs in a generic way to dbus tupels. I'm able to obtain the dbus type from the struct but converting fails. Sadly I do not understand how you are doing it. Do you map the struct memory to a tuple memory? Since there is nothing like reflection in C++ I need a few pointers from your side, how you solved it before.

Thanks for your work.
I must admit, that the struct serialization is a kind of a hack and error-prone if not used adequate. Therefore, I have also added the boost fusion version which always works the correct way, which is yet another way to (de-)serialize DBus structures.
Now, what am I doing: having a pod struct, i.e. a struct without virtual functions, the memory layout of the struct is the same as for the recursive struct I generate via the make_serializer_type<> template function. Then, you can just cast the struct's type to the  serializer's type. The generated serializer's type is a list of recursive types with corresponding data which you can easily traverse with template functions. An example:
struct A
{
   int i;
   double d;
};

A a{42, 3.1415);

typedef SerializerTuple<int, SerializerTuple<double, NilType>> adequate_list_type;
adequate_list_type* lt = (adequate_list_type*)&a;   // this is error-prone

assert(lt->data_ == a.i);
assert(lt->data_.data_ == a.d);

My access functions always recurse into the list, but it should be possible to access the data in the same way as for tuples via index, assuming some more template magic.
So, the internal representation may be the same as for tuples, you just have to walk over the data in a different way.


Allow TEST_CASE() to not specify tags

Closes #42.

Codecov Report

Merging #46 (3223073) into main (c2ccacd) will decrease coverage by 0.16%.
The diff coverage is 60.00%.

Additional details and impacted files

@@            Coverage Diff             @@
##             main      #46      +/-   ##
==========================================
- Coverage   92.90%   92.74%   -0.17%
==========================================
  Files           2        2
  Lines         973      978       +5
==========================================
+ Hits          904      907       +3
- Misses         69       71       +2

Impacted Files
Coverage Δ

include/snatch/snatch.hpp
95.98% <ø> (ø)

src/snatch.cpp
91.13% <60.00%> (-0.24%)
:arrow_down:

Continue to review full report at Codecov.

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


"Suggest Gems" functionality tends to forget about expertise cap.

Describe the bug
"Suggest Gems" functionality doesn't always go for expertise cap.
To Reproduce
Steps to reproduce the behavior:

Load Horde P3 BIS set from
https://www.wowhead.com/wotlk/guide/classes/druid/feral/dps-bis-gear-pve-phase-3#horde
wowsims.zip
Use "Suggest Gems" button
Expertise drops down to 168 (5.12%)

Expected behavior
Expertise doesn't go above 214 (6.5%), but doesn't go below 200 too.
Sim Links and Screenshots

Desktop (please complete the following information):

OS: Windows 10 Pro 2009
Browser: Firefox
Version: 117.0 (64-bit)

You can semi fix it by swapping to arp food instead which frees up two slots for expertise instead which gets you to 208/6.3% or if you set jc profession which frees up a slot for another epertise gem, which is prolly the closest you can get. without the food or jc in this case, the problem is either way ur either giving up either arp soft cap or expertise cap, or changing a yellow w/ socket bonus, which ends up being a wash and/or dps loss


Update MD file on new branch 2017-11-15_23-30-58

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/content1.md
:white_check_mark:Succeeded

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


Image on Docker Hub?

@mboldt Is this docker image being pushed to a public Docker Hub image?

Yes, it's available at https://hub.docker.com/r/cfplatformeng/concourse-pypi-resource/
I'll update docs.

Thanks @mboldt !


Debian vulnerabilities incorrectly marked as 'is_vulnerable = f'

I am seeing vulnerabilities marked as is_vulnerable = f for Debian packages when the security advisory feed says that they are in the 'open' or 'vulnerable' state.
For example, looking up package entries for android-framework-23 I find the following three rows:
postgres=> SELECT * FROM vulnerabilities_package WHERE name = 'android-framework-23' AND version = '6.0.1+r72-3';
   id   | type | namespace |         name         |   version   | subpath |      qualifiers
--------+------+-----------+----------------------+-------------+---------+-----------------------
  67305 | deb  | debian    | android-framework-23 | 6.0.1+r72-3 |         | {"distro": "stretch"}
 238646 | deb  | debian    | android-framework-23 | 6.0.1+r72-3 |         | {"distro": "buster"}
 376043 | deb  | ubuntu    | android-framework-23 | 6.0.1+r72-3 |         | {}
(3 rows)

Using those package IDs and looking up vulnerabilities I find two vulnerabilities against those packages, both marked as is_vulnerable = f:
postgres=> SELECT * FROM vulnerabilities_packagerelatedvulnerability WHERE package_id IN (238646, 67305, 376043);
   id    | is_vulnerable | package_id | vulnerability_id
---------+---------------+------------+------------------
 1598928 | f             |     238646 |            12920
 1605060 | f             |     238646 |            12918
(2 rows)

Those two vulnerabilities are CVE-2017-0752 and CVE-2017-0822:
postgres=> SELECT * FROM vulnerabilities_vulnerability WHERE id IN (12920, 12918)
postgres-> ;
  id   | vulnerability_id | old_vulnerability_id |                                                                                summary
-------+------------------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 12918 | CVE-2017-0752    |                      | A elevation of privilege vulnerability in the Android framework (windowmanager). Product: Android. Versions: 4.4.4, 5.0.2, 5.1.1, 6.0, 6.0.1, 7.0, 7.1.1, 7.1.2. Android ID: A-62196835.
 12920 | CVE-2017-0822    |                      | An elevation of privilege vulnerability in the Android system (camera). Product: Android. Versions: 6.0.1, 7.0, 7.1.1, 7.1.2, 8.0. Android ID: A-63787722.
(2 rows)

When I go to the Debian security tracker, though, it looks like those two vulnerabilities do effect the package:

Digging into the Debian security advisory feed itself, this is the relevant block:
"android-framework-23": {
 "CVE-2017-0752": {
  "description": "A elevation of privilege vulnerability in the Android framework (windowmanager). Product: Android. Versions: 4.4.4, 5.0.2, 5.1.1, 6.0, 6.0.1, 7.0, 7.1.1, 7.1.2. Android ID: A-62196835.",
  "scope": "local",
  "releases": {
   "bullseye": {
    "status": "open",
    "repositories": {
     "bullseye": "6.0.1+r72-6"
    },
    "urgency": "unimportant"
   },
   "buster": {
    "status": "open",
    "repositories": {
     "buster": "6.0.1+r72-5"
    },
    "urgency": "unimportant"
   },
   "sid": {
    "status": "open",
    "repositories": {
     "sid": "6.0.1+r72-6"
    },
    "urgency": "unimportant"
   },
   "stretch": {
    "status": "open",
    "repositories": {
     "stretch": "6.0.1+r72-3"
    },
    "urgency": "unimportant"
   }
  }
 },
 "CVE-2017-0822": {
  "description": "An elevation of privilege vulnerability in the Android system (camera). Product: Android. Versions: 6.0.1, 7.0, 7.1.1, 7.1.2, 8.0. Android ID: A-63787722.",
  "scope": "local",
  "releases": {
   "bullseye": {
    "status": "open",
    "repositories": {
     "bullseye": "6.0.1+r72-6"
    },
    "urgency": "unimportant"
   },
   "buster": {
    "status": "open",
    "repositories": {
     "buster": "6.0.1+r72-5"
    },
    "urgency": "unimportant"
   },
   "sid": {
    "status": "open",
    "repositories": {
     "sid": "6.0.1+r72-6"
    },
    "urgency": "unimportant"
   },
   "stretch": {
    "status": "open",
    "repositories": {
     "stretch": "6.0.1+r72-3"
    },
    "urgency": "unimportant"
   }
  }
 }
}

Based on that, I'm not sure why they are marked as is_vulnerable = f. Since all of them have "status": "open", the logic in the importer looks correct to me, but there must be either something I don't understand about the logic or my local data is somehow not correct. Perhaps this is related to them being marked as unimportant? I looked but I didn't see any additional logic to handle that tag in a special way.

@njv299 Thank you for the detailed report.

The importer structure has been migrated now for debian. I am closing this now, feel free to open it in case you have further issues.


appengine: updating dependency paths and adding documentation

Ran aefix against the gaedatastore and added some documentation to the
appengine folder along with an example for deploying to the traditional
and flexible environments.

Please review and let me know if this can be integrated. Thanks!

I had to I update the Glide dependencies, and also subsequently updated the go_appengine SDK used with travis-ci.

What is the appengine/appengine binary file attached?

 I will fix this.

I made the needed changes. Let me know if there is any other problems / issues. Again, thanks!

LGTM


vNext Task Define Spatial Mapping abstraction

Overview
Multiple platforms (ex: HoloLens, ARKit, ARCore, Magic Leap) provide environmental data in various forms. The core layer needs an abstraction that make it easy to consume in the desired format (mesh, points, planes) in the SDK.
Requires
Interface defining the spatial mapping abstraction
Default implementation of the system
Acceptance Criteria

[x] Interfaces defined
[ ] Default implementation created and working on HoloLens

Notes
ARKit and ARCore are coming online after the initial release. We will need to take are with the design / testing to avoid need for breaking changes.

Would love the ability to classify objects that are known in the point cloud system, and have a referential way to understand the digital objects in relation to the physical spaces. This includes the ability to apply meta and contextual data to the objects for later capability for advanced pattern recognition of like and similar object systems. This gives us the ability to think about physical objects in digital terms and apply contextual meaning to deeper interaction, meta-interaction states and to identify new ways to think about dimensional user experiences across dimensional occupancy.
I talk a lot more about this from a user experience side in the following document. I know it's a tall order, but by doing so we start to understand the connection of what I call Living interactions systems and the experiential glue between these systems regardless of device level access or building up of existing, new or proto-reality states.
https://www.linkedin.com/pulse/teaching-next-evolution-ux-design-thinking-shifting-towards-mccauley/


Lead curators need to know which curator created a collection

Story
As lead curators are migrating collections to new versions of the cellxgene schema or reviewing published collections, they may need to contact the curator who created the collection for further information.
Previously, we have asked all funded curators if they were comfortable being listed in public collections similar to the Data Curator field in DCP projects. There were no objections.
With the new superuser role, access to this information could be limited to superusers in either a collection field or a column in the My Collections view.

UX Design

@NoopDog noted:

In my experience with the DCP,  listing the curator(s) has been quite helpful in the case there are questions about how the project was wrangled or why it looks a certain way. It also gives a bit of credit where credit is due for getting data into the platform.


[Theme Request] Yachiyo Nanami

Who/What do you want to be featured?
Please, Yachan from Magia Record.
What do they look like?

What type of theme?

[ ] Light Theme
[X] Dark Theme
[X] Blue Theme

Additional Information (Optional)
She is the best waifu :P

If you can use the first picture to wallpaper, please.

She's cute! Thank you for the suggestion! I'll keep her in mind when I need another blue theme (as I am currently working on one right now :)

Thank you for accept my suggestion :D


Using PDFBox 2

How straight-forward is the process of moving PdfBox-Android  so that it is based on a PDFBox 2 release?
Is there something more that just coping the latest PDFBox 2 source files over? If not can you outline the steps involved.
Thanks

Unfortunately it's not quite that simple. While the majority of Java is directly compatible with Android, some parts, especially any code that relates to graphics, will need to be rewritten with the correct Android method calls. If you try to copy the Java code into an Android project, you'll get lots of errors when you try to compile. You need to go through and fix the errors by determining how to accomplish the same thing using the Android classes.

I just added the latest official build on Android and it appears to work (it compiled):
compile 'org.apache.pdfbox:pdfbox:2.0.5'

Haven't done any implementation yet, however.

Okay, so after actually implementing a few things, everything compiles, but then I receive runtime errors. For example:
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Ljava/awt/color/ColorSpace;

I'm not actually trying to use any Java AWT classes, however, it must just be because classes I am using are attempting to load these classes. :-/


booleans should default to false

It looks like there are already lots of threads covering potential changes to the name and semantics that might impact this. But, wherever they land, they should not end up with a boolean that defaults to true. Web IDL even explicitly warns against this:

Warning
It is strongly suggested not to use default value of true for boolean-typed arguments, as this can be confusing for authors who might otherwise expect the default conversion of undefined to be used (i.e., false).

Ah, I wasn't aware of that guidance - thanks.  I was trying to avoid double negative, but it's easy to just do that.  I.e. doesntCancel instead of 'mayCancel.


Consider kpf for kubectl port-forward

Port forward is used a lot in debugging Kubernetes workloads.

Assuming we'd only generate kpf and kpfn, this is fine to add.
Feel free to send a patch, I won't be able to get to it.

By kpfn what do you refer to? "n" is for what?
On Fri, Sep 13, 2019 at 1:37 PM Ahmet Alp Balkan<EMAIL_ADDRESS>wrote:

Assuming we'd only generate kpf and kpfn, this is fine to add.
Feel free to send a patch, I won't be able to get to it.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ahmetb/kubectl-aliases/issues/33?email_source=notifications&email_token=AAMVXB6LTPFGZJCEI7OQKD3QJP2ZLA5CNFSM4IWTBBL2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6WEFRY#issuecomment-531382983,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAMVXB6W72PGBBS2IAPLUELQJP2ZLANCNFSM4IWTBBLQ
.

Did you read the readme? :)


Wiki

Even with examples, some things may be hard to understand. As i'm porting my engine to MacroGL, i'll try to put some pages up there

Agreed - we should have more example programs. Note that the infrastructure for documentation already exists on the MacroGL website:
https://github.com/storm-enroute/storm-enroute.github.io/tree/master/macrogl
Specifically, this folder is reserved for examples, and currently has a link to only a single example program:
https://github.com/storm-enroute/storm-enroute.github.io/tree/master/macrogl/docs/0.4
The actual page is hosted here:
http://storm-enroute.com/macrogl/
My plan was to add more examples and explanations there, but I never got around to it. If you would like to add something in the documentation section, that would be much appreciated.

Also, I've implemented some infrastructure to automatically upload example programs built with ScalaJS to Github pages, so that there is a sanity check that changes did not break anything:
http://storm-enroute.com/builds/macrogl/2015-10-04_23-59-22_zf8lte/backend-examples-webgl/
At the moment, there is only a single example program set up.


race_linux_amd64.syso now depends on glibc 2.16

What version of Go are you using (go version)?

$ go version
go version go1.13.8 linux/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/vagrant/.cache/go-build"
GOENV="/home/vagrant/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/vagrant/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/opt/golang1.13/lib/golang"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/opt/golang1.13/lib/golang/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build152338807=/tmp/go-build"

What did you do?
I am attempting to build go 1.14 for our internal, EL6-based distribution. 1.12 and 1.13 work fine, but 1.14 fails any time it tries to build with -race with the following:

ld: race_linux_amd64.syso: in function `__sanitizer::ReExec()':
gotsan.cpp:(.text+0x1873c): undefined reference to `getauxval'
collect2: error: ld returned 1 exit status
FAIL	flag [build failed]
FAIL	net [build failed]
FAIL	os [build failed]
FAIL	os/exec [build failed]
FAIL	encoding/gob [build failed]
FAIL

It appears that race_linux_amd64.syso now has a dependency on glibc 2.16, whereas previous versions were built against glibc 2.12. This does not appear to be documented anywhere.
I do not have access to a system with the requisite LLVM dependencies to build a new race_linux_amd64.syso, but it would be great if that new dependency could be changed.
What did you expect to see?
A successful build
What did you see instead?
Failed self-tests

CC @dvyukov @randall77 (see CL 201898 / #33309)

I see there is some logic not use getauxval:
https://github.com/llvm/llvm-project/blob/master/compiler-rt/lib/sanitizer_common/sanitizer_getauxval.h#L24
We probably need to include Go build in that condition.

This is also broken in 1.14.1.

This is also broken in 1.14.2.

This should be fixed at tip (can you try tip? I've been told this issue has been fixed in compiler-rt but I haven't verified myself).
I don't think we've backported fixes like this before. We'll see if this qualifies for 1.14.3.
@gopherbot Please open a backport issue to 1.14.

Easiest way to test at tip is with golang.org/dl/gotip.

@FiloSottile is there a way to run the test suite with gotip? For now, I'm muddling through trying to make it work with my regular build commands.

If you want gotip to be your Go install temporarily, you can add it to PATH.
$ gotip download
$ export PATH=$(gotip env GOROOT)/src:$PATH
$ go version
go version devel +28157b3292 Thu Apr 9 21:18:55 2020 +0000 linux/amd64

You can either use gotip test -race selectively, or cd $(gotip env GOROOT)/src and run all.bash.

@Roguelazer We're still waiting on confirmation that this has been fixed on tip.  Is there anything we can do to help you confirm that?  Thanks.

Sorry; I only package Go; I don't actually use it very often.
$ set -x GOPATH ~/gotip_gopath/
$ go get golang.org/dl/gotip
$ set -x PATH ~/gotip_gopath/bin:$PATH
$ ./go/bin/gotip download
Cloning into '/home/vagrant/sdk/gotip'...
remote: Counting objects: 9858, done
remote: Finding sources: 100% (9858/9858)
remote: Total 9858 (delta 1330), reused 6549 (delta 1330)
Receiving objects: 100% (9858/9858), 23.87 MiB | 8.83 MiB/s, done.
Resolving deltas: 100% (1330/1330), done.
Updating files: 100% (9052/9052), done.
HEAD is now at 2491c5f runtime: wake scavenger and update address on sweep done
Building Go cmd/dist using /usr/lib/golang. (go1.6.3 linux/amd64)
Building Go toolchain1 using /usr/lib/golang.

Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for linux/amd64.
---
Installed Go for linux/amd64 in /home/vagrant/sdk/gotip
Installed commands in /home/vagrant/sdk/gotip/bin
Success. You may now run 'gotip'!
$ set -x PATH (gotip env GOROOT)/bin:$PATH
$ go version
go version devel +2491c5f Thu Apr 30 18:12:03 2020 +0000 linux/amd64
$ gotip test -race
package .: no Go files in /home/vagrant/
$ cd (gotip env GOROOT)/src
# cgo requires a much newer gcc as of go 1.14, which also totally stinks for people using stable distributions
$ set -x CC "/opt/gcc8/bin/gcc8"
$ set -x CC_FOR_TARGET "/opt/gcc8/bin/gcc8"
$ bash all.bash
Building Go cmd/dist using /usr/lib/golang. (go1.6.3 linux/amd64)
Building Go toolchain1 using /usr/lib/golang.

Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for linux/amd64.

##### Testing packages.
ok  	archive/tar	0.060s
[...snip..]
##### Testing race detector
ok  	runtime/race	11.245s
ok  	flag	0.072s
ok  	net	0.139s
ok  	os	0.122s
ok  	os/exec	0.102s
ok  	encoding/gob	0.039s
ok  	flag	0.082s
ok  	os/exec	0.085s
[...snip...]
ALL TESTS PASSED
---
Installed Go for linux/amd64 in /home/vagrant/sdk/gotip
Installed commands in /home/vagrant/sdk/gotip/bin

lgtm

Thanks!

Not to pile on, but with 1.14.3 I see this still happens for arm64.
race_linux_arm64.syso: In function `__sanitizer::GetPageSize()':
gotsan.cpp:(.text+0x492c): undefined reference to `getauxval'
collect2: error: ld returned 1 exit status

This is back for Go 1.15: I have a linux/amd64 build environment that uses glibc 2.12 which cannot build go1.15rc1, but can build go1.14.6. In that environment, fffe6229637d1cf37c1400623bdeba57b4a787cb does not build but its parent commit, b8fd3cab3944d5dd5f2a50f3cc131b1048897ee1, does. Here's the end of the unsuccessful build of go1.15rc1.
##### internal linking of -buildmode=pie
ok      reflect 0.168s
ok      os/user 0.004s

##### sync -cpu=10
ok      sync    0.252s

##### Testing race detector
# runtime/race
race_linux_amd64.syso:gotsan.cpp:function __sanitizer::ReExec(): error: undefined reference to 'getauxval'
collect2: error: ld returned 1 exit status
FAIL    runtime/race [build failed]
FAIL
2020/07/27 22:08:20 Failed: exit status 2
# runtime/race
race_linux_amd64.syso:gotsan.cpp:function __sanitizer::ReExec(): error: undefined reference to 'getauxval'
collect2: error: ld returned 1 exit status
FAIL    flag [build failed]
FAIL    net [build failed]
FAIL    os [build failed]
FAIL    os/exec [build failed]
FAIL    encoding/gob [build failed]
FAIL
2020/07/27 22:08:26 Failed: exit status 2
# runtime/race
race_linux_amd64.syso:gotsan.cpp:function __sanitizer::ReExec(): error: undefined reference to 'getauxval'
collect2: error: ld returned 1 exit status
FAIL    flag [build failed]
FAIL    os/exec [build failed]
FAIL
2020/07/27 22:08:26 Failed: exit status 2
go tool dist: FAILED

Milestone set to Go 1.15 to look into whether it's a regression.

This does look like a regression, although I don't really understand why it happened. The corresponding tsan code doesn't look like it changed recently. Did we update the linux/amd64 builder to a >= 2.16 glibc from a < 2.16 glibc? (Tsan has the annoying C-derived property that it makes build decisions based on the machine that it is building on, not the machine it will run on.)
I have a simple patch to the thread sanitizer that will fix this. We'll need to rebuild the .syso files again after that patch goes in. Could be a day or two.


New precision issues when running with default settings

There also seem to be new issues in LoRA finetuning when just using the default settings. I.e.,
RuntimeError: index_copy_(): self and source expected to have the same dtype, but got (self) Float and (source) BFloat16

This also happens when using
python scripts/prepare_lima.py --checkpoint_dir checkpoints/meta-llama/Llama-2-7b-hf/

python finetune/lora.py --checkpoint_dir checkpoints/meta-llama/Llama-2-7b-hf/ --data_dir data/lima/

without specifying --precision "bf16-true".
This happens with other models as well, e.g., our default stablelm 3B model via
python finetune/lora.py

Thanks for reporting. I'll look into it. To clarify, it's only a problem with --precision bf16-mixed but not --precision bf16-true?


Add environment option to set an environment to dryrun only

this disables auto deploy
this disables all normal deploy behavior

use cases

migration procedures
special dryrun environments

To be discussed on the context of dryrun on LSM


[Question] Is it possible to load/save compiled bytecode ?

Hello,
The question is quite simple, sorry if it has already been answered. Is it possible to:

Compile some python code
Save compiled bytecode to disk
Reload previously saved bytecode later
Run it

IF yes:

Does each import have to be compiled and reloaded separately, or can a whole big script be compiled and reloaded at once ?
Does the whole set of registered classes/methods/functions have to be exactly the same between the time the code is compiled and the time it is run ?
CAn python code be compiled without the need to register the complete set of classes/methods/functions that will be used at run time ?
Can bytecode compiled with an older version of PocketPy be reloaded in a newer version ?

Thank you for your answers. IF this feature isn't implemented yet, take it as a feature proposal. It would be good to have it, so that end users wouldn't necessarily see the code created by scripters/makers in clear.

NO.

I know you want to encrypt the code. This is possible but not necessary to be implemented as bytecode serialization. Because it is must more complex.

This feature was added: https://pocketpy.dev/features/precompile/#string-precompilation


Avoid more errors when config.APP is not present

Continuing work in https://github.com/ember-cli/ember-cli-app-version/commit/f3c2e1a8e8c52b0e9469fa8c089f57d68958332a, this change ensures that APP exists before assigning properties to in the addon's config hook.
@rwjblue here's another CI fix for Ember CLI

Thank you!

 ember-cli-app-version 3.1.3 published 🎉


arch/risc-v/bl602 : add gpioirq、 i2c(master) driver.

Summary
arch/risc-v/bl602 : add gpioirq、 i2c(master) driver.
Impact
N/A
Testing
config:
boards/risc-v/bl602/bl602evb/configs/gpio/defconfig
boards/risc-v/bl602/bl602evb/configs/i2c/defconfig
test gpio:
gpio /dev/gpin0
gpio -o 0 /dev/gpout1
gpio -o 1 /dev/gpout1
gpio -w 1 /dev/gpint2
test i2c:(support master, not support slave)
i2c set -a50 -r09 -f500 33
i2c get -a50 -r09
References:
https://github.com/apache/incubator-nuttx/pull/2637  @btashton

@liangzhanggb I will look but I had already created a WIP PR for i2c and last night was testing the rest of the full implementation. It would be nice to not be duplicating work.

@liangzhanggb I will look but I had already created a WIP PR for i2c and last night was testing the rest of the full implementation. It would be nice to not be duplicating work.

@liangzhanggb I will look but I had already created a WIP PR for i2c and last night was testing the rest of the full implementation. It would be nice to not be duplicating work.

Great, thank you very much, I am going to close my i2c_drv PR, and then create a gpio_drv PR

@liangzhanggb I will look but I had already created a WIP PR for i2c and last night was testing the rest of the full implementation. It would be nice to not be duplicating work.

Great, thank you very much, I am going to close my i2c_drv PR, and then create a gpio_drv PR

@liangzhanggb let's go with yours it's more complete. Maybe we can coordinate more on other drivers.

@liangzhanggb let's go with yours it's more complete. Maybe we can coordinate more on other drivers.

please avoid using non-ascii characters in the commit message. ("、")

please avoid using non-ascii characters in the commit message. ("、")

@liangzhanggb Let's merge this in, we can make some more improvements later.

@liangzhanggb Let's merge this in, we can make some more improvements later.


style: add the missing colon before AuthData

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 82.809%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
5106

Relevant Lines:
6166

💛  - Coveralls


Show import errors

Previously, errors thrown during import were not reported, and missing-chapter errors (e.g. from trying to import Door43 resource containers) just locked the UI.

That is a good catch. And the fix seems to working.
We've also found another issue while testing this. Will be working on that.
There is a small change I'd like to suggest. Could you make the line 408 to
return swal(currentTrans["dynamic-msg-error"], currentTrans["dynamic-msg-imp-error"], "error");
to be able to keep the app translatable and resubmit the PR.

Sure, I'll take another look at that.  My usual preference is to expose lower-level, and thus more specific error messages.  E.g., I'd like to say "Couldn't find a USFM file" or "USFM files without chapters aren't supported", instead of "Import error", which could mean either of those.
Following that guideline suggests I should add a translatable phrase way down in usfm_to_json.js line 54 instead of at the display site (line 408).
It also calls for updates to existing code, such as line 26 et al in that file.
Is this OK?  I don't know whether it's a problem for me to add new phrases to be translated.  If it's a problem, then of course I should just make the fix you advised above.
I think there may also be lower-level errors that could bubble up from the libraries we use.  Is it important to catch those and wrap them in translatable phrases?

I agree with you suggestion that it is better to catch lower-level messages. And I welcome you to add the specific message "USFM files without chapters are not supported.". But could you add it to the language bundles (we support 5 languages) instead and get the string from there? You can just use Google translate to get the translations. The other instance you showed is not being shown in UI but is there so that it is available for use internally/logging.
Since we'd need to keep all strings shown to the user translated, we need to be a bit more conservative about the number of unique strings we use. But in principle I'm all for giving more detailed error messages. I believe there is a balance that we'd have to figure out as we continue development. In essence, we should continue bubbling specific errors from the inner APIs and then catch them later on and show a bit more generic message.
I'm open to hearing your thoughts on this. Thanks for looking in to this!

Hi, since I was pulled away for a couple of weeks, and I'm eager to make progress on Gitea sync, I just went with your original, simpler, wiser suggestion.  I know this PR is old now; let me know if you want me to rebase it or merge in the master branch.

Thanks for doing this! 👍


GH-2790: Don't write CI service messages using log

Also cleans up the CI provider code a bit.
Closes #2790

@cake-build/cake-team Could someone review this?

@mholo65 Can't help that. Nothing should have dependencies on that though so should be fine.

@mholo65 I just had a quick check of the obvious candidate for issues, which is the Cake.BuildSystems.Module from @agc93 and I "think" this should be ok.

@patriksvensson thanks for getting this done.  I have merged this into a hotfix branch, so I am going to go ahead and close out this PR.


Update gen_vmlinux_h.sh

Positional or special parameters cannot be assigned using := way. Should be :-.

You are right, thank you!


Broken Links - Message Store

Description:
All the message store examples such as in [1] (JDBC Message Store Example) are broken links.   Also need to remove the use of WSO2 MB as a message store in [2].
[1] https://apim.docs.wso2.com/en/latest/reference/synapse-properties/message-stores/jdbc-msg-store-properties/
[2] https://apim.docs.wso2.com/en/latest/reference/synapse-properties/message-stores/wso2mb-msg-store-properties/
Suggested Labels:

Suggested Assignees:

Affected Product Version:
4.0
OS, DB, other environment details and versions:
Steps to reproduce:
Related Issues:

Links in [1] are fixed now and we have decided to keep [2] since there might be some folks who are still using the old MB, which can still be used as a Message Store.


Getting a 500 error when returning a Redirect() ActionResult

RequestReduce seems to be causing the following error when I am returning a Redirect from an MVC action. Not sure if this happens for a standard Response.Redirect as well.
System.Web.HttpException (0x80004005): Filtering is not allowed.
at System.Web.HttpResponse.set_Filter(Stream value)
at RequestReduce.Module.RequestReduceModule.InstallFilter(HttpContextBase context) in c:\RequestReduce\RequestReduce\Module\RequestReduceModule.cs:line 223
at System.Web.HttpApplication.SendResponseExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

If you can easily wrap this up onto something I can test with, I'll take a look and see if there is anything I can do to make RR handle it more gracefully. If not, I'll do my best to see if I can reproduce. Thanks Marcus.

Hi Marcus. I started trying to reproduce this last night. So far no luck but I have a few questions.

What version of MVC and .net are you using
Here is how I'm testing:

I have a page that renders a partial:
<body>
<div>
    <% Html.RenderPartial("partial"); %>
</div>
</body>

This partial then calls RenderAction:
<% Html.RenderAction("Redirect"); %>

The Redirect Action Method does a Response.Redirect:
        Response.Redirect("/Home/target");
        return View();

Do I have the flow correct. I realize there is a lot more that can be at play here but want to make sure I'm mimicing your scenario as closely as possible.
Thanks

ok. I'm able to reproduce now when I switch to a razor template. Will hopefully have a fix soon.

Hi Matt,
I'm actually using Html.RenderAction(action, controller, routeValues)
directly within the initial view. Within the ActionResult of the 'child'
controller I am just doing a Response.Redirect() - same as your example
below.
cheers
Marcus
On Sat, Dec 17, 2011 at 2:51 PM, Matt Wrock <
<EMAIL_ADDRESS>
wrote:

Hi Marcus. I started trying to reproduce this last night. So far no luck
but I have a few questions.

What version of MVC and .net are you using
Here is how I'm testing:

I have a page that renders a partial:

       <% Html.RenderPartial("partial"); %>

This partial then calls RenderAction:
<% Html.RenderAction("Redirect"); %>
The Redirect Action Method does a Response.Redirect:
       Response.Redirect("/Home/target");
       return View();

Do I have the flow correct. I realize there is a lot more that can be at
play here but want to make sure I'm mimicing your scenario as closely as
possible.
Thanks

Reply to this email directly or view it on GitHub:
https://github.com/mwrock/RequestReduce/issues/80#issuecomment-3189674

Pushed fix to Nuget and web. Update to 1.6.24