Add a failsafe for cascading FixedUpdate time accumulation

Objective

If a fixed update schedule takes longer to run than its allocated period, more time will build up. This will required the fixed update to be run multiple times in the future, worsening the problem.
Fixes #8543.

Solution

Adds a max_ticks_per_frame field to FixedTime. If this is set to Some, the fixed update schedule will give up after that many runs of the schedule in a single pass of the main schedule.
This defaults to 3.

Changelog
The FixedUpdate schedule will no longer fall further and further behind when too much work is requested.
Instead, time will begin to accumulate and a warning will be emitted.
You can configure this behavior by setting the max_ticks_per_frame field of the FixedTime resource.

I've tested out an inelegant end user version of this fix in https://github.com/Leafwing-Studios/Emergence/pull/829 and it completely resolves the issue for me in my game.
Because it's not networked, I don't care about FixedUpdate falling behind.

This definitely seems like a necessary fix, but I feel that 3 ticks per frame is very low as a default. I wonder if it would be beneficial/feasible to dynamically compute the maximum number of steps based on the length of the previous frame: that way if we're in the middle of a lag spike we won't compound it by running FixedUpdate a hundred times, but once we've recovered from a lag spike the FixedUpdate schedule would be able to run enough times to let it catch up.

Yeah, I wanted to keep this simple for now with conservative defaults. For my game I want to have a fixed update period that's substantially less than the frame rate (as it's a relaxed factory builder), but I'm definitely open to other defaults or schemes.

Bumped to 20; it's easy to tweak in individual games.

It'd be awesome if we can follow this up with either the "have two Time resources, one for FixedUpdate, one for everything else" idea or the "make FixedTime wrap Time" idea since we currently lack a built-in way to measure "time elapsed" in FixedUpdate.

Agreed! I can tackle that on Monday if you'd like.

This feel like a surprise bug for people who expect a fixed time update when using the fixed time update.
Instead of limiting the number of ticks to an arbitrary 20, which would be a perfectly reasonable number of iterations to hit depending on your use case, shouldn't this look at the time it actually took and compare it to the period?
The warn message could also be a lot more explicit on what to do. I think an error code/page with more details would be better, with example code on what to do. It should also mention increasing the maximum number of ticks as a solution which can be valid. As it is now, there's also a chance that it will be displayed very often, which we want to avoid.

Unity seems to cap the amount of time spent during fixed timesteps, and not the amount of timesteps https://docs.unity3d.com/Manual/class-TimeManager.html

It is not related how long FixedUpdate takes to run. If the setting is 50ms and a frame takes 100ms, only 50ms will be accumulated. That's just an indirect way of limiting the number of steps per frame. I think a setting to directly limit that number is better. (edit: There is a subtle difference. Unity's setting works to slow down the simulation, whereas this PR simply load balances steps over multiple frames.)

Agreed: I started out with a "max time per frame", but realized that was a pointless level of indirection.
I think that slowing down the simulation is substantially more dangerous than load-balancing in most applications.

Instead of limiting the number of ticks to an arbitrary 20, which would be a perfectly reasonable number of iterations to hit depending on your use case, shouldn't this look at the time it actually took and compare it to the period?

I'm not opposed to that, but I wanted to keep this PR relatively simple and then iterate.

This feel like a surprise bug for people who expect a fixed time update when using the fixed time update.

The existing behavior is very bad: it takes a "slow but playable" game state and turns it into a complete hang, with no indication as to what's going on. The critical fixed time behavior is preserved (the time steps are always exactly the same  length), under this behavior the simulation just slows down (equivalent to Unity's behavior, but more robust since we don't start leaking time).

The warn message could also be a lot more explicit on what to do. I think an error code/page with more details would be better, with example code on what to do. It should also mention increasing the maximum number of ticks as a solution which can be valid. As it is now, there's also a chance that it will be displayed very often, which we want to avoid.

Good call: I'll try to improve this and reduce its spam.

Closing in favor of a more thoughtful solution in #8915.

Actually (nth edition)... My proposal is that we add maximum_delta to Time, and do not add anything max ticks to FixedTime. I'm going to try to explain why. There are three problem cases to resolve.
First case is that game freezes for a few seconds due to some external cause, or possibly a few hours or few days due to suspend. This is fully handled by the maximum_delta option, as we just get one 0.333 second delta update and that's it. Basically means that by default game time doesn't go forward if it isn't regularily being iterated, and the 0.333 limit means that any FPS above 3 is automatically handled without any problems in elapsed time calculation. Fixed time will be iterated at maximum 20 times in a row if there is a freeze (with the default settings).
Second case is that we temporarily run into a situation in the game where processing and simulating a frame takes longer than the real time it is simulating. In this case, the maximum amount of delta that will be added per single update is 0.333 seconds, which corresponds to 20 frames in the default fixed step. The game will slow down to at most 3 FPS, and may slow down even further, depending on the ratio of how much more time does it need to simulate the game compared to realtime. For example, if it takes 1 second to simulate 0.333 seconds, then we'd be looking at pretty much 1 FPS, and elapsed would progress a third of the speed of real time – but the game wouldn't freeze. As soon as simulation performance improves, it would return to normal operation, as there's no accumulator buildup as we always run the accumulator empty.
Third case is that game constantly takes more time to simulate than real time. In this case, FPS is always low, and elapsed ticks slower than real time, and we do 20 fixed steps per frame. But the game doesn't freeze or do the death spiral. Fixed step accumulator will always be run empty. If the maximum_delta is reduced, then FPS will improve, but obviously the real fix is to make sure the game runs faster than realtime.
So, all of these cases are sufficiently handled merely by adding maximum_delta, and we don't need another mechanism for fixing this at all. And FixedTime will never desync from elapsed(). (There is another problem with FixedTime with regard of getting the current elapsed time, but that's unrelated issue to this one.)
Do you agree? So do not merge pull #8544, and merge pull #8915 (once it has been completed, tested and accepted).

from discussion on Discord

Closing in favor of working out a more comprehensive solution in #8915.


[CI]: Fix random segmentation fault during event handling

Problem
What is being fixed?  Examples:

We have refactored system event handling mechanism recently,  and observed the following seg fault in CI check.

python3 ../../third_party/pigweed/repo/pw_build/py/pw_build/python_runner.py --gn-root ../../ --current-path ../../src/transport/raw/tests --default-toolchain=//build/toolchain/host:linux_x64_gcc --current-toolchain=//build/toolchain/host:linux_x64_gcc --touch gen/src/transport/raw/tests/TestTCP_run.pw_pystamp --capture-output -- ../../third_party/pigweed/repo/pw_unit_test/py/pw_unit_test/test_runner.py --runner ../../third_party/pigweed/repo/targets/host/run_test --test tests/TestTCP
INF Test 1/1: [ RUN] TestTCP
ERR ../../third_party/pigweed/repo/targets/host/run_test exited with status 139
OUT [11339]
'#0:','Test-CHIP-Tcp'
'#2:','Setup                     ','PASSED'
'#3:','Simple Init Test IPV4     ','PASSED'
[1628696150.253394][11341:11341] CHIP:IN: TransportMgr initialized
CHIP node ready to service events
[1628696150.254463][11341:11341] CHIP:IN: Freeing connection: connection closed by peer
Segmentation fault (core dumped)
INF Test 1/1: [FAIL] TestTCP

The root cause is the WatchableSocket could be changed by InvokeCallback() which might close the socket and disassociate its file descriptor.
    for (WatchableSocket * watchable = mAttachedSockets; watchable != nullptr; watchable = watchable->mAttachedNext)
    {
        if (watchable->mPendingIO.HasAny())
        {
            watchable->InvokeCallback();
        }
    }

We should not continue to process WatchableSocket if its file descriptor has been disassociated.
Change overview
Stop process WatchableSocket if its file descriptor has been disassociated
Testing
How was this tested? (at least one bullet point required)

Verified by CI

Please update the summary  - I think it preserves some template text (says "Frobnozzle is leaky" and such)

Could you also update the summary as to 'why does this segfault without the change'?

But also, I'd like to understand the crash scenario.  We called InvokeCallback.  That closed watchable.  But then we move on to the next watchable... so why the crash?  Is it that the next watchable got deleted but we still have a stale pointer to it?  Something else?

But also, I'd like to understand the crash scenario. We called InvokeCallback. That closed watchable. But then we move on to the next watchable... so why the crash? Is it that the next watchable got deleted but we still have a stale pointer to it? Something else?

Yes, see more detail in the conversation above.

But also, I'd like to understand the crash scenario. We called InvokeCallback. That closed watchable. But then we move on to the next watchable... so why the crash? Is it that the next watchable got deleted but we still have a stale pointer to it? Something else?

Yes, see more detail in the conversation above.


The font size is too small on Release notes page.

VSCode Version: Code 1.9.0 (27240e71ef390bf2d66307e677c2a333cebf75af, 2017-02-02T08:31:00.827Z)
OS Version: Windows_NT ia32 10.0.14393
Extensions:

Extension
Author
Version

I want to have same font size in new release notes page as my settings.

Can you show us a screenshot?

@joaomoreno of course

and my resolution is 1920*1080

It looks as big as menu items.

Closing as duplicate of #5745, since you can't zoom in.


Elasticsearch test container works in Debug mode but not in Run mode.

Team,
I am using
docker.elastic.co/elasticsearch/elasticsearch:7.13.0
I wrote 1 integration test which searches for texts. This test strangely works in Debug mode and not in run mode.
I have attached both the logs debug-mode-passes.txt and run-mode-failed.txt
Please use notepad++ to open the below files
debug-mode-passes.txt
run-mode-failed.txt
Any lead is much appreciated! Thank you.

