[New feature][Performance] Introduce a caching mechanism to ListView to reduce unnecessary layout during scrolling

Document description：
Introduced new property enableItemExtentsCaching for ListView, the documentation here describes how it works.
  /// {@template flutter.widgets.list_view.enableItemExtentsCaching}
  /// Whether to cache the main axis extents of all laid out children. The
  /// cached data will be used to calculate which children will be loaded during
  /// the 'Lazy Loading' phase.
  ///
  /// If true, the main axis extent of child will be cached as
  /// index/(key, extent) pairs when the child first laid out. If the [Key] of
  /// the item widget changes after caching, the corresponding cached extent
  /// will be removed and the new extent will be cached after layout.
  ///
  /// If false, the main axis extents of children will not be cached and all the
  /// previously cached data will be cleared.
  ///
  /// The default is false.
  ///
  /// This caching mechanism is suitable for scenarios where the main axis extents
  /// of children do not change or change infrequently during its life cycle.
  /// Using cached extent dimensions will improve scrolling performance,
  /// especially in scenarios that the scroll position changes drastically,
  /// as it will significantly reduce the layout times if the children
  /// have been laid out before.
  ///
  /// If the main axis extent of child at a certain index changes, the [Key] of
  /// the item widget needs to change to drive the framework to invalidate
  /// this child's cached value.
  ///
  /// All cached data will be cleared automatically if [scrollDirection] or
  /// [SliverConstraints.crossAxisExtent] changed.
  ///
  /// This has no effect if the extent of the children is predetermined,
  /// for example, the [itemExtent], [itemExtentBuilder] or [prototypeItem] have
  /// a non-null value, as they are already efficient.
  /// {@endtemplate}
  final bool enableItemExtentsCaching;

Performance：(Window PC, Prefile mode, Scrolling from Top to Bottom with linear curves in one second)
Without caching (max 13.4ms/frame, avg 10.1ms/frame)

Enable caching (max 6.5ms/frame, avg 4.9ms/frame)

TODO:
1, Should we provide a method for users to proactively clear all the cached data(caching enabled)? I'm not so sure.
2, Add tests for this new feature.
Test Demo Code
import 'dart:ui';

import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
final scrollController = ScrollController(initialScrollOffset: childCount * 30);
final childCount = 10000;
void main() {
  runApp(
    MaterialApp(
      showPerformanceOverlay: true,
      scrollBehavior: MyScrollBehavior(),
      home: Scaffold(
        body: const ExampleApp(),
        floatingActionButton: FloatingActionButton(onPressed: () {
          if (scrollController.offset < 100) {
            scrollController.animateTo(
              childCount * 20,
                duration: const Duration(seconds: 1),
                curve: Curves.linear,
            );
          } else {
            scrollController.animateTo(
              0,
              duration: const Duration(seconds: 1),
              curve: Curves.linear,
            );
          }
        },),
      ),
    ),
  );
}

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

  @override
  State<StatefulWidget> createState() {
    return ExampleAppState();
  }
}

class ExampleAppState extends State<ExampleApp> {

  @override
  Widget build(BuildContext context) {
    return Scrollbar(
      thumbVisibility: true,
      controller: scrollController,
      child: ListView.builder(
        cacheExtent: 250,
        // scrollDirection: Axis.horizontal,
        controller: scrollController,
        itemCount: childCount,
        enableItemExtentsCaching: true,
        // itemExtent: 25.0,
        // itemExtentBuilder: (int index, SliverLayoutDimensions dimensions) {
        //   return 10;
        // },
        // itemExtentBuilder: (int index, SliverLayoutDimensions dimensions) {
        //   if (index % 2 == 0) {
        //     return 50;
        //   } else {
        //     return 100;
        //   }
        // },
        itemBuilder: (BuildContext context, int index) {
          var color = Colors.yellow;
          if (index % 2 == 0) {
            color = Colors.red;
          }

          return ColoredBox(
            color: color,
            child: Center(
              child: Text('Item $index'),
            ),
          );
        },
      ),
    );
  }
}

class MyScrollBehavior extends MaterialScrollBehavior {
  @override
  Widget buildScrollbar(
      BuildContext context, Widget child, ScrollableDetails details) {
    return child;
  }

  @override
  Set<PointerDeviceKind> get dragDevices => <PointerDeviceKind>{
    PointerDeviceKind.touch,
    PointerDeviceKind.mouse,
  };
}

This is my thoughts.
This feature is enabled optional by the developer and only applies if the developer is sure that the children's sizes will not changed during the life cycle. I think there are many such scenarios, for example, on the web, once the child renders, the size will not change unless the user refreshes the page. In these scenarios, caching can greatly improve scrolling performance.

来自TT移动邮箱 / From TT mailbox

发件人: chunhtai @.>
发送时间: 2023年10月13日 03:53
收件人: flutter/flutter @.>
抄送: 徐宝林(Ava) @.>; Author @.>
主题: Re: [flutter/flutter] [New feature][Performance] Introduce a caching mechanism to ListView to reduce unnecessary layout during scrolling (PR #134864)
@chunhtai commented on this pull request.
This api seems to be a bit dangerous. It is hard to predict child size change. I am not sure if this is something we want to pursue. There is also a PreferredSizeWidget, but that will require developer to give the size beforehand.

In packages/flutter/lib/src/rendering/sliver_list.darthttps://github.com/flutter/flutter/pull/134864#discussion_r1357281415:

@@ -38,24 +47,171 @@ class RenderSliverList extends RenderSliverMultiBoxAdaptor {
/// the main axis.
RenderSliverList({
required super.childManager,

});

bool enableItemExtentsCaching = false,
}) : _enableItemExtentsCaching = enableItemExtentsCaching;

/// Whether to cache the main axis extents of all laid out children.
///
/// If true, the main axis extent of child will be cached as
/// index/extent pairs when the child first laid out.
///
/// If false, the main axis extents of children will not be cached and
/// previously cached data will be cleared.
///
/// The cached data will be used to efficiently determine the target children
/// within the lazy loading scope, which helps improve layout performance.

I am not sure how this would work, even if the SliverChildListDelegate doesn't change, the child itself can still change size.

In packages/flutter/lib/src/rendering/sliver_list.darthttps://github.com/flutter/flutter/pull/134864#discussion_r1357292493:

}

