Error while starting zigbee-herdsman

Description of the issue
Hi, I have a problem with the zigbee2mqtt Add-On on my home assistant green box. I use the Sonoff Zigbee Dongle 3.0 Plus which is connected via an USB extension cable. I installed the mosquito broker successfully and it is running. Yesterday I was able to start the zigbee2mqtt add-on and attached some devices. Then comes an error message that the zigbee Dongle recognized an error and that I should restore a backup. After I did this, I'm not longer able to start zigbee2mqtt. It reports always an error with the zigbee-herdsman. Among several other approaches I deleted all devices in mosquito broker and in zigbee, deinstalled mosquito and zigbee2mqtt and installed both again. But that doesn't help.
Addon version
1.40.1-1
Platform
Core 2024.9.1
Supervisor 2024.09.1
Operating System 13.1
Logs of the issue (if applicable)
[23:42:57] INFO: Preparing to start...
[23:42:58] INFO: Socat not enabled
[23:43:03] INFO: Starting Zigbee2MQTT...
Starting Zigbee2MQTT without watchdog.
[2024-09-13 23:43:13] info: 	z2m: Logging to console, file (filename: log.log)
[2024-09-13 23:43:13] info: 	z2m: Starting Zigbee2MQTT version 1.40.1 (commit #unknown)
[2024-09-13 23:43:13] info: 	z2m: Starting zigbee-herdsman (0.57.3)
[2024-09-13 23:43:14] info: 	zh:zstack:znp: Opening SerialPort with {"path":"/dev/ttyUSB0","baudRate":115200,"rtscts":false,"autoOpen":false}
[2024-09-13 23:43:14] info: 	zh:zstack:znp: Serialport opened
[2024-09-13 23:43:14] info: 	zh:zstack:znp: Writing CC2530/CC2531 skip bootloader payload
[2024-09-13 23:43:16] info: 	zh:zstack:znp: Skip bootloader for CC2652/CC1352
[2024-09-13 23:43:34] error: 	z2m: Error while starting zigbee-herdsman
[2024-09-13 23:43:34] error: 	z2m: Failed to start zigbee
[2024-09-13 23:43:34] error: 	z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
[2024-09-13 23:43:34] error: 	z2m: Exiting...
[2024-09-13 23:43:34] error: 	z2m: Error: Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)
at ZStackAdapter.start (/app/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/zStackAdapter.ts:123:27)
at Controller.start (/app/node_modules/zigbee-herdsman/src/controller/controller.ts:138:29)
at Zigbee.start (/app/lib/zigbee.ts:64:27)
at Controller.start (/app/lib/controller.ts:140:27)
at start (/app/index.js:154:5)

I solved the problem. I wasn't aware, that the ZHA integration was still using the dongle. After I deactivated ZHA the problem was gone.

I solved the problem. I wasn't aware, that the ZHA integration was still using the dongle. After I deactivated ZHA the problem was gone.

how did you "deactivate" the ZHA? I removed it from Integrations but is that enough?


Update subscription-requirements.md

@AnuRadhaRao : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


Webpack (new tool request)

Any chances that webpack could be included in the next release? I think it is a great tool by itself and it would be handy to have it by default.

@mrpsiho
Will be available in a few hours. I will comment again with instructions.

[X] https://github.com/cytopia/docker-php-fpm-5.4/pull/29
[X] https://github.com/cytopia/docker-php-fpm-5.5/pull/26
[X] https://github.com/cytopia/docker-php-fpm-5.6/pull/28
[X] https://github.com/cytopia/docker-php-fpm-7.0/pull/26
[X] https://github.com/cytopia/docker-php-fpm-7.1/pull/26
[X] https://github.com/cytopia/docker-php-fpm-7.2/pull/6
[X] https://github.com/cytopia/docker-hhvm-latest/pull/13

Everything is merged and will be built by Docker Hub now. Should be available in less than one hour.
Simply run ./update-docker.sh to fetch latest Docker containers then.


[18.09 backport] BuildKit fixes for 18.09.1

Brings in following:

fix docker system prune doesn't accept until filter https://github.com/moby/moby/pull/38238
builder: avoid unset credentials in containerd https://github.com/moby/moby/pull/38226
update buildkit to 0.3.3 https://github.com/moby/moby/pull/38244 , fixing:

dockerfile: disable network for copy moby/buildkit#697
fix private repos config resolve with external frontends moby/buildkit#729
fix symlinks on reading Dockerfile moby/buildkit#733
fix copying absolute symlinks moby/buildkit#712

Possibly could also use "builder: add workaround for gcr auth issue"  https://github.com/moby/moby/pull/38246 but needs upstream reviews first
@tiborvass @thaJeztah

Upstream changes in buildkit: https://github.com/moby/buildkit/compare/c7bb575...8cf9bec
Upstream changes in fsutil: https://github.com/tonistiigi/fsutil/compare/f567071...2862f6b


[FLINK-12297]Harden ClosureCleaner to handle the wrapped function

What is the purpose of the change
ClosureCleaner is used to clean the implicit this$x point to the outer class in the user defined function to reduce the case of serialization function failed.
But if the function is wrapped by user or the flink framework, it will escape the clean operation. This pr harden the ClosureCleaner to handle this. And I think it is also a feasible approach for [FLINK-12113]
Brief change log
check the field if need to further clean and apply
Verifying this change

Add the case in the issue to confirm
Add the wrapFunction test case in ClosuerCleanerTest

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

@dawidwys @ifndef-SleePy could you help review this PR

May be the author of the ClosureClose.java should also keep an eye on this PR, thanks.  @flinkbot attention @aljoscha

This PR does a few things at the same time:

It recurses into fields, cleaning them.
It skips closure cleaning of functions that have a writeObject method or are Externalizable.
It adds checks to skip classes that are not inner classes.

Recursion into non-transient and non-static fields probably solves the "wrapping function" problem, but it does much more than that. While this can be a good addition, we definitely need a way to turn this off, so we need to extend the closure cleaner configuration to support "don't clean", "clean", and "clean recursive".
I think that (2) and (3) are good additions, but the check should probably be at the top level, not only before checking fields. Especially (3) would help make this faster, because many classes can be skipped right away.
This check should be simpler, though:
public static void clean(Object function) {
    if (function == null) {
        return
    }

    final Class<?> clazz = function.getClass();
    if (clazz.getEnclosingClass() == null || !Modifiers.isStatic(clazz.getModifiers())) {
        return;
    }

    // do the cleaning
}

@flinkbot approve-until consensus

Thanks @StephanEwen for your valuable suggestion, I will address your comments as far as i have time (about at this weekend).

Hi, @StephanEwen
I have followed your suggestion to add some fix. Still two have to confim:

check at the top level with the condition you mentioned may skip some class wrong, think about a  class has no enclosingClass it may also have to be cleaned, so i don't add the check.
I found that the scala class clean is working with ClosureCleaner.scala. I think it should be consistent with the java clean action. I am not quiet familiar with the scala, but i will try to look into it.

ping @StephanEwen

Thanks for your contribution, I'm on vacation for the end of this week but I will review when I get back next week. 👌

I think overall the changes are good!
One thing I thought about is what happens when objects that need to be cleaned are nested, i.e. if you have a structure like OuterStaticClass.InnerStaticClass.InnerAnonymousOrLocalClass. I think the current approach doesn't catch this, and checking always at the top level, as @StephanEwen suggested would also not catch this problem. Any thoughts?

Thanks @aljoscha for your review. I have addressed your comments. About the case you mentioned OuterStaticClass.InnerStaticClass.InnerAnonymousOrLocalClass, I add a test to cover this, and i think it can work with this approach, you can check the test case and leave more comments.

Ah, so this shows that there are quite a few places where we use RECURSIVE and the closure cleaner level is not actually configurable. Do you think we could do something to fix that as well?

I know your mean, and can we remove all the scattered clean() used in functions like connector, Pattern. Because IMO with the RECURSIVE level clean at the entrance showing below, I think other clean function can be removed, or make this less radical by use TOP_LEVEL in these scattered code path to keep old way. WDYT ?
public <F> F clean(F f) {
		if (getConfig().isClosureCleanerEnabled()) {
			ClosureCleaner.clean(f, getConfig().getClosureCleanLevel(), true);
		}
		ClosureCleaner.ensureSerializable(f);
		return f;
	}

I think it over again, it can be removed directly. And after this the clean method should not be directly used, it's should use with one entrance environment#clean()

One way to my mind: set the scattered clean() method with the TOP_LEVEL to keep the old way, And set checkSerializable to false. All the user function will be passed to clean by environment#clean(), we can config the clean level there and checkSerializable at the entrance.
@Internal
public <F> F clean(F f) {
	if (getConfig().isClosureCleanerEnabled()) {
		ClosureCleaner.clean(f, getConfig().getClosureCleanLevel(), true);
	}
	ClosureCleaner.ensureSerializable(f);
	return f;
}

It's tough, I think RECURSIVE might be the better default strategy because it cleans more.

I still think the approach doesn't work for closures that are nested in "non-closures". I.e when you have a closure as a field in an object of a static class. This test case shows it:
	@Test
	public void testRealOuterStaticClassInnerStaticClassInnerAnonymousOrLocalClass() {
		MapFunction<Integer, Integer> nestedMap = new OuterMapCreator().getMap();

		MapFunction<Integer, Integer> wrappedMap = new WrapperMapFunction(nestedMap);

		Tuple1<MapFunction<Integer, Integer>> tuple = new Tuple1<>(wrappedMap);

		ClosureCleaner.clean(tuple, ExecutionConfig.ClosureCleanerLevel.RECURSIVE, true);

		ClosureCleaner.ensureSerializable(tuple);
	}

The problem is that recursion stops as soon as it finds a field of a static class, which doesn't take into account the fact that this nested static class can have fields that are themselves closures.

Agree, but I think keep the  scattered clean() with old TOP_LEVEL and use configurable RECURSIVE at the entrance  will make this more flexible if user want to rollback the clean action.  WDYT @aljoscha.

I test this case failed due to this check, because the WrapperMapFunction is top level, so it doesn't run recursively.
(fo.getClass().isAnonymousClass()) ||
(fo.getClass().isLocalClass()) ||
(fo.getClass().isMemberClass())

Sorry for late response @sunjincheng121 , I’m out for these two days, I will further look into this today.

Hi @aljoscha  The case you post can not past is due to the check below, because a closure can be hidden in any class as you say.
(fo.getClass().isAnonymousClass()) ||
(fo.getClass().isLocalClass()) ||
(fo.getClass().isMemberClass())

But I can not simply remove the check, because it will run into the StackOverFlowError, So i check the serializability before recursively clean the member field.  What do you think of the solution now? The travis failed seems unrelated.

