.NET applications invoked through  tasks may send malformed UTF-8 to their children

This was reported internally in reference to the Windows Driver Kit.
Visual Studio 2015 Update 1 shipped with a fix (#143) to allow tools to run with paths that included non-ANSI Unicode characters.  It did this by changing the Windows codepage within the .cmd script emitted by Exec to one that supports UTF-8.
This causes problems when a child process spawns another child process and attempts to write to its standard input.  From the excellent internal repro:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="Repro">
        <Exec Command="repro.exe" />
    </Target>
</Project>

Where repro.exe is compiled from
using System;
using System.Diagnostics;
using System.IO;

namespace Repro
{
    class Repro
    {
        static void Main(string[] args)
        {
            using (Process cmdProcess = new Process())
            {
                ProcessStartInfo cmdProcessStartInfo = new ProcessStartInfo("cmd.exe");
                cmdProcessStartInfo.UseShellExecute = false;
                cmdProcessStartInfo.RedirectStandardInput = true;
                cmdProcess.StartInfo = cmdProcessStartInfo;
                cmdProcess.Start();

                StreamWriter inputWriter = cmdProcess.StandardInput;
                inputWriter.AutoFlush = true;
                inputWriter.WriteLine("set CL=");
                inputWriter.WriteLine("exit");
                cmdProcess.WaitForExit();

                Console.WriteLine("Exit code: " + cmdProcess.ExitCode);
            }
            Console.Write("Repro Exiting");
        }
    }
}

Produces this output:
Microsoft (R) Build Engine version 14.0.24720.0
Copyright (C) Microsoft Corporation. All rights reserved.

Build started 12/7/2015 5:00:43 PM.
Project "d:\work\sdv_encoding\project.vcxproj" on node 1 (default targets).
Repro:
  repro.exe
  Microsoft Windows [Version 10.0.10240]
  (c) 2015 Microsoft Corporation. All rights reserved.

  d:\work\sdv_encoding>���set CL=
  '���set' is not recognized as an internal or external command,
  operable program or batch file.

  d:\work\sdv_encoding>exit
  Exit code: 9009
  Repro Exiting
Done Building Project "d:\work\sdv_encoding\project.vcxproj" (default targets).

Note the super-sketchy "unknown Unicode character" glyphs that cmd.exe is complaining about not understanding when prepended to set.

I narrowed down what was going on here by adding logging to the repro program:
Console.WriteLine($"input enc: {cmdProcess.StandardInput.Encoding}");

That showed that for success cases (repro.exe run from a bare command line), the encoding was System.Text.SBCSCodePageEncoding, while when invoked from MSBuild it was System.Text.UTF8Encoding.
By default, UTF-8 encodings in .NET use a Unicode Byte Order Mark at the beginning of the stream.  cmd.exe does not support BOMs, and the UTF-8 BOM is three bytes, so it's probably what we're seeing here.
This hypothesis is confirmed by setting the codepage at an interactive console with chcp 65001, then running the program.  The same error is produced.
Since that's the case, while this problem was exposed by the MSBuild change, it's not exactly caused by it.
A managed tool can ensure that it won't send a BOM to a child process's stdin, but only indirectly.  The source for the Process class creates a child process's stdin stream by creating a new stream based on the current process's Console.InputEncoding.  Unfortunately, there's no good way to determine whether a UTF-8 encoding will or will not emit a BOM.
Adding this snippet before creating a child process seems to avoid the issue by ensuring that a BOM is never sent to a child process if the current process is in UTF-8 land.
if (Console.InputEncoding.Equals(Encoding.UTF8))
{
    Console.InputEncoding = new UTF8Encoding(false);
}

Just as a FYI: A BOM has no place in a UTF-8 encoding. A byte order mark only has a place in a 16-bit encoding, where it is unknown whether the encoding it little- or big-endian, and so the first character to be emitted in the 16-bit stream is a BOM. In translating a 16-bit stream to a UTF-8 stream, any BOM should be stripped out and not emitted at all.

@PKRoma I thought that too, but it doesn't appear to be specified that way.  http://unicode.org/faq/utf_bom.html#bom4 explicitly mentions that it is valid in UTF-8.
And, of course, programs are at the mercy of the implementations of the .NET Framework and the Windows shell.  .NET's UTF8Encoding uses a BOM by default, and cmd.exe cannot interpret one, so this problem arises.

Another possible workaround:  change the Exec task's Command attribute to prepend
chcp 437 &&

to the command.  That will effectively undo the change we made and return cmd.exe to the "standard" codepage (for US English).  It may be easier to deploy this workaround than to fix the tool that is called.

I think that MSBuild is doing the right thing; the problem is with the WDK.  I don't want to lose the ability to use Unicode filenames in MSBuild tasks.

Hmm. I still have a question here. How is it that cmd.exe is interpreting the first three bytes of stdin in repro.exe as three separate characters and printing error blobs for each of them? If the problem only exists when the encoding is 65001 as you found, then they shouldn't be interpreted as three separate characters at all, but rather, if anything at all, they should be interpreted as a single BOM Unicode character and cause only one error blob? Once it figures out that it's got a BOM character, couldn't cmd.exe then treat it as a NOP?

@PKRoma I think the issue is that the innermost cmd.exe is operating with the system default codepage (which is 437 on US English Windows).  When it gets fed the UTF-8 BOM bytes, it interprets them each as bogus ASCII.  I'm not sure what would happen if you started cmd.exe, ran chcp 65001, and then streamed UTF-8-with-BOM to it.

@drbo Thanks for the feedback.  We agree.  Unless we hear from more folks that this is causing real problems, we plan to keep the current behavior.

Update:  There are indeed some more problems related to this change.  See comments on Brian Harry's Update 1 blog post, both of which used al.exe in a post-build event (which is just a UI way of creating an Exec).  @jaredpar posted the chcp 437 workaround there, which worked for those folks.
There was another related problem report there as well.  That user had an em dash in their project file rather than a hyphen character.  This sort of thing happens all the time when you copy/paste code from Outlook or another program that autocorrects.  Prior to Update 1, it looks like that dash was fallback encoded to the tool-expected hyphen.  After Update 1, the dash was included in the Exec-generated .cmd file and the command line tool stopped recognizing it.

Team triage: we're going to attempt to conditionalize the codepage change, so that if the string from the project contains non-ANSI characters we'll use the current behavior of changing the codepage to Unicode. If the string is representable in the current system encoding, we'll use the old behavior with no chcp. This makes understanding this sort of problem when it occurs vastly more difficult, but should dramatically reduce the incidence rate.

@rainersigwald

Team triage: we're going to attempt to conditionalize the codepage change, so that if the string from the project contains non-ANSI characters

Which string are you referring to here?
In addition to detection have you all considered an option to let users specifically opt in / out of this behavior?

@jaredpar The string is the (property- and item-expanded) contents of the Exec's Command attribute. It sounds like @AndyGerlicher is planning to allow a codepage override in addition to the detection logic. IM transcript:
[1/20/2016 6:18 PM] Andy Gerlicher:
so... should we add a property to override for Exec?
CodePage as int? something like that?
[1/20/2016 6:18 PM] Rainer Sigwald:
I say no because it's basically impossible to decide when to use it
for example, the UI-accessible PostBuildEvent is implemented with Exec
are we going to modify that target definition to take an additional variable?
I guess we could
[1/20/2016 6:20 PM] Rainer Sigwald:
we could just have a convention that all Exec tasks take an optional $(ExecCodepageNumber) and if an individual is having problems with a project they could set that
[1/20/2016 6:20 PM] Andy Gerlicher:
I would say we don't modify anything, just have an out for the user if a workaround is needed
[1/20/2016 6:21 PM] Rainer Sigwald:
but to use the out, they'd have to modify the callsite of Exec
if it's in our targets or in a package they can't do that
[1/20/2016 6:21 PM] Andy Gerlicher:
I'm thinking for custom Exec, not our stuff
this change should fix our stuff
[1/20/2016 6:22 PM] Rainer Sigwald:
oh, so you're thinking in addition?
[1/20/2016 6:23 PM] Andy Gerlicher:
yeah. like an OverrideCodePage property you could set
and if you set that it will always use it
on that exec call
[1/20/2016 6:23 PM] Rainer Sigwald:
that makes sense to me, I think

@rainersigwald @AndyGerlicher how would one specify the equivalent of CP_ACP in this setting?  Essentially asking for the behavior before this change?

This issue is currently breaking my builds in that the error stream of one of my applications called via exec is suddenly producing something (Character 65279, which should be a zero-width no breaking space) when it shouldn't.
So for those of us who have been hit by this is there a work around until VS2015.2 comes out (assuming this patch will be in that release)?

@pvandervelde #442 will be in Update 2 (and it is in the currently-available CTP). Until then, you can work around the way that you did, or by explicitly setting the codepage in the Exec task invocation as mentioned above.
I'm surprised at a few things from your situation:

Your task invokes a Process directly, not through Exec. That shouldn't be subject to the codepage change. Are you invoking msbuild.exe within an Exec task from another MSBuild?
The fact that you're seeing the BOM emitted to an otherwise-empty stream is interesting, though. IIRC .NET does not emit it when the stream is set up, only before the first written character. It might be worth looking at the behavior of OpenCover when run under the Unicode codepage--which is something that a user could set up outside of MSBuild, which would potentially cause problems regardless of MSBuild's behavior.


Pull access denied for ollama-ipex-llm

Hi, thanks for your work. Using docker compose up with your yaml gives an error
! ollama-ipex-llm Warning      pull access denied for ollama-ipex-llm, repository does not exist or may require 'docker login': denied: requested access to the resource is denied                                                      1.6s
Just wondering if you know of a solution? Thanks again.

Hi
The image ollama-ipex-llm should be automatically built in your workstation when you run docker compose.
Check if you have an image locally with the name ollama-ipex-llm by running podman images:
$ podman images | grep ollama-ipex-llm
localhost/ollama-ipex-llm                   latest      e2a7f9z4c9id  2 months ago 19.6 GB

If it doesn't exist, try building the image manually to see if it's causing any issues:
$ podman build -t ollama-ipex-llm ./

PD: I use podman, should work the same with docker command instead.

Thanks for taking the time to answer me. I didn't realise it wasn't really an error. I'd messed around with manually installing everything according to Intel's instructions () and got it working eventually but had an issue where it was so slow to get responses because of something to do with no parallelisation with a multimodal model (can't remember the exact wording; it's been a while). so I thought I'd try docker images as it's quicker to iterate things. With your docker version I'm able to access open webui now on port 3000, but I can't seem to download any models for some reason and am getting an error in the terminal occasionally which may or may not be related (googling leads me to believe it's related to OneAPI).
ollama-ipex-llm  | /usr/local/lib/python3.12/dist-packages/bigdl/cpp/libs/ollama: error while loading shared libraries: libsycl.so.7: cannot open shared object file: No such file or directory
Trying to use the normal command in a terminal: ollama pull  results in ollama command not found.
It's quite possible I'm being a bit thick (again) as I remember being able to download models through open webui before, but for the life of me I can't figure it out. I appreciate this is is a separate issue, however.

(Clicking on the + does nothing)
Thanks again.


Add Burkina Faso holidays

Proposed change

Add Burkina Faso holidays (close #1158).
Type of change

[x] New country/market holidays support (thank you!)
[ ] Supported country/market holidays update (calendar discrepancy fix, localization)
[ ] Existing code/documentation/test/process quality improvement (best practice, cleanup, refactoring, optimization)
[ ] Dependency upgrade (version update)
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] Breaking change (a code change causing existing functionality to break)
[ ] New feature (new python-holidays functionality in general)

Checklist

[x] I've followed the contributing guidelines
[x] This PR is filed against beta branch of the repository
[x] This PR doesn't contain any merge conflicts and has clean commit history
[x] The code style looks good: make pre-commit
[x] All tests pass locally: make test, make tox (we strongly encourage adding tests to your code)
[x] The related documentation has been added/updated (check off the box for free if no updates is required)

coverage: 99.991%. remained the same when pulling 4ac2cffcc963e906ef39792cf178e921dad5a504 on KJhellico:add-burkina-faso into 3512c9b66b41a4652953c361c668d7bd6323de01 on dr-prodigy:beta.


Authentication for Meltano Analyze

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/1
Originally created by @joshlambert on 2018-07-25 16:40:57

We need to add user authentication to Meltano Analyze. As an MVC we should:

Support OAuth with GitLab (others are a bonus, but no need to test for now)

Implement social login (GitLab only for now) with Flask Security

View 12 previous comments from the original issue on GitLab


Reference documentation updates for menuItems

What's in this PR

Update reference documentation for menuItems and onCustomMenuSelection props, to reflect the changes made to it in Release v12.3.0. The changes are described in #2610

@naveennazimudeen Thanks for this PR. @TheAlmightyBob I made a follow up https://github.com/react-native-webview/react-native-webview/pull/3066 with the updated types. (I can't answer for the why...)

@TheAlmightyBob Thanks for reviewing the PR. I have updated WebViewTypes.ts.
The requirement was to show only the menu items passed replacing the default ones.
To add on to default menu items, there is a way to do in iOS by changing to YES or calling the parent canPerformAction here. I didn't see (or couldn't figure out yet) a way to do it in Android.
Since default context menu can sometimes be a long list, as the requirement comes up, we will have to see if there is a need to keep some and not all the default menu items, and if there is a need to order them.


[L5] ->remember() alternative broken (possible PEBCAK)

// Worked in L4
$post = Post::remember(1440, 'test')->find(1);

// Alternative L5 throws error
Cache::remember('test', 1440, function(){
    return Post::find(1);
});

Error: Serialization of 'Closure' is not allowed
Trace:
1 in FileStore.php line 104
2 at serialize(object(Post)) in FileStore.php line 104
3 at FileStore->put('test', object(Post), '1440') in Repository.php line 141
4 at Repository->put('test', object(Post), '1440') in Repository.php line 197
5 at Repository->remember('test', '1440', object(Closure))
6 at call_user_func_array(array(object(Repository), 'remember'), array('test', '1440', object(Closure))) in CacheManager.php line 312
7 at CacheManager->__call('remember', array('test', '1440', object(Closure))) in Facade.php line 216
8 at CacheManager->remember('test', '1440', object(Closure)) in Facade.php line 216
9 at Facade::__callStatic('remember', array('test', '1440', object(Closure))) in index.htm line 13
10  at Cache::remember('test', '1440', object(Closure)) in index.htm line 13
[...]

Yeh, this is a known issue, and there's not much we can really do. I'd suggest just caching your model attributes rather than the entire model.

How does the model reference a Closure? Perhaps implementing __sleep can prevent it from being serialized, however that may get you an incomplete model after deserialization.

For anyone who stumbles across this, @GrahamCampbell is suggesting something like
$post = new Post(Cache::remember('test', 1440, function(){
    return Post::find(1)->toArray();
}));

I'm curious to know how the previous implementation worked? I can't seem to find out the magic ingredient. Was it simply caching the DB results then populating the Model as we are doing above?

I'm curious to know how the previous implementation worked?

The issue was it never worked properly, lol.

How does the model reference a Closure?

It doesn't. When you try to serialize it, php will basically try to serialise the entire container. That's where the issue is.

So, then it does, through the container.

So, then it does, through the container.

?

The container obviously contains objects with closures in it, like the file cache repository.

I asked how a model has a reference to a closure. You answered it doesn't, but that can't be as we actually serialize a closure somewhere. I sure understand that the container contains loads of closures, so then the answer would have been that a model has a reference to the container and through that also references closures.

Sad to see this stuff go, ideally it would be awesome to cache the query results and not the model object (highly inefficient). Caching the DB query result can only really be done at the Connector level, I'm sorta scratching my head on how else this can be done.
I think I will just mourn the loss of a really cool feature and move on! =)