void _performLoadingScopeChildrenLayoutIfNeeded() {
if (!enableItemExtentsCaching) {

 return;

}
for (RenderBox? child = firstChild; child != null ; child = childAfter(child)) {

 final int index = indexOf(child);

 if (_childrenWithoutLayout.contains(index)) {

   child.layout(_childConstraints, parentUsesSize: true);

   // Throw if the real extent differs from the cached value.

   assert(() {

     if (super.paintExtentOf(child!) != _cachedItemExtents[index]!.mainAxisExtent) {

       throw FlutterError(

         'The item(index: $index) main axis extent has changed after caching, if this is '

         'expected, change its Key to update the cached value.',

This seems dangerous if developers are not sure what they are doing. It is also a bit confusing that it would require manual invalidation of caches. I think what would happen is developer will just use the invalidating caches everywhere so that it doesn't crash.
―
Reply to this email directly, view it on GitHubhttps://github.com/flutter/flutter/pull/134864#pullrequestreview-1674971562, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOR66GDACE653AFWYO4JCMLX7BDFJANCNFSM6AAAAAA42VIBIE.
You are receiving this because you authored the thread.Message ID: @.***>

OPPO
本电子邮件及其附件含有OPPO公司的保密信息，仅限于邮件指明的收件人（包含个人及群组）使用。禁止任何人在未经授权的情况下以任何形式使用。如果您错收了本邮件，切勿传播、分发、复制、印刷或使用本邮件之任何部分或其所载之任何内容，并请立即以电子邮件通知发件人并删除本邮件及其附件。
网络通讯固有缺陷可能导致邮件被截留、修改、丢失、破坏或包含计算机病毒等不安全情况，OPPO对此类错误或遗漏而引致之任何损失概不承担责任并保留与本邮件相关之一切权利。
除非明确说明，本邮件及其附件无意作为在任何国家或地区之要约、招揽或承诺，亦无意作为任何交易或合同之正式确认。 发件人、其所属机构或所属机构之关联机构或任何上述机构之股东、董事、高级管理人员、员工或其他任何人（以下称“发件人”或“OPPO”）不因本邮件之误送而放弃其所享之任何权利，亦不对因故意或过失使用该等信息而引发或可能引发的损失承担任何责任。
文化差异披露：因全球文化差异影响，单纯以YES\OK或其他简单词汇的回复并不构成发件人对任何交易或合同之正式确认或接受，请与发件人再次确认以获得明确书面意见。发件人不对任何受文化差异影响而导致故意或错误使用该等信息所造成的任何直接或间接损害承担责任。
This e-mail and its attachments contain confidential information from OPPO, which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you are not the intended recipient, please do not read, copy, distribute, or use this information. If you have received this transmission in error, please notify the sender immediately by reply e-mail and then delete this message.
Electronic communications may contain computer viruses or other defects inherently, may not be accurately and/or timely transmitted to other systems, or may be intercepted, modified ,delayed, deleted or interfered. OPPO shall not be liable for any damages that arise or may arise from such matter and reserves all rights in connection with the email.
Unless expressly stated, this e-mail and its attachments are provided without any warranty, acceptance or promise of any kind in any country or region, nor constitute a formal confirmation or acceptance of any transaction or contract. The sender, together with its affiliates or any shareholder, director, officer, employee or any other person of any such institution (hereinafter referred to as "sender" or "OPPO") does not waive any rights and shall not be liable for any damages that arise or may arise from the intentional or negligent use of such information.
Cultural Differences Disclosure: Due to global cultural differences, any reply with only YES\OK or other simple words does not constitute any confirmation or acceptance of any transaction or contract, please confirm with the sender again to ensure clear opinion in written form. The sender shall not be responsible for any direct or indirect damages resulting from the intentional or misuse of such information.

I can see how it can be useful in some circumstances, but I am still not convince we should provide it in the framework as it can be easily misused. Have you considered put this into a third party package instead?

I can see how it can be useful in some circumstances, but I am still not convince we should provide it in the framework as it can be easily misused. Have you considered put this into a third party package instead?

3rd party package
If this has no benefits or brings side effects to the framework, or there are only very rare benefit scenarios, third-party package is an option. Or we can continue to discuss this topic in depth and collect developer voices.
Even as a 3rd package, we also need resolve the misusage before published, right? : )

Misusage
In addition to complete documentation, some necessary checks in debug mode can well catch the misusage cases.

manual invalidation of caches
Currently, I think we should only support a property that invalidate all cached data. When explicit size changes occur (such as reordering, adding or removing a child from the middle), even if the user forgets to manually clear it, the framework will throw an assertion.

来自TT移动邮箱 / From TT mailbox

发件人: chunhtai @.>
发送时间: 2023年10月13日 06:52
收件人: flutter/flutter @.>
抄送: 徐宝林(Ava) @.>; Author @.>
主题: Re: [flutter/flutter] [New feature][Performance] Introduce a caching mechanism to ListView to reduce unnecessary layout during scrolling (PR #134864)
I can see how it can be useful in some circumstances, but I am still not convince we should provide it in the framework as it can be easily misused. Have you considered put this into a third party package instead?
―
Reply to this email directly, view it on GitHubhttps://github.com/flutter/flutter/pull/134864#issuecomment-1760476148, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOR66GCRCXAWZIHCM5YMXCDX7BYB7ANCNFSM6AAAAAA42VIBIE.
You are receiving this because you authored the thread.Message ID: @.***>

OPPO
本电子邮件及其附件含有OPPO公司的保密信息，仅限于邮件指明的收件人（包含个人及群组）使用。禁止任何人在未经授权的情况下以任何形式使用。如果您错收了本邮件，切勿传播、分发、复制、印刷或使用本邮件之任何部分或其所载之任何内容，并请立即以电子邮件通知发件人并删除本邮件及其附件。
网络通讯固有缺陷可能导致邮件被截留、修改、丢失、破坏或包含计算机病毒等不安全情况，OPPO对此类错误或遗漏而引致之任何损失概不承担责任并保留与本邮件相关之一切权利。
除非明确说明，本邮件及其附件无意作为在任何国家或地区之要约、招揽或承诺，亦无意作为任何交易或合同之正式确认。 发件人、其所属机构或所属机构之关联机构或任何上述机构之股东、董事、高级管理人员、员工或其他任何人（以下称“发件人”或“OPPO”）不因本邮件之误送而放弃其所享之任何权利，亦不对因故意或过失使用该等信息而引发或可能引发的损失承担任何责任。
文化差异披露：因全球文化差异影响，单纯以YES\OK或其他简单词汇的回复并不构成发件人对任何交易或合同之正式确认或接受，请与发件人再次确认以获得明确书面意见。发件人不对任何受文化差异影响而导致故意或错误使用该等信息所造成的任何直接或间接损害承担责任。
This e-mail and its attachments contain confidential information from OPPO, which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you are not the intended recipient, please do not read, copy, distribute, or use this information. If you have received this transmission in error, please notify the sender immediately by reply e-mail and then delete this message.
Electronic communications may contain computer viruses or other defects inherently, may not be accurately and/or timely transmitted to other systems, or may be intercepted, modified ,delayed, deleted or interfered. OPPO shall not be liable for any damages that arise or may arise from such matter and reserves all rights in connection with the email.
Unless expressly stated, this e-mail and its attachments are provided without any warranty, acceptance or promise of any kind in any country or region, nor constitute a formal confirmation or acceptance of any transaction or contract. The sender, together with its affiliates or any shareholder, director, officer, employee or any other person of any such institution (hereinafter referred to as "sender" or "OPPO") does not waive any rights and shall not be liable for any damages that arise or may arise from the intentional or negligent use of such information.
Cultural Differences Disclosure: Due to global cultural differences, any reply with only YES\OK or other simple words does not constitute any confirmation or acceptance of any transaction or contract, please confirm with the sender again to ensure clear opinion in written form. The sender shall not be responsible for any direct or indirect damages resulting from the intentional or misuse of such information.

Even as a 3rd package, we also need resolve the misusage before published, right? : )

I propose as 3rd party because it is has a limited scope.

In addition to complete documentation, some necessary checks in debug mode can well catch the misusage cases.

My concern are:

It is hard to predict child would change size or not. Developer may think their widget has fixed size while it may not, and they use this widget without knowing it
We only know things are wrong (thus throw or assert) when the size did change. That means if a widget only change size in a corner case, it will be hard to catch this kind of bug during developerment.

That makes sense, thanks for your reviews.

来自TT移动邮箱 / From TT mailbox

发件人: chunhtai @.>
发送时间: 2023年10月13日 06:52
收件人: flutter/flutter @.>
抄送: 徐宝林(Ava) @.>; Author @.>
主题: Re: [flutter/flutter] [New feature][Performance] Introduce a caching mechanism to ListView to reduce unnecessary layout during scrolling (PR #134864)
I can see how it can be useful in some circumstances, but I am still not convince we should provide it in the framework as it can be easily misused. Have you considered put this into a third party package instead?
―
Reply to this email directly, view it on GitHubhttps://github.com/flutter/flutter/pull/134864#issuecomment-1760476148, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOR66GCRCXAWZIHCM5YMXCDX7BYB7ANCNFSM6AAAAAA42VIBIE.
You are receiving this because you authored the thread.Message ID: @.***>

OPPO
本电子邮件及其附件含有OPPO公司的保密信息，仅限于邮件指明的收件人（包含个人及群组）使用。禁止任何人在未经授权的情况下以任何形式使用。如果您错收了本邮件，切勿传播、分发、复制、印刷或使用本邮件之任何部分或其所载之任何内容，并请立即以电子邮件通知发件人并删除本邮件及其附件。
网络通讯固有缺陷可能导致邮件被截留、修改、丢失、破坏或包含计算机病毒等不安全情况，OPPO对此类错误或遗漏而引致之任何损失概不承担责任并保留与本邮件相关之一切权利。
除非明确说明，本邮件及其附件无意作为在任何国家或地区之要约、招揽或承诺，亦无意作为任何交易或合同之正式确认。 发件人、其所属机构或所属机构之关联机构或任何上述机构之股东、董事、高级管理人员、员工或其他任何人（以下称“发件人”或“OPPO”）不因本邮件之误送而放弃其所享之任何权利，亦不对因故意或过失使用该等信息而引发或可能引发的损失承担任何责任。
文化差异披露：因全球文化差异影响，单纯以YES\OK或其他简单词汇的回复并不构成发件人对任何交易或合同之正式确认或接受，请与发件人再次确认以获得明确书面意见。发件人不对任何受文化差异影响而导致故意或错误使用该等信息所造成的任何直接或间接损害承担责任。
This e-mail and its attachments contain confidential information from OPPO, which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you are not the intended recipient, please do not read, copy, distribute, or use this information. If you have received this transmission in error, please notify the sender immediately by reply e-mail and then delete this message.
Electronic communications may contain computer viruses or other defects inherently, may not be accurately and/or timely transmitted to other systems, or may be intercepted, modified ,delayed, deleted or interfered. OPPO shall not be liable for any damages that arise or may arise from such matter and reserves all rights in connection with the email.
Unless expressly stated, this e-mail and its attachments are provided without any warranty, acceptance or promise of any kind in any country or region, nor constitute a formal confirmation or acceptance of any transaction or contract. The sender, together with its affiliates or any shareholder, director, officer, employee or any other person of any such institution (hereinafter referred to as "sender" or "OPPO") does not waive any rights and shall not be liable for any damages that arise or may arise from the intentional or negligent use of such information.
Cultural Differences Disclosure: Due to global cultural differences, any reply with only YES\OK or other simple words does not constitute any confirmation or acceptance of any transaction or contract, please confirm with the sender again to ensure clear opinion in written form. The sender shall not be responsible for any direct or indirect damages resulting from the intentional or misuse of such information.

I am going to close this PR. Still thanks for your contribution even though we decide to not move forward.

I understand the PR is already closed, but could it make sense to add this feature only where the extent is already known? Eg. with a fixed extent list, prototype extent list or the new SliverVariedExtentList? These Slivers are meant for performance and would already cover a lot of cases as most Lists inherently have children with identical extents.

@xu-baolin, just a heads-up, we do have a package that does similar thing and it performs well. https://superlistapp.github.io/super_sliver_list/
Cache invalidation is generally not a problem, since cached extents are always treated as estimations, every time items in the cache area are laid out cached extents are estimated and scroll offset / extends are corrected to reflect the difference.
 The problem there seems to be that the items are laid out with small extent initially and then expanded as the image loads (asynchronously).

@knopp Hi, does your package solve this issue? #143817 (comment)

Unlikely. The problem there seems to be that the items are laid out with small extent initially and then expanded as the image loads (asynchronously).

Yes, it's a very serious problem for my app, the latest version of flutter still hasn't solved it, the related issue is here https://github.com/flutter/flutter/issues/99158, if you can solve it, it would be extremely helpful and I'm more than happy to donate!

@knopp Hi, does your package solve this issue? #143817 (comment)

Unlikely. The problem there seems to be that the items are laid out with small extent initially and then expanded as the image loads (asynchronously).

Yes, it's a very serious problem for my app, the latest version of flutter still hasn't solved it, the related issue is here #99158, if you can solve it, it would be extremely helpful and I'm more than happy to donate!

You can always fix this by caching the size of images yourself and then use SizedBox with cached size when buildings item while scrolling back. The main issue here is that your initially create all your items with very small extent and then they resize after a while when the image is loaded. No ListView implementation can fix this (in theory resizing items in cache area can correct the scroll offset transparently but this will fall apart when you scroll too quickly so the best way is to always create the widget with proper size once you know it).

@knopp Very helpful, thank you


fixed rate samling

Hi all,
as i see theres no method .UseSampling() under TelemetryConfiguration.Active.TelemetryProcessorChainBuilder in .net core package there's only  .Use()
that can recieve the processor. Any suggestion how to use the fixed rate sampling processor class (SamplingTelemetryProcessor) from asp.net package?

@etombi Have you tried the latest beta version? ServerTelemetryChannel is entirely ported to .NET Core and TelemetryProcessorChainBuilder should now have UseSampling() and UseAdaptiveSampling() methods.
https://github.com/Microsoft/ApplicationInsights-aspnetcore/releases/tag/v2.2.0-beta1
Note: This beta version has a bug and wont work on Linux. This is being fixed for beta2.
https://github.com/Microsoft/ApplicationInsights-aspnetcore/issues/551


update the class declaration in order to use from cocoapods

still need to create a tag

This works, please merge


Select value is not updated correctly when input handler triggers class change

Version
2.4.4
Current chrome, safari
Reproduction link
https://jsfiddle.net/6dupwfpf/6/
Steps to reproduce

open provided JSFiddle
change select box value to "Alpha"

What is expected?
Value should be changed and "green" class applied.
What is actually happening?
"green" class is applied, but value stays unchanged.

Provided fiddle runs on version 2.4.0, but I tested it locally on 2.4.4 and it behaves exactly the same.
This report is linked to https://github.com/monterail/vuelidate/issues/192

I printed $data into the document to see what changed
https://jsfiddle.net/Linusborg/6dupwfpf/7/

test1 is correctly changed by v-model to 'alpha'
inputEvaluated correctly switches to true
green class is correctly applied

... what am I missing?

@LinusBorg The data changes but not the DOM (if we print it in a pre tag): https://jsfiddle.net/vkrjspxy/
However, using a change event instead makes it work: https://jsfiddle.net/vkrjspxy/

@LinusBorg @posva
I took a look at what's happening here.
Simpler fiddle: https://jsfiddle.net/ert66j1x/1/
I think the flow of events leading to the bug is:

User changes selection
input event fires (because of v-on:input)
The componentUpdated function is called because the input handler updates the value of data.inputEvaluated, which reverts the selection back to the original value of the v-model binding, since vue hasn't received the change event yet
The change event fires and we loop over the select options which have been reset in step 3, so we don't update the vue instance to the correct value

As far as a solution, I think we want to make sure that the v-model change event is handled before any other user added event handlers. I was thinking we could do this in normalizeEvents but I think it's only possible to reorder handlers for the same event there.
I can create a pull request but a little guidance would be helpful.
NOTE: this is not replicable in firefox unless you put breakpoints in actuallySetSelected and in the listener callback that Vue adds for input element events.

FYI IE and Edge does not trigger input on <select> elements, so you should probably use change instead anyway...


VsCode is both inconsistent and fails to work correctly in Windows for ANSI codes to reset the terminal scrollback buffers

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.76.0
OS Version: Windows_NT x64 10.0.19045

Steps to Reproduce:

READ stack-overflow discussion of the issue. The problem-behavior has been discussed ad nauseum on the web; the StackOverflow answer referenced is the best concise summary.
Use any script to output the ANSI sequence '\ec\e[3J'

the above sequence works on wt.exe, OSX terminals, various ssh tools, VsCode on Mac BUT NOT on Windows.

pain-points
Noting that keyboard actions within VsCode do work to clear the buffers on windows ｢having that capability does not address the ANSI problem｣

I.e., that does not allow a program/script the ability to clear the screen and buffers.

It is super-duper frustrating when repeatedly executing test cmds as the scrollback buffers make a confusing mess of the terminal output.

It would be great if wt.exe was embedded into the terminal view as an option.

Doing so would also provide proper support for ANSI Hypertext Links which also do not
work in VsCode but do work in wt.exe.
Doing so would also ensure the terminal state was properly restored between execution CLI programs that might
leave it in an inconsistent state. (which is also an frustrating pain point during development).

Or, alternately make the VsCode on Windows behavior consistent with Windows Terminal ANSI behavior.

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.76.1. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Same as https://github.com/microsoft/vscode/issues/75141 re clearing the buffer on windows

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.76.1. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

1.76.0 vs 1.76.1 makes no difference. That update came out a day or so ago. But, in any case, I upgraded 1.76.1 and it makes no difference in this issue.

That issue was opened 4 years-ago...

vivekmalhotra opened this issue on Jun 8, 2019

I've noticed this problem on my work computer running Windows 10, but I don't think it occurs on either of my home computers running Windows 11. I don't have the patience to test this thoroughly, but it might be worth investigating what the difference there is. Possibly a newer conhost.exe? Can VSCode ship its own copy of the newer version, or something like that? I'm not sure how conhost.exe works or what it really even does, so that may be a nonsensical question.

This is tracked in xtermjs/xterm.js#1727

That issue is about the behavior of \x1b[2J within xterm.js on all platforms. This issue is about the behavior of \x1b[3J on Windows 10. On Windows 10, \x1b[3J does nothing. On Windows 11, \x1b[3J appropriately clears the entire scrollback buffer. If you replace conhost.exe with OpenConsole.exe from a Windows Terminal release on a Windows 10 installation, \x1b[3J works appropriately. To test this yourself,

Create a Windows 10 VM
Download WindowsTerminal_1.17.11461.0_x64.zip.
Open C:\Windows\System32
Delete conhost.exe

Right Click
Properties
Security
Advanced
Change
"Administators"
Full Control ☑ Allow
OK
Yes
Right Click
Delete

Drop the contents of WindowsTerminal_[...].zip into C:\Windows\System32
Rename OpenConsole.exe to conhost.exe

You can print the typical ANSI escape codes for clear with the following PowerShell snippet:
$e = [char] 27
Write-Host -NoNewLine "$e[H$e[2J$e[3J"

This is CSI H, CSI 2 J, CSI 3 J - that's "Move cursor to row 1, column 1", "Clear screen", "Clear scrollback buffer". The third of those, CSI 3 J, is what does not work on Windows 10.
I'm not sure exactly what role(s) conhost.exe plays with respect to interpreting and handling ANSI escapes, so that's as far as I can narrow down the issue myself.

I see, in that case it's an issue with an older version of conpty (one of the components in conhost.exe). The only fix here is to either update to Windows 11 or wait until we ship conpty with VS Code which could be some time as we're blocked on the Windows Terminal team to package it up for us to consume.

Would it be possible to let VS Code use an alternative conpty? E.g., allow users to point VS Code at a Windows Terminal installation and have it use the version of conpty provided there.
I'm unfortunately stuck on Windows 10 at work (well, I did find out that Windows will let me upgrade to 11, but I've yet to be brave enough to attempt that), and "we're blocked on the Windows Terminal team" isn't particularly helpful to end users.
Is there a separate issue / milestone / something else about shipping conpty with VS Code? If not, could we reopen this issue until it's fixed?

@qtow we want to, but we're blocked on their team. Here's the issue on their side https://github.com/microsoft/terminal/issues/15065.
Upgrading to 11 isn't a big issue in my experience, you can move the taskbar back to the left if that's the scary thing like it was for me.

@qtow we want to, but we're blocked on their team. Here's the issue on their side microsoft/terminal#15065.

I understand you're blocked, I was wondering if a workaround could be introduced in the meantime. I'm not sure it would actually work, but I'm assuming conpty is statically linked into OpenConsole.exe, so maybe VS Code could open OpenConsole.exe as a library?
It looks like Visual Studio 2022 (possibly only the preview version) ships a build of OpenConsole.exe with a separate conpty.dll. I'm not sure how much effort it would be, but it seems to me like VS Code could copy whatever they're doing.

Upgrading to 11 isn't a big issue in my experience, you can move the taskbar back to the left if that's the scary thing like it was for me.

It's more so the heaps of legacy software that I'm not confident will continue to work. I'm generally fond of staying as up to date as possible on everything, but I really need my work computer to function as intended. The new Outlook UI is already proving quite annoying for various reasons, and that's just an email client.

microsoft/node-pty#490 is the issue that tracks actually embedding the conpty package once it's available.


feat(job): Add job organization create async result.

Related to #1097 in order to be able to fetch the org create results.

Feedback for all four PRs shared in Feedback for all four PRs shared in this comment :)

Closing in favor of #1108 and #1109


Bug: ServerContainer hangs indefinitely waiting for ryuk to start

Describe the bug
Running a test with a pytest fixture starting a ServerContainer results in an indefinitely hanging test with no errors or logs.
Observing the docker logs, I see that a testcontainers/ryuk:0.8.1 container is started, prints the startup log (see below) and then eventually stops. Through this entire process testcontainers-python hangs on the same log line and never times out.
Logs from pytest:
Starting container with image: quay.io/microcks/microcks-uber:1.10.1-native
using host unix:///Users/mmw/.colima/docker.sock
using host unix:///Users/mmw/.colima/docker.sock
Pulling image testcontainers/ryuk:0.8.1
Container started: 70bc0a7ee6ef
Waiting for container <Container: 70bc0a7ee6ef> with image testcontainers/ryuk:0.8.1 to be ready ...

Run instance cancelled.

Logs from ryuk docker container:
2024/11/25 09:29:22 Pinging Docker...
2024/11/25 09:29:22 Docker daemon is available!
2024/11/25 09:29:22 Starting on port 8080...
2024/11/25 09:29:22 Started!

To Reproduce
Provide a self-contained code snippet that illustrates the bug or unexpected behavior. Ideally, send a Pull Request to illustrate with a test that illustrates the problem.
with ServerContainer(
    image="quay.io/microcks/microcks-uber:1.10.1-native",
    port=9000,
) as container:
    print(f"Started container")

Runtime environment
Provide a summary of your runtime environment. Which operating system, python version, and docker version are you using? What is the version of testcontainers-python you are using? You can run the following commands to get the relevant information.
Darwin Miless MacBook Pro 23.5.0 Darwin Kernel Version 23.5.0: Wed May  1 20:09:52 PDT 2024; root:xnu-10063.121.3~5/RELEASE_X86_64 x86_64

Python 3.12.7

poetry show testcontainers

 name         : testcontainers
 version      : 4.8.2
 description  : Python library for throwaway instances of anything that can run in a Docker container

dependencies
 - docker *
 - httpx *
 - redis *
 - typing-extensions *
 - urllib3 *
 - wrapt *

Client: Docker Engine - Community
 Version:    27.3.1
 Context:    default
 Debug Mode: false
 Plugins:
  compose: Docker Compose (Docker Inc.)
    Version:  2.29.7
    Path:     /usr/local/lib/docker/cli-plugins/docker-compose

Server:
 Containers: 2
  Running: 0
  Paused: 0
  Stopped: 2
 Images: 39
 Server Version: 26.1.1
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: e377cd56a71523140ca6ae87e30244719194a521
 runc version: v1.1.12-0-g51d5e94
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 6.8.0-31-generic
 Operating System: Ubuntu 24.04 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 1.916GiB
 Name: colima
 ID: 10b03733-f7b9-4443-84b0-05aed75e2124
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false

After some debugging, this was caused by TESTCONTAINERS_HOST_OVERRIDE being set to an invalid value. After setting this correctly everything worked as expected. I'll open a PR to improve the wait logic so that it doesn't hang indefinitely.


Default theme hardcodes need for 'Powered-by-Microsoft-logo[-small].png' files.

It'd be nice to have this style conditionally included based on the existence of the logo file and/or a variable that a client could define say '@beta' or '@external' or '@thirdparty' or some such.
As an example, the pxt-sample project will output the following. Any client of pxt-core that doesn't have the Microsoft logo images in their /docs/static/logo folder will.
Skipped data-uri embedding of ../docs/static/logo/Powered-By-Microsoft-logo-small.png because file not found
Skipped data-uri embedding of ../docs/static/logo/Powered-By-Microsoft-logo.png because file not found
... repeated many times ...

Fixed by https://github.com/Microsoft/pxt/commit/65b83939241a07b3a836a355e9dd61033b9cfc28


too many SQL variables when syncing some wallets

Will try to get the xpub key for this one:
2019-06-30 23:23:45,788 INFO     lbry.stream.stream_manager:163: Started stream manager with 0 files
2019-06-30 23:23:45,788 INFO     lbry.extras.daemon.Components:429: Done setting up file manager
2019-06-30 23:23:52,382 ERROR    lbry.extras.daemon.Daemon:585: error handling api request
Traceback (most recent call last):
  File "lbry\extras\daemon\Daemon.py", line 579, in _process_rpc_call
  File "lbry\extras\daemon\Daemon.py", line 137, in maybe_paginate
  File "lbry\wallet\manager.py", line 213, in get_history
  File "torba\client\basedatabase.py", line 427, in get_transactions
  File "lbry\wallet\database.py", line 58, in get_txos
  File "torba\client\basedatabase.py", line 472, in get_txos
  File "torba\client\basedatabase.py", line 461, in select_txos
  File "concurrent\futures\thread.py", line 57, in run
  File "torba\client\basedatabase.py", line 50, in __fetchall
sqlite3.OperationalError: too many SQL variables
2019-06-30 23:24:30,586 INFO     lbry.extras.daemon.Daemon:825: Get version info: {"processor": "Intel64 Family 6 Model 23 Stepping 10, GenuineIntel", "python_version": "3.7.3", "platform": "Windows-10-10.0.17763", "os_release": "10", "os_system": "Windows", "lbrynet_version": "0.38.0", "torba_version": "0.5.7", "build": "release"}
2019-06-30 23:24:38,473 ERROR    lbry.extras.daemon.Daemon:585: error handling api request
Traceback (most recent call last):
  File "lbry\extras\daemon\Daemon.py", line 579, in _process_rpc_call
  File "lbry\extras\daemon\Daemon.py", line 137, in maybe_paginate
  File "lbry\wallet\manager.py", line 213, in get_history
  File "torba\client\basedatabase.py", line 427, in get_transactions
  File "lbry\wallet\database.py", line 58, in get_txos
  File "torba\client\basedatabase.py", line 472, in get_txos
  File "torba\client\basedatabase.py", line 461, in select_txos
  File "concurrent\futures\thread.py", line 57, in run
  File "torba\client\basedatabase.py", line 50, in __fetchall
sqlite3.OperationalError: too many SQL variables

2 users on .038 are now running into this. This was not an issue in 0.37 I believe.

Also just ran into this when receiving a tx: 2019-07-01 14:54:57,491 INFO     torba.client.baseledger:118: (lbc_mainnet) on_transaction: address=bQ5CD8cpLzTXwbP5HT1DpH63RSX4EXzpZC, height=593361, is_verified=True, tx.id=1cdc5af6e6212ec736c0ff03aa32241876abc21ac2c7ab0d3f8b8a09a378c88a 2019-07-01 14:56:09,496 ERROR    lbry.extras.daemon.Daemon:585: error handling api request Traceback (most recent call last):   File "lbry\extras\daemon\Daemon.py", line 579, in _process_rpc_call   File "lbry\extras\daemon\Daemon.py", line 137, in maybe_paginate   File "lbry\wallet\manager.py", line 213, in get_history   File "torba\client\basedatabase.py", line 427, in get_transactions   File "lbry\wallet\database.py", line 58, in get_txos   File "torba\client\basedatabase.py", line 472, in get_txos   File "torba\client\basedatabase.py", line 461, in select_txos   File "concurrent\futures\thread.py", line 57, in run   File "torba\client\basedatabase.py", line 50, in __fetchall sqlite3.OperationalError: too many SQL variables

fixed in https://github.com/lbryio/lbry-sdk/pull/2294


Bookmark auto solve won't work for me.

Hi there, I've been having issues with the bookmark auto solving, it won't highlight the bookmark but the theme (Pink) loaded, also are there any other ways to change the theme or is it just pink. Furthermore was there was no errors posting inside of the console. I'm using google chrome but I've tried multiple browsers like Edge and Opera GX. Help would be appreciated thanks.

it doesnt work because this person took the code from azalea and has no idea how to use it 😊

great

Hi @frosted13

hi


Safari snaps fonts to whole pixel sizes

Unfortunately for TightenText, Safari rounds font sizes to whole pixels as soon as it crosses the half-pixel boundary. This leads to a significant jump in how wide the text is, and also potentially means the resulting text is smaller than the developer's desired minFontSize (if, say, they want it to be 0.97 ems, and that results in a font size of 15.49px, Safari will render 15px text).
Some options:

Add a disclaimer for Safari.
Detect pixel rounding, refuse to cross the half pixel boundary if using such a browser.
Scale the font some other way (e.g. transform) that would achieve the same visual effect as the font-size change?

An interesting comment here: https://bugs.webkit.org/show_bug.cgi?id=46987

Yeah, we purposely round the font sizes so that we get a higher hit rate in our various caches.


bug

let a = 0.00000000000000000000001;
let b = 0.00000000000000000000002;
floatEqual(a, b); //true
a == b; //false

The readme clearly explain how it works.


Add RuntimeHooks to abstract Kubelet logic

This is hopefully the first of a few hooks. Today we have a bunch of smaller interfaces we can start migrating here.
/cc @yujuhong @yifan-gu

Looks good overall with some nits.

Thanks for the thorough review @yujuhong! PTAL

Travis is green. Shippable got deleted (?). Merging.


policy: Fix selector identity release for FQDN

Alexander reports in issue #18023 that establishing a connection
via an FQDN policy, then modifying that FQDN policy, would cause
subsequent traffic to the FQDN to be dropped, even if the new policy
still allowed the same traffic via a toFQDNs statement.
This was caused by overzealous release of CIDR identities while
generating a new policy. Although the policy calculation itself keeps
all SelectorCache entries alive during the policy generation phase (see
cachedSelectorPolicy.setPolicy()), after the new policy is inserted
into the PolicyCache, the distillery would clean up the old
policy. As part of that cleanup, it would call into the individual
selector to call the RemoveSelectors() function.
The previous implementation of this logic unintentionally released the
underlying identities any time a user of a selector was released, rather
than only releasing the underlying identities when the number of users
reached zero and the selector itself would be released. This meant that
rather than the SelectorCache retaining references to the underlying
identities when a policy was updated, instead the references would be
released (and all corresponding eBPF resources cleaned up) at the end of
the process. This then triggered subsequent connectivity outages.
Fix it by only releasing the identity references once the cached
selector itself is removed from the SelectorCache.
Fixes: f559cf1cecb0 ("selectorcache: Release identities on selector removal")
Reported-by: Alexander Block<EMAIL_ADDRESS>Suggested-by: Jarno Rajahalme<EMAIL_ADDRESS>Fixes: #18023

/test

Forgot to include the new policy since it was all working locally, new version includes the replacement policy (same as the original one, with just one extra toFQDNs statement.)

/test

/test-gke

K8s 1.23 / 4.9 hit an issue that looks similar to #13552, though the full stacktrace is a bit different:

Stacktrace
/home/jenkins/workspace/Cilium-PR-K8s-1.23-kernel-4.9/src/github.com/cilium/cilium/test/ginkgo-ext/scopes.go:465
cilium pre-flight checks failed
Expected
    <*errors.errorString | 0xc002160ca0>: {
        s: "Cilium validation failed: 4m0s timeout expired: Last polled error: controllers are failing: cilium-agent 'cilium-7cszc': controller ipcache-inject-labels is failing: Exitcode: 0 \nStdout:\n \t KVStore:                Ok   Disabled\n\t Kubernetes:             Ok   1.23+ (v1.23.0-rc.0) [linux/amd64]\n\t Kubernetes APIs:        [\"cilium/v2::CiliumClusterwideNetworkPolicy\", \"cilium/v2::CiliumNetworkPolicy\", \"cilium/v2::CiliumNode\", \"cilium/v2alpha1::CiliumEndpointSlice\", \"core/v1::Namespace\", \"core/v1::Node\", \"core/v1::Pods\", \"core/v1::Service\", \"discovery/v1::EndpointSlice\", \"networking.k8s.io/v1::NetworkPolicy\"]\n\t KubeProxyReplacement:   Disabled   \n\t Host firewall:          Disabled\n\t Cilium:                 Ok   1.11.90 (v1.11.90-96844eb)\n\t NodeMonitor:            Listening for events on 3 CPUs with 64x4096 of shared memory\n\t Cilium health daemon:   Ok   \n\t IPAM:                   IPv4: 6/254 allocated from <IP_ADDRESS>/24, IPv6: 6/254 allocated from fd02::/120\n\t BandwidthManager:       Disabled\n\t Host Routing:           Legacy\n\t Masquerading:           IPTables [IPv4: Disabled, IPv6: Enabled]\n\t Controller Status:      39/40 healthy\n\t   Name                                          Last success   Last error   Count   Message\n\t   bpf-map-sync-cilium_lxc                       5s ago         never        0       no error                                                                                \n\t   cilium-health-ep                              59s ago        never        0       no error                                                                                \n\t   dns-garbage-collector-job                     2s ago         never        0       no error                                                                                \n\t   endpoint-1217-regeneration-recovery           never          never        0       no error                                                                                \n\t   endpoint-1248-regeneration-recovery           never          never        0       no error                                                                                \n\t   endpoint-1474-regeneration-recovery           never          never        0       no error                                                                                \n\t   endpoint-2615-regeneration-recovery           never          never        0       no error                                                                                \n\t   endpoint-2810-regeneration-recovery           never          never        0       no error                                                                                \n\t   endpoint-817-regeneration-recovery            never          never        0       no error                                                                                \n\t   endpoint-gc                                   4m3s ago       never        0       no error                                                                                \n\t   ipcache-inject-labels                         4m0s ago       9s ago       22      faile...

Gomega truncated this representation as it exceeds 'format.MaxLength'.
Consider having the object provide a custom 'GomegaStringer' representation
or adjust the parameters in Gomega's 'format' package.

Learn more here: https://onsi.github.io/gomega/#adjusting-output

to be nil
/home/jenkins/workspace/Cilium-PR-K8s-1.23-kernel-4.9/src/github.com/cilium/cilium/test/k8sT/assertionHelpers.go:157

I have never seen this one, does it ring a bell to anyone?

CI 3.0 GKE workflow hit a Hubble flow listener timeout similar to #17907.

Travis ARM build hit #17444, retriggering as this looks like a transient infra issue.

@nbusseneau I looked into that failure, taking the actual error report, unfortunately ginkgo decides to ignore the formatting primitives inside the string and print it as one giant long line that's hard to read... however if we just interpret those formatting primitives (and maybe a bit more tasty, tasty spacing :yum: )  then we get:
        s: "Cilium validation failed:
        4m0s timeout expired:
        Last polled error: controllers are failing:
        cilium-agent 'cilium-7cszc':
        controller ipcache-inject-labels is failing: Exitcode: 0
Stdout:
 	 KVStore:                Ok   Disabled
	 Kubernetes:             Ok   1.23+ (v1.23.0-rc.0) [linux/amd64]
	 Kubernetes APIs:        [\"cilium/v2::CiliumClusterwideNetworkPolicy\", \"cilium/v2::CiliumNetworkPolicy\", \"cilium/v2::CiliumNode\", \"cilium/v2alpha1::CiliumEndpointSlice\", \"core/v1::Namespace\", \"core/v1::Node\", \"core/v1::Pods\", \"core/v1::Service\", \"discovery/v1::EndpointSlice\", \"networking.k8s.io/v1::NetworkPolicy\"]
	 KubeProxyReplacement:   Disabled
	 Host firewall:          Disabled
	 Cilium:                 Ok   1.11.90 (v1.11.90-96844eb)
	 NodeMonitor:            Listening for events on 3 CPUs with 64x4096 of shared memory
	 Cilium health daemon:   Ok
	 IPAM:                   IPv4: 6/254 allocated from <IP_ADDRESS>/24, IPv6: 6/254 allocated from fd02::/120
	 BandwidthManager:       Disabled
	 Host Routing:           Legacy
	 Masquerading:           IPTables [IPv4: Disabled, IPv6: Enabled]
	 Controller Status:      39/40 healthy
	   Name                                          Last success   Last error   Count   Message
	   bpf-map-sync-cilium_lxc                       5s ago         never        0       no error
	   cilium-health-ep                              59s ago        never        0       no error
	   dns-garbage-collector-job                     2s ago         never        0       no error
	   endpoint-1217-regeneration-recovery           never          never        0       no error
	   endpoint-1248-regeneration-recovery           never          never        0       no error
	   endpoint-1474-regeneration-recovery           never          never        0       no error
	   endpoint-2615-regeneration-recovery           never          never        0       no error
	   endpoint-2810-regeneration-recovery           never          never        0       no error
	   endpoint-817-regeneration-recovery            never          never        0       no error
	   endpoint-gc                                   4m3s ago       never        0       no error
	   ipcache-inject-labels                         4m0s ago       9s ago       22      faile...

So, it's failing (in pre-flight checks, ie before the actual test) due to error output in the cilium status controller fields. This is related to the policy for kube-apiserver feature, and Chris has been iterating to improve on that feature lately and we expect that https://github.com/cilium/cilium/pull/18150 will fix this issue.

Given that the only failing jobs have been pinpointed as already existing, ie not introduced by the PR, and the new test in the PR passes, and that this is a bugfix, I'll merge this and kick off the backport.

I'll fix up the checkpatch complaint in a separate PR, that one is trivial and also affects existing tests.


Edit OONI Run copy

I wrote the OONI Run copy years ago, and I feel like it should be improved.
Specifically, I propose the following copy edits to the main OONI Run page (https://run.ooni.io/):

[ ] Edit subtitle ("Let's fight internet censorship together!") to say "Coordinating website censorship testing"
[x] Delete "What you can do"
[ ] Edit text under "What you can do" to say:

Use this platform to generate mobile deep links and widget code to coordinate [OONI Probe](https://ooni.org/install/mobile) website testing.

Add websites below that you would like to test for censorship. Click "Generate" to create a link based on those websites, which you can test with the [OONI Probe mobile app](https://ooni.org/install/mobile). You can also share that link with other [OONI Probe](https://ooni.org/install/mobile) users so that they can test the websites of your choice!

[ ] In the pop-up window (with the generated link), edit "Share this URL with your friends" to say "Share this link with OONI Probe mobile app users"

I think the following text (step 3 above) is better:
Add websites below that you would like to test for censorship. Click "Generate" to create a link based on those websites. Share that link with OONI Probe mobile app users so that they can test the websites of your choice!

These copy edits are addressed in the following PR: https://github.com/ooni/run/pull/118


fix: Added support for interface/value definition for the same symbol

ts-api-guardian is moving to the main angular/angular repository. Please re-open your PR there.


introduce try_ conversion method for payload v3

Describe the feature
Currently we use the following conversion to convert blocks into ExecutionPayloadV3:
https://github.com/paradigmxyz/reth/blob/231e6437e4a052ed06c6eb29d38948b42d2f8899/crates/rpc/rpc-types-compat/src/engine/payload.rs#L212-L213
We have the try_block_to_payload_v2 and try_block_to_payload_v1 methods, but no try_block_to_payload_v3 method. This method should be created.
This would allow us to create a fallible conversion between built payloads and ExecutionPayloadV3 here, which could be done in a followup:
https://github.com/paradigmxyz/reth/blob/9f82af20f96919146d82cb2cdfc00bc952264c5e/crates/payload/builder/src/payload.rs#L124
Additional context
No response

would like to take this :)

would like to take this :)

awesome, feel free to submit a PR and ping me for review!

in the queue if prev person time out.

in the queue if prev person time out.

sure, feel free to work on it!

just assigned!

built payloads and ExecutionP

@Rjected but even try_block_to_payload_v1 and try_block_to_payload_v2 doesn't return a Result, and current block_to_payload_v3 seem has no reason to fail? wonder what need to be done here.

we have tryfrom conversions now


./ets_to_hass.rb:29:in initialize': undefined method each' for nil:NilClass (NoMethodError)

Thank you for taking the time to build this utility. I'm sorry, but I'm not familiair with Ruby. I tried to run you tool, but got:
root@debian1:~/ets_to_hass# ./ets_to_hass.rb backup.knxproj
no specific code, set env var SPECIAL to load specific code
Traceback (most recent call last):
2: from ./ets_to_hass.rb:152:in <main>'         1: from ./ets_to_hass.rb:152:in new'
./ets_to_hass.rb:29:in initialize': undefined method each' for nil:NilClass (NoMethodError)
Any idea what I did wrong?

there were major changes , so try again


Remove stty dependency.

Summary
There is already internal code to detect the terminal width, so we don't
need to carry a dependency that does it by exec'ing stty.
Signed-off-by: James Peach<EMAIL_ADDRESS>

@jpeach please run make imports, amend your commit, and force push. Thanks!


Is there any way to focus on the previous window when I call windowManager.hide()?

I am feeling anxious about this.

I was able to focus the previous window by adding NSApp.hide(nil) to the WindowManager.swift file.


Uncaught TypeError

Getting error message above when trying to run app after registering DatePicker Globally. I also noticed I am getting these warnings seen below. Any thoughts on what I might need to do? Looking for a good Vue 3 date picker and yours looked like it fit the bill but if can't get it to load I will need to punt and look elsewhere.
warning  in<EMAIL_ADDRESS>"export 'createElementBlock' (imported as 'S') was not found in 'vue'
warning  in<EMAIL_ADDRESS>"export 'createElementVNode' (imported as 'U') was not found in 'vue'
warning  in<EMAIL_ADDRESS>"export 'getCurrentScope' (imported as 'ga') was not found in 'vue'
warning  in<EMAIL_ADDRESS>"export 'guardReactiveProps' (imported as 'at') was not found in 'vue'
warning  in<EMAIL_ADDRESS>"export 'normalizeClass' (imported as 'pe') was not found in 'vue'
warning  in<EMAIL_ADDRESS>"export 'normalizeProps' (imported as 'je') was not found in 'vue'
warning  in<EMAIL_ADDRESS>[webpack.Progress] 100%
"export 'normalizeStyle' (imported as 'wt') was not found in 'vue'
warning  in<EMAIL_ADDRESS>"export 'onScopeDispose' (imported as 'wa') was not found in 'vue'
warning  in<EMAIL_ADDRESS>

What version of vue you have installed? Try to reinstall node_modules

Currently on vue : 3.0.11. Also when you say try to reinstall node_modules are you saying to uninstall and then reinstall your date picker through npm or delete all in node_modules folder. Assume the first option but I have been wrong before LOL.

I meant fully, but no need. You need to have Vue >= 3.2.x. All versions before 3.2 were still in a beta phase  and there are some breaking changes internally.
Tdlr. Libraries built with vue > 3.2 are not compatible with vue < 3.2

Thanks I must have missed that as a requirement to use this.


ltfsck - Cannot open device

Hiya,
This is my first time I've attempted to use ltfsck, so this could well be a syntax or compile issue. OS is Ubuntu 18.04 LTS, tape drive is Quantum LTO6 Model C. When I enter sudo ltfsck /dev/sg7. It returns an error (see log below). /dev/sg7 is the correct address for the tape drive, since I'm able to format and mount tapes
with this.
Any advice would be greatly appreciated. Thanks in advance.
maceadmin@amacewrk05:/$ sudo ltfsck /dev/sg7
LTFS16000I Starting ltfsck, LTFS version <IP_ADDRESS> (Prelim), log level 2.
LTFS16088I Launched by "ltfsck /dev/sg7".
LTFS16089I This binary is built for Linux (x86_64).
LTFS16090I GCC version is 7.5.0.
LTFS17087I Kernel version: Linux version 5.4.0-70-generic (buildd@lgw01-amd64-039) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #78~18.04.1-Ubuntu SMP Sat Mar 20 14:10:07 UTC 2021 i386.
LTFS17089I Distribution: NAME="Ubuntu".
LTFS17089I Distribution: DISTRIB_ID=Ubuntu.
LTFS17085I Plugin: Loading "sg" tape backend.
LTFS30209I Opening a device through sg-ibmtape driver (/dev/sg7).
LTFS30288I Opening a tape device for drive serial /dev/sg7.
LTFS12012E Cannot open device: failed backend open call.
LTFS16011E Cannot open device '/dev/sg7'.

From the code, stat() call against /dev/sg7 is failed because of a reason. Please list the device by ltfs -o device_list and specify a correct device.
https://github.com/LinearTapeFileSystem/ltfs/blob/618859c05444768e13963812918f22f5b062bd73/src/tape_drivers/linux/sg/sg_tape.c#L1242-L1262

Thanks for the quick response. ltfs -o device_list fails to list the connected drives. There should be two:
Quantum LTO 6 Model B - /dev/sg6
Quantum LTO 6 Model C - /dev/sg7
maceadmin@amacewrk05:/$ ltfs -o device_list
42b5 LTFS14000I LTFS starting, LTFS version <IP_ADDRESS> (Prelim), log level 2.
42b5 LTFS14058I LTFS Format Specification version 2.4.0.
42b5 LTFS14104I Launched by "ltfs -o device_list".
42b5 LTFS14105I This binary is built for Linux (x86_64).
42b5 LTFS14106I GCC version is 7.5.0.
42b5 LTFS17087I Kernel version: Linux version 5.4.0-70-generic (buildd@lgw01-amd64-039) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #78~18.04.1-Ubuntu SMP Sat Mar 20 14:10:07 UTC 2021 i386.
42b5 LTFS17089I Distribution: NAME="Ubuntu".
42b5 LTFS17089I Distribution: DISTRIB_ID=Ubuntu.
42b5 LTFS17085I Plugin: Loading "sg" tape backend.
Tape Device list:.
maceadmin@amacewrk05:/$

Could you provide the following 3 outputs?

ls -l /dev/sg?
mount | grep ltfs
ps aux | grep ltfs

Here you go:
maceadmin@amacewrk05:/media$ ls -l /dev/sg?
crw-rw----  1 root disk  21, 0 Sep 14 10:44 /dev/sg0
crw-rw----+ 1 root cdrom 21, 1 Sep 14 10:44 /dev/sg1
crw-rw----  1 root disk  21, 2 Sep 14 10:44 /dev/sg2
crw-rw----  1 root disk  21, 3 Sep 14 10:44 /dev/sg3
crw-rw----  1 root disk  21, 4 Sep 14 10:44 /dev/sg4
crw-rw----  1 root disk  21, 5 Sep 14 10:44 /dev/sg5
crw-rw----  1 root tape  21, 6 Sep 14 11:41 /dev/sg6
crw-rw----  1 root tape  21, 7 Sep 14 11:41 /dev/sg7
maceadmin@amacewrk05:/media$ mount | grep ltfs
maceadmin@amacewrk05:/media$ ps aux | grep ltfs
maceadm+ 17845  0.0  0.0  14432  1148 pts/0    S+   12:35   0:00 grep --color=auto ltfs
maceadmin@amacewrk05:/media$ ls -l /dev/sg?
crw-rw----  1 root disk  21, 0 Sep 14 10:44 /dev/sg0
crw-rw----+ 1 root cdrom 21, 1 Sep 14 10:44 /dev/sg1
crw-rw----  1 root disk  21, 2 Sep 14 10:44 /dev/sg2
crw-rw----  1 root disk  21, 3 Sep 14 10:44 /dev/sg3
crw-rw----  1 root disk  21, 4 Sep 14 10:44 /dev/sg4
crw-rw----  1 root disk  21, 5 Sep 14 10:44 /dev/sg5
crw-rw----  1 root tape  21, 6 Sep 14 11:41 /dev/sg6
crw-rw----  1 root tape  21, 7 Sep 14 11:41 /dev/sg7
maceadmin@amacewrk05:/media$ mount | grep ltfs
maceadmin@amacewrk05:/media$ ps aux | grep ltfs
maceadm+ 17853  0.0  0.0  14432  1112 pts/0    S+   12:37   0:00 grep --color=auto ltfs
maceadmin@amacewrk05:/media$

Hmm, it looks good...
It is a basic thing but is user maceadmin a member of group tape? You can see it by id command. So not, please try to list the device by sudo command like sudo ltfs -o device_list

Well this is a bit strange. Just before you posted the last message I tested it again, and it's decided to start working. Not sure what happened there?!?
I also added maceadmin to the tape group. And now ltfs -o device_list is returning info:
maceadmin@amacewrk05:~$ ltfs -o device_list
1290 LTFS14000I LTFS starting, LTFS version <IP_ADDRESS> (Prelim), log level 2.
1290 LTFS14058I LTFS Format Specification version 2.4.0.
1290 LTFS14104I Launched by "ltfs -o device_list".
1290 LTFS14105I This binary is built for Linux (x86_64).
1290 LTFS14106I GCC version is 7.5.0.
1290 LTFS17087I Kernel version: Linux version 5.4.0-70-generic (buildd@lgw01-amd64-039) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #78~18.04.1-Ubuntu SMP Sat Mar 20 14:10:07 UTC 2021 i386.
1290 LTFS17089I Distribution: NAME="Ubuntu".
1290 LTFS17089I Distribution: DISTRIB_ID=Ubuntu.
1290 LTFS17085I Plugin: Loading "sg" tape backend.
Tape Device list:.
Device Name = /dev/sg1 (<IP_ADDRESS>), Vendor ID = QUANTUM , Product ID = ULTRIUM-HH6     , Serial Number = 91WT082810, Product Name =[ULTRIUM-HH6].
So that's another mystery solved. In any case, seems to be working now. So I'll close this issue, thanks for your help!


Rebranding from omniscidb to heavydb

In #93 we started to move from omniscidb to heavydb. Ultimately, the feedstock will be archived and replaced by https://github.com/conda-forge/staged-recipes/pull/18691
By working on the new feedstock we had too many issues we could not resolve in time. Hence, we decided to proceed here since the CI behaves differently and is working as expected.
Still, it is the same package underneath and we are not using this as a gateway to push something else.
The plan is:

Merge #93: lack windows support and DBE packages (heavydbe, pyheavydbe).
Fix remaining issues in the new feedstock  https://github.com/conda-forge/staged-recipes/pull/18691
Merge it.
Archive this feedstock.

Archiving this now.


Brewing Fuel not working?

Hi, on a clean 1.12.2 forge install I have Craft Tweaker and TTweaker1.1 installed.
In my Scripts folder, I have the following brewing.zs script:
import mods.ttweaker.BrewingFuel;

/*
 * removes blaze powder as fuel
 */
BrewingFuel.clear();

/*
 * addFuel(IItemStack stack)
 * adds fuel
 */
BrewingFuel.addFuel(<minecraft:iron_ingot>);

But upon launching, brewing powder is still the only fuel that works in a brewing stand. Is there something I'm missing?

Here's the creattweaker.log:
[PREINITIALIZATION][CLIENT][INFO] Current loaders after merging: [[preinit]]
[PREINITIALIZATION][CLIENT][INFO] Loading scripts for loader with names [preinit]
[PREINITIALIZATION][CLIENT][INFO] [preinit | SIDE_CLIENT]: Skipping file {[0:crafttweaker]: brewing.zs} as we are currently loading with a different loader
[PREINITIALIZATION][CLIENT][INFO] Completed script loading in: 1ms
[INITIALIZATION][CLIENT][INFO] CraftTweaker: Building registry
[INITIALIZATION][CLIENT][INFO] CraftTweaker: Successfully built item registry
[INITIALIZATION][CLIENT][INFO] Current loaders after merging: [[preinit], [recipeevent | crafttweaker]]
[INITIALIZATION][CLIENT][INFO] Loading scripts for loader with names [crafttweaker | recipeevent]
[INITIALIZATION][CLIENT][INFO] [crafttweaker | SIDE_CLIENT]: Loading Script: {[0:crafttweaker]: brewing.zs}
[INITIALIZATION][CLIENT][INFO] Completed script loading in: 173ms
[POSTINITIALIZATION][CLIENT][INFO] Removing recipes for various outputs
[AVAILABLE][CLIENT][INFO] Fixed the RecipeBook


Typing in note makes outline jerk around

Whenever I'm typing in a note with QO open, the outline jerks up and down as I type. This happens both when I am just typing regular text under a header but also when I am typing in the header itslef.

I think I was looking at Outline instead of quiet outline. closing for now.


Fixed #26423 -- Match email validation with html

https://code.djangoproject.com/ticket/26423
This is more strict in some cases, and less strict in other cases.

this allows any local domain on the right.
html does not allow quoted strings in the user part
html does not allow ip addresses (but I kept django's logic for that)
html does not allow unicode

Unfortunately, Chrome, Firefox, and IE don't allow unicode email addresses (besides domain names), so this doesn't fix https://code.djangoproject.com/ticket/27029. I assume that at some point in the future they will accept some unicode, but currently no. https://bugs.chromium.org/p/chromium/issues/detail?id=431550

For unicode addresses, my idea was to provide a custom validator, so projects can choose what they want to support.

Please add documentation (release notes and docs for the validator itself) so that user expectations are clear.

Please send a new PR if you return to it.


Investigate using Azure Identity over autorest

What problem are you facing?
The --sdk-auth option in the Azure CLI was deprecated in https://github.com/Azure/azure-cli/pull/19414 and restored in https://github.com/Azure/azure-cli/pull/19872 with a deprecation warning.
As documented in the Crossplane Getting Started Guide, the --sdk-auth option is used to create a JSON file that is compatible with the Go Authentication client we are using go-autorest.
End users who are using the Getting Started guide have started to report the following note when creating service principals:
Option '--sdk-auth' has been deprecated and will be removed in a future release.

The Crossplane provider uses the Azure Go SDK in combination go-autorest. The newest Azure Go Authorization docs indicates that going forward Azure Identity will be used.

Moving forward, authentication for the Azure SDK for Go will be done using the Azure Identity package.

How could Crossplane help solve your problem?

[ ] Reach out to MS to understand the future use of go-autorest
[ ] Investigate if we need to migrate to azidentity.

As mentioned in the description this issue, official docs suggest that using the new authorization package: azidentity. At this point we have a prerequisite. We need to update the go sdk version to consume the new authorization tool. Please see this issue: #327 There is a PR for updating this version: #326
To understand the impact of --sdk-auth flag's deprecation, I tested a scenario. I generated credentials without using the --sdk-auth flag and this credentials were used in a provider config. Trying to create a ResourceGroup resource by using the new credentials (without --sdk-auth flag) was unsuccessful. So, it seems that, when the --sdk-auth flag was removed from the cli, we have to change the authorization method.
For this migration (from autorest -> azidentity), we also need to change the used apis. Because the currently used apis (azure-sdk-for-go/services/...) are not compatible with the new authorization method. The following apis are compatible with the azidentity tool: https://github.com/Azure/azure-sdk-for-go/tree/main/sdk/resourcemanager
Therefore, it seems that the size of this change will not be small. Also the possible impacts of this change must be thought carefully (e.g. possible behavior changes...).

A related doc resource is here:
https://docs.microsoft.com/en-us/azure/developer/go/azure-sdk-authentication?tabs=bash

This seems like its a very important issue - is there any status update on this?

Hey there @lieberlois, have you been able to take a look at https://github.com/upbound/provider-azure/? It is much more actively maintained than this provider.

Hi @jbw976, oh no, I wasnt aware of that ! Thanks for pointing it out!


#question: Rc<RefCell>

Hello,
Are there any way to have IntoPy for Rc<RefCell<#[pyclass]>> struct ?
Trying to avoid the following error
the trait `pyo3::IntoPy<pyo3::Py<pyo3::types::PyTuple>>` is not implemented for `(std::cell::Ref<'_, player::py_full::Control>,)`

Thank you,

Sorry for my ignorance of this issue, but is it solved?

Yes, Thank you.
I found that this works fine:
#[pyclass]
struct PyCtrl {
    ctrl: Rc<RefCell<Ctrl>>
}

That's nice, thank you for sharing the workaround.


Multi-cluster installation: Provide better guidance for helm + jmeter (not just jmeter)

Right now in our multi-cluster setup documentation, we only provide specific guidance for installing jmeter-service via a helm chart.
However, I believe that we should also provide guidance on how to install helm-service.
Example:
See https://github.com/keptn/keptn.github.io/issues/770
User Story
As a user, I want to copy paste commands for installing helm-service and jmeter-service as a (remote) execution plane service.
Definition of Done

[ ] multi-cluster setup docs are restructured in a generic/configuration part, and an installation part
[ ] multi-cluster setup docs contain instructions that can be copy pasted for installing and uninstalling helm-service and jmeter-service

stale


Remove data/tasks.yaml after Hugo migration

This is no longer relevant after Hugo migration and can be removed.
Ref: https://github.com/kubernetes/website/pull/8544#issuecomment-389320923
/cc Bradamant3 ajaeger
/assign Bradamant3

@Bradamant3 Do any other files in data/ also need to be deleted?

@Bradamant3 Also, do we need to do the same for the release-1.11 branch as well?

@nikhita until we're done with the breaking parts of the Hugo migration, I think we should leave irrelevant files as is (IOW, they aren't breaking anything, and might be useful as reference while we redo the TOC/reorganization of content). Better to remove the whole directory or refactor the bits that are needed all at once. But thanks for thinking of it! And apologies if my comments in the other PR were confusing or misleading. We're still figuring out all the Hugo migration moving parts.
Also thanks for the indirect heads up -- we should explain what's needed for the Hugo migration better to contributors. I'll flag it in sig-docs.

And apologies if my comments in the other PR were confusing or misleading.

@Bradamant3 Absolutely not! :)
It makes sense to keep them if they will help as reference/reorganization later. :+1: Thanks for taking the time to explain everything in detail!


Standardise tool name

Previously, Trafficking and Taffic had been used in the name of the software interchangeably. To standardise and avoid confusion, this has been unified to Traffic in all cases.

Codecov Report

Merging #10 (af3c4d1) into main (cbbcc17) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main      #10   +/-   ##
=======================================
  Coverage   66.07%   66.07%
=======================================
  Files          10       10
  Lines         280      280
  Branches       49       49
=======================================
  Hits          185      185
  Misses         94       94
  Partials        1        1

Impacted Files
Coverage Δ

lta/helpers/pipeline.py
32.45% <ø> (ø)

lta/parser.py
100.00% <ø> (ø)

lta/__init__.py
100.00% <100.00%> (ø)

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 cbbcc17...af3c4d1. Read the comment docs.


Improve output for modules

Is your feature request related to a problem? Please describe.
When a check fails on a module pulled with terraform init, the output points at the block in the .terraform folder. This requires a bit of digging to find out what is actually causing the check to fail because the calling module block itself is not referenced in the tfsec output.
If the issue is caused by something being unset or a default module value, this would be a good candidate for just pointing at the module code itself.
I've put an example in the additional context section.
Describe the solution you'd like
In a best case scenario the output would reference the calling module block and the location of the variable to provide guidance. That way there is enough information for the user to resolve it without too much searching around.
Not sure if this info is something that could be set in the context when working on modules. WRT getting the module caller itself that info is available in modules.json so this is a possibility.
Based on the example in Additional context this would look like:
Problem 1

  [GCP009][ERROR] Module 'cluster' in 'cluster.tf' defines a cluster with Pod Security Policy enforcement disabled. It is recommended to define a PSP for your pods and enable PSP enforcement.
  /tmp/cool-cluster/cluster.tf:4

        1 |   module "cluster" {
        2 |     source = "https://modules.stuff/awesome-modules/super-secure-cluster.zip"
        3 |     name = "cluster"
        4 |     enable_pod_security_policy = "false"
        5 |     location = "us-central1"
        6 |     spooky_scary_skeletons = "disabled"
        7 |

  See https://tfsec.dev/docs/google/GCP009/ for more information.

Describe alternatives you've considered
The best alternative I've found thus far is to use custom checks that look at modules for undesirable configurations.
Additional context

In this particular case the variable enable_pod_security_policy had been set to false in the module block, which overrides the default set in interface.tf. The issue is that it's not clear in the output and does not indicate where this module was called, or where the variable was set.
Directory structure:
.
├── .terraform
│   └── modules
│       ├── cluster
│       │   ├── .terraform-version
│       │   ├── interface.tf
│       │   ├── kubernetes.tf
│       │   └── versions.tf
│       └── modules.json
├── .terraform-version
├── backend.tf
├── cluster.tf
└── provider.tf

Hey @Owen-Cummings - I think this is resolved in v0. 38.0 with identifiers showing the full detail of nested module usage.
Could you check and let me know either way?

I took a look at the latest version and it looks like there have been some improvements! It does still point at the actual code in the .terraform dir but I think with all the nested module information it's easier to figure out where the issue stems from.
Based on that I'd consider this particular issue resolved!


Fix an issue with dashboard jenkinsfile

Signed-off-by: Zelin Hao<EMAIL_ADDRESS>Description
Fix an issue caused by absence of the script block
Issues Resolved
Continue with #929
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #930 (cf94a2b) into main (fe1940b) will decrease coverage by 0.21%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #930      +/-   ##
==========================================
- Coverage   92.24%   92.02%   -0.22%
==========================================
  Files          88       88
  Lines        2321     2321
==========================================
- Hits         2141     2136       -5
- Misses        180      185       +5

Impacted Files
Coverage Δ

src/system/temporary_directory.py
82.75% <0.00%> (-13.80%)
:arrow_down:

src/system/os.py
92.30% <0.00%> (-7.70%)
:arrow_down:

Continue to review full report at Codecov.

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


Set up Prometheus instance

Prometheus is up and running with it's dashboard here: https://libp2p.community/prometheus/


Does it work with  when chains are passed with return_source_documents=True,

I seem to be getting an whenever my chains have above config....

Hi @sharrajesh! Thx for reporting the issue! Could you please share your code snippet?

faiss_db_path = os.path.join(BASE_DIR, "workspace", "chat_with_text_files", "faiss_db")
def load_db():
embeddings = OpenAIEmbeddings()
vectordb = FAISS.load_local(faiss_db_path, embeddings)
retriever = vectordb.as_retriever()
return retriever
def create_qa_chain(retriever):
qa_chain = RetrievalQA.from_chain_type(
llm=OpenAI(),
chain_type="stuff",
retriever=retriever,
return_source_documents=True,
verbose=True,
)
return qa_chain
def cite_sources(llm_response):
print(llm_response["result"])
print("\n\nSources:")
for source in llm_response["source_documents"]:
print(source.metadata["source"])
retriever = load_db()
qa_chain = create_qa_chain(retriever)

Another error
AttributeError: 'ConversationalRetrievalChain' object has no attribute 'input_key'. Did you mean: 'input_keys'?
def create_qa_chain(retriever):
memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True)
chat_llm = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=OPENAI_TEMPERATURE)
qa_chain = ConversationalRetrievalChain.from_llm(
llm=chat_llm,
retriever=retriever,
chain_type="stuff",
verbose=True,
memory=memory,
)
return qa_chain
def cite_sources(llm_response):
# Check if 'answer' key exists in the llm_response.
if "answer" in llm_response:
print(llm_response["answer"])
# Check if 'source_documents' key exists in the llm_response.
if "source_documents" in llm_response:
    print("\n\nSources:")
    for source in llm_response["source_documents"]:
        print(source.metadata["source"])

retriever = load_db()
qa_chain = create_qa_chain(retriever)

Thx! Received all info. I have a local patch but still requires testing.

Fixed this issue in 0.0.12

this does not work with ConversationalRetrievalChain , please provide a fix as RetrievalQA is being depricated


feat(node/comment): expose CommentMap

Description:
Expose CommentMap

BREAKING CHANGE:

Related issue (if exists):

Is there some background detail where it's being used?

Is there some background detail where it's being used?

Looks like the Comments trait is exposed. I will use this. Thank you for quick review


Debugging tests don't start anymore

VSCode Version:1.45.1
OS Version: Ubuntu 19.10

Steps to Reproduce:
1.Start any project
2.Discover the tests
3.Click the lense "Debug test"

Does this issue occur when all extensions are disabled?: Yes/No
Tests are not discovered with this option
After discovering the tests, any test in any project have stopped working. I remember just before there was a message regarding runpy in the right lower corner, saying that it couldn't run and asked me to try with sudo. I clicked "yes". After this action, no tests can be debugged when I click the "Debug Test" lense, nothing happens.
I have the following standard config:
        {
            "name": "Debug Tests",
            "type": "python",
            "request": "test",
            "console": "integratedTerminal",
            "justMyCode": false
        }    ]

I inspected the developer tools section and it throws the following error when I start a debug session through the lense or through a
console.ts:137 [Extension Host] (node:10318) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
3
log.ts:197   ERR timeout after 1000 ms: Error: timeout after 1000 ms
    at t.RawDebugSession.handleErrorResponse (file:///usr/share/code/resources/app/out/vs/workbench/workbench.desktop.main.js:3061:355)
    at file:///usr/share/code/resources/app/out/vs/workbench/workbench.desktop.main.js:3060:679
    at async t.RawDebugSession.shutdown (file:///usr/share/code/resources/app/out/vs/workbench/workbench.desktop.main.js:3058:772)

Will report with https://github.com/microsoft/vscode-python


Reset displayed spindle angle with SET long press

Currently, spindle angle is displayed relative to the position the spindle was in when the unit was powered on. However, when using the spindle angle display mode, it would sometimes be convenient to be able to set the reference angle. Displaying the angle relative to when entering the spindle angle display mode would be a convenient way to set the index.
(Based on conversation at clough42/electronic-leadscrew#278, thus this PR is currently in draft status because it has not yet been tested. I'll remove the draft state after it is tested.)

Modified (still untested!) based on comments at clough42/electronic-leadscrew#278

I added the ability to reset the spindle position as a menu option in my fork, instead of a long press.
https://github.com/kwackers/electronic-leadscrew/compare/master...ACaesuraIsStillMusic:electronic-leadscrew:master


rename go module name to github.com/devfile/library

Signed-off-by: Stephanie<EMAIL_ADDRESS>What does this PR do?
This PR renames the go module of this repo to be github.com/devfile/library, due to the change of the repo's name

Closing this PR. The changes will be covered in https://github.com/devfile/library/pull/38


[plugin] Stackdriver

Any plans, or instructions for setup of kong with stackdriver for logging/monitoring?

No plans. That said, the http-log plugin should be usable. But probably needs a custom serializer to provide the right format.

Not something we are planning on doing, but feel free to build a community plugin for it!


P2P networking status

This is looking great.. I see there is a NetworkProtocol class.. how close is this to serving up content over the P2P network?
Really looking forward to a c# implementation of IPFS

Thanks for the +1.  I haven't spent much time on this lately.  I'll get back to you with a current status.

I expect translating the DHT and BitSwap protocols would be quite a large piece of work..
However, i'd love a minimal implementation that can serve up content/blocks on request (that it has).  Not sure how much of the DHT and BitSwap that would require.

I'll just be happy with a working library at the moment :)


Add 3D quiver support

Adds an overload to the quiver template so that if you pass 3 dimensional parameters (e.g. matplotlibcpp::quiver(x,y,z,u,v,w,kwargs)) you get a 3D quiver plot.

Nice, thanks for contributing and sorry for the long radio silence!


Pull should end only on fetching an empty page

Server can specify a max page size or max take value. In such a case the result size can be less than the page size requested by the client. This does not mean that the client is done fetching the server records.

https://github.com/Azure/azure-mobile-apps-js-client/issues/156 closes https://github.com/Azure/azure-mobile-apps-js-client/issues/132


BED-4766: FF Backward Compatibility for ListAuthProviders Endpoint

Description
This enables #896 to only return SAML providers when FeatureOIDCSupport is false
Motivation and Context
This PR addresses: BED-4766
How Has This Been Tested?
Screenshots (optional):
Types of changes

Chore (a change that does not modify the application functionality)

Checklist:

[X] I have met the contributing prerequisites

Assigned myself to this PR
Added the appropriate labels
Associated an issue: https://github.com/SpecterOps/BloodHound/issues/672
Read the Contributing guide: https://github.com/SpecterOps/BloodHound/wiki/Contributing

[X] I have ensured that related documentation is up-to-date

Open API docs
Code comments (GoDocs / JSDocs)

[X] I have followed proper test practices

Added/updated tests to cover my changes
All new and existing tests passed

Idk if you're still working on your PR, but don't forget to list how this was tested!


Travis-CI seems to point to the old phxdatasec/model-factory repo

Seems like Travis-CI needs to be adjusted. The badge in the README is broken and points to the wrong repository: https://travis-ci.org/phxdatasec/model-factory

Updated README for name change ee8729f4bce9191853af45623826c685038c2c11


Chrome dev console warning: Invalid DOM property maxlength

Displaying a default CreditCardInput in a react app generates the following warning in the developer console:
index.js:1446 Warning: Invalid DOM property maxlength. Did you mean maxLength?
in input (created by CreditCardInput)
in label (created by Context.Consumer)
in StyledComponent (created by styled.label)
in styled.label (created by CreditCardInput)
in div (created by Context.Consumer)
in StyledComponent (created by styled.div)
in styled.div (created by CreditCardInput)
in div (created by Context.Consumer)
in StyledComponent (created by styled.div)
in styled.div (created by CreditCardInput)

Could you please comment why this issue was closed - is this not a valid issue?

Because it's fixed :)

Ah, great - thank you very much!