I figured this out. Its an application issue. Hence closing it.


Accept labels without " at the beginning and end

let id = i;
let label = format!(
    "\"data={:.4} grad={:.4} {}\"",
    value.borrow().data,
    value.borrow().grad,
    value.borrow().op.as_ref().unwrap_or(&"".to_string())
);
let node = stmt!(node!(id; attr!("shape", "box"), attr!("label", label)));

The above code works but if I take the \"'s away like so:
let id = i;
let label = format!(
    "data={:.4} grad={:.4} {}",
    value.borrow().data,
    value.borrow().grad,
    value.borrow().op.as_ref().unwrap_or(&"".to_string())
);
let node = stmt!(node!(id; attr!("shape", "box"), attr!("label", label)));

and try and save this graph to a file with
exec(
    graph,
    &mut PrinterContext::default(),
    vec![
        Format::Png.into(),
        CommandArg::Output("./graph2.png".to_string()),
    ],
)
.unwrap();
println!("saved to file");

I crash with
saving to file
thread 'main' panicked at src\graph_rust.rs:86:6:
called `Result::unwrap()` on an `Err` value: Custom { kind: Other, error: "Error: C:\\Users\\BRIOCH~1\\AppData\\Local\\Temp\\.tmpKczFpE: syntax error in line 2 near '='\r\n" }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
error: process didn't exit successfully: `target\debug\micrograd-rust.exe` (exit code: 101)

This is intuitive and the displayed labels don't even display " at the beginning or end of my strings. I think them macro should encapsulate strings with " on it's own, instead of leaving it as an exercise for the library user.

Yeah, you are right.  I created a story to provide extra examples and information for the macros.
In this case, the attr! and id! accept the following syntax:
attr!("label", esc label) // adding esc automatically wraps  with attribute the quotes
attr!("label", html label) // adding html allows to add HTML tags inside the label

It works for attr! and id!
Thus, in the given example this change will hide the quotes:
...
let node = stmt!(node!(id; attr!("shape", "box"), attr!("label", esc label)));
...


Disable the 'Connect VM' item for the file shares under the attached storage account using key/name

Storage Explorer Version: 1.1.0
Platform: Windows/Linux
Architecture: x64
Build Number: 20180522.4
Commit: 6232e7cf
Regression From: Not a Regression
Steps to Reproduce:

Attach one storage account using key and name.

Open one file share and check the 'Connect VM' item at the toolbar.

Expected Experience:
'Connect VM' is disabled.
Actual Experience:
'Connect VM' is enabled.

