Build docker with go 1.19

Build docker with go 1.19
Docker 20.10.24 expects to be built with go 1.19 and if it isn't certain unix level functionality is broken. We already bumped to building with go 1.19 for alpha-3619.0.0, so this change it present in beta/alpha/main.
Fixes a regression in stable https://github.com/flatcar/Flatcar/issues/1203.
How to use
[ describe what reviewers need to do in order to validate this PR ]
Testing done
[Describe the testing you have done before submitting this PR. Please include both the commands you issued as well as the output you got.]

[x] Changelog entries added in the respective changelog/ directory (user-facing change, bug fix, security fix, update)
[ ] Inspected CI output for image differences: /boot and /usr size, packages, list files for any missing binaries, kernel modules, config files, kernel modules, etc.

Added a changelog and validated that:

docker version reports built with go 1.19.9
the reproducer shows 0/42 (good) instead of 0/0 (bad):

docker run --name bug-test alpine ls -l /etc/shadow
docker export bug-test | tar tv etc/shadow

@dongsupark: LTS will also need this soon?

@dongsupark: LTS will also need this soon?

No, LTS-2023 (flatcar-3510) still has Docker 20.10.23, which is still based on Go 1.18.
Only Docker 20.10.24 or newer has Go 1.19.
No need to backport.

@dongsupark: LTS will also need this soon?

No, LTS-2023 (flatcar-3510) still has Docker 20.10.23, which is still based on Go 1.18. Only Docker 20.10.24 or newer has Go 1.19. No need to backport.

Will LTS stay on docker 20.10.23 forever?

Will LTS stay on docker 20.10.23 forever?

Usually yes, we try to not touch LTS, unless there is a serious need for another version update in LTS, like a serious bug fix.
What we are regularly doing at the moment in LTS, i.e. updates of Linux Kernel, ca-certificates, mantle containers are already a certain amount of changes.


Dart2 Flutter Test slow to start (dart2)

Hey there! I've been noticing an interesting problem as I upgrade my libs to Dart 2. I run my tests very often, and have seen them take far longer to start up than in Dart 1. If you're running many iterations of a test trying to fix a bug, it can feel a bit sluggish compared to how fast it was before.
Steps to Reproduce

Create a new Flutter project
Enter project
Run flutter test from command line
Tests take 5-6 seconds to run
Compare to Dart1, which was 1-2 seconds

Logs
Dart 1
gunter lab/slow_tests »  time flutter test
00:01 +1: All tests passed!
flutter test  2.02s user 0.36s system 111% cpu 2.125 total
gunter lab/slow_tests » time flutter test
00:01 +1: All tests passed!
flutter test  2.01s user 0.35s system 112% cpu 2.104 total
gunter lab/slow_tests » time flutter test
00:01 +1: All tests passed!
flutter test  2.02s user 0.36s system 112% cpu 2.115 total

Dart 2
gunter lab/slow_tests » time flutter test --preview-dart-2
00:04 +1: All tests passed!
flutter test --preview-dart-2  6.19s user 0.70s system 134% cpu 5.134 total
gunter lab/slow_tests » time flutter test --preview-dart-2
00:04 +1: All tests passed!
flutter test --preview-dart-2  6.26s user 0.68s system 134% cpu 5.163 total
gunter lab/slow_tests » time flutter test --preview-dart-2
00:04 +1: All tests passed!
flutter test --preview-dart-2  6.32s user 0.69s system 134% cpu 5.234 total

Flutter Doctor
[✓] Flutter (Channel beta, v0.1.5, on Mac OS X 10.13.3 17D102, locale en-US)
    • Flutter version 0.1.5 at /Users/phillywiggins/lab/flutter
    • Framework revision 3ea4d06340 (4 weeks ago), 2018-02-22 11:12:39 -0800
    • Engine revision ead227f118
    • Dart version 2.0.0-dev.28.0.flutter-0b4f01f759

[✓] Android toolchain - develop for Android devices (Android SDK 27.0.2)
    • Android SDK at /Users/phillywiggins/Library/Android/sdk
    • Android NDK at /Users/phillywiggins/Library/Android/sdk/ndk-bundle
    • Platform android-27, build-tools 27.0.2
    • ANDROID_HOME = /Users/phillywiggins/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)

[✓] iOS toolchain - develop for iOS devices (Xcode 9.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.2, Build version 9C40b
    • ios-deploy 1.9.2
    • CocoaPods version 1.3.1

[✓] Android Studio (version 3.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)

[✓] IntelliJ IDEA Community Edition (version 2017.3.5)
    • Flutter plugin version 22.2.2
    • Dart plugin version 173.4548.30

[✓] VS Code (version 1.21.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Dart Code extension version 2.8.2

[✓] Connected devices (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 8.0.0 (API 26) (emulator)

• No issues found!

cc @a-siva

@jensjoha will be looking into this as part of his work.

Thanks for the help everyone :)

any updates on this one? I'd like to demo widget testing using Flutter at a conference but the speed might give a bad impression.

@xster no updates, unfortunately most of the resources are consumed by Dart 2 release at the moment. Addressing this however is at the top of our list.

I have find the problems too.
One win7 System computer:
console  screenshots:
it runs for 5 minutes,and it's too slow   and the log is too much more.

But another win7 System computer:
console  screenshots like this:
look, it's very succinct,it runs for 1 minutes

@AweiLoveAndroid if you are experiencing slow builds it's a different issue. please file a different issue for that. this issue is purely about flutter test performance.

Is there an update for this?  I write and run unit tests for the majority of my code so this is having a substantial impact on my development.  For non flutter tests (ie self contained classes that could run as a dart console app), could we run them outside of the flutter test (ie just use the dart test package)?  I noticed that the test dart package supports running them in node...
https://pub.dartlang.org/packages/test#running-tests-on-nodejs
...would this be a good short term fix?

@jensjoha has just landed #20414 which should cut some of the cost down. Can you try updating to master and see what it does for you?

Hi, I've updated to master and I've run a very basic test (the project has a yaml file with the test pub dependency and one test), it says it takes 5seconds but from pressing return in the console to getting a result back it's taking 7 seconds.  In my opinion / experience this is still too long to wait to do proper TDD dev (in c# a simple test returns results in less than a second, javascript too).  In my proper flutter app with more dependencies tests take around 7 seconds also.
I went back to the beta channel but it has now gone to 7.3?  So I couldn't compare this to the previous timings, maybe there is improvement but it still feels way to sluggish.
If anyone can try running the dart tests in node.js and let me know if its worth looking at that as a quick fix I would be greatly appreciative.

The change @mraleph mentioned does not really have any effect the first time you run the test.
If you try to update to master again, and run flutter test twice (or more) the subsequent runs should be faster.
So maybe 5 seconds the first time, 2 seconds the second time.

I went back to beta 7.3 and the simple test takes 7 seconds but the test in the larger project takes about 14 seconds.
in master 7.6-pre.57 running the simple tests also takes 7 seconds but the test in the larger project it also seems to take between 10 and 14 seconds...it still seems slow.
I ran tests multiple times and the code being tested is pretty simple.

Hmm...
$ flutter create issue15767
Creating project issue15767...
  issue15767/android/.gitignore (created)
[...]
  issue15767/ios/Runner/AppDelegate.m (created)
Running "flutter packages get" in issue15767...              7.6s
Wrote 65 files.
[...]

$ cd issue15767/
/issue15767$ flutter test
00:05 +0: loading /usr/local/google/home/jensj/code/nobackup/flutter/tmp/flutter_15767/issue15767/test/widget_test.dart                                                                      Shell: Do not know weight for: TeXGyreSchola (BoldItalic)
00:06 +1: All tests passed!

/issue15767$ flutter test
00:01 +0: loading /usr/local/google/home/jensj/code/nobackup/flutter/tmp/flutter_15767/issue15767/test/widget_test.dart                                                                      Shell: Do not know weight for: TeXGyreSchola (BoldItalic)
00:02 +1: All tests passed!

Could you perhaps share the simple tests you're refering to?

...sure (hope I'm not doing anything stupid!)
Video
https://drive.google.com/file/d/1JclqqOFaff172YWA60RTHXxRP9uMaTOW/view
Gist of test & yaml
https://gist.github.com/twistedinferno/bc005a192014b919ffd3133e380d3fc5
https://gist.github.com/twistedinferno/fa7570a1e6f2d27b1ea2a21a71ad1a69

Thank you.
Initial thoughts:
a) When I run this (on Linux, though VSCode with the Dart Code plugin) this doesn't use flutter at all. On my machine the command run is something like [wherever/path/to]/flutter/bin/cache/dart-sdk/bin/dart testingTest.dart --name "^String\.split\(\) splits the string on the delimiter". (So it does use dart from within flutter, but not actually flutter itself). For this scenario the opimitzation in https://github.com/flutter/flutter/pull/20414 doesn't go into effect at all (and it shouldn't really have to because the dependencies are much, much smaller).
b) On my machine its much faster. If I from the (linux) command line prepend "time" it tells me real	0m1.108s (i.e. it took ~1.1 seconds). While that is probably also too slow, its nowhere near what you're seeing.
Are you using the Dart Code plugin, or the specific flutter version or something else?
I noticed that you have your phone attached. Does the timing change if you unplug it first?

Hi, I'm using the Dart Code plugin 2.18.0, that is my only plugin actually

unplugging the phone doesn't make any difference unfortunately.
I would be happy with 1.1seconds :-)

When I run this (on Linux, though VSCode with the Dart Code plugin) this doesn't use flutter at all.

If running through the editor, this depends on whether we detect you have a Flutter project open. If we do, we'll run with flutter test and if not, we'll run with pub run test. The easiest way to tell exactly what's running is by running the Dart: Capture Logs command and ticking Flutter Test and Pub Test, run the test, then hit Stop Logging and it'll show the exact command/switches being used.

(So it does use dart from within flutter, but not actually flutter itself)

This should only happen if that's the Dart you have on PATH or in dart.sdkPath. Generally we prefer using a standard Dart SDK when running Dart projects and the Flutter one for Flutter.
Of course, if you run commands from inside the terminal in Code (like in the screenshot above) it'll just run that with whatever is on PATH (type which pub to see which) and doesn't interact with the extension at all.

Here is a log file of my test (this is my simple test but run in a flutter app)
https://drive.google.com/open?id=1cct-IX8acKvRxTMRrVkN_x8ogWseHOF6
I couldn't see where to write the which pub command, directly in the terminal?  (it says it can't find a command called which!)