@JoostK The model class has a static dispatcher property that contains the event dispatcher instance. That event dispatcher has a property containing a container instance. That's where the problem lies. Hope I explained this better this time. :0

:)


implement parallel FFT and clean up perturbations subroutines

There are two tasks related to perturbations:

Implement parallel FFT to speed up computation of correlated random fields  It's not clear if this will be 0-diff.  Probably not.

Clean up (simplify) the perturbations code.  Currently, subroutines get_pert() and propagate_pert() exist in two flavors, "GEOSldas" and "LDASsa".   The key difference between the "GEOSldas" and "LDASsa" versions is that the latter has an additional array dimension for the ensemble members.
If I remember correctly, the "GEOSldas" flavor is used for forcing and prognostics perturbations, and the "LDASsa" version is used for perturbing observations.
Would it be possible to merge the subroutines again into just one version that always includes the ensemble member dimension, and then call this merged subroutine for just one member when the "GEOSldas" flavor is needed?  This may require some reshuffling of the array dimensions in the calling subroutines.
Having just one subroutine for get_pert() and one for propagate_pert() would greatly simplify maintenance of the code.
This change should be 0-diff.

Perhaps it would be best to start with item 2 and then implement the FFT?

I have a feeling that it is wrong to save the second field for different variables because the initialization is different.
call rf%initialize(rNlon, rNlat, 1., xCorr, yCorr, rdlon, rdlat )
But it is ok for different ensemble members.

addressed with #418 and #376


add return figure for summary_plot

Overview
Closes #XXXX
Description of the changes proposed in this pull request:
Checklist

[ ] All pre-commit checks pass.
[ ] Unit tests added (if fixing a bug or adding a new feature)

Thanks for the PR. Could you please elaborate a bit what is your intention behind this? Also at some point we would need to fix the tests, but we can focus on that later.

Thanks for the PR. Could you please elaborate a bit what is your intention behind this? So stating your problem with the current implementation would be great for us, so that we have something to put in the release notes later on. Also at some point we would need to fix the tests.
Another thing that makes me a bit curious is that we plan to deprecate this function. Do you still actively use it?

Hey!
Thanks for quick reply, actually, that was supposed to be pushed to my fork - my bad
And yeah, I’m trying to use this function right now, for analyzing the importance of features for my multi class classification model
I want the plot function return figure - not just plot it (for saving results for each experiment)
And thanks for the lib - just starting using it, looks useful and interesting

Thanks for your work and the reply. I think this is a totally understandable undertaking. Are you still working on this? If so, would be great if you could fix the tests, then I think we are pretty close to merging.

Similar functionality implemented by #3561


Realtime Updates Broken?

I'm not seeing updates when sending messages until I reload the page

After thoroughly testing this with the latest version of apollo-client, I think the issue lies with their package for updateQuery. I've pushed the change for that package back down to the latest working version. Until we work this out with the Apollo team, please re-clone this repo and use an older version of Apollo.

Any news here? I'am trying to implement the subscriptions.
I'am using the official apollo-client subscriptions documentation, but after the setup the chrome dev-tools are just logging:
WebSocket connection to 'wss://eu-west-1.api.scaphold.io/graphql/xxx' failed: WebSocket is closed before the connection is established.
app.js:73