I simplified the recursion and fixed the stack overflow error (the problem was that the ClosureCleaner was recursing into primitive types/wrappers and would get stuck on Long.MIN_VALUE. You can see this yourself by printing the name of the field when recursing). You can see my changes here: https://github.com/aljoscha/flink/commits/pr/8280-closure-cleaner. If Travis is green on this I would merge, if you're OK with the changes.

Thanks for your help @aljoscha  It's true that it was stuck by the Long.MIN_VALUE or (Integer.MAX_VALUE I met in my local test) and so on. I did't to this check because i am not very sure about whether this cover all case (may be it's enough).
Another doubt that why you remove the static and transient modifier check. I think the static class can not be skipped check but the field with static/transient modifier should be skipped.

You're exactly right! I'll not remove those checks.

OK, and the travis failed seems due to the python word count e2e test ?

I think the check for primitive type maybe not enough, do you see the last travis ci result https://api.travis-ci.org/v3/job/544637574/log.txt, but it seems disappear during the second trigger. No matter the travis result , I think a class below will also run into stack overflow error, right?
class A {
    A fieldA;
}

Do you think the solution to check the serializability before recursive is not a good idea?  I think this can solve the problem because we only have to recursively clean the unserializable fields, WDYT @aljoscha ?

I added a test for a recursive class to the test in my branch: https://github.com/aljoscha/flink/commits/pr/8280-closure-cleaner
As I expected, this is fine, because the recursion naturally stops at some point. The only problem I could imagine if we had a type that references itself. But that's a bit of an edge case that users should avoid. But we could add code for dealing with it if we want.
Could you maybe take the changes from my branch and add them to this PR, i.e. force push those changes?

OK, I will take a look tonight, thanks.

The only problem I could imagine if we had a type that references itself.

I check the case, and i think you are right👍.  I have cherry-pick the last three commits from your branch and squashed, thanks for your help @aljoscha . Before merging,  I will also check the last failure in your branch https://api.travis-ci.org/v3/job/544637574/log.txt by running in my local environment and also waiting the travis to be green.

The CI failed, I restarted the CI due to It looks the EVN problem. :)

Thanks for the review @aljoscha! And thanks for your efforts @Aitozi
I'll merge this after CI change to green! :)
@flinkbot approve all

I merged this! Thanks again to the two of you for working on this. 👍


Allow specifying global buildscript classpath repo from init script for script plugins

Expected Behavior

Have a single place where all repositories are defined, and which point to our nexus - it should be global, not per build
Have a parent boilerplate build file that applies some plugins
Have all webapps apply the parent build and be able to use its configuration, classpath and so on and only refine the configuration as the webapps need it

Current Behavior
Have to redifine boilerplate repos in every script file
Context
https://discuss.gradle.org/t/configure-buildscript-repositories-for-all-project-globally-in-init-gradle/6572
Migration from https://issues.gradle.org/browse/GRADLE-2801

This will be fixed by https://github.com/gradle/gradle/pull/952

This was not resolved by #952 or its successor #1050
It is still impossible to globally define the repositories for script plugins.

Hi, in our init script we have:
gradle.settingsEvaluated {
   pluginManagement {
      repositories {
         println("REPOS: ${names}")
         clear()
         mavenLocal()
         println("REPOS: ${names}")
     }
   }
}

and in our settings.gradle.kts
buildscript {
    println("REPOS: ${repositories.names}")
    dependencies {
        classpath("authada-kotlin-settings:authada-kotlin-settings.gradle.plugin:${Versions.authadaPlugins}")
    }
}

The logs shows the following:
REPOS: []
REPOS: [AUTHADA-PRIVATE, AUTHADA-PUBLIC-MIRROR, MavenLocal]
REPOS: [Embedded Kotlin Repository]

So the question is, where are the repositories lost?

Any progress on this?

It is possible to define a set of repositories via pluginManagement that will be used to resolve plugins for all build scripts. Unfortunately there is a bug that sometimes prevents these repositories from being available to load buildscript dependencies in build scripts. https://github.com/gradle/gradle/issues/17401


python312Packages.influxdb-client: 1.47.0 -> 1.48.0

Diff: https://github.com/influxdata/influxdb-client-python/compare/refs/tags/v1.47.0...v1.48.0
Changelog: https://github.com/influxdata/influxdb-client-python/blob/v1.48.0/CHANGELOG.md

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-reviewd workflow started
Status and logs: https://github.com/nixosbrasil/nixpkgs-reviewd/actions/runs/12498812630
Extra args: ``

nixpkgs-reviewd workflow finished
Status and logs: https://github.com/nixosbrasil/nixpkgs-reviewd/actions/runs/12498812630
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 368211

x86_64-darwin

:x: 4 packages failed to build:

python312Packages.powerapi
python312Packages.powerapi.dist
python313Packages.powerapi
python313Packages.powerapi.dist

:white_check_mark: 5 packages built:

influxdb2-provision
python312Packages.influxdb-client
python312Packages.influxdb-client.dist
python313Packages.influxdb-client
python313Packages.influxdb-client.dist

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 368211

aarch64-darwin

:x: 25 packages failed to build:

deno
era
lua-language-server
lua51Packages.llscheck
lua52Packages.llscheck
lua53Packages.llscheck
lua54Packages.llscheck
luajitPackages.llscheck
lunarvim
python312Packages.powerapi
python312Packages.powerapi.dist
python313Packages.powerapi
python313Packages.powerapi.dist
quarto
quartoMinimal
silverbullet
vimPlugins.ddc-filter-matcher_head
vimPlugins.ddc-filter-sorter_rank
vimPlugins.ddc-source-lsp
vimPlugins.ddc-ui-native
vimPlugins.ddc-ui-pum
vimPlugins.ddc-vim
vimPlugins.denops-vim
vimPlugins.vim-pluto
vscode-extensions.sumneko.lua

:white_check_mark: 5 packages built:

influxdb2-provision
python312Packages.influxdb-client
python312Packages.influxdb-client.dist
python313Packages.influxdb-client
python313Packages.influxdb-client.dist

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 368211

x86_64-linux

:x: 2 packages failed to build:

python313Packages.powerapi
python313Packages.powerapi.dist

:white_check_mark: 8 packages built:

home-assistant-component-tests.influxdb
influxdb2-provision
python312Packages.influxdb-client
python312Packages.influxdb-client.dist
python312Packages.powerapi
python312Packages.powerapi.dist
python313Packages.influxdb-client
python313Packages.influxdb-client.dist


The imported packages can't be deleted from QE packages

OLCS-227
Fixes OLCS-227

LGTM

Closes OLCS-227


Automated cleanup of images built by integration tests in our GCP project

The GCR of our integration testing project has accumulated thousands of images. I am cleaning them, but we will continue to accumulate them.
To list all the immediate "sub-repositories":
gcloud container images list --repository="gcr.io/${GCP_PROJECT}"

To delete all tags of a repository (not tested and may not work):
NAME="gcr.io/${GCP_PROJECT}/simpleimage"
gcloud container images list-tags "${NAME}" --format='get(digest)' \
  | sed -e "s,^,${NAME}@," \
  | xargs gcloud container images delete --quiet --force-delete-tags

FTR:
#!/bin/sh

GCP_PROJECT="${1:-jib-integration-testing}"

delete_images() {
  echo "* Deleting images in ${1}..."

  local tags=$( gcloud container images list-tags "${1}" --format='get(digest)' \
    | sed -e "s,^,${1}@," )
  if [ -n "${tags}" ]; then
    gcloud container images delete --quiet --force-delete-tags $tags
  else
    echo "no tags to delete"
  fi
}

delete_repository() {
  local repositories=$( gcloud container images list --repository="${1}" )
  for repo in ${repositories}; do
    if [ "${repo}" != "NAME" ]; then
      ( delete_repository "${repo}" )
      delete_images "${repo}"
    fi
  done
}

delete_repository "gcr.io/${GCP_PROJECT}"

@chanseokoh should we do some sort of weekly cron cleanup at 2am on sunday?

Yeah, we can do this. The question is, where to implement this cron. I've been doing this occasionally on my machine.


Question: ScollViewer ContentSize / Width / Height confusion

Sorry for poor title, I really don't know how to word this. I'm trying to design a 'Scroll Dialog', that I can use when I have a list of items to show the user. An example of this is when I have user select a folder, my program scans folder for usable files, and then displays a dialog showing what was used. In some cases this can be a long list so using normal messagebox.query() just results in huge wall of text and you can't see the buttons. Essentially I want this functionality, but I want it to be able to scroll if it's bigger.
I am having a very difficult time with ScrollView, looking at the documentation and at UICatalog code/examples I'm not really sure about:

Don't show scroll bars if not necessary (AutoHideScrollBars = true). I am often seeing no scroll bars show up, mainly because I don't really understand how ScrollViewer knows if it has more to scroll
What is the different between ContentSize, Width, Height of a scroll viewer? What should the delta between W/H and ContentSize be to ensure scrollbars can be shown, if any?

