ScrollNotifications START/UPDATE/END triggered on each frame for Trackpad scroll

Steps to Reproduce
Create a new project on the latest master with the following main.dart:

import 'package:flutter/material.dart';

void main() {
  runApp(
    MaterialApp(
      title: 'Trackpad Scroll Events on each Frame',
      theme: ThemeData.dark(),
      home: Scaffold(
        body: Row(
          crossAxisAlignment: CrossAxisAlignment.stretch,
          children: [
            DefaultScrollView(),
            SizedBox(
              width: 100,
            ),
            CustomScrollView(),
          ],
        ),
      ),
    ),
  );
}

class DefaultScrollView extends StatelessWidget {
  const DefaultScrollView({
    Key? key,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return NotificationListener<ScrollNotification>(
      onNotification: (scrollNotification) {
        if (scrollNotification is ScrollStartNotification) {
          print("START");
        } else if (scrollNotification is ScrollEndNotification) {
          print("END");
        }
        return false;
      },
      child: SingleChildScrollView(
        child: Column(
          children: [
            for (int i = 0; i < 100; i++)
              Container(
                width: 100,
                height: 100,
                color: (i % 2 == 0) ? Colors.blue : Colors.black,
                child: Center(
                  child: Text(
                    "$i",
                  ),
                ),
              ),
          ],
        ),
      ),
    );
  }
}

class CustomScrollView extends StatefulWidget {
  const CustomScrollView({
    Key? key,
  }) : super(key: key);

  @override
  State<CustomScrollView> createState() => _CustomScrollViewState();
}

class _CustomScrollViewState extends State<CustomScrollView> {
  bool isMoving = false;
  DateTime lastMoveTime = DateTime.now();
  static const lastMoveTimeWait = Duration(milliseconds: 100);

  void setupAndCheckLastScrollEvent() {
    if (isMoving == false) {
      print("START");
    }

    setState(() {
      isMoving = true;
      lastMoveTime = DateTime.now();
    });

    Future.delayed(lastMoveTimeWait).then((_) {
      if (!isMoving) return;

      final timeIfWasLast = lastMoveTime.add(lastMoveTimeWait);
      if (false == timeIfWasLast.isAfter(DateTime.now())) {
        setState(() {
          isMoving = false;
          print("END");
        });
      }
    });
  }

  late ScrollController sc;
  @override
  void initState() {
    sc = ScrollController();
    sc.addListener(setupAndCheckLastScrollEvent);
    super.initState();
  }

  @override
  void dispose() {
    sc.removeListener(setupAndCheckLastScrollEvent);
    sc.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return SingleChildScrollView(
      controller: sc,
      child: Column(
        children: [
          for (int i = 0; i < 100; i++)
            Container(
              width: 100,
              height: 100,
              color: (i % 2 == 0) ? Colors.blue : Colors.black,
              child: Center(
                child: Text(
                  "$i",
                ),
              ),
            ),
        ],
      ),
    );
  }
}

DefaultScrollView is a normal SingleChildScrollView wrapped with NotificationListener<ScrollNotification>.
Start and End events will print "START" and "END".
CustomScrollView is a proposal on how to fix the issue, more on that later.

Expected results:
"START" is printed when starting to scroll.
"END" is printed when ending to scroll.
Actual results:
"START" and "END" are both printed on every frame (during scroll).
This is probably because PointerScrollEvent has no Start/Update/End variants.

Proposal:
CustomScrollView contains a timed callback that checks whether the last scroll event is some time ago, i.e. whether it is the last scroll event.
The first event triggers "START" the last event triggers "END":
bool isMoving = false;
  DateTime lastMoveTime = DateTime.now();
  static const lastMoveTimeWait = Duration(milliseconds: 100);

  void setupAndCheckLastScrollEvent() {
    if (isMoving == false) {
      print("START");
    }

    setState(() {
      isMoving = true;
      lastMoveTime = DateTime.now();
    });

    Future.delayed(lastMoveTimeWait).then((_) {
      if (!isMoving) return;

      final timeIfWasLast = lastMoveTime.add(lastMoveTimeWait);
      if (false == timeIfWasLast.isAfter(DateTime.now())) {
        setState(() {
          isMoving = false;
          print("END");
        });
      }
    });
  }

doctor

doctor
[✓] Flutter (Channel master, 2.5.0-6.0.pre.33, on Ubuntu 18.04.5 LTS 5.4.0-66-generic, locale en_US.UTF-8)
    • Flutter version 2.5.0-6.0.pre.33 at /home/omni/repos/flutter_web/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 089323487f (2 days ago), 2021-08-09 13:25:04 -0400
    • Engine revision 4fef55db10
    • Dart version 2.14.0 (build 2.14.0-385.0.dev)

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.0-rc2)
    • Android SDK at /home/omni/Android/Sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/linux#android-setup for more details.

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /snap/bin/chromium

[✓] Linux toolchain - develop for Linux desktop
    • clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
    • cmake version 3.10.2
    • ninja version 1.8.2
    • pkg-config version 0.29.1

[✓] Android Studio (version 3.5)
    • Android Studio at /opt/AppDev/SDK/android-studio
    • 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 1.8.0_202-release-1483-b49-5587405)

[✓] VS Code
    • VS Code at /snap/code/current
    • Flutter extension version 3.25.0

[✓] Connected device (2 available)
    • Linux (desktop) • linux  • linux-x64      • Ubuntu 18.04.5 LTS 5.4.0-66-generic
    • Chrome (web)    • chrome • web-javascript • Chromium 92.0.4515.131 snap

! Doctor found issues in 1 category.

Tested only on Linux, so this might not be an issue on Mac and Windows
P.S.
InteractiveViewer has the same issue for its onInteractionStart/Update/End callbacks

the output of flutter doctor -v is under the collapsed doctor detail.
here it is again:
[✓] Flutter (Channel master, 2.5.0-6.0.pre.33, on Ubuntu 18.04.5 LTS 5.4.0-66-generic, locale en_US.UTF-8)
    • Flutter version 2.5.0-6.0.pre.33 at /home/omni/repos/flutter_web/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 089323487f (2 days ago), 2021-08-09 13:25:04 -0400
    • Engine revision 4fef55db10
    • Dart version 2.14.0 (build 2.14.0-385.0.dev)

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.0-rc2)
    • Android SDK at /home/omni/Android/Sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/linux#android-setup for more details.

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /snap/bin/chromium

[✓] Linux toolchain - develop for Linux desktop
    • clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
    • cmake version 3.10.2
    • ninja version 1.8.2
    • pkg-config version 0.29.1

[✓] Android Studio (version 3.5)
    • Android Studio at /opt/AppDev/SDK/android-studio
    • 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 1.8.0_202-release-1483-b49-5587405)

[✓] VS Code
    • VS Code at /snap/code/current
    • Flutter extension version 3.25.0

[✓] Connected device (2 available)
    • Linux (desktop) • linux  • linux-x64      • Ubuntu 18.04.5 LTS 5.4.0-66-generic
    • Chrome (web)    • chrome • web-javascript • Chromium 92.0.4515.131 snap

! Doctor found issues in 1 category.