Since the apollo libraries changed so much that the scaphold examples / documentation are not up to date anymore its quit hard to find a solution for this :(

This example with not run correctly. I just followed the tutorial, but get errors in the console:
Unhandled (in react-apollo) Error: Network error: Network request failed with status 401 - ""
    at new ApolloError (eval at <anonymous> (http://<IP_ADDRESS>:8888/bundle.js:4304:2), <anonymous>:1804:28)

 No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://<IP_ADDRESS>:8888' is therefore not allowed access. The response had HTTP status code 404.
VM8539:541 There was an error fetching the SSO data. This could simply mean that there was a problem with the network. But, if a "Origin" error has been logged before this warning, please add "http://<IP_ADDRESS>:8888" to the "Allowed Origins (CORS)" list in the Auth0 dashboard: https://manage.auth0.com/#/applications/pDRoqCoHSiMDoVkGB2fEvttwmcEqIL-5/settings

Having the same websocket error as @michaelzoidl


EspHttpServer panic on handler error

I have an http(s) server running on an esp32-s3 board, and make frequent requests to it (~2Hz) for status info. Every once it a while (around every 4 minutes), I get a panic that resets the board. From further investigation, it appears to come from within the error handler for a request endpoint. Specifically, if a handler or the final send action returns Err(_), the EspHttpConnection::render_error function is called, which renders a 500 error and message body. However, when this happens, the connection might not be in the request state, so the self.assert_request() line triggers an immediate panic and board reset.
I think the bigger issue here is that these functions return Result and yet still panic on certain failures. I don't know the specific rationale, but in this case, even returning Err(ESP_FAIL) would be better than just crashing because of one bad http request.

The functions panic and (IMO) should panic, as these panics indicate a bug, rater than a normal behavior.
Specifically to your problem, EspHttpConnection::render_error should not try to render a 500 error and a message body if the user has already driven the connection into a response state, which is a bug.

Hopefully, this should take care of it. Please close this issue if it fixes the problem for you.


Service to fetch any specific members cards data for the passed duration and store into gold delta table

By default cards are filtered for member_name = "Preedhi Vivek" and stored into preedhi_cards_gold_path
This service can be used to fetch and store data for any member
Verified run
Sample:
python jobs/member_cards_duration_gold.py --start_date='2022-01-01' --end_date='2022-02-31'
o/p:
2023-02-16 12:58:58.427 | INFO     | main:get_member_cards:38 - Fetched the unique cards data from silver table
2023-02-16 12:58:58.468 | INFO     | main:get_member_cards:43 - Extracted cards mapped with the members name
2023-02-16 12:58:58.551 | INFO     | main:get_member_cards:51 - Filtered member cards within the passed duration
2023-02-16 12:58:58.571 | INFO     | main:get_member_cards:56 - Extracted required fields from the data to be stored
2023-02-16 12:59:12.847 | SUCCESS  | main:store_member_cards_data_gold:21 -
Saved members cards data for the passed duration
2023-02-16 12:59:12.848 | INFO     | main:store_member_cards_data_gold:23 - Saved members cards data for the passed duration to /home/lakeuser/lakehouse_project/data_tables/preedhi_cards_gold_path table

python jobs/member_cards_duration_gold.py
usage: member_cards_duration_gold.py.py [-h] --start_date string --end_date string
member_cards_duration_gold.py: error: the following arguments are required: --start_date, --end_date

@sravantit25 Renamed script with my name as prefix.


TextField crash in 3.3.0

Steps to Reproduce
https://user-images.githubusercontent.com/16477333/187638561-70317dd2-1eee-4b5f-a23c-6db8aa5b7f97.mp4
Crash logs
I/com.example.ab( 8635): ProcessProfilingInfo new_methods=1150 is saved saved_to_disk=1 resolve_classes_delay=8000
I/AssistStructure( 8635): Flattened final assist data: 376 bytes, containing 1 windows, 3 views
D/AndroidRuntime( 8635): Shutting down VM
E/AndroidRuntime( 8635): FATAL EXCEPTION: main
E/AndroidRuntime( 8635): Process: com.example.abc, PID: 8635
E/AndroidRuntime( 8635): java.lang.AssertionError: Unexpected metaState 0 for key 0x200000102 during an ACTION_down event.
E/AndroidRuntime( 8635): 	at io.flutter.embedding.android.KeyEmbedderResponder.synchronizePressingKey(KeyEmbedderResponder.java:152)
E/AndroidRuntime( 8635): 	at io.flutter.embedding.android.KeyEmbedderResponder.handleEventImpl(KeyEmbedderResponder.java:264)
E/AndroidRuntime( 8635): 	at io.flutter.embedding.android.KeyEmbedderResponder.handleEvent(KeyEmbedderResponder.java:381)
E/AndroidRuntime( 8635): 	at io.flutter.embedding.android.KeyboardManager.handleEvent(KeyboardManager.java:224)
E/AndroidRuntime( 8635): 	at io.flutter.plugin.editing.InputConnectionAdaptor.sendKeyEvent(InputConnectionAdaptor.java:279)
E/AndroidRuntime( 8635): 	at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:438)
E/AndroidRuntime( 8635): 	at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:93)
E/AndroidRuntime( 8635): 	at android.os.Handler.dispatchMessage(Handler.java:106)
E/AndroidRuntime( 8635): 	at android.os.Looper.loop(Looper.java:236)
E/AndroidRuntime( 8635): 	at android.app.ActivityThread.main(ActivityThread.java:8060)
E/AndroidRuntime( 8635): 	at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime( 8635): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656)
E/AndroidRuntime( 8635): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)
I/Process ( 8635): Sending signal. PID: 8635 SIG: 9
Lost connection to device.