Sorry for logging a wrong bug :( .So close this bug. Please ignore this bug.


feat: bru.hasEnvVar, bru.hasVar, bru.deleteVar

Description
bru.hasEnvVar(key);
bru.hasVar(key);
bru.deleteVar(key);
Contribution Checklist:

[x] The pull request only addresses one issue or adds one feature.
[x] The pull request does not introduce any breaking changes
[ ] I have added screenshots or gifs to help explain the change if applicable.
[x] I have read the contribution guidelines.
[ ] Create an issue and link to the pull request.

Thanks for taking care of this @lohit-1 !
Thanks for the review @Its-treason !


Make grub config handler fails on legacy BIOS hosts

Describe the Issue
When the bootloader path is set for legacy BIOS and registered to this variable: rhel8stig_bootloader_path in the PRELIM task here:
https://github.com/ansible-lockdown/RHEL8-STIG/blob/64313cd1252e82b2b3b52bef97f1e5f91a68dcd5/tasks/prelim.yml#L393
it later gets used in the handler make grub config here: https://github.com/ansible-lockdown/RHEL8-STIG/blob/64313cd1252e82b2b3b52bef97f1e5f91a68dcd5/handlers/main.yml#L56
However there is an additional / that gets added to the grub2-mkconfig command in the handler which makes the path not work as there is now // within the path of the grub2-mkconfig command.
Expected Behavior
I expect the make grub2 config handler to succeed
Actual Behavior

The rhel8stig_bootloader_path gets captured in the PRELIM tasks

    amazon-ebs.minimal-de-rhel-8-hvm: TASK [RHEL8-STIG : PRELIM | output bootloader and efi state] *******************
    amazon-ebs.minimal-de-rhel-8-hvm: ok: [default] => {
    amazon-ebs.minimal-de-rhel-8-hvm:     "msg": [
    amazon-ebs.minimal-de-rhel-8-hvm:         "bootloader path set to /boot/grub2/",
    amazon-ebs.minimal-de-rhel-8-hvm:         "legacy boot equals True"
    amazon-ebs.minimal-de-rhel-8-hvm:     ]
    amazon-ebs.minimal-de-rhel-8-hvm: }
    amazon-ebs.minimal-de-rhel-8-hvm:

The handler later fails due to the double slash in the path

    amazon-ebs.minimal-de-rhel-8-hvm: RUNNING HANDLER [RHEL8-STIG : make grub2 config] *******************************
    amazon-ebs.minimal-de-rhel-8-hvm: fatal: [default]: FAILED! => {"changed": true, "cmd": "/usr/sbin/grub2-mkconfig --output=/boot/grub2//grub.cfg", "delta": "0:00:00.012089", "end": "2024-02-20 21:50:49.355068", "msg": "non-zero return code", "rc": 1, "start": "2024-02-20 21:50:49.342979", "stderr": "/usr/sbin/grub2-probe: error: failed to get canonical path of `none'.", "stderr_lines": ["/usr/sbin/grub2-probe: error: failed to get canonical path of `none'."], "stdout": "", "stdout_lines": []}

Control(s) Affected
This affects controls that notify the handler confirm grub2 user cfg when run on a machine with BIOS and not UEFI.

HIGH | RHEL-08-010020 | PATCH | fips=1 must be in /etc/default/grub
MEDIUM | RHEL-08-010149 | PATCH | RHEL 8 operating systems booted with a BIOS must require a unique superusers name upon booting into single-user and maintenance modes.

Environment (please complete the following information):

branch being used: [devel]
Commit:

commit<PHONE_NUMBER>014c6a31d9c1d4359fb3d77d542dc8 (HEAD -> devel, origin/devel, origin/HEAD)
Merge: f845492 52fb839
Author: uk-bolly<EMAIL_ADDRESS>Date:   Mon Dec 11 14:05:08 2023 +0000

    Merge pull request #238 from ansible-lockdown/pre-commit-ci-update-config

    [pre-commit.ci] pre-commit autoupdate

Ansible Version:

[python@a501c5dc1d55 work]$ ansible --version
ansible [core 2.14.10]
  config file = None
  configured module search path = ['/home/python/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.9/site-packages/ansible
  ansible collection location = /home/python/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/local/bin/ansible
  python version = 3.9.16 (main, Mar  8 2023, 03:23:31) [GCC 8.5.0 20210514 (Red Hat 8.5.0-16)] (/usr/local/bin/python3.9)
  jinja version = 3.1.2
  libyaml = True

Host Python Version: [3.9.18-1]
Additional Details:
This was run in a Packer Build on a RHEL 8.8 community AMI.

Additional Notes
Anything additional goes here
Possible Solution
Remove the unneeded /

After testing I'm still getting the same error so it may not be an issue with the double //. Still investigating.
    amazon-ebs.minimal-de-rhel-8-hvm: RUNNING HANDLER [RHEL8-STIG : make grub2 config] *******************************
    amazon-ebs.minimal-de-rhel-8-hvm: fatal: [default]: FAILED! => {"changed": true, "cmd": "/usr/sbin/grub2-mkconfig --output=/boot/grub2/grub.cfg", "delta": "0:00:00.012800", "end": "2024-02-21 21:43:08.980175", "msg": "non-zero return code", "rc": 1, "start": "2024-02-21 21:43:08.967375", "stderr": "/usr/sbin/grub2-probe: error: failed to get canonical path of `none'.", "stderr_lines": ["/usr/sbin/grub2-probe: error: failed to get canonical path of `none'."], "stdout": "", "stdout_lines": []}

Still testing. I have updated the issue as it is not actually an issue with the amount of slashes and instead is a grub issue and could be related to how the instance is already configured.

The issue is because the /boot partition is an LVM partition the grub tool cannot read the /boot partition causing the grub2-mkconfig command to fail.
When disabling rhel_08_010020 to get around this I get this error:
    amazon-ebs.minimal-de-rhel-8-hvm: TASK [RHEL8-STIG : HIGH | RHEL-08-010020 | PATCH | If /boot or /boot/efi reside on separate partitions, the kernel parameter boot=<partition> must be added to the kernel command line.] ***
    amazon-ebs.minimal-de-rhel-8-hvm: fatal: [default]: FAILED! => {"msg": "Error in jmespath.search in json_query filter plugin:\n[?mount=='{{ rhel8stig_boot_part.stdout }}'] | [0]: 'dict object' has no attribute 'stdout'. 'dict object' has no attribute 'stdout'"}


feat: add support to easy integrate to other libraries

Discussion in #14

Pull Request Test Coverage Report for Build 100

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

Totals

Change from base Build 98:
4.4%

Covered Lines:
50

Relevant Lines:
50

💛  - Coveralls

Pull Request Test Coverage Report for Build 100

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

Totals

Change from base Build 98:
4.4%

Covered Lines:
50

Relevant Lines:
50

💛  - Coveralls

Pull Request Test Coverage Report for Build 100

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

Totals

Change from base Build 98:
4.4%

Covered Lines:
50

Relevant Lines:
50

💛  - Coveralls


Authorization not working after Update and API completely public

Hello,
today we found a fatal issue and tried to figure out what happend. Our API was fully unauthorized availible.
We found out that: (our last commit was on 2018-04-17) the config generated with the Apigility admin looked like:
'zf-mvc-auth' => array(         'authorization' => array(             'fxa\\V1\\Rpc\\Apitest\\Controller' => array(                 'actions' => array(                     'apitest' => array(                         'GET' => false,                         'POST' => true,                         'PUT' => false,                         'PATCH' => false,                         'DELETE' => false,                     ),                 ),             ),             'fxa\\V1\\Rpc\\GetFxaReviewList\\Controller' => array(                 'actions' => array(                     'GetFxaReviewList' => array(
Now we found out that the Actions should be written in Uppercase what feels a bit unexpected  that means the newer version of the apigility admin generates:
'zf-mvc-auth' => array(         'authorization' => array(             'fxa\\V1\\Rpc\\Apitest\\Controller' => array(                 'actions' => array(                     'Apitest' => array(                         'GET' => false,                         'POST' => true,
-> that caused

that for the lowercase version created before the authorization did not work and the calls where reachable publicly
that the checkbox for the call under authorization in the apipgility-admin was unchecked
and you get a fatal when you recheck it because it ll insert both lower- and uppercase ->

Fatal error: Uncaught Zend\Permissions\Acl\Exception\InvalidArgumentException: Resource id 'fxa\V1\Rpc\GetRadiologistResult\Controller::getRadiologistResult' already exists in the ACL in /var/www/web13/html/qdicom/dev/vendor/zendframework/zend-permissions-acl/src/Acl.php:242 Stack trace: #0 /var/www/web13/html/qdicom/dev/vendor/zfcampus/zf-mvc-auth/src/Authorization/AclAuthorizationFactory.php(77): Zend\Permissions\Acl\Acl->addResource(Object(Zend\Permissions\Acl\Resource\GenericResource)) #1 /var/www/web13/html/qdicom/dev/vendor/zfcampus/zf-mvc-auth/src/Authorization/AclAuthorizationFactory.php(59): ZF\MvcAuth\Authorization\AclAuthorizationFactory::injectGrant(Object(ZF\MvcAuth\Authorization\AclAuthorization), 'deny', Array) #2 /var/www/web13/html/qdicom/dev/vendor/zfcampus/zf-mvc-auth/src/Authorization/AclAuthorizationFactory.php(38): ZF\MvcAuth\Authorization\AclAuthorizationFactory::injectGrants(Object(ZF\MvcAuth\Authorization\AclAuthorization), 'deny', Array) #3 /var/www/web13/html/qdicom/dev/vendor/zfcampus/zf-mvc-au in /var/www/web13/html/qdicom/dev/vendor/zendframework/zend-servicemanager/src/ServiceManager.php on line 941

I corrected manually!
Can someone approve this? Or do i have an issue somewhere else? I only used the apigitlity admin for the gerneration of the config ... no manual changes until today
It will be difficult to find out which version generated the config file before; version now is:
"zfcampus/zf-apigility-admin": "~1.0",
Our Auth Adapter is HTTP Basic Auth

If I'm understanding correctly, you're defining ACLs for an RPC service. That configuration should look like:
'zf-mvc-auth' => [
    'authorization' => [
        'Controller\Service\Name' => [
            'actions' => [
                'actionName' => [
                    'default' => boolean,
                    'GET' => boolean, // etc.
            ],
        ],
    ],
],

What you've observed was that you previously specified an action name in the configuration as apitest, but after an update recently, it was changed to Apitest, which is causing it to break.
Is this a correct summation?
If so, a cursory glance through our code doesn't show any place where we are modifying the action keys. I'll keep digging to see if I can find something.
Can you tell me what versions of each of the following modules are present, please?

zfcampus/zf-apigility-admin
zfcampus/zf-apigility-admin-ui
zfcampus/zf-mvc-auth

(You can get these by running composer show in your project root.)
Even better, can you tell me what versions were previously installed as well?

These Versions

zf-commons/zfc-base                            v0.1.2             A set of genetic (abstract) classes which are ...
zf-commons/zfc-user                            1.4.4              A generic user registration and authentication...
zf-commons/zfc-user-doctrine-orm               1.0.2              Doctrine2 ORM storage adapter for ZfcUser.
zfcampus/zf-api-problem                        1.3.0              ZF2 Module providing API-Problem assets and re...
zfcampus/zf-apigility                          1.4.0              Apigility module for Zend Framework
zfcampus/zf-apigility-admin                    1.5.13             Apigility Admin module
zfcampus/zf-apigility-admin-ui                 1.3.9              Apigility Admin UI module
zfcampus/zf-apigility-doctrine                 2.2.0              Apigility Doctrine module
zfcampus/zf-apigility-provider                 1.3.0              Apigility interfaces
zfcampus/zf-asset-manager                      1.2.0              Composer plugin for copying module assets into...
zfcampus/zf-configuration                      1.3.3              Zend Framework module providing a REST resourc...
zfcampus/zf-content-negotiation                1.4.0              ZF Module providing content-negotiation features
zfcampus/zf-content-validation                 1.6.0              Zend Framework module providing incoming conte...
zfcampus/zf-development-mode                   2.1.2              ZF2 development mode module
zfcampus/zf-hal                                1.5.0              ZF2 Module providing Hypermedia Application La...
zfcampus/zf-mvc-auth                           1.5.1              ZF2 Module providing Authentication and Author...
zfcampus/zf-oauth2                             1.4.0              ZF2 module for implementing an OAuth2 server
zfcampus/zf-rest                               1.5.0              ZF Module providing structure for RESTful reso...
zfcampus/zf-rpc                                1.4.0              ZF2 Module for simplifying the creation of RPC...
zfcampus/zf-versioning                         1.3.0              ZF2 Module providing listeners and route proto...

create that:

using:

Controller looks like:
`<?php
namespace fxa\V1\Rpc\Apitest;
use Zend\Mvc\Controller\AbstractActionController;
use ZF\ContentNegotiation\ViewModel;
use Application\Constant;
use Zend\ServiceManager\ServiceLocatorInterface;
class ApitestController extends AbstractActionController
{
/**
* @var ServiceLocatorInterface
*/
protected $serviceLocator;
/**
 * @return ServiceLocatorInterface
 */
public function getServiceLocator()
{
    return $this->serviceLocator;
}

/**
 * @param ServiceLocatorInterface $serviceLocator
 * @return MessageController
 */
public function setServiceLocator(ServiceLocatorInterface $serviceLocator)
{
    $this->serviceLocator = $serviceLocator;
    return $this;
}

public function apitestAction()
{
    /** @var \Application\Service\ApplicationService $appService */
    $appService = $this->serviceLocator->get(Constant::APPLICATION_SERVICE);
    $result = $appService->findDicomByStudy($this->params()->fromPost()["study"]);

    return new ViewModel(array(
        'dicomByStudy' => $result,
    ));
}

}`

You will need to update to the latest zf-apigility-admin-ui:
$ composer update zfcampus/zf-apigility-admin-ui

The risk and mean thing if this bug is: if you have an old configuration in lowercase, your API is suddenly publicly available because the Actionnames do not fit and it looks like nothing is configured. We found out by accident that our API was fully open.

Thank you for the quick fix!

It s still not working completely:
It creates the right code in the module,config:
'zf-mvc-auth' => array(
        'authorization' => array(
            'fxa\\V1\\Rpc\\Apitest\\Controller' => array(
                'actions' => array(
                    'apitest' => array(
                        'GET' => false,
                        'POST' => true,
                        'PUT' => false,
                        'PATCH' => false,
                        'DELETE' => false,
                    ),
                ),
            ),

but the UI can not read it:

The Authorization now works fine again

Everything works now! Thanks

All is working now.
Thank you.


Joke Extension

Describe the feature
Describe the feature
Type of Issue

[ ] Bug 🐛
[x] New Feature 🚀
[ ] Documentation 📚

Description Issue
I'd like to propose a new 'joke extension'.
@Sulagna-Dutta-Roy (Please assign me)
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Do not open any blank Issues as feature request Issues already there. Please follow the guidelines

Already added to my repository #392

ohk


Buildings with holes & other polygon data

Hi Geoff,
I wanted to thank you for OSMnx, it has really started to open up quantitative urban analysis for me.
I'm pretty new to python and coding in general but after following your course information I'm hacking together some osmnx, pandas, geopandas, and shapely to try to quantify urban form (Site Coverage, Floor Area Ratio etc.) using OSM data at the scale of city blocks. I have a couple of issues - one a possible bug, the other a proposal/feature request:
1. Buildings with holes
Am I right in thinking that osmnx.buildings currently doesn't handle multi-polygons properly i.e. buildings with holes? In OSM a relation tagged as 'building=yes' with two polygons, one tagged 'role=outer', one tagged 'role=inner' seems to end up in osmnx as two individual building polygons on top of each other. This leads to holes in buildings actually being double counted as building area sometimes generating Site Coverages of more than 1 (see attached image).
2. Generalise building polygon tools
I have seen that the osmnx.graph_from_* has been generalised to be able to work with infrastructure other than roads. My question is whether you would consider a similar generalisation for osmnx.buildings to enable it to download and work with other polygonal data for example 'landuse=' or 'place=' etc.? I am particularly interested in 'place=city_block' and have currently implemented that for myself by duplicating your building module 'building' with 'city_block' but can see that 'landuse=' and 'amenity=' etc. would also be useful.
Kind regards,
Nick Bristow

Regarding 1, that's possible. Would you mind whipping up a MWE code snippet to demonstrate this issue? Regarding 2, that could be a nice idea. Perhaps generalizing it from buildings to footprints. Pull requests welcome!

Regarding 1. Sure, will do.
Regarding 2, that's great, wanted to check you were open to the idea. In reality it's going to take me a while to generate a pull request with the knowledge I have but would like to give it a go.
All the best,
Nick

Buildings with holes
I've checked the tagging and this building is tagged as OSM guidelines i.e. building tag on the multipolygon relation which contains two polygons, one tagged role=outer the other tagged role=inner
import osmnx as ox
%matplotlib inline

point=(51.52753,-0.10999)

buildings_gdf = ox.buildings_from_point(point=point, distance=25)
bbox = ox.bbox_from_point(point=point, distance=45, project_utm=True)

# project buildings_gdf to UTM for measuring area
buildings_proj = ox.project_gdf(buildings_gdf)
buildings_proj['area']=buildings_proj.area
buildings_proj

visualised with
fig, ax = ox.plot_buildings(buildings_proj, bgcolor='#333333', color='lightgrey', figsize=(7,7), bbox=bbox,
                            show=True, close=True, dpi=150)

shows as  a solid building footprint and 'building_proj' shows two polygons one of 3019.6m2, the other of 1130.6m2 which would give a total of 4150m2

the same building downloaded from http://overpass-turbo.eu/ as a geojson and projected in QGIS has a footprint of 1889m2 (3019.6m2 - 1130.6m2).

Nick

Ah yes. So the buildings module currently doesn't handle relations. It pulls in the data but just treats each as a polygon in the GeoDataFrame that it returns. As far as I can tell, these inner/outer multipolygon relations are relatively rare but they should be handled none the less.
Here (https://github.com/gboeing/osmnx/blob/master/osmnx/buildings.py#L171), we'd need to include a relation check. If there is an inner/outer relation, we'd need to construct the outer polygon, then difference out each inner polygon. If you'd like to take a crack at this, feel free to open a PR!

Thanks for having a look at it and confirming and also for the pointer in how to fix it. As before, I don't think that I have all the knowledge necessary to do this at the moment.
I could do with a couple of pointers for getting a development environment setup. Am I on the right track if I fork, clone and branch osmnx, make a new conda environment into which I install its dependencies and then run pip install -e . to install the local version that I edit?
I may be way out of my depth here so don't worry too much.
Thanks,
Nick

@AtelierLibre yep that development environment setup is correct

@gboeing great thanks

Development happening over in PR #236


STRICT DNS cluster without endpoints block CDS

Title: STRICT DNS cluster without endpoints block CDS
Description:

A STRICT DNS cluster without endpoints as below will always in the warming state which make CDS can not to send new CDS request to control plane. Although it is ok if control plane never restart because control plane will continue to send new cluster config to Envoy. But if control plane restart, Envoy will not send new CDS request to control plane and control plane will not send new cluster config to Envoy. When this problem occurs, all new clusters fail to take effect, causing the route to return 503 + NR.

  clusters:
  - name: service1
    connect_timeout: 0.25s
    type: strict_dns
    lb_policy: round_robin
    load_assignment:
      cluster_name: service1

From the source code, I found that if the STRICT DNS cluster does not have endpoints, it will not be able to enter the DNS resolution process, and thus cannot trigger the callback function to complete cluster initialization. This keeps the cluster in a warning state.
Although I know this is a configuration issue, does the community have a plan to address this issue, such as adding additional validations to reject misconfigured configurations, or allowing STRICT DNS clusters with no endpoints to complete initialization directly?

I do not immediately see how it would be useful to have a DNS based cluster without any endpoints; whether the cluster is statically defined or dynamically fetched. We have some constraints like this in other resources. My main concern would be how to update that constraint without interfering with operators that for some reason relied on that behavior.
cc @alyssawilk @snowp for comment on the potential constraint, and deprecation.

IMO this is a bug. I would either just block it at the config level, or if there are no targets maybe warn and just immediately finish init?

Yeah IMO the correct thing to do is to put the constraint on the config, as there is no point to have a cluster without targets.
Where I am less clear is if we need to run this through deprecation. If we did

there are no targets maybe warn and just immediately finish init?

I would consider that a way to deprecate and then move on to blocking at config level. If we think deprecating is overkill we should just block at the config level.

This should has been fixed by https://github.com/envoyproxy/envoy/pull/10728


💡 Support jsconfig.json for import path aliases by default

Suggest an idea for this project
You say "Knip has good defaults and aims for “zero config”". Then it is worth recognizing the jsconfig.json file by default in addition to tsconfig.json, since it is quite common and supported by many IDEs.^stack-overflow

Just wondering, why is the lack of support an issue for you?
I think the main (and only?) benefit is compilerOptions.paths, right?


⚠ Secret Website 3 has degraded performance

In c3d8e5f, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 6594 ms

Resolved: Secret Website 3 performance has improved in a2c4cdf.


suggestion - Try to add Storj to the software manager on linux. It would be an easy way for non-coders like myself to install Storj and it would greatly help promote Storj.

Once we get a little closer to a stable release, we will submit to the Debian repositories which should make the packages available to Debian based distros. If we don't make it before the next freeze, we can host our own repository in the meantime.

@Snarkly Already planning to do this, so closing. Thanks for the suggestion.


PrismicLink output if not enough attributes are passed in

Is your feature request related to a problem? Please describe.
I created a Link-Field in Prismic CMS and wanted to use PrismicLink in order to display it.
In my case it could be a document, external or media link.
I used this code to render the PrismicLink:
<PrismicLink
  field={item.link}
  linkResolver={linkResolver}
>
  {item.text}
</PrismicLink>

I expect this to work but there was no error and no link was rendered. (It just returned null I think)
After that, I added more fields to my GraphQL query and then it worked. So, the component needed some more attributes in order to work correctly.
Describe the solution you'd like
I would like the PrismicLink component to output a message like "uid, id, lang, ..." are needed on the link field in order to work.
Or at least some feedback from the component and not just nothing.
Additional context
The link fields I selected when it didn't work: link_type.
The link fields I selected when it finally worked:
link_type, url, uid, id, lang, type, target

Hi @alexanderbluhm, thanks for reporting this bug.
v2.4.1 includes a development-only check for missing Link field properties. It will throw an error letting you know the field is missing properties and links to a document with an explanation. See the document here: https://github.com/prismicio/prismic-react/blob/1eb04d88a72f436ac7586625716ff6c9fe337949/messages/missing-link-properties.md
You can see more details on the changes in the PR here: #153.
Update to the latest version of @prismicio/react to benefit from the development check:
npm i @prismicio/react@latest

If you have any questions, feel free to post them here and I will help. Thanks! 🙂

@angeloashmore How can I opt out from the error message? If the content person has included an empty link on the website (either on purpose or by accident), I can't work in development as this error is popping up.
Currently, the only way to go around it if to wrap the PrismicLink into my own custom component in order to check if the field is present. If it's not present, render an empty link. But that seem to just add one more unnecessary component

@kb1995 Thanks for reporting that. That was unintended; unfilled Link fields are valid and should not trigger an error.
I implemented a fix in #157, but it requires a fix in @prismicio/helpers as well (https://github.com/prismicio/prismic-helpers/pull/51). Before merging and publishing both PRs, I'd like to get a review from @lihbr first. I'll post here once the fix is published.
Thanks again! 🙂

Perfect! #157 has been merged and published in<EMAIL_ADDRESS>To update, install the latest version:
npm install @prismicio/react@latest

@kb1995 When you have a chance, could you update and let me know if it fixes the issue? You should be able to use <PrismicLink> without an additional empty-field check.

@angeloashmore Thanks, I just tested it and now the error is gone.
I'm still not 100% sure if the default behaviour shouldn't be to output an empty link but still showing the children. This is the logic I've used up to now, but this might not be correct.
Imho, it does make sense to be the case above. Then if I don't want it to be the case (don't display it if there is an empty link) I can update InternalLinkComponent and ExternalLinkComponent.


Production builds with AoT Fails

In case of Angular Clli the productions build with AoT (ng build --prod --aot) are failing with below error, can you please have a look:
 ERROR in Error encountered resolving symbol values statically. Calling function 'makeDecorator', function calls are not supported. Consider replacing the function or lambda with a reference to an exported function, resolving symbol NgModule in<EMAIL_ADDRESS>resolving symbol NgModule in<EMAIL_ADDRESS>resolving symbol NgModule in<EMAIL_ADDRESS>resolving symbol NgModule in<EMAIL_ADDRESS>resolving symbol IcDatepickerModule in node_modules/ic-datepicker/dist/src/ic-datepicker.module.d.ts, resolving symbol IcDatepickerModule in node_modules/ic-datepicker/dist/src/ic-datepicker.module.d.ts
Note!
I cut the contents from  node_modules\ic-datepicker\dist and the removed all contents from node_modules\ic-datepicker directory and pasted the contents from node_modules\ic-datepicker\dist to *node_modules\ic-datepicker* direcotry.
then updated the import statements to:
import { IcDatepickerModule } from 'ic-datepicker';
And worked! So, the problems seems to be with the npm package, and requires a fix.

@naveedahmed1 Is this still an issue? I don't get any errors when I build the demo app, which is an Angular CLI project using the datepicker component.

Yes, I tested it with latest release and still an issue.
I am using Angular 4 RC 5, Angular CLI 1.0.0-rc.2

I have an Angular CLI project (v1.0.0-beta.30) that I can build successfully build with v0.0.9 of this component, so I'll have to dig around to find out what has changed.

Kindly check it with latest version V 1.0.0

I can replicate the error exactly with a freshly generated Angular 4, project with CLI v1. I don't however know what the cause of the error is.

After an awful lot of testing and tweaking I think this issue is finally resolved. Can you try with v0.0.10 as the issue should be fixed. I've tested it in my Angular v4 project and it builds successfully.

Finally, its working! Great job @IckleChris 👍


[main][feat]: claim at mini fairlaunch

Description

[env] update env.example
[contract] add interface of miniFL in 8.10
[contract for test] add mock MiniFL in contract for test
[contract] change claim when reinvest from fairlaunch to miniFL (contract)
[test] remove calculation part alpaca reward part (using mockMiniFL)

Why?

ChangeLogs:

Link to story (if available)

I think the only that need to be done in this PR is to write a test on DeltaNeutralVault + MiniFL. Other parts can be left out.


Breaking content at page end when content is continuing to next page.

I'm generating a PDF but when It reached at the end of 1st page the content is breaking , is there a way to avoid it ? please check image for reference.

I recomend you tu use page-break-avoid in hbs css


Close button misaligned on sticky lobby preview component

https://discord.com/channels/549281623154229250/927564746104905728/1030446654375088139

Can't repro this one, possibly fixed already?


Unify dir and ls methods parameters

Hey I have around 200 lines of the text for the methods at the moment. I will integrate this and when it is ready I will submit my changes.


new captcha

Hi,
I get this new type of captcha when I click on linkvertise links, that cannot be solved by Buster. Do you still have captchas type "recaptcha" ?

Please use the updated vm_main.py code :D

Please use the updated vm_main.py code :D

send me a link pro

@softmachine1  Yes the new code has technique to solve these captchas (provided by @KevinGeLe). And the code is supposed to auto update too, so most probably your VM is auto updated, and it can solve these captchas by default.
also @SiisMax999 check the videos on how to make your own VM here: https://github.com/BhaskarPanja93/View-Bot-Client
you will have the new code from there on automatically.

okay  thank you


Improve LDRParser#findFile method

This improves the findFile() method in a few ways

Use os.path.join() for constructing paths
Store the paths in an list and loop over each path in it when finding the part
Correct search order (the order I have here is correct, as an LDraw dev helped align it to spec)
Search the models and Unofficial/p folder too

This does not tackle the new high/low res folders (48 and 8, respectively), nor does it cover the LSynth parts. The former should be added ASAP (I can add them in this PR if you wish), but the latter is in no hurry (probably open an issue or something as a reminder).

Thanks a lot! I was wondering what the proper search order was. I'm not really worried about hi-res parts yet, though LSynth should be pretty high on the todo list.

I would give high/low-res search greater priority than LSynth, as they are part of the official library.
PR has been updated, please review all changes and either report anything I need to change or merge when ready. :)

@le717 Looks good! Merging!
If there are any issues I missed, they can be found later, since this repo is still in the heavy development stage. Also, I admire your python genius.

Also, I admire your python genius.

I'm no genius. In fact, even after two years I'm still learning stuff about Python!


feat: api choropleth updates

update api handler to support full response return rather than just data array.
Add support for setting choropleth bins from API meta response

Tested and looking good!


⚠ Bofrost.lu has degraded performance

In 8647e8e, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1171 ms

Resolved: Bofrost.lu performance has improved in 09c34ac after 6 minutes.


add component radio test json schemas

Just adding the new test component schemas to the launcher page. To test run launcher see if test_radio_mandatory etc. is in the dropdown list

@MIslam92  Squishy Squashy


Any call to full_message on Ruby's exception classes panics

I've tried both protect_send and the underlying binding_util::call_public_method but it panics without details.  Anyone is free to look into why and debug the compatibility issue here.

In Ruyby 2.5, Exception has full_message method, but not in Ruby 2.4.
https://ruby-doc.org/core-2.4.3/Exception.html
https://ruby-doc.org/core-2.5.1/Exception.html

Thanks @irxground I'll fix it…


Method infers the wrong type when passing a value that is typealiased that uses union and intersection types

🔎 Search Terms
typealias inference, union type inference, intersection type inference, inconsistent inference
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about type inference

⏯ Playground Link
https://www.typescriptlang.org/play?ts=5.3.0-dev.20230906#code/KYDwDg9gTgLgBASwHY2FAZgQwMbDgISmEwGs0BJFNLXOAbwCgBfBh0SWOdAVyWxgQQkcAEZQIZJAFUAzpgDmwADwBlADRwAogD4AFERncANjABccKUkFWAXmlUadASnrNW7aPBgBPMHkvWCHZQDlracAC8cLoqcAA+Wi4AZAREpBRUGDjA7uCecD5+FlZCQWiyCnhRAaXBSgBuEAgAJhoyMFDI8tqsPHwCQlyYCEbAzZToaMB8wLoujHCLcNhC7XAg5jW25XKKkXCKMJTtmDNzDEtwAPRXcADCABbA2CRDIzJc0HBIEHBpMkILksxBJphVFLoQE43Aw+vxrHBDNhcDIZBMpmd5kDFiskGsNsVAnVGi02h0uuEoodjjBTrhzpcbnAVJgALZ4QrAD6YD4iYDoaB4ETceDYJ4vRHcZHAMYybGicSScGzKEw2G8eGDal42mYzYlbZQZX0JhAA
💻 Code
export interface BreakerInterface {
}

export function brokenUsage<S, E>(result: Unionizer<S, E>) {
}

export type Unionizer<S, E> = (S | E) & BreakerInterface

export type UnionizerUsage = Unionizer<void, string>

function failedInference() {
    const x: UnionizerUsage = getInstance()
    // Check fails for no reason
    brokenUsage(x)
}

function successInference() {
    const x: Unionizer<void, string> = getInstance()
    // Same types as before but check succeeds
    brokenUsage(x)
}

function getInstance(): UnionizerUsage {}

🙁 Actual behavior
Code fails to compile due to "Type 'void & BreakerInterface' is not assignable to type 'string'" which is actually due to the brokenUsage call inferring x as Unionizer<string, string> instead of Unionizer<void, string>.
🙂 Expected behavior
UnionizerUsage is expanded to Unionizer<void, string> and code compiles
Additional information about the issue
No response

which is actually due to UnionizerUsage being expanded to Unionizer<string, string>

Looking closer, this is not actually the case.  UnionizerUsage is indeed equivalent to Unionizer<void, string>.  It's the brokenUsage() call that's being inferred differently.  Hence the error message:
Argument of type 'UnionizerUsage' is not assignable to parameter of type 'Unionizer<string, string>'.

That said, void in general doesn't behave well outside the context of being the return type of a function (in particular, it's not an alias for undefined).  See https://github.com/microsoft/TypeScript/issues/42709.

void was just an example of the simplest type. The same happens with any other type, see example with number instead:
https://www.typescriptlang.org/play?ts=5.3.0-dev.20230906#code/KYDwDg9gTgLgBASwHY2FAZgQwMbDgISmEwGs0BJFNLXOAbwCgBfBh0SWOdAVyWxgQQkcAEZQIZJAFUAzpgDmwADwBlADRwAogD4AFERncANjABccKUkFWAXmlUadASnrNW7aPBgBPMHkvWCHZQDlracAC8cLoqcAA+Wi4AZAREpBRUGDjA7uCecD5+FlZCQWiyCnhRAaXBSkjcALYiaBoyMFDI8tqsPHwCQlyYCEbAACaU6GjAfMC6LoxwS3DYQu1wIOY1tuVyipFwijCU7Ziz8wzLcKPw3lslOyENza1w7Z1I3QcgANxLAPT-OASS7LQFwADCAAtgNgSEMRjIuNA4EgIHA0jIhKClmIJDMKopdCAnG4GH1+NY3txsLgZDJJtNzgscSs1vBNsVAnVni0oG0Ol1wlEjicYGdcBcruCVJhGnhCsAkZgkS10NA8CJuPBsDC4dTacBxjJWXjJIS5iSyeTeJTBqKkKdmfdubtKq4rkQYNwoMIAEzMIA

Now that I look at this again, it’s definitely weird that generic inference would infer a type that’s not actually compatible with the value it’s inferring from.

https://github.com/microsoft/TypeScript/pull/48092 doesn’t fix this: https://www.staging-typescript.org/play?ts=5.0.0-pr-48092-16#code/KYDwDg9gTgLgBASwHY2FAZgQwMbDgISmEwGs0BJFNLXOAbwCgBfBh0SWOdAVyWxgQQkcAEZQIZJAFUAzpgDmwADwBlADRwAogD4AFERncANjABccKUkFWAXmlUadASnrNW7aPBgBPMHkvWCHZQDlracAC8cLoqcAA+Wi4AZAREpBRUGDjA7uCecD5+FlZCQWiyCnhRAaXBSgBuEAgAJhoyMFDI8tqsPHwCQlyYCEbAzZToaMB8wLoujHCLcNhC7XAg5jW25XKKkXCKMJTtmDNzDEtwAPRXcADCABbA2CRDIzJc0HBIEHBpMkILksxBJphVFLoQE43Aw+vxrHBDNhcDIZBMpmd5kDFiskGsNsVAnVGi02h0uuEoodjjBTrhzpcbnAVJgALZ4QrAD6YD4iYDoaB4ETceDYJ4vRHcZHAMYybGicSScGzKEw2G8eGDal42mYzYlbZQZX0JhAA

This is an indirect effect of #42284. Before that PR, the declaration
export type UnionizerUsage = Unionizer<void, string>

did not associate a new alias with the type, so the type would always display as Unionizer<void, string>. Following the PR, we re-alias the type so it displays as UnionizerUsage. This also means that we forget about the previous alias Unionizer<void, string>. So now, when inferring from UnionizerUsage to Unionizer<S, E> we can't just infer between the type argument positions. Instead, we perform structural inference between void & BreakerInterface | string & BreakerInterface and S & BreakerInterface | E & BreakerInterface. This structural inference doesn't have the ability to distinguish between S and E  because union types aren't ordered, and so we get a different outcome.
Short story, inference between two types with the same type alias is sometimes more precise than inference between the actual types denoted by the aliases, and that's what we're seeing here.

Short story, inference between two types with the same type alias is sometimes more precise than inference between the actual types denoted by the aliases, and that's what we're seeing here.

Given that the structural nature of the type system is so heavily emphasized, this feels surprising enough that it should probably be covered in documentation.  e.g. that sometimes TS can use the high-level structure of a type alias for inference rather than the type it resolves to.
Hmm, using the structure of the structural types to drive inference.  Maybe looks a bit like nominal typing from the outside, but it isn't.  We'll call this new concept... metastructural typing? 😜

In what build is this fixed?
In 5.4.0-dev.20240124, we still get:
Argument of type 'UnionizerUsage' is not assignable to parameter of type 'Unionizer<string, string>'.
  Type 'void & BreakerInterface' is not assignable to type 'Unionizer<string, string>'.
    Type 'void & BreakerInterface' is not assignable to type 'string'.(2345)


change backbone

Hi
Is there a way or example of using a backbone other than ResNet? lets say for example EffientNet backbone or anything else.
Regards
Husain

Hello @halyusuf25 I've trained the architecture using the STDC backbone.
Here’s how you can integrate a custom backbone into the model configuration.

Add Backbone Implementation
First, add your backbone implementation file in the following folder:

RT-DETR/rtdetrv2_pytorch/src/nn/backbone

Modify Backbone File
In your backbone file, ensure you have the following:

from ...core import register
__all__ = ['<YourBackboneClassName>']

@register()
class <YourBackboneClassName>():
    ...

Replace  with the actual name of your backbone class.

Create Configuration File
In the include folder, copy an existing YAML configuration file and modify the backbone-related parts:

RT-DETR/rtdetrv2_pytorch/configs/rtdetrv2/include

Update the YAML file as follows:

RTDETR:
  backbone: <YourBackboneClassName>
  encoder: HybridEncoder
  decoder: RTDETRTransformerv2

<YourBackboneClassName>:
  # Configuration specific to your backbone

HybridEncoder:
  in_channels: [list of output channels from your backbone]

Update Training Configuration
Finally, in one of the configuration files used for training, make sure to link to the updated include YAML file you created.


Panopreter.Panopreter64-bit version <IP_ADDRESS>

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

for the 4th time now, ALL OF THESE PROGRAMS INSTALLED WITHOUT USER INPUT


Error in test_armp.py//test_predict_fromxyz()

I had a mysterious test-fail. Seems like about 4 in 100 trial runs of the function in the title results in AssertionError (see output below).
I checked the printout and the number seem to vary ever so slightly and sometimes they are a bit above the threshold in np.isclose. I think rtol can simply be relaxed.
Pinging @SilviaAmAm @larsbratholm
Best,
Anders
andersx@nuke:~/dev/qml/gradient_kernel/test$ for i in $(seq 1 100); do python3 test_armp.py; done
2019-01-29 14:12:25.852190: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:12:31.543292: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:12:36.596743: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:12:41.695897: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:12:46.699178: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:12:51.896631: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:12:57.019773: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:13:02.016708: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:13:07.118745: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:13:12.030586: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:13:17.021577: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:13:21.881790: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:13:26.781928: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:13:31.817703: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:13:36.761721: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:13:41.757300: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:13:46.878520: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:13:51.886971: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:13:56.880519: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:14:01.952509: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:14:06.905798: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:14:11.792043: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:14:16.888623: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:14:21.966927: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:14:27.006712: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:14:32.458704: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:14:37.459119: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:14:42.656408: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:14:47.625612: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
Traceback (most recent call last):
  File "test_armp.py", line 308, in <module>
    test_predict_fromxyz()
  File "test_armp.py", line 231, in test_predict_fromxyz
    assert np.all(np.isclose(pred1, pred2, rtol=1.e-6))
AssertionError
2019-01-29 14:14:51.274565: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:14:56.231079: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:15:01.157808: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:15:06.427084: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:15:11.550079: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:15:16.739757: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:15:21.893527: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:15:26.889951: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:15:31.932909: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:15:37.024012: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:15:42.240176: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:15:48.002732: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
Traceback (most recent call last):
  File "test_armp.py", line 308, in <module>
    test_predict_fromxyz()
  File "test_armp.py", line 231, in test_predict_fromxyz
    assert np.all(np.isclose(pred1, pred2, rtol=1.e-6))
AssertionError
2019-01-29 14:15:52.242681: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:15:57.495700: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:16:02.606738: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:16:07.551746: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:16:12.523331: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:16:17.488134: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:16:22.563080: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:16:27.482621: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:16:32.612148: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:16:37.605385: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:16:42.644832: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:16:47.902066: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:16:53.091282: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:16:58.162367: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:17:03.169611: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:17:08.074685: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:17:13.014483: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:17:17.901797: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:17:22.916826: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
Traceback (most recent call last):
  File "test_armp.py", line 308, in <module>
    test_predict_fromxyz()
  File "test_armp.py", line 231, in test_predict_fromxyz
    assert np.all(np.isclose(pred1, pred2, rtol=1.e-6))
AssertionError
2019-01-29 14:17:26.786505: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:17:31.989765: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:17:37.135199: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:17:42.093665: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:17:46.974069: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:17:51.911819: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:17:56.848259: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
Traceback (most recent call last):
  File "test_armp.py", line 308, in <module>
    test_predict_fromxyz()
  File "test_armp.py", line 231, in test_predict_fromxyz
    assert np.all(np.isclose(pred1, pred2, rtol=1.e-6))
AssertionError
2019-01-29 14:18:00.691744: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
Traceback (most recent call last):
  File "test_armp.py", line 308, in <module>
    test_predict_fromxyz()
  File "test_armp.py", line 231, in test_predict_fromxyz
    assert np.all(np.isclose(pred1, pred2, rtol=1.e-6))
AssertionError
2019-01-29 14:18:04.548890: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:18:09.580368: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:18:14.534102: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:18:19.456988: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:18:25.042760: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:18:29.987893: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:18:34.885835: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:18:39.856855: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:18:44.779206: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:18:49.854183: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:18:54.852524: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:18:59.785425: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:19:04.820802: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:19:09.745178: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:19:14.667206: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:19:19.676176: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:19:24.918473: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:19:30.202376: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:19:35.403360: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:19:40.453957: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:19:45.314655: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:19:50.135643: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:19:55.088372: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:20:00.040717: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:20:04.950036: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:20:09.858293: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:20:14.732765: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:20:19.830306: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
Traceback (most recent call last):
  File "test_armp.py", line 308, in <module>
    test_predict_fromxyz()
  File "test_armp.py", line 231, in test_predict_fromxyz
    assert np.all(np.isclose(pred1, pred2, rtol=1.e-6))
AssertionError
2019-01-29 14:20:23.726169: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:20:28.885089: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:20:33.836026: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-01-29 14:20:38.848189: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA

Thanks for the fix!


Projection issue in backgroundmaps

When adding a backgroundmap the result is shifted slightly relative to data that was already in the EPSG:28992 coordinate reference system. By supplying the correct CRS proj string this issue is fixed. nlmod uses this new modified CRS string by default.
Old:

New:

Fix from this issue: https://gis.stackexchange.com/questions/348339/using-crs-epsg3857-but-misalignment-between-stamen-background-and-coordinates-o

Closed by #241

For future reference:
import nlmod

extent = [110_000, 120_000, 485_000, 495_000]
ds = nlmod.get_ds(extent, crs=28992)
gdf_opp_water = nlmod.read.rws.get_gdf_surface_water(ds)

f, ax = nlmod.plot.get_map(ds.extent)
gdf_opp_water.plot(hatch="///", facecolor="none", ax=ax)
nlmod.plot.add_background_map(ax=ax, crs=28992)


Feature Request: Just a Quick Start Guide for Implementing Custom Attribute Recipes

This feature request proposes the development of a concise guide aimed at facilitating the implementation of custom attribute recipes. The guide would offer developers essential steps and best practices for defining, integrating, and optimizing new attributes for just.
Examples:

https://github.com/casey/just/issues/2082
https://github.com/casey/just/issues/2209

I added a development guide in #2226, which also includes some hints for adding a new attribute.

Referen

Thank you that is very nice


add adamW to CPU-ADAM implementation

I modified DeepSpeed CPU-Adam implementation to add the Adam-W option. I also add a new parameter for DeepSpeedCPUAdam, called adamw_mode, which is set to true by default to fix the zero-offload convergence issue. This is also consistent with the apex fused-adam implementation.

Do we expect users will want to switch between adamw modes? If so, we should somehow expose the flag in our config json.

That's a good point. Right now, there is the adamw_mode defined as the parameter that can be specified when instantiating the DeepSpeedCPUAdam (https://github.com/microsoft/DeepSpeed/blob/reyazda/add-cpu-adamW/deepspeed/ops/adam/cpu_adam.py#L20). However, it that can be passed in through the deepspeed config. And this can be used for all optimizers.
Thanks Jeff


After Clicking on hyperlink on Workload create page, user is navigated to create workload page.

On master-head - commit id: 28ea6d4b1

Login to Dashboard --> Workloads Overview --> Create

Click on a hyperlink for say Deployment type workload "Deployments"

A new window is opened with info about deployments

Dashboard page, user is navigated to "Create Deployment" page

Expected:
User Should be in Workloads Overview --> Create page only and NOT be taken to create deployment page as the user has clicked on a hyperlink only.

I also moved them to the end of the text as "more info" because some people were gravitating to clicking on it at the beginning of the sentence even when they just wanted to select the type.

Verified on master-head - commit id: 33f755f18

Dashboard --> Workloads --> Overview --> Create --> More info hyperlink is available
Clicking on it takes the user to Deployments page in kubernetes docs.


Stock

Feature Request
![image](https://user-images.githubusercontent.com/69061865/90302599-ca359480-ded9-11ea-9007-543fe9aedd70.jpeg)

Hi @lordjimoh thanks for this issue!
But the link to your image in your description is broken, could you please fix the link so that we could know what kind of feature requirement this is?


PixNFlix [Destination Array should still be image]

Description
Earlier fix, removed dependancy between frames. However, that means the destination array will not correspond to the image produced on the screen anymore. This might induce difficulty when solving certain problems.
Type of change

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[ ] Code quality improvements

Checklist
Please delete options that are not relevant.

[X] I have tested this code
[ ] I have updated the documentation

Pull Request Test Coverage Report for Build 7730

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 32.627%

Totals

Change from base Build 7728:
0.0%

Covered Lines:
2284

Relevant Lines:
6444

💛  - Coveralls


how to install istio egress gateway with helm chart

We have installed istio with helm chart from. https://istio-release.storage.googleapis.com/charts.
There is no description, how to install egress gateway with Helm in istio documentation. It has documentation to install egress gateway only with IstioOperator and with istioctl.
Can you please help?

can you try with https://istio.io/latest/docs/setup/additional-setup/gateway/?

it is described here https://artifacthub.io/packages/helm/istio-official/gateway
An egress gateway is no different than ingres except you probablydon't want a LoadBalancer

Hi. I have the same question. I've been googling for a few hours now and came across this question. If someone is reading, can you please help organize the information?
I only need the Egress Gateway.
The documentation here describes that you can install it through the operator and using the command line.
https://istio.io/latest/docs/tasks/traffic-management/egress/egress-gateway/
Is it impossible to install the egress gateway with helm? The installation assumes that the operator is used, although other parts of the documentation say not to use the operator as it is deprecated.

I found this chart and as far as I understood from what I read, is it both ingress and egress in one chart? https://artifacthub.io/packages/helm/istio-official/gateway

All documentation regarding egress states that search for egress-gateway under this way kubectl get pod -l istio=egressgateway -n istio-system. But after installing the chart above, there is only gateway one pod.

In this chart https://artifactthub.io/packages/helm/istio-official/gateway almost nothing is said about egress. Only one line. And this is total unclear.

Very incomprehensible documentation, especially for how to install it all. Mixed with outdated documentation.

So, how can I install egress-gateway in Kubernetes with Helm? I still haven't figured it out. Only with istioctl?

Thanks

@howardjohn sorry but still can not figure out how to install it with helm chart. When I add additional "service" field in values.yaml this want to chan ge my ingress gateway config to clusterip not to create additional gateway egress and I need both of them. Can you more detailed explain how to handle it?


deploy on github page via github action

related issues
#2
something has to do

Change the default branch name, main -> master branch. Github Action replies to this name. For more information see the commit history.
Set the Github page config in the project setting.

By the way, about the project name.
I think it doesn't matter change the project name or not at present.
So you @jjw24 decide it.


Seeing different multiple cucumber html reporter when test fails

Seeing different multiple cucumber html reporter when test fails.
When the test pass, report showing as expected in the git repo screenshots, however when the test fails report looks different.
Please find the attachments for reference.
Environment (please complete the following information):

multiple-cucumber-html-reporter: 1.20.0
Node.js version: v14.17.4
NPM version: 8.7.0
Platform name and version: mac
Cucucmber version: 8.2.0
project : cucumber BDD with javascript.
htmlreport_fail.pdf
htmlreport_pass.pdf

This is not an issue. The report does not know the context of each file, it just reads the json files from the provided folder and creates a report out of it. If you don't want certain results in it then please remove those files before you kick of the process to create a report out of them


Add --reverse option

A project I am working on needed the ability to reverse gifs along with the other features that Gifify currently offers.
I didn't see this in the issues, but I thought I'd submit this feature just in case anyone needs reverse in the future. Luckily, ffmpeg already has a reverse filter implemented so it only took a few lines to add.

This looks awesome, thanks a lot! Any example gif?


Want to have node property window visible at the same time as the graph editor

It's mostly a matter of figuring out where to place it in the window. If the tool is used on just half a screen, there isn't much space for a graph editor and the property pane. I'll try to figure it out.

It can pop up when you click on the node, as a floating window


The different reported performances between table 1 and table 4.

Hi, Thanks for you work.
I am curious that why the preformance of CCNET on table 1 is 81.3 while that on table 4 is 79.8. It seems they are under the same setting and should be the same network. Do I miss some details?
Thanks!

In Table 1, we use multi-scale and horizontal flip strategies for inference.
In Table 4, we do not take these strategies.

Thanks!


flaky SIGBUS on ubuntu github action runner

Describe the bug
At an undetermined time while starting up an application that loads iTwin.js backend code (the imodel-transformer tests) on ubuntu github runners, randomly a SIGBUS occurs. So far has occurred 3 times out of maybe 8 runs since we added 4.x support tests
To Reproduce
Steps to reproduce the behavior:
Run iModel Transformer CI:
https://github.com/iTwin/imodel-transformer/actions/runs/5221816350/jobs/9426561235?pr=60
Expected behavior
No SIGBUS, tests startup (mocha should run through all the imports and test initialization and then print the content of the Catalog tests's describe label.
Screenshots
packages/transformer test: Bus error (core dumped)
packages/transformer test: Failed
undefined

Desktop (please complete the applicable information):

OS: ubuntu linux github runner
iTwin.js Version: 4.x

Additional context
Perhaps the best way to debug this is turn on core dumping and upload that somewhere

Closing as I can't reproduce. After seeing it 3 times randomly, I modified CI to run the tests during which it occurred, 100 times normally, 100 times under gdb -batch to try to print stacktrace. Neither caught it.

maybe my CI test was somehow flawed, it appears with some regularity in other transformer CI builds


Passing multiple ES6 challenges with errors

Challenge Name
ES6: An Immutable Object a const does not make
Issue Description
Tried random code if that works. It does give me tons of errors but did let me pass the challenge.
Browser Information

Browser Name, Version: Chrome Version 52.0.2743.116 (64-bit)
Operating System: OS X 10.10
Mobile, Desktop, or Tablet: MacBook

Your Code
 const s = [ 5, 7, 2 ];
s[0,1,2] = [2, 5, 7]

Screenshot

Tried submitting my code w/o doing anything
ES6: Arrow functions

Aaand another. Starting to smell like a duplicate issue
ES6: Arrow functions with input parameters

ES6: Arrow functions with higher order functions

@OFFLlNE The current tests mostly rely on RegEx ran against the camper's source code, but since the code is transpiled to ES5 before it's sent to the fcc-test-frame where the tests are run, the actual code variable that tests use always contain ES5 code.
And as you can imagine, this causes some interesting behaviors with tests :smile:
Some of these could be related to the transpiling, but there's still a chance you've found some new bug here. Too tired to tell right now.

@Greenheart I will just keep posting those I find just in case :D
Some did work only after solving
ES6: Spread Operator

ES6: No Title Two

ES6: Nested Object Destructuring

ES6: Array Destructuring

ES6: Array Destructuring with Rest Operator

ES6: Destructuring Function Parameters

ES6: String Interpolation using Backquotes

ES6: Enhanced Object Literals : Simple Fields

@Greenheart
Seems that this bug still exists despite the new Live version.

@OFFLlNE I don't think we can do much about this at the moment though.

Tests are run against the transpiled code --> we can't test es6 specific things
Many tests are just placeholders - comments explaining what should be tested, which allows passing challenges without more than pressing the button

Looking forward to fix this issue! :blush:

Has there been any movement on this, I'm having similar issue whereby no code inputted and tests are passing happened for the first few so far


Update real name styling

Per #493 update Real Name styling to have the name wrapped in ()
This adds (Real Name) behind all author links. Including:

edited by: user (Real Name)
user (Real Name) added
user (Real Name) referenced this

This does cause wrapping of the header sometimes, examples can be
seen here: #461 and #546. Not sure how we can avoid that though, open to suggestions.
Comment edited by @bfred-it to test the edited by part.

Fixes #493

Because of the increased chance of wrapping, we could:

skip Add Real Name to all Author Links
and/or
drop "commented" (which on its own might not save much space)

I'd be up for removing it from edited by, I like the names on other references, but I'm open to feedback from others.

I'm up for removing of both, but especially the "commented" thing. It's not needed here. Everyone who uses Refined GitHub knows the action. "edited" is still needed as a verb there, but "commented" is obvious.
Apart from that, if we are to go with version :four: from #493 the lack parentheses would also be saving a bit of space 😆

Updated to remove commented. In the examples I looked at I couldn't find any more wrapping now, so kept the editor's real name.

@bfred-it good idea, updated.

I don't think we should add the name here as it's added right below anyways:

Great :)

A side effect of this is that "commented" isn't removed if the user doesn't have a real name set. Is that the expected behaviour?

No, do you have an example for an easy test case?
On Jun 30, 2017 3:50 PM, "Eugene Cheung"<EMAIL_ADDRESS>wrote:

A side effect of this is that "commented" isn't removed if the user
doesn't have a real name set. Is that the expected behaviour?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/sindresorhus/refined-github/pull/550#issuecomment-312369862,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA0WZLq4nF5j7U4FEBxT4-sfcsHhqUlNks5sJV-DgaJpZM4OHbHd
.

@busches Here's a comment. There's a few more there too if you scroll up a bit.

I'll look into it as part of #552

@arkon addressed in 1e25e73a16029bf6573bfb909df8e63e4e221929 (in short: it loops all elements whether they have a full name or not)


use sentry

Use Sentry for logging of debug messages.

We decided to not use Sentry. Thanks @ibrahimahmed443 for the PR earlier!


Tree search bar

Update the search bar for the model & category trees.  The new search bar is responsive (using the iTwinUI ButtonGroup component) and we no longer support the "..." dropdown menu when the search box is displayed.  The request to remove the "..." came from the UX team (Gino).
A boolean was added to show/hide the 2D & 3D tool buttons.  Gino requested we do not show these buttons by default.

@aruniverse @jzbuchalski should this be closed?


[Performance profile]- fix label on new certificate upload

Notes for Reviewers
This PR fixes #8390
The label was not uploading on new certificate upload because onchange handler was not initiated
https://github.com/meshery/meshery/assets/90546692/0b790e7f-81c5-4df3-a05c-afbb1ec4a3f7
Signed commits

[x] Yes, I signed my commits.

thanks @sudhanshutech

@UsmanDev09, please review when you have a few moments.

@sudhanshutech, one of the things that @UsmanDev09 is to do is to get the browse button on the same horizontal row as the input fields. Perhaps, you can get to this before he forgets.

@sudhanshutech lgtm

@leecalcote  there is a separate issue opened for alignment of the buttons.

@UsmanDev09 thank you for confirming.


(LOW) user account creation

DESCRIPTION
Error is thrown if don't select location in user account creation
SESSION VARIABLES (The user elected to submit this information with their request.)
email<EMAIL_ADDRESS>first_name: DANIEL
last_name: WALSH
loc_ID: 118
name: DANIEL
role: default
temp_password_flag: False
user_ID: 33
username: dwalsh

Needs form validation in create user account page to ensure that the value is set before submission.

Needs form validation in create user account page to ensure that the value is set before submission.

Form validation is in place.

Form validation is in place.


Copy Button in Code Block doesn't work

Describe
I'm having trouble using the Copy Button feature in code blocks on PandoraAI. Whenever I try to click on it, nothing happens. I've tried this on multiple browsers and devices, but the issue persists.
To Reproduce
Steps to reproduce the behavior:

Navigate to any repository on GitHub that contains code blocks.
Click on the Copy Button in any code block.
Observe that nothing happens.
Console log error.

Expected behavior
Clicking on the Copy Button should copy the code from the code block to the clipboard.
Screenshots
Console log error as:

Uncaught TypeError: Cannot read properties of undefined (reading 'writeText')
at HTMLDocument.copyButtonListener
Desktop:

OS: MacOS
Browser: Edge
Version 111.0.1661.27 Dev(x86_64)

See: https://stackoverflow.com/questions/71873824/copy-text-to-clipboard-cannot-read-properties-of-undefined-reading-writetext. Does it apply to you?

Yes, I realized the server was deployed over HTTP instead of HTTPS, thanks!


chore: update hyper et al

Update a number of http related libraries, including but not limited to:

hyper
reqwest
rustls
object-store

Description
Describe the changes or additions included in this PR.
Test plan
How did you test the new or updated feature?

Release notes
Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required.
For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates.

[ ] Protocol:
[ ] Nodes (Validators and Full nodes):
[ ] Indexer:
[ ] JSON-RPC:
[ ] GraphQL:
[ ] CLI:
[ ] Rust SDK:
[ ] REST API:

You are brave @bmwill! I started doing the same with hyper, axum, and http and started pulling white hairs soon after 🦀

I am slightly worried about upgrading to a new async-graphql version before we do this new major release.


" cannot have more than 200 tagged traffic consumers of service Microsoft.Storage"

[Enter feedback here]
When adding the Vnet to the firewall of a new storage account, we encountered the error message "XrpErrorTaggedTrafficConsumerCountLimitReached" and " cannot have more than 200 tagged traffic consumers of service Microsoft.Storage".
We do assign this Vnet to the firewall of multiple storage accounts (more than 200) but we can't find any related limitation about this in the official documents before our deployment. Currently, we know that the private endpoint is one option to resolve this issue. However, could you please help update this limitation into the public documents then more users will be aware that there is the potential limit for service endpoints of storage accounts per Vnet?
https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#networking-limits

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

ID: 36f49a06-90b1-cbe1-3853-2c38277b79f8
Version Independent ID: 02ff6f6c-3ef6-b48f-060d-b290419e0aba
Content: Azure subscription limits and quotas - Azure Resource Manager
Content Source: articles/azure-resource-manager/management/azure-subscription-service-limits.md
Service: azure-resource-manager
Sub-service: management
GitHub Login: @tfitzmac
Microsoft Alias: tomfitz

@Zhww2018
Thanks for your feedback! We will investigate and update as appropriate.

@Zhww2018 Thanks for your feedback.
Assigning to content author  @tfitzmac for review.

Please can  someone update on the status of this ticket? We are facing the same issue when trying to add a network rule for azure storage accounts to grant access to snowflake subnets :
Error Description -(NetworkAclsValidationFailure) Validation of network acls failure: XrpErrorTaggedTrafficConsumerCountLimitReached:Virtual network /subscriptions/<>/resourceGroups/azure-prod/providers/Microsoft.Network/virtualNetworks/<> cannot have more than 200 tagged traffic consumers of service Microsoft.Storage..
Code: NetworkAclsValidationFailure
Message: Validation of network acls failure: XrpErrorTaggedTrafficConsumerCountLimitReached:Virtual network /subscriptions/<>/resourceGroups/<>/providers/Microsoft.Network/virtualNetworks/azure-prod cannot have more than 200 tagged traffic consumers of service Microsoft.Storage..

I am encountering the same issue:
Error Description -(NetworkAclsValidationFailure) Validation of network acls failure: XrpErrorTaggedTrafficConsumerCountLimitReached:Virtual network /subscriptions/<>/resourceGroups/azure-prod/providers/Microsoft.Network/virtualNetworks/<> cannot have more than 200 tagged traffic consumers of service Microsoft.Storage..
Code: NetworkAclsValidationFailure
Message: Validation of network acls failure: XrpErrorTaggedTrafficConsumerCountLimitReached:Virtual network /subscriptions/<>/resourceGroups/<>/providers/Microsoft.Network/virtualNetworks/azure-prod cannot have more than 200 tagged traffic consumers of service Microsoft.Storage..

We are having the same issue - in the same context -- adding Snowflake subnet IDs to our storage account network firewall rules:
Error: updating Azure Storage Account Network Rules "stedxxxxxxxdev2" (Resource Group "rg-plxxxx-xxxx-dev"): storage.AccountsClient#Update: Failure responding to request: StatusCode=400 -- Original Error: autorest/azure: Service returned an error. Status=400 Code="NetworkAclsValidationFailure" Message="Validation of network acls failure: XrpErrorTaggedTrafficConsumerCountLimitReached:Virtual network /subscriptions/ae0cxxxxxxxxxxxx88d77ea97a3/resourceGroups/azure-prod/providers/Microsoft.Network/virtualNetworks/azure-prod cannot have more than 200 tagged traffic consumers of service Microsoft.Storage.."

I am encountering the same issue: Error Description -(NetworkAclsValidationFailure) Validation of network acls failure: XrpErrorTaggedTrafficConsumerCountLimitReached:Virtual network /subscriptions/<>/resourceGroups/azure-prod/providers/Microsoft.Network/virtualNetworks/<> cannot have more than 200 tagged traffic consumers of service Microsoft.Storage.. Code: NetworkAclsValidationFailure Message: Validation of network acls failure: XrpErrorTaggedTrafficConsumerCountLimitReached:Virtual network /subscriptions/<>/resourceGroups/<>/providers/Microsoft.Network/virtualNetworks/azure-prod cannot have more than 200 tagged traffic consumers of service Microsoft.Storage..

This issue was resolved by moving the Storage Account into the same region as the SnowFlake VNET. After moving (creating a new storage account) the VNET could be added without issue.

We have a new feedback system in place, so we need to close the remaining GitHub issues. I have created an issue in our internal tracking system.
#please-close


Comparator and materializing

@sdesai this is the cherry picking of #644 #639

It's breaking unit tests currently.

@sdesai yes.  I was going to address this once the other related PRs are merged so that way I can "maintain" somewhat similar git log, until I need to diverge.