The log shows that these tests are being run with Flutter (0.7.6-pre.57):
[12:21:52 GMT+0100 (GMT Daylight Time)] [FlutterTest] [Info] Spawning c:\Flutter\flutter\bin\flutter.bat with args ["test","--machine","--name","^String\\.split\\(\\) splits the string on the delimiter$","test\\testing_test.dart"]
[12:21:52 GMT+0100 (GMT Daylight Time)] [FlutterTest] [Info] ..  in C:\Dev\flutter\examples\test_testing

The test runner is reporting 4.6 seconds:
{"success":true,"type":"done","time":4662}

However there will be some extra on there for stuff in the VS Code and Flutter (the time reported is only the part inside package test).

Log file where it uses Dart (I think!)
https://drive.google.com/open?id=1cct-IX8acKvRxTMRrVkN_x8ogWseHOF6
The UI here says 0:00 seconds but my stopwatch says 7 seconds again.  Couldn't see a time property in the log file.

(I'm currently trying to get VSCode and Dart Code to work on my Windows machine --- so far without luck)

@jensjoha What problem(s) are you having? You can ping me in Gitter (https://gitter.im/dart-code/Dart-Code) or Hangouts (dantup @ google) if you get stuck. It should be as simple as installing the Dart extension and ensuring flutter is in your PATH (or if it doesn't find it, for ex. if you set PATH in a terminal startup script where VS Code won't get it, you can click the Locate SDK button on the error message and manually point at the folder).

So I forgot the pubspec update...
@twistedinferno : It seems you now have a different config than the video and gists you gave earlier (e.g. the test file is now inside a "test" directory etc).

It took ~1 second on my Linux machine, but takes ~3.5 seconds on my Windows machine...
I think this warrents further investigation...
@mraleph do you have any insights/ideas here?

many thanks for investigating @jensjoha, good to know you can recreate it.  btw, the second log I think is the same config as in the video (I was testing a few things out)

For good measure, could you try to open a command line and time
c:\\Flutter\\flutter\\bin\\cache\\dart-sdk\\bin\\dart.exe C:\\Dev\\flutter\\examples\\test_testing\\test\\testing_test.dart with your stopwatch?
As well as creating a file hello.dart with content
main() {
  print("Hello, World!");
}

and from a command line then run and time
c:\\Flutter\\flutter\\bin\\cache\\dart-sdk\\bin\\dart.exe hello.dart with your stopwatch?
Thanks!

Thank you. I'll try to investigate as time allows.

I found something. Fixing it turns the needle on my Windows machine from ~3.3 seconds on "testingTest.dart" to ~1.3 seconds. For "hello.dart" it goes from ~0.8 seconds to ~0.3 seconds.
Nothing has landed in the dart-sdk yet though.

Not sure if this helps, but with AngularDart I face a similar issue.
Tests themselves are relatively fast. But there's a 5-7 seconds delay before they are started, without any log in the console.

I found something. Fixing it turns the needle on my Windows machine from ~3.3 seconds on "testingTest.dart" to ~1.3 seconds. For "hello.dart" it goes from ~0.8 seconds to ~0.3 seconds.
Nothing has landed in the dart-sdk yet though.

It has landed and should have rolled into flutter. @twistedinferno could you (on flutter master) do a flutter upgrade and perform your measurements again?

Hi @jensjoha -- Thanks for helping out :) I've just run the test comparing the beta branch to the master branch and wanted to share my results. This is on the same project originally referenced in this issue.
Summary: First run is slower than first reported (~8 seconds compared to ~6 when I first created the issue), subsequent runs are a now faster than before, but still about 2-3x slower than the Dart 1 measurements I recorded, and is still the speed I'd love to see again if possible.
Here are my results:
Beta
GIR lab/test_speed_test » flutter --version
Flutter 0.6.0 • channel beta • https://github.com/flutter/flutter.git
Framework • revision 9299c02cf7 (4 weeks ago) • 2018-08-16 00:35:12 +0200
Engine • revision e3687f70c7
Tools • Dart 2.1.0-dev.0.0.flutter-be6309690f
GIR lab/slow_tests » time flutter test
00:05 +1: All tests passed!
flutter test  8.00s user 0.78s system 135% cpu 6.493 total
GIR lab/slow_tests » time flutter test
00:05 +1: All tests passed!
flutter test  7.97s user 0.77s system 135% cpu 6.457 total
GIR lab/slow_tests » time flutter test
00:05 +1: All tests passed!
flutter test  8.00s user 0.79s system 134% cpu 6.522 total
GIR lab/slow_tests »

GIR lab/slow_tests » flutter --version
Flutter 0.8.3-pre.25 • channel master • https://github.com/flutter/flutter.git
Framework • revision fa0a857d02 (13 minutes ago) • 2018-09-11 08:27:32 -0700
Engine • revision e65beb89da
Tools • Dart 2.1.0-dev.4.0.flutter-ef72098353
GIR lab/slow_tests » time flutter test
00:05 +1: All tests passed!
flutter test  8.69s user 0.86s system 140% cpu 6.799 total
GIR lab/slow_tests » time flutter test
00:02 +1: All tests passed!
flutter test  4.44s user 0.75s system 127% cpu 4.058 total
GIR lab/slow_tests » time flutter test
00:02 +1: All tests passed!
flutter test  4.38s user 0.74s system 127% cpu 4.015 total
GIR lab/slow_tests »

Hi @jensjoha, thanks for looking into this, however, I can't see an improvement
I have updated to the latest master version (0.8.5-pre.7)
2.4s hello.dart
6.6s testing_test.dart
and 10s for a test in my actual application
Apologies for the delay in responding, I was away and missed your notification from the thread

@jensjoha, what is the commit hash for your fix?

@twistedinferno :( Can you give the command you're actually running so I can make sure I'm attempting the same thing as you?
@keertip https://github.com/dart-lang/sdk/commit/1e4b3e97540493dc179cf261508da2f729c0b379

@twistedinferno : The bat script specifically just says dart meaning you're using the dart on your path, i.e. not the one from within flutter which is (probably?) newer (and includes the fix I talked about at https://github.com/flutter/flutter/issues/15767#issuecomment-419438642

my bad!  Apologies, this is indeed faster

Good to hear - how long does stuff take now?

The hello.dart takes .5s (this is great)
testing_test.dart takes 2.2s (this is ok too, I would like it to be less than a second but hey...2x speed improvement...I can wait for the next)
I'll just test my real world app now
however, if I run flutter test in the console or press the test link in VSCode this takes 7s with just the one _test.dart file in test folder, is that expected?  I would have expected that to be taking the same time as the flutter\bin\cache\dart.exe
https://drive.google.com/open?id=1GIVaurrdJqSUrDzbFls_3MJpful7d0xE

Well.. I at least is getting this:
>flutter test
00:05 +1: All tests passed!

>flutter test
00:03 +1: All tests passed!

>flutter test
00:02 +1: All tests passed!

>flutter test
00:02 +1: All tests passed!

>flutter test
00:02 +1: All tests passed!

(in practise the "2 seconds" is more like 4.6 seconds though --- but still better than the initially reported 5 seconds (actually more like ~9 seconds))
As to why it's that much slower... I don't know, but I'll try to investigate.

That's great, thanks for looking into this.  Yes, if you can find out why flutter test is still slow that would be great (I think I need flutter test to work unless my tests are testing pure dart code, I get a not found dart:ui error when testing flutter code using dart.exe...which I'm not sure I undersand)

Yeah, for actual flutter tests you need to run flutter test.
So I have an explanation:

When you say flutter it runs a batch script (on Windows, a shell script on Linux), which - at least on my Windows machine - takes ~0.5 seconds.
When saying flutter test it creates a wrapper script that imports all kinds of stuff (which explains why the cached file in build becomes so big (16 MB big!)). If I turn the test file into a file with just an empty main file (no imports or anything) the file produced is still 16 MB and contains all kinds of stuff.

among the contained things are 354 libraries from package:flutter.

So despite you're test not really having anything to do with flutter, flutter is included, i.e. on the first run (no cache) the flutter package (among other stuff) is compiled, serialized and loaded by the dart VM; on subsequent runs (with cache) it is deserialized, serialized and loaded by the VM.
Unfortunately this is not going away today. Hopefully with time, though, we can do better.

ok, so it is much faster for pure dart tests but still 9s for my flutter real app flutter tests.  Thanks for your updates and help...it feels like it is possible to do TDD in dart 2 now (maybe some more improvements in the future) but I still don't feel it's possible to do real TDD in Flutter.

@twistedinferno I understand your frustration. I plan to look more into this. How fast do you feel would be 'fast enough for TDD'?

@jensjoha Just my two cents, but I'd love to see this get back down into the 1-2 second range again as it was in Dart 1 (the entire time it takes to launch the tests and get feedback -- what I've been measuring in my reports).
At that speed, I can make a change, run the test, and verify quickly whether it works or not then keep going. I think of it in similar terms to Hot Reload -- I would like to be able to maintain "Flow" and not lose focus while quickly iterating on tests / the code that I'm verifying.
Currently, I find myself writing groups of tests and running them in batches far more often b/c repeatedly waiting 8-9 seconds for the test to run kinda breaks that flow.