Code sample

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        // This is the theme of your application.
        //
        // Try running your application with "flutter run". You'll see the
        // application has a blue toolbar. Then, without quitting the app, try
        // changing the primarySwatch below to Colors.green and then invoke
        // "hot reload" (press "r" in the console where you ran "flutter run",
        // or simply save your changes to "hot reload" in a Flutter IDE).
        // Notice that the counter didn't reset back to zero; the application
        // is not restarted.
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  // This widget is the home page of your application. It is stateful, meaning
  // that it has a State object (defined below) that contains fields that affect
  // how it looks.

  // This class is the configuration for the state. It holds the values (in this
  // case the title) provided by the parent (in this case the App widget) and
  // used by the build method of the State. Fields in a Widget subclass are
  // always marked "final".

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      // This call to setState tells the Flutter framework that something has
      // changed in this State, which causes it to rerun the build method below
      // so that the display can reflect the updated values. If we changed
      // _counter without calling setState(), then the build method would not be
      // called again, and so nothing would appear to happen.
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    // This method is rerun every time setState is called, for instance as done
    // by the _incrementCounter method above.
    //
    // The Flutter framework has been optimized to make rerunning build methods
    // fast, so that you can just rebuild anything that needs updating rather
    // than having to individually

 change instances of widgets.
    return Scaffold(
      appBar: AppBar(
        // Here we take the value from the MyHomePage object that was created by
        // the App.build method, and use it to set our appbar title.
        title: Text(widget.title),
      ),
      body: Center(
        // Center is a layout widget. It takes a single child and positions it
        // in the middle of the parent.
        child: Column(
          // Column is also a layout widget. It takes a list of children and
          // arranges them vertically. By default, it sizes itself to fit its
          // children horizontally, and tries to be as tall as its parent.
          //
          // Invoke "debug painting" (press "p" in the console, choose the
          // "Toggle Debug Paint" action from the Flutter Inspector in Android
          // Studio, or the "Toggle Debug Paint" command in Visual Studio Code)
          // to see the wireframe for each widget.
          //
          // Column has various properties to control how it sizes itself and
          // how it positions its children. Here we use mainAxisAlignment to
          // center the children vertically; the main axis here is the vertical
          // axis because Columns are vertical (the cross axis would be
          // horizontal).
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
           TextField(),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headline4,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}

[✓] Flutter (Channel stable, 3.3.0, on macOS 12.5.1 21G83 darwin-x64, locale zh-Hans-CN)
    • Flutter version 3.3.0 on channel stable at /Users/zmtzawqlp/Documents/flutter/3.3.0
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ffccd96b62 (32 hours ago), 2022-08-29 17:28:57 -0700
    • Engine revision 5e9e0e0aa8
    • Dart version 2.18.0
    • DevTools version 2.15.0
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/zmtzawqlp/Library/Android/sdk
    • Platform android-32, build-tools 30.0.3
    • ANDROID_HOME = /Users/zmtzawqlp/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13F100
    • CocoaPods version 1.11.2

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

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

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

[✓] Connected device (4 available)
    • MI 9 (mobile)              • f65dae09                             • android-arm64  • Android 11 (API 30)
    • iPhone 13 Pro Max (mobile) • D4462A35-FCBB-4827-964B-F54895926C98 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-5
      (simulator)
    • macOS (desktop)            • macos                                • darwin-x64     • macOS 12.5.1 21G83 darwin-x64
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome 104.0.5112.101

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

• No issues found!

look the same as https://github.com/flutter/flutter/issues/110640


Bug: Max retry functionality not working as expected

Describe The Bug
When BLE connection errors occur it seems that discover needs to be called again and not just turnOn/turnOff. I tested with 5 second intervals for minutes and the result of the log output below did not change.
To Reproduce
Turn a Bot off and on repeatedly
Expected behavior
Retry attempts to have a different result
Relevant log output
[28/12/2022, 19:13:59] [SwitchBot] Retrying
[28/12/2022, 19:14:00] [SwitchBot] TypeError: Cannot read properties of null (reading 'write')

Config for homebridge-switchbot
{
    "deviceId": "D787C65C8DEB",
    "configDeviceName": "Light",
    "configDeviceType": "Bot",
    "connectionType": "BLE",
    "bot": {
        "mode": "switch",
        "deviceType": "switch"
    },
    "maxRetry": 5,
    "logging": "standard"
}

Screenshots
No response
Device & Model
SwitchBot Bot
Node.js Version
v18.12.1
NPM Version
v8.19.2
Homebridge Version
v1.6.0
Homebridge Switchbot Plugin Version
v2.4.0
Homebridge Config UI X Plugin Version
v4.50.2
Operating System
Raspian

latest beta has the latest node-switchbot beta as a dependency.

That helps with the error messages, it doesn't affect the retry behavior though.

@donavanbecker I'm not sure why this is invalid, I plan to submit a pull request with the proposed fix after https://github.com/OpenWonderLabs/homebridge-switchbot/pull/690 is merged.


Update gitignore file

Hi, just updating .gitignore for some jekyll cache files which generated during build.

@barryclark I've messed it up a bit. I probably could do it in 1 clean commit.


"CWR: Failed to retrieve credentials from STS" error thrown by aws-rum-web

Hello,
We've noticed an error thrown by aws-rum-web client itself in our AWS RUM monitoring (occurred only once so far):

The error itself is thrown here: https://github.com/aws-observability/aws-rum-web/blob/1d461c924c188a2fe78e21e5a3dced89e58b42a0/src/dispatch/StsClient.ts#L77
Are there any actions we could take in order to avoid this error? Moreover, would it be possible to include the actual exception being thrown along with the Failed to retrieve credentials from STS error message?

This could happen if the first attempt to call STS failed (e.g., due to a network error), but the second attempt succeeded.

would it be possible to include the actual exception being thrown along with the Failed to retrieve credentials from STS error message?

Yes -- see https://github.com/aws-observability/aws-rum-web/issues/227#issuecomment-1252712017

We're seeing this issue on a semi frequent basis as well.  With the updated logging we saw this:
Unhandled Exception: CWR: Failed to retrieve credentials from STS: TypeError: NetworkError when attempting to fetch resource.
Is it a performance consideration that we attempt STS assume once?  If not, does it make sense for the library to be updated to perform a retry to reduce incidence of this issue?

The web client makes three attempts before disabling itself. If you are receiving the error in RUM, that means one of the two retries succeeded.
The requests to STS are non-blocking.
Closing as resolved by #272


Add fine-grained warning category for easier supression

Some packages like flash-attn (and causal-conv) are used only for specific primitives, however due to the import strategy in fla.__init__.py a user without flash-attn installed will see a warning when using other modules. I've added a category to the warnings emitted in these cases so one can more safely ignore it when importing other layers, i.e. one can use:
import warnings
with warnings.catch_warnings(action="ignore", category=ImportWarning):
    from fla.ops.gla import chunk_gla
    from fla.ops.linear_attn import chunk_linear_attn

Thx~


python3Packages.ondilo: init at 0.2.0

Motivation for this change
Python package to access Ondilo ICO APIs
https://github.com/JeromeHXP/ondilo
This is a Home Assistant dependency.
Things done

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

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

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

Result of nixpkgs-review pr 120258 run on x86_64-linux 1

3 packages built:

home-assistant
python38Packages.ondilo
python39Packages.ondilo

Has it tests we can activate in home-assistant?

Has it tests we can activate in home-assistant?

-> https://github.com/NixOS/nixpkgs/pull/120258/commits/d3e8f283846959899676ff28a500aa10b3c64413

Result of nixpkgs-review pr 120258 at d3e8f283 run on aarch64-linux 1

3 packages built successfully:

home-assistant
python38Packages.ondilo
python39Packages.ondilo

1 suggestion:

warning: unused-argument
Unused argument: pytestCheckHook.
Near pkgs/development/python-modules/ondilo/default.nix:5:3:
  |
5 | , pytestCheckHook
  |   ^

Result of nixpkgs-review pr 120258 run on x86_64-linux 1

3 packages built:

home-assistant
python38Packages.ondilo
python39Packages.ondilo


How to find the webui API

Hello,
I'm trying to connect an android chatbot app to my server hosting Ollama but I always get a connection error.
I'm using Ollama through OpenWeb-ui on Docker.
I have tried with Ollama Base URL :
http://host.docker.internal:11434
Or by replacing "host.docker.internal" with the local ip of my server.
I always get a connection error.

Same! I'm using ngrok to tunnel through, and I tried a bunch of things, but no dice yet!


OPA Gatekeeper - Fail to install from Dashboard

What kind of request is this:
bug
Steps to reproduce (least amount of steps as possible):

Install Rancher. master-head (08/05/2020) 65a2b808c HA k8s
Login to Dashboard
Click Apps in the Global Nav Bar
Click in rancher-gatekeeper and click next and finish (all defaults)

Result:
Wed, Aug 5 2020 9:50:50 am
Waiting for Kubernetes API to be available
Wed, Aug 5 2020 9:50:51 am
Waiting for Kubernetes API to be available
Wed, Aug 5 2020 9:50:52 am
Waiting for Kubernetes API to be available
Wed, Aug 5 2020 9:50:53 am
Waiting for Kubernetes API to be available
Wed, Aug 5 2020 9:50:54 am
Waiting for Kubernetes API to be available
Wed, Aug 5 2020 9:50:56 am
Waiting for Kubernetes API to be available
Wed, Aug 5 2020 9:50:57 am
Waiting for Kubernetes API to be available
Wed, Aug 5 2020 9:50:58 am
helm install --create-namespace=true --version=0.1.0 rancher-gatekeeper /home/shell/helm/rancher-gatekeeper-0.1.0.tgz
Wed, Aug 5 2020 9:50:58 am
manifest_sorter.go:192: info: skipping unknown hook: "crd-install"
Wed, Aug 5 2020 9:50:58 am
manifest_sorter.go:192: info: skipping unknown hook: "crd-install"
Wed, Aug 5 2020 9:50:59 am
Error: unable to build kubernetes objects from release manifest: unable to recognize "": no matches for kind "ConstraintTemplate" in version "templates.gatekeeper.sh/v1beta1"

Other details that may be helpful:
Environment information

Rancher version: master-head (08/05/2020) 65a2b808c HA k8s
Installation option: HA k8s

The helm 3 compatible OPA gatekeeper chart is not in master yet.
This PR should fix this once merged: https://github.com/rancher/charts/pull/515

I am able to deploy the rancher-gatekeeper app from the Dashboard Apps.
rancher-gatekeeper:v3.1.0-beta.11
rancher-gatekeeper-crd:v3.1.0-beta.11
helm install --create-namespace=true --namespace=cattle-gatekeeper-system --version=v3.1.0-beta.11 --wait=true rancher-gatekeeper-crd /home/shell/helm/rancher-gatekeeper-crd-v3.1.0-beta.11.tgz
NAME: rancher-gatekeeper-crd
LAST DEPLOYED: Wed Aug 12 17:25:07 2020
NAMESPACE: cattle-gatekeeper-system
STATUS: deployed
REVISION: 1
TEST SUITE: None
helm install --create-namespace=true --namespace=cattle-gatekeeper-system --version=v3.1.0-beta.11 --wait=true rancher-gatekeeper /home/shell/helm/rancher-gatekeeper-v3.1.0-beta.11.tgz
NAME: rancher-gatekeeper
LAST DEPLOYED: Wed Aug 12 17:25:12 2020
NAMESPACE: cattle-gatekeeper-system
STATUS: deployed
REVISION: 1
TEST SUITE: None

Done only in the local HA cluster, other clusters we have an known issue https://github.com/rancher/rancher/issues/28159


Suggestion regarding Movies Poster

In my opinion all the Movies Poster can be designed like cards (similar to Posters that are designed on Kids Page). This will enhance the site and will provide the premium look to page as Movies Poster doesn't have same design all over the site
This is how Poster card looks like on Kids page 👇

But cards on the kids and webseries page don't have a hover effect.
Try to apply the same hover effect on kids and webseries page as well.

The website has been updated.
Now, make movie cards of kids and web series pages similar to that of other pages in every respect.

@WebShivam Any update? If you face issue in the code let me know with your problem I am here to help you out.


Metafields

How do we fetch the meta fields?

metafields are not available in the storefront API, since many apps persist sensitive data to them.


Running/Debugging

Created a launch file in the .vscode directory, this helps to automatically run and debug the app without starting it from the console. More configurations can be added to it as need but for now it works as it is.

ok
we progressing cool i see :)

adding more html and javasript to front page in due time


Observability V1-ready

@IdealUsrname, we discussed this briefly in the Google doc and Slack. the breakdown doesn't really make sense for system characteristics. Characteristics like observability, reliability, self-healing don't really address a problem or help, they describe the system.


WIP: Update to 2.1.3

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

requirements: run: universal-pathlib = >=0.0.19,<0.1 should not contain a space between relational operator and the version, i.e. universal-pathlib =>=0.0.19,<0.1

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender


[zh-cn] Sync1.25 feature-gates.md

Updated text by following en upstream.
content/zh-cn/docs/reference/command-line-tools-reference/feature-gates.md

Preview: https://deploy-preview-36276--kubernetes-io-main-staging.netlify.app/zh-cn/docs/reference/command-line-tools-reference/feature-gates/

/LGTM

/approve

/lgtm


Allow choosing only mixer policy enabled

This works for me with Helm v2.11.0.
Can someone with the minimum required version for v1.1 (do we have such?) can give it a try?
Tested:

Both mixer policy and telemetry disabled
Both enabled
Only policy
Only telemetry

Fixes #10138
/cc @gyliu513 @morvencao @linsun

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: ymesika
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: rshriram
If they are not already assigned, you can assign the PR to them by writing /assign @rshriram in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

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

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

Needs approval from an approver in each of these files:

install/OWNERS [ymesika]

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

@ymesika: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-mixer-no_auth-mcp.sh
d0be26ee972c4c0eedc996842bb2f959ff832d62
link
/test e2e-mixer-no_auth-mcp

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-mixer-no_auth-mcp.sh
d0be26ee972c4c0eedc996842bb2f959ff832d62
link
/test e2e-mixer-no_auth-mcp

prow/istio-pilot-multicluster-e2e.sh
d0be26ee972c4c0eedc996842bb2f959ff832d62
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ymesika @douglas-reid tried to fix it here:  https://github.com/istio/istio/pull/9979 but it is only for master and not merged.
I tested yours with helm 2.10, I don't think it works... I think the condition is ignored.  For example, if I turn helm template with --set mixer.policy.enabled=false --set mixer.telemetry.enabled=false, I still see
kind: ClusterRoleBinding
metadata:
  name: istio-mixer-admin-role-binding-*

in the generated output.

@linsun but do you see any mixer service or deployment?

the deployment or service works okay.... but should work okay before the PR too.... because those are guarded by the the go template script in these 2 files.  The prob is the helm's requirement yaml condition file... which is why @douglas-reid uses if condition to guard every single yaml within mixer/template in his PR.

Not sure it currently create service/deployment when only telemetry is enabled

FYI I tested it with my helm 2.10:
helm template . --set mixer.policy.enabled=true --set mixer.telemetry.enabled=false > policy-on.yaml
I saw istio-mixer deployment or service in the generated yaml.  And that is with or without your change.

FYI I tested it with my helm 2.10:
helm template . --set mixer.policy.enabled=true --set mixer.telemetry.enabled=false > policy-on.yaml
I saw istio-mixer deployment or service in the generated yaml. And that is with or without your change.

But this is not the setting I mentioned or the OP in his PR.
This fixes only telemetry enabled. I.e. helm template . --set mixer.policy.enabled=false --set mixer.telemetry.enabled=true > tele-on.yaml
Does it work for you before the change?


Use more definitive deprecation notice

Should be fine, it's his wording and he mentioend the repo.


Add declarative UI model supports?

If UI and business logic share same data and/or data are lists, imperative UI model is really verbose.
If I use declarative UI model, following code is enough. But if I use imperative UI model, I need to implement proper setters for all its properties(and repeat rebuild code in setters) and hold reference to ListView or ListView.controls. Thus I need to properly NAME them.

There are only two hard things in Computer Science: cache invalidation and naming things.

class ListSelectionView(UserControl):
    def __init__(self, group: str, values: list[str], types: list[str], selected_index: int | None, on_select: Callable[[int], None], on_selected_click: Callable[[str], None]):
        super().__init__(expand=1)
        self.group = group
        self.values = values
        self.types = types
        self.selected_index = selected_index
        self.on_select = on_select
        self.on_selected_click = on_selected_click

    def build(self):
        def build_item(i: int, value: str, annotation: str, selected: bool):
            if selected:
                def on_click(_):
                    self.on_selected_click(value)
                return Draggable(
                    group=self.group,
                    content=Container(
                        Row([
                            Text(value, size=15),
                            Container(expand=1),
                            Text(annotation, size=15),
                        ]),
                        on_click=on_click,
                        ink=True, padding=5,
                        bgcolor=colors.BLUE_ACCENT,
                    ),
                    content_feedback=CircleAvatar(
                        content=Text(
                            value,
                            size=15,
                            style='labelLarge',
                        ),
                        radius=40, bgcolor=colors.BLUE_ACCENT
                    ),
                )

            def on_click(_):
                self.on_select(i)
            return Container(
                Row([
                    Text(value, size=15),
                    Container(expand=1),
                    Text(annotation, size=15),
                ]),
                on_click=on_click,
                ink=True,
                padding=5,
            )
        return ListView(
            [build_item(i, value, annotation, i == self.selected_index)
             for i, value, annotation in zip(itertools.count(), self.values, self.types)],
            expand=1,
        )

Currently I use following code to emulate declarative UI model:
class FlutterControl(UserControl):
    def build(self):
        self.container = Container(self.construct(), expand=1)
        return self.container

    def construct(self) -> Control | None:
        return None

    def apply(self):
        self.container.content = self.construct()
        self.update()

But it has a problem: rebuilding will reset scrolling position of ListView.

I know flet is aiming for imperative programming model. It combines smaller "widgets" to ready-to-use "controls" to construct UI with less nesting levels, which is suitable for imperative UI model.
But if the use-case is complex, nesting is unavoidable, which is not friendly to imperative UI model -- traverse component tree and mutate leaves's properties is really verbose.
I think to have a UserControl with declarative UI model is really helpful: Professional users can construct arbitrary complex custom controls with declarative model, while all users(including professional users) can use ready-to-use controls(both built-in and custom) with straight-forward imperative model.

🤔

It resets scrolling position because the entire list is being re-created every time an item is add/updated/deleted.
At the moment Flet uses control's hash code to determine if the control was added or deleted within its holding collection.
As you are re-creating all the elements of the collection it's considered all new and all its elements go to a Flet client again.
For proper support of reactive approach we need to use a different algorithm to check if a control in a collection was changed. What could it be: some "dirty" flag set by a user program or maybe "deep" hash of collection item (in Python it's easy to get dict representation of object attributes)?
Your thoughts?

Can we just leverage flutter's performant rebuild system?
I don't know whether on-demand data transfer is a pre-mature optimization or not. Do you have any benchmark result?
Maybe for UserControl we can introduce a new concept called "State", and diff the states tree instead of controls tree? And in build, we can reference states using an abstracted states tree.
# maybe immutable assumption?
@dataclass
class MyStateA(State):
    z: tuple[int]

@dataclass
class MyStateB(State):
    x: float
    y: MyStateA

class MyUserControl(UserControl):
    def retrieve_state(self):
        return MyStateB(x=1.0, y=MyStateA(z=(1,2)))
    def new_build(self, abstract_state: MyStateB):
        # leaves of abstract_state are replaced by special proxies with indices
        # The tree is flattened and enumerated to generate indices
        # Control handle it's data properly when data is proxy
        # leaves proxies classes can be created in `State`'s __init_subclass__ hook dynamically
        # Or we can follow weakref.proxy, use .__class__ attribute to pass `isinstance` check
        # Or we can just ignore type constraint since python is dynamically typed
        return SomeControl(x=abstract_state.x, z=abstract_state.y.z)

What do you mean by "on-demand data transfer"? Right now Flet sends diffs. Per my tests sending everything every time is very slow and ineffective. I mean it's "alright" for dozens and hundreds of elements, but not alright for thousands.
Holding state inside control is a good idea, but the same question: what would be a good diffing approach?
Also, frameworks like Judo separate "data" and "template", so merging occurs on a client side. That gives you the same effectiveness as JS/Flutter frontend fetching JSON data.

What would be the purpose of retrieve_state exactly? Is the idea that Flet would poll for changes in the return value of retrieve_state and re-run new_build every time its return value is altered?

For proper support of reactive approach we need to use a different algorithm to check if a control in a collection was changed. What could it be: some "dirty" flag set by a user program or maybe "deep" hash of collection item (in Python it's easy to get dict representation of object attributes)?

Not that Im familiar with any of the underlying code you have rn, but as you are supposedly generating JSON structures from the Control Python class instances, why not just check for differences in the resulting JSON data (comparing the previous return value with the latest) and only build UI controls that have no exact match in the previous return value (and for the sake of simplicity, you probably also want to rebuild all the children of the control that has changed) & delete any widgets that existed previously but are now missing? To identify each control in the json data, start from the top parent, see if its attributes are the same as before (excepting the list of child controls), if it is, dont re-build it, then move on to its child(ren) and do the same for them/it (and continue recursively). Once you hit a control that either didnt exist previously under the same parent or of which attributes has changed, "build" it and all the children and append it to the "old" parent that was unchanged. Then do the same process all over again but look for controls that existed in the previous return value of new_build but not in the latest and destroy any controls that seems to have gone missing. Voilá
^ I really hope that makes sense


after update webui, tagcomplete not working

I usually update webui to a new version, but after updating webui to the latest version of ui update today, tagcomplete doesn't work, can anyone solve this problem?

me too

yea i left the A111 automatic updating and now i regret it, gotta wait for this to update i guess

Sorry for the delay, it should work again now.
You will probably need to restart the webui completely after updating, just the Reload UI / Apply and Restart button wasn't enough for me when I tested it just now.

Still somewhat broken, I can no longer see what I am selecting with arrow keys and it now takes moves the entire UI which it did not before.

Sorry for the delay, it should work again now. You will probably need to restart the webui completely after updating, just the Reload UI / Apply and Restart button wasn't enough for me when I tested it just now.
thank you I really appreciate

Thank you, I really appreciate it, it's back to normal

@PapaBones The window moving with the text cursor while you type is an intended feature that was added a while ago, you can disable it in the settings. Look for "Move completion popup together with text cursor".
The arrow key selection looks normal for me though:


Add files via upload

<EMAIL_ADDRESS>

@kiryuken I am sorry, the domain student.mercubuana.ac.id is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


ipycytoscape=0.2.0 is not on conda-forge

The latest version on conda-forge is ipycytoscape 0.1.4

Thanks for letting me know! Sorry for that, will fix in a minute.

Now there is a version 0.2.1.
Thanks @pwrose!


Node dependencies not restoring correctly if node_modules does not exist

Steps to reproduce

create a new site using ecoAPM.StatiqPipelines and at least one NPM dependency
delete the node_modules directory
build the new site

Expected behavior

Node dependencies are restored

Observed behavior

critical error from NodeRestore

Fixed in 0.1.1


[FEAT] SRT Plugin stats

Could you add stats.msRTT and stats.msRcvTsbPdDelay in the SRT log stats ?
They are very useful.
Thanks and regards

Done...

thx


Don't call onExpand for initial expandedIds

Describe the bug
There are some issues with using controlled state for expanded IDs. Consider this example where expanded state is controlled in the parent component (a practical example would be where state is persisted in local/session storage).
Code That Causes The Issue
const data = flattenTree({
  name: '',
  children: names,
})
const parentIds = useMemo(
  () =>
    data.reduce<NodeId[]>(
      (acc, node) => (node.children.length ? acc.concat(node.id) : acc),
      []
    ),
  [data]
)
const [expandedIds, setExpandedIds] = useSessionStorage(storageKey, parentIds)

<TreeView
  data={data}
  onExpand={({ element: { id }, isExpanded }) => {
    setExpandedIds((ids) =>
      produce(ids, (draft) => {
        if (!isExpanded) {
          remove(draft, (nodeId) => nodeId === id)
        } else {
          draft.push(id)
        }
      })
    )
  }}
  expandedIds={expandedIds}
  onNodeSelect={({ element }) => {
    // ...handle
  }}
  nodeRenderer={(props) => (
    <NodeRenderer {...props} itemProps={nodePropsMap[props.element.name]} />
  )}
  clickAction="EXCLUSIVE_SELECT"
  aria-label="Navigation"
  expandOnKeyboardSelect
/>

The values passed into expandedIds cause onExpand to be called on the initial render. This also causes the list items to be focused on the initial page load which is an accessibility issue.
To Reproduce
Use parent state to control the expanded IDs.
Expected behavior
Like with form inputs, I'd expect that controlled state to accept an initial value, and subsequent changes to the state from user input to call a callback, such as onExpand.
Desktop (please complete the following information):

OS: macOS
Browser: chrome
Version: 114.0.5735.133 (Official Build) (arm64)

@brettinternet We’re open to PRs if you’d like to submit a fix.


[QUESTION] implementation of get_p2p_cuda_stream_id and get_coll_cuda_stream_id

In the README of ndtimeline, you mentioned implementing interfaces to obtain the streams for NCCL communication, specifically get_p2p_cuda_stream_id and get_coll_cuda_stream_id. However, these interfaces seem not present in the patches directory. Do you plan to release the specific implementation of these interfaces?

Thanks a lot for your comments.  We will supplement these two functions soon.

Thanks a lot for your comments. We will supplement these two functions soon.

Does the ndtimeline support async nccl stream like grad_reduce/params_gather overlap and interleaved p2p overlap? I add get_stream_id api in pytorch and use ndtimeline in megatron-lm trying to get the timeline of async nccl communication, but when I enable cudaEvent record I found the behavior of async nccl communication changed to sequential execution with computation kernel, is this normal? And how to fix it?

Thanks a lot for your comments. We will supplement these two functions soon.

Does the ndtimeline support async nccl stream like grad_reduce/params_gather overlap and interleaved p2p overlap? I add get_stream_id api in pytorch and use ndtimeline in megatron-lm trying to get the timeline of async nccl communication, but when I enable cudaEvent record I found the behavior of async nccl communication changed to sequential execution with computation kernel, is this normal? And how to fix it?

I found that the problem is caused by environment CUDA_DEVICE_MAX_CONNECTIONS=1, which is required by TP/SP communication overlap. But I don't know why it makes the async nccl op with ndtimer changed to sequential.

Now PR is merged


Amazon Linux support

Please add support for Amazon Linux.  It should be similar to RHEL5, with
$sx_fs_mount = '/selinux' and $package_name = 'policycoreutils'
Output of facter os:
{
  architecture => "x86_64",
  distro => {
    codename => "n/a",
    description => "Amazon Linux AMI release 2017.03",
    id => "AmazonAMI",
    release => {
      full => "2017.03",
      major => "2017",
      minor => "03"
    },
    specification => ":base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch"
  },
  family => "RedHat",
  hardware => "x86_64",
  name => "Amazon",
  release => {
    full => "2017.03",
    major => "2017",
    minor => "03"
  },
  selinux => {
    config_mode => "enforcing",
    current_mode => "enforcing",
    enabled => true,
    enforced => true,
    policy_version => "30"
  }
}

Is there a way to test on Amazon Linux? IIRC the lack of good means to run tests was the main reason we dropped support during the 1.0.0 refactoring.

I don't think I understand the question.  Are you asking for a way that doesn't require running an Amazon Linux instance on AWS?

@clinty: yes. Beaker tests for other operating systems can be run locally using Virtualbox.

If someone made an unofficial virtualbox image, would that suffice?

A vagrant box that beaker can use would be fine, I suppose. I would accept patches for Amazon Linux even if it weren't tested, but without a way to run acceptance tests, there's no way to guarantee things will not break between releases.

Pull request sent.  I'll pursue the testing angle.

Does https://hub.docker.com/_/amazonlinux/ help at all?

@clinty: This issue was closed by the pull req merge. You should probably create another issue for the testing stuff.
Unfortunately, SELinux can't really be tested inside a container, so it'll have to be a virtual machine.
It does look like there's an amazon linux vagrant box: https://app.vagrantup.com/mvbcoding/boxes/awslinux/
That is something which might be useful.


⚠ Bofrost.be has degraded performance

In e7974aa, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 873 ms

Resolved: Bofrost.be performance has improved in 30bfe0e after 312 days, 15 hours, 56 minutes.


ecl-linear-algebra: fails in do_compile on arch linux architecture

bitbake ecl-linear-algebra fails during compiling with:
[...]
| -- The C compiler identification is GNU 7.3.0
| -- The CXX compiler identification is GNU 7.3.0
| -- Check for working C compiler: ./build/tmp/work/aarch64-poky-linux/ecl-linear-algebra/0.62.1-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc
| -- Check for working C compiler: ./build/tmp/work/aarch64-poky-linux/ecl-linear-algebra/0.62.1-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc -- works
| -- Detecting C compiler ABI info
| -- Detecting C compiler ABI info - done
| -- Detecting C compile features
| -- Detecting C compile features - done
| -- Check for working CXX compiler: ./build/tmp/work/aarch64-poky-linux/ecl-linear-algebra/0.62.1-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++
| -- Check for working CXX compiler: ./build/tmp/work/aarch64-poky-linux/ecl-linear-algebra/0.62.1-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++ -- works
| -- Detecting CXX compiler ABI info
| -- Detecting CXX compiler ABI info - done
| -- Detecting CXX compile features
| -- Detecting CXX compile features - done
| -- Using CATKIN_DEVEL_PREFIX: ./build/tmp/work/aarch64-poky-linux/ecl-linear-algebra/0.62.1-r0/devel
| -- Using CMAKE_PREFIX_PATH: ./build/tmp/work/aarch64-poky-linux/ecl-linear-algebra/0.62.1-r0/recipe-sysroot/opt/ros/melodic;./build/tmp/work/aarch64-poky-linux/ecl-linear-algebra/0.62.1-r0/recipe-sysroot/usr;./build/tmp/work/aarch64-poky-linux/ecl-linear-algebra/0.62.1-r0/recipe-sysroot-native/opt/ros/melodic;./build/tmp/work/aarch64-poky-linux/ecl-linear-algebra/0.62.1-r0/recipe-sysroot-native/usr
| -- This workspace overlays: ./build/tmp/work/aarch64-poky-linux/ecl-linear-algebra/0.62.1-r0/recipe-sysroot/opt/ros/melodic;./build/tmp/work/aarch64-poky-linux/ecl-linear-algebra/0.62.1-r0/recipe-sysroot-native/opt/ros/melodic
| -- Found PythonInterp: ./build/tmp/work/aarch64-poky-linux/ecl-linear-algebra/0.62.1-r0/recipe-sysroot-native/usr/bin/python-native/python (found version "2.7.13")
| -- Using PYTHON_EXECUTABLE: ./build/tmp/work/aarch64-poky-linux/ecl-linear-algebra/0.62.1-r0/recipe-sysroot-native/usr/bin/python-native/python
| -- Using default Python package layout
| -- Found PY_em: ./build/tmp/work/aarch64-poky-linux/ecl-linear-algebra/0.62.1-r0/recipe-sysroot-native/usr/lib/python2.7/site-packages/em.pyc
| -- Using empy: ./build/tmp/work/aarch64-poky-linux/ecl-linear-algebra/0.62.1-r0/recipe-sysroot-native/usr/lib/python2.7/site-packages/em.pyc
| -- Using CATKIN_ENABLE_TESTING: 0
| -- catkin 0.7.14
| -- Performing Test CXX11_COMPILER_FOUND
| -- Performing Test CXX11_COMPILER_FOUND - Success
| -- Configuring done
| CMake Error in src/lib/CMakeLists.txt:
|   Imported target "Sophus::Sophus" includes non-existent path
|
|     "/usr/include/eigen3"
|
|   in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:
|
|   * The path was deleted, renamed, or moved to another location.
|
|   * An install or uninstall procedure did not complete successfully.
|
|   * The installation package was faulty and references files it does not
|   provide.
|   ERROR: Function failed: do_configure

This is on Arch Linux using the current cmake package version 3.8.2, sophus 1.0.1 and boost 1.64.0.
The issue however occurs since ecl-linear-algebra configure in meta-ros at cl-linear-algebra_0.62.1.bb

What meta-ros branch and ros release are you using?
ecl-linear-algebra/0.62.1 doesn't exist in current thud-drafts nor in legacy-v2 branch
There is 0.62.2 version in melodic now, so maybe you have some older revision from somewhere else? Please try to reproduce with current thud-draft branch.

What meta-ros branch and ros release are you using?
ecl-linear-algebra/0.62.1 doesn't exist in current thud-drafts nor in legacy-v2 branch
There is 0.62.2 version in melodic now, so maybe you have some older revision from somewhere else? Please try to reproduce with current thud-draft branch.

The ROS version I used is Melodic
https://github.com/bulwahn/meta-ros/tree/melodic-experimental-v1

Then please report it in https://github.com/bulwahn/meta-ros, but last change in that repository was over 2 years ago, I doubt that it's still supported.


Improper value instantiation and parenting during parsing caused a disconnected tree nodes.

Bug:
Improper value instantiation and parenting during parsing caused a disconnected tree node, causing self-referencing substitution to fail to find the proper old value to backtrack to.
Fix:

Clean up HoconField constructor and instantiation.
Strict parenting rule for tree nodes to clean up object reconstruction.
Move object value tracking and upkeep responsibility to the parser instead of the substitution resolver to guarantee tree hierarchy consistency,

Fix #95
Fix #97

Oh my ...
You nearly rewrite the core part!
Thanks @Arkatufus for your work!

No problem, it's kind of my responsibility, since it was my code in the first place.


Add Open Tree of Life resolution

This PR adds a "Add Open Tree of Life phylogeny" button to the sidebar, which adds the induced subtree from the Open Tree of Life that includes all named taxa used as specifiers across all phyloreferences. Taxa that don't have OTT IDs are ignored, while OTT IDs that not included in the synthetic are ignored. Closes #40.

TODO:

[ ] Remove internal nodes that only have a single child, as these just clutter up the user interface for no reason.


add sparse mode. closes #16

made this mirror the implementation for content:false. Did I miss anything?

The open function has a createFeed as well. If we are opening a content feed, we need to make it sparse as well, for example: https://github.com/mafintosh/hypercore-archiver/commit/db3f16f9ed246ceb4260736aae634d4f299905d3#diff-168726dbe96b3ce427e7fedce31bb0bcR215

This PR uses an option for each feed added. PR #25 uses a global option for hypercore-archiver.
Gonna merge #25. It is closer to the datproject.org use case to have all feeds sparse. I know that works. I can't quite wrap my head around how the per-feed option would work for this PR.


Show also distribution status and not only the build status

Describe the solution you'd like
I want easy to see which builds where successfully uploaded to the Apple App Store (TestFlight).
Please add a red/green icon in the build list for successful distribution.
And please also add the distribution status to the build status mail.
The errors of the distribution log should be visible in build log if automatic distribution is part of the build process.
Describe alternatives you've considered

Allow to add badges not only for "build" but also for "distribute".
Change the existing build status badge to show also the distribution status.

Additional context
The "build/branches/master" pages shows a list of build states.
But we are using automatic upload to the App Store, which can fail for several reasons.
On the build page we see "successful" even when the distribution failed, which is confusing.

My company has wasted a lot of time between looking at the build status, then logging into iTunes Connect or play, and only after some time realizing the publish failed

We still want this feature.

This feature would still be useful when the build succeeds and the distribution fails.

This feature would still be useful when the build succeeds and the distribution fails.


Add an Occupancy table to the Listing page

This is working pretty well now, but some of the code is basically a port from the old CoffeeScript so I want to refactor a little, improve the typing, and maybe add a Storybook definition as well.

Fixes #49 — and also #18 (since I was in the guts of unit and table stuff anyway)


edit Dispatch license info so that GitHub recognizes it

Hello! 👋
(CCing @dankohn who has requested this work so that the license will appear correctly in https://landscape.cncf.io/selected=dispatch)
GitHub uses a library called Licensee to identify a project's license
type. It shows this information in the status bar and via the API if it
can unambiguously identify the license.
This commit updates the LICENSE file so that it contains only the full
text of the Apache license and references VMWare, Inc as the copyright
holder. The info that pertains to 3rd-party software licensing has now
been moved to a new DEPENDENCIES file. Finally, the README file has a
new "Licensing" section to explain to readers the purposes of the
LICENSE and DEPENDENCIES files.
Collectively, these changes allow Licensee to successfully identify the
license type of Dispatch as Apache.

Hey @tenczar, thanks for letting me know. And thanks for pointing out NOTICE.txt - I'd overlooked this file when I made my changes.
AFAIK, there's no need to update this before Monday. In the meantime, I'll be on standby in case you need anything from my end.

Hey Andrea, we've received updated files directly from our open source legal team. Those files have now been merged into the source tree. Do these changes support licensee and meet the requirements for cncf? We can reopen this PR if changes are still required. Thanks.

Hey @tenczar, thanks for circling back. It looks like Licensee still doesn't detect the license properly. (At the bottom of this comment is the output that I get when I run licensee detect on Dispatch's remote repo.)
I do have some ideas for other changes that we can try. Could we reopen this PR? Thanks!
$ licensee detect https://github.com/vmware/dispatch
License:        Other
Matched files:  LICENSE.txt, open_source_license_dispatch_2018.txt
LICENSE.txt:
  Content hash:  fe1eb7c04c48176d711013903085b2fd6b999a17
  License:       Other
  Closest licenses:
    Apache-2.0 similarity:  98.80%
    ECL-2.0 similarity:     95.92%
    EPL-2.0 similarity:     57.48%
open_source_license_dispatch_2018.txt:
  Content hash:  fe1eb7c04c48176d711013903085b2fd6b999a17
  License:       Other
  Closest licenses:
    Apache-2.0 similarity:  98.80%
    ECL-2.0 similarity:     95.92%
    EPL-2.0 similarity:     57.48%

Sure, let's get this working.

Looks like @markpeek already fixed it via https://github.com/vmware/dispatch/pull/406. I see license being properly detected when visiting https://github.com/vmware/dispatch/blob/47ef1bca6497e2984b73f30ffe60b179fc7bb507/LICENSE. It seems still not updated on https://landscape.cncf.io/selected=dispatch, @eirinikos can you take a look?

Looks like https://landscape.cncf.io/selected=dispatch now properly recognizes the license! Closing :-)


ssl: require BoringSSL.

BoringSSL is the TLS library that we develop against and that the build
system uses, so let's not pretend that it works with random versions of
other TLS libraries.
Fixes #759.

LGTM. Let's let this sit for a week or so to see if anyone speaks up.
There are a few doc references that talk about how openssl is still supported. We should fix those to make it clear that boringssl is required.

I keep forgetting about the docs. I'll remove references to OpenSSL from there.
btw: should we rename classes from OpenSsl to BoringSsl?

Sure, feel free to rename the classes if you like.

Last call, any objections before making BoringSSL the only supported choice?

@PiotrSikora I think we are probably fine to finish this up. Can you merge master and fix the docs? We can merge on Friday.

@mattklein123 please take a look.
I replaced the custom code for cipher list verification with new SSL_CTX_set_strict_cipher_list() from BoringSSL and added minLength constrain, since empty value would be rejected by SSL_CTX_set_strict_cipher_list() anyway.

By the way, BoringSSL provides C++ smart pointers in the header files, so rather than defining your own CSmartPtr<SSL, SSL_free>, you can now use bssl::UniquePtr<SSL>. They're a bit more efficient too since they don't depend on the two-argument std::unique_ptr constructor.
(No need to include a separate header. They're part of the usual headers if we detect C++11 support.)

@davidben thanks!
@mattklein123 let me know if I should convert CSmartPtr<*, *> to bssl::UniquePtr<*> or if you prefer to leave it as-is.

@PiotrSikora yes please replace if you have time.


Creating streams with long names breaks UI in three places

Creating streams with long names in the streams settings page leads to bugs at three different lengths. To reproduce this,

Log in as Iago
Click on the gear icon and click on manage streams
Click on Create New Stream
Enter a long stream name and click on Create

Overflow in error message
The error message that says the stream name is too long contains the stream name, which overflows past the error message box and covers the right panel UI (users). This occurs when the stream name is longer than 105 characters.

Stream panel (left) chevron obscured
When the stream name is longer than 30 characters the chevron is obscured. Hover over the stream name in the stream panel on the left side of the screen to see this.

Delete stream modal text overflow
Deleting a stream with a name longer than 50 characters results in the rest of the stream name overflowing (and hidden). It's not clear what behavior would be better than this. To reproduce,

Click on the gear icon, choose Administration
Click on Streams Deletion
Find the stream with the long name, and click Delete

This was pointed out by @synicalsyntax in https://github.com/zulip/zulip-gci/issues/228
It's probably worth noting that the compose box has a limit on how many characters you can type into the stream name field, and perhaps that can be implemented in the create stream field in the stream settings page.

Proposition for error - looks reasonable I think

Stream names

And the last one.

Those look good to me @TomaszKolek :)

Thanks @timabbott, @tomaszkolek!


Steps To Reproduce:
# curl -sfL https://get.k3s.io/ | sh -; echo KgOkQ-$?-
[INFO]  Finding release for channel stable
[INFO]  Using v1.24.3+k3s1 as release
[INFO]  Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.24.3+k3s1/sha256sum-amd64.txt
[INFO]  Downloading binary https://github.com/k3s-io/k3s/releases/download/v1.24.3+k3s1/k3s
[INFO]  Verifying binary download
[INFO]  Installing k3s to /usr/local/bin/k3s
[INFO]  Skipping installation of SELinux RPM
[INFO]  Creating /usr/local/bin/kubectl symlink to k3s
[INFO]  Creating /usr/local/bin/crictl symlink to k3s
[INFO]  Creating /usr/local/bin/ctr symlink to k3s
[INFO]  Creating killall script /usr/local/bin/k3s-killall.sh
[INFO]  Creating uninstall script /usr/local/bin/k3s-uninstall.sh
[INFO]  env: Creating environment file /etc/systemd/system/k3s.service.env
[INFO]  systemd: Creating service file /etc/systemd/system/k3s.service
[INFO]  systemd: Enabling k3s unit
Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service → /etc/systemd/system/k3s.service.
[INFO]  systemd: Starting k3s
KgOkQ-0-
# k3s kubectl get node; echo 58qXg-$?-
NAME       STATUS   ROLES                  AGE   VERSION
susetest   Ready    control-plane,master   20s   v1.24.3+k3s1
58qXg-0-
# mkdir -p ~/.kube; echo gSgZS-$?-
gSgZS-0-
# ln -s /etc/rancher/k3s/k3s.yaml ~/.kube/config; echo XaDDa-$?-
XaDDa-0-
# kubectl create namespace helm-ns-413; echo 0RB8y-$?-
namespace/helm-ns-413 created
0RB8y-0-
# timeout 310 kubectl delete namespace --timeout=300s helm-ns-413; echo UoUzZ-$?-
namespace "helm-ns-413" deleted
error: timed out waiting for the condition on namespaces/helm-ns-413
UoUzZ-1-

Expected behavior:
The kubectl delete namespace helm-ns-413 command exits successfully and the helm-ns-413 does not exist.
Actual behavior:
The kubectl delete namespace helm-ns-413 command freezes and nothing happens.
Additional context / logs:
# journalctl --no-pager -n 99999 -u k3s; echo EP98x-$?-
…
Aug 03 10:49:59 susetest k3s[1878]: W0803 10:49:59.893932    1878 garbagecollector.go:747] failed to discover some groups: map[metrics.k8s.io/v1beta1:the server is currently unable to handle the request]
Aug 03 10:49:59 susetest k3s[1878]: E0803 10:49:59.904045    1878 memcache.go:206] couldn't get resource list for metrics.k8s.io/v1beta1: the server is currently unable to handle the request
Aug 03 10:49:59 susetest k3s[1878]: E0803 10:49:59.905737    1878 memcache.go:104] couldn't get resource list for metrics.k8s.io/v1beta1: the server is currently unable to handle the request
Aug 03 10:49:59 susetest k3s[1878]: I0803 10:49:59.906680    1878 shared_informer.go:255] Waiting for caches to sync for garbage collector
Aug 03 10:49:59 susetest k3s[1878]: I0803 10:49:59.906744    1878 shared_informer.go:262] Caches are synced for garbage collector
Aug 03 10:50:05 susetest k3s[1878]: time="2022-08-03T10:50:05-04:00" level=info msg="Event(v1.ObjectReference{Kind:\"Service\", Namespace:\"kube-system\", Name:\"traefik\", UID:\"2747a567-1132-4037-b53b-91b2396f8322\", APIVersion:\"v1\", ResourceVersion:\"613\", FieldPath:\"\"}): type: 'Normal' reason: 'AppliedDaemonSet' Applied LoadBalancer DaemonSet kube-system/svclb-traefik-2747a567"
Aug 03 10:50:29 susetest k3s[1878]: E0803 10:50:29.589638    1878 resource_quota_controller.go:413] unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
Aug 03 10:50:29 susetest k3s[1878]: W0803 10:50:29.924464    1878 garbagecollector.go:747] failed to discover some groups: map[metrics.k8s.io/v1beta1:the server is currently unable to handle the request]
Aug 03 10:50:30 susetest k3s[1878]: W0803 10:50:30.750374    1878 handler_proxy.go:102] no RequestInfo found in the context
Aug 03 10:50:30 susetest k3s[1878]: E0803 10:50:30.750459    1878 controller.go:113] loading OpenAPI spec for "v1beta1.metrics.k8s.io" failed with: Error, could not get list of group versions for APIService
Aug 03 10:50:30 susetest k3s[1878]: I0803 10:50:30.750487    1878 controller.go:126] OpenAPI AggregationController: action for item v1beta1.metrics.k8s.io: Rate Limited Requeue.
Aug 03 10:50:30 susetest k3s[1878]: W0803 10:50:30.751527    1878 handler_proxy.go:102] no RequestInfo found in the context
Aug 03 10:50:30 susetest k3s[1878]: E0803 10:50:30.751621    1878 controller.go:116] loading OpenAPI spec for "v1beta1.metrics.k8s.io" failed with: failed to retrieve openAPI spec, http error: ResponseCode: 503, Body: service unavailable
Aug 03 10:50:30 susetest k3s[1878]: , Header: map[Content-Type:[text/plain; charset=utf-8] X-Content-Type-Options:[nosniff]]
Aug 03 10:50:30 susetest k3s[1878]: I0803 10:50:30.751649    1878 controller.go:129] OpenAPI AggregationController: action for item v1beta1.metrics.k8s.io: Rate Limited Requeue.
Aug 03 10:50:59 susetest k3s[1878]: E0803 10:50:59.610292    1878 resource_quota_controller.go:413] unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
Aug 03 10:50:59 susetest k3s[1878]: W0803 10:50:59.940910    1878 garbagecollector.go:747] failed to discover some groups: map[metrics.k8s.io/v1beta1:the server is currently unable to handle the request]
Aug 03 10:51:12 susetest k3s[1878]: E0803 10:51:12.087729    1878 namespace_controller.go:162] deletion of namespace helm-ns-413 failed: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
Aug 03 10:51:12 susetest k3s[1878]: E0803 10:51:12.272355    1878 namespace_controller.go:162] deletion of namespace helm-ns-413 failed: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
Aug 03 10:51:12 susetest k3s[1878]: E0803 10:51:12.452761    1878 namespace_controller.go:162] deletion of namespace helm-ns-413 failed: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
Aug 03 10:51:12 susetest k3s[1878]: E0803 10:51:12.642054    1878 namespace_controller.go:162] deletion of namespace helm-ns-413 failed: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
Aug 03 10:51:12 susetest k3s[1878]: E0803 10:51:12.855540    1878 namespace_controller.go:162] deletion of namespace helm-ns-413 failed: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
Aug 03 10:51:13 susetest k3s[1878]: E0803 10:51:13.108258    1878 namespace_controller.go:162] deletion of namespace helm-ns-413 failed: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
Aug 03 10:51:13 susetest k3s[1878]: E0803 10:51:13.438039    1878 namespace_controller.go:162] deletion of namespace helm-ns-413 failed: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
Aug 03 10:51:13 susetest k3s[1878]: E0803 10:51:13.957275    1878 namespace_controller.go:162] deletion of namespace helm-ns-413 failed: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
Aug 03 10:51:14 susetest k3s[1878]: E0803 10:51:14.799003    1878 namespace_controller.go:162] deletion of namespace helm-ns-413 failed: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
Aug 03 10:51:16 susetest k3s[1878]: E0803 10:51:16.275269    1878 namespace_controller.go:162] deletion of namespace helm-ns-413 failed: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
Aug 03 10:51:19 susetest k3s[1878]: E0803 10:51:19.055205    1878 namespace_controller.go:162] deletion of namespace helm-ns-413 failed: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
Aug 03 10:51:24 susetest k3s[1878]: E0803 10:51:24.383095    1878 namespace_controller.go:162] deletion of namespace helm-ns-413 failed: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
Aug 03 10:51:29 susetest k3s[1878]: E0803 10:51:29.630771    1878 resource_quota_controller.go:413] unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
Aug 03 10:51:29 susetest k3s[1878]: W0803 10:51:29.958259    1878 garbagecollector.go:747] failed to discover some groups: map[metrics.k8s.io/v1beta1:the server is currently unable to handle the request]
Aug 03 10:51:34 susetest k3s[1878]: E0803 10:51:34.829022    1878 namespace_controller.go:162] deletion of namespace helm-ns-413 failed: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
Aug 03 10:51:55 susetest k3s[1878]: E0803 10:51:55.509313    1878 namespace_controller.go:162] deletion of namespace helm-ns-413 failed: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
…