I am aware of NotificationListener, and as you can see in the example I use it in DefaultScrollView, only on my machine the desired behaviour does not happen.
I assume it works on your machine, hence the confusion.
See attached video for the issue:
https://user-images.githubusercontent.com/24209580/129253400-01bdb442-e857-43fa-acbb-2230494b8157.mp4
So to recap:
NotificationListener triggers both start and end on each frame on my machine.
(This is the approach used in DefaultScrollView.
CustomScrollView is just a workaround and I proposed it since I assumed the issue might happened for all trackpads.

@ltOgt, Thanks for the clarification. I am able to reproduce the issue. Looks like this issue is for Desktop and the web it works fine on mobile platforms (Android,Ios)

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

void main() {
  runApp(
    MaterialApp(
      title: 'Trackpad Scroll Events on each Frame',
      theme: ThemeData.dark(),
      home: Scaffold(
        body: DefaultScrollView(),
      ),
    ),
  );
}

class DefaultScrollView extends StatelessWidget {
  const DefaultScrollView({
    Key? key,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return NotificationListener<ScrollNotification>(
      onNotification: (scrollNotification) {
        if (scrollNotification is ScrollStartNotification) {
          print("START");
        } else if (scrollNotification is ScrollUpdateNotification) {
          print("Update");
        } else if (scrollNotification is ScrollEndNotification) {
          print("END");
        }
        return false;
      },
      child: SingleChildScrollView(
        child: Column(
          children: [
            for (int i = 0; i < 100; i++)
              Container(
                // width: 100,
                height: 100,
                color: (i % 2 == 0) ? Colors.blue : Colors.black,
                child: Center(
                  child: Text(
                    "$i",
                  ),
                ),
              ),
          ],
        ),
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel stable, 2.2.3, on macOS 11.5.2 20G95 darwin-arm, locale en-GB)
    • Flutter version 2.2.3 at /Users/mahesh/Documents/flutter
    • Framework revision f4abaa0735 (6 weeks ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

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

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

[✓] Android Studio (version 4.2)
    • 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.8+10-b944.6916264)

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

[✓] Connected device (4 available)
    • iPhone 12 Pro Max (mobile) • 5430F628-A903-402C-A635-D55D7E6EEFCA • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)            • macos                                • darwin-arm64   • macOS 11.5.2
      20G95 darwin-arm
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome
      92.0.4515.131

• No issues found!

[✓] Flutter (Channel master, 2.5.0-7.0.pre.8, on macOS 11.5.2 20G95 darwin-arm, locale en-GB)
    • Flutter version 2.5.0-7.0.pre.8 at /Users/mahesh/Documents/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 40e8620a27 (7 days ago), 2021-08-06 09:14:50 +0430
    • Engine revision 431ac604da
    • Dart version 2.14.0 (build 2.14.0-383.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

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

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

[✓] Android Studio (version 4.2)
    • 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.8+10-b944.6916264)

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

[✓] Connected device (4 available)
    • iPhone 12 Pro Max (mobile) • 5430F628-A903-402C-A635-D55D7E6EEFCA • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)            • macos                                • darwin-arm64   • macOS 11.5.2
      20G95 darwin-arm
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome
      92.0.4515.131

• No issues found!

Thanks

@ltOgt  I see that there is a similar issue https://github.com/flutter/flutter/issues/44732 describing this case, You may follow up there for further updates. Closing this issue as a duplicate if you disagree feel free to comment and I will reopen it.
Thank you.


Parameterize Minimum 'Stakable' Balance.

since balances in Polkadot (and substrate node) are a u128 value, in which only the middle 64 bit is an actual value (lower 32 bits = dust ---- higher 32 bits = reserved zeros) a shift by 32 was hardcoded into the staking module a while back to properly format the balances and use them as numeric values.
This (to some extent) problematic shift by 32 is configurable via a config type in Staking::Trait but pre-compiled, of course, as a part of the runtime. So the argument would be that anyone building a custom substrate chain is free to change it as they want.
But this slightly bad for a dev chain:
A normal dev chain in which the user might actually not be interested in any of this but rather to quickly run a chain and be happy with an account with just 10 units of balance (cc @cmichi).  We've had some reports that validators in the testnet/dev-chains are not earning rewards, all because they had a balance less than 2^32, which is equal to zero from the perspective of the staking module.
What I propose is:

The fact that this particular 128 bit structure of the default balance is hidden is not good. If it is only relevant in Staking, then it is arguable. Otherwise, it should be parameterized (either when the runtime is built or via genesis --e.g. users defining that any balance less than N bits is considered to be dust).

Consequently, this assertion in this draft PR can safely stay but the bound should be the aforementioned configured value, not hardcoded 32.
Moreover, the CurrencyToVote (the object that actually shifts the balances) can work based on this config value by default. Of course, the user is still free to change it altogether, this is the one which is shipped in substrate/node/runtime by default.

I am not sure, but if this actually should be a configurable value, isn't it related to balances::existential_deposit? The new config could, for instance, be called staking::minimum_stakable_deposit?

If this goes through at least the polkadotjs/apps should show a gentle warning if any balance less than the aforementioned configured value is being staked.

Unlike what I originally imaged, with such config we actually don't really have to move the shift-by-32 exclusively to the polkadot repo; it is still part of substrate node and it will now no longer annoy the dev chain.
As mentioned in the title, whatever comes out of this issue should also be documented properly (if it is a valid point and gets implemented eventually).
People that might be interested and have valuable opinions: @gavofyork @bkchr @shawntabrizi

What is the reason that staking module cannot work with u128 balance value directly and it needs to reduce it down to u64?

What is the reason that staking module cannot work with u128 balance value directly and it needs to reduce it down to u64?

That would be slightly different in terms of 'why' but indeed related.
I think it would be the combination of what I wrote above:

how literally only 64 bit of the designated u128 is a real value, rest is worthless
And: at the moment it also helps us computationally in the election but this will be subject to change in the near future most likely. If the balance is somehow reduced to u64 then computation in u128 is safe w.r.t. multiplication.

Make sense.
In that case I would like to propose make CurrencyToVote come from balances module, and balances can provides a genesis config to specify which 64 bits are relevant. In staging net, it will be the middle 64 bits, in dev net, it can be the low 64 bits.
It is really the balances module to determine the relevant bits range, not staking module.


Fix for issue 2567

reduxForm.js ShouldComponetUpdate now uses this.props.pure instead of config.pure to decide whether to not update.
Fixes #2567.

Codecov Report

Merging #2575 into master will not change coverage.

@@          Coverage Diff           @@
##           master   #2575   +/-   ##
======================================
  Coverage     100%    100%
======================================
  Files          66      66
  Lines        1359    1359
======================================
  Hits         1359    1359

Impacted Files
Coverage Δ

src/reduxForm.js
100% <100%> (ø)
: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 ba3b22e...777f2e1. Read the comment docs.

Published in v6.6.0.


Just to say thank you.

Hello. I just wanted to say thank you. This is one hell of a gem and has saved me hours of work!

That really is very kind, but also there is no need at all. This is my small attempt to give back, there are tons of great open source software I use, this is a very smallllll library and cocoon only is so awesome thanks to all the great contributions and contributors.


Delete path from remoteObjectHandle.ts

Remove path() from RemoteObjectHandle since it returns the absolute path.
The files affected are:

packages\runtime\runtime-utils\src\remoteObjectHandle.ts

Sounds reasonable. Can you validate that this is not used anywhere and if it is, update it.

Sounds reasonable. Can you validate that this is not used anywhere and if it is, update it.

I have checked Bohemia's codebase and it seems they are not using path

I am curious if there a reason or a use case that you are removing this for?


Remove unwind priority.

This removes the unwind_priority field from QueuedStage. Unwinds now only happen in direct reverse order of insertion into the pipeline.
Closes #567

Codecov Report

Merging #577 (90d26b4) into main (c070e77) will decrease coverage by 0.05%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #577      +/-   ##
==========================================
- Coverage   72.92%   72.86%   -0.06%
==========================================
  Files         244      244
  Lines       24690    24634      -56
==========================================
- Hits        18004    17950      -54
+ Misses       6686     6684       -2

Flag
Coverage Δ

unit-tests
72.86% <100.00%> (-0.06%)
:arrow_down:

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

Impacted Files
Coverage Δ

crates/stages/src/pipeline.rs
86.83% <100.00%> (-1.64%)
:arrow_down:

crates/stages/src/stages/bodies.rs
93.69% <0.00%> (+0.38%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Resolved all the nits, should be good to merge now!


[release-0.49]Update poddisruptionbudget api from v1beta1 to v1

What this PR does / why we need it:
This is a manual cherry-pick of https://github.com/kubevirt/kubevirt/pull/6955
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

NONE

/retest

https://github.com/kubevirt/kubevirt/pull/7337#issuecomment-1074053917
pull-kubevirt-e2e-k8s-1.23-sig-storage-cgroupsv2 does not exist anymore

/test pull-kubevirt-e2e-k8s-1.23-sig-compute-cgroupsv2-0.49

/retest

/override pull-kubevirt-e2e-k8s-1.23-sig-storage-cgroupsv2

/retest-required

/approve


Blog typo fix

What type of PR is this?
/kind bug
Any specific area of the project related to this PR?
/area blog
What this PR does / why we need it:
Minor blog post language fix.
Signed-off-by: Pablo Musa<EMAIL_ADDRESS>

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: pmusa
To complete the pull request process, please assign leogr after the PR has been reviewed.
You can assign the PR to them by writing /assign @leogr in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: leogr, pmusa
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: b215390766bbd93bcee1a84d25512f6bfc0b3da7


Reference map could not be read.

[09:36:57] [main/WARN]: Reference map 'astromine-technologies-refmap.json' for astromine-technologies.mixins.json could not be read. If this is a development environment you can ignore this message
[09:36:57] [main/WARN]: Reference map 'astromine-foundations-refmap.json' for astromine-foundations.mixins.json could not be read. If this is a development environment you can ignore this message
9:36:57] [main/WARN]: Reference map 'astromine-transportations-refmap.json' for astromine-transportations.mixins.json could not be read. If this is a development environment you can ignore this message

Ignore, doesn't affect anything


How do i add a warning image to psych engine.

What is your question?
i want to add this warning after you open the game

I'm guessing source. Also please add gore to da mod.
Find this line.
https://github.com/ShadowMario/FNF-PsychEngine/blob/b6c64fcf3039ddc2252ee9bb4c5adc67d26d4345/source/TitleState.hx#L452-L457
Force it to go to another state that you made. Like, lets make up the name: WarningState.hx
Make that new file and you can sorta just copy the whole code from FlashingState.hx
Then modify the state.
Delete all the FlxText found in the state.
https://github.com/ShadowMario/FNF-PsychEngine/blob/b6c64fcf3039ddc2252ee9bb4c5adc67d26d4345/source/FlashingState.hx#L18
https://github.com/ShadowMario/FNF-PsychEngine/blob/b6c64fcf3039ddc2252ee9bb4c5adc67d26d4345/source/FlashingState.hx#L26-L35
https://github.com/ShadowMario/FNF-PsychEngine/blob/b6c64fcf3039ddc2252ee9bb4c5adc67d26d4345/source/FlashingState.hx#L50
https://github.com/ShadowMario/FNF-PsychEngine/blob/b6c64fcf3039ddc2252ee9bb4c5adc67d26d4345/source/FlashingState.hx#L57-L61
Then modify bg. (I'm assuming that your warning image is one whole image instead of different parts.)
Delete the .makeGraphic(FlxG.width, FlxG.height, FlxColor.BLACK);
And modify the FlxSprite with the functions inside of it. (I'm also assuming you know how FlxSprite works.
That's pretty much it.

This should be editable from modpacks lol...

I'm guessing source. Also please add gore to da mod.
Find this line.
https://github.com/ShadowMario/FNF-PsychEngine/blob/b6c64fcf3039ddc2252ee9bb4c5adc67d26d4345/source/TitleState.hx#L452-L457
Force it to go to another state that you made. Like, lets make up the name: WarningState.hx Make that new file and you can sorta just copy the whole code from FlashingState.hx
Then modify the state. Delete all the FlxText found in the state.
https://github.com/ShadowMario/FNF-PsychEngine/blob/b6c64fcf3039ddc2252ee9bb4c5adc67d26d4345/source/FlashingState.hx#L18
https://github.com/ShadowMario/FNF-PsychEngine/blob/b6c64fcf3039ddc2252ee9bb4c5adc67d26d4345/source/FlashingState.hx#L26-L35
https://github.com/ShadowMario/FNF-PsychEngine/blob/b6c64fcf3039ddc2252ee9bb4c5adc67d26d4345/source/FlashingState.hx#L50
https://github.com/ShadowMario/FNF-PsychEngine/blob/b6c64fcf3039ddc2252ee9bb4c5adc67d26d4345/source/FlashingState.hx#L57-L61
Then modify bg. (I'm assuming that your warning image is one whole image instead of different parts.) Delete the .makeGraphic(FlxG.width, FlxG.height, FlxColor.BLACK); And modify the FlxSprite with the functions inside of it. (I'm also assuming you know how FlxSprite works.
That's pretty much it.

Thank you.


BAEL-4844: Code for the Spring AOP class annotation article.

Closed in favor of https://github.com/eugenp/tutorials/pull/10655.


Operator-sdk doesn't work inside of docker container

What did you do?
run docker with operator-sdk in it
What did you expect to see?
operator-sdk run without any errors
What did you see instead? Under which circumstances?
time="2020-07-15T04:17:46Z" level=info msg="Running deepcopy code-generation for Custom Resource group versions: [app:[v1alpha1], ]\n"
F0715 04:17:46.926457      11 deepcopy.go:885] Hit an unsupported type invalid type for invalid type, from pkg/apis/app/v1alpha1.AppService
make: *** [Makefile:24: operator-sdk] Error 255
Environment

operator-sdk version: 0.18.2

go version:

1.13.8

Hi @kotyara85,
The SDK tool is working in the place where you added it. However, you are facing the issue Hit an unsupported type invalid type for invalid type, from which can be because you have an error in the implementation of (AppService)*_type.go or because of the local configuration is not accurate.
See here that this issue is common when the local env is not properly set. PS.: Just as a tip, you can looking for similar issues always to see if it was faced for others and how it was solved.
Also, see that this scenario is documented in: https://sdk.operatorframework.io/docs/faq/#i-see-deepcopy-errors-and-image-build-fails-how-do-i-fix-this

In order to fix this, you simply need to export the GOROOT environment variable
$ export GOROOT=$(go env GOROOT)

PS.: may the https://github.com/operator-framework/operator-sdk/issues/2979#issuecomment-625566029 help you see how Go works inside and outside of its path.
I am closing this one as sorted out. However, please feel free to ping us to re-open if you need and/or raise new issues. Note that, if you have further/other questions I'd kindly ask for you raise a new issue. We try to keep 1 subject/question per issue is helpful for we are able to collab with more assertively as easier to others who are facing similar issues and are looking in the tracked ones.


The Korean language is broken at the eclipse console.

Gulpfile.js
Gulp.task ('hello', function () {
Console.log ('안녕하세요.');
}}
When i run gulpfile.js in eclipse, it is output to console in Japanese.
The eclipse encoding is UTF-8.
When i run it in window command mode, it will come out well.
eclipse neon console
C:\workspaces\neon-workspace\geomartian>gulp default
[15:07:58] Using gulpfile C:\workspaces\neon-workspace\geomartian\gulpfile.js
[15:07:58] Starting 'hello'...
?븞?뀞?븯?꽭?슂.
[15:07:58] Finished 'hello' after 99 關s
[15:07:58] Starting 'default'...
[15:07:58] Finished 'default' after 16 關s
C:\workspaces\neon-workspace\geomartian>exit

@gt1000 do you think this problem is the same as https://github.com/gulpjs/vinyl-fs/issues/23?

Closing due to inactivity.


Update build.gradle.kts to remove NodeJsRootExtension configuration

Removes NodeJsRootExtension configuration to use version 21 since default NodeJS already uses wasm.

Thanks!


DO NOT MERGE: v0.4.0 with limitador-server:v1.0.0

@didierofrivia Care to review if I forgot something? Had to fight the make bundle for a bit, …
Is anything missing? Thinking I might be changing too much? Like the default (and the test)… but I feel like we should default to v1.0.0 of limitador always…
This branch would then become the tag and be deleted.

Shouldn't be these changes be done at https://github.com/redhat-openshift-ecosystem/community-operators-prod
like in https://github.com/redhat-openshift-ecosystem/community-operators-prod/pull/1551 ???
Also for k8s in https://github.com/k8s-operatorhub/community-operators/pull/1601

What I would do is merge https://github.com/Kuadrant/limitador-operator/pull/57, then tag with v0.4.0
Next step, publish new bundle in

openshift: https://github.com/redhat-openshift-ecosystem/community-operators-prod
k8s operatorhub: https://github.com/k8s-operatorhub/community-operators


FTP timeout configuration

Hi.
It will be great to have FTP timeout configuration because sometimes connection delays happened and backup interrupts before successfully uploaded.

Hi @noff, congrats on opening issue number 700!
I'm not that familiar with the Net::FTP. Looks like it's part of ruby itself, unlike Net::SFTP.
I see that the documentation reference a open_timeout and a read_timeout. Which setting do you need? Or do you think we'd have to configure both? Separately even?
I see for Net::SFTP (and Net::SSH) we'd only have to configure timeout.

Hi. It's to prevent this error:
[2015/09/22 05:22:40][error] Model::Error: Backup for modelname
Failed!
[2015/09/22 05:22:40][error] --- Wrapped Exception ---
[2015/09/22 05:22:40][error] Net::FTPTempError: 426 Transfer aborted.  Data connection closed.
[2015/09/22 05:22:40][error]
[2015/09/22 05:22:40][error] Backtrace:
[2015/09/22 05:22:40][error]   /home/rails/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/net/ftp.rb:325:in `getresp'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/net/ftp.rb:563:in `rescue in storbinary'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/net/ftp.rb:542:in `storbinary'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/net/ftp.rb:694:in `putbinaryfile'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/net/ftp.rb:722:in `put'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/gems/backup-4.1.11/lib/backup/storage/ftp.rb:58:in `block (2 levels) in transfer!'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/gems/backup-4.1.11/lib/backup/storage/ftp.rb:54:in `each'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/gems/backup-4.1.11/lib/backup/storage/ftp.rb:54:in `block in transfer!'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/gems/backup-4.1.11/lib/backup/storage/ftp.rb:46:in `block in connection'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/net/ftp.rb:135:in `open'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/gems/backup-4.1.11/lib/backup/storage/ftp.rb:44:in `connection'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/gems/backup-4.1.11/lib/backup/storage/ftp.rb:51:in `transfer!'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/gems/backup-4.1.11/lib/backup/storage/base.rb:35:in `perform!'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/gems/backup-4.1.11/lib/backup/model.rb:334:in `block in store!'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/gems/backup-4.1.11/lib/backup/model.rb:332:in `map'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/gems/backup-4.1.11/lib/backup/model.rb:332:in `store!'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/gems/backup-4.1.11/lib/backup/model.rb:306:in `block in procedures'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/gems/backup-4.1.11/lib/backup/model.rb:269:in `call'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/gems/backup-4.1.11/lib/backup/model.rb:269:in `block in perform!'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/gems/backup-4.1.11/lib/backup/model.rb:268:in `each'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/gems/backup-4.1.11/lib/backup/model.rb:268:in `perform!'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/gems/backup-4.1.11/lib/backup/cli.rb:156:in `perform'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/gems/thor-0.18.1/lib/thor/command.rb:27:in `run'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/gems/thor-0.18.1/lib/thor/invocation.rb:120:in `invoke_command'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/gems/thor-0.18.1/lib/thor.rb:363:in `dispatch'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/gems/thor-0.18.1/lib/thor/base.rb:439:in `start'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/gems/backup-4.1.11/bin/backup:5:in `<top (required)>'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/bin/backup:23:in `load'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/bin/backup:23:in `<main>'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/bin/ruby_executable_hooks:15:in `eval'
[2015/09/22 05:22:40][error]   /home/rails/.rvm/gems/ruby-2.2.0/bin/ruby_executable_hooks:15:in `<main>'

Storage support confirms problem on their side and suggests to increase timeout as temporary solution. I think it's open_timeout but it is better to configure both.

@noff I quickly added the option to configure the timeout, see this PR: https://github.com/backup/backup/pull/702
Can you try installing backup from this branch and get back to me if it helps?

Hi. Sorry for long time to answer.
How can I install it using "gem install ..." command?

Using bundler you can add this to your Gemfile
gem "backup", :github => "backup/backup"
#or
gem "backup", :git => "https://github.com/backup/backup.git"

and run bundle install

Did this:
cd ~/Backup
vi Gemfile
# added gem string
bundle
backup perform -t dbtables

===>

$ backup perform -t dbtables
[2015/10/02 09:36:22][error] CLI::Error
[2015/10/02 09:36:22][error] --- Wrapped Exception ---
[2015/10/02 09:36:22][error] NoMethodError: undefined method open_timeout= for #<Backup::Storage::FTP:0x000000039c6e38>
[2015/10/02 09:36:22][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/config/helpers.rb:122:in `method_missing'

Sorry @noff , should have provided an example. I named the option just timeout
store_with FTP do |ftp|
  ftp.timeout = 10
end

$ /bin/bash -l -c 'cd /home/rails/Backup && backup perform -t dbtables --quiet'
[2015/10/02 20:53:19][error] CLI::Error
[2015/10/02 20:53:19][error] --- Wrapped Exception ---
[2015/10/02 20:53:19][error] NoMethodError: undefined method `timeout=' for #<Backup::Storage::FTP:0x00000003ad2e58>
[2015/10/02 20:53:19][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/config/helpers.rb:122:in `method_missing'
[2015/10/02 20:53:19][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/config/helpers.rb:86:in `block in load_defaults!'
[2015/10/02 20:53:19][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/config/helpers.rb:83:in `each'
[2015/10/02 20:53:19][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/config/helpers.rb:83:in `load_defaults!'
[2015/10/02 20:53:19][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/storage/base.rb:39:in `initialize'
[2015/10/02 20:53:19][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/storage/ftp.rb:22:in `initialize'
[2015/10/02 20:53:19][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/model.rb:153:in `new'
[2015/10/02 20:53:19][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/model.rb:153:in `store_with'

@noff you'll need to execute it in the bundler context. Run it with bundle exec backup ... otherwise it will use the normal installation of the backup gem. Please try it with bundler and let me know if it works

$ bundle exec backup perform -t dbtables
[2015/10/04 16:46:05][error] CLI::Error
[2015/10/04 16:46:05][error] --- Wrapped Exception ---
[2015/10/04 16:46:05][error] NoMethodError: undefined method `timeout=' for #<Backup::Storage::FTP:0x00000004872c98>
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/config/helpers.rb:122:in `method_missing'
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/config/helpers.rb:86:in `block in load_defaults!'
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/config/helpers.rb:83:in `each'
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/config/helpers.rb:83:in `load_defaults!'
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/storage/base.rb:39:in `initialize'
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/storage/ftp.rb:22:in `initialize'
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/model.rb:153:in `new'
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/model.rb:153:in `store_with'
[2015/10/04 16:46:05][error] /home/rails/Backup/models/shard00.rb:22:in `block (2 levels) in load'
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/model.rb:127:in `instance_eval'
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/model.rb:127:in `initialize'
[2015/10/04 16:46:05][error] /home/rails/Backup/models/shard00.rb:4:in `new'
[2015/10/04 16:46:05][error] /home/rails/Backup/models/shard00.rb:4:in `block in load'
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/config.rb:48:in `instance_eval'
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/config.rb:48:in `block in load'
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/config.rb:47:in `each'
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/config.rb:47:in `load'
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/lib/backup/cli.rb:129:in `perform'
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/gems/thor-0.18.1/lib/thor/command.rb:27:in `run'
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/gems/thor-0.18.1/lib/thor/invocation.rb:120:in `invoke_command'
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/gems/thor-0.18.1/lib/thor.rb:363:in `dispatch'
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/gems/thor-0.18.1/lib/thor/base.rb:439:in `start'
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/bundler/gems/backup-4057a4b2dac8/bin/backup:5:in `<top (required)>'
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/bin/backup:23:in `load'
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/bin/backup:23:in `<main>'
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `eval'
[2015/10/04 16:46:05][error] /home/rails/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `<main>'

I use default settings
   Storage::FTP.defaults do |server|
    ...
    server.keep       = 5
    server.passive_mode = true
    server.timeout = 240
  end

@noff sorry, I'm an idiot!
I forgot to add the ref to the code you have to add to your gemfile. Please use the code below in your gemfile and try again
gem "backup", :git => "https://github.com/backup/backup.git", ref: "ftp_timeout_config"

It works now. Thank you.

@noff awesome! Let me know in a couple days if you have or have not encountered any problems. I'll also try to add the functionality to the sftp setup (if necessary and possible) before merging it and publishing a new version

This was released today in backup 4.2.1

Great, thanks.


Add rubocop-md to lint markdown snippets with Ruby code

Motivation
As per https://github.com/Shopify/ruby-lsp/pull/1972#discussion_r1586283707. Running RuboCop over code in markdown at least prevents basic errors. It did catch a missing end keyword which is nice.
rubocop-md is part of the RuboCop org: https://github.com/rubocop/rubocop-md

Thanks, this a very useful addition.


--license-header flag isnt working

I have tried setting --license-header=none flag to remove the MIT license header from the generated files as described here - https://github.com/Azure/autorest/blob/main/docs/generate/flags.md
But the flag isnt working. I have tried to set other values for the header but they also dont seem to work.
This is the command line that I have used:
autorest --csharp --input-file="swagger.json" --namespace=Microsoft.My.Client --output-folder="..\Generated" --generate-sample-project=false --generation1-convenience-client --v3 --public-clients --security=AADToken --skip-csproj --license-header=none

Hi @gregoks according to the document you shared, no generator has implemented this flag.
This flag looks like to have an enum value list, such as MICROSOFT_MIT_NO_VERSION and others.
I do not know the content for those enum values - therefore I will fix this in a different way.
I will itnroduce another flag, maybe custom-header to let you specify the content you want to put in each file.


Redirecting people to my fork.

So I have looked for a YT Music Client for quiet a while. I am very happy to have found this although I was a bit disappointed that this hasn't moved in 7 months. I made quiet a few changes in my fork of this including: getting tile info from YT Musics own title info at the bottom, auto-updating, smaller changes to the presence, and a checker that should reconnect the RPC if another program takes over and gets closed.

Made it in commit https://github.com/AymanDev/YouTube-Music-Client/commit/2b7ec436563bd79f38be376b86248a63207fefa4


Thank you

Just wanted to leave a quick message to say thank you! Really surprised that there are like five packages on npm to work with a niche format such as HL7 – and hl7parser was by far the nicest one to use (for our use case). Thank you for saving us a few hours of headache :)

Glad you like it! Let me know if you have any questions.


Mount all collections on server

if you switch between databases you get error There is already a collection named 'users'


[CS2103T-F11-4] Travelling Businessman

Traveling Businessman is a CLI optimized, client and schedule management system that aims to be the companion to an international businessperson. It allows for management of notes and contacts across different countries and time zones.

Codecov Report

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

@@            Coverage Diff            @@
##             master       #9   +/-   ##
=========================================
  Coverage     72.31%   72.31%
  Complexity      400      400
=========================================
  Files            70       70
  Lines          1228     1228
  Branches        124      124
=========================================
  Hits            888      888
  Misses          308      308
  Partials         32       32

Continue to review full report at Codecov.

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

Codecov Report

Merging #9 into master will decrease coverage by 0.38%.
The diff coverage is 80.18%.

@@             Coverage Diff              @@
##             master       #9      +/-   ##
============================================
- Coverage     72.31%   71.92%   -0.39%
- Complexity      400      401       +1
============================================
  Files            70       75       +5
  Lines          1228     1243      +15
  Branches        124      126       +2
============================================
+ Hits            888      894       +6
- Misses          308      315       +7
- Partials         32       34       +2

Impacted Files
Coverage Δ
Complexity Δ

...main/java/seedu/address/commons/core/Messages.java
0.00% <ø> (ø)
0.00 <0.00> (ø)

...in/java/seedu/address/logic/parser/ParserUtil.java
97.22% <ø> (ø)
14.00 <0.00> (ø)

.../main/java/seedu/address/model/client/Address.java
80.00% <ø> (ø)
6.00 <0.00> (?)

...rc/main/java/seedu/address/model/client/Email.java
80.00% <ø> (ø)
6.00 <0.00> (?)

src/main/java/seedu/address/model/client/Name.java
80.00% <ø> (ø)
6.00 <0.00> (?)

...rc/main/java/seedu/address/model/client/Phone.java
80.00% <ø> (ø)
6.00 <0.00> (?)

...main/java/seedu/address/model/country/Country.java
0.00% <0.00%> (ø)
0.00 <0.00> (?)

src/main/java/seedu/address/model/note/Note.java
0.00% <0.00%> (ø)
0.00 <0.00> (?)

.../main/java/seedu/address/model/tag/TagFactory.java
0.00% <0.00%> (ø)
0.00 <0.00> (?)

.../java/seedu/address/model/util/SampleDataUtil.java
20.00% <0.00%> (ø)
1.00 <0.00> (ø)

... and 35 more

Continue to review full report at Codecov.

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


AVRO-2630: POC for splitting languages.

Based on JAVA=8 and JAVA=11, not very clean.
Make sure you have checked all steps below.
Jira

[ ] My PR addresses the following Avro Jira issues and references them in the PR title. For example, "AVRO-1234: My Avro PR"

https://issues.apache.org/jira/browse/AVRO-XXX
In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

Tests

[ ] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[ ] My commits all reference Jira issues in their subject lines. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters (not including Jira issue reference)
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Documentation

[ ] In case of new functionality, my PR adds documentation that describes how to use it.

All the public functions and the classes in the PR contain Javadoc that explain what it does

Ooops -- mistaken PR here.
Just testing a POC on running perl build/tests only in one of the travis jobs, I meant to trigger via a PR against my own repo.


bump docker to 19.03.5

This is an auto generated PR created for docker upgrade to 19.03.5

This did not remove the old blob :(


Two comments and a question about cco:Agent

cco:Agent =def. "A Material Entity that is capable of performing Planned Acts"

There are material entities capable of performing one planned act, which are agents, but which are not on this definition due to the pluralizing of 'acts'.

Mine sniffing rats are agents on this definition becasue they are capable of performing some planned act. This seems right. Are their wild counterparts agents? I think they are on this definition becasue the wild counterparts are just as capable of performing planned acts. This seems like an unwanted consequence of the definition, though, becasue then every animal plausibly is capable of performing a planned act, and 'animal' would thus be a subclass of 'agent.'

What does it mean to be "capable of performing" some act? We want to count software agents, and not be so permissive as to allow that it means something like 'capable of participating in' (which would make all material entities agents).

The axiomatization of agency is permissive in CCO, which is a double edged sword perhaps. If the data captures the agency of rats, the ontology should be able to handle it. Machines on the assembly line of a car plant may be agents in the parts of the manufacturing process, but certainly the car company is the agent in the entire act of manufacturing.
Open to hearing more about acts and plans, but I think the permissiveness of the ontology allows domain ontologies to make those sorts of decisions about the granularity of agency.


[BUG] Long running message bus receivers have intermittent errors

Describe the bug
Occasionally while using long running code listening to subscriptions on service bus topics we get the errors shown below sent to the registered exceptionReceivedHandler.  We have 3 services all running against the same message bus but sometimes only 1 or 2 will get the errors at the same time.  Error 1 was received last night by 2 of the services for different subscriptions but at the same time.   All 3 errors were received when there was no one using the application and nothing was going over the message bus.  Sometimes we go several days without errors and some days we have several hundred.  They don't seem to affect functionality and we're already using the RetryExponential policy.  We did seem to get the errors more frequently on v4.0.0 but still receive them after upgrading to v4.1.1.
Are these exceptions safe to ignore or are we doing something wrong?
Exception or Stack Trace
Error 1:
Microsoft.Azure.ServiceBus.ServiceBusCommunicationException: The link '2341f6c8-d9b1-4510-aa85-99b15249e8dc;270:275:276:source(address:auth.runmigration/Subscriptions/Auth):MessageReceiver14auth.runmigration/Subscriptions/Auth' is force detached. Code: RenewToken. Details: Unauthorized access. 'Listen' claim(s) are required to perform this operation. Resource: 'sb://safari-prd-eastus.servicebus.windows.net/auth.runmigration/subscriptions/auth'.. TrackingId:d706dde4a00f411d836605d4476a3cab_G0, SystemTracker:gateway7, Timestamp:2019-11-22T08:03:06
 ---> Microsoft.Azure.ServiceBus.ServiceBusException: The link '2341f6c8-d9b1-4510-aa85-99b15249e8dc;270:275:276:source(address:auth.runmigration/Subscriptions/Auth):MessageReceiver14auth.runmigration/Subscriptions/Auth' is force detached. Code: RenewToken. Details: Unauthorized access. 'Listen' claim(s) are required to perform this operation. Resource: 'sb://safari-prd-eastus.servicebus.windows.net/auth.runmigration/subscriptions/auth'.. TrackingId:d706dde4a00f411d836605d4476a3cab_G0, SystemTracker:gateway7, Timestamp:2019-11-22T08:03:06
   at Microsoft.Azure.ServiceBus.Core.MessageReceiver.OnReceiveAsync(Int32 maxMessageCount, TimeSpan serverWaitTime)
   --- End of inner exception stack trace ---
   at Microsoft.Azure.ServiceBus.Core.MessageReceiver.OnReceiveAsync(Int32 maxMessageCount, TimeSpan serverWaitTime)
   at Microsoft.Azure.ServiceBus.Core.MessageReceiver.<>c__DisplayClass64_0.d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.Azure.ServiceBus.RetryPolicy.RunOperation(Func`1 operation, TimeSpan operationTimeout)
   at Microsoft.Azure.ServiceBus.RetryPolicy.RunOperation(Func`1 operation, TimeSpan operationTimeout)
   at Microsoft.Azure.ServiceBus.Core.MessageReceiver.ReceiveAsync(Int32 maxMessageCount, TimeSpan operationTimeout)
   at Microsoft.Azure.ServiceBus.Core.MessageReceiver.ReceiveAsync(TimeSpan operationTimeout)
   at Microsoft.Azure.ServiceBus.MessageReceivePump.b__11_0()

Error 2:
Microsoft.Azure.ServiceBus.ServiceBusException: The service was unable to process the request; please retry the operation. For more information on exception types and proper exception handling, please refer to http://go.microsoft.com/fwlink/?LinkId=761101 TrackingId:2ead8826195f40108e1cf2af1e3c62af_G25, SystemTracker:gateway7, Timestamp:2019-11-22T06:56:29
   at Microsoft.Azure.ServiceBus.Core.MessageReceiver.OnReceiveAsync(Int32 maxMessageCount, TimeSpan serverWaitTime)
   at Microsoft.Azure.ServiceBus.Core.MessageReceiver.<>c__DisplayClass64_0.d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.Azure.ServiceBus.RetryPolicy.RunOperation(Func`1 operation, TimeSpan operationTimeout)
   at Microsoft.Azure.ServiceBus.RetryPolicy.RunOperation(Func`1 operation, TimeSpan operationTimeout)
   at Microsoft.Azure.ServiceBus.Core.MessageReceiver.ReceiveAsync(Int32 maxMessageCount, TimeSpan operationTimeout)
   at Microsoft.Azure.ServiceBus.Core.MessageReceiver.ReceiveAsync(TimeSpan operationTimeout)
   at Microsoft.Azure.ServiceBus.MessageReceivePump.b__11_0()

Error 3:
Microsoft.Azure.ServiceBus.ServiceBusTimeoutException: The operation did not complete within the allocated time 00:00:59.9999140 for object tls70.
 ---> System.TimeoutException: The operation did not complete within the allocated time 00:00:59.9999140 for object tls70.
   at Microsoft.Azure.Amqp.AsyncResult.End[TAsyncResult](IAsyncResult result)
   at Microsoft.Azure.Amqp.AmqpObject.OpenAsyncResult.End(IAsyncResult result)
   at Microsoft.Azure.Amqp.AmqpObject.EndOpen(IAsyncResult result)
   at Microsoft.Azure.Amqp.Transport.TlsTransportInitiator.HandleTransportOpened(IAsyncResult result)
   at Microsoft.Azure.Amqp.Transport.TlsTransportInitiator.OnTransportOpened(IAsyncResult result)
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.Azure.ServiceBus.ServiceBusConnection.CreateConnectionAsync(TimeSpan timeout)
   at Microsoft.Azure.Amqp.FaultTolerantAmqpObject`1.OnCreateAsync(TimeSpan timeout)
   at Microsoft.Azure.Amqp.Singleton`1.GetOrCreateAsync(TimeSpan timeout)
   at Microsoft.Azure.Amqp.Singleton`1.GetOrCreateAsync(TimeSpan timeout)
   at Microsoft.Azure.ServiceBus.Amqp.AmqpLinkCreator.CreateAndOpenAmqpLinkAsync()
   at Microsoft.Azure.ServiceBus.Core.MessageReceiver.CreateLinkAsync(TimeSpan timeout)
   at Microsoft.Azure.Amqp.FaultTolerantAmqpObject`1.OnCreateAsync(TimeSpan timeout)
   at Microsoft.Azure.Amqp.Singleton`1.GetOrCreateAsync(TimeSpan timeout)
   at Microsoft.Azure.Amqp.Singleton`1.GetOrCreateAsync(TimeSpan timeout)
   at Microsoft.Azure.ServiceBus.Core.MessageReceiver.OnReceiveAsync(Int32 maxMessageCount, TimeSpan serverWaitTime)
   --- End of inner exception stack trace ---
   at Microsoft.Azure.ServiceBus.Core.MessageReceiver.OnReceiveAsync(Int32 maxMessageCount, TimeSpan serverWaitTime)
   at Microsoft.Azure.ServiceBus.Core.MessageReceiver.<>c__DisplayClass64_0.d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.Azure.ServiceBus.RetryPolicy.RunOperation(Func`1 operation, TimeSpan operationTimeout)
   at Microsoft.Azure.ServiceBus.RetryPolicy.RunOperation(Func`1 operation, TimeSpan operationTimeout)
   at Microsoft.Azure.ServiceBus.Core.MessageReceiver.ReceiveAsync(Int32 maxMessageCount, TimeSpan operationTimeout)
   at Microsoft.Azure.ServiceBus.Core.MessageReceiver.ReceiveAsync(TimeSpan operationTimeout)
   at Microsoft.Azure.ServiceBus.MessageReceivePump.b__11_0()

To Reproduce
Create a subscription to a topic open for receiving and let it run for a few days.  Sorry... I'd hate to get a bug like this.
Setup (please complete the following information):
The listener is running in an Azure App Service with Always On enabled
Standard tier Service Bus
.Net Core 3.0
Microsoft.Azure.ServiceBus v4.1.1

@dandenton ,
ServiceBusCommunicationException is an exception that happens when there is some network issue. It could be that connection dropped and had to be restarted. It can happen for multiple reasons, including some node in between (front-end/ backend) had to restart and or load-balancer had to move containers around, or service upgrade happened.
ServiceBusTimeoutException and ServiceBusCommunicationException are transient exceptions and you could give less importance to them as they can definitely happen once in a while. If you feel retry doesn't solve that, then that would be definitely concerning.
ServiceBusException: The service was unable to process the request;  - This looks like an error that happened on service side, or might not have been classified appropriately. Please open a support ticket through Azure portal to learn more details about it if required. That doesn't look like a client-side bug, and hence Azure portal support ticket is a better place to get help for it.

Hi, We are experiencing the same error if we use a SAS token generated instead of the RootManageSharedAccessKey one. Do you have any update on this?
Seems like a breaking changes between the old client (.net full) and new one. We are getting this error after the migration.
Thanks,
Carmine

@cpunella , could you share the exact error you are facing?

@anqyan , this exception looks similar to the other issue. Could you please take a look?
 ---> Microsoft.Azure.ServiceBus.ServiceBusException: The link '2341f6c8-d9b1-4510-aa85-99b15249e8dc;270:275:276:source(address:auth.runmigration/Subscriptions/Auth):MessageReceiver14auth.runmigration/Subscriptions/Auth' is force detached. Code: RenewToken. Details: Unauthorized access. 'Listen' claim(s) are required to perform this operation. Resource: 'sb://safari-prd-eastus.servicebus.windows.net/auth.runmigration/subscriptions/auth'.. TrackingId:d706dde4a00f411d836605d4476a3cab_G0, SystemTracker:gateway7, Timestamp:2019-11-22T08:03:06
   at Microsoft.Azure.ServiceBus.Core.MessageReceiver.OnReceiveAsync(Int32 maxMessageCount, TimeSpan serverWaitTime)
   --- End of inner exception stack trace ---```

@nemakam Yes will take a look.
@cpunella Hi is this the same issue you mentioned in https://github.com/Azure/azure-sdk-for-net/issues/11619 ? If so, let's track it here. Please feel free to send related logs to<EMAIL_ADDRESS>Thanks.


Missing pre-processing data?

Hello,
Is there any pre-processing of the raw data given by the challenge missing in the repo?
Please, could you provide information about how you organize/process the video sequences of the challenge in order to run the code?
If we download the dataset from the link you provide, it is not in the format S1c01 ~ S5c36.  (as it is required in the readme file and in the code). Do you create S1c01 ~ S5c36 folders manually?
Thank you,
Elena

yes you have to create the names of the folders manually in dataset/data directory

it have a error when i run get_track_info.py ,because the calibration.txt is different in test or train documents


fix: inconsistency in select and treeselect widgets behaviours

Description

Fix Uniformity among the select widget styles and behavior
Fix invalid states in Select Widgets
Fix Explorer icons for TreeSelect widgets
Fix Dropdown text-overflow behavior in Select widgets
Remove the default Label text from all Select widgets
Fixes issue with compact mode when select and label are inline, the dropdown tends to extend past the allowed width as shown below

Fixes #11073
Fixes #11076
Fixes #7991
Fixes #9430
Fixes #9869
Fixes #11614
Type of change

Bugfix (non-breaking change which fixes an issue)

How Has This Been Tested?

Manual testing

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

Test coverage results :test_tube:
:red_circle: Total coverage has decreased
// Code coverage diff between base branch:release and head branch: fix/inconsistent-select-widget-behaviours

Status
File
% Stmts
% Branch
% Funcs
% Lines

:red_circle:
total
55.78 (-0.04)
37.13 (-0.05)
35.16 (-0.04)
56.12 (-0.04)

:red_circle:
app/client/src/utils/WorkerUtil.ts
88.98 (-0.78)
70.59 (-1.96)
100 (0)
92.38 (-0.95)

:red_circle:
app/client/src/utils/autocomplete/TernServer.ts
52.71 (-0.23)
40.83 (-0.84)
36.21 (0)
56.74 (-0.25)

:red_circle:
app/client/src/widgets/MultiSelectTreeWidget/component/index.styled.tsx
43.18 (-2.06)
24.24 (0)
0 (0)
48.57 (-1.43)

:red_circle:
app/client/src/widgets/MultiSelectTreeWidget/component/index.tsx
18.75 (-6.74)
0 (0)
0 (0)
20.69 (-6.97)

:red_circle:
app/client/src/widgets/MultiSelectTreeWidget/widget/index.tsx
41.54 (-2.01)
0 (0)
42.86 (0)
42.62 (-2.21)

:red_circle:
app/client/src/widgets/MultiSelectWidgetV2/widget/index.tsx
80 (-0.95)
50 (-3.06)
70.59 (0)
80 (-1.01)

:red_circle:
app/client/src/widgets/SingleSelectTreeWidget/component/index.tsx
19.05 (-6.95)
0 (0)
0 (0)
21.05 (-7.21)

:red_circle:
app/client/src/widgets/SingleSelectTreeWidget/widget/index.tsx
49.12 (-2.73)
0 (0)
50 (0)
50.94 (-3.06)

/ok-to-test sha=267fdb1

/ok-to-test sha=b2504a3

/ok-to-test sha=5d89e5a

@Tooluloope Adding suggestions here

Can we remove the close icon in the filter bar when there's no text in the multi, multitree and tree select widgets. We should follow the behavior in the select widget.
Filter bar should also follow the same min width as the widget.

Can we show the label on hover in the selected mode when the label is truncated?

Fixes https://github.com/appsmithorg/appsmith/issues/9430 - this is not related to select and also not fixed in the DP. Either fix or remove it from the PR description.

@dilippitchika Thanks, I'd work on all.
For the Forth, The icons are currently displayed

Hey @Tooluloope the issue is for the "Audio" widget and not "Audio recorder" widget

@dilippitchika All issues are now fixed.

/ok-to-test sha=a230711

/ok-to-test sha=38f202a

/ok-to-test sha=3c07ae3

@Tooluloope Tested issue #7991 and it is working as expected now

@Tooluloope Tested issue #9869 and it is working as expected

@Tooluloope tested #9430. DP is working as expected

@Tooluloope Tested issue #11614 - Now for all the select family by default 'label' text is not displayed unless the user configures label text. Working as expected

@Tooluloope tested #11073. Found 2 issues.

No ellipsis found in Select widget when URL is an option

For select widget in deploy mode the first option remains highlighted with green

/ok-to-test sha=47343b8

@Tooluloope re-tested #11073 DP after fix. Working as expected. Moving to Done.


ResourceHelper.hasScheme() now recognizes "https:" scheme

I noticed that isHttpUri() recognizes "https:" as a scheme, so it seems to me that hasScheme() ought to recognise it as well.

Thanks for the PR. You are surely welcome to keep contributing to the project.


Lazy function evaluation

This is an idea I've been working on for years and I think I've got it mostly there. Along with significantly improved performance and memory usage in many circumstances, this will also fix #3675 among others.
In brief, we currently create separate analysis units and scopes for each call to a function, using some heuristics to avoid doing this forever (the old call chains implemented "if the call comes through these same call sites assume the parameters are probably the same type"). Before that, we tried to separate them based on parameter types.
With this new approach, we use placeholder types in parameters for normal analysis, and store all the incoming values in a separate dictionary. When a placeholder ("lazy") type escapes, it is resolved to all its possible values. When we are handling a call to the function, if there is a lazy type in the known return value then we substitute based on the current argument set and return that.
(If the arguments may be used in a closure then we revert back to creating a separate call for each set of arguments. Unlike in the past, we only do this for free variables, and if calls come in with different sets then they get different results.)
Still a work in progress because not all the existing tests pass. Some of them codify the old behavior in ways that require the tests to be changed (i.e. we wanted to detect changes to known "failures", which now succeed) but I haven't finished going through them all yet. But feel free to review and make any suggestions, or grab the code and give it a try.
Known issues:

[x] Decorators/wrapped functions
[x] Returning sequences containing argument values
[x] Improvements to typing module support
[x] Script for broader analysis testing

This is a big and scary PR right now because I've merged in #3844 to get some extra testing on it.
I'm also doing more type hint work in this PR, as we've been told to finish it up for the current release and the changes here were already a huge improvement in our ability to handle certain hints correctly. So there'll be more work coming here, but it should be mostly in the form of tests (in particular, some scripted way to run the analyzer against lots of packages to flush out crashes, etc.).
If we can finish up #3844 soon then this one shouldn't have as many changes, and it'll be time to start reviewing.

Please add AnalysisMemoryTester to our skip verification files.

I ran the full analysis script and got an assert while analyzing pandas (0.20.3) for Anaconda 3 64-bit
---------------------------
Assertion Failed: Abort=Quit, Retry=Debug, Ignore=Continue
---------------------------
Accessing Mro before SetBases has been called

   at Microsoft.PythonTools.Interpreter.Ast.AstPythonType.get_Mro() in C:\Projects\GitHub\huguesv\PTVS\Python\Product\Analysis\Interpreter\Ast\AstPythonType.cs:line 91

   at Microsoft.PythonTools.Interpreter.Ast.AstPythonType.GetMember(IModuleContext context, String name) in C:\Projects\GitHub\huguesv\PTVS\Python\Product\Analysis\Interpreter\Ast\AstPythonType.cs:line 199

   at Microsoft.PythonTools.Interpreter.Ast.NameLookupContext.GetValueFromMember(MemberExpression expr, LookupOptions options) in C:\Projects\GitHub\huguesv\PTVS\Python\Product\Analysis\Interpreter\Ast\NameLookupContext.cs:line 224

   at Microsoft.PythonTools.Interpreter.Ast.NameLookupContext.GetValueFromExpression(Expression expr, LookupOptions options) in C:\Projects\GitHub\huguesv\PTVS\Python\Product\Analysis\Interpreter\Ast\NameLookupContext.cs:line 184

   at Microsoft.PythonTools.Interpreter.Ast.NameLookupContext.GetValueFromExpression(Expression expr) in C:\Projects\GitHub\huguesv\......

<truncated>
---------------------------
Abort   Retry   Ignore
---------------------------

We don't have time for the full review of the analysis logic, but one thing that worries me a lot is AnalysisHashSet. It heavily relies on mutable structs which is a bug prone event in single-threaded environment. AddOne uses an array which is shared with all other methods and accessed without locks. Rather inconsistent usage of Thread.MemoryBarrier();. And no multi-threaded stress testing.
@zooba , if you can give me more info about AnalysisHashSet and why it is such a critical type, that would be great.
For now, let's merge the PR.

I still need to replace the lock (this) with volatile, but @DinoV will have to speak to the design of AnalysisHashSet as he's the one who implemented it.

I still need to replace the lock (this) with volatile

It won't compile. I've put that comment before I've found that BucketSet is a struct.

Just found the same thing. Merging now


Improvements to support parts for exports

Individual files allow parts to be defined in their frontmatter. These are respected for static exports of those files. However, parts cannot be defined at the project/export level. We should extend the frontmatter parts to be allowed there:
...
project:
  exports:
    - format: pdf
      abstract: My Custom Export Abstract

Additionally, it would be nice to allow these to be paths to files rather than inline text.

Very excited about this, especially around enabling parts to be defined by files in general.

We should make sure this works for site templates, including live reload if the part is a file path.

Ok - just hashing through things a bit to make sure I understand (1) the current state of things and (2) how to proceed...
How do parts currently work?

parts may be defined in four ways:

project frontmatter parts
page frontmatter parts
directly in a page, under a tagged block part
directly in a page, under a section with the same name as the part (these are implicit parts)

During processing, this is simplified:

project frontmatter parts are simply ignored currently
page frontmatter parts become tagged blocks and are prepended to the page content. These blocks are marked as visibility: remove - the transform to do this is basically the first transform during mdast processing: https://github.com/jupyter-book/mystmd/blob/main/packages/myst-cli/src/process/mdast.ts#L170
existing tagged blocks are unchanged
existing implicit part sections are unchanged

For static exports:

the export template.yml defines parts
these are then extracted from the page using extractParts - this pulls out tagged blocks (which now include page frontmatter parts) as well as implicit parts.
extracted parts are then available to the template
page frontmatter parts that were not extracted do not show up, due to their visibility; tagged blocks and implicit parts defined in the page that were not extracted do show up, though.
for multi-page exports, parts are extracted across all pages, and if there are duplicates, they error (so, for example, abstract must be defined on one-page-and-only-one-page of the export)
an individual export cannot set it's own export-specific parts

For site build:

the site theme template.yml could define parts, but it currently does not
instead, known parts are always extracted in myst-theme on a per-page basis. This uses the same extractParts function as the static exports, but only applies to the hard-coded known parts: https://github.com/jupyter-book/myst-theme/blob/50c625864f091f52dc563cd3bd486e68de3625d1/packages/site/src/utils.ts#L21-L28
there are no project-level parts.
behaviour for other parts is the same as static exports: project frontmatter parts are ignored, page frontmatter parts are removed, tagged blocks remain.

What are the next steps

[ ] Allow frontmatter part to be a file

During processing, this is treated the same as other files
This file must be excluded from implicit toc generation
The file needs to be (1) added as a page dependency and (2) watched
The resulting part mdast should inserted into the frontmatter when serializing to JSON

[ ] Modify behaviour of in-line frontmatter parts be processed as a "pseudo-file" rather than injected into the page tree

Question: do we also still inject this into the page tree? If not, and if the part is only available in the frontmatter, this becomes a breaking change to myst-theme, i.e. we will need to pass frontmatter into these: https://github.com/jupyter-book/myst-theme/blob/50c625864f091f52dc563cd3bd486e68de3625d1/packages/site/src/utils.ts#L22 - not a big deal I suppose!

[ ] Allow site to define parts

These must also be parsed and added to config JSON

[ ] Allow exports to define parts

These must also be parsed and added to frontmatter/config JSON

[ ] Update static export templating logic and extractPart for new part definition locations

For single-page and multi-page exports, prioritize export parts and fall back to existing logic

[ ] Update site templating logic to respect parts in template.yml

These are project-level parts only (i.e. this does not replace the hard-coded, per-page parts that the site theme always extracts)

What isn't covered in the above scope

Actual support for project frontmatter parts

This should be very straightforward after implementing site parts, as they are both parts at the myst.yml/config.json level
This will also impact exports and site builds:

Multi-page exports should prioritize project frontmatter parts over the existing page frontmatter part logic.
Site builds and single-page exports should likely fall back to project frontmatter parts if site-level and page-level parts, respectively, are not defined.

There's some extra complexity for site builds and multi-page exports where parts may either be (1) at the project level (so for each build there must only be one) or (2) at the page level (so for each page in the build there must be one - these are like the hard-coded parts supported in the site theme)

This might require template.yml#parts to specify kind: page / project or something
This also is probably tied into an overhaul of multi-page exports, as currently multi-page basically compile all the pages into a single "page" then perform the export (there is no place for per-page parts or options)


wpa_supplicant: remove stray \n when logging "wifi_wps_enable"

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for your contribution.


Timeline for local model support

Planning to toy around with this node, and thanks for developing it.
Is local processing on your roadmap?

Yes! It is in the roadmap that's why I've added the option on the menu 😄.
I have a rough version but still not functional. Once I can make it totally work I will release it. I will leave the issue open just in case other has the same question as you until next release is out. This is my hobby so don't expect to be very soon, but it is in the works.
Hope you can enjoy and play a lot with the actual version!
Thanks!

Yes please, I'd also love this

I´m looking forward this feature!

Sounds like a great feature, would love to have the model run locally!

After a long time I finally got some spare time to implement it! (I needed to move to tfjs-node to make it work...)
You can now use it locally without a required internet connection.
Please check the latest 1.4.0 version.
@vongomben @rozza-m @MarcooF @frizull let me know if you encounter any issue.
Thanks 🙏!


Updated to 2018 edition. Refactored some sections.

Hey! I came across the need to do some remote compilation and building of Rust project, and I found your Repo. This PR updates the code to 2018 and changes some portions of the code to make it a bit closer to idiomatic Rust.
This project is super useful!

Currently bugged with getting the project name.

Thank you for your PR :) cargo-remote is quite simple and more of a hack currently. I'm always happy to merge improvements :)


minor edits in samples.md

Sorry, once again I have no idea what you've actually changed in this PR. There are 58 commits here in this PR, mostly historical ones. Can you please pull before creating a new PR? Thx.

So sorry John. I thought I had, but something must be munged in my git history.
Brandon
From: John Lam<EMAIL_ADDRESS>Sent: Tuesday, March 8, 2016 11:55 AM
To: Microsoft/RTVS-docs<EMAIL_ADDRESS>Cc: Brandon Rohrer<EMAIL_ADDRESS>Subject: Re: [RTVS-docs] minor edits in samples.md (#34)
Sorry, once again I have no idea what you've actually changed in this PR. There are 58 commits here in this PR, mostly historical ones. Can you please pull before creating a new PR? Thx.
—
Reply to this email directly or view it on GitHubhttps://github.com/Microsoft/RTVS-docs/pull/34#issuecomment-193864811.


kernel: banner: Allow for external boot banner

Adds a new Kconfig CONFIG_BOOT_BANNER_EXTERNAL_IMPLEMENTATION which
allows for applications/modules to implement their own boot banner

Also includes fix for MCUboot
Background:
MCUboot has had a custom boot banner added which replaces the zephyr one to include information on the MCUboot build, with a normal zephyr build this works fine due to the linker dropping the original function and using the one that MCUboot has, but with llext enabled in the build, the build fails because the function is defined multiple times. This resolves the issue by making the zephyr one weak which allows for applications to replace it with an alternative implementation

[x] Release notes addition

MCUboot has had a custom boot banner added which replaces the zephyr one

If so, why would you not just set CONFIG_BOOT_BANNER=n and let MCUboot do its thing?

If someone wants a boot banner, it makes sense to use a single option, if people have existing applications then updating zephyr would have no impact for them, if they have the boot banner off for their build then nothing will change, adding a new option then means suddenly everyone has it enabled. I don't see the point in having multiple options for the same thing, and what if someone enables them both, the output would just be weird.

do not like this approach of adding weak symbols so that can be impemented somewhere else. Basically what this mean is an introduction of an adhoc interface or API. We have been trying to minimize the use of weak symbols, because of how unreliable they are when multiple symbols are defined.

So would you be opposed to having this defined as an API with a Kconfig to suppress the output so that applications can provide their own function?

So would you be opposed to having this defined as an API with a Kconfig to suppress the output so that applications can provide their own function?

No, I am only opposod to adhoc weak functions being introduced, if it is something an app wants to take full control of, it has to be done properly.

@nordicjm so I understand you are suggesting something like CONFIG_BOOT_BANNER_ALT_FUNC where the logic for CONFIG_BOOT_BANNER is kept but the actual function is defined outside the zephyr tree?

FWIW, our downstream applications use both the Zephyr boot banner and a custom, application-specific banner. This allows us to both rely on the Zephyr boot banner listing the Zephyr version, and the custom banner listing the application version.
We could of course include the Zephyr version in the application version banner, but the line would become extremely long then.

I have added a banner API and adjusted MCUboot to use this

once could also do it without all the changes to zephyr...
diff --git a/samples/hello_world/src/main.c b/samples/hello_world/src/main.c
index c550ab461cb..2effc992235 100644
--- a/samples/hello_world/src/main.c
+++ b/samples/hello_world/src/main.c
@@ -5,6 +5,17 @@
  */

 #include <stdio.h>
+#include <zephyr/kernel.h>
+#include <zephyr/init.h>
+#include <zephyr/device.h>
+
+static int custom_boot_banner(void)
+{
+       printk("*** HELLO WORLD APP BANNER v1.0 ***\n");
+       return 0;
+}
+
+

 int main(void)
 {
@@ -12,3 +23,7 @@ int main(void)

        return 0;
 }
+
+
+
+SYS_INIT(custom_boot_banner, APPLICATION, 0);

resulting in:
*** Booting Zephyr OS build v3.6.99-3532-gd77dc62d196b ***
*** HELLO WORLD APP BANNER v1.0 ***
Hello World! qemu_x86/atom

once could also do it without all the changes to zephyr...
diff --git a/samples/hello_world/src/main.c b/samples/hello_world/src/main.c
index c550ab461cb..2effc992235 100644
--- a/samples/hello_world/src/main.c
+++ b/samples/hello_world/src/main.c
@@ -5,6 +5,17 @@
  */

 #include <stdio.h>
+#include <zephyr/kernel.h>
+#include <zephyr/init.h>
+#include <zephyr/device.h>
+
+static int custom_boot_banner(void)
+{
+       printk("*** HELLO WORLD APP BANNER v1.0 ***\n");
+       return 0;
+}
+
+

 int main(void)
 {
@@ -12,3 +23,7 @@ int main(void)

        return 0;
 }
+
+
+
+SYS_INIT(custom_boot_banner, APPLICATION, 0);

resulting in:
*** Booting Zephyr OS build v3.6.99-3532-gd77dc62d196b ***
*** HELLO WORLD APP BANNER v1.0 ***
Hello World! qemu_x86/atom

Except that doesn't work for this usecase as mentioned earlier:

If someone wants a boot banner, it makes sense to use a single option, if people have existing applications then updating zephyr would have no impact for them, if they have the boot banner off for their build then nothing will change, adding a new option then means suddenly everyone has it enabled. I don't see the point in having multiple options for the same thing, and what if someone enables them both, the output would just be weird.

Except that doesn't work for this usecase as mentioned earlier:

If someone wants a boot banner, it makes sense to use a single option, if people have existing applications then updating zephyr would have no impact for them, if they have the boot banner off for their build then nothing will change, adding a new option then means suddenly everyone has it enabled. I don't see the point in having multiple options for the same thing, and what if someone enables them both, the output would just be weird.

hmm, I am not sure I understand the usecase here. The code is not adding any options, the app will decide what it wants to print regardless of any options related to boot banner coming from zephyr.

Allowing it to be controlled using the same existing Kconfig, e.g.:
menuconfig MCUBOOT_BOOT_BANNER
	bool "Use MCUboot boot banner"
	depends on BOOT_BANNER
	depends on "$(APP_VERSION_EXTENDED_STRING)" != ""
	select BOOT_BANNER_EXTERNAL_IMPLEMENTATION
	default y

Instead of adding a new Kconfig, and this disables the normal boot banner output because it includes a modified version of it in the output:
	    *** Booting MCUboot v2.0.0-72-g8c0e36c88663 ***
	    *** Using Zephyr OS build v3.6.0-2607-gd0be2010c31f ***

You can't have a Kconfig de-select something, so the only way to add another one would be to have depends on !BOOT_BANNER so it can never be active - this is more of an issue when this is used by modules

Allowing it to be controlled using the same existing Kconfig, e.g.:

MCUBOOT_BOOT_BANNER can then control the custom banner you can introduce in mcuboot using something similar to what I have in my example. You do not need to use the zephyr built-in banner

Allowing it to be controlled using the same existing Kconfig, e.g.:

MCUBOOT_BOOT_BANNER can then control the custom banner you can introduce in mcuboot using something similar to what I have in my example. You do not need to use the zephyr built-in banner

As said above:

You can't have a Kconfig de-select something, so the only way to add another one would be to have depends on !BOOT_BANNER so it can never be active - this is more of an issue when this is used by modules

And this makes things worse because then everyone out of tree that is using MCUboot that has set CONFIG_BOOT_BANNER=n now suddenly has a new boot banner appear

Architecture WG:

The approach to override boot_banner from the Zephyr has multiple objections
An alternative approach is proposed, with the use of configdefault for modules that wish to override the Zephyr banner:

In the module's Kconfig file:

configdefault BOOT_BANNER
   default n

config MODULE_BOOT_BANNER
   default y

CONFIG_BOOT_BANNER=y
*** Booting Zephyr OS build v3.6.0-2607-gd0be2010c31f ***

CONFIG_MODULE_BOOT_BANNER=y
*** Booting Module v2.0.0-72-g8c0e36c88663 ***
if (! CONFIG_BOOT_BANNER)
print *** Using Zephyr OS build v3.6.0-2607-gd0be2010c31f ***
endif


spread error when using tuples within overload signatures

Bug Report

🔎 Search Terms

overload
spread

⏯ Playground Link

Playground link with relevant code
💻 Code

type A = [number, number]
type B = [string, string]
type AB = A | B

function foo(...args:A): void /* works when removed */
function foo(...args:B): void /* works when removed */
function foo(...args:AB){}

const args = [1, 2] as AB

foo(...args)
// A spread argument must either have a tuple type or be passed to a rest parameter.(2556)

🙁 Actual behavior
Type Error:
A spread argument must either have a tuple type or be passed to a rest parameter.(2556)

🙂 Expected behavior
No type errors. All resolutions of the AB union are valid tuples and should be spreadable.

Even if this continues to be an error, the message is pretty confusing.  "A spread argument must either have a tuple type or be passed to a rest parameter"… but args is a union of tuple types and it is being passed to a rest parameter.

arguably a rest parameter with a fixed length isn't a "real" rest parameter

Fun fact, this isn’t just a “no true Scotsman” quibble - IIRC TS sees no difference between (...args: [ number, number ]) and (arg1: number, arg2: number) at the type level.  As far as the compiler is concerned there is no rest parameter, “real” or otherwise.  This lets you use tuple types to express parameter lists generically.
That said, I’ve agreed for a while that the wording of this error message is confusing in many of the cases where it shows up.

Agreed; if someone wants to update the error message that'd be fine


Small fixes in test pool (windows)

Small fixes for test pool, it will be nice if someone can test them on Linux.

Diff shows no changes.

@akaszynski  it seems this pull request good duplicated with #625
I just added a function import and I guess we can merge.


Rem size unit for the legend and title font-size doesn't work (React)

Description
When using rem size unit for the legend and title, the font-size returns to default/not visible

Steps to Reproduce

Using react-apexcharts
Create area chart with 2 series
Add title and style the font-size to 2 rem
Add legend and style the font-size to 1 rem

Expected Behavior
Expected to see the font-size grow and shrink based on the rem value (root size)
Actual Behavior
The font size returns to default or shrink/behave weird
Note that the rem units works when using it on the labels style.
Screenshots

Reproduction Link

https://codesandbox.io/embed/react-basic-example-forked-79ymuf?fontsize=14&hidenavigation=1&theme=dark

Not working for me either with v3.37.1 using ApexCharts JS

I can confirm this also doesn't work on other frameworks (or no framework) not just React.  It does, however, work if you specify an exact font size, for example '16'.  Also note, every other fontSize (that I've encountered) in ApexCharts works with em/rem values, so this is unique to legend.fontSize.

Faced the issue too now with Vue 🤔


any plans for #[async] closures?

I'm not really aware of whether or not rust has, or plans to have, generator closures, but sometimes it could be nice to spawn a small coroutine on an event loop. Is this planned or, in your opinion, even possible?
I don't quite have a full grasp of what rust coroutines and closures boil down to, but my intuition tells that something like this could work:
use std::time;

use tokio_core::reactor::Core;
use tokio_timer::Timer;

let core = Core::new().unwrap().spawn(
    #[async]
    || {
        let timer = Timer::default();
        await!(timer.sleep(time::Duration::from_millis(500)));

        println!("500ms later!");
    }
);

An interesting idea! I hadn't thought of doing this before, but it definitely seems plausible!

Just looking at rust's generator example here, it looks like generator closures are supported. I could take a stab at adding support for it in your #[async] macro (I'm really interested to see how it works).

Experimentation would certainly be welcome!

it seems like this will require feature(stmt_expr_attributes), so it won't be as simple as I thought it might be. I'm not sure the version of syn that futures-await is using allows expr attributes at the moment.

I wonder if we could add a function for something liek this in the meantime if an attribute doesn't work out?

yeah, that'll work. aside from capturing, this also could allow us to transform a regular rust generator into a Stream future.

alright, I made a proof of concept in the pull request here.


Audit v3 proto package structure

As part of the v3 work, we should re-evaluate the package tree structure to ensure that the decisions made in v2 are still working for us and see what might need tweaking. This should not be a radical restructuring, we should be working along the margins ideally.

@htuch one of things I think we should do here is split out extension configs to better match the source code. Right now they are intermingled in the config directory. So I would suggest an extensions directory with the same structure as the source code.

@mattklein123 flagging this one as being potentially too high churn given everything else going on in v3. This reorganization is very easy to do though via protoxform and reflection translation, so I think we might still consider it.

Related is https://github.com/envoyproxy/envoy/issues/8490. Also, various common packages are unversioned today. We should move them to a versioned scheme to support API evolution for these components.

Re: extensions, @mattklein123 have discussed offline the need to have better consistency between the handcrafted RST docs for extensions and the API generated docs, in particular in light of https://github.com/envoyproxy/envoy/pull/8906. Leaving this comment to track further work here.

Related to https://github.com/envoyproxy/envoy/issues/8120

I'm marking this help wanted and unassigning myself. Technically the implementation of this issue is dependent on us completing the package rename support in the v2 --> v3 tooling, but there is a bunch of parallelism possible; we can have someone do a design proposal for the new package layout and do community discussion, achieve buy-in, and then execute when tooling is available for package movement.

This was completed in #9515 and #9555.


[Error] Downloading stash for Standard

Procurement 1.9.5 Initialized.

Authenticating **********************                                                    [OK]
Loading characters...                                                                     [OK]
Loading Standard Stash Tab 1...                                                           [OK]
Loading Standard Stash Tab 2...                                                           [OK]
Loading Standard Stash Tab 3...                                                           [OK]
[Error] Downloading stash for Standard, details logged to DebugInfo.log, please open a ticket at https://github.com/Stickymaddness/Procurement/issues

[02-10-2015 14:16] System.NullReferenceException: Object reference not set to an instance of an object.
at POEApi.Model.Map..ctor(Item item)
at POEApi.Model.ItemFactory.Get(Item item)
[02-10-2015 14:16] ItemFactory unable to instanciate type : Overgrown Shrine Map
[02-10-2015 14:16] Error downloading stash for Standard, exception details: System.Exception: ItemFactory unable to instanciate type : Overgrown Shrine Map
at POEApi.Model.ItemFactory.Get(Item item)
at POEApi.Model.Stash.<.ctor>b__0(Item item)
at System.Linq.Enumerable.WhereSelectListIterator2.MoveNext()    at System.Collections.Generic.List1..ctor(IEnumerable1 collection)    at System.Linq.Enumerable.ToList[TSource](IEnumerable1 source)
at POEApi.Model.Stash..ctor(Stash proxy)
at POEApi.Model.POEModel.GetStash(Int32 index, String league, Boolean forceRefresh)
at POEApi.Model.POEModel.getAllTabs(String league, Stash stash)
at POEApi.Model.POEModel.GetStash(String league, String accountName)
[02-10-2015 14:16] System.Exception: Downloading stash for Standard, details logged to DebugInfo.log, please open a ticket at https://github.com/Stickymaddness/Procurement/issues
at POEApi.Model.POEModel.GetStash(String league, String accountName)
at Procurement.ViewModel.LoginWindowViewModel.LoadStashItems(Character character)
at Procurement.ViewModel.LoginWindowViewModel.d__6.MoveNext()
at System.Collections.Generic.List1..ctor(IEnumerable1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at Procurement.ViewModel.LoginWindowViewModel.<>c__DisplayClass2.b__1()
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()

The new version of Procurement is out, which fixes this issue: https://github.com/Stickymaddness/Procurement/releases/tag/1.9.6
Unfortunately until GGG decide to support the dev community, these type of issues will continue to happen as it is out of our hands. http://i.imgur.com/yrPtajM.jpg


Fixing categories typo in methodologies

Changelog
Added

Page
Deploy Preview
Comment

Name
Link
Comment

Updated

Page
Deploy Preview
Comment

Name
Link
Comment

Preview This Change
To see how this change looks in production, scroll down to Deploy Preview. Select the link that looks like https://deploy-preview-<num>--cobalt-docs.netlify.app/
Variables
Help us support a “Write once, publish everywhere” single source of truth. If you see a line that looks like:
{{% asset-categories %}}
You’ve found a shortcode that we include in multiple documents.
You’ll find the content of the shortcode in the following directory:
https://github.com/cobalthq/cobalt-product-public-docs/tree/main/layouts/shortcodes
That shortcode has the same base name as what you see in the PR, such as asset-categories.html.
Checklist for PR Author
[ ] Did you check for broken links and alt text?
Be sure to check for broken links and Alt Text issues. We have a partially automated process,
as described in this section of our repository README:
Test Links and Alt Attributes.

@reginandrade i think I updated based on your feedback! I also had one more commit - to add the params to the Planning page.

Closing this pr. Work was merged in 458.


MethodNotAllowedHttpException

Laravel Version: 5.5.27
PHP Version: 7.1.7
Database Driver & Version:

Description:
php artisan route:list
+--------+-----------+----------------------+--------------+---------------------------------------------+--------------+
| Domain | Method    | URI                  | Name         | Action                                      | Middleware   |
+--------+-----------+----------------------+--------------+---------------------------------------------+--------------+
|        | GET|HEAD  | /                    |              | Closure                                     | web          |
|        | GET|HEAD  | api/user             | user.index   | App\Http\Controllers\UserController@index   | api          |
|        | POST      | api/user             | user.store   | App\Http\Controllers\UserController@store   | api          |
|        | GET|HEAD  | api/user/create      | user.create  | App\Http\Controllers\UserController@create  | api,api-auth |
|        | GET|HEAD  | api/user/{user}      | user.show    | App\Http\Controllers\UserController@show    | api,api-auth |
|        | PUT|PATCH | api/user/{user}      | user.update  | App\Http\Controllers\UserController@update  | api,api-auth |
|        | DELETE    | api/user/{user}      | user.destroy | App\Http\Controllers\UserController@destroy | api,api-auth |
|        | GET|HEAD  | api/user/{user}/edit | user.edit    | App\Http\Controllers\UserController@edit    | api,api-auth |
+--------+-----------+----------------------+--------------+---------------------------------------------+--------------+
But when I try to hit the store method via curl:
curl -X POST
http://wwe.local/api/user
-H 'cache-control: no-cache'
-H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW'
-H 'postman-token: de77f4d7-2fb5-5a84-7909-e9324d2dbc1a'
-F 'name=Pinak Saha'
-F<EMAIL_ADDRESS>-F password=abc124
I get:
MethodNotAllowedHttpException
Steps To Reproduce:

@pinaksaha please change the content type as application/x-www-form-urlencoded in postman this not related to Laravel

This repo is for bug tracking. Use the forums or slack channel for solving your issue

Please ask on the forums, this repo is for bug reporting only. You can use https://laracasts.com/discuss or https://laravel.io/forum which are forums with a very large community of developers helping each other.


Confusion between open Seq and open FStar.Seq

I'm trying to bring back to life some of Abhishek's code, and it (unsurprisingly) no longer compiles. Among other things, one of the files was complaining about "identifier not found: seq". Replacing open Seq with open FStar.Seq seemed to fix the problem.
Are there two distinct libraries, or was one renamed into the other at some point? Is this a duplicate of #271?
Thanks,
Jonathan

Hi Jonathan, at the time of making the ICFP release, the F* standard library module names were prefixed with 'FStar.'. Perhaps this code was not in regressions and so did not get changed.

Aseem is right, this was indeed renamed, and indeed we only updated the code in the regression. In general please add all code that's supposed to work to the regression (either make -C examples if the only dependency is F* or make -C src test if the code has dependencies on things like OCaml).

Cool, thanks, but then what is it that was being opened with open Seq? Is there another Seq module somewhere, or is it the semantics of open in F* that when the module is not found, it returns no error?

That's the broken semantics of open (#153).

Closing this one as it is tracked in #153