+1 on @brianegan comments. I'm a huge fan of TDD since java where 1s was the expected delay when running a test. Dart1 had very good TDD support and we were in this range (i.e. save/pub run test was almost immediate). Flutter dart and even dart regular test are painfully slower in dart2 (having to wait an extra 5s or more). I personally feel being less productive and more reluctent in writing tests.

Would a watch-mode with incremental build help reduce loading time?
I personally love what Jest offers in term of tests. It's not only fast but also able to run only the tests impacted by your uncommitted changes. And it also offers the ability to replay only failed tests.
These don't directly impact performances but are definitely helping in reducing time spent.

Issue  #4719 does sketch out a plan to implement a watch mode for flutter tests.  Would that be something you would use, if available?  @brianegan

@keertip I could certainly see watching for changes as a useful feature for many folks, but might not be as useful for me personally because IntelliJ easily allows you to run tests / rerun failed tests with quick keyboard-shortcuts.
If it's a matter of resourcing, I'd much rather see this issue resolved first (since it's a pretty big regression from the Dart 1 experience), then worry about extra functionality.

It'd be great if it was implemented in a tool-friendly way. Eg. editors can spawn it in watch mode in the BG and send it commands to run individual tests, so the existing behaviour for running individual tests/groups can be used (running all tests on a change might result in a longer run than people want).

Hi, has there been any update on this?  I have gone back to flutter land, I updated to the latest master channel and when running dart only tests they are taking 3+seconds instead of 0.5s.  Is it ok to use the commit with the improvements or was there a problem with that specific fix?  The flutter revision id is 449e3c2a0a.

Is what you're saying, that something like C:\path\to\flutter\bin\cache\dart-sdk\bin\dart.exe helloworld.dart takes 3+ seconds?

using dart 2.1.0-dev.9.4.flutter-f9ebf21297 (latest version from master)
yes, using the flutter\bin\cache\dart.exe , I reran it now and it took 2.5 seconds to run a test on my machine (windows i5) (I may have counted the seconds incorrectly last night to 3.5 or used the path dart.exe), I think the 0.5 was for the helloworld.dart and not the test so I think this is what had been achieved 6 weeks or so ago.
I think for me 2.5seconds per test is kind of workable for the moment, do you think there will be an improvement on this in the future or any other thoughts about improving the speed?  (I should probably just get on with my work now though!)

Am I summarizing correctly here:

~6 weeks ago we got helloworld.dart to ~0.5 seconds and testing_test.dart to ~2.5 seconds.
This is still where we are today (i.e. no new regression)

?
I realize that it's unfortunate that it haven't improved further.
We are always trying to make things go faster, but unfortunately it's not always as easy as deciding that we want to...

I thought it had slowed over the last six weeks but that isn't the case.  Yes, the speeds are the same as six weeks ago, improved, still a bit slower than I would like and slower than dart1 but it is better now.  I appreciate this work so many many thanks for all of it and being part of the people who has brought us these tools, that is all very much appreciated too; yup, sometimes things aren't always straight forward.  Keep us updated of course with any updates and of course I'll be very keen to hear of any further improvements if they come along :-)

Sorry, if I don't understand this correctly, but is it expected behavior that flutter runs a FlutterTest even when just using "normal" dart code?
If I run flutter test (or use the "run" text in vscode) for my simple test case, then it takes 2 sec (really about 5) and if I run it with [...]/flutter/bin/cache/dart-sdk.exe it runs in a <1 sec (really about 1.30 sec).
Here's my simple test:
import 'package:test/test.dart';

List<int> factorsOf(int n) {
  final List<int> factors = [];
  int divisor = 2;
  while (n > 1) {
    while (n % divisor == 0) {
      factors.add(divisor);
      n = n ~/ divisor;
    }
    divisor++;
  }
  return factors;
}

void main() {
  group('PrimeFactorTests', () {
    test('factors', () {
      expect(factorsOf(1), []);
      expect(factorsOf(2), [2]);
      expect(factorsOf(3), [3]);
      expect(factorsOf(4), [2, 2]);
      expect(factorsOf(5), [5]);
      expect(factorsOf(6), [2,3]);
      expect(factorsOf(7), [7]);
      expect(factorsOf(8), [2,2,2]);
      expect(factorsOf(9), [3,3]);
      expect(factorsOf(2 * 2 * 3 * 3 * 5 * 7 * 11 * 11 * 13), [2,2,3,3,5,7,11,11,13]);
    });
  });
}

Flutter doctor:
[√] Flutter (Channel master, v0.11.14-pre.2, on Microsoft Windows [Version 10.0.17134.407], locale de-DE)
    • Flutter version 0.11.14-pre.2 at E:\Development\flutter
    • Framework revision a226c0f0d9 (15 hours ago), 2018-11-30 16:18:18 -0800
    • Engine revision 7375a0f414
    • Dart version 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)

[√] Android toolchain - develop for Android devices (Android SDK 28.0.3)
    • Android SDK at E:\Development\Android_SDK
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: E:\Development\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)
    • All Android licenses accepted.

[√] Android Studio (version 3.2)
    • Android Studio at E:\Development\Android Studio
    • Flutter plugin version 29.1.1
    • Dart plugin version 181.5656
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)

[!] Connected device
    ! No devices available

! Doctor found issues in 1 category.

Also I'm pretty happy that you guys already shortened the normal flutter tests, but I think for TDD it should probably be even lower... I guess you already know that though😉

Sorry, if I don't understand this correctly, but is it expected behavior that flutter runs a FlutterTest even when just using "normal" dart code?

I'm not sure where you're running this but generally I believe the answer is yes. It's the same as running pub run test versus dart.exe for non-Flutter tests. Running directly with the VM works, but you lose functionality added by the test runners (for example in the case of running from an IDE, they ability to output results as JSON so that the results can be shown in a structured tree).

If there are only pure dart tests to be run, then just use the dart.exe, else use the FlutterTest.

I'm not sure where you'd like this change to be made. If you're running from the terminal you're invoking dart or flutter run yourself but if you're running from an IDE using the test runner then it's required to run the full test runner so the results can be parsed.

Duplicate of https://github.com/flutter/flutter/issues/17130. Closing.


Add internal command to calculate appcast checkpoint.

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[x] Have you successfully run brew tests with your changes locally?

@vitorgalvao, I think (finally) implementing this is better than adding yet another workaround (tr "\n").
Closes https://github.com/caskroom/homebrew-cask/issues/24811, https://github.com/caskroom/homebrew-cask/pull/28966 and https://github.com/Homebrew/brew/pull/1876.

Might it be worth adding mandatory flags to this? Something like --calculate and --print (gives the current one)?

@reitermarkus Instead of adding mandatory flags, it seemed sensible to make it just print the current appcast when no flags given, or calculate it when given --calculate.
Was going to submit it as a PR to your fork, but GitHub was erroring and not cooperating, so it was easier to add the commit directly: https://github.com/Homebrew/brew/pull/1894/commits/949d3deb9b8fb8ea362f6c73da80b56c4af6197e.
Looks good to me as is, unless you want to change something/disagree.

While editing the documentation, just recalled something else. We can’t just take casks as arguments, we also need to take URLs (so users can calculate it the first time, when building the cask).

@vitorgalvao, I added a manpage entry and shortened the help text a bit.

I’d say it’s ready to merge as soon as all checks pass.

So - does this use a different method of calculating the hash of the app cast?  For example, if I run (after updating)
$ brew cask _appcast_checkpoint marked
caf003f39ca2a87922e2d1f6afe17df55bd6bb6f36dcfd16b52e257cf629f5e0
$ brew cask _appcast_checkpoint --calculate marked
f315ff8dfb5cbd0e1da1ef302c6edbcb738d083237ebc4b977e78a1c6ce97fd3

However - the hash (using cURL) was previously calculated thusly:
$ curl --compressed --location --user-agent 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36' "https://updates.marked2app.com/marked.xml" | /usr/bin/sed 's|<pubDate>[^<]*</pubDate>||g' | shasum --algorithm 256
caf003f39ca2a87922e2d1f6afe17df55bd6bb6f36dcfd16b52e257cf629f5e0

Which is the current (in the cask file) hash.  I'm fine if the internal call changes the way that the hash is calculated - but is there a separate task to update all current casks with their new hashes?

does this use a different method of calculating the hash of the app cast?

Yes. The change was necessary anyway as the old method wasn’t reliable on all cases.

is there a separate task to update all current casks with their new hashes?

No. That is unnecessary. Only now that this is finalised will I start working on remaking the scripts to fix casks based on appcast checkpoints. Those will end up being fixed organically.


fix: getting unselected participants

Details
Get unselected participants from the original participants list
Fixed Issues
$ https://github.com/Expensify/App/issues/32808
PROPOSAL: https://github.com/Expensify/App/issues/32808#issuecomment-1850229772
Tests