Backporting

[ ] Needs backporting to older releases

Your metrics-server pod isn't running or isn't reachable from the apiserver. Because metrics-server registers an aggregated APIService, metrics server API discovery must complete before the namespace can be deleted in order to ensure that deleting it won't orphan any resources in that namespace.
You should figure out why metrics-server isn't working, or if you don't care about metrics, start k3s with --disable=metrics-server

Hello Brandon, the workaround works and without metrics-server the cluster behaves as intended. However I still consider this as a bug and can further assist you as a member of SLE maintenance if you need. Thank you for the workaround tho!

It's not a bug, it's how Kubernetes works. Did you spend any time trying to figure out why the metrics-server pod was not working properly?

Shouldn't it just work out of the box when you install it with k3s?
I tried to use more powerful machine and I tried to wait 10 minutes.

It works fine for me:
sles01:~ # kubectl get node -o wide
NAME     STATUS   ROLES                  AGE     VERSION        INTERNAL-IP   EXTERNAL-IP   OS-IMAGE                              KERNEL-VERSION                 CONTAINER-RUNTIME
sles01   Ready    control-plane,master   3m44s   v1.24.3+k3s1   <IP_ADDRESS>    <none>        SUSE Linux Enterprise Server 15 SP4   5.14.21-150400.24.11-default   containerd://1.6.6-k3s1

