Outputs 'Wrap' and 'Row' differently at specific resolutions

Steps to Reproduce

When i set width of Container() that Wrap()'s children using layoutBuilder() constraints.maxWidth,
When Wrap is used at a specific resolution, setting the width based on maxWidth will cause the Container to move to the next line.
This does not occur in Row or GridView, but only in Wrap.
codepen
import 'package:flutter/material.dart';

void main() {
  runApp(
    MaterialApp(
      home: MyWidget(),
    ),
  );
}

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: LayoutBuilder(
        builder: (context, constraints) {
          return Stack(
            children: [
             Container(
               width: constraints.maxWidth,
               height: constraints.maxHeight,
               color: Colors.amber,
               child: Center(child: Text("${constraints.maxHeight}")),
             ),
             Column(
               crossAxisAlignment: CrossAxisAlignment.stretch,
               children:[
               Row(
               children: [
                 Container(
                color: Colors.red,
                width: constraints.maxWidth / 7,
                height: 30,
                child: Center(child:Text("${constraints.maxWidth / 7}")),
              ),
                 Container(
                color: Colors.red,
                width: constraints.maxWidth / 7,
                height: 30,
                child: Center(child:Text("${constraints.maxWidth / 7}")),
              ),
                 Container(
                color: Colors.red,
                width: constraints.maxWidth / 7,
                height: 30,
                child: Center(child:Text("${constraints.maxWidth / 7}")),
              ),
                 Container(
                color: Colors.red,
                width: constraints.maxWidth / 7,
                height: 30,
                child: Center(child:Text("${constraints.maxWidth / 7}")),
              ),
                 Container(
                color: Colors.red,
                width: constraints.maxWidth / 7,
                height: 30,
                child: Center(child:Text("${constraints.maxWidth / 7}")),
              ),
                 Container(
                color: Colors.red,
                width: constraints.maxWidth / 7,
                height: 30,
                child: Center(child:Text("${constraints.maxWidth / 7}")),
              ),
                 Container(
                color: Colors.red,
                width: constraints.maxWidth / 7,
                height: 30,
                child: Center(child:Text("${constraints.maxWidth / 7}")),
              ),
               ]
               ),
               Wrap(
            children: [
              Container(
                color: Colors.teal,
                width: constraints.maxWidth / 7,
                height: 30,
                child: Center(child:Text("${constraints.maxWidth / 7}")),
              ),
              Container(
                color: Colors.teal,
                width: constraints.maxWidth / 7,
                height: 30,
                child: Center(child:Text("${constraints.maxWidth / 7}")),
              ),
              Container(
                color: Colors.teal,
                width: constraints.maxWidth / 7,
                height: 30,
                child: Center(child:Text("${constraints.maxWidth / 7}")),
              ),
              Container(
                color: Colors.teal,
                width: constraints.maxWidth / 7,
                height: 30,
                child: Center(child:Text("${constraints.maxWidth / 7}")),
              ),
              Container(
                color: Colors.teal,
                width: constraints.maxWidth / 7,
                height: 30,
                child: Center(child:Text("${constraints.maxWidth / 7}")),
              ),
              Container(
                color: Colors.teal,
                width: constraints.maxWidth / 7,
                height: 30,
                child: Center(child:Text("${constraints.maxWidth / 7}")),
              ),
              Container(
                color: Colors.teal,
                width: constraints.maxWidth / 7,
                height: 30,
                child: Center(child:Text("${constraints.maxWidth / 7}")),
              ),
            ],
          )
             ]),

            ],
          );
        }
      ),
    );
  }
}

Expected results:

Actual results:

Logs

$ flutter doctor -v
[√] Flutter (Channel beta, 1.21.0-9.2.pre, on Microsoft Windows [Version 10.0.19041.450], locale ko-KR)
    • Flutter version 1.21.0-9.2.pre at C:\src\flutter
    • Framework revision 81a45ec2e5 (5 days ago), 2020-08-27 14:14:33 -0700
    • Engine revision 20a9531835
    • Dart version 2.10.0 (build 2.10.0-7.3.beta)

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at C:\Users\Hskim\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

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

[√] Android Studio (version 4.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 48.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] VS Code (version 1.48.0)
    • VS Code at C:\Users\Hskim\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.13.2

[√] Connected device (5 available)
    • SM G930L (mobile)           • <IP_ADDRESS>:5555 • android-arm64  • Android 8.0.0 (API 26)
    • sdk gphone x86 arm (mobile) • emulator-5554     • android-x86    • Android 11 (API 30) (emulator)
    • Web Server (web)            • web-server        • web-javascript • Flutter Tools
    • Chrome (web)                • chrome            • web-javascript • Google Chrome 84.0.4147.135
    • Edge (web)                  • edge              • web-javascript • Microsoft Edge 85.0.564.41

• No issues found!

When Wrap is used at a specific resolution, setting the width based on maxWidth will cause the Container to move to the next line.

The container because no all items can fit in the same line. I can't see what is the problem here, can you be more explicit?

When Wrap is used at a specific resolution, setting the width based on maxWidth will cause the Container to move to the next line.

The container because no all items can fit in the same line. I can't see what is the problem here, can you be more explicit?

Row's children in container does not overflow horizontally but fits tightly with Width/value.
However, when the Row is changed to Warp in the same way, Wrap's children in Container does not fill up in the horizontal direction at a specific resolution and moves on to the next line.

I was able to reproduce this issue on latest stable channel. The Wrap widget warps its children even when there is available space in the same line (green) but the same does not happen with the Row widget (red).

 flutter doctor -v
[✓] Flutter (Channel stable, 1.20.2, on Mac OS X 10.15.6 19G2021, locale en)
    • Flutter version 1.20.2 at /Users/pedromassango/dev/SDKs/flutter_stable
    • Framework revision bbfbf1770c (3 weeks ago), 2020-08-13 08:33:09 -0700
    • Engine revision 9d5b21729f
    • Dart version 2.9.1

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at /Users/pedromassango/Library/Android/sdk
    • Platform android-30, build-tools 30.0.1
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor
      --android-licenses

[✓] Xcode - develop for iOS and macOS (Xcode 11.7)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.7, Build version 11E801a
    • CocoaPods version 1.9.3