Open ND and log in with any account
Create a group chat and navigate to it
Tap "+" button near the main composer and select "Split bill"
Select "Manual" tab and input any amount and tap "Next" button
Uncheck the participants in the "Split with" list
Verify that unchecked participants remain in the list and user is able to toggle selection

[x] Verify that no errors appear in the JS console

Offline tests

Open ND and log in with any account
Create a group chat and navigate to it
Tap "+" button near the main composer and select "Split bill"
Select "Manual" tab and input any amount and tap "Next" button
Uncheck the participants in the "Split with" list
Verify that unchecked participants remain in the list and user is able to toggle selection

QA Steps

Open ND and log in with any account
Create a group chat and navigate to it
Tap "+" button near the main composer and select "Split bill"
Select "Manual" tab and input any amount and tap "Next" button
Uncheck the participants in the "Split with" list
Verify that unchecked participants remain in the list and user is able to toggle selection

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/126839717/ab8ebfdb-cd08-4d97-a44b-9557a0552f40

Android: mWeb Chrome
https://github.com/Expensify/App/assets/126839717/95dda351-9996-4e1d-bb1c-8f9cac8e701e

iOS: Native
https://github.com/Expensify/App/assets/126839717/c93ee52c-fea9-401d-8c77-ca908a851f71

iOS: mWeb Safari
https://github.com/Expensify/App/assets/126839717/b043134d-9e02-4638-8b42-52d3454115d8

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/126839717/f695904e-64bd-4271-bfbd-8bfc0cbf1af9

MacOS: Desktop
https://github.com/Expensify/App/assets/126839717/7f9fffaf-0128-475c-94b8-1cc932c24d0f

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://github.com/Expensify/App/assets/2590174/4decb448-ecde-43ab-b924-bba2a88848b8

Mobile Web - Chrome
https://github.com/Expensify/App/assets/2590174/bf527520-d597-4eaa-b083-f13321b10bf6

Mobile Web - Safari
https://github.com/Expensify/App/assets/2590174/b35ac7ab-16fd-40be-946e-a06a659cd4c3

Desktop

iOS
https://github.com/Expensify/App/assets/2590174/2665441f-31ab-44ea-b23e-2d6c8f2f7138

Android
https://github.com/Expensify/App/assets/2590174/d7471dc4-5a51-4e04-858c-41093910f738

@tgolen Let me know if you agree that some renaming improves the readability here

Renaming seems to improve the readability to me. Nice suggestion!

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Cherry-picked to staging by https://github.com/luacmartins in version: 1.4.11-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.


boards: arm: Add support for nucleo_g071rb board

This patch adds support for the STM32 nucleo_g071rb board from STMicroelectronics.
This patch requires  zephyrproject-rtos/hal_stm32#3
Signed-off-by: Francois Ramu<EMAIL_ADDRESS>

recheck

recheck

recheck

@FRASTM , can you take into account upcoming https://github.com/zephyrproject-rtos/zephyr/pull/17122?

LGTM, but please fix checkpatch first (dts_fixup.h warnings could be omitted)

done
checkpatch — Checks passed

LGTM, but please fix checkpatch first (dts_fixup.h warnings could be omitted)

done
checkpatch — Checks passed


Fix a typo: template_identifer should be template_identifier

Closing this we're deprecating this library: https://github.com/thoughtbot/croutons/pull/58


add test showing how hooks fail if not run last

hooks should be run after other properties have been applied so that their changes are not undone

Convinced this is not a thing that needs to land, but feel free to reopen if you still think this is a problem.


How i can make system architecture I thought using marathon-lb?

Hi.
I want to make system architecture I thought using marathon-lb and mesos-dns.
Now, I use this system architecture in company.
User -> AWS Route 53 -> L4 -> VIP -> Real servers
and .. I want to create an environment like this.
User -> AWS Route 53 -> Marathon-BI -> Mesos-DNS(If it need) -> Services in mesos cluster
but, I don't know how to connect between AWS Route 53 and Marathon-BI in mesos cluster.
can you help me with this ?
P.S. My English is not good.. so if you don't understand well about my question, tell me.

Hi @mslee89,
With Marathon-LB, you shouldn't need Mesos-DNS.  Marathon-LB looks at Marathon and determines where tasks are running, and sets up haproxy backends pointing at them.
If you have your DC/OS public node running in AWS, then typically what users do is something like the following:

Marathon-LB running on DC/OS public nodes
DC/OS public nodes on EC2 instances, either standalone or in an AWS autoscale group
AWS ELB (classic / network is preferred) pointing at your DC/OS public agent node EC2 instances
Route53 pointing at your ELB.

Does this make sense?
Thanks,
Justin

Hello @justinrlee
Thank you for a answer.
I understand what you're saying.
and.. may i ask you one more?
should i allocation VIP to servers running marathon-LB if i want to run more than one instance of a marathon-LB?

I'm not sure what VIP you're referring to in this context - a VIP within the DC/OS cluster?  A VIP that resides on the public agents?  Something else?
Either way, you don't need VIPs to use multiple Marathon-LB instances.  You just configure them the same (i.e., a single marathon.json definition for marathon-lb with multiple instances configured).  They will end up with identical configurations based on various HAPROXY_ labels.  You can then put them behind a classic ELB and load balance them that way.
Here's an example:
Three DC/OS public agents on public EC2 instances, each with Marathon-LB
i-123456, with IP <IP_ADDRESS>
i-234567, with IP <IP_ADDRESS>
i-345678, with IP <IP_ADDRESS>
ELB: justin-abcdef-us-west-2.elb.amazonaws.com, pointing at all three EC2 instances
Route53: justin.mywebsite.com, pointing at the ELB through an Alias target
Optionally, additional CNAME pointing at justin.mywebsite.com: app.mywebsite.com
Then, with this, you can tell your users to navigate to app.mywebsite.com (or justin.mywebsite.com), and depending on your Marathon HAPROXY labels, they'll get to corresponding services running on DC/OS.

Thank @justinrlee very much for your reply.
And I'm not using AWS(ELB, Route53), But I will use L4 instead of ELB and internal DNS instead of Route 53.
Thanks to your advice, the structure was easy to understand. Thank you very much.


Support for Input packages

I'm trying to use the generator on some input packages but it seems like there is an issue processing them due to the different directory structure for input pacakges. Have you looked into this yet? Specifically i'm trying to use the "log" and "sql_input" packages.
 ./fleet-terraform-generator generate batch --packages-dir integrations/packages --out out "log/logs/logfile"
integrations/packages / log / logs /  / logfile / out
Error: error generating module for log/logs/logfile: input "logfile" was not found within policy template "logs"

 ./fleet-terraform-generator generate batch --packages-dir integrations/packages --out out "sql/sql/sql_metrics"
integrations/packages / sql / sql /  / sql/metrics / out
Error: error generating module for sql/sql/sql_metrics: open integrations/packages/sql/manifest.yml: no such file or directory

I was aware that there are issues with input packages.
What I would recommend in that case is to manually construct the package_policy request. The way I would approach this is to let Fleet show you the request it makes, and then use that to either directly compose a Mastercard/restapi resource or use that to guide you in using https://github.com/andrewkroh/terraform-module-fleet/tree/main/fleet_package_policy.

thanks for the quick feedback!

Awesome! I'll give it a try and let you know if I see any issues


Website Navbar links don't work

As per the title, using Chome 67.
None of the navbar "links" actually function as a link except the one for the current page.

@gbloice can you clarify that you are referring to the Docs, Learn Issues etc links along the top of the page?

If so, I have just tried all of them, and they all appear to function as expected.

Nope, the items in the vertical listbox:

However, I've just checked again, admittedly on a different machine and they're working there.  I'll recheck on the original machine tonight.

@gbloice if you could, that would be great.  I am just testing each of those links here with me as well, and they all seem to be working as expected.

I've worked out what happens, if you reduce the browser window width, at a certain size the navbar links jump into the page body, the body text flows around them, but they no longer function as links.

Confirmed this doesn't work - links are available at the small bowser width but they are not clickable.

Duplicate of #120.


handle datastore query timeout in refetch h-feed

whenever a poll runs too long, the datastore transaction around updating the source (i think?) times out. this has been happening forever, just not often, so we haven't cared. example log.
suspended generator run_to_queue(query.py:938) raised Timeout(The datastore operation timed out, or the data was temporarily unavailable.)
suspended generator helper(context.py:876) raised Timeout(The datastore operation timed out, or the data was temporarily unavailable.)
Traceback (most recent call last):
...
File "/base/data/home/apps/s~brid-gy/7.387946537313120088/tasks.py", line 83, in post
source_updates.update(self.poll(source))
File "/base/data/home/apps/s~brid-gy/7.387946537313120088/tasks.py", line 356, in poll
self.refetch_hfeed(source, source_updates)
File "/base/data/home/apps/s~brid-gy/7.387946537313120088/tasks.py", line 387, in refetch_hfeed
.order(-Response.created)):
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/ndb/query.py", line 1774, in next
self._more_results) = self._fut.get_result()
...
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/datastore/datastore_rpc.py", line 1373, in check_rpc_success
raise _ToDatastoreError(err)
Timeout: The datastore operation timed out, or the data was temporarily unavailable.