sles01:~ # kubectl get pod -A
NAMESPACE     NAME                                      READY   STATUS      RESTARTS   AGE
kube-system   local-path-provisioner-7b7dc8d6f5-lm5gq   1/1     Running     0          3m35s
kube-system   coredns-b96499967-jp7x7                   1/1     Running     0          3m35s
kube-system   helm-install-traefik-crd-5wfwq            0/1     Completed   0          3m36s
kube-system   helm-install-traefik-t5pvp                0/1     Completed   2          3m36s
kube-system   svclb-traefik-be02efe8-v6pzt              2/2     Running     0          93s
kube-system   metrics-server-668d979685-tz2dg           1/1     Running     0          3m35s
kube-system   traefik-7cd4fcff68-5tprh                  1/1     Running     0          93s

sles01:~ # kubectl get apiservice v1beta1.metrics.k8s.io
NAME                     SERVICE                      AVAILABLE   AGE
v1beta1.metrics.k8s.io   kube-system/metrics-server   True        5m2s

Are you perhaps missing the apparmor_parser command? Some SLE images are apparently missing this package despite shipping with the rest of the apparmor userspace. This will cause pods to fail to run with the error CreateContainerError: failed to create containerd container: get apparmor_parser version: exec: "apparmor_parser": executable file not found in $PATH