[!] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] IntelliJ IDEA Community Edition (version 2020.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 48.1.4
    • Dart plugin version 202.7206

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

[!] Connected device
    ! No devices available

! Doctor found issues in 3 categories.

Reproduces on the latest versions of flutter using the code sample in https://github.com/flutter/flutter/issues/65017#issue-690121472 with no modification required
https://user-images.githubusercontent.com/88313112/224298505-ad0cd992-ff1f-436d-ac6d-62bdedd3f762.mov

flutter doctor -v
[✓] Flutter (Channel stable, 3.7.7, on macOS 13.2.1 22D68 darwin-arm64, locale en-GB)
    • Flutter version 3.7.7 on channel stable at /Users/nexus/dev/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 2ad6cd72c0 (2 days ago), 2023-03-08 09:41:59 -0800
    • Engine revision 1837b5be5f
    • Dart version 2.19.4
    • DevTools version 2.20.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/221.6008.13.2211.9477386/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14C18
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] Android Studio (version 2022.1)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/221.6008.13.2211.9477386/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] IntelliJ IDEA Community Edition (version 2022.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 72.1.4
    • Dart plugin version 223.8836.5

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

[✓] Connected device (4 available)
    • M2007J20CG (mobile) • adb-5dd3be00-17AYzd._adb-tls-connect._tcp. • android-arm64  • Android 12 (API 31)
    • Nexus (mobile)      • 00008020-001875E83A38002E                  • ios            • iOS 16.3.1 20D67
    • macOS (desktop)     • macos                                      • darwin-arm64   • macOS 13.2.1 22D68 darwin-arm64
    • Chrome (web)        • chrome                                     • web-javascript • Google Chrome 111.0.5563.64

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[!] Flutter (Channel master, 3.9.0-1.0.pre.144, on macOS 13.2.1 22D68 darwin-arm64, locale en-GB)
    • Flutter version 3.9.0-1.0.pre.144 on channel master at /Users/nexus/dev/sdks/flutters
    ! Warning: `flutter` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ac550c6356 (8 hours ago), 2023-03-09 21:59:21 -0500
    • Engine revision e9ca7b2c45
    • Dart version 3.0.0 (build 3.0.0-313.0.dev)
    • DevTools version 2.22.2
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/221.6008.13.2211.9477386/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14C18
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] Android Studio (version 2022.1)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/221.6008.13.2211.9477386/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] IntelliJ IDEA Community Edition (version 2022.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 72.1.4
    • Dart plugin version 223.8836.5

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

[✓] Connected device (4 available)
    • M2007J20CG (mobile) • adb-5dd3be00-17AYzd._adb-tls-connect._tcp. • android-arm64  • Android 12 (API 31)
    • Nexus (mobile)      • 00008020-001875E83A38002E                  • ios            • iOS 16.3.1 20D67
    • macOS (desktop)     • macos                                      • darwin-arm64   • macOS 13.2.1 22D68 darwin-arm64
    • Chrome (web)        • chrome                                     • web-javascript • Google Chrome 111.0.5563.64

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.


updating BuildConfig retry

Signed-off-by: Robert Cerven<EMAIL_ADDRESS>

working on test

Can't retry_on_conflict help somehow? Seems a shame to duplicate logic.


eventing-contrib test work with go1.13

Test would fail with go1.13 as it changed where testing flags are registered, fixing it by deleting explicit flag parsing like in https://github.com/knative/serving/pull/5398
/cc @mattmoor
/cc @n3wscott
/cc @adrcunha

/approve

/retest
On Fri, Sep 6, 2019 at 11:15 AM Knative Prow Robot<EMAIL_ADDRESS>wrote:

@chaodaiG https://github.com/chaodaiG: The following test failed, say
/retest to rerun them all:
Test name Commit Details Rerun command
pull-knative-eventing-contrib-unit-tests 16e0cc5
https://github.com/knative/eventing-contrib/commit/16e0cc50691df275ecbd591bf5db23f8ebc0b5c0
link
https://prow.knative.dev/view/gcs/knative-prow/pr-logs/pull/knative_eventing-contrib/576/pull-knative-eventing-contrib-unit-tests/1170036854502723584 /test
pull-knative-eventing-contrib-unit-tests
Full PR test history
https://gubernator.knative.dev/pr/knative_eventing-contrib/576. Your PR
dashboard https://gubernator.knative.dev/pr/chaodaiG.
Instructions for interacting with me using PR comments are available here
https://git.k8s.io/community/contributors/guide/pull-requests.md. If
you have questions or suggestions related to my behavior, please file an
issue against the kubernetes/test-infra
https://github.com/kubernetes/test-infra/issues/new?title=Prow issue:
repository. I understand the commands that are listed here
https://go.k8s.io/bot-commands.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/knative/eventing-contrib/pull/576?email_source=notifications&email_token=AKXNDYNKLPCO62YXOL2VK23QIKM55A5CNFSM4IULWEWKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6DUSZI#issuecomment-528959845,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKXNDYIE42Q72NLOGI6HBT3QIKM55ANCNFSM4IULWEWA
.

# knative.dev/eventing-contrib/test
test/e2e_flags.go:22:2: imported and not used: "flag"

/lgtm


Implement type checking/validation for filters

Pull request checklist:

[x] CHANGELOG.md was updated, if applicable

Description
This PR adds type-checking to filters. For example, the filter channel.name == "forsen" && author.badges contains "moderator" can be deduced to evaluate to the type Bool. This allows us to tell the user why their filter is not working. Before, attempting to perform invalid operations like String - Int would silently fail while the filter would purport validity.
This PR was primarily motivated by witnessing conversations in Discord where users were confused about why apparently-valid filters weren't working. Additionally, this PR separates the parsing and execution of filters so the filtering language can be easily used in other parts of Chatterino (if another use-case comes up, like advanced highlighting conditions).
This PR also adjusts some (useless) semantics (for example, 5 + "2" no longer == 7 nor == "7"), so the wiki will require some minor updates.
Most of the code change comes from splitting Expressions into multiple files. synthesizeType() is the primary addition in that realm.
Example of detecting type errors
Consider the filter message.content contains ("hello" || "goodbye"). Someone could conceivably believe this filter allows messages that contain either "hello" or "goodbye" (in fact, this example was taken from Discord). Of course, we can't compute the logical or of two strings, so this filter would silently fail.
Now, the filters page reports that there was an issue with the filter, and opening the detailed output gives:

Closes #2466 (in my opinion)

I'm not super fond of how the PossibleType class is set up, could we utilize a variant there instead? I think the variant operator== forwards it to the contained class so it should still be easy to make the API easy to use.

I went ahead and reimplemented PossibleType to make use of std::variant internally (which ends up being much cleaner) in 5474c93.
However, I feel like your comment was more suggesting replacing PossibleType altogether, e.g.
using PossibleType = std::variant<Type, IllTyped>;

This of course would be possible, but I thought that having a wrapper class would still be useful to have utility methods like string() and even well(), given the lovely syntax for checking variants (std::holds_alternative<Type>(variant)).
If you'd like it to make use of only a variant instead of a wrapper, I can implement that.

I'm fine with both IllTyped & PossibleType being classes as they will definitely have some member functions that help them be used, my thinking was more along the lines of:
using PossibleType = std::variant<TypeClass, IllTyped>;

class TypeClass {
  public:
    QString string() const;
    Type unwrap() const;

    bool operator==(Type) const;
    bool operator==(TypeClass) const;
    bool operator==(IllTyped) const;

  private:
  Type type_;
};

class IllTyped {
  public:
    QString description() const;

    bool operator==(Type) const;
    bool operator==(TypeClass) const;
    bool operator==(IllTyped) const;
};

Then in places where we've previously checked if !possibleType.well() { print(possibleType.illTypedDescription()); } we'd instead first unwrap it to either a TypeClass or IllTyped
Happy to hear your thoughts on that sort of solution - I can't see a downside to it but it might become apparent when it's actually done & used :dancers:

Updated to use std::variant directly :+1:

@pajlada Everything looks good 👍


Embroider builds

I don't think this works in Embroider builds, although its not clear to me why Embroider would matter.
I think it's something to do with the ember-raf-scheduler using the old test waiter system?

I think im having the same issue, when i enable a embroider build im getting test failures because the assertions are running before the schedule has finished.

Ah nice, would love to see this released so we can get on Embroider


benign typo in kwarg

typo in this line for a kwarg: https://github.com/scverse/scvi-tools/blob/95f2e1d2fa921c6433a04e257d844280ba0c25e5/scvi/train/_callbacks.py#L112
note this doesn't manifest as a bug. the default behaviour for save has save_anndata set to False already.

Thanks for pointing that out! Not sure how that made past our tests...


psdinput error

I tried open an psd file in OIIO it will crash when loading the file header.  I tried lots of version, the crash is the same.

I'm trying to go through some old issues that have languished...
I get an error from oiio when opening this file, but I also note that neither Mac Preview.app nor GIMP will open the file either, complaining that it's not a valid PSD file.
Maybe the file is corrupt?

Closing because In current master, this file seems to open just fine. Presumably the issue has been fixed by one of the various PSD fixes that have been contributed since this issue was filed.


Sec-WebSocket-Accept case sensitive check

According to RFC 2616 section 4.2 Message Headers: “Field names are case-insensitive.”
HTTP/1.1 101 Switching Protocols
set-cookie: TRACKID=4b8d418a2e6ba09a6be6fb255af11212; Secure; HttpOnly
sec-websocket-accept: qELEzTXDs0AxcFlAJmMjCSwpgIc=
x-frame-options: DENY
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
sec-websocket-protocol: rtsp.onvif.org
date: Tue, 03 May 2022 00:04:15 GMT
x-http2-stream-id: 35
connection: Upgrade
upgrade: websocket

With the above response where the headers are in lower case, client is failing with below error message
invalid Sec-WebSocket-Accept header: qELEzTXDs0AxcFlAJmMjCSwpgIc=

Should this check be made case insensitive in websockets package? or the server response is incorrect ?

The problem doesn't seem to be the lowercase sec-websocket-accept. As you can see in the error message, websockets properly read the value qELEzTXDs0AxcFlAJmMjCSwpgIc= and then complained about it.
Could you provide the sec-websocket-key value from the request? Probably you need to recreate the problem and log both values. Enabling debug logs in websockets is an easy way to capture everything: https://websockets.readthedocs.io/en/stable/topics/logging.html#configure-logging

Thank you Augustin for quick response, as you've mentioned it was issue with the Accept key response from the proxy server which was mishandling it.


authority detail with collapsible cards / accordion for each section

Description
Added component for collapsible cards for each section in authority detail
Also reordered the included sass files in app.scss to be able to override bootstrap classes with custom changes.
Fixes WEBUMENIA-859
Type of change

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

Checklist:

[ ] I have updated the CHANGELOG
[x] I have requested at least 1 reviewer for this PR
[ ] I have made corresponding changes to the documentation

@igor-kamil I will make changes to incorporate my feedback


Render pass descriptor cache for Metal

Includes #2260
Fixes two of the performance issues in  #2161 (RP desc locking and copying costs).
Immediate recording FPS doesn't seem to change, maybe slightly lower (touching 90 from below more than from above, as I recall it doing - need to confirm. Edit - confirmed to not be caused by the PR).
Deferred recording FPS seem to go from lower 100s to higher, or even from 100 to 110, roughly speaking. There are barely any bottlenecks left for it, outside of the general architecture. Main thread now spends about 14.5% in our code, which is mostly covered by driver interaction.
PR checklist:

[ ] make succeeds (on *nix)
[x] make reftests succeeds
[x] tested examples with the following backends: Metal
[ ] rustfmt run on changed code

bors r+


Using channels for events and closing

This is not a bug. It's a discussion and maybe a feature request.
I contributed the ChannelEvents method that redirects events from the internal channel to a user-created channel. #465
quit := make(chan struct{})
events := make(chan tcell.Event)

go screen.ChannelEvents(events, quit)

for ev := range events {
	handleEvent(ev)
	screen.Show()
}

This works pretty well, and I use it in my application, except when using a multi-producer setup. ChannelEvents closes the channel when quit is closed, and may cause a “send on closed channel” panic on other event producers. This doesn't happen often, and if it does, it's only during shutdown, so it's not a big issue.
In Go, typically sync.WaitGroup is used in such cases.
var wg sync.WaitGroup

quit := make(chan struct{})
events := make(chan tcell.Event)

wg.Add(2)

go screen.ChannelEvents(&wg, events, quit) // calls wg.Done
go moreChannelEvents(&wg, events, quit) // calls wg.Done

go func() {
	wg.Wait()
	close(events)
}()

for ev := range events {
	handleEvent(ev)
	screen.Show()
}

In this case, each event producer would call wg.Done() instead of closing the channel or simply returning when quit is closed. Another goroutine would wait and close events when all event producers finish.
To do this in tcell would mean adding another method to Screen since it is incompatible with the existing one.
I thought another option would be exporting the channel so that the user can implement ChannelEvents in whatever way they want (I vaguely remember exporting events channel mentioned in another issue, but I couldn't find it).
I guess a workaround would be to wrap the existing ChannelEvents with another channel in the middle.
wg.Add(1)
go func() {
	defer wg.Done()
	middle := make(chan tcell.Event)
	go screen.ChannelEvents(middle, quit)
	for ev := range middle {
		select {
		case <-quit:
			return
		case events <- ev:
		}
	}
}()

In Go, typically sync.WaitGroup is used in such cases.

It looks like it still sometimes panics, even with this. I am using context.WithCancel and ctx.Done and cancel() maybe that is an issue.

Since I couldn't find a good solution, I just ended up using defer func() { _ = recover() }() before every send to events.

@gdamore


remove testing requirement for node v8

Remove v8 as a testing requirement

@aaronfay Can we add v14 while we're at it?

@justinklemm would it be worth making those Travis checks mandatory as well? 👆🏻

I actually think TravisCI is being kill or become paid-only or something anyway, so I'm not sure we should. We're only using it because Azure made us, right?

I've removed the Travis config and dropped the status badge for now.


Add --compile parameter, add --restart parameter

Add --compile parameter that will upload a file, compile it and remove original one, add --restart parameter that will restart esp after upload.

@tgfuellner @kmpm any chance to merge this please?
Thank you!

Thanks!,
Could you please add something to the README as well. It would be greatly appreciated.

Will do
Sent from my iPhone

On Mar 11, 2015, at 5:32 AM, Peter Magnusson<EMAIL_ADDRESS>wrote:
Thanks!,
Could you please add something to the README as well. It would be greatly appreciated.
—
Reply to this email directly or view it on GitHub.


revert: fix(config): resolve prompt file bug

This reverts commit 92ee2bbb04115586c5f1c98161ee4e4ea6a48987.
relates to https://github.com/promptfoo/promptfoo/issues/1720 https://github.com/promptfoo/promptfoo/issues/1717 https://github.com/promptfoo/promptfoo/issues/1716
CC @albertlieyingadrian

Thanks! @mldangelo

@mldangelo I created a PR to handle the case when it's a javascript function in case you want to merge your PR back
https://github.com/promptfoo/promptfoo/pull/1724


Queries on Many-To-Many Relations are always slow

My app is a messenger and I need to refresh all the updated chats of a user when he opens "My Chats" section. Total there are 5M chats in database.
I have following tables:
_User
Dialogues (or "Chats"; this table has a many-to-many field "users", which includes all the users, who are the members of the Chat; a lot of Chats are group chats, so I couldnt find a more efficient way to store them; arrays, one-to-many relations and Join tables didnt work for many specific requests).
To get the latest chats of a user I make the following request:
        let chatQuery = PFQuery(className:"Dialogues")
        chatQuery.whereKey("users", equalTo: PFUser.currentUser())
         // Getting results which were updated later than last fetch date
        chatQuery.whereKey("updatedAt", greaterThan: lastFetchDate)
        chatQuery.findObjectsInBackgroundWithBlock

So, this simple query which usually return only few dozen results always is Slow. It`s median (ms) is 10481.933. So it spends 10+ seconds just to get these results.
What`s wrong with that query?

Hey @halvini, since you have 5M chats - this would probably lead to a full table scan, since you are querying by the constraint on the array key.
To improve the query performance here - I would recommend building a join table "DialogueUsers" with the following schema:
 DialogueUsers:
 "user" : "_User",
 "dialog" : "Dialog",
 "updatedAt" : "...",
 "activity" : 0,
 ...

This would basically designate which users are in which dialog, allowing you to perform a fast comparison query on the Dialogues that the currentUser is in.
So your query would looks something like:
let query = PFQuery(className: "DialogueUsers")
query.whereKey("user", equalTo: PFUser.currentUser())
query.whereKey("updatedAt", greaterThan: lastFetchDate)
query.includeKey("dialogue")
query.findObjectsInBackgroundWithBlock

There are going to be other changes required:

When a user joins a dialogue - creating a new DialogueUsers object.
When a new message is posted into the dialogue - increment the activity key on all the DialogUsers objects in the current chat (this will also update the updatedAt date).

To improve further - you might want to not fetch all of the DialogueUsers every time to trigger the update for chats, but rather use Push Notifications to trigger updates for a specific dialogue, and then fetch that dialogue only. Meaning that you need to perform this query only on app start.
Hope this helps, let me know if there is anything else I could help you with.

Hey, @nlutsenko, Join Table - is actually what I tried to do earlier and I pm`ed you about that, if you remember.
The fact is that doesn`t work when we are talking about chats with a number of users more than 2. How do I update "DialogueUsers" schema if there are 100 users in a group chat and they are posting there 1 message per second? It will lead to 100 new requests per second, just to let these users know that a message was written in a chat.
But what if we have like 100 of chats like that one? Or 1000?
I cant update the DialogueUsers all the time. So I tried to create them only once and check if "Dialogue" is updated in the "dialog" Pointer. But the subquery also didn`t work, because it has a limit of 1000. So I ended up creating Many-to-Many Relations.
The fact is that scheme at least works. Even very slow.
So the question is, how do I make it faster by NOT making additional hundreds of queries per second or losing data?

Thank you for reopening the issue, @nlutsenko
Unfortunately, I couldn't reopen it myself. I can't find that button here.

After giving it a second thought:

You can realistically completely skip the optimization on updatedAt or activity from the last piece - which means, you don't need to perform a big write for every new message, but simply update the dialogue.
Your query still goes against DialogueUsers.
Since you expanded a pointer via includeKey:@"dialogue" - you will also fetch all the dialogues.
On the client - you can simply sort the dialogues by their updatedAt.
All of this works great, if fetching your DialogueUsers is not performed every minute, but rather is limited to 5 minutes or is triggered via push notification.

The way I am thinking here is that you can optimize the query performance by pre-caching the results with a join table, and slightly rework the optimization to still maintain responsiveness on the client.
Let me know if this makes sense.

@nlutsenko, I've tried that scenario already too. Well, I wouldn't open an issue if I couldn't solve it on my own. I'm sure you have a lot of work to do, and I hope this experience will help your future clients with similar load.
I.
So, what happens if we follow the scenario described above. My app is a place where a lot of people meet, they open new chats, they create group chats by interests, and average client spends 60 minutes in the app per day. That doesn't mean that most clients do that. On the opposite, that means, several % of the audience spend there whole day, but other clients just visit for 1-10 minutes and leave. In fact, I see more and more people who spend days and nights there, so these active clients have joined thousands chats each already. I'm not dreaming. I'm personally connected to more than 10k chats. Most of them are private chats and only 20 chats are group chats.
Imagine if I don't use the app for a day and at least 1 thousand chats are updated at least once.
So, I can get only 1 thousand out of 10 thousand chats I am connected to. And I can check the updatedAt date of these 1 thousand chats only. Unfortunately, these 1k chats are not the same 1k chats which were updated, if I check the updatedAt on the client side. So I will have to check all the 10k chats to get the final results. I wouldn't like to download all these chats each time I enter the app.
So, this is the first problem. How to get all the updated chats as fast as possible? Does this Join Table scenario really helps? Or is it better to check all the updated Chats on the server side using Many-to-Many Relations, as I do (and wait 10 sec)?
II.
Refresh Dialogues while user is online
Second problem is how to get all the updated chats each time I go back to the main screen of the app called "My Chats". Me personally and most of my users go back and forth all the time, so I even had to set a timer on the app side, which checks if at least 30 sec passed before the "My Chats" section should be refreshed. If I wouldn't set that timer, the amount of requests to "Dialogues" would be not 4-5M per day, but up to 40-50M per day, which is impossible to host. Moreover, it really kills the phone`s battery.
PUSH-NOTIFICATIONS
A nice option you advised me to use Push notifications.
Sure, I do use them, but most of the clients, especially the active ones, don't let the app to receive push notifications. I personally don't allow any app, except iMail & iMessage, to send me any notifications, because they are annoying. But it also kills the process of refreshing chats if we rely on Push-notifications.
Ok. Lets imagine that 100% of our users like push notifications. No problem here! But the problem is on the server side than. I send notifications in afterSave function, but the fact is that this function fails to often. Moreover, I heard from many users (and other Parse app founders) that push notifications are delayed too often. So, this is not the way to solve the problem. We cannot rely on push-notifications at all. Pushes are a kind of additional option which can make users life easier, but it`s not stable.
SOCKETS
Another way of receiving notifications which is 99% reliable is Sockets. We use PubNub. It processes 9.1M messages which are sent and received using our app. Yes, 9.1 million messages per day. They include 0.9M messages processed by Parse, and 8.2M messages received through sockets in private and group chats.
So, it would be great to refresh concrete chats each time they are updated, sending a socket to client and updating the "My Chats" section even without necessity to make queries to Parse, while user is online.
It really works with some of our beta-testers! Actually it works great, until you become an active client.
Let's recover again that active clients have thousands chats. So if a chat is updated, that particular active client should find that out in "My chats" section. Unfortunately, PubNub allows to subscribe to 100 channels maximum at once. So, in my scenario with my 10k private chats, it is absolutely impossible to find out which chats should I subscribe to, and which not. 100 is only 1% out of 10 000 chats for a given user.
Than I thought... Why wouldn't I try to get the most recent updates of each chat by receiving data through personal channel? I can create one channel per user and send each client the necessary info, right?
The problem is that most of the chats have more than 2 clients, so even if I try to send PubNub HttpRequests through Parse to these "personal" channels, I will end up with lots of fails and timeouts on the server side. There is no way I could handle an httprequest which should update 1000 personal channels at once. It works well only if we should send 1 httprequest per 1 updated dialogue.
I've contacted PubNub and described my problem. They said: "You can subscribe to group of channels for additional payment, it will allow you to subscribe a user up to 2000 channels at once".  Even if I do so, how do I get the updates of the rest 8k out of 10k channels, if I talk about my personal account?

To sum up, I couldn't find a better decision than to use these queries with Many-to-many relations.
But there must be another way. I hope you and your engineers can help me. Otherwise, in few months my average requests will take so long that all the shred will suffer.

@halvini I am really interested for your feedback about using Parse server for a real time chat iOS app. So you use PubNub for messaging, is this a scalable and reliable solution ? any useful links please

PubNub is more scalable for chatting apps than Parse.

11 мая 2016 г., в 22:24, tunidev<EMAIL_ADDRESS>написал(а):
@halvini I am really interested for your feedback about using Parse server for a real time chat iOS app. So you use PubNub for messaging, is this a scalable and reliable solution ? any useful links please
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub


CSP hashes should be replaced if minifyCSS or minifyJS options are used

When using svelte with csp and html-minifier adapter with minifyCSS or minifyJS enabled, the hash of the inline styles and js scripts might change. The minifier should calculate the hash of the inline css / script before and after transformation and replace the hash in the CSP header with the new one.
Some other options may affect the contents of inline scripts and css, such as quoteCharacter and collapseWhitespace

When using svelte with csp and html-minifier adapter with minifyCSS or minifyJS enabled, the hash of the inline styles and js scripts might change. The minifier should calculate the hash of the inline css / script before and after transformation and replace the hash in the CSP header with the new one.
Some other options may affect the contents of inline scripts and css, such as quoteCharacter and collapseWhitespace

the CSP (hash and nonce) is generated from this class
https://github.com/sveltejs/kit/blob/5596ee00a3b170c236dab3bb840a6bfb73a5a3ed/packages/kit/src/runtime/server/page/csp.js#L327
as I check it's only called by server.respond, not sure if it's only supported on SSR.
I think the best way to solve is not the adaptor but instead, add the HTML manify function in the SvelteKit.


Unknown field 'Repo' in struct literal of type "vendor/sigs.k8s.io/controller-tools/pkg/crd/generator".Generator

Bug Report
scaffold.CustomRender() method tries to set unknown Repo field in Generator struct.
https://github.com/operator-framework/operator-sdk/blob/master/internal/pkg/scaffold/crd.go#L114
Generator does not have Repo field https://github.com/kubernetes-sigs/controller-tools/blob/v0.1.11/pkg/crd/generator/generator.go#L38
It results with error:
operator-sdk test local ./tests/e2e/...
INFO[0000] Testing operator locally.
# vendor/github.com/operator-framework/operator-sdk/internal/pkg/scaffold
vendor/github.com/operator-framework/operator-sdk/internal/pkg/scaffold/crd.go:114:5: unknown field 'Repo' in struct literal of type "vendor/sigs.k8s.io/controller-tools/pkg/crd/generator".Generator

What did you do?

Update operator-sdk from v0.7.0 to v0.8.1
Run e2e tests operator-sdk test local ./tests/e2e/...

 GO

Possible Solution
Removing line 114 solves the problem https://github.com/operator-framework/operator-sdk/blob/master/internal/pkg/scaffold/crd.go#L114

@pawelzny Can you please check what version or commit sha you have in your Gopkg.toml for controller-tools?
Did you manually update your controller-tools dependency to v0.1.11?
That was released last week and the SDK isn't using that in v0.7.0 or in v0.8.1.
In the SDK v0.8.1 we've have controller-tools pinned to a commit that has the Repo field in the generator.

SDK v0.8.1 Gopkg.toml scaffold using controller-tools 9d55346c2bde73fb3326ac22eac2e5210a730207
generator.go with Repo field:  https://github.com/kubernetes-sigs/controller-tools/blob/9d55346c2bde73fb3326ac22eac2e5210a730207/pkg/crd/generator/generator.go#L41

@hasbro17 Thank you for your support. After controller-tools update to the hash you gave me everything started to work as expected.
In my Gopkg.toml file it looks like this:
[[override]]
  name = "sigs.k8s.io/controller-tools"
  revision = "9d55346c2bde73fb3326ac22eac2e5210a730207"

[[constraint]]
  name = "github.com/operator-framework/operator-sdk"
  version = "=v0.8.1" #osdk_version_annotation

Since this solved my problem I am closing the issue.


nodePackages.carto: init at 1.2.0

Motivation for this change
This package builds a standalone binary, carto that is used to generate stylesheets for OpenStreetMaps
Things done

Followed the steps for adding new node packages at https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/node.section.md

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @

Thanks for catching that @jonringer !

Running `nix-build -A sage` locally, I saw some errors related to three.js

sage -t --long /nix/store/s0v48jrmg8s4rvphszxl92ddvwlq6jqk-sage-src-8.9/src/sage/repl/rich_output/backend_sagenb.py
**********************************************************************
File "/nix/store/s0v48jrmg8s4rvphszxl92ddvwlq6jqk-sage-src-8.9/src/sage/repl/rich_output/backend_sagenb.py", line 468, in sage.repl.r
ich_output.backend_sagenb.BackendSageNB.threejs_offline_scripts
Failed example:
    backend.threejs_offline_scripts()
Exception raised:
    Traceback (most recent call last):
      File "/nix/store/vlgb8wdll5ypm74kg7fiq6imc4wh3s72-python-2.7.16-env/lib/python2.7/site-packages/sage/doctest/forker.py", line 6
81, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/nix/store/vlgb8wdll5ypm74kg7fiq6imc4wh3s72-python-2.7.16-env/lib/python2.7/site-packages/sage/doctest/forker.py", line 1
131, in compile_and_execute
        exec(compiled, globs)
      File "", line 1, in
        backend.threejs_offline_scripts()
      File "/nix/store/vlgb8wdll5ypm74kg7fiq6imc4wh3s72-python-2.7.16-env/lib/python2.7/site-packages/sage/repl/rich_output/backend_s
agenb.py", line 472, in threejs_offline_scripts
        return get_display_manager().threejs_scripts(online=True)
      File "/nix/store/vlgb8wdll5ypm74kg7fiq6imc4wh3s72-python-2.7.16-env/lib/python2.7/site-packages/sage/repl/rich_output/display_m
anager.py", line 751, in threejs_scripts
        version = re.search(r'REVISION="(\d+)"', text).group(1)
    AttributeError: 'NoneType' object has no attribute 'group'
**********************************************************************
1 item had failures:
   1 of   4 in sage.repl.rich_output.backend_sagenb.BackendSageNB.threejs_offline_scripts
    [78 tests, 1 failure, 1.58 s]
sage -t --long /nix/store/s0v48jrmg8s4rvphszxl92ddvwlq6jqk-sage-src-8.9/src/sage/repl/rich_output/output_catalog.py
    [0 tests, 0.00 s]
sage -t --long /nix/store/s0v48jrmg8s4rvphszxl92ddvwlq6jqk-sage-src-8.9/src/sage/repl/rich_output/output_graphics.py
    [38 tests, 0.05 s]
sage -t --long /nix/store/s0v48jrmg8s4rvphszxl92ddvwlq6jqk-sage-src-8.9/src/sage/repl/rich_output/output_graphics3d.py
    [46 tests, 0.07 s]
sage -t --long /nix/store/s0v48jrmg8s4rvphszxl92ddvwlq6jqk-sage-src-8.9/src/sage/repl/rich_output/output_video.py
    [25 tests, 0.06 s]
sage -t --long /nix/store/s0v48jrmg8s4rvphszxl92ddvwlq6jqk-sage-src-8.9/src/sage/repl/rich_output/preferences.py
    [68 tests, 0.11 s]
sage -t --long /nix/store/s0v48jrmg8s4rvphszxl92ddvwlq6jqk-sage-src-8.9/src/sage/repl/rich_output/backend_doctest.py
    [58 tests, 4.50 s]
sage -t --long /nix/store/s0v48jrmg8s4rvphszxl92ddvwlq6jqk-sage-src-8.9/src/sage/repl/user_globals.py
    [36 tests, 0.07 s]
sage -t --long /nix/store/s0v48jrmg8s4rvphszxl92ddvwlq6jqk-sage-src-8.9/src/sage/repl/rich_output/display_manager.py
**********************************************************************
File "/nix/store/s0v48jrmg8s4rvphszxl92ddvwlq6jqk-sage-src-8.9/src/sage/repl/rich_output/display_manager.py", line 739, in sage.repl.
rich_output.display_manager.DisplayManager.threejs_scripts
Failed example:
    get_display_manager().threejs_scripts(online=True)
Exception raised:
    Traceback (most recent call last):
      File "/nix/store/vlgb8wdll5ypm74kg7fiq6imc4wh3s72-python-2.7.16-env/lib/python2.7/site-packages/sage/doctest/forker.py", line 6
81, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/nix/store/vlgb8wdll5ypm74kg7fiq6imc4wh3s72-python-2.7.16-env/lib/python2.7/site-packages/sage/doctest/forker.py", line 1
131, in compile_and_execute
        exec(compiled, globs)
      File "", line 1, in
        get_display_manager().threejs_scripts(online=True)
      File "/nix/store/vlgb8wdll5ypm74kg7fiq6imc4wh3s72-python-2.7.16-env/lib/python2.7/site-packages/sage/repl/rich_output/display_m
anager.py", line 751, in threejs_scripts
        version = re.search(r'REVISION="(\d+)"', text).group(1)
    AttributeError: 'NoneType' object has no attribute 'group'
**********************************************************************
1 item had failures:
   1 of   4 in sage.repl.rich_output.display_manager.DisplayManager.threejs_scripts

In the sage tests, the three.js version is obtained by looking for REVISION="(\d+)" in the compiled three.min.js file. But, three.js version 109 has a regression where this number is no longer set. A PR has been accepted to fix this for the next version ( https://github.com/mrdoob/three.js/pull/17342 ), but the latest version is broken, and that is what generate.sh upgraded to.
After pinning three to version 108 in node-packages-v10.json, and running generate.sh again, i confirm that nix-build -A sage works and the tests pass.
I think its not ideal that adding a new node package automatically upgrades all the others. It makes it very hard to spot regressions like this that are unrelated to the package being added. Also, since the "source of truth" here is a json file, i can't add a comment explaining why i'm pinning three.
My plan now is to add a new commit to explicitly pins three.js, with a commit message explaining why. This pinning doesn't seem to be widely used though.
cc @svanderburg  for your node2nix work, does this seem OK to you, or do you recommend any other strategy?

Whoops, spoke too soon :slightly_smiling_face:
My nix-build -A sage worked when i manually edited the node-packages-v10.nix file, but when i pinned on the json file and ran generate, it changes the attribute name from three to three-0.108.0... I'll take another look...

Please rework your PR. It now has a merge conflict after PR https://github.com/NixOS/nixpkgs/pull/89184 has been merged

@jglukasik please wait with reworking this PR after the next big nodePackages update which is happening later today.

@jglukasik please wait with reworking this PR after the next big nodePackages update which is happening later today.

@SuperSandro2000 I'm kinda new here out of curiosity which PR are you referring to and can this PR here now move on? If @jglukasik is no longer available I'd pick it up

@SuperSandro2000 I'm kinda new here out of curiosity which PR are you referring to and can this PR here now move on? If @jglukasik is no longer available I'd pick it up

@SuperSandro2000 I'm kinda new here out of curiosity which PR are you referring to and can this PR here now move on? If

https://github.com/NixOS/nixpkgs/pull/108235

@jglukasik is no longer available I'd pick it up

sure go ahead.

@SuperSandro2000 I'm kinda new here out of curiosity which PR are you referring to and can this PR here now move on? If

https://github.com/NixOS/nixpkgs/pull/108235

@jglukasik is no longer available I'd pick it up

sure go ahead.


trac-4636: explicit clamping provided to ensure MSVC /RTCc succeeds

This resolves a boost trac issue that has been open for 7 years!
Appveyor: https://ci.appveyor.com/project/jeking3/format/build/1.0.5-develop
Travis: https://travis-ci.org/jeking3/format/builds/286796222

What's the trac issue #?

Of course, the very first comment in the trac is "FWIW, I advise against enabling run-time checks, since the result is non-conformant. The behavior of this cast is well defined according to the standard."
I'll be needling the MS people about this, since they haven't fixed their runtime in seven years.

@mclow If you build with MSVC 14.0 or later, you get an error from the standard library embedded with the product.  Regardless, the bug was open for 7 years and the fix was trivial, and it was a useful exercise for me to learn a little bit about the library's inner workings.
c:\boost\libs\format\test>..\..\..\b2 toolset=msvc-14.0 cxxflags="/RTCsuc" -q
Performing configuration checks

    - 32-bit                   : yes (cached)
    - arm                      : no  (cached)
    - mips1                    : no  (cached)
    - power                    : no  (cached)
    - sparc                    : no  (cached)
    - x86                      : yes (cached)
    - symlinks supported       : no  (cached)
    - junctions supported      : yes (cached)
    - hardlinks supported      : yes (cached)
...patience...
...found 2310 targets...
...updating 81 targets...
compile-c-c++ ..\..\..\bin.v2\libs\format\test\format_test1.test\msvc-14.0\debug\threadapi-win32\threading-multi\format_test1.obj
format_test1.cpp
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\yvals.h(112): error C2338: /RTCc rejects conformant code, so it isn't supported by the C++ Standard Library. Either remove this compiler option, or define _ALLOW_RTCc_IN_STL to acknowledge that you have received this warning.

    call "C:\Users\JIM~1.KIN\AppData\Local\Temp\b2_msvc_14.0_vcvarsall_x86.cmd" >nul
cl /Zm800 -nologo @"..\..\..\bin.v2\libs\format\test\format_test1.test\msvc-14.0\debug\threadapi-win32\threading-multi\format_test1.obj.rsp"

...failed compile-c-c++ ..\..\..\bin.v2\libs\format\test\format_test1.test\msvc-14.0\debug\threadapi-win32\threading-multi\format_test1.obj...
...failed updating 1 target...

@mclow could you take a quick look at https://svn.boost.org/trac10/ticket/4658 and double-check my test logic?

@mclow @eldiener any more actions I need to take to move this forward?

I would have closed this years ago as "not a bug" (more accurately, "not a boost bug"), but if you don't want to do this, I think this patch will shut up the MS runtime.  It adds code and execution time, but not much, and this is Boost.Format, which is not a high-performance library.

For Trac 4658, you could also do %d with unsigned char and %u with char.  (though I can't get the OP's examples to give an error)

This patch looks good to me.


Check failed: NDIMS == dims() (2 vs. 1) when I build a svm model

when I build a svm model with tf.learn, it get error like this:
F tensorflow/core/framework/tensor_shape.cc:36] Check failed: NDIMS == dims() (2 vs. 1)Asking for tensor of 2 dimensions from a tensor of 1 dimensions
I have ask a question in stackoverflow, It could be a issue according the reply:
http://stackoverflow.com/questions/43638488/check-failed-ndims-dims-2-vs-1-when-i-build-a-svm-model
all the reproduce code here:
import tensorflow as tf
import pandas as pd
from tensorflow.contrib.learn.python.learn.estimators import svm

detailed_occupation_recode = tf.contrib.layers.sparse_column_with_hash_bucket(
    column_name='detailed_occupation_recode',
    hash_bucket_size = 1000
)
education = tf.contrib.layers.sparse_column_with_hash_bucket(
    column_name='education',
    hash_bucket_size=1000
)
# Continuous base columns
age = tf.contrib.layers.real_valued_column('age')
wage_per_hour = tf.contrib.layers.real_valued_column('wage_per_hour')

columns = ['age', 'detailed_occupation_recode', 'education', 'wage_per_hour','label']
FEATURE_COLUMNS = [
    # age, age_buckets, class_of_worker, detailed_industry_recode,
    age, detailed_occupation_recode, education, wage_per_hour

]

LABEL_COLUMN = 'label'

CONTINUOUS_COLUMNS = ['age', 'wage_per_hour']

CATEGORICAL_COLUMNS = ['detailed_occupation_recode','education']

df_train = pd.DataFrame([[12,'12','7th and 8th grade',40,'- 50000'],
                [40,'45','7th and 8th grade',40, '50000+'],
                [50,'50','10th grade',40,'50000+'],
                [60,'30','7th and 8th grade',40,'- 50000']],
                columns=['age', 'detailed_occupation_recode', 'education', 'wage_per_hour', 'label'])

df_test = pd.DataFrame([[12,'12','7th and 8th grade',40,'- 50000'],
                [40,'45','7th and 8th grade',40, '50000+'],
                [50,'50','10th grade',40,'50000+'],
                [60,'30','7th and 8th grade',40,'- 50000']],
                columns=['age', 'detailed_occupation_recode', 'education', 'wage_per_hour', 'label'])
df_train[LABEL_COLUMN] = (df_train[LABEL_COLUMN].apply(lambda x: '+' in x)).astype(int)
df_test[LABEL_COLUMN] = (df_test[LABEL_COLUMN].apply(lambda x: '+' in x)).astype(int)
dtypess = df_train.dtypes

def input_fn(df):
    continuous_cols = {k: tf.constant(df[k].values) for k in CONTINUOUS_COLUMNS}
    categorical_cols = {k: tf.SparseTensor(
        indices=[[i, 0] for i in range(df[k].size)],
        values=df[k].values,
        dense_shape=[df[k].size, 1]) for k in CATEGORICAL_COLUMNS}
    feature_cols = dict(continuous_cols.items() + categorical_cols.items())
    feature_cols['example_id'] = tf.constant([str(i+1) for i in range(df['age'].size)])
    label = tf.constant(df[LABEL_COLUMN].values)
    return feature_cols, label

def train_input_fn():
    return input_fn(df_train)

def eval_input_fn():
    return input_fn(df_test)

model_dir = '../svm_model_dir'

model = svm.SVM(example_id_column='example_id', feature_columns=FEATURE_COLUMNS, model_dir=model_dir)
model.fit(input_fn=train_input_fn, steps=10)
results = model.evaluate(input_fn=eval_input_fn, steps=1)
for key in sorted(results):
    print("%s: %s" % (key, results[key]))

and the all error output text:
WARNING:tensorflow:The default value of combiner will change from "sum" to

"sqrtn" after 2016/11/01.
WARNING:tensorflow:The default value of combiner will change from "sum" to "sqrtn" after 2016/11/01.
WARNING:tensorflow:tf.variable_op_scope(values, name, default_name) is deprecated, use tf.variable_scope(name, default_name, values)
WARNING:tensorflow:Rank of input Tensor (1) should be the same as output_rank (2) for column. Will attempt to expand dims. It is highly recommended that you
 resize your input, as this behavior may change.
WARNING:tensorflow:Rank of input Tensor (1) should be the same as output_rank (2) for column. Will attempt to expand dims. It is highly recommended that you
 resize your input, as this behavior may change.
WARNING:tensorflow:From /Users/burness/anaconda/lib/python2.7/site-packages/tensorflow/contrib/learn/python/learn/estimators/head.py:882: hinge_loss (from t
ensorflow.contrib.losses.python.losses.loss_ops) is deprecated and will be removed after 2016-12-30.
Instructions for updating:
Use tf.losses.hinge_loss instead.
WARNING:tensorflow:From /Users/burness/anaconda/lib/python2.7/site-packages/tensorflow/contrib/learn/python/learn/estimators/head.py:1362: scalar_summary (f
rom tensorflow.python.ops.logging_ops) is deprecated and will be removed after 2016-11-30.
Instructions for updating:
Please switch to tf.summary.scalar. Note that tf.summary.scalar uses the node name instead of the tag. This means that TensorFlow will automatically de-dupl
icate summary names based on the scope they are created in. Also, passing a tensor or list of tags to a scalar summary op is no longer supported.
WARNING:tensorflow:From /Users/burness/anaconda/lib/python2.7/site-packages/tensorflow/contrib/learn/python/learn/estimators/head.py:882: hinge_loss (from t
ensorflow.contrib.losses.python.losses.loss_ops) is deprecated and will be removed after 2016-12-30.
Instructions for updating:
Use tf.losses.hinge_loss instead.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machi
ne and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machi
ne and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine
and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine
 and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine
and could speed up CPU computations.
F tensorflow/core/framework/tensor_shape.cc:36] Check failed: NDIMS == dims() (2 vs. 1)Asking for tensor of 2 dimensions from a tensor of 1 dimensions
[1]    66225 abort      python simple-tf-svm.py

This question is better asked on  StackOverflow since it is not a  bug or feature request. There is also a larger community that reads questions there. Thanks!

This seems like a bug to me though. @burness Does a similar setup run successfully for other canned estimators?

This is definitely a bug, either with one of the FeatureColumn processing ops or with the way the SVM optimizer is using them. I didn't trace it through completely with GDB to figure out what's wrong exactly (probably equivalent effort to fixing the bug), but the fact that this is required is indicative; even if there's something wrong with the usage, we need to do better than a CHECK failure.

@terrytangyuan  LinearClassifier seems all right, I will try other estimators later

I can reproduce at head with a single real_valued_column:
import tensorflow as tf

def input_fn():
    feature_cols = {'age': tf.zeros([4]),
                    'example_id': tf.constant(['1', '2', '3', '4'])}
    label = tf.constant([0, 1, 1, 0])
    return feature_cols, label

model = tf.contrib.learn.SVM(
    example_id_column='example_id',
    feature_columns=[tf.contrib.layers.real_valued_column('age')])
model.fit(input_fn=input_fn, steps=10)

Apparently the error is indicating that only vectors are supported for real_valued_columns.  So you can get your code working by adding a dummy second dimension to your real_valued_columns.
We, however, need to work on our argument checking. Thank you for the report!

Hi @petrosmol,
Could you take a look at this issue? It looks like LinearClassifier accepts scalar real_valued_columns (i.e. input with just a batch dimension). Do we just want to add a reshape here to keep behavior consistent?

Thanks for reporting! I am looking into it. Will update this thread shortly.

Update: The problem is not with the estimator per se, rather it is with the underlying optimizer (SDCA) which accepts only matrices (2-dimensional tensors) for dense features. I am working on a fix.
In the meantime, a simple fix so that you are not blocked is to reshape your real valued columns so that they always have rank one. For instance, in your input_fn, you can replace:
continuous_cols = {k: tf.constant(df[k].values) for k in CONTINUOUS_COLUMNS} with
continuous_cols = {k: tf.expand_dims(tf.constant(df[k].values), 1) for k in CONTINUOUS_COLUMNS}

@petrosmol  Thanks! It seems ok now. And In a test case as follow:
import tensorflow as tf
import pandas as pd
from tensorflow.contrib.tensor_forest.client import random_forest

detailed_occupation_recode = tf.contrib.layers.sparse_column_with_hash_bucket(
    column_name='detailed_occupation_recode', hash_bucket_size=1000)
education = tf.contrib.layers.sparse_column_with_hash_bucket(
    column_name='education', hash_bucket_size=1000)
# Continuous base columns
age = tf.contrib.layers.real_valued_column('age')
wage_per_hour = tf.contrib.layers.real_valued_column('wage_per_hour')

columns = [
    'age', 'detailed_occupation_recode', 'education', 'wage_per_hour', 'label'
]
FEATURE_COLUMNS = [
    # age, age_buckets, class_of_worker, detailed_industry_recode,
    age,
    detailed_occupation_recode,
    education,
    wage_per_hour
]

LABEL_COLUMN = 'label'

CONTINUOUS_COLUMNS = ['age', 'wage_per_hour']

CATEGORICAL_COLUMNS = ['detailed_occupation_recode', 'education']

df_train = pd.DataFrame(
    [[12, '12', '7th and 8th grade', 40, '- 50000'],
     [40, '45', '7th and 8th grade', 40, '50000+'],
     [50, '50', '10th grade', 40, '50000+'],
     [60, '30', '7th and 8th grade', 40, '- 50000']],
    columns=[
        'age', 'detailed_occupation_recode', 'education', 'wage_per_hour',
        'label'
    ])

df_test = pd.DataFrame(
    [[12, '12', '7th and 8th grade', 40, '- 50000'],
     [40, '45', '7th and 8th grade', 40, '50000+'],
     [50, '50', '10th grade', 40, '50000+'],
     [60, '30', '7th and 8th grade', 40, '- 50000']],
    columns=[
        'age', 'detailed_occupation_recode', 'education', 'wage_per_hour',
        'label'
    ])
df_train[LABEL_COLUMN] = (
    df_train[LABEL_COLUMN].apply(lambda x: '+' in x)).astype(int)
df_test[LABEL_COLUMN] = (
    df_test[LABEL_COLUMN].apply(lambda x: '+' in x)).astype(int)
dtypess = df_train.dtypes

print df_train
print df_test

def input_fn(df):
    # continuous_cols = {
    #     k: tf.expand_dims(tf.constant(df[k].values), 1)
    #     for k in CONTINUOUS_COLUMNS
    # }
    continuous_cols = {
        k: tf.constant(df[k].values)
        for k in CONTINUOUS_COLUMNS
    }
    categorical_cols = {
        k: tf.SparseTensor(
            indices=[[i, 0] for i in range(df[k].size)],
            values=df[k].values,
            dense_shape=[df[k].size, 1])
        for k in CATEGORICAL_COLUMNS
    }
    feature_cols = dict(continuous_cols.items() + categorical_cols.items())
    label = tf.constant(df[LABEL_COLUMN].values)
    return feature_cols, label

def train_input_fn():
    return input_fn(df_train)

def eval_input_fn():
    return input_fn(df_test)

model_dir = '../rf_model_dir'

hparams = tf.contrib.tensor_forest.python.tensor_forest.ForestHParams(
    num_trees=10, max_nodes=1000, num_classes=2, num_features=4)
classifier = random_forest.TensorForestEstimator(hparams, model_dir=model_dir)
classifier.fit(input_fn=train_input_fn, steps=10)
results = classifier.evaluate(input_fn=eval_input_fn, steps=1)
for key in sorted(results):
    print("%s: %s" % (key, results[key]))

It will get the error:
Traceback (most recent call last):
  File "simple-tf-rf.py", line 93, in <module>
    classifier.fit(input_fn=train_input_fn, steps=10)
  File "/Users/burness/anaconda/lib/python2.7/site-packages/tensorflow/contrib/tensor_forest/client/random_forest.py", line 264, in fit
    max_steps=max_steps)
  File "/Users/burness/anaconda/lib/python2.7/site-packages/tensorflow/python/util/deprecation.py", line 280, in new_func
    return func(*args, **kwargs)
  File "/Users/burness/anaconda/lib/python2.7/site-packages/tensorflow/contrib/learn/python/learn/estimators/estimator.py", line 426, in fit
    loss = self._train_model(input_fn=input_fn, hooks=hooks)
  File "/Users/burness/anaconda/lib/python2.7/site-packages/tensorflow/contrib/learn/python/learn/estimators/estimator.py", line 934, in _train_model
    model_fn_ops = self._call_legacy_get_train_ops(features, labels)
  File "/Users/burness/anaconda/lib/python2.7/site-packages/tensorflow/contrib/learn/python/learn/estimators/estimator.py", line 1003, in _call_legacy_get_t
rain_ops
    train_ops = self._get_train_ops(features, labels)
  File "/Users/burness/anaconda/lib/python2.7/site-packages/tensorflow/contrib/learn/python/learn/estimators/estimator.py", line 1162, in _get_train_ops
    return self._call_model_fn(features, labels, model_fn_lib.ModeKeys.TRAIN)
  File "/Users/burness/anaconda/lib/python2.7/site-packages/tensorflow/contrib/learn/python/learn/estimators/estimator.py", line 1133, in _call_model_fn
    model_fn_results = self._model_fn(features, labels, **kwargs)
  File "/Users/burness/anaconda/lib/python2.7/site-packages/tensorflow/contrib/tensor_forest/client/random_forest.py", line 116, in _model_fn
    graph_builder.inference_graph(features)
  File "/Users/burness/anaconda/lib/python2.7/site-packages/tensorflow/contrib/tensor_forest/python/tensor_forest.py", line 444, in inference_graph
    data_ops.ParseDataTensorOrDict(input_data))
  File "/Users/burness/anaconda/lib/python2.7/site-packages/tensorflow/contrib/tensor_forest/python/ops/data_ops.py", line 141, in ParseDataTensorOrDict
    col_spec.size = data[k].get_shape()[1].value
  File "/Users/burness/anaconda/lib/python2.7/site-packages/tensorflow/python/framework/tensor_shape.py", line 502, in __getitem__
    return self._dims[key]
IndexError: list index out of range

and I replace:
continuous_cols = {k: tf.constant(df[k].values) for k in CONTINUOUS_COLUMNS} with
continuous_cols = {k: tf.expand_dims(tf.constant(df[k].values), 1) for k in CONTINUOUS_COLUMNS}
It seems ok now!
It may need to enhance this reshape problem with the process of input_fn

It looks like @thomascolthurst has added a reshape to TensorForest input, which I assume just hasn't made it into a TensorFlow release yet.

FYI, I have submitted a change that should fix the problem for SVM (and any other estimator that uses SDCA as an optimizer). You should be able to provide rank-1 tensors for 1-dimensional real valued columns.
Let me know if you encounter any other problems

@petrosmol  Thanks


Option to always show pending transactions

I would really like a feature that would allow me to always view the pending transactions. You can only get to this view if you have an SQL editor open and then press database -> pending transactions under the menu item.
For example, if I rename a table via the GUI, a transaction is started in the background. But I see nothing of it in the GUI itself. This is only noticeable when I want to close DBeaver. Then I get the message that there are still open transactions. Then I first have to open a new SQL editor, SQL console or something else so that I can get to the pending transactions via the menu item to commit the open transaction there. If I don't open any extra window (like the editor, console or something else) the menu item won't show under the menu database.
In the window itself, all open transactions on all databases are displayed anyway. Why is the menu so hidden and only accessible under certain conditions?
I could imagine that the menu could simply be attached to the sidebar, e.g. like the background jobs, so that you can directly access all your open transactions from there.

Thank you for the idea.


Unable to read case in 23.1

🔍 Before submitting the issue

[X] I have searched among the existing issues
[X] I am using a Python virtual environment

🐞 Description of the bug
When reading a case using the code,
solver_session.tui.file.read_case(case_file_name=import_filename)
the following error is displayed and the case fails to load:
Error: eval: unbound variable
Error Object: file
📝 Steps to reproduce
To reproduce:

Packages

pip install --pre ansys-fluent-core

Environment variables
        PYFLUENT_FLUENT_ROOT = %AWP_ROOT231%\fluent
        PYFLUENT_SHOW_SERVER_GUI = 1

Open a python interpreter and unzip the attached files to the working directory.
Static_Mixer_main.zip
Enter the following:

import ansys.fluent.core as pyfluent
solver_session = pyfluent.launch_fluent(
precision="double", processor_count=2, mode="solver"
)
solver_session.tui.file.read_case(case_file_name="Static_Mixer_main.cas.h5")
💻 Which operating system are you using?
Windows
🐍 Which Python version are you using?
3.10
📦 Installed packages
pip install --pre ansys-fluent-core

We don't support keyword arguments in TUI. The following will work:
solver_session.tui.file.read_case("Static_Mixer_main.cas.h5")


Added Travis and ESLint

https://github.com/adobe-community/issues/issues/8774 and https://github.com/adobe-community/issues/issues/8775
installed Travis & ESLint and added configs. also made some code changes to get ESLint to pass
got Karma running on PhantomJS (instead of Firefox)

:+1:

👍

Other than test update...

:+1:


Tip on install instructions

May I suggest you install a fresh Ubuntu.
follow you instructions and if you have to deviate in any way add that to your installation instructions and more people will use your tool.

I accept contributions for a more detailed installation guide. But I don't have time to explain how to setup git, install software or use google for that matter.
I added "official" binaries for most operating systems to make it easier for people to use this tool.


[Fix] Try to fix data pipeline scheduled test (attempt 2)

Description
It seems that the test is still failing so I'm submitting this PR.
Checklist
Essentials

[ ] PR's title starts with a category (e.g. [BUGFIX], [MODEL], [TUTORIAL], [FEATURE], [DOC], etc)
[ ] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage
[ ] Code is well-documented

Changes

[ ] Feature1, tests, (and when applicable, API doc)
[ ] Feature2, tests, (and when applicable, API doc)

Comments

If this change is a backward incompatible change, why must this change be made.
Interesting edge cases to note here

cc @dmlc/gluon-nlp-team

What's the error? Is there a way to validate the fix short of committing?

What's the error? Is there a way to validate the fix short of committing?

https://github.com/dmlc/gluon-nlp/runs/1710545425?check_suite_focus=true

https://github.com/dmlc/gluon-nlp/runs/1710545425?check_suite_focus=true

The log doesn't seem to show where the encoding error happens so it's a bit unclear whether the patch is the right fix.

The log doesn't seem to show where the encoding error happens so it's a bit unclear whether the patch is the right fix.

I'm also not sure. But currently do not have enough time to take a look.

I'm also not sure. But currently do not have enough time to take a look.


Fix matInput bug

Fixed the bug. The input box now has the previous style. Looks nicer but does seem to have a delay on the validation.


Problem: Unable to create non-Docker Group plugin alternative.

Solution: Remove RPC server reflector check for Docker-specific "github.com/docker/infrakit/pkg/rpc" string in package path.
Resolves #389

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "master" git@github.com:tristanls/infrakit.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

Codecov Report

Merging #394 into master will increase coverage by 0.04%.

@@            Coverage Diff             @@
##           master     #394      +/-   ##
==========================================
+ Coverage   62.49%   62.53%   +0.04%
==========================================
  Files          56       56
  Lines        3133     3126       -7
==========================================
- Hits         1958     1955       -3
+ Misses        946      944       -2
+ Partials      229      227       -2

Impacted Files
Coverage Δ

pkg/rpc/server/info.go
81.81% <ø> (+2.4%)
:white_check_mark:

pkg/rpc/server/reflector.go
68.65% <ø> (+0.6%)
:white_check_mark:

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 b919e4f...29aa1d9. Read the comment docs.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "master" git@github.com:tristanls/infrakit.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842354656528
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.


chore: Migrate Two FA from packngo to metal-go client

Issue Task as part of migrating metal-cli from packngo to metal-go client, added the support of Two Fa to use metal-go
Fixes: https://github.com/equinix/metal-cli/issues/333
Discussion:
As of metal-go 0.22.2 there are 2 issues which needs api support

Accepting otp code in the input for Enable and Disable 2FA is not supported from metal-go
Receiving an otp on two fa registered app is also not supported

@aayushrangwala please open an issue and create a patches/ PR in Metal Go for the missing TFA parameters (which we can piece together from the packngo implementation). We can rebase this PR against metal go with those changes.

This is one of two final packngo dependent services. (the other being facility listing)

This is one of two final packngo dependent services. (the other being facility listing)

Yes, we do have an issue open with API team. Although seems it has not been prioritised yet

<EMAIL_ADDRESS>contains a workaround for the missing OTP/MFA spec endpoints that are needed for this PR

Is #59 also addressed by this PR?

Is #59 also addressed by this PR?

This PR does not address that issue but that issue appears to have already been addressed.


ddcutil: 2.0.0 -> 2.1.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/ddcutil/versions.
meta.description for ddcutil is: Query and change Linux monitor settings using DDC/CI and USB
meta.homepage for ddcutil is: http://www.ddcutil.com/
meta.changelog for ddcutil is: https://github.com/rockowitz/ddcutil/blob/v2.1.0/CHANGELOG.md
Updates performed

Version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.1.0 with grep in /nix/store/s6z22d3y8451szdcgdyh1zr9w95y0k8j-ddcutil-2.1.0
found 2.1.0 in filename of file in /nix/store/s6z22d3y8451szdcgdyh1zr9w95y0k8j-ddcutil-2.1.0

Rebuild report (if merged into master) (click to expand)

8 total rebuild path(s)

8 package rebuild(s)

First fifty rebuilds by attrpath
clight
clightd
ddcui
ddcutil
deepin.dde-daemon
enlightenment.enlightenment
fastfetch
gnomeExtensions.brightness-control-using-ddcutil

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/s6z22d3y8451szdcgdyh1zr9w95y0k8j-ddcutil-2.1.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A ddcutil https://github.com/r-ryantm/nixpkgs/archive/7b5c9328c3b7d54754962a72a2b06807cf2c7642.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/7b5c9328c3b7d54754962a72a2b06807cf2c7642#ddcutil

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/s6z22d3y8451szdcgdyh1zr9w95y0k8j-ddcutil-2.1.0
ls -la /nix/store/s6z22d3y8451szdcgdyh1zr9w95y0k8j-ddcutil-2.1.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

8 packages built:

clight
clightd
ddcui
ddcutil
deepin.dde-daemon
enlightenment.enlightenment
fastfetch
gnomeExtensions.brightness-control-using-ddcutil

Maintainer pings
cc @rnhmjoj for testing.

2.1.2 is out, please open a new PR.


Remove tierRank

Summary
tierRank is deprecated and unused in src/models/nftRewardTier.ts : NftRewardTier

@johnnyd-eth are you across this?


Simplify proxy addon example

This PR contains a:

[ ] bugfix
[ ] new feature
[ ] code refactor
[ ] test update
[ ] typo fix
[x] metadata update

Motivation / Use-Case
Updated the proxy addon example to be closer to what people probably use it for in the context of webpack-serve / webpack-dev-server. Routing usually isn't needed with http-proxy, and when it is, koa-mount would probably be a better fit.
Additional Info
I think a combined example of HTTP proxy + history API fallback is warranted, but I want to know whether you think it's needed or not first, before adding it.
Also, would be nice to have all examples koa-connect-free. I can see why they aren't right now, the existing Koa 2 equivalent libs are a bit sub par, but that's addressable.

Thanks for the PR 🍺
I'm good with an additional example, but there's no practical reason to remove information here. The original example should stay. If you'd like to move you changes into proxy-config-simple.js or some such, I'd be happy to accept it.

What confuses me the most, about the original example, is why have a router at all? The proxy middleware does its own URL checks, what does the router do?
And, related to that, why it "must be the last middleware added"? The app can function fine while having the proxy as the first middleware in the chain, as long as it isn't catch-all.
I think the main proxy example should be about proxying /api (no stats, but I have a hunch that it covers 99% of use cases), and then a proxy-advanced should be about explaining what would happen if the proxy were to be used without a context, and showing the role of middleware.webpack and middleware.content. And then maybe a yet another example with a koa-mount / koa-router?

Please see my previous comment; That's what I'll accept in a PR at this time.

Cheers 🍺


[action] Fix prompt to not leave trailing new lines in input buffer when using multi_line_end_keyword

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context
Fixes #13538
Description
Currently, prompt uses the following code to collect multiline input:
user_input = STDIN.gets(end_tag).chomp.gsub(end_tag, "").strip

This is problematic because everything in STDIN after end_tag remains in the buffer. At the very least, this will be a (platform specific) newline character, but could also be other text. This PR modifies the logic to drain the entire line of input containing end_tag while maintaining the existing behavior of not including text after the tag in user_input.

Sooo... what's the best way to test this in a lane to first reproduce the problem and later to test the fix? Could we possibly write some tests for this behavior?

Thanks, I will use that to test manually.

I can look into writing a test case. Could the approach mentioned here for stubbing STDIN work?

My ruby knowledge is much to limited to answer that, but I found https://github.com/fastlane/fastlane/blob/master/spaceship/spec/UI/select_team_spec.rb#L23-L25 on a quick search of the codebase which looks like it could be for solving the same problem.

Tests are unfortunately failing @robinkunde

@janpio Ok, looks like I figured out the proper way to account for the CI codepaths. I fixed the other test in the file as well, since changing the ENV variable seems to have sideeffects that can affect other tests.


Project routing and style added

What is added new

[ ] Project consists of 3 pages
[ ] The general layout matches the wireframes
[ ] CSS style is added to improve the look of the website using React basic styling
[ ] For every page route is created using react-router-dom
[ ] Navigation links work for all 3 routes displayed on each page
[ ] React router is used

What is added new

[ ] live link demo removed from READme file until deployment


Disable facebook signup for zero-rate

for zero rating environment, disable facebook signup.
aslo disable facebook and google signup based on configuration setting.
@BenjiLee  @aleffert   please review

:+1:

:+1:


[Event Request] Codeunit 1102 - CA Jnl.-Post Line - Code

Could you please create an Integration event in Codeunit 1102 CA Jnl.-Post Line, in function Code?
(Similar to Codeunit 12 Gen. Jnl.-Post Line, OnBeforeCode event.)
LOCAL Code()
// >>>>
IsPosted := FALSE;
OnBeforeCode(CostJnlLine,IsPosted,CostRegister);
IF IsPosted THEN
  EXIT;
// <<<<

WITH CostJnlLine DO BEGIN
  IF EmptyLine THEN
    EXIT;
...

Event signature:
LOCAL [IntegrationEvent] OnBeforeCode(VAR CostJnlLine : Record "Cost Journal Line";VAR IsPosted : Boolean;VAR CostRegister : Record "Cost Register")

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Cannot read property 'offsetHeight' of undefined

Cannot read property 'offsetHeight' of undefined at method getRowsHeight line 176
var nodes = this.content_elem.children;       var node = nodes[Math.floor(nodes.length / 2)];       opts.item_height = node.offsetHeight;

demo?

That's all what i can get from windows errors on client side. I can't reproduce it or i  don't know what data has client that gives this error.

I have the same error if I create a cluster with no items.

I am also facing the same issue. Our app users are getting this error so much. Following is the stack trace:

TypeError: Cannot read property 'offsetHeight' of undefined at p.getRowsHeight (file:/app.asar/UIControllers/clusterize.min.js:11:194) at a.refresh (file:/app.asar/UIControllers/clusterize.min.js:8:505)


WIP: Python 3 support

This PR collects the work started by @scasagrande on fixing problems that keep QInfer tied to Python 2.7, and brings it inline with QuTiP, InstrumentKit and other modern libraries used in quantum info.

Coverage increased (+0.9%) to 21.692% when pulling f7eb3902f335e415a530f71d9b28b924b8b75555 on python3_support into eac042644ca9cfbf74a986db28653c4959a0dfc1 on master.

Coverage increased (+0.7%) to 21.49% when pulling 4d5e2a7a018a0976180ffc1ac969f456558f4bb6 on python3_support into eac042644ca9cfbf74a986db28653c4959a0dfc1 on master.

Coverage increased (+0.7%) to 21.49% when pulling a086c7964686475dcf1a53683b34ecf5ddbe77e4 on python3_support into eac042644ca9cfbf74a986db28653c4959a0dfc1 on master.

Coverage increased (+0.7%) to 21.522% when pulling f1bd97b4027d2a14e5c598ba21bf3a12144341fd on python3_support into eac042644ca9cfbf74a986db28653c4959a0dfc1 on master.

Coverage increased (+1.0%) to 21.757% when pulling 88ad02d6661c38788c5c8b82ab32ea0764940a44 on python3_support into eac042644ca9cfbf74a986db28653c4959a0dfc1 on master.

Coverage increased (+1.0%) to 21.757% when pulling 615ee353c40835ba2a7132eba2df64c4c39e377f on python3_support into eac042644ca9cfbf74a986db28653c4959a0dfc1 on master.

Coverage increased (+1.0%) to 21.746% when pulling b489664567f194966cae5750feb3457fff2918ff on python3_support into eac042644ca9cfbf74a986db28653c4959a0dfc1 on master.

Coverage increased (+1.0%) to 21.869% when pulling 0457ad302e53ee3964c3339847fc241fb5c835a8 on python3_support into ccfb4570a539711fd14b832a31a8e2a7167cc6be on master.

Coverage increased (+1.0%) to 21.888% when pulling adab96d03848f08406306b9092c88de7f1b7e8ee on python3_support into ccfb4570a539711fd14b832a31a8e2a7167cc6be on master.

So I've added a pylint checker to travis to help avoid problems with future commits.
I think we're good to go here.

Sounds good. Running pylint's py3k mode locally didn't find any problems either, so I agree, it seems like it's good to merge in. That way, we'll get your pylint configuration on everything else, too. Thank you for all the help!

No problem :)
I didn't include a .pylintrc file because I'm just using the default setting there with the --py3k flag. One thing that I did notice about it is that you have to run with a python2.7 env to actually see the problems. Running it from python3 won't error because it won't find any invalid py3 syntax for your py3 env.

Right, I ran into that as well. May even be worth guarding the pylint call with a check of the Travis build matrix, then. I'll make a new PR for that, since I need to do some other CI configuration stuff anyway.

I'd just leave it running in the other versions. I'm not sure if it also checks for things incompatible between py3 versions. For example, it might get angry when running on python3.3 if it comes across a yield from statement.
If not, it just passes anyways.

Ah, good point. I'll leave it, then, as you suggest.


Adding cpp-httplib based bundle.

The purpose of this issue is to create a bundle based on the https://github.com/yhirose/cpp-httplib.
Overall, this is a great library similar to CPR but supports both clients, server connections and doesn't depend on the libcurl. Server-related or any other unused code can be easily deleted since the library is a one-header file only.
Why CPP-httlib?

Thread-safe access;
SSL, proxy, error-codes, timeout;
Extensive support and usage - 5.1k stars;
One-header only;

Here are some drawbacks of such addition:

Non-blocking requests aren't supported by default, but there exists a solution mentioned here(https://github.com/rtrahan504/cpp-httplib/tree/nonblocking_server) and here(https://github.com/yhirose/cpp-httplib/issues/875), which allows them. Adding blocking-only requests might be a good start.
Overkill for telegram and banana purposes. Are you thinking of extending the existing WinAPI connector instead? Answering that, we don't need to use all the CPP-httplib in full, but simply extract the minimum needed for SSL, proxy, thread-safety, error-codes, timeouts until a custom replacement solution is available.
C++11 - there is a cpp17 branch in the dev state - https://github.com/yhirose/cpp-httplib/tree/cpp17.

I am not claiming this is necessary, just thinking loudly and pointing out to such a library...

Good idea. cpp-httplib is quite popular, so it's worth implementing a connector based on it if possible.
PR are welcome! We could start with blocking-only connector.


feat: Adds signInPopup Method

Hello,
I need the function to open a Popup instead of being redirected. I added this function to the AuthContext.
It uses the functions provided by the UserManager.
If there is something unclear or I missed something just tell me and I fix it.

I just saw yarn generate-docs throws an error.

I am not familiar with this tool. The error in the console is useless. Just error Comand failed with exit code 1.
Can someone have a look where the problem is?

@Maxinger15 Do you mind adding some tests for this as well? :)

@cobraz For what part of the code do you have that in mind? I already added a test that looks if the functions signPopupCallback and signinPopup methods from the usermanager gets called and thats basically all the new codes does.

Codecov has information about that: https://github.com/bjerkio/oidc-react/pull/479#issuecomment-779341143

Is that impacted by the covered lines? Because there when I run the test only the lines 122-123 are uncovered and that lines are not from me.


Blocker: Issue with tekton_operator_helm deploy

Unable to release the AWS QS automation with end-to-end testing because the Gitops BOM repeatedly failing while deploying tekton operator helm.  Raised the issue on tekton tool repo https://github.com/cloud-native-toolkit/terraform-tools-tekton/issues/46

With latest devtools repo , this issue not reported so far. Hence closing


Additional input validation for Client-ID and Tenant-ID

We have seen companies trying to deploy the marketplace template to Azure and really struggle with getting the right Client-Id and Tenant-Id parameters.  To help mitigate this, could we add a validation RegEx to those parameters to ensure that they are formatting them as GUIDs/UUIDs?
Specifically, adding a RegEx under here: https://github.com/cf-platform-eng/bosh-azure-template/blob/master/CreateUiDefinition.json#L45 and here https://github.com/cf-platform-eng/bosh-azure-template/blob/master/CreateUiDefinition.json#L54 with a validation message

This issue has been addressed, however the change is still undergoing approval with Microsoft before it hits the marketplace.


feat  bump jedis from 3.10.0 to 5.1.0   and metadata implementing TTL functionality in redis

What is the purpose of the change
related: #13926
1.bump jedis from 3.10.0 to 5.1.0
2.metadata implementing TTL functionality in redis
Brief changelog
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

@AlbumenJ  PTAL


Don't try to check files that should be ignored in get_bundle

I kept getting an error when trying to load Vue via django-webpack-loader. For some reason my webpack-stats.json file included in the chunks a .map.css file that didn't even exist. This causes a key error when trying to load the asset for this chunk.
Considering I was ignoring all .map files as specified in the documentation this error shouldn't even come up as we should be ignoring this file in the first place.

I see that this was actually addressed in #280 and a fix was made in #286. When will the updates be released?

Hi @patrickdamery , we'll release the fix soon, possibly tomorrow or next Monday. Thanks for the issue.

@joaopslins please close this once the release is made

Fixed in 1.3.0


⚠ Bofrost.de has degraded performance

In 4fef95c, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1271 ms

Resolved: Bofrost.de performance has improved in 15a24b8 after 8 minutes.