i diagnosed this wrong. it's a query timeout when repropagating old responses, almost the same thing as #515. we don't have a long-lived datastore transaction around poll after all. (glad i'm not that dumb. :P)


Change key to index as portDefinition name could be null

Some frameworks in rare cases have a portDefinition name of null. Change key to index as portDefinition name could be null.
Checklist

[ ] Did you add a JIRA issue in a commit message or as part of the branch name?
[ ] Did you add new unit tests?
[ ] Did you add new integration tests?
[ ] If this is a regression, did you write a test to catch this in the future?

@bstavroulakis Please shorten your commit message header (type, scope, subject) to 72 characters and make sure to always run both the post-commit as well as the pre-push hook. N.B. Moving forward we will validate commit messages in CI and fail PRs that don't adhere to the commit message guidelines.


type error in streaming in utils.py

getting a type error despite chunk being a bytes. seems like a very basic issue that should not happen, appreciate any help resolving/pointing me to an obvious mistake on my side
code:
audio_stream = generate("Hello world", voice = 'skull_0', stream=True)
for chunk in audio_stream:
    print(type(chunk))
    stream(chunk)

error:
<class 'bytes'>
Traceback (most recent call last):
  File "/Users/saveliykholin/Documents/skull-gpt/11labs-streaming.py", line 17, in <module>
    stream(chunk)
  File "/usr/local/lib/python3.11/site-packages/elevenlabs/utils.py", line 76, in stream
    mpv_process.stdin.write(chunk)  # type: ignore
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: a bytes-like object is required, not 'int'

Should be stream(audio_stream)

thta was a but frustrating - seems like docs could get cleaned up


FindOrRegisterInstanceForKey throws an exception

The API doesn't even work.
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            var instance = AppInstance.FindOrRegisterInstanceForKey("mainApp");

That throws
System.Exception: 'The group or resource is not in the correct state to perform the requested operation.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 03fa640c-506a-e67c-36c6-8e4307769dcf
Version Independent ID: f58aa8e6-544c-75d8-465a-efdd2a4020c7
Content: AppInstance.FindOrRegisterInstanceForKey(String) Method (Windows.ApplicationModel) - Windows UWP applications
Content Source: https://cpubwin.visualstudio.com/DefaultCollection/windows-uwp/_git/winrt-api-build?path=%2fwinrt-api-build%2fwindows.applicationmodel.appinstance.yml&version=GBlive&_a=contents
Product: uwp
Technology: winrt-reference
Git Login: mikben
Microsoft Alias: mikben

Closing this issue, as a fix for this was implemented before WinAppSDK 1.0 shipped.


Wesley posts branch

Created the posts page (wip) where you can also comment and view comments under each post page. Right to see the posts you would need to do something like this: http://<IP_ADDRESS>:5000/post/1 assuming there is a post.

LGTM

gamer


RootContextData missing from documentation

RootContextData is an incredibly important concept, especially when using reusable, stateless validators. I only found out about it by chance and I'm sure others missed it as well.

I’ll make sure that’s added.

Done.


Increase apiserver wait time for a min

In openshift 4.7 looks like the moment we start the kubelet service
and kubelet being able to start the pod, have added more than a min
time. This patch will unblocks us to start the 4.7.0-rc testing.
We should revert it as soon as https://bugzilla.redhat.com/show_bug.cgi?id=1927263
is fixed.

One thing I'm wondering is if this issue we are having with 4.7 is just some delay being moved around. Maybe we need to wait 1 minute more for the apiserver to be available, but after that, we can wait less time at the end for the rest of the cluster to come up (the 3 minutes wait we already have), because some of the initialization is now being done earlier? (not sure I'm clear ^^ )

One thing I'm wondering is if this issue we are having with 4.7 is just some delay being moved around. Maybe we need to wait 1 minute more for the apiserver to be available, but after that, we can wait less time at the end for the rest of the cluster to come up (the 3 minutes wait we already have), because some of the initialization is now being done earlier? (not sure I'm clear ^^ )