tests.cloud_to_prod_auth:default:javaokhttp:jwt_token_creds

From #12495
https://grpc-testing.appspot.com/job/gRPC_interop_pull_requests/16743/testReport/
output:
Gradle is no longer run automatically. Make sure to run
'./gradlew installDist -PskipCodegen=true' or
'./gradlew :grpc-interop-testing:installDist -PskipCodegen=true' after any
changes. -PskipCodegen=true is optional, but requires less setup.
[jetty-alpn-agent] Using: alpn-boot-8.1.11.v20170118.jar
Running test jwt_token_creds
[jetty-alpn-agent] Replacing: sun/security/ssl/ClientHandshaker
Sep 18, 2017 3:51:34 PM io.grpc.okhttp.internal.Platform getAndroidSecurityProvider
WARNING: Unable to find Conscrypt
[jetty-alpn-agent] Replacing: sun/security/ssl/HelloExtensions
[jetty-alpn-agent] Replacing: sun/security/ssl/ExtensionType
[jetty-alpn-agent] Replacing: sun/security/ssl/ClientHandshaker$2
[jetty-alpn-agent] Replacing: sun/security/ssl/Alerts
Exception in thread "main" io.grpc.StatusRuntimeException: UNAVAILABLE

Dupe of #10763.


BBVI for unstable likelihoods (sensitive parameters)