This is probably really poor design (I have no idea what I'm doing here), but using a dialog class like this:
public class ScrollDialog : Dialog
{
    public ScrollDialog(string title, string topMessage, string bottommessage, View scrollableContent, params Button[] buttons) : base(title, buttons)
    {
        Height = 20; //dialog height
        Width = 50; //dialog width

        Add(new Label(topMessage)
        {
            X = 0,
            Y = 0,
            Width = Dim.Fill(),
            Height = 2
        });

        var scrollView = new ScrollView()
        {
           Y = 2,
            ContentSize = new Size(28, 10), //No idea what these actually seem to do
            ShowVerticalScrollIndicator = true,
            ShowHorizontalScrollIndicator = true,
            //AutoHideScrollBars = true,
            Width = 50,
            Height = 12, //how much actually seems to be shown in below picture
        };
        scrollView.Add(scrollableContent);

        Add(scrollView);

        Add(new Label(bottommessage)
        {
            X = 0,
            Y = Pos.Bottom(this) - 5, //This never seems to be reliable, maybe cause object isn't fully initialized yet
            Width = Dim.Fill(),
            Height = 1
        });
    }
}

and using the following call to setup the dialog

            View scrollableContent = new View()
            {
                Width = 40,
                Height = 45,
            };
            for (int i = 0; i < 45; i++)
            {
                scrollableContent.Add(new Label("I AM LINE " + i)
                {
                    X = 0,
                    Y = i,
                    Width = Dim.Fill()
                });
            }

            ScrollDialog sd = new ScrollDialog("Scroll dialog", "This is top message", "This is bottom message", scrollableContent,  new Button("OK")
            {
                Clicked = Application.RequestStop
            });
            Application.Run(sd);

yields a dialog like this:

The dialog scrolls if i hold the down or up arrow, depending on where there current scroll position is. You can also scroll to the right a pretty long ways, even though there's nothing to see there.
I know the scrollbars work, as I have seen it in the UICatalog, where I copied this code from and began playing with. At one point I had working scrollbars, but I wanted to remove horizontal, where I then found AutoHideScrollBars, but now I don't have any and I've been fooling around with scrollviewer, becoming frustrated after about an hour of working on it.
As far as I understand,
Width: Width of the ScrollViewer control
Height: Height of the ScrollViewer control
ContentSize: ... the viewport size of the subcontrol...? Why would this not match the Width/Height (and maybe -1 for scrollbars)? I can't think of scenario where, for example on windows UI design, I would have a scrollviewer that has scrollbars that are not directly attached to the edges of the control, which are then directly next to the content itself.
The documentation says: The subviews that are added to this ScrollView are offset by the ContentOffset property. The view itself is a window into the space represented by the ContentSize.  I'm not sure how ContentSize relates to the positioning of the scrollbars. Do I need to make this smaller than the Height/Width of ScrollViewer View itself?

The Width and Height are related to the ScrollView size on the screen. The ContentSize is related to the size of the added viewport. In this case you only need to set his value to the size of the viewport. There are some cases where the ContentSize are dinamically added to the ScrollView and you need to update it by overriden the Redraw method. See the class Filler sample where the GetContentSize method is called by the DrawContent event of the ScrollView to update his ContentSize that was calculated in the Redraw method of the Filler class.
scrollView2.DrawContent = (r) => {
	scrollView2.ContentSize = filler.GetContentSize ();
};

To personalize the horizontal and vertical scroll indicator see this video sample from the UICatalog.

I guess I'm still not understanding. I am getting strange overscrolling on the scroll bars, for example:

I played with contentsize a bit. Setting the values to 0 makes nothing appear. Making both 1 makes it the size of the scroll viewer, and adding more values seems to determine how much can be scrolled in either direction.
The API documentation for ScrollView seems to be missing some information that is only present in the UICatalog app. This seems to be related to https://github.com/migueldeicaza/gui.cs/issues/758, but documentation does not seem to indicate that changing these values doesn't do anything unless you also turn this property off.
The above gif was done by this:
public class ScrollDialog : Dialog
{
    public ScrollDialog(string title, string topMessage, string bottommessage, View scrollableContent, int cWidth, int cHeight, params Button[] buttons) : base(title, buttons)
    {
        Height = 20;
        Width = 50;

        Add(new Label(topMessage)
        {
            X = 0,
            Y = 0,
            //Width = 15,
            Height = 2
        });

        var scrollView = new ScrollView(new Rect(1, 3, 47, 12))
        {
            Y = 2,
            ContentSize = new Size(cWidth + 35, cHeight),
            //ContentOffset = new Point (0, 0),
            //ShowVerticalScrollIndicator = true,
            //ShowHorizontalScrollIndicator = true,
            AutoHideScrollBars = true,
            ColorScheme = Colors.TopLevel,

        };
        scrollView.Add(scrollableContent);

        Add(scrollView);

        //Add(new Label(bottommessage)
        //{
        //    X = 0,
        //    Y = Pos.Bottom(this) - 5,
        //    Width = Dim.Fill(),
        //    Height = 1
        //});
    }
}

called by
 View scrollableContent = new View()
            {
                Width = 40,
                Height = 45,
            };

            int maxW = 0;
            int maxH = 0;
            for (int i = 0; i < 45; i++)
            {
                var str = "TEST I AM A LINE SHOW ME PLS LINE " + i;
                scrollableContent.Add(new Label(str)
                {
                    X = 0,
                    Y = i,
                    Width = 40,
                    ColorScheme = Colors.Menu
                });
                maxW = Math.Max(maxW, str.Length);
                maxH++;
            }

            ScrollDialog sd = new ScrollDialog("Scroll dialog", "This is top message", "This is bottom message", scrollableContent, maxW, maxH, new Button("OK")
            {
                Clicked = Application.RequestStop
            });
            Application.Run(sd);

I don't really see where I'm doing anything wrong here. I looked at UICatalog's Scrolling.cs and it shows a content width of 200. I tweaked it a bit and it is correctly showing the scrollbars for it, but I can't figure out why when I make mine smaller the scrollbars just kind of do whatever they want.

You are using the Filler class sample for a use case of adding view Labels with Width = 40 and this is what you must pass to the ContentSize. In this case the ContentSize must be updated to have a Width=40 and a Heigth=total-of-labels-heigth. The Filler class is only a View that has a for loop to write runes and the width is the max of runes length. In your case you are using labels with the same width. If that width is bigger than the maxW it will scroll outside.

Replace with this code and you see that the horizontal scroll won't go outside the last Label width. What you are doing is adding more 35 wide and it only have a black background and you think it scrolling without needed.

			for (int i = 0; i < 45; i++) {
				var str = "TEST I AM A LINE SHOW ME PLS LINE " + i;
				int w = 40;
				if (i == 44) {
					str += str;
					w = str.Length;
				}
				scrollableContent.Add (new Label (str) {
					X = 0,
					Y = i,
					Width = w,
					ColorScheme = Colors.Menu
				});
				maxW = Math.Max (maxW, str.Length);
				maxH++;
			}

I used your code but it still behaves this way. The horizontal scrollbar appears as it should, because the content is wider than the Width of the ScrollViewer. However it stills scrolls way beyond the actual content, in both dimensions, even though the content size matches what the actual content size (scrollablecontent) is.

I'm on the latest master branch code. If I set content size to 1 for width, I can scroll 1 point to the right. If I pick 2, I can scroll 2 points to the right - even if the content already fit in the viewport.

It seems like ContentSize behaves like how much you can scroll, not how much you should be able to - it's like the width of the scrollviewer is not taken into account.

ContentSize cannot be larger than the maximum size of the largest viewport. Otherwise, you will no longer be able to see the viewports. The keyboard navigation, namely the right and down keys, were working poorly so I already submitted a PR #861 to correct it. The maximum size for AutoHideScrollBars to function properly and not have scroll bars is as follows:

			for (int i = 0; i < 12; i++) { // 45
				var str = "TEST I AM A LINE SHOW ME PLS LINE " + i;
				int w = 47;
				//if (i == 44) {
				//	str += str;
				//	w = str.Length;
				//}
				scrollableContent.Add (new Label (str) {
					X = 0,
					Y = i,
					Width = w,
					ColorScheme = Colors.Menu
				});
				//maxW = Math.Max (maxW, str.Length);
				maxW = Math.Max (maxW, w);
				maxH++;
			}

I checked out the PR locally and tested it, it didn't seem to change the behavior of overscrolling. I looked at the method for scroll that you changed:
public bool ScrollDown (int lines)
		{
			var ny = Math.Max (-contentSize.Height, contentOffset.Y - lines);
			if (-contentSize.Height < ny) {
				ContentOffset = new Point (contentOffset.X, ny);
				return true;
			}
			return false;
		}

I know I keep mentioning I don't really understand ContentSize, sorry if I'm beating dead horse. It is my current understanding that ScrollView Width and Height determine the 'viewport', which is like a sliding glass pane over a larger piece of content that is of size ContentSize. When the height of the scrollview > content size height it should not be able scroll down/up (this is ignoring if horizontal scrollbar covers something) since the entire content height could be displayed.
However in this scroll down methtod I don't see it ever checking the height of the scrollviewer. I will write out how method is running it seems:
If I have:
ContentSize Height = 12
ScrollViewer Height = 12 (ignore the horizontal scrollbar in this example)
Scrolling down by 1 line
ContentOffset is 0,0 (since we haven't scrolled anything yet)
var ny = Math.Max(-12, 0 - 1); // -1 will be ny
if (-12 < -1){ //true
   ContentOffset = new Point(0, -1);
   return true;
}
return false;

I don't see the size of the 'viewport (sliding glass pane size that I, the human, can see and scroll around the underlying area)' ever being factored into this.

Only to explain what is Content Size.

That is how I also interpreted it. It seems the scrollview is able to scroll outside of the content's size rect, however. In my above code it's partially fixed.

@Mgamerz with my PR the ScrollView don't scroll outside of the content's size rect. It maintain at least the right bottom corner visible even with mouse or keyboard. Of course in the first sample I put here the ContentSize was irregular and the smallers lables scroll outside but not the last one thas was bigger.

What can be discussed is how far it can scroll vertically and horizontally and I am open to that. But the important thing is that in a regular rectangle it doesn't scroll out.

The above pictures are with your PR that I checked out. I pulled your changes and it didn't seem to change behavior. Starting from https://github.com/migueldeicaza/gui.cs/issues/859#issuecomment-672972311 is from your PR branch.
:\Documents\Visual Studio 2015\Projects\AlotAddOnGUI\gui.cs>git status
On branch scrollview-keys-fix

That the way I fixed it. But it could be changed. It must not have a col or row outsided?

On Windows for example, in both winforms and WPF, scrollviewers don't scroll beyond their content, as there is no real point to showing where this would be no content. I can see a use case where maybe the user is doing image editing, and wants to physically move the object to a more accessible area of the screen, but I don't think there's much image editing going on in the terminal.
For example there is no reason for me to be able to scroll beyond the list of files in my project's folder

The one issue I see is if the scrollviewer's viewport is bigger than the content itself. In the case, it shouldn't be able to scroll at all (at least in that dimension). But the check I think would also account for that. Your code is nearly correct for this, it just needs to take that into account. I guess I misunderstood what your PR does, it is making sure at least 1 pixel is still on screen, and I was thinking it should always have the entire thing on screen.

I would make a property to allow both options.

@Mgamerz it's done. Please check it it's all right.

Seems to now keep the content in the view, which is exactly what I wanted. The only issue I see is the scrollbars are really messed up still. In this pic I am scrolled to the very bottom right corner, but the scrollbars don't look right. The horizontal scrollbar has moved almost entirely off to the right hand side of the scrollbar.

The scrollbars have that behavior indeed. But in your image there are no more anything to show isn't?

No, the viewport is working great, exactly how I expect it to now.

To scroll out set the KeepContentAlwaysInViewport to false.

Once the scrollbars gets fixed up it'll be fully fixed/improved :)

I'll try to improve his behavior. I really don't like it too.

This is awesome stuff, both of you. Thanks for digging into into it!

It seems is all done.

Sorry, didn't have time to test this yesterday. Pulled msater this morning and everything works, I now have a scroll dialog :)

It even shrinks the width if it's smaller than the max dialog width, accounting for a buffer (in this pic, 5), and uses the max size of the contentsize width, title, top and bottom messages :)


R14. Time of completion in excel export

Is your feature request related to a problem? Please describe.
Describe the solution you'd like
As a process-admin, I would like to see the time of completion in the Excel export (as soon as the status changes to completed/accepted).
Mock up
**Does this issue could impact on users private
Technical specifications
https://github.com/openpoke/decidim-module-reporting-proposals/issues/16
Implementation

[x] https://github.com/openpoke/decidim-module-reporting-proposals/pull/18

Testing
Additional context

closed by https://github.com/openpoke/decidim-module-reporting-proposals/pull/18


Optimization constraints

Hello, is there a way to include constraints, other than budget bounds in the budget optimization ? like for example including the carbon emission ... Thank you

Ah I think I understand the question. Essentially allocating a penalty of CO2 emissions by channel. Then when optimizing, the model ensures you don't exceed a carbon emissions constraint?

@Wajiharfaoui There's two ways to do this:

as a hard bound (CO2 emissions can not be larger than X)
as a penalty (there's a penalty to choosing a solution with lots of CO2).

I looked a bit at the code and it doesn't seem like it allows for this flexiblity. You would have to change the objective function https://github.com/pymc-labs/pymc-marketing/blob/main/pymc_marketing/mmm/budget_optimizer.py#L74. Perhaps you can monkey-patch your own. Ultimately it would be better if this was an argument to the budget optimizer.
CC @carlosagostini

@cetagostini Has this been addressed?


[KO-335] Adding support for HPA

https://aerospike.atlassian.net/wiki/spaces/KO/pages/3593338906/Horizontal+Pod+Autoscaler

Will be merged in next release.


Add 'Plot' block auto selection update

Fixes #93
The actual issue with 86 being that the error reported for having the plot blocks selection to 'none' means that there are no actual 'Series' being created. Perhaps a custom error report can be created that tells the user that they must "First assign a 'Series' or 'Line' block to a variable in order to be able to plot it"

Add use case for not generating output code if selection is set to 'none'

@codestar12 this is ready for review with the added feature of not generating 'broken' code


Tasks should recognise tasks within Obsidian callouts

Expected Behavior
Should recognise tasks within inbuilt Obsidian callouts (since these are recognised as tasks by Obsidian) and other markdown code such as lists work OK.
Current Behavior
Not recognised by Obsidian-tasks (or Dataview Plugin)
Steps to Reproduce
> [!QUOTE]
> - [ ] #task xxxxx test in callout 📅 2022-02-07
> [[A link]]

In above environment, the tasks function as tasks to all intents and purposes. Neither Dataview nor Tasks detect the task. Dataview does however detect other things within the block (such as the link above)
Context (Environment)

Obsidian version: 0.14.6
Tasks version: 1.5.1

I don't see this as a major issue, but needs documenting

Thank you for the report @aubreyz.

This would be extremely helpful. I like to capture tasks / todos during a standup. It would be fantastic if first-level task list items in callouts were supported. Added an example of my use below. Hope it helps. If it wasn't obvious, I set my global tag to '#todo' instead of '#task'.
## Standup Notes

> [!INFO]+ Standup Notes for Mark:
> **Yesterday:**
> - Did something neat
> - Did something else wicked
> - Did more cool things
>
> **Today:**
> - [ ] #todo Meeting with someone.
> - [ ] #todo Finish templates 📅 2022-06-04
> - [x] #todo Didn't get the 'green check' or done date added so it won't show up below. 📅2022-06-04
> - [x] #todo Added the 'green check' and done date manually. Doesn't show up below either. 📅2022-06-04 ✅ 2022-06-04

**All alone**
- [x] #todo This will show up in the SUCCESS callout below just fine. 📅2022-06-01 ✅ 2022-06-04

## Task Breakdown

> [!SUCCESS]+ Tasks completed 2022-06-04:
> ```tasks
> done 2022-06-04
> ```

The snippet above produces the following:

See also #563, which is the same but for admonitions. And the all-important explanation:
https://github.com/obsidian-tasks-group/obsidian-tasks/issues/563#issuecomment-1072681028

The Tasks plugin iterates over all list items that Obsidian found in a file. If Obsidian doesn’t regard text inside code blocks as list items, Tasks won’t recognize them either.

I think the best we are going to be able to do with this is to document the limitation, as was suggested for the similar https://github.com/obsidian-tasks-group/obsidian-tasks/issues/563

In case it helps, here is how this was solved in Reminders:
https://github.com/uphy/obsidian-reminder/pull/92

Dataview now treats obsidian native callouts differently than codeblocks. Tasks inside admonitions (#563) do not show up in dataview, tasks inside callouts (and therefore presumably also blockquotes, since the lines look identical?) do show up in dataview. The change from Reminders looks like it does something similar. I have not yet tested tasks inside nested callouts e.g. >> - [ ] this is a task but I am not sure the exact fix from Reminders works for those.

OK this is great news. It does actually make fixing reading of tasks in Callouts (and block quotes) quite feasible.
Care would need to be taken with recurring tasks, to make sure that they were prefixed with the full string that the parent task was prefixed with.


Update archive.njk

Pagination check did not work for me, I am thinking "if not" can be work with booleans, nunjucks docs does not help much.
I have 4 posts, pagination size is 2.
totalPages: 2
totalResults: 4

With current expression, pagination is not showing at all.

I change below:
{% if not pagination.totalPages == 1 %}

to this:
{% if pagination.totalPages != 1 %}

I am with latest version
<EMAIL_ADDRESS>

Mmm, that's weird. But your solution si more elegant. Thanks!


Dbeaver quit unexpectedly

Process:               dbeaver [29177]
Path:                  /Applications/DBeaver.app/Contents/MacOS/dbeaver
Identifier:            org.jkiss.dbeaver.core.product
Version:               ???
Code Type:             X86-64 (Translated)
Parent Process:        ??? [1]
Responsible:           dbeaver [29177]
User ID:               501
Date/Time:             2021-03-09 01:12:07.154 +0800
OS Version:            macOS 11.2.2 (20D80)
Report Version:        12
Anonymous UUID:        182941CC-B632-3C87-5103-E4D94AF5B229
Sleep/Wake UUID:       863460BE-8291-450A-960C-B463ABD10E1C
Time Awake Since Boot: 37000 seconds
Time Since Wake:       10000 seconds
System Integrity Protection: enabled
Crashed Thread:        0
Exception Type:        EXC_BREAKPOINT (SIGTRAP)
Exception Codes:       EXC_ARM_BREAKPOINT at 0x00007ffdfffc936c (brk 1)
Exception Note:        EXC_CORPSE_NOTIFY
Termination Signal:    Trace/BPT trap: 5
Termination Reason:    Namespace SIGNAL, Code 0x5
Terminating Process:   exc handler [29177]
Application Specific Information:
rosetta error: /var/db/oah/a4e74257fed99be09de27acd5decf28c2a9f03dcfa2aecfcbf2aa9e38e7a9a36/c7a183158a2c2b472706ec39e872bd2b4a467ce2e205ea0f562b641b004b5466/dbeaver.aot: attachment of code signature supplement failed: 3
Thread 0 Crashed:
0   runtime                       	0x00007ffdfffc936c 0x7ffdfff76000 + 340844
1   runtime                       	0x00007ffdfffc9448 0x7ffdfff76000 + 341064
2   runtime                       	0x00007ffdfff848d8 0x7ffdfff76000 + 59608
3   runtime                       	0x00007ffdfff85e44 0x7ffdfff76000 + 65092
4   runtime                       	0x00007ffdfff85908 0x7ffdfff76000 + 63752
5   runtime                       	0x00007ffdfff77c60 0x7ffdfff76000 + 7264
6   dyld                          	0x0000000102e76000 0x102e76000 + 0
Thread 0 crashed with ARM Thread State (64-bit):
x0: 0x0000000000000000   x1: 0x0000000000000003   x2: 0x000000000000003c   x3: 0x000000000000002c
x4: 0x0000000000000303   x5: 0x0000000000000000   x6: 0x0000000000000000   x7: 0x0000000000000228
x8: 0x00007ffdffff4000   x9: 0x0000000000000000  x10: 0x0000000209a5aacd  x11: 0x00007ffdfffe0530
x12: 0x00007ffdfffe0520  x13: 0x00007ffdfffdb8d3  x14: 0x0000000000000020  x15: 0x00000000ffffffff
x16: 0xffffffffffffffe1  x17: 0x00007ffdfffcde14  x18: 0x0000000209a5d15b  x19: 0x0000000209a5a9f0
x20: 0x0000000209a5d808  x21: 0x0000000002ae5000  x22: 0x0000000000000203  x23: 0x0000000002ae5000
x24: 0x0000000000000003  x25: 0x0000000000000001  x26: 0x0000000209a5cc60  x27: 0x0000000000000203
x28: 0x0000000002ad9000   fp: 0x0000000209a5ba00   lr: 0xcf427ffdfffc9364
sp: 0x0000000209a5a9e0   pc: 0x00007ffdfffc936c cpsr: 0x60000000
far: 0x00007ffdffff5000  esr: 0xf2000001
Binary Images:
0x102e76000 -        0x102f11fff  dyld (832.7.3) <0D4EA85F-7E30-338B-9215-314A5A5539B6> /usr/lib/dyld
0x7ffdfff76000 -     0x7ffdfffe9fff +runtime (203.30)  /Library/Apple/*/runtime
External Modification Summary:
Calls made by other processes targeting this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by all processes on this machine:
task_for_pid: 32632
thread_create: 0
thread_set_state: 0
VM Region Summary:
ReadOnly portion of Libraries: Total=1324K resident=0K(0%) swapped_out_or_unallocated=1324K(100%)
Writable regions: Total=18.6M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=18.6M(100%)
                            VIRTUAL   REGION

REGION TYPE                        SIZE    COUNT (non-coalesced)
===========                     =======  =======
STACK GUARD                       56.0M        1
Stack                             8176K        1
VM_ALLOCATE                       10.3M        1
VM_ALLOCATE (reserved)              56K        1         reserved VM address space (unallocated)
__DATA                             272K        4
__DATA_CONST                        32K        1
__LINKEDIT                         272K        4
__TEXT                            1088K        2
mapped file                        4.7G        8
===========                     =======  =======
TOTAL                              4.7G       23
TOTAL, minus reserved VM space     4.7G       23
I tried already tried resetting my workspace and deleting the .metadata, but still the same

Unfortunately, we don't support M1 officially at the moment.
Could you provide error logs?

I was running into the same issue on M1. Upgrading to macOS 11.3.1 seems to have fixed the issue.

Can confirm, had a crash too on a Macbook Air M1, upgraded to 11.3.1 and it seems to be working.


Pass a context to rendered Component's child?

I am using enzyme.mount to render a Component with some child Components and I need to pass a context to these child Components. I can pass a context with options.context to the Component but I would like to pass something else to Component's children.
The options object in mount would be good place to do this, however, it is currently not possible. I know I can create my own wrapper with childContextTypes, but for better readability and simplicity of tests, to do this directly with enzyme.mount would be amazing.
What do you think?

I can pass a context with options.context to the Component but I would like to pass something else to Component's children.

Can you expand on "something else" ?
I'm curious to what you want to do that you can't currently do with the options.context param. And am sort of confused by your reference to creating a wrapper with childContextTypes as that is effectively what happens under the hood of that API.

Allright. Let's say I have a ComponentA that renders ComponentB inside and ComponentB has several ComponentC children. Now, I am unit testing ComponentB.
ComponentB has:
contextTypes: {
  storeAbc: ...
  somethingElse: ...
}

but ComponentC has more stuff in context:
contextTypes: {
  storeAbc: ...
  storeXyz: ...
  somethingElse: ...
  yourMum: ...
}

Now, when I want to mount ComponentB it should be able to render ComponentCs inside, but there is no option to pass the additional context to it via ComponentB. The extra stuff in ComponentC's context is not in ComponentB and if I passed it to ComponentB's context I'd get a violation or something. So now I need to create my own wrapper with it which I don't want. That's where enzyme is great.
Is it clear?
Am I missing something?

That makes sense. So are you trying to test ComponentC through rendering ComponentB? Can you test that component on it's own? Or is it a matter of it just throwing errors when trying to test ComponentB?
If so, you could mock out ComponentC so it's still assertable that it is rendered as a child of ComponentB without throwing the errors from missing context. That might help in the interim.
I'm not sure if there is a bug here or not, @lelandrichardson will probably have a better concept of if something is missing here.
If I understand correctly, just to reiterate, this is effectively the problem you are having:
// given this tree structure

                      +--------------+
                      | ComponentA   | // this sets the context `foo` and `bar`
                      +--------------+
                             v
                      +--------------+
                      | ComponentB   | // subscribes to context `foo`
                      +--------------+
                             v
                      +--------------+
                      | ComponentC   | // subscribes to context `bar`
                      +--------------+

So when testing ComponentB who only cares about foo you can get the context to that, but it's child is not getting the context it needs as you aren't rendering ComponentA. Is that correct?
I guess, when I think about it, passing context to the mount/shallow API should be encompassing for all it's children.
mount(
  <ComponentA />,
  { options: { context: { foo: true, bar: false } }
);

And so you're saying this fails for you?

I may be misunderstanding how context works exactly, but it seems to me like the provided API should be all that is needed. My understanding was that context can be passed down to immediate children as well as deeper children (ie, grandchildren).
If this is needed we can add it, but I'm not sure that it is.  Do you think you could work up a test that fails that you think should pass?

Sorry for late reply, so..
To answer @blainekasten's questions:
I am trying to unit test ComponentB.
ComponentC itself works great. Also shallow rendering ComponentB works allright. But when mounting ComponentB I get following:
Error: Invariant Violation: ReactCompositeComponent.getChildContext(): key “storeXyz" is not defined in childContextTypes.

Mocking out ComponentC is good idea, but with large project and a lot of cases where this happens it’s a hassle.
So in general you got the structure of the components, however the problem is not that ComponentAs don’t get the context (when mounting ComponentB). The problem is that ComponentB is getting all contexts (for ComponentB and ComponentCs) from the wrapper but has a problem with the stuff it doesn’t need/want.
I wrote a test case in my fork (@lelandrichardson) : https://github.com/jakubzitny/enzyme/commit/9094d7c02185a8cd5057a42acc084d15c97a3b56

So I found where the problem is, I just don't know how to fix it. Yet.
In ReactWrapperComponent.jsx you specify context for children like this:
if (options.context && node.type.contextTypes) {
  // For full rendering, we are using this wrapper component to provide context if it is
  // specified in both the options AND the child component defines `contextTypes` statically.
  // In that case, we define both a `getChildContext()` function and a `childContextTypes` prop.
  objectAssign(spec, {
    childContextTypes: node.type.contextTypes,
    getChildContext() {
      return this.state.context;
    },
  });
}

Both getChildContext and childContextTypes are needed and getChildContext "fills" the context properly with everything that's needed. However, childContextTypes is being filled with contextTypes of the "top" component only. So the contextTypes for all the children of the top component are missing.
@lelandrichardson any ideas how to get the context types of all children components without complex traversing or something like that? I was thinking maybe there could be new field options.contextTypes for mount, where user would be able to specify that.

@jakubzitny I see the problem now. Thanks for the explanation.
One thing we could do is add childContextTypes as an option to mount which would specify a merged childContextTypes declaration for the ReactWrapperComponent.
Do you think this could work?  If you could write up a quick gist of a failing test case, I can make sure that it works for what you're trying to do...

The failing test case looks like this: https://gist.github.com/jakubzitny/7b9d526f77b2865219d3
And yeah I think adding it as an option is allright, it's probably the fastest way to fix this. There may be another possibility to "scan" all the children for their contextTypes and do it automatically. That would be a bit harder I think..
I can try to add it and submit a Pull request.


Icon set requests

file-icons
vscode-icons

They would be very useful for building apps with file lists or just indicating file types.
Thanks.

Sorry for delay. Added both sets.


Extended ThumbnailsExtension to work with BIF files as well

I set up the BIF file parser to work alongside the VTT thumbnail parser in the ThumbnailsExtension

I also created a BIF file from the Big Buck Bunny MP4 that is set up in the .dev folder and can be switched out via the index.tsx file.


blobs copied from local directory recursively contain local parent directory name in their paths

Which version of the AzCopy was used?
azcopy version 10.3.2
Note: The version is visible when running AzCopy without any argument
Which platform are you using? (ex: Windows, Mac, Linux)
Linux
What command did you run?
cd my-dir-name
azcopy copy --recursive=true . 'https://storage-account.blob.core.windows.net/container-name/?<SAS>'

Note: Please remove the SAS to avoid exposing your credentials. If you cannot remember the exact command, please retrieve it from the beginning of the log file.
What problem was encountered?
The files uploaded onto blob container all have a prefix "my-dir-name", which is the parent directory name on the local disk.
I don't want the directory name to be the prefix of the blobs and it seems there is no extra options to achieve that.
How can we reproduce the problem in the simplest way?
mkdir dir
echo 'content' > file.txt
azcopy copy --recursive=true . 'https://storage-account.blob.core.windows.net/container-name/?<SAS>'

Have you found a mitigation/solution?
No.

It works the same way as Bash and PowerShell: append /* to the source and it will copy just the _contents _of the source, not the name of the source.
In your case, that would be
AzCopy copy ./* http://... --recursive

@JohnRusk Thank you very much. It worked like a charm.


add go mods

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Closing for now and will reopen as needed.


fix_headers.sh related fixes for NuttX

Same rationale as
https://github.com/PX4/dspal/pull/6/commits/0beba3d080be5261f720f19a6c5370bf7309d556
These includes are too deep into the file to be automatically
changed - hence a manual commit now.

For now I changed my mind on changing the include's of submodules that aren't maintained by the px4 people; that would only be inconvenient when merging from upstream. I do have another change that is needed for NuttX though; I'll force push that change over this pull request.

You realize that any change like this to NuttX will never be accepted upstream.

This '#ifndef CONFIG_C99_BOOL8' is necessary when including  instead of <stdbool.h> in C++ sources.

Are you on gitter somewhere right now?

@CarloWood
Would you please split this into 2 PR - your 	"Compile bug fix" was pulled in upstream by Greg (@nuttx)  today. I will need to follow up with him on why the other fix can not come upstream.

The change to cstdbool is already in place upstream:
commit 38e581bb901fbd0b28b2603c187da491940c4dbe
Author: Gregory Nutt<EMAIL_ADDRESS>Date:   Fri Feb 28 10:03:03 2014 -0600
cstdbool: Ignore _Bool8 if CONFIG_C99_BOOL8=y

Cross post! - @CarloWood  fyi: @nuttx - it turns out the Bool fix is also in upstream. Greg's remark we pertinent to the include path changes only.  From Greg: "The system path is nuttx/include.  the arch directory is in nuttx/include/path so must be included with <>." This will not change.
I am going to merge these as is and they will be superseded by the cut over to nuttx_v3

There are two more problems with the NuttX submodule that I ran into:

The 'standard' headers (ie,  and  as opposed to <ctype.h> and <math.h>)
do not define things in namespace standard. This is not really a problem for us because we
seem to mostly use isspace and isfinite - and can just do a using std::isspace and using std::isfinite
when needed (when not using nuttx but posix, for example).
NuttX's cctype doesn't define anything: it includes ctype.h which defines macro's, and then undef's
those macro's again. I think it is best if we add a little patch to the submodule for this.

Holy cross-posts - sorry, I editted the title without refreshing my page... I had not even seen that this was merged yet.

@nuttx : thank you for merging this into upstream. And yes, I agree that the <> --> "" wasn't good. I retracted that before I saw your comment. PX4 will continue to include nuttx headers as system headers.
@davids5: thank you for merging this pull request so quickly. There is more that I'd like to change to the NuttX submodule, which I don't know if Greg will want to merge too (unlikely, because it's more a work around than a fix). Of course I'm willing to work with Greg on a real fix too. Shall I create a new branch/pull request or push again here?

@CarloWood nuttx/include is the system directory and everything under that directory should be included with <>.  Just as with asm or Linux directories you will find under /user/include.
std:: does not apply to anything in ctype.h.  There are no function or data declarations in the nuttx/ctype.h.  No C++ namespace has any applicability to in to pre-processor macros.  If you do append std:: to any ctype.h macro, you will get a compilation error.

It is too bad that you are looking at such ancient code.  The PX4 NuttX version is almost 3 years old!

@CarloWood
I little history here. The NuttX branch tied to PX4/Firmware master you are looking at is 2 or 3 years old.
We will be moving (replacing master with) to nuttx_v3 soon. The is PX4/Firmware nuttx_v3 is tied to almost current upstream NuttX.
So - Please check upstream NuttX  - if the fixes are there already (as was the case for the bool) if it is needed immediately back port can be done. If not let's hold off we cut over. In any case we will always comply with Greg's guidance.

@CarloWood
Please do a new branch. Also on nuttx_v3 we have a mechanism to apply non-upstreamable changes or inflight changes that have not been merge yet. But Greg is so quick that is very ephemeral.

Thank you! I will create a new branch / pull request if needed, although this (for me) new information might change things... I have to think things over and will have a look at nuttx_v3. Hope to speak to you on gitter too (https://gitter.im/PX4/Firmware)

I am on skype: david_s5


Feature request- Option to disable notifications

Sometime i have lights that are turned off by the wall switch, doing this renders them unavailable from Homeassistant (normal behaviour) but TileBoard displays notification about this. would be nice to either disable notifications for certain entities or even all

Simply add ignoreApiErrors: true to `CONFIG and it should (hopefully) solve your problem.

HI @resoai
i tried adding that to config but unfortunately it didn't appear to have worked

Did you update the code?

I have just updated, but still the notifications appear
i have cleared browser and even restarted Home Assistant

on tileboard i see the following

Oh, so it not simply making entity state unavailable, it completely removes them...

yeah, hence it would be good the completely ignore if possible

Can you please try it now? I've renamed CONFIG.ignoreApiErrors to CONFIG.ignoreErrors

do i need to change anything in my config file to match the change as i just updated files and its still the same

Yes, as I mentioned above:
Change CONFIG.ignoreApiErrors to CONFIG.ignoreErrors


[question] t3js for canvas game development

Hello,
I really like the architecture of this framework and I would like to use it for games development. This coupling to the DOM makes it very difficult to use though. Any plans to make the DOM dependency optional?

T3 isn't well-suited for game development. It really is designed specifically to work with the DOM, so there are no plans to make the DOM optional.


chore: release 1.7.0

:robot: I have created a release *beep* *boop*
1.7.0 (2024-11-29)
Features

健康探针 (0768f30)
加上首页 (b561fde)

Bug Fixes

尝试改进dockerfile (533a5c9)
暴露端口问题 (78a1aca)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/14790897/auto-read-liunxdo/releases/tag/v1.7.0 :sunflower:


[10.4 stable] Partially revert "vtpm : clean up and bump up vtpm-tools to v5.5"

This patch partially reverts the following commit:
06c19647e254 ("vtpm : clean up and bump up vtpm-tools to v5.5")
namely bumping up vtpm-tools and tss to a newer version, because of some compatibility issues with old eve-tools discovered by customers. Commit needs to be verified once again by CS.
CC: @siddharthzed

Closing this due to https://github.com/lf-edge/eve/pull/3438#issuecomment-1725787326


Time.Clock.timers should not be private

Kiwi.Time.Clock.timers is an array of timers. It's documented and declared as private in the TypeScript. But its naming convention isn't private, and there are use cases for assessing the number of timers. For example, checking to see whether there are timers running.
I think the privacy on this is a bug. We should update the API to make it public in the next minor release (1.5.0?).

API updated.


u64 version needed

Just been trying this code and came upon a minor issue. The 64-bit version of builtin_ctz is needed: __builtin_ctzll
Otherwise there is an implicit conversion to 32-bits and therefore an incorrect result.
https://github.com/colrdavidson/spall-web/blob/3f6be8a7dc7f6b170d4f9f2db00ee0a6df2bbd54/examples/auto_tracing/instrument.c#LL47C2-L47C2

Ah, good catch! Thanks for the heads up, should be fixed now.


get_terminal_size should return a struct

Currently, termion::get_terminal_size returns a tuple. In every new application I have to actually go to the termion's source to check out which element of the tuple was the width, and which one was the height.
The docs do not say (which arguably can be improved), but if it were to return a struct the docs would not have to say.

That's a good idea, actually. I don't think tuples in general should be used in public API, except for certain obvious things (e.g. split).

The main con is that it is an API breaking change :(

semver is our savior

As an alternative to a two-member struct, you could also return a tuple of newtypes.
Original:
pub fn terminal_size() -> Result<(u16, u16)>

Option A:
pub struct Size {
    width: u16,
    height: u16
}
pub fn terminal_size() -> Result<Size>;

if let Ok(Size { width:w, height:h }) = terminal_size() {
        //
}

Option B:
pub struct Width(pub u16);
pub struct Height(pub u16);
pub fn terminal_size() -> Result<(Width, Height)>;

if let Ok((Width(w), Height(h))) = terminal_size() {
        //
}

Do you have a preference?


Add support for changing episode from remote client.

Motivation and Context
TBD
How Has This Been Tested
Tested locally.
Types of changes

[Development]

Checklist

[x] My code follows the code style of this project.
[x] I have updated the documentation if required.
[x] I have read the CONTRIBUTING document.
[x] I have completed my CLA (see CONTRIBUTING)
[x] I have added tests to cover my changes if required.

Closing as obsolete. This was a rough draft to test the full stack and will be replaced by #1905.


Add WPA3 support

Adds WPA3 support. Makes the WPA, mey-mgmt, and pairwise config options explicit based on the choice.
Also, reenabled finding the right hostapd depending on what you're trying to do.

There are some convenience things for some flags which enable mana and things later on, not sure those will be handled. will check it out.
An example would  be --mana-logging which auto enables --mana for you. This happens post assignment of which hostapd. will look at moving them up above the check and if there are other flags which might complain.


Server-Side Rendering

Hello!
Based on #6, i had the same issue(window is not defined). I would like to know if have you plans to do SSR. I would like do prepare some PR. Could be a good idea?

Thanks for your comment.
Actually I have tried to make it work on SSR, but I stuck on it. 😢
And, Sure, I think it could be a good idea to support SSR.

A quick and dirty solution could be:
const React = require('react');
if (typeof window !== 'undefined'){
    const ReactSmartbanner = require('react-smartbanner').default;
    module.exports = () => (<ReactSmartbanner title={'Your Title'} />);
}
else {
    module.exports = () => (<span/>);
}

Similar to @danielzlotnik, the right solution is to move all your client side code into componentDidMount since that renders only on the client.


Accessing the VVCT from a subprogram

Can the vvct be accessed from a procedure or function so that one could make the test sequence more hierarchical. for instance doing something like this?
procedure reg_test is
begin
axilite_write(AXILITE_VVCT,1,x"0008",x"5a5a", "Writing to reg");
end procedure reg_test ;

Hi,
Yes, you can access VVC commands from procedures in your TB, and making overloading procedures in the TB can be smart, e.g.
procedure axilite_write(
constant data : in std_logic_vector(GC_DATA_WIDTH-1 downto 0);
constant addr : in unsigned;
constant msg  : in string := “”;
constant VVC_INSTANCE_IDX : in natural := C_VVC_IDX_MASTER) is
begin
axilite_write(AXILITE_VVC, VVC_INSTANCE_IDX, addr, data, msg);
end procedure
and just call: axilite_write( tx_data, tx_address );
or axilite_write( tx_data, tx_address, “Transmitting data from master to slave”);
Br.
Marius

Thanks Marius,
I tried putting this in a package. When I try and compile it I get either
Unknown identifier "AXILITE_VVC"
or
Cannot drive signal "AXILITE_VVCT" from procedure
I think the latter is actually the one that needs to be used isn't it?
Here is the package.
library ieee ;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
library uvvm_util;
context uvvm_util.uvvm_util_context;
library uvvm_osvvm;
use uvvm_osvvm.RandomPkg.all;
use uvvm_osvvm.CoveragePkg.all;
library uvvm_vvc_framework;
use uvvm_vvc_framework.ti_vvc_framework_support_pkg.all;
library bitvis_vip_axilite;
use bitvis_vip_axilite.vvc_methods_pkg.all;
use bitvis_vip_axilite.td_vvc_framework_common_methods_pkg.all;
package tb_pkg is
procedure axilite_write (
constant data : in std_logic_vector(31 downto 0);
constant addr : in unsigned;
constant msg : in string := "";
constant VVC_INSTANCE_IDX : in natural := 1) ;
procedure reg_test;

end package tb_pkg;
package body tb_pkg is
-- overload procedure so that it can be accessed within procedures
procedure axilite_write (
constant data : in std_logic_vector(31 downto 0);
constant addr : in unsigned;
constant msg : in string := "";
constant VVC_INSTANCE_IDX : in natural := 1) is
begin
axilite_write(AXILITE_VVCT, VVC_INSTANCE_IDX, addr, data, msg);
end procedure axilite_write;
procedure reg_test is

begin
	axilite_write(AXILITE_VVCT,1,x"0008",x"5a5a", "Writing to gpreg");
end procedure reg_test ;

end package body tb_pkg;

Hi,
You don't need the axilite_write() procedure in the pkg if you are not to use it; it was just provided as an example for smart ways to use overloads.
In the reg_test() procedure you need to add the parameter as given below, and when calling this procedure from your TB you should use reg_test(AXILITE_VVCT);
Br.
Marius
`library ieee ;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
library uvvm_util;
context uvvm_util.uvvm_util_context;
library uvvm_vvc_framework;
use uvvm_vvc_framework.ti_vvc_framework_support_pkg.all;
library bitvis_vip_axilite;
use bitvis_vip_axilite.vvc_methods_pkg.all;
use bitvis_vip_axilite.td_vvc_framework_common_methods_pkg.all;
use bitvis_vip_axilite.td_target_support_pkg.all;
library uvvm_osvvm;
use uvvm_osvvm.RandomPkg.all;
use uvvm_osvvm.CoveragePkg.all;
package tb_pkg is
procedure reg_test (
signal AXILITE_VVCT : inout t_vvc_target_record
);
end package tb_pkg;
package body tb_pkg is
procedure reg_test (
signal AXILITE_VVCT : inout t_vvc_target_record
)is
begin
axilite_write(AXILITE_VVCT,1, x"0000", x"5555", "Test of axilite write");
end procedure reg_test ;
end package body tb_pkg;
`

Thanks Marius That makes sense and is working now.


CascadeMode inside RuleSet does not work as expected

Hi,
I have a rule set called BuyPriceValidations and I'm setting CascadeMode.StopOnFirstFailure in it but receiving two validation errors when unit testing it.
RuleSet("BuyPriceValidations", () =>
{
   CascadeMode = CascadeMode.StopOnFirstFailure;

   RuleFor(p => p.BuyPrice.Value)
      .NotNull()
      .NotEmpty()
         .WithMessage("Buy price can not be 0.");

   RuleFor(p => p.BuyPrice.Value)
      .LessThan(p => p.SellPrice.Value)
      .When(p => p.SellPrice!= null)
         .WithMessage("Buy price can not be greater than sell price.");
});

Does CascadeMode property apply to Rule sets?

I think you may have misunderstood how CascadeMode works. Just to clarify, CascadeMode does not apply to separate rules, it only applies to validators within the same RuleFor chain. So setting CascadeMode at the validator level (which is what you're doing) is just the equivalent of calling .Cascade() on each of your 2 rules


feature: make lxcfs configurable supportd in CRI

Signed-off-by: Starnop<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
Support resource review isolation via lxcfs in CRI Manager.
And define the specific naming in annotations:
LxcfsEnabled = "io.kubernetes.lxcfs.enabled"
Ⅱ. Does this pull request fix one issue?

fixes #2172
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
None.
Ⅳ. Describe how to verify it
# cat pouch.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: pouch
  labels:
    pouch: pouch
spec:
  selector:
    matchLabels:
      pouch: pouch
  template:
    metadata:
      labels:
        pouch: pouch
      annotations:
        io.kubernetes.lxcfs.enabled: "true"
    spec:
      containers:
      - name: pouch
        image: docker.io/library/busybox:latest
        command:
          - top
        resources:
          requests:
            memory: "256Mi"
          limits:
            memory: "256Mi"

# kubectl create -f pouch.yaml
# pouch ps
Name                                                                                ID       Status       Created       Image                                                                 Runtime
k8s_pouch_pouch-5ddd8fc467-rmtcw_default_bc4b7972-b181-11e8-adae-42010a8c0003_0                                5391a9   Up 8 hours   8 hours ago   docker.io/library/busybox:latest                                      runc
k8s_POD_pouch-5ddd8fc467-rmtcw_default_bc4b7972-b181-11e8-adae-42010a8c0003_0                                  60a833   Up 8 hours   8 hours ago   registry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64:3.0   runc

# pouch exec k8s_pouch_pouch-5ddd8fc467-rmtcw_default_bc4b7972-b181-11e8-adae-42010a8c0003_0 cat /proc/meminfo
MemTotal:         262144 kB
MemFree:          261368 kB
MemAvailable:     261368 kB
Buffers:               0 kB
Cached:                0 kB
SwapCached:            0 kB
Active:              156 kB
Inactive:              0 kB
Active(anon):        156 kB
Inactive(anon):        0 kB
Active(file):          0 kB
Inactive(file):        0 kB
Unevictable:           0 kB
Mlocked:            3652 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:               292 kB
Writeback:             0 kB
AnonPages:        561860 kB
Mapped:           395920 kB
Shmem:              5640 kB
Slab:               0 kB
SReclaimable:          0 kB
SUnreclaim:            0 kB
KernelStack:        6112 kB
PageTables:         6760 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     1890884 kB
Committed_AS:    1550596 kB
VmallocTotal:<PHONE_NUMBER>7 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
CmaTotal:              0 kB
CmaFree:               0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       88012 kB
DirectMap2M:     3844096 kB
DirectMap1G:           0 kB

Ⅴ. Special notes for reviews

Do we need to cover this in the CRI changelog of Documentation? @Starnop
If that, please finish the doc part along with this pull request.

With respect to CRI's support for the annotation field, I thought it would be nice to create a new document to record these changes.

With respect to CRI's support for the annotation field, I thought it would be nice to create a new document to record these changes.

It could not be better if we do this.

LGTM


rhasspymicrophone_pyaudio_hermes: -> AudioRecordError(error='[Errno -9997] Invalid sample rate', site_id='default', context='Device index: 0', session_id=None)

I have install raspberry pi os on a pi 3b and using a usb microphone.
how do i get rhasspy to record at a sample rate of 48000 instead of 16000.

Did you find a way?


[Tizen] transform app id to lowercase in active StoragePartitionPath

In XWalkContentBrowserClient::GetStoragePartitionConfigForSite, we use partition_domain
equals site.host() which is lowercase. However, in CollectUnusedStoragePartitions, the
installed app id could be case-sensitive. So, it will result in deleting installed app
storage since active_paths is case-sensitive and trash path is lowercase for app id domain.

nit in git log, [Tizen] transform - > [Tizen] Transform

LGTM

Ping @pozdnyakov


$request->replace Method not working as expected

Laravel Version: 5.5.12 (maybe earlier too)
PHP Version: any
Database Driver & Version: MySQL 5.6

Description:
When using $request->replace() and subsequently $request->all() the original Data is given back instead of the replaced data.
Steps To Reproduce:
Just create a middleware which will filter out any input with a null value:
public function handle($request, Closure $next)
    {
        $request->replace($this->filterNullValues($request->all()));
        return $next($request);
    }

    public function filterNullValues($dataInput)
    {
        return array_filter($dataInput, function ($element) {
            return $element != null;
        });
    }

Then in the controller you can dd(request()->all()) to see that the data is unchanged.
Presumed source of the problem:
Illuminate\Http\Concerns\InteractsWithInput
Line 188:
public function input($key = null, $default = null)
    {
        return data_get(
            $this->getInputSource()->all() + $this->query->all(), $key, $default
        );
    }

Removing the $this->query-all() solves the issue temporarily.

It was a stupid mistake on my part, an oversight in a test - I was passing in the query string instead of the request body.

$this->merge([$param => $new_value]);
$this->query->set($param, $new_value);
$this->request->set($param, $new_value);
if ($this->isJson()) {
    $this->json()->set($param, $new_value);
}

Solution
$this->merge([$param => $new_value]);
$this->query->set($param, $new_value);
$this->request->set($param, $new_value);
if ($this->isJson()) {
    $this->json()->set($param, $new_value);
}

I wanted to disable sending query params on Put and Post and this worked pretty good.
    public function handle($request, Closure $next)
    {
        if ($request->getMethod() == 'PUT' || $request->getMethod() == 'POST') {
            $request->query->replace([]);
        }
        return $next($request);
    }


Add BackHub and gebrüderheitz

Both companies are working fully remote. gebruderheitz is maintaining offices in Freiburg & Mannheim which can be used if needed. Both companies facilitate 1-week workcamps annually.

Thank you!


Background color for alternativeButton?

How can I set background color to the alternativeButton?
I am trying to add two buttons to the page, but can't find any option for background color for alternativeButton.

based on the code, (BLTNItemAppearance), there doesn't seem to be this option.


updated HERON submodule for EOY 2020 milestone

Pull Request Description
What issue does this change request address? (Use "#" before the issue to link it, i.e., #42.)
Continues #1114
What are the significant changes in functionality due to this change request?
Updates HERON submodule for EOY 2020 milestone work

For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.

[ ] 1. Review all computer code.
[ ] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts).
[ ] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details.
[ ] 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass.
[ ] 5. If significant functionality is added, there must  be tests added to check this. Tests should cover all possible options.  Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in  XML block, the node <internalParallel> to True.
[ ] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change.  The requirements and the requirements test shall be in sync.
[ ] 7. The merge request must reference an issue.  If the issue is closed, the issue close checklist shall be done.
[ ] 8. If an analytic test is changed/added is the the analytic documentation updated/added?
[ ] 9. If any test used as a basis for documentation examples (currently found in raven/tests/framework/user_guide and raven/docs/workshop) have been changed, the associated documentation must be reviewed and assured the text matches the example.

Job Test mac on c43fc8f : invalidated by @alfoa

Job Test mac on c43fc8f : invalidated by @alfoa

Job Test mac on c43fc8f : invalidated by @PaulTalbot-INL
Only mac failed "Failed tests/framework/ensembleModelTests/testEnsembleModelLinearParallelWithOptimizer" with RAY parallelization error; checking repeatability.

Job Test mac on c43fc8f : invalidated by @PaulTalbot-INL
Only mac failed "Failed tests/framework/ensembleModelTests/testEnsembleModelLinearParallelWithOptimizer" with RAY parallelization error; checking repeatability.

It looks like Failed tests/framework/ensembleModelTests/testEnsembleModelLinearParallelWithOptimizer was a spurious failure that wasn't replicated.

It looks like Failed tests/framework/ensembleModelTests/testEnsembleModelLinearParallelWithOptimizer was a spurious failure that wasn't replicated.

PR approved...
PR can be merged...
Opened an issue in HERON repository to address PIP issue (PIP machine). See https://github.com/idaholab/HERON/issues/66

PR approved...
PR can be merged...
Opened an issue in HERON repository to address PIP issue (PIP machine). See https://github.com/idaholab/HERON/issues/66


Rename var for dataplane ctlplane interface name

BMO_CTLPLANE_INTERFACE has confused several people as to its purpose.  Renaming to DATAPLANE_CTLPLANE_INTERFACE makes it clearer that the variable pertains to the control plane network interface name on the compute nodes.

/lgtm


Explicitely call exit on exit

Hello,
I'm in the situation where I have a plugin that requires some of my files to verify that the documentation is up to date with what the code actually does. However, requiring some files opens a lot of handles (intervals, db connections...) and I cannot list them in any easy way to close them during documentation generation. This means the handles are still open and jsdoc doesn't exit when finished generating the docs. This change fixes it.

Your patch had some style nits, so I fixed this in a new commit, c34751e28bdb7b6140bc742173274d8ab7733d29. Thanks for suggesting the fix!


Intermittent testSetupFlowByMultipleThreads failures

Turns out that System.currentTimeMillis() is not a safe way to create temporary files.
Also we sometimes fail to delete temp dirs that we create for project downloads.

Pull Request Test Coverage Report for Build 6255

3 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.005%) to 44.811%

Totals

Change from base Build 6252:
0.005%

Covered Lines:
17389

Relevant Lines:
38805

💛  - Coveralls


Spanish accent marks

I'm using this library to automatically generate markdown documentation updating a static web site every time I deploy my application. It works great. However, when the documentation block has one or more accent marks the all block is ignored.
Example:
Input:
/**
## Some title

Parámetros
*/
void main(args[]){
}

/**
## Another title

Parameters
*/

--> In this case the letter a in "Parámetros" has an accent mark
Output:
## Another title

Parameters

Thanks for pointing this out; I'll take a look into adding proper full UTF8 support as soon as I can.

As of version 0.3.0, extract-documentation-comments now supports Latin-1 Supplemental characters including accents; now your above example should work just fine. Let me know if you encounter any other issues. :)

It worked! Thanks


The authentication is missing in the setup frame

The authentication is missing in the setup frame, and the corresponding example is invalid, can you improve it, such as Simple Authentication in spring-security-rsocket, so that a python rsocket client can connect to a spring rsocket server with simple authentication?

@wtj0906 Can you please provider a sample minimal server to test against ? It will be added to the code-base as an example.

@wtj0906 You can test with the send_payload_on_setup branch

@gabis-precog ok. I am using the server here as a sample https://github.com/benwilcock/spring-rsocket-demo. I will test with send_payload_on_setup branch and open a pull request later.

previous fix didn't actually work. fixed and added test. should actually send the setup payload now

@wtj0906
fixed composite metadata encoding/decoding.
the demo has to be upgraded to a later version as the version in pom.xml has an old (broken?) implementation of the authentication encoding/decoding
added a client_springboot.py to test against the spring server.

I updated the version of pom.xml from 2.3.0.release to 2.4.4. This time it is the turn of routing not to work. In client_springboot.py, route('shell-client') doesn't actually work.
When I send a request_stream request with route('stream') from python client, the request cannot be routed to the method annotated with annation @MessageMapping("stream") on the server side. The server says "org.springframework.messaging.MessageDeliveryException: No handler for destination '' ", that is to say, the route has changed from 'stream' to empty string ''.

@wtj0906 can you show please your rsocket-py client setup?

@OlegDokuka
import asyncio
import json
import logging
from uuid import uuid4
from reactivestreams.subscriber import DefaultSubscriber
from rsocket.payload import Payload
from rsocket.routing.helpers import composite, route, authenticate_simple
from rsocket.rsocket_client import RSocketClient
from rsocket.transports.tcp import TransportTCP
from asyncio import Event
class StreamSubscriber(DefaultSubscriber):
def __init__(self, wait_for_complete: Event):
    self.subscription = None
    self._wait_for_complete = wait_for_complete

async def on_next(self, value, is_complete=False):
    logging.info('RS: {}'.format(value))
    await self.subscription.request(1)

def on_complete(self):
    logging.info('RS: Complete')
    self._wait_for_complete.set()

def on_error(self, exception: Exception):
    logging.info('RS: error: {}'.format(exception))

def on_subscribe(self, subscription):
    self.subscription = subscription

async def main():
connection = await asyncio.open_connection('localhost', 7000)
setup_payload = Payload(
    data=str(uuid4()).encode(),
    metadata=composite(route('shell-client'), authenticate_simple('user', 'pass')))
async with RSocketClient(TransportTCP(*connection),
                         setup_payload=setup_payload) as socket:
    await request_stream(socket)

async def request_stream(socket: RSocketClient):
payload = Payload(b'{"test":"success"}', composite(route('stream')))
completion_event = Event()
socket.request_stream(payload).subscribe(StreamSubscriber(completion_event))
await completion_event.wait()
if name == 'main':
logging.basicConfig(level=logging.DEBUG)
asyncio.run(main())

@wtj0906 to use composite metadata you have to specify metadata-mimetype as composite metadata. otherwise, spring will treat your metadata as plain/text

updated ours springboot example to show how it should be

@OlegDokuka  Everything is working fine now. Thanks.


question

can you put the data in github

Hi , thanks for asking.
I use a xlsm file  for generate the training and testing data in this project . You can find it here


Android bottom bar color is not the same as the background color

The worst part is that navbar stays over the screen which makes impossible to really fix this issue

We can use AnnotatedRegion to set the desired color!

Yes but you won’t have background overlay. A possible workaround would be remove transparency, use a plain color and use it also for the navbar color

What whatsapp does?


Support instantiateWithCode calls

Substrate and Canvas Node are moving from contracts.putCode -> contracts.instantiate to instantiateWithCode (single step). The UI must support both types of instantiation.

Have a temporary fix nearly ready to merge but agree that a better designed solution is needed. With the temporary fix the app entry point changes depending on what API is supported ("Upload" or "Deploy/Instantiate")

Closed for now by #75


fix(headless): stop logging errors when user aborts request in instan…

…t results
https://coveord.atlassian.net/browse/KIT-1743
leaves only warnings:

For the errors/warnings we still shouldn't log them. We might have to refactor the SearchAPIClient to allow this. We could:

add an option "disableAbortWarning" & make the SearchAPIClient options public, disable the warning before an instant result request (and change it back)
change the pino logger level before the request so the warnings aren't logged (and change it back
and some other solutions I'm not thinking of...


Stop claude from using placeholders

Sometimes (though not as often as GPT), it creates stuff like:
//this code remains unchanged
And of course this destroys whatever code was there.
I know 'aider' has a check for a 'find and replace', where the find requires an exact match before replacing - but was wondering if claude dev could have a similar check to ensure that there is no code that suddenly goes missing

This happens to me sometimes too

Yep, same.

Applying edits is a hard problem. I tried something similar to aider where instead of Claude providing the full file contents, it would only provide the modified sections. Despite the algorithm working, I noticed a reduction in quality. It turns out when you force LLMs to adhere to a structured output format, its step-by-step/reasoning capabilities become significantly diminished. I've also read that OpenAI's new structured output API performs worse when doing step-by-step prompts, so this problem isn't specific to Claude.
I recommend using the Anthropic provider option if you don't already, since it has a max output of 8192 tokens whereas OpenRouter doesn't handle large outputs well and AWS Bedrock is capped at 4096 tokens. You can also try breaking your file down into smaller files.

Duplicate of #14, please see this comment.


refactor: simplify ffmpeg backend

simplify the timecode extraction
add type hints to the backend

Pull Request Test Coverage Report for Build 319223972

33 of 34 (97.06%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.6%) to 91.484%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

video_encoding/backends/ffmpeg.py
30
31
96.77%

Totals

Change from base Build 318800913:
0.6%

Covered Lines:
293

Relevant Lines:
312

💛  - Coveralls


Health check

Hi team, this is the bootstrap health check. It does everything defined in the original issue:
Fixes https://github.com/nemtech/symbol-bootstrap/issues/38
It checks:

if containers are running
if the opened ports are listening
if gateways' /node/health are ok

This health check handles "repeat" and custom ports.
This can be running with a symbol-bootstrap run/start --healthCheck or by calling its own command symbol-bootstrap healthCheck
Some other small changes:

ipv4_address and custom host alias can be tunned per service (including broker).
A docker compose service can be excluded via excludeDockerService
Improved how images are pulled. Better logging and images are prefetched so it doesn't affect compose up booting time
I've moved the custom preset examples to its own file as I needed to add more. This is part of the doc refactoring @segfaultxavi .

Fixes https://github.com/nemtech/symbol-bootstrap/issues/30
@Vektrat this will be the guide to disable a service

I think docs/healthCheck.md is missing from the PR.

thanks ^^

Besides the small corrections I made, you're mixing different things in the same PR (Addition of healthCheck and moving of preset examples to their own README). But hey, it's your repo :)

I've added more examples and split the file. The docs still need polish, they doc issue will still be open and yours.


Aohri/microsoft.resource health 2022 10 01 preview/fix merge conflicts

ARM API Information (Control Plane)
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Azure 1st Party Service can try out the Shift Left experience to initiate API design review from ADO code repo.  If you are interested, may request engineering support by filling in with the form https://aka.ms/ShiftLeftSupportForm.
Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month.
When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
By default, Azure SDKs of all languages (.NET/Python/Java/JavaScript for both management-plane SDK and data-plane SDK, Go for management-plane SDK only ) MUST be refreshed with/after swagger of new version is published. If you prefer NOT to refresh any specific SDK language upon swagger updates in the current PR, please leave details with justification here.

Contribution checklist (MS Employees Only):

[ ] I commit to follow the Breaking Change Policy of "no breaking changes"
[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

Change to data plane APIs
Adding new properties
All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

[ ] Check this box if any of the following apply to the PR so that the label "ARMReview" and "WaitForARMFeedback" will be added by bot to kick off ARM API Review.  Missing to check this box in the following scenario may result in delays to the ARM manifest review and deployment.

Adding a new service
Adding new API(s)
Adding a new API version
-[ ] To review changes efficiently, ensure you copy the existing version into the new directory structure for first commit and then push new changes, including version updates, in separate commits. You can use OpenAPIHub to initialize the PR for adding a new version. For more details refer to the wiki.

[ ] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If you have any breaking changes as defined in the Breaking Change Policy, request approval from the Breaking Change Review Board.
Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Additional details on the process and office hours are on the Breaking Change Wiki.
NOTE: To update API(s) in public preview for over 1 year (refer to Retirement of Previews)
Please follow the link to find more details on PR review process.

With over 5,000 files, this PR will be impossible to review.
Assuming your upstream and origin remotes are set as normal, please run the following:
git fetch upstream main
# assuming you're in your topic branch...
git rebase upstream/main
# resolve any merge conflicts and follow on-screen instructions
git push --force

This will update the PR automaticaly.


Multi GPU training with nni Retiarii Multi-Trial or One-Shot NAS

Question
If I want to use multiple GPUs (say 8 GPUs) with retiarii which one of the following is "correct"?

In Multi-Trial NAS, instantiate a pl.Trainerclass with given number of gpus, i.e. pl.Trainer(..., gpus=8)
In Multi-Trial NAS, set  trial_gpu_number=8  in  a RetiariiExeConfig instance
In One-Shot NAS, use one of the implemented one-shot trainers, set device=torch.device("cuda") and let retiarii decide how to partition and train the super-model, as well as how to feed/sync data with multiple GPUs.

Another some-what related question is that

Is it possible to use pytorch-lightning and/or  RetiariiExperiment with  One-Shot NAS?

Multi-Trial
If we use the multi-trial method and implement a Lightning object. e.g.
import nni.retiarii.evaluator.pytorch.lightning as pl
from nni.retiarii.experiment.pytorch import RetiariiExperiment

lightning = pl.Lightning(AutoEncoder(),
                         pl.Trainer(max_epochs=10),
                         train_dataloader=pl.DataLoader(train_dataset, batch_size=100),
                         val_dataloaders=pl.DataLoader(test_dataset, batch_size=100))

Presumably we can instantiate pl.Trainer with pl.Trainer(..., gpus=8) since the class is basically a wrapper of the Trainer class in pytorch-lighting?
One-Shot
Assume we use the one-shot trainer DartsTrainer as shown in the documentation
from nni.retiarii.oneshot.pytorch import DartsTrainer
trainer = DartsTrainer(
    model=model,
    loss=criterion,
    metrics=lambda output, target: accuracy(output, target, topk=(1,)),
    optimizer=optim,
    num_epochs=args.epochs,
    dataset=dataset_train,
    batch_size=args.batch_size,
    log_frequency=args.log_frequency,
    unrolled=args.unrolled
)
trainer.fit()
final_architecture = trainer.export()

To the best of my knowledge,  except the fact that we can set device=torch.device("cuda") in most one-shot trainers, there's no retiarii APIs specifically controls the way we use the GPUs (for example, some API that accept argument like gpus=8).  retiarii uses multiple GPUs to accelerate the training and exploration process via methods like Mixed-Parallelism and Weight-Sharing, and handles model/data allocation/feed automatically?

In multi-trial NAS, you should set both gpus=8 in trainer and trial_gpu_number=8 in experiment config.
In one-shot NAS, unfortunately we don't support multi-GPU in one-shot trainers natively due to implementation limitation. So far, you still have to inherit the trainer or copy the trainer code for customization. We have a plan to support one-shot algorithms in a more general framework, which is probably in next few months.

Closing the issue as the answer has been provided.
@Waerden001 - feel free to re-open the issue if the answer does not resolve your question, thanks.

In multi-trial NAS, you should set both gpus=8 in trainer and trial_gpu_number=8 in experiment config.
In one-shot NAS, unfortunately we don't support multi-GPU in one-shot trainers natively due to implementation limitation. So far, you still have to inherit the trainer or copy the trainer code for customization. We have a plan to support one-shot algorithms in a more general framework, which is probably in next few months.