@cfergeau no it is not like that, problem here is somehow kubelet stuck to run any pod for more than a min which is why we need to increase the time, I am not even sure why it is happening because ideally all the static pods suppose to run as soon as the kubelet service is started but it is not the case here :(

/retest


I have no Output in Serial Monitor

I cant check whether the .ino file has been uploaded or not.When i open the serial monitor,all that i can see is that there is only a blank screen with nothing on it .Pls help me..

Figured It Out,Thanks


remove preview buttons for form live preview

I edited the create template so the user no longer needs to click preview to actually see it. I think it will help usability by allowing the user to see what exactly they are changing on the forms live.

Thanks for the PR, I checked your changes, it looks fine. However when I click on submit form button, it shows the submitted data on the right container. And I can't just go back to preview mode because you deleted the button.
Also it is kinda hard to understand that what you see on the right is a preview of the form on the left. We might need to put a label or something.

@Selmanh I added some functionality to submitting the form. Also, there was a fouc issue occurring when adding a new field, but that issue has been alleviated. Let me know what you think!

project isn't maintained anymore, thanks for the pull request.


feat: implement send packet

Description:
As a developer, I want to be able to create packets that include the necessary data, such as a sequence number and a timeout, and send them over the channel to the counterparty using the sendPacket function and want to handle errors or exceptions that may occur when using the sendPacket function, such as network failures or timeouts.
Commit Message
feat: implement send packet

see the guidelines for commit messages.
Checklist:

[x] I have performed a self-review of my own code
[x] I have documented my code in accordance with the documentation guidelines
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have run the unit tests
[ ] I only have one commit (if not, squash them into one commit).
[x] I have a descriptive commit message that adheres to the commit message guidelines

Please review the CONTRIBUTING.md file for detailed contributing guidelines.

Codecov Report

Merging #262 (85ed476) into main (cf8990e) will increase coverage by 0.13%.
The diff coverage is 64.77%.

@@            Coverage Diff             @@
##             main     #262      +/-   ##
==========================================
+ Coverage   43.82%   43.96%   +0.13%
==========================================
  Files          89       90       +1
  Lines       14437    14524      +87
==========================================
+ Hits         6327     6385      +58
- Misses       8110     8139      +29

Impacted Files
Coverage Δ

...osmwasm-vm/cw-ibc-core/src/ics04_channel/packet.rs
0.00% <ø> (ø)

...vm/cw-ibc-core/src/ics04_channel/packet/timeout.rs
73.17% <ø> (ø)

...w-ibc-core/src/ics04_channel/packet/send_packet.rs
64.77% <64.77%> (ø)

... and 1 file with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


missing dependencies

https://github.com/SNEWS2/SNEWS_Coincidence_System/blob/bf4861a72a96f306b0b75346a21f061ef35ee777/doc/requirements.txt#L1
I noticed that pandas or numpy are not listed in the requirements. If one is working on a new environment, and trying to install only snews_pt and snews_cs it will complain about it.
I'm opening the issue so that we don't forget.

in the latest poetry implementation this should be fixed


ConfigEditor updates

For standardisation across Grafana we're updating datasource config editors to be more consistent. This is a part of https://github.com/grafana/oss-plugin-partnerships/issues/225.
The config editor has been updated to replace legacy form component, replace InlineField with Field, and the config editor has been refactored to use the new config editor structural components. There is also now individual validation on required fields.
TODO:
Waiting for a new release of @grafana/ui in order to make use of the Divider component.

Fixes grafana/oss-plugin-partnerships#235

@aangelisc do we have a timeline for that ui release?


[Suggestion] Rarity tier and roll% display for uniques

I suggest adding some stats to unique pop-up:

Rarity tier for global drop uniques (can be taken from PoE Ladder website).
Overall roll percentage, as sum of all rolls on the item against sums of lowest and highest rolls.

Thanks for bringing this to my attention, I've never heard of that site. Sounds like a neat addition.
I thought about adding "roll health" in the past because the bars in the background are sometimes misleading (depending on the type of stat and its roll-range). I put it into my backlog because I couldn't find a satisfactory solution that wouldn't clutter the tooltip (I wanted to include it for every mod, also on rares). I can look into it again and limit it to uniques for now because the tooltip has less information there.

I found some time today to play around with your suggestion, and here's the first draft:

Since it's your suggestion, feel free to change any of these aspects (or add anything):

roll highlighting

perfect rolls are highlighted white + red

any other roll will be highlighted using the standard T1-T6 colors that can be customized in the settings: I don't know where to set the thresholds (for now it just goes down one tier every 5%, but that may be too strict)

the average roll-% uses the same highlighting as individual rolls

rarity/drop-tier highlighting

T0 is highlighted white + red, the rest uses the colors mentioned above

non-numerical tiers simply use the # color, but those could be further distinguished if preferred

%-values: could you check if the values make sense in the first screenshot? (especially the added flat dmg)

What I had in mind was just the global percentage, not one for each stat. But if you think they could be useful, then sure.
Not specific to this addition, but do roll bars take into account when a stat has reversed benefit? Like increased damage taken on Abyssus, or -mana cost on Praxis.
It looks like final roll % is average of all stats' %s. What I suggested was sum of current rolls compared to sum of minimum rolls and sum of maximum rolls, mostly because that's the way PoELadder counts its roll rating and that's what I wanted to use it for.
Otherwise, I don't think there's anything wrong with those values.

Not specific to this addition, but do roll bars take into account when a stat has reversed benefit? Like increased damage taken on Abyssus, or -mana cost on Praxis.

There are a few mods that I manually modified whenever I stumbled upon them and thought that a reversed bar would be more intuitive. There are also some inconsistencies within the game when it comes to whether the min or max value is better, e.g. the crusader mods "(51-60)% reduced ignite duration on you" and "(60-51)% reduced effect of shock on you".

What I suggested was sum of current rolls compared to sum of minimum rolls and sum of maximum rolls, mostly because that's the way PoELadder counts its roll rating and that's what I wanted to use it for.

Do you have a screenshot of that? And how does PoE Ladder's rating work in general?

Do you have a screenshot of that? And how does PoE Ladder's rating work in general?
Copied from the explanation given to me:

Take the latest stat ranges for each variable item property
Translate it into a 1 to X value which represents the full range of values for the stat so a 10 - 20 range becomes 1 - 11
Add the max of all ranges for an item to give the potential total for a "perfectly rolled" item
Sum up the actual scores per stat and divide it by the number calculated in step 3 then multiply by 100 to give a %age

Essentially:

Add up the minimums of all variable stat ranges
Add up the maximums of all variable stat ranges
Add up actual rolls for all variable stats
Evaluate p.3 value's position on the scale of p.1 to p.2

Hey there, had to take a break because I got sick and then my dog had an injury. I'm probably going to pick things up again this weekend or so.

do roll bars take into account when a stat has reversed benefit? Like increased damage taken on Abyssus, or -mana cost on Praxis.

I recently noticed that some rules I created broke at some point, which made me consider two things:

just use the game's native min/max roll-values, which doesn't require coming up with (annoying) custom rules

make the bars/values customizable on a mod-by-mod basis, so users can decide for themselves how they are displayed/calculated (off the top of my head, simply clicking a mod-text would invert the bars/values and save it for that specific string of text)

I'm leaning towards the second option but haven't checked how much work it would take to implement. An additional benefit would be that this approach is not limited to English game-clients (unlike custom rules).

What I had in mind was just the global percentage, not one for each stat. But if you think they could be useful, then sure.

After playing with that version of the tooltip for a bit, I feel that individual %-values add a bit of glance-value to uniques (similar to how it does for rare items, so it somewhat streamlines usage between the two categories) -- especially those whose mod-pools are heavily weighted towards one or two specific mods in terms of being build-enabling.

Do these numbers make sense?

Yep, looks fine.


Why isn't boost-python getting bumped?

The submodule for boost-python is pinned to https://github.com/boostorg/python/tree/8dd151177374dbf0aa5cb86bd350cf1ad13e2160. As of writing that commit is 18 months old.
It looks like the submodule hasn't been bumped since boost 1.77.0.
There have been a number of commits to its default branch since that pinned commit. In particular, https://github.com/boostorg/python/pull/385 fixes boost-python being broken in cpython 3.11, which is blocking many users (https://github.com/boostorg/python/issues/400, https://github.com/boostorg/python/issues/388, https://github.com/arvidn/libtorrent/discussions/7178)
What needs to be done to get this change into a released version of boost?

I think, and i don't really understand how this works, that boost-python created multiple tags for that commit on the same date of Jul 4, 2021.
Looking here: https://github.com/boostorg/python/tags we can see all these tags including 1.80.0 share this commit
git ls-remote -q -t --refs https://github.com/boostorg/python.git | grep 8dd151177374dbf0aa5cb86bd350cf1ad13e2160
8dd151177374dbf0aa5cb86bd350cf1ad13e2160        refs/tags/boost-1.77.0
8dd151177374dbf0aa5cb86bd350cf1ad13e2160        refs/tags/boost-1.77.0.beta1
8dd151177374dbf0aa5cb86bd350cf1ad13e2160        refs/tags/boost-1.78.0
8dd151177374dbf0aa5cb86bd350cf1ad13e2160        refs/tags/boost-1.78.0.beta1
8dd151177374dbf0aa5cb86bd350cf1ad13e2160        refs/tags/boost-1.79.0
8dd151177374dbf0aa5cb86bd350cf1ad13e2160        refs/tags/boost-1.79.0.beta1
8dd151177374dbf0aa5cb86bd350cf1ad13e2160        refs/tags/boost-1.80.0

I am going to guess this is part of the reason why the link does not get bumped here? Unless i just understanding this wrong btu it appears certain submodules are tagged and then bumped accordingly. For example.
https://github.com/boostorg/thread/tree/743d19d7d337af9705a882f55907e3b7622514b3
bumped 4 months ago. I am pretty sure this is relevant to why boost python is no updated?
That boost-python would need to redo the tag, essentially.

I don't believe the tags in a library are authoritative for how the library gets pulled into the megaproject. Rather it looks like libraries get pulled from their main branches regularly by CI: https://github.com/boostorg/boost/commits?author=boost-commitbot
I presume the tags in the library descend from megaproject releases, not the other way around.
Actually, maybe this is as simple as megaproject CI pulling from the wrong branch. It looks like boost-python was last pulled in https://github.com/boostorg/boost/commit/eb4a8fca7a928aa1b78283f591383fb70a27360a (Update python from master). Indeed https://github.com/boostorg/python/tree/master is at the old commit. However boost-python's default branch is named develop, not sure when that may have changed.

I am not sure how this is working but this seems to show the bot is responding to the submodule?

All tagged from this one commit
https://github.com/boostorg/python/commit/8dd151177374dbf0aa5cb86bd350cf1ad13e2160
As i said, i'm just guessing but it seems possible to be related.

I think boost-1.80.0 and so on are lightweight tags, which have no author or date of their own. They just point to a commit. The UI is misleading to say "(user) tagged this (date)" in this case. I can't find a conclusive way to test whether a commit is lightweight or annotated though, except that git show etc don't seem to show annotations.
(Obviously the author didn't create a bunch of tags for future boost versions up to today's, on the same day they created the commit 18 months ago)
As a lightweight tag, boost-1.80.0 has no authorship or history to figure out who created it. I'm just guessing it was created by CI given the other context.

https://github.com/boostorg/python/commit/909a4d1530f3e826c7e45e945cde65069291da11
Maybe it requires a merge from develop into master as this is what appears to have happened last time.
@stefanseefeld can you please explain how this works as we need the merged commit from develop?


Karpenter consolidation rate is very high after upgrade

Description
Observed Behavior:
> helm history karpenter -n karpenter
> REVISION	UPDATED                 	STATUS    	CHART            	APP VERSION	DESCRIPTION
> 1       	Wed Nov 22 09:57:48 2023	superseded	karpenter-v0.31.0	0.31.0     	Install complete
> 2       	Tue Jan 30 10:57:11 2024	superseded	karpenter-v0.31.3	0.31.3     	Upgrade complete
> 3       	Fri Feb  2 00:47:37 2024	superseded	karpenter-v0.32.5	0.32.5     	Upgrade complete
> 4       	Sun Aug  4 21:13:37 2024	superseded	karpenter-0.35.4 	0.35.4     	Upgrade complete
> 5       	Sun Aug  4 21:27:40 2024	deployed  	karpenter-0.36.2 	0.36.2     	Upgrade complete

After karpeneter is upgraded to 0.36.2 version, we observed there are too many node restarts i.e. consolidation rate is very high.
Due to this on our production environment new nodes are spinning very fast . Please refer below cmd:
`kubectl get nodes --output=json | jq '[.items[] | select(.metadata.creationTimestamp | fromdateiso8601 > (now - 86400))] | length'
30
`
This means within last 24 hpurs 30 nodes were spinned newly, resulting all the workloads are shifted to these new nodes. We are seeing very high cost spike due to this. As the new nodes are sppinned, all the application pull ECR images again on these nodes resulting $3-4K extra cost going in these.
Expected Behavior:
cosolidation rate should be normal i.e. till 0.32.5  version we have not observed this issue.
Reproduction Steps (Please include YAML):
Attaching karpeneter deployer yaml and one of the nodepool config.
loki-nodepool.txt
karpenter-deployment.txt
Versions:

Chart Version: 0.36.2
Kubernetes Version (kubectl version): 1.28

@jonathan-innis @engedaam @njtran
Can someone please look into this/ prioritize this? This is really impacting AWS cost.

@sushama-kothawale Can you share karpenter controller logs from when this happened?

Also wondering if you directly upgraded from v0.32.5 to 0.36.2? I would definitely not recommend doing that without going through every other version so more like 32->33->34->35->36.
If you followed the correct path, my next question would be why do you not expect to see the node churn that you see?

I guess these findings from my point of view is a Work In Progress, so take it with a grain of salt and strictly for discussion purposes;
Karpenter v1.0.6 here. Karpenter is working "fine". It does all of its things ... but it is churning nodes in certain clusters and nodepool spec combinations ...
One finding so far is that; if you think you will achieve stability by setting a higher value for consolidateAfter: , you may actually be fooled into two things:

consolidation will be less efficient over time as the chances of the "correct" nodes being consolidatable at any point in time is lower - ie. MORE nodes will slowly drift into being low utilization, and pods coming and going will randomly "touch" the node from being consolidatable (it could be horizontalpodautoscaler adding pods, cronjobs creating and removing pods....)
The chances of a high number of nodes being "almost consolidatable" is now larger, thus you might end up in a scenario where you keep "randomly" churning through many of your nodes over time, as there is now SEVERAL UnderUtilized nodes as the "binpacking" gets worse and worse over time.

So, setting the consolidateAfter to a low value, such as consolidateAfter: 30s or 1m will increase the chances of CORRECT consolidation, thus packing things tigher across ALL nodes. What you probably should end up with is that there's only one or a few "tail" nodes that is worse packed than the others - and how bad that node gets packed and thus how often THAT node keeps getting consolidated may be depending on your nodepool spec (is a smaller node even available to be picked? do you have cronjobs that keep creating a scale-up, followed by a scale-down?). My experience so far is that shorter consolidateAfter helps because Karpenter can pack most nodes better thus creating a more predictable "tail" of nodes... but I kindof wish it could be doing LESS flapping on the tail-end of the nodes so to speak.
TL;DR -

Setting a minimum size for node selection is necessary to avoid getting TOO MANY TOO SMALL nodes but can also create a node pool "tail" size problem.
Setting a high consolidateAfter:  value makes consolidation more difficult and more random.

@jigisha620 Firstly thanks for looking into this quickly. To answer your questions, Its not direct upgrade, sharing karpenter upgrade history here:
As and when we upgrade k8s cluster, we upgrade karpenter wrt eks compatible version.
helm history karpenter -n karpenter
REVISION	UPDATED                 	STATUS    	CHART            	APP VERSION	DESCRIPTION
1       	Wed Nov 22 09:57:48 2023	superseded	karpenter-v0.31.0	0.31.0     	Install complete
2       	Tue Jan 30 10:57:11 2024	superseded	karpenter-v0.31.3	0.31.3     	Upgrade complete
3       	Fri Feb  2 00:47:37 2024	superseded	karpenter-v0.32.5	0.32.5     	Upgrade complete
4       	Sun Aug  4 21:13:37 2024	superseded	karpenter-0.35.4 	0.35.4     	Upgrade complete
5       	Sun Aug  4 21:27:40 2024	superseded	karpenter-0.36.2 	0.36.2     	Upgrade complete
6       	Sun Nov 10 01:44:43 2024	failed    	karpenter-0.37.2 	0.37.2     	Upgrade "karpenter" failed: timed out waiting for the condition
7       	Sun Nov 10 02:00:52 2024	failed    	karpenter-0.37.2 	0.37.2     	Upgrade "karpenter" failed: timed out waiting for the condition
8       	Sun Nov 10 02:13:22 2024	deployed  	karpenter-0.37.2 	0.37.2     	Upgrade complete

In the last 24 hours, we've observed a significant node churn, with over 30 nodes being replaced in our ~80-node cluster. There have been no new deployments or changes in resource requirements in production, so it’s unclear why nodes are cycling at this rate.
As I'm new to Karpenter and still familiarizing myself with this setup, I’d appreciate assistance in investigating this issue. High node churn leads to new nodes being launched frequently, which in turn increases costs for AWS services—for instance, each new node pulls images from ECR, resulting in higher ECR expenses, as well as additional networking costs.
Any guidance or recommendations on how to stabilize node behavior and reduce unnecessary churn would be valuable.
Attaching the karpenter logs here, there are 2 pods running for karpenter:
1st pod logs:
`{"level":"INFO","time":"2024-11-10T02:12:07.674Z","logger":"controller","message":"webhook disabled","commit":"6e9d95f"}
{"level":"INFO","time":"2024-11-10T02:12:07.674Z","logger":"controller.controller-runtime.metrics","message":"Starting metrics server","commit":"6e9d95f"}
{"level":"INFO","time":"2024-11-10T02:12:07.675Z","logger":"controller","message":"starting server","commit":"6e9d95f","name":"health probe","addr":"[::]:8081"}
{"level":"INFO","time":"2024-11-10T02:12:07.675Z","logger":"controller.controller-runtime.metrics","message":"Serving metrics server","commit":"6e9d95f","bindAddress":":8000","secure":false}
{"level":"INFO","time":"2024-11-10T02:12:08.576Z","logger":"controller","message":"attempting to acquire leader lease karpenter/karpenter-leader-election...","commit":"6e9d95f"}`

Attaching the other one karpenter-pod2.txt

In the last 24 hours, we've observed a significant node churn, with over 30 nodes being replaced in our ~80-node cluster. There have been no new deployments or changes in resource requirements in production, so it’s unclear why nodes are cycling at this rate.

@sushama-kothawale ; One specific possible reason for high churn, is if you're using the latest AL2023 AMI which was released very recently (and rolled out to various regions/zones): https://github.com/awslabs/amazon-eks-ami/releases/tag/v20241109 .
This was the case for my clusters today at least.
Note that the EKS/kubelet version is the same, but typically the version will be listed in the Node 'System Info > OS Image'

@jortkoopmans In our setup its quite stable as we control amiselctors in ec2instance class config. So AMIs are updated periodically/manually. so node chrun due to AMI change / drift is not the case in ours.

@jigisha620 Could you please review this? I’ve shared the logs and all relevant information above. Let me know if you need any more details.

@sushama-kothawale Have you found any solution/workaround? We are facing the similar issue.

How we worked around it - Allowing it to only downscale one minute every 30m.
Stable enough that we enabled karpenter on all envs again.
          - nodes: "1"
            schedule: "0 * * * *"
            duration: 1m0s
          - nodes: "0"
            schedule: "1 * * * *"
            duration: 29m0s
          - nodes: "1"
            schedule: "30 * * * *"
            duration: 1m0s
          - nodes: "0"
            schedule: "31 * * * *"
            duration: 29m0s

thanks @thomaspeitz for sharing this.
I have applied below disruption budgets in nodepool, as we have to delete/consolide nodes a particular window i.e. hourly basis.
  disruption:
    budgets:
      - duration: 5m
        nodes: 10%
        schedule: '@hourly'
    consolidateAfter: 2m

Since I applied these ch
nodepool-config-budget.txt
anges i do not see any single event of disruption i.e. disrupting via consolidation delete  . Its been 4+hours now.
can you please help here to identify if I am doing something wrong in the config?
karpenter-0.37.2  - karpenter version
Attaching the nodepool config here.
nodepool-config-budget.txt

   consolidationPolicy: WhenEmptyOrUnderutilized is supported with v1 of Karpenter
 consolidationPolicy: WhenUnderutilized | WhenEmptyis supported with 0.37 of Karpenter
Newest version of 0.37 should support probably in the spec all, but code maybe not. Otherwise down / upgrades of software would not work.
Maybe this is already the issue here.

thanks @thomaspeitz for the reply! Seems like the same case with me. Karpenter version 0.37 supports v1 api, so I updated the nodepool config with v1 as apiVersion and updated the above disruption budgets. But its not working as expected
Maybe karpenter version issue. Will try that now, hoping that will not get issues while upgrade as I have already updated the nodepool and ec2nodeclass apiversion to v1.

@thomaspeitz We have upgraded karpenter from v0.37.2 to v1.0.8 version. I tried to apply  below disruption budget configs, but none of them is working as expected.
1st try:::
`  disruption:
    budgets:
      - duration: 5m
        nodes: 10%
        reasons:
          - Underutilized
          - Empty
        schedule: '@hourly'
    consolidateAfter: 0s
    consolidationPolicy: WhenEmptyOrUnderutilized`

Expected result:
Karpenter should do consolidation on empty/underitlised 10% nodes for starting 10 minutes of each hour, and then it should stop the consolidation/disruption in next 50 minutes. This should repeat on every hour.
2nd try :::
`  disruption:
    budgets:
      - duration: 50m
        nodes: "0"
        reasons:
          - Underutilized
          - Empty
        schedule: '@hourly'
    consolidateAfter: 0s
    consolidationPolicy: WhenEmptyOrUnderutilized`

Expected result:
Karpenter should stop consolidation on empty/underitlised nodes for first 50 minutes of each hour, and the in the remaining 10 minutes it should do delete/terminated the nodes. This should repeat on every hour.
None of them is working, not sure what is going wrong here. @thomaspeitz Can you please help me here if I am missing something?
I can see continuous disruptions even after applying above 2 budgets.
Karpenter verion :: public.ecr.aws/karpenter/controller:1.0.8@sha256:9ea26ba59f3b104bf7df24bb0ae6eeaec94938d86c47bca81028dff1c777b654
karpenter logs are attached .
karpenter-logs.txt

One key improvement we implemented was disabling drift at the global level. Starting from version 0.33.0, drift is enabled by default in the FEATURE_GATES, which seems to be the main change that triggered these issues:

0.33.0 enables Drift=true by default in the FEATURE_GATES.

By disabling drift from the values file here, our system became noticeably more stable:
featureGates:
    # -- drift is in BETA and is enabled by default.
    # Setting drift to false disables the drift disruption method to watch for drift between currently deployed nodes
    # and the desired state of nodes set in nodepools and nodeclasses
    drift: false

Note: Disabling drift in this manner is not supported in versions  >0.37

FWIW drift can still be disabled via reason at the NodePool level:
    budgets:
      - nodes: 0
        reasons:
          - Drifted


[4.0][Performance Improvement] Columns, filters and fields should be loaded when needed

Bug report
Not a bug, improvement. If you have several relations in relatively big table, page loading takes too much time.
What I did:
Defult CRUD controller created.
What I expected to happen:
addFilters, addFields and addColumns should be populated when needed.
What happened:
On every request addFilters, addFields and addColumns are populated.
What I've already tried to fix it:
        $currentScreen = $this->getCurrentScreen();
        if (in_array($currentScreen, ['index', 'show', 'search'])) {
            $this->addColumns();
            $this->addFilters();
        }
        elseif (in_array($currentScreen, ['create', 'edit'])) {
            $this->addFields();
        }

Backpack, Laravel, PHP, DB version:
BP: 3.4.6., L:5.6.18, PHP: 7.2.4, Mysql: 5.7.x

Hi @turkeryildirim ,
Thank you for the improvement suggestion. I do agree it's suboptimal to have everything loaded on every request. This is mainly due to how we define a CrudPanel - we define everything inside the setup() method.
Adding fields/filters/columns with relationships does get the relations, so that might have the biggest impact on performance, and where we can make major improvements.  I'll need to run some tests first, to see the impact. A backwards-compatible way to improve performance could be to fetch the relationships and everything else on getFields() instead of addField(). That should:

keep the syntax as is (in the setup() method);
restrict  addField(), addFilter(), addColumn()  to just writing stuff in an array or collection, which would have minimal performance impact;
move the "heavy lifting" to getFields(), getColumns(), getFilters(), which are only called in their respective methods/requests;

I'll be back.

If there are relations, does splicing in a with somewhere appropriate help here?

@lloy0076  we can already do $this->crud->with('categories');. It definitely improves performance, but... could always do better...

Update: In v4 there are two places you can move your $this->crud calls so that they're only loaded when that operation is happening:
public function setup()
{
    $this->crud->operation('list', function() {
        $this->crud->addColumn('text');
    })
}

public function setupListConfiguration()
{
    $this->crud->addColumn('text');
}

They both do the same thing, developers can use which one they prefer.
Details in this long PR here - https://github.com/Laravel-Backpack/CRUD/pull/2000
Closing this, as v4 fixes it :-)
Thanks again for the suggestion @turkeryildirim , you were right!
Cheers!