Some models - such as GAS models - have likelihoods that are very sensitive to poor parameterization. This results in nan likelihoods, and thereby nan gradients for BBVI. Possible solutions include gradient clipping for GAS models, and a warm-up stage for BBVI that is specific to some model types.

This issue is mostly resolved - in the sense that we now give the user the chance to tweak the parameters for BBVI. But more documentation needed on BBVI tuning perhaps.


Serving test data from a folder

Hey,
I recently ported one of my Go apps to Rust. I was happy to discover wiremock along the way, which has served me very well so far. Thanks! 👏
One feature I do miss from Go's httptest package though is the ability to easily serve all test files contained in a folder, e.g.
ts := httptest.NewServer(http.FileServer(http.Dir("testdata")))
defer ts.Close()
// pass ts.URL to tests

With wiremock, the best I could come up with was to read files one by one depending on the test:
  for td in testdata(&server.uri()).iter() {
      let body = fs::read_to_string(format!("dilbert/testdata/strip/{}", td.date)).unwrap();
      let resp = ResponseTemplate::new(200).set_body_raw(body, "text/html");
 ...

However, I didn't like that solution and ended up using include_str instead.
Maybe there's a simpler way I'm missing here?
Or maybe it's a sensible feature request. 😀

Hey!
Can you share what the files would look like for your Go project?
Just to understand better where you are coming from 😁

Sure, for example, https://github.com/mlafeldt/dilbert-feed/tree/main/src/bin/get-strip/testdata contains some HTML files that, when served, mimic dilbert.com.
e.g. /strip/2020-11-11 is the same as https://dilbert.com/strip/2020-11-11
This applies to all files in that folder when testdata is the server's root folder.

Sorry for the late reply, catching up with all things OSS this week 😅
include_str is indeed what I would have recommended - I don't think we are going to provide first-class support in wiremock for the time being.


0x1D0210D886bC38a1a8c59658E03231467b5695b4

Hey! Have you heard of Coinbase Wallet? Use my referral link and earn up to $40 in quest rewards!
https://go.cb-w.com/referral?referral_id=eEuY43r2xDR--CkQLBANlw

Hey! Have you heard of Coinbase Wallet? Use my referral link and earn up to $40 in quest rewards!
https://go.cb-w.com/referral?referral_id=eEuY43r2xDR--CkQLBANlw


[WIP] Add refetchMore capabilities to the react client

I can't really try that for now since I need the apollo-client to have https://github.com/apollostack/apollo-client/pull/350 merged before. Once it's done I'll finish and test correctly this one!

@rricard with the change in #94 this shouldn't be needed anymore

Yes, I'm closing this then!


Many environment variables lead to APPCMD failed with error code 259 error

Running a container with many environment variables leads to following error:

Service 'w3svc' has been stopped
APPCMD failed with error code 259
Failed to update IIS configuration

Service monitor builds a command for appcmd.exe limited to 30000 symbols. When there are many variables appcmd.exe is executed several times. First run on my environment finishes in about 0.3 second. Each subsequent run takes increased time and eventually exceeds 5 seconds limit (GetExitCodeProcess returns STILL_ACTIVE 259).
Workaround:
Set enableServiceLinks: false in pod’s spec.

EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true.

It will remove set of variables like:

SERVICE_NAME_PORT
SERVICE_NAME_PORT_80_TCP
SERVICE_NAME_PORT_80_TCP_ADDR
SERVICE_NAME_PORT_80_TCP_PORT
SERVICE_NAME_PORT_80_TCP_PROTO
SERVICE_NAME_SERVICE_HOST
SERVICE_NAME_SERVICE_PORT
SERVICE_NAME_SERVICE_PORT_HTTP

This same for me in Docker for Windows. I added only one additional ENV

CC @sujitnayak

Having same issue... When I run the docker container in my machine it works fine, but when I try to use it in Azure Container Instance I get the 259 code. Not always though.
In my case, I have 15 additional environment variables. In total, the container have 55 env vars.

I've attempted to work around this issue with #79.
Any chance that could potentially get merged as a workaround until a proper solution can be found?


VSCode: cleanup KCP launch configurations and use tokens

Summary
VSCode workspace configuration clneaup:

Remove useless or obsolete launch configurations
Use the e2e tests user tokens CSV file when starting the KCP server.

Related issue(s)
Done when working on EPIC #1069

/lgtm

/retest

/assign @sttts