Update getting_access.md

Updating to point to App Builder trial as the Runtime trial is not longer valid.

Will do! Thanks for the confirmation. I was unsure which to make the change to. Do I close this then and just update the gatsby version?

@gribbletog let's do both until the Gatsby one goes live in the next few weeks.


Wrong "legacy" project supported?

When you use the "detailed view" button you get to the project from 2017 and not the current Changes Browser. Is this really how it should be?
When I thought about this alone while listening to the presentation it didn't make much sense to me. Especially since that is the one we wanna replace.

Ask Patrick first

What happened to this? @strawberriesandcheese, @SilvanVerhoeven, @marcelgarus did you get an answer?

It's a long time ago, but I believe that was the right behavior. The browser from 2017 has a very straightforward-to-use design simply showing the list of changes, so it's actually less confusing than the tool developed before our year. AFAIK Patrick still uses the browser from 2017 anyway, so we link back directly to this tried-and-tested tool.
(So, I believe this issue can be closed)


Adopt pylint and lint the existing modules

What is currently missing?
A set of standards around code style would help code readability and consistency among different modules of the project. Pylint seems like the way to go option.
Is this a feature you would work on yourself?

[ ] I plan to open a pull request for this feature

do you plan to work on that @safa-topal? also, do you recommend adding that to the workflow check like github actions, for example?

I'll probably leave @TibsAtWork to comment!

I'm a bit out-of-date with the current best practices, so a useful task, in itself, would be to do the research and report back on what is considered the best thing to do at the moment.
Historically, I believe people have either used pylint (which tends to require configuration) or other more simpler opinionated (less configurable) tools like flake8 (there certainly used to be more than one choice for this sort of tool, but flake8 was one I used). These can be run as another part of the GitHub workflow - see the https://github.com/Aiven-Open/metadata-parser/tree/main/.github/workflows directory for existing workflows.
There's also the possibility of running black at some stage, to reformat the code in a consistent way - I've seen this done using a pre-commit hook (see https://black.readthedocs.io/en/stable/integrations/source_version_control.html). One might then run black in the CI toolchain to check that there are no changes - this makes sure contributors are remembering to run it!. It would obviously be up to @ftisiot whether he's happy to have black run on the codebase


feat: support pnpm

Signed-off-by: Yi Yang<EMAIL_ADDRESS>
[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
[x] The changes are appropriately documented (if applicable).
[x] The changes have sufficient test coverage (if applicable).
[x] The testsuite passes successfully on my local machine (if applicable).

Summarize your changes:
Adding PNPM support - picking up where https://github.com/electron/forge/pull/3351 left off.
Related issue: https://github.com/electron/forge/issues/2633

Is this PR ready to go? If so, is there an ETA on when it might get merged?

I wasn't the original author of this code but happy to do what it takes to get this one released - we use PNPM in WDIO and native support here would definitely help.

I think there are some legitimate test failures that we'll have to investigate in slow-tests.
It may be that pnpm is hanging somewhere along the line? It seems like all 3 platforms are hanging and CircleCI is cutting off the CI jobs.

It is hanging on this line, the package step of the import test.
Added more logging to core/api/package.ts and it seems this await never resolves...

I was looking in the wrong place.  All of the tests passed in d334388 and subsequently broke with the merge in cf43b13.  Looking at the latter, it's obvious why.

Not sure what is going on here and at the moment I don't have the time to dedicate to it.  Hopefully I get some more time, happy for someone else to pick this up though.

@goosewobbler please can you resolve conflicts?


Make surface component easier to use

Surface component gives the background, shadow, etc., but it should be easier to achieve the common surface appearance seen in apps like Synchro (title section, content, dividing line, padding, etc).

Within packages/itwinui-css/src/surface/surface.scss we have 2 mixins.

@mixin iui-surface is used across multiple iTwinUI components and applies the universal visual styling.  If you do a repo-wide search for @include iui-surface you'll see it used in around 8 places.  This mixin could be & should be used in more places, but this mixin was introduced fairly recently.
@mixin iui-surface-component is where this task is focused.

Here are some screenshots of what the surface component looks like across different Bentley products:

Patterns that I am identifying from these screenshots:

There is a header area separated from the body with a dividing line.  This header has large left aligned text.  In the screenshots, 1 shows an info icon to the right of the title text & 1 shows tabs underneath the title text.  We should plan to support an icon in front and/or behind the title text.  We should probably also support a right aligned section incase people want to add something like this.

Some of the surfaces have a button affixed to the bottom that go full width.  I would suggest copying the styling of the tile buttons as they look pretty similar, maybe you could reuse the tile mixin.
When there is no content inside a tile, we horizontally and vertically show an empty state with some text and an icon.
We have no idea what our used will place inside our tiles.  In some examples the content goes edge to edge, in other examples the content area appears to have padding.
The surface can appear at various widths and heights and must be responsive.
Some content areas might be scrollable, some others might not and instead grow in height.

Ultimately, I would like to see all of these patterns included in the surface component, but if we want to split these into multiple smaller tasks I would also be ok with that.

I think it won't be feasible to offer all of these parts built into the same component. We might want to split these up into smaller utilities.
I can imagine the react api usage to be like:
<Surface>
  <Surface.Area padded>
    <TextWithIcon text='Named versions' endIcon={<SvgSettings />} />
  </Surface.Area>
  <Surface.Divider />
  <Surface.Area fill>
    <Tabs labels={['Named versions', 'Changes']}>
      <CustomList /> // not part of itwinui
    </Tabs>
  </Surface>
  <Surface.Divider />
  <Surface.Area>
    <Button styleType='borderless'>View all</Button>
  </Surface.Area>
</Surface>

There are three interesting bits in this snippet:

Surface.Area: optionally applies uniform padding and optionally allows expanding to fill the available space.
Surface.Divider: literally just a line!
TextWithIcon: a new utility component i proposed in #586

We also have full control over how we want the visuals to look so we can refine it and reduce complexity.


Change framework names

Based on https://github.com/aspnet/Announcements/issues/3

Hi @hishamco, I'm your friendly neighborhood Microsoft Open Technologies, Inc. Pull Request Bot (You can call me MSOTBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft Open Technologies, Inc. and real humans are currently evaluating your PR.
TTYL, MSOTBOT;

@glennc

Thanks @hishamco.
@glennc :shipit:

You are welcome @muratg

Thanks @hishamco, but we made this change as part of a larger change recently. I am sorry I didn't see this before I merged the larger change or I would've merged your PR fist. Thanks for going to the effort to contribute it. I appreciate the help :)

@glennc no problem .. all the best ..


client.member.create raises JSON error

I'm trying to create a member in a list but I'm getting the following error:
File "/usr/local/lib/python2.7/dist-packages/mailchimp3/entities/member.py", line 38, in create
return self._mc_client._post(url=self._build_path(list_id, 'members'), data=data)
File "/usr/local/lib/python2.7/dist-packages/mailchimp3/mailchimpclient.py", line 36, in _post
r = requests.post(url, auth=self.auth, json=data)
File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 88, in post
return request('post', url, data=data, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 44, in request
return session.request(method=method, url=url, **kwargs)
TypeError: request() got an unexpected keyword argument 'json'
This happens even if I take the example from the README, adjusting it for the list reference.

Sorry - I was using a version of requests that was too old.


Fix more OCSP_resp_get0_signer() nits

Fix a typo for "retrieve" and some indentation.
Need to fix these on master before merging back to 1.1.0 in #4723
cc @mattcaswell

thanks for the review; pushed and closing.


Update to version 2.3.2

Adds an alert to take a survey run by UW when user taps on the StopInfo button in Puget Sound. More details in #366.

@aaronbrethorst How would you like to handle merge with develop? Wait until it is pulled into master and then potentially rebase?

@caitbonnar don't forget you'll need to update the info.plist file, too. Regarding the merge, I don't really care one way or another. I'd be fine with a simple merge of master into develop or a cherry-pick.

@aaronbrethorst Yep! Doing that now. And sounds good, I'll take care of it. Thanks!

@aaronbrethorst I cherry-picked the relevant commits and rebased accordingly in the develop branch. Git might still be picky about automatically merging when you try to pull dev into master, but it should have hopefully mitigated the conflicts.

Awesome, thanks!