[Security] Response size limitation

Hi
How can i limit the size of the response from the client?
For example, after sending a client more than 100 bytes, the connection must be disconnected. (In one post)

This is my web socket server:
$loop = \React\EventLoop\Factory::Create();
new \Ratchet\Server\IoServer(
    new \Ratchet\Http\HttpServer(
        new \Ratchet\WebSocket\WsServer(
            new class implements \Ratchet\MessageComponentInterface {

                public function OnOpen(\Ratchet\ConnectionInterface $con){
                }

                public function OnMessage(\Ratchet\ConnectionInterface $con, $message){
                    echo strlen($message); // How much?
                }

                public function OnClose(\Ratchet\ConnectionInterface $con){
                }

                public function OnError(\Ratchet\ConnectionInterface $con, \Exception $e){
                }
            }
        )
    ),
    new \React\Socket\SecureServer(
        new \React\Socket\Server('<IP_ADDRESS>:8989',$loop),
        $loop,
        array(
            'local_cert' => '...',
            'local_pk' => '...',
            'allow_self_signed' => true,
            'verify_peer' => false
        )
    )
);

$loop->Run();

How many bytes of data can be received from the client?
How can I restrict this configuration?
If I can not manage this configuration, the attacker can send big data and take up memory (or I can not have precise management on the server).
I'm not familiar with reactphp source code, so I think it's related to:
https://github.com/reactphp/stream/blob/70d6e15d5f90730651558852c74fbb767fd9215b/src/ReadableResourceStream.php#L137
@clue


Usage of custom defined clip instead of numpy.clip ?

I've noticed a custom clip(val) function that clips between -4 and 4 is used, instead of just using np.clip(val,-4,4). Is this done on purpose (e.g. does it improve performance) or was it just an oversight ?

It's in a tight loop and numba does a better job of compiling an
effectively inlining a simple function like that than dealing with the
numpy. Or it did the last time I checked -- numba is always improving so
maybe np.clip now in a robust way. If you want to run some experiments with
a recent version of numba I would be interested to see the results.
On Sun, Jul 15, 2018 at 2:48 PM George<EMAIL_ADDRESS>wrote:

I've noticed a custom clip(val) function that clips between -4 and 4 is
used, instead of just using np.clip(val,-4,4). Is this done on purpose
(e.g. does it improve performance) or was it just an oversight ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/lmcinnes/umap/issues/84, or mute the thread
https://github.com/notifications/unsubscribe-auth/ALaKBXWoVGNKKDmuvEZF56YZgQ3wgfNUks5uG5x2gaJpZM4VQXaz
.

Tried doing some very basic  benchamrks:
import numba
import numpy as np
from random import uniform
import time

@numba.njit()
def myclip(val):
    """Standard clamping of a value into a fixed range (in this case -4.0 to
    4.0)

    Parameters
    ----------
    val: float
        The value to be clamped.

    Returns
    -------
    The clamped value, now fixed to be in the range -4.0 to 4.0.
    """
    if val > 4.0:
        return 4.0
    elif val < -4.0:
        return -4.0
    else:
        return val

nr = pow(10,6) * 3
nrs = np.zeros(nr)
for i in range(0,nr):
    nrs[i] = uniform(-6.5,6.5)

def test1():
    for i in range(0,nr):
        val = myclip(nrs[i])

@numba.jit()
def test2():
    for i in range(0,nr):
        val = np.clip(nrs[i],-4,4)

start = time.time()
test1()
end = time.time()
print('Custom function takes: {}'.format(end - start))

start = time.time()
test2()
end = time.time()
print('Numpy function takes: {}'.format(end - start))

By the looks of it the custom function is indeed 3-5 times faster than numpy.clip. So considering it's called a lot in some nested for loops, the performance gain there might not be trivial.
Will close this.

Thanks for verifying this. I seem to recall having done this myself, but
that was a long time ago, and Numba has changed a lot. Good to know that
the current code is still the right way to go for now.
On Tue, Jul 17, 2018 at 6:42 AM George<EMAIL_ADDRESS>wrote:

Closed #84 https://github.com/lmcinnes/umap/issues/84.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/lmcinnes/umap/issues/84#event-1737370052, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ALaKBXGVS3TnRmY4bc4_zdUk-ie9prxfks5uHb-HgaJpZM4VQXaz
.


Clarification wanted: Implementation of version control in CConfig.py

Hi Son,
(1)
In bValidateSubVersion an exception is thrown, including a reason for this exception:
raise Exception("Wrong format in version info")
But when you call bValidateSubVersion, you do not use this information. In BuiltIn().fatal_error() you create a new reason instead:
try:
    # verify the version info is a number
    return tuple(map(lambda x: CConfig.bValidateSubVersion(x), lVersion))
except Exception:
    BuiltIn().fatal_error(f"Provided version '{sVersion}' is not a correct version format.")

Why this? For me this makes no sense. I would prefer:
except Exception as reason:
    BuiltIn().fatal_error(f"{reason}")

(2)
BuiltIn().fatal_error() makes the test result FAIL. Here I have doubts. A user defines an invalid version format. No test is executed therefore. In this case I would expect the test result to be UNKNOWN.
(3)
I tried to reproduce this error (the error message above). Without success.
For example:
"Maximum_version" : "1.0xyz.0",
Result:
Parameter 'Maximum_version' with invalid value found in JSON configuration file! Reason: '1.0xyz.0' does not match '^\\d+\\.\\d+\\.\\d+$'
Test result is UNKNOWN. This is completely fine. But does not fit to the code listed above.
(4)
The docstring tells:
This tupleVersion also support version which contains Alpha (a), Beta (b) or
Release candidate (rc): E.g: "1.2rc3", "1.2.1b1", ...

Therefore I tried:
"Maximum_version" : "1.2.1b1",
With result:
Parameter 'Maximum_version' with invalid value found in JSON configuration file! Reason: '1.2.1b1' does not match '^\\d+\\.\\d+\\.\\d+$'
Now I am confused. Seems that the docstring tells something invalid. But the main question is: Is this version control mechanism still active? What is the desired behavior in this case? If the code cannot be reached any more - because already another code does the error handling - then the non reachable code should be removed.

Hello Holger,
Regarding to the points:
-  (1) & (2): I updated.
- (3) & (4): It's the cause of misalignment between tupleVersion method and JSON schema validation. I fixed and pushed the change to the stabi branch.
Could you please help me review and verify again?
Thank you,
Son

Ready for sprint 0.13.1 [06.09.24](jsonpreprocessor / tsm)


Bump the otel group with 4 updates and change builder functions

Hi, thank you for building this.
This action of #114 seems broken so I updated libs and changed builder functions following this OTEL's official guide below.

https://github.com/open-telemetry/opentelemetry-rust/pull/2221

Additionally, with_config and with_resource functions for trace configuration will become private soon.
May I replace it with with_resource?

Hey, thanks a lot for trying this!
It's currently failing ci (ci tests both default features and --all-features), but happy to accept an upgrade that compiles and works. I'll try to push the approve and run  CI button as soon as possible.

Additionally, with_config and with_resource functions for trace configuration will become private soon.
May I replace it with with_resource?

Go for it 🙏

@clux
Sorry I am beginner to Rust so didn't understand toolchains and rules properly.
I will try to make things polished like deprecated OTEL ports at justfile.
Thank you for the review and please give me some more few days!

@clux
few changes added after first one

changed deprecated port number from 55680 to 4317 for local test
added docker-compose.yaml for local test and added run command at justfile
with_resource applied


Update media library used in Brandmaster integration

We are currently linking to the wrong media library in Brandmaster with our integration.
This should be updated to the one the editors are used to using for dotcom

@meols / @nicholas-haggerty to check with Brandmaster for the correct link we should use

@SvSven @nicholas-haggerty - I have talked to Yngve, who said that it shouldn't matter which archive we link to. Users should only see images they have access to, e.g. meaning that I will see historical images and images with a red warning triangle for missing consent forms, but a user without specific access wont see those.

Is the conclusion then that this is not needed?

I think we can close this one yes


ICSAAS-309 Implement Service - Base

This is more or less a copy / paste of v1. We should get things improved. I left comments
Also please add Unit Tests


[Architecture View] Bug in adding components when a Ballerina package is opened

Description:
To generate the architecture view for multiple Ballerina packages, we expect these packages to be contained in a VS Code workspace (refer https://wso2.com/ballerina/vscode/docs/visual-programming/architecture-view/architecture-diagram/#project-workspace).
However, when a single Ballerina package is open in VS Code, there would be no workspace - hence no workspace file. But the add component option attempts to add a new package in the default approach, but this change is not reflected in the diagram as it is unable to detect the workspace file.

When looking into this issue, it was noted that the diagram does not update because the VS Code extensions reload when the workspace changes to a multi-root workspace. When the plugin reloads, the existing diagram web view becomes invalid.
As a solution, we have restricted the adding of components if a multi-root workspace is not detected. And in such cases, we instead direct the user to save their workspace as required by the tool.


Benefiting from WPCS without formatting

Describe the solution you'd like
I'd like to use all features of WPCS except indentation/formatting and naming/casing.
Is there a straight-forward way to do it?
Currently I disable those rules one-by-one.
Thank you.

Previously discussed in #740, #1067 and #1157 and rejected. Doing what you're doing is currently the suggested solution.

Thank you Juliette.


[Event Request] Codeunit 99000845 - Reservation Management - OnBeforeAutoReserve

Dear ALAppExtensions team,
Through this issue we would like to request event publisher OnBeforeAutoReserve to be added to codeunit 99000845 Reservation Management in procedure AutoReserve with the following signature:
OnBeforeAutoReserve(VAR CalcReservEntry : Record "Reservation Entry"; VAR FullAutoReservation : Boolean;VAR Description : Text[100];VAR AvailabilityDate : Date;VAR MaxQtyToReserve : Decimal;VAR MaxQtyToReserveBase : Decimal)

with VAR parameters.
This event would then be called as follows:
    procedure AutoReserve(var FullAutoReservation: Boolean; Description: Text[100]; AvailabilityDate: Date; MaxQtyToReserve: Decimal; MaxQtyToReserveBase: Decimal)
    var
        RemainingQtyToReserve: Decimal;
        RemainingQtyToReserveBase: Decimal;
        i: Integer;
        StopReservation: Boolean;
    begin
        OnBeforeAutoReserve(CalcReservEntry,FullAutoReservation,Description,AvailabilityDate,MaxQtyToReserve,MaxQtyToReserveBase); // << New event

        CalcReservEntry.TestField("Source Type");
        ...

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


chore: create .editorconfig

Hmm maybe a bit too much for a general template, I'd expect folks to add this file if they want it.

I agree that most devs will drop config files like this.  But it does help others contribute to this project.
https://github.com/AustinGreen/gatsby-starter-netlify-cms/issues/75


Optionally disable postinstallation hooks

The thing that any package can execute arbitrary code during installation can be considered as a vulnerability. So it would be good to have the option to disable it. Even better, if it will be possible to configure white/black lists with packages.
NPM has a flag for it npm install --ignore-scripts. I think we should have the same.
Original source here: https://github.com/alexanderGugel/ied/pull/87#issuecomment-200490345

I think it should be the default option, since most packages do not need life-cycle scripts.
The ones that have life-cycle scripts need to be added to a whitelist based on hash of the package that ied computes anyway. The whitelist should probably be user-wide or system-wide.
There also need to be a warning from the ied that scripts need to be run and the install needs to fail without the package being present in the whitelist or having specifically been installed with --ignore-scripts.

Definitely agree with @just-boris here. lifecycle scripts are always kinda dangerous... we should at least offer the option to disable them...
@vladwing Disabling all of them by default is going to be an unpopular opinion until we have the first npm worm that takes over half the internet.

@alexanderGugel you are right. Maybe have a --secure option that can be saved user/system-wide and which disables lifecycle scripts unless the hash of the module is whitelisted. It will be easy to make that option the default later on.

I agree with this.
Let's enumerate the risk here so we know how to best address it:
The baseline risk is that a malicious package will spawn some processes, read/delete files, etc. All of this can be done upon an initial require(), but difference is in which user context it can do so.
It's (somewhat) common for some users to install packages as root but run the node process as a restricted user. It's very common to install global packages as root.
So we can do two things:

Like homebrew, nag the user if they're intentionally/unintentionally running ied as root without the -g flag
When installing packages as root, require whitelisting packages that are allowed to run scripts. I would see this as a separate field in package.json, and an attribute in ied-shrinkwrap.json (when that comes, and when it does, it should specify author@version:hash).

The rebirth branch has a --build flag that enables lifecycle scripts. I think making it opt-in is better due to the reasons mentioned above. https://github.com/alexanderGugel/ied/tree/rebirth
I will close this once rebirth is merged into master.

I think this is a good idea. Perhaps at the end of an install, we could
list the packages with hooks that weren't run. Would simplify the process
for the security-conscious.
On Apr 13, 2016 7:36 AM, "Alexander Gugel"<EMAIL_ADDRESS>wrote:

The rebirth branch has a --build flag that enables lifecycle scripts. I
think making it opt-in is better due to the reasons mentioned above.
https://github.com/alexanderGugel/ied/tree/rebirth
I will close this once rebirth is merged into master.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/alexanderGugel/ied/issues/99#issuecomment-209409137

Another option is to actually let the user select the hooks to be executed: https://www.npmjs.com/package/inquirer#checkbox---type-checkbox

I have two issues with this approach:

If we run "ied install" for a module, what happens with the half-installed packages(packages which had life-cycle scripts) that it required?
How do we make it less painful for a user to choose which packages to run the life-cycle scripts for, in the above situation?

One additional thing: we should allow running, on a different switch, the life-cycle scripts for the root module. The reason is that maybe we disabled the scripts for its children, but the root module has some initialization for those to make them able to run.

Thanks everyone for this discussion. The current solution looks as follows:

lifecycle scripts at opt-in, not opt-out via the --build flag
in order to re-run lifecycle scripts, run ied install --build, which will as of 2.0.0 traverse the entire dependency graph (even for already installed dependencies) - I think that's what @vladwing meant, correct?
lifecycle scripts are always run after all the packages have been installed


update list_users function documentation on UserManagement class

Description
Had issues using the returned value from list_users on the UserManagement class, returned values was not a dict as described in the function docstring.
Was going to modify the list_users return value in this PR, but then realised with the tests that a documented use case of auto_paging_iter() was is expected, as such the documentation should be updated to minimise developer confusion.
Documentation
Does this require changes to the WorkOS Docs? E.g. the API Reference or code snippets need updates.
[ ] Yes

If yes, link a related docs PR and add a docs maintainer as a reviewer. Their approval is required.

Hey there, thanks for the PR!
This is definitely an issue but I don't think we should solve it by updating the code comment. I think we need to fix this for good by making sure that what the SDK does matches the docs. We'll fix this by making sure all list functions return a dict.


[Theme Request] Add shadow to Hain window so it doesn't blend into a white screen...

Current Hain window blends into white screen as it has no shadow or border!

Proposed Shadow added...

That would be a nice addition.
I wonder if you would be interested in looking into making that happen?
I'd be happy to help show you the ropes.

@cpriest I cvould look into, i'm pretty familiar with ElectronJS.
Also I saw this site http://www.packal.org/

Packal (beta) puts Alfred Workflows and Themes at your fingertips.

It seems to be a currated list of workflows and themes for Alfred.
I just discovered Alfred and Hain.  Actually I have known of Alfred for years but as a Windows user I never explored it too much.  I realy Hain isn't really the exact same but in a way similar to how the developer of the edotro SublimeText made all the plugins and themes usre the Mac versions of TextMate editor plugins and themes was genius!
I don't think it would be the same as I havent seen the word "Workflow" anywere with Hain yet however I think pretty much the same tasks are possibble through Hain Plugins.
So perhaps this website can be of use for inspiration in bnew Hain Plugins and maybe Hain could have a site where users can share there plugins and stuff someday.  Sublimetext has a similar site for there plugins too.

That is interesting, I'd have to dig into the code that handles the
current theme, but at least the one alfred theme I'm looking at seems
pretty verbose, I'm sure we could be compatible with these themes.
I'm working, personally, on a deep windows integration plugin now for
hain and have a number of minor fixes & tweaks to work on after that,
but themeing has been a frequent request.
Right now, npmjs.org is where hain plugins are hosted.  Right from hain
you can type /hpm ... to list plugins already published by others to
npmjs.  I would expect that to stay the same since it's already available.
What the project really needs is additional contributors.  Heejin
(original author) doesn't have a lot of free time, nor do I, but we're
doing our best.  Any contributions are very welcome.
-Clint

What OS are you using? I'm on Windows 10 and the shadow is showing up for me (on v0.6.2):

Come to think of it, I just checked and mine has a shadow as well.


There are no details about the environment keyword

The article on this page https://devblogs.microsoft.com/devops/whats-new-with-azure-pipelines/ mentions an environment keyword, but there are no details ??

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

ID: 7458d5b2-1bb7-7d87-7ce6-2b0c430b0155
Version Independent ID: edf5bbd3-a3f0-5426-e985-31290f8afd05
Content: YAML schema - Azure Pipelines
Content Source: docs/pipelines/yaml-schema.md
Product: devops
Technology: devops-cicd
GitHub Login: @vtbassmatt
Microsoft Alias: macoope

More about Environments here

@RoopeshNair when will environments (and other deployment stuff) land in the YAML schema doc?


Cost Estimation

yeh, i know, it's impossible and it's not your job to say to me how much I will spend (this is sort of a joke)
I need somehow move data from my topic to S3, and using Iceberg would be awesome because of its capability of upserting and also partitioning the data to me.
So, I'm really thinking about using this connector in my really large project, but i'm too afraid about the costs. As it streams the data to Iceberg, I'll be doing 50 million inserts/upserts per day through this connector.
Does anyone has used it and has some experience to share with me please?
Btw i'll be using Iceberg through Glue/Athena on AWS.

That doesn’t strike me as very extreme throughput, the sink should be handle that load with a small cluster, depending on any transforms you’re applying. Updates and deletes shouldn’t add too much overhead from the write side. For comparison, we’re using the sink to append well over 1 billion events/day, fanning out to several different tables, on a cluster with only 6 cores total.
Where you may face some challenges is not sink-related, but with read performance with delete files. Performance can degrade over time as delete files accumulate. This is an area that is being actively worked on in Iceberg. You will want to compact your data regularly, which will merge in the deletes, to improve read performance.

@bryanck thanks!
It was enough to let me confident on following this approach.


Add Differential Cross Section interface, Compton and PerturbativeQED Model

CI_UNIT_PKG_URL_QEDbase: https://github.com/AntonReinhard/QEDbase.jl#1735e72

Currently fails because it depends on https://github.com/QEDjl-project/QEDbase.jl/pull/25

Currently fails because it depends on QEDjl-project/QEDbase.jl#25

You can run the unit tests with a development branch as dependency: https://github.com/QEDjl-project/QED.jl/blob/dev/docs/src/ci.md#unit-tests-for-ci-users

The docs building step currently fails because referenced types/functions have moved to QEDbase now, I'm not sure how to proceed with that. I don't want to delete the references or put the links to the QEDbase docs in manually.
Maybe MultiDocumenter would handle this?

I don't think it solves the problem. MultiDocumenter compiles only the rendered HTML documentation of different packages.
I found this issue: https://github.com/JuliaDocs/Documenter.jl/issues/688
So it is not official documented.
Maybe we can use as workaround markdown links [foo()](doc.com/api#foo), if we have a API reference page.

I don't think it solves the problem. MultiDocumenter compiles only the rendered HTML documentation of different packages.
I found this issue: JuliaDocs/Documenter.jl#688 So it is not official documented.
Maybe we can use as workaround markdown links [foo()](doc.com/api#foo), if we have a API reference page.

This would work, but for example AbstractParticle alone is referenced 8 times already, so I'd have to put that link into lots of places... I guess there's not really a better way right now though. Other than not referencing at all.

I have another crossref for the docstring issue: https://github.com/JuliaDocs/Documenter.jl/issues/1343
Another workaround would be, to include the docstring of the at_ref function/type to the documentation of QEDprocesses, e.g. in the api.md page. However, this is a bit hacky, because it means to include QEDbase in the makedocs of QEDprocesses (I can provide a showcase or PR if needed). In this case, at_ref works again without specifying the URL, but it seems to be a very ugly solution.

I'm sorry, I somehow managed to kill this PR by accident. I saved the commits but I might have to open a new PR.


fatal error: esp_a2dp_api.h: No such file or directory

I am trying to compile this project, example 'web_server',  but am getting errors finding several header files.
The project would not compile using esp-idf git checkout  release/v3.0. It gets an error compiling the bootloader.
 make[2]: *** No rule to make target '/home/allen/esp/esp-idf/components/bootloader/subproject/components/micro-ecc/component.mk'.  Stop.
However  git checkout  release/v3.3 corrects this but now I get /home/allen/Downloads/esp32_snow/components/bt_speaker/include/bt_app_av.h:19:26: fatal error: esp_a2dp_api.h: No such file or directory
I can correct this error and others like it by changing #include "esp_a2dp_api.h" to #include "/home/allen/esp/esp-idf/components/bt/bluedroid/api/include/api/esp_a2dp_api.h"
This is obviously a solution that allows the project to be downloaded by others. What I need to do is specify the location of esp_a2dp_api.h,
I tried adding this line to the component.mk file :
COMPONENT_ADD_INCLUDEDIRS:=/home/allen/esp/esp-idf/components/bt/bluedroid/api/include/api to no effect.
What must be done to correct the project so that it can find the header files?

hi, a2dp is a classic BT feature, if you enable BT and Classic BT in menuconfig, this header file would be join in compiler search path.

Thanks. That solved it.


Fix readme to describe function names for url filters

There was wrong information about this point.

Thanks ;)


Fix the IPC parcelport

The IPC parcelport is currently not functioning properly. It needs to be fixed for the next release.

Moving to the next milestone

The IPC parcelport was removed in #2293 - this issue is now closed


set up Netlify

Deployment with Netlify is easy to set up but it needs to be done by a repo owner. The only configuration that is needed is to set the environment variable PAGES_REPO_NWO in Netlify's web configuration UI to ChicagoDSA/chapter-website. Then it will automatically build and deploy with each push to the selected branch. It will also automatically build and deploy previews for every pull request as demonstrated on my fork. No changes to the code in the repository are needed.

ping @SunilRao01

Great, thanks for the heads up @Be-ing

Great, thanks for the heads up @Be-ing

I set up our staging instance here: https://cdsa-staging.netlify.app/ @SunilRao01 @Be-ing
Also added a note to the documentation about this setup. Let me know & feel free to edit if clarification is needed.

I set up our staging instance here: https://cdsa-staging.netlify.app/ @SunilRao01 @Be-ing
Also added a note to the documentation about this setup. Let me know & feel free to edit if clarification is needed.


Decorating entire views and redirecting with args and kwargs

When using waffle_flag and waffle_switch to decorate entire views is not possible to redirect properly if views expect args or kwargs: the decorators are receiving the propers args and kwargs, but they are not passed to get_response_to_redirect in order to build the reverse url properly, so instead of get a 302 response, you get a 404 response.
I have modified proper code in waffle/decorators.py to pass args and kwargs from each decorator to get_response_to_redirect and then I have used them in reverse method, including corresponding tests.
I found this problem when creating a new page to edit some models but maintaining old page version (I need the PK instance in both view kwargs).

Nice! Thanks.


Feature/lorem ipsum generator

added functionality wanted in #4
I also fixed the navigation to use router view that the activeTab stays active instead of losing state when reloaded. Hope this is okay :)
If I can do something else let me know.
Since there is not a default formatter/formatter config i tried my best to keep it the same as ur's.
Im not familiar with tailwindscss, so i hope this fits your needs ^^

Looks good. Thanks!
I'm in the process of getting a linter setup so no worries on the code styles here. Feel free to take any other issue as well 😄


OCPBUGS-23436: Rebase lvms registry.access.redhat.com lvms4 lvms operator bundle v4.14.1-4

Which issue(s) this PR addresses:
Manual Cherry pick of https://github.com/openshift/microshift/pull/2598 due to automatic cherry-pick fail

Closes #

/jira refresh

/cc @copejon

/jira refresh

/jira refresh

/lgtm

/backport-risk-assessed

/cherry-pick-approved

/label  backport-risk-assessed

/label cherry-pick-approved


Allow pathfinding between multiple weighted sources and targets

Supercedes #29. Compared to #29 this version includes the starting weights of the source nodes in the final path weight, deals with some edge cases like duplicate source nodes with different start weights and also allows multiple weighted targets.

@dabreegster I think this is ready to merge, but please feel free to have a look and/or test with your code first. Also my Rust is, well, a bit rusty :) So please also do not hesitate to comment on anything you notice. I've closed the other PR in favor of this one because I was not sure how to 'transfer' a PR to another source branch (this one). I'll just add you as co-authored in the commit message (GitHub will recognize this), if that's ok. Or maybe it already does because this branch is based on yours.

Continuing the discussion started in #29:

Including the start weight in the final cost does make sense. I've lost
context, I think there might've been one case where it was hard to preserve
the cost, so I was trying to uniformly exclude them. Maybe it was the no-op
case of start=end?

The start/target weights are now included in the final cost. In case start=end they are included as well, I just think of these costs as the costs that are already applied to get to the source or go from the target to the actual location (like getting off the train and walking to the main entrance or something). Note that start=end is not even necessarily the shortest path as it could be cheaper to use another start and take a cheap path to end instead of taking the penalty weight associated with start.

I never figured out how to reconstruct the target node used, so that's why it's only multiple sources

Yes this was not easily possible since we were not storing the nodes in the shortest path tree yet. However, I figured all we need to do is to attach the target node to the root of the (backward) search tree and I can do this by just abusing the (for the root node) otherwise empty parent node. It's a bit of a hack but it does the trick without any overhead.

Thanks again for the initial version and review!


fix: Skip bad table migration version 47

Pull Request Template
Use this template to quickly create a well written pull request. Delete all quotes before creating the pull request.

Description

Please include a summary of the changes and which issue has been fixed. Please also include relevant motivation
and context. List any dependencies that are required for this change.

Fixes #10212

if no issue exists, please create an issue and ask the maintainers about this first

Type of change

Please delete options that are not relevant.

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

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions, so we can reproduce.
Please also list any relevant details for your test configuration.

Test A
Test B

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

Test coverage results :test_tube:
:red_circle: Total coverage has decreased
// Code coverage diff between base branch:release and head branch: fix/custom_column_bad_migration

Status
File
% Stmts
% Branch
% Funcs
% Lines

:red_circle:
total
55.05 (-0.02)
36.57 (-0.05)
34.5 (-0.02)
55.56 (-0.03)

:red_circle:
app/client/src/utils/DSLMigrations.ts
74.11 (-0.04)
64.94 (0)
70.21 (0)
73.94 (-0.04)

:red_circle:
app/client/src/utils/autocomplete/TernServer.ts
52.71 (-0.23)
40.83 (-0.84)
36.21 (0)
56.74 (-0.25)

:red_circle:
app/client/src/utils/migrations/TableWidget.ts
76.23 (-4.15)
69.13 (-4.78)
79.41 (-5.88)
76.6 (-4.68)

/ok-to-test sha=c8e7487


Function z_find_first_thread_to_unpend() missing coverage in sched.c

Describe the bug
Function z_find_first_thread_to_unpend() missing coverage in sched.c.
To Reproduce
Steps to reproduce the behavior:

twister -p qemu_x86 --coverage -T tests/kernel

Expected behavior
It's probably dead code that should be removed.
Environment (please complete the following information):
OS: ubuntu1~18.04
Toolchain zephyr-sdk-0.12.1
Commit id 5de3f850a752ec638b695c151d3de8f19503907f

Agreed.  This looks to have been orphaned fairly recently; there was a scheduler race fix a while back (that exposed another issue, and begat the big abort rewrite and bug hunt of the past two weeks) that addressed synchronization issues by combining operations in a few spots.  This looks like a "half" of the operation that got combined.

Working on the changes and will submit a PR soon.


weird result of cube2equi projection and back-projection.

Environment
python: '3.9.12'
torch: '2.0.0+cu118'
equilib: '0.5.4'

HI
I am seeing something unexpected using equi2pers on an image generated using cube2equi.
I generate an equirectangular image as follow:
import equilib
import torch

width = 64
height = 64
e_width = 240
e_height = 136
cubemap = {
        'F': torch.ones(3, height, width),
        'L': torch.zeros(3, height, width),
        'B': torch.zeros(3, height, width),
        'R': torch.zeros(3, height, width),
        'U': torch.zeros(3, height, width),
        'D': torch.zeros(3, height, width),
        }
equi = equilib.cube2equi(cubemap, width=e_width, height=e_height, cube_format='dict', mode='nearest')

And it looks like this.

 I have tried different image resolutions, but they all have the same problem. Using mode="bilinear" does not help neither.
I am not sure if this is related to the FIXME I found https://github.com/haruishi43/equilib/blob/71a88af6545fa5fbb0d2adc030f726de0243205a/equilib/cube2equi/torch.py#L205

Hi @zhuqiangLu
I think that the FIXME is the culprit, but I didn't see this when I ran on torch==1.12.1.
Front:

Left:

Right:

Up:

Down:

The top and bottom shows a little bit of white pixels, but that could be from interpolation and the equirectangular image being a small size (note that equirectangular images should have 2:1 ratio).
When I ran on pytorch 1.12.1, this warning came up:
UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument.

I wonder if this could also be the reason.

When the input equirectangular image is 1024x512 the artifact seems to go away. Equi2Cube uses sampling, so when the equirectangular image doesn't have too much pixels, it can cause sampling issues.
width = 64
height = 64
e_width = 1024
e_height = 512
cubemap = {
        'F': torch.ones(3, height, width),
        'L': torch.zeros(3, height, width),
        'B': torch.zeros(3, height, width),
        'R': torch.zeros(3, height, width),
        'U': torch.zeros(3, height, width),
        'D': torch.zeros(3, height, width),
        }
equi = equilib.cube2equi(cubemap, width=e_width, height=e_height, cube_format='dict', mode='bilinear')

cube = equilib.equi2cube(equi, w_face=64, rots={'roll':0, 'pitch':0, 'yaw': 0}, mode='bilinear', cube_format='dict')

Input equi:

Front:

Left:

Down:

@zhuqiangLu If you find any fixes for pytorch v2, send me a pull request!


bumb version and add Changelog file

BEFORE we merge this we need to finally decide about https://github.com/mcollina/node-coap/pull/211 and pot. add it ... or ot :-)

BEFORE we merge this we need to finally decide about #211 and pot. add it ... or ot :-)

lgtm...We may merge #211 first.

Just merge when you are ready and I Update here.

@mcollina @JsonMa Changelog finalized ... this would be the 0.24.0 I think ...

@mcollina @JsonMa Changelog finalized ... this would be the 0.24.0 I think ...
Agree

Thank you @mcollina


Self-referential structure

Hello,
I am working with a self referential structure, so I have my .yalm file as
library: test
format:
  F_filename_suffix: F90
cxx_header: test.hpp

declarations:
- decl: |
    struct timer_cpp{
      int sublevels;
      timer_cpp *parent;
      timer_cpp **child;
    };
  options:
    literalinclude: True
    F_struct_getter_setter: False

However, the generated wrapper .h file (in this case wraptest.h) contains:
// wraptest.h
// This file is generated by Shroud 0.12.2. Do not edit.
/**
 * \file wraptest.h
 * \brief Shroud generated wrapper for test library
 */
// For C users and C++ implementation

#ifndef WRAPTEST_H
#define WRAPTEST_H

#include "typestest.h"

// splicer begin CXX_declarations
// splicer end CXX_declarations

#ifdef __cplusplus
extern "C" {
#endif

struct s_TES_timer_cpp {
    int sublevels;
    TES_timer_cpp * parent;
    TES_timer_cpp * * child;
};
typedef struct s_TES_timer_cpp TES_timer_cpp;

// splicer begin C_declarations
// splicer end C_declarations

#ifdef __cplusplus
}
#endif

#endif  // WRAPTEST_H

It gives an error while compiling because inside the struct definition it should be s_TES_timer_cpp * parent instead of TES_timer_cpp * parent.
Is there a way of redefining the variable type inside the struct definition, so I can get the missing s_?
Thanks in advance! :)

If you're only interested in the Fortran wrapper, you can turn off the c wrapper for the struct and the file wraptest.h will not be created.
- decl: |
    struct timer_cpp{
      int sublevels;
      timer_cpp *parent;
      timer_cpp **child;
    };
  options:
    wrap_c: False

But to wrap it properly will require some changes to Shroud.
I tried turning on F_struct_getter_setter and see it has issues too. The intent is that the type(C_PTR) would be converted into a Fortran pointer to an array of timer_cpp structs.  If I guess the meaning of the fields correctly, then creating the getter would (eventually) do the right thing.
 timer_cpp **child +dimension(sublevels)

The getter would return a Fortran type
type(timer_cpp), pointer :: child(:)

I take a look on Shroud source code and it seems that s_ in the struct name is hard coded, so I was looking for some way of adding a if statement while wrapping the struct to check whether the variable type is the same as the struct and add the s_ to it too. However I do not knowif this would be the best way of implementing it.
I need the c wrapper because I am working in a project which has a Fortran derived type defined and I need a twin version of it on C/C++. Thus, I need to copy the information the Fortran version into the C/C++ version. The way I am  doing it is:
1- copy the information from Fortran derived type to the Fortran wrapper;
2- Use a function to send the values to C++ side.
In the second part I need the c wrapper, so I can have a function like cpy_f_2_c(timer_cpp timer). I could also use the setters, but in any case there would be this issue.
One solution could be using the splicers to define the struct and functions needed: I can use the ones created by shroud and only modify, inside the struct, from
    TES_timer_cpp * parent;
    TES_timer_cpp * * child;

to
    s_TES_timer_cpp * parent;
    s_TES_timer_cpp * * child;

Thank you very much! It is working fine now, and the solution was way simpler than I was thinking :)


Unable to download Linkedin Learning videos with cookies

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like this: [x])
Use the Preview tab to see what your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2019.01.10. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2019.01.10

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add the -v flag to your command line you run youtube-dl with (youtube-dl -v <your command line>), copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'--cookies', u'cookies.txt', u'-o', u'%(playlist_index)02d - %(title)s.%(ext)s', u'https://www.linkedin.com/learning/ios-app-development-design-patterns-for-mobile-architecture']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.01.10
[debug] Python version 2.7.10 (CPython) - Darwin-18.2.0-x86_64-i386-64bit
[debug] exe versions: none
[debug] Proxy map: {'http': 'http://<IP_ADDRESS>:8888', 'https': 'http://<IP_ADDRESS>:8888'}
ERROR: An extractor error has occurred. (caused by KeyError(u'JSESSIONID',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 508, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/linkedin.py", line 154, in _real_extract
    course_data = self._call_api(course_slug, 'chapters,description,title')
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/linkedin.py", line 34, in _call_api
    'Csrf-Token': self._get_cookies(api_url)['JSESSIONID'].value,
KeyError: u'JSESSIONID'
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 793, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 521, in extract
    raise ExtractorError('An extractor error has occurred.', cause=e)
ExtractorError: An extractor error has occurred. (caused by KeyError(u'JSESSIONID',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Description of your issue, suggested solution and other information
I'm trying to download Linkedin Learning videos with "--cookies" option. But it gave me the error about "JSESSIONID". I'm using the cookies.txt Chrome extension to export the cookies. I can download the videos with user and password option but I don't want to login so often.
Thank you.

youtube-dl --cookies ~/Downloads/cookies.txt https://www.linkedin.com/learning/ios-app-development-design-patterns-for-mobile-architecture -v
I can only download up to the 5th video in the series, after that it gives me an error :
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--cookies', './cookies.txt', 'https://www.linkedin.com/learning/ios-app-development-design-patterns-for-mobile-architecture', '-v']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2019.03.01
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.17763
[debug] exe versions: none
[debug] Proxy map: {}
...
[download] Downloading video 5 of 29
[linkedin:learning] architecture-pieces: Downloading 360p JSON metadata
[linkedin:learning] architecture-pieces: Downloading 540p JSON metadata
[linkedin:learning] architecture-pieces: Downloading 720p JSON metadata
ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmplyslo9xs\build\youtube_dl\YoutubeDL.py", line 794, in extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmplyslo9xs\build\youtube_dl\extractor\common.py", line 508, in extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmplyslo9xs\build\youtube_dl\extractor\linkedin.py", line 126, in _real_extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmplyslo9xs\build\youtube_dl\extractor\common.py", line 1305, in _sort_formats
youtube_dl.utils.ExtractorError: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

The problem is python2. Install youtube-dl using pip3 that means python3 environment. Then give a try to same command from terminal. after that it worked fine for these command line argument: youtube-dl -v --cookies cookies.txt -o '%(playlist_title)s/Lesson %(chapter_number)02d - %(chapter)s/%(playlist_index)s - %(title)s.%(ext)s'


Add ability to prioritize a task

A user should be able to set tasks as prioritised. A prioritised task would be listed at the top of the list with an indicator. There is no level of priorities, i.e. a task can be marked as either prioritised or not.

A user should not be able to prioritise an completed task. A prioritised task should be marked as normal upon complete.


lnd_graph_crawl on raspiblitz

Hi all,
This would be a really cool feature to run using a raspiblitz. Is it possible?
Apologies if this is the wrong place for this. This is my first time using Github.
Thanks
https://github.com/mutatrum/lnd_graph_crawl

This is really cool, would like to see it! Added the hackaton label for the weekend.
Twitter thread from @mutatrum : https://twitter.com/mutatrum/status/1372954677772496898

Done, pls close this issue @SepticFrank


program to calculate HCF of two number

💥 Proposal
Have you read the Contributing Guidelines on Pull Requests?
yes

/assign


Helm chart currently doesn't expose things needed to specify ingress controllers IPFamilyPolicy & related fields

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
I was trying to specify needed things for the service, but they're not exposed via helm.
Eg. ipFamilyPolicy nor ipFamilies.
Cilium Version
cilium-cli: v0.12.1 compiled with go1.18.5 on linux/amd64
cilium image (default): v1.12.0
cilium image (stable): v1.13.4
cilium image (running): v1.14.0-rc.1
Kernel Version
6.1.0-10-arm64
Kubernetes Version
v1.27.3+k3s1
Sysdump
I don't think relevant
Relevant log output
No response
Anything else?
ingress-nginx allows these to be specified as well as externalTrafficPolicy.
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Thanks for this @samip5.
It sounds like you'd like to be able to configure which IP families should be used on the generated Loadbalancer Service used by the Ingress controller?
We're focussing more on the Gateway  API support at the moment, but Gateway API doesn't have a similar directive yet.
I haven't used the IPFamily config on ingress-nginx before, it seems like that's an installation-wide setting. Is that what you're looking for?
(I'm not sure how we'll solve this yet, just wanting to clarify the request).

It sounds like you'd like to be able to configure which IP families should be used on the generated Loadbalancer Service used by the Ingress controller?

Correct, as by default currently that service will only be IPv4 if the cluster's default one is v4 and I would like to not have to manually edit the generated lb so that it would have both. It would be really trivial to add support in the helm chart.
The funny thing actually is that if the cluster's default family is IPv6, it will actually be that instead only.
(Default family is determined by which of the prefixes is specified first on cluster service cidr and cluster cidr)

Thanks for that, I think we're looking at spending some time on LB Service customisation in this cycle, so I'll see if we can include this one in there as well.

I don't think the need-more-info is valid anymore here?

Yes, thanks for the ping.

Shouldn't be stale.

@youngnick Probably this needs a not stale thing?

Yes, thanks @samip5. I'll pin this.


Volume setters seem to have no effect

Hi,
thanks for this cool library. I just tried it out and it seems to work really well.
However I noticed that no matter which volume setter I use they seem to have no effect.
I tried setting the volume on the manager, the stack and the sound itself, but to no avail.
The loop setter on the sound for the other hand seems to work fine, so I am fairly confident, that I use the API correctly.
Do you have any idea, what I could be doing wrong?
Thanks in advance :)
Here's the code I am using inside a react useEffect-hook:
if (!soundManager.unlocked) return
const soundStack = soundManager.get(soundKey)
if (!soundStack) return

soundStack.volume = soundMap[soundKey].volume

soundStack.volume = 0.1
const sound = soundStack.prepare()
sound.then((s) => {
   s.play()
})

And here's my manager initialization:
const BASE_VOLUME = 0.5 // hardcoded for now
const soundMap: Record<GameSoundKeys, SoundFile> = {
  drawCard: {
    volume: 0.5,
    soundFile: drawCard,
  },
  // ...some more sound definitions
} as const

export default soundMap

export const soundManager = new Earwurm()
soundManager.volume = BASE_VOLUME

const stacks = Object.entries(soundMap).map(([id, sound]) => ({
  id,
  path: sound.soundFile,
}))

soundManager.add(...stacks)

Hey @on3iro 👋
Thanks for flagging this! Your code looks good... not sure why this isn't working 🤔  I will try my best to look into this over the weekend if I have time 🙏

Hey @on3iro 👋
Thanks for flagging this! Your code looks good... not sure why this isn't working 🤔 I will try my best to look into this over the weekend if I have time 🙏

Thanks a lot :) - apart from the volume issue  the library is working perfectly for me, though! :+1:

Update: I've got this working - it was a silly mistake with how I connect the gain/audio nodes. You can see a working prototype here:
https://codesandbox.io/s/earwurm-volume-test-m95wei?file=/src/audio.ts
I will try to open a PR and cut a new release tomorrow. I'll ping you once a new version is out.

Awesome, thanks for fixing this so quickly 🤩

Issue now resolved in: https://github.com/beefchimi/earwurm/pull/22
New release: https://github.com/beefchimi/earwurm/releases/tag/v0.2.0
React demo: https://codesandbox.io/s/earwurm-volume-test-m95wei
Vanilla JS demo: https://codepen.io/beefchimi/pen/vYzXmGx/e1c925ead3f8a2740d4cb144fe68ab99


Cilium Training by Solo.io

This README.md describe the the Cilium training workshop as developed by Solo.io
We would like to add this to the Cilium training program.
Signed-off-by: Marino Wijay<EMAIL_ADDRESS>Please ensure your pull request adheres to the following guidelines:

[ ] For first time contributors, read Submitting a pull request
[ ] All code is covered by unit and/or runtime tests where feasible.
[ ] All commits contain a well written commit description including a title,
description and a Fixes: #XXX line if the commit addresses a particular
GitHub issue.
[ ] All commits are signed off. See the section Developer’s Certificate of Origin
[ ] Provide a title or release-note blurb suitable for the release notes.
[ ] Thanks for contributing!

Fixes: #issue-number
<!-- Enter the release note text here if needed or remove this section! -->

@aanm Maybe! I want to add Cilium training but, is this supposed to go into the cilium/cilium.io repo?

You might also want to check the requirements for Cilium training listed here.

@lizrice I have reviewed prior to submitting. I have created a readme that provides details about the training workshop itself.

@aanm Maybe! I want to add Cilium training but, is this supposed to go into the cilium/cilium.io repo?

Yes, that is correct.

@aanm Maybe! I want to add Cilium training but, is this supposed to go into the cilium/cilium.io repo?

Yes, that is correct.

Should I close this PR and resubmit then? Where would be the best place to store this?

@aanm Maybe! I want to add Cilium training but, is this supposed to go into the cilium/cilium.io repo?

Yes, that is correct.

Should I close this PR and resubmit then? Where would be the best place to store this?

Correct since PRs can't be transferred between github projects

@aanm Maybe! I want to add Cilium training but, is this supposed to go into the cilium/cilium.io repo?

Yes, that is correct.

Should I close this PR and resubmit then? Where would be the best place to store this?

Correct since PRs can't be transferred between github projects

Sounds good! Will recreate and thanks for your help!


Roll engine 1cada0a6dca6..f15cc3402938 (1 commits)

git@github.com:flutter/engine.git/compare/1cada0a6dca6...f15cc3402938
git log 1cada0a6dca6..f15cc3402938 --no-merges --oneline
2019-09-19<EMAIL_ADDRESS>Roll src/third_party/skia 18531cde2ab7..9a8b846baf43 (1 commits) (flutter/engine#12360)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Trybots failed. These were the failed builds: https://cirrus-ci.com/task/6729992081244160 , https://cirrus-ci.com/task/6026304639467520 , https://cirrus-ci.com/task/6642031151022080

Commit queue failed; closing this roll.


Helm: Enabled usage of network connection for custom discovery handler.

What this PR does / why we need it:
This PR adds ability to use networked connection for connecting to custom discovery handler from AKRI agent.
The PR introduces 2 parameters in deployment\helm\values.yaml file of the Helm chart:
custom:
  ...
  # discovery defines a set of values for a custom discovery handler DaemonSet
  discovery:
    ...
    # useNetworkConnection specifies whether the discovery handler should make a networked connection
    # with Agents, using its pod IP address when registering
    useNetworkConnection: false
    # port specifies (when useNetworkConnection is true) the port on which the discovery handler advertises its discovery service
    port: 10000

Then those parameters are processed in deployment\helm\templates\custom-discovery-handler.yaml to expose the specified port and add POD_IP environment variable that can be used by the discovery handler to register itself with AKRI agent.
This aligns configuration of custom discovery handler with the others which already have useNetworkConnection and port parameters.
Special notes for your reviewer:
The changes are only on the Helm chart side. No changes were added to the Rust code, so cargo-related checkboxes below are irrelevant.
If applicable:

[ ] this PR has an associated PR with documentation in akri-docs
[ ] this PR contains unit tests
[ ] added code adheres to standard Rust formatting (cargo fmt)
[ ] code builds properly (cargo build)
[ ] code is free of common mistakes (cargo clippy)
[ ] all Akri tests succeed (cargo test)
[ ] inline documentation builds (cargo doc)
[ ] all commits pass the DCO bot check by being signed off -- see the failing DCO check for instructions on how to retroactively sign commits

LGTM


Blob verification fixes

Move the blob verification to the actual Blob object; remove the check on verification time.
I'm not sure what checking verification time against ctime gets us, except some protection against an accidental modification of the blob.
I think a better approach, for future development, would be an occasional task that goes through and checks some subset of the blobs comparing the hash of their contents to their name and purging ones that don't match.

I will clean up the commits before merging.


Add kubectl

The download address is: https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl

Now users can install kubectl as a native package: hd install kubectl


Overload network send to unique destination

The Network class should have an overloaded method send which takes an unique destination as argument instead of taking only a collection. That would relieve us to use the Collections.singleton() trick.

This was done a while ago.


Delay in stubs

It would be sweet if there were a way to randomly or deterministically add a short delay to stub request returns to make it a little more "real".

I can see the value in making sure that the network code is run asynchronously, but tying your network callbacks to the assumption that they'll have a short, undetermined delay is probably not the best practice to be encouraging.
So maybe not a delay, but some kind of mechanism to defer to the next invocation of the runloop?

Oh, this is purely so we can show off a loading animation.

Very good point – I hadn't considered stubs much outside a testing context. This is a great idea. I'll look into it more.

Super helpful for when stage/dev is down.

Yeah, we stub responses based on a heuristic to check if you have access to the API or not. I can also see it being valuable in rapid application prototyping, where the API isn't ready or stable yet. Thinking of adding a(n optional?) property to the enum protocol that allows developers to specify a delay. Thoughts?

IMO cool, as long as 0 doesn't jump out of being synchronous

We can use an enum with associated values. Something like:
enum StubBehavior {
    case .Immediate
    case .Delay(seconds: Int)
}

:+1:


Test buf-action can comment on PRs

Only testing github actions permissions. Do not merge.
Default value of pr_comment for this action is:
default: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository }} which evalutes to false on PRs from forked repos.
Describe your changes

...

Ticket reference (if applicable)
Fixes #
Checklist

[ ] Are the agreed upon acceptance criteria fulfilled?

[ ] Was the 4-eye-principle applied? (async PR review, pairing, ensembling)

[ ] Do your changes have passing automated tests and sufficient observability?

[ ] Are the work steps you introduced repeatable by others, either through automation or documentation?

[ ] If automation is possible but not done due to other constraints, a ticket to the tech debt sprint is added
[ ] An SOP (Standard Operating Procedure) was created

[ ] The Changes were automatically built, tested, and  - if needed, behind a feature flag - deployed to our production environment. (Please check this when the new deployment is done and you could verify it.)

[ ] Are the agreed upon coding/architectural practices applied?

[ ] Are security needs fullfilled? (e.g. no internal URL)

[ ] Is the corresponding Ticket in the right state? (should be on "review" now, put to done when this change made it to production)

[ ] For changes to the public API / code dependencies: Was the whole team (or a sufficient amount of ppl) able to review?

buf-action does not have permission to comment on PRs: https://github.com/project-kessel/inventory-api/actions/runs/11848000279/job/33018769525?pr=242#step:3:36
Closing.


Button labels in reconfigure blueprint

The main confirm changes -button is now called 'Create' in reconfigure blueprint -dialog. Change this to 'update' or 'reconfigure'.

fixed in #165


listary

Description of the new feature / enhancement
listary
Scenario when this would be used?
listary
Supporting information
No response

Duplicate of #14587

Closing this as dup of #14587 and opened by the same author.


Show all images for deletion.

Hi,
I ran it with --dry-run mode but it showed that it will delete all photos, not just those that are not in catalog_product_entity_media_gallery.
Magento 2.4.3-p1

So you say that it also showed images, which are still referenced in catalog_product_entity_media_gallery? That would be weird. Could you debug into this?

Hi,
I don't know how to debug it.
Here are the results:
https://prnt.sc/26i6cvo
https://prnt.sc/26i6d97
https://prnt.sc/26i6dkr
Thank you

By some reason some images are with URL with two // in catalog_product_entity_media_gallery.
Those images are uploaded from import products script and obviously there is some problem.
https://prnt.sc/26i6rky
And the script obviously can't detect this.


DRILL-4581: Minor fixes to drill startup scripts for linux

This pull request replaces a previous one. No code differences; this one resolves some git issues.
Provides fixes to a number of small problems as explained in DRILL-4581. This work is in preparation for Drill-on-YARN, and contains a new drillbit.sh option to launch Drill under YARN. Otherwise, the public interface to the scripts remains unchanged. Features that used to work still work. Features that were broken now work as originally intended.
Does not contain changes for the proposed “site” config extension.

Replaced by later commit.


Tinkers Construct slot transaction spam with SpongeForge (SF 1.16.5)

I am currently running
spongeforge-1.16.5-36.2.1-8.0.0-RC893-universal
forge-1.16.5-36.2.4
java version 1.8.0_301 by Oracle
Operating System: Windows 10.0.19042

Plugins/Mods:
Mantle-1.16.5-1.6.123
TConstruct-1.16.5-<IP_ADDRESS>5
(these are the latest builds for 1.16.5)

Issue Description (Updated)
Two problems come up, one of them fatal.
(1) The warning Logged slot transactions without event! appears on login and frequently thereafter.
(2) When I tried to interact with the connected inventories of TiC (Storage chests, TiC Anvil, Tool Forge etc), the server dies after a cascade of phase tracker spam. The meat seems to be Unknown inventory slimeknights.tconstruct.tables.tileentity.table.crafting.LazyResultInventory report this to Sponge
Sponge_TIC.log

I tried spongeforge-1.16.5-36.2.1-8.0.0-RC895-universal and it no longer crashes, issue (2) above is fixed. Things can now be crafted in the TiC inventories, and you can swap between them. The smelter isn't functional though (it says too cold?).
Still getting a lot of Logged transaction without event transaction! stuff.

I've observed a similar issue with spongeforge-1.16.5-36.2.5-8.0.0-RC1100-universal and the Create mod, attempting to place a filter object into any of the filter slots log-spams lines related to Logged transaction without event transaction! and blocks the player from applying any of the filters. Attaching the log here.

Same issue when opening the GUI of AE2's drive
log
Using SpongeForge RC1100
Only AE2, luckperms installed

see https://github.com/SpongePowered/Sponge/issues/3680


Add CUDA/HIP support and GPU builds

Adds support for CUDA and HIP in the build system and makes corresponding changes to the code to run on GPUs.
Accompanying documentation update in #185
Resolves https://github.com/awslabs/palace/issues/3
TODO (for Spack support):

[x] Spack fixes are waiting on https://github.com/spack/spack/pull/42726 (Resolved by using libxsmm@=main dependency)
[x] We might be able to test CUDA and HIP builds in the CI (without a GPU/drivers) using Spack (Skip for now, since these take a while and require some system configuration to actually work)

The actual issues seen so far:

Running the examples tests on a g5.48xlarge, the spheres case is failing with nans for the indicator norm.

This is fixed in a8d0cc9.

Running the examples with nt > 1, SuperLU seems to cause

  Residual norms for GMRES solve
 ** On entry to DGEMM  parameter number  8 had an illegal value
--------------------------------------------------------------------------
prterun noticed that process rank 1 with PID 10743 on node c889f3baddb0 exited on
signal 11 (Segmentation fault: 11).
--------------------------------------------------------------------------

on the cpw_lumped_uniform case, whereas using STRUMPACK is fine.

As far as I can tell, this is only happening on M1 macOS with SuperLU_DIST. I'm strongly inclined to say it is a bug there but at least for now it is not related to this PR. One thing to probably explore is for OpenMP builds to build SuperLU_DIST and STRUMPACK without OpenMP and just rely on a threaded BLAS/LAPACK.

Once this PR, https://github.com/awslabs/palace/pull/193, and https://github.com/awslabs/palace/pull/194 are approved, I will rebase on main and merge all together.


Update the characteristic roll section

Minor update to the characteristic roll section to remove the giant if statement.

6e tables.  Looks like previous dev used skill table for characteristics.  Not sure if there is an upper or lower bounds to a characteristic roll.  Have to scour the rules some more or ask in Extraordinary FoundryVTT Developers discord channel.
The 0 is an unlikely edge case.  STR > 52 is common, so probably worth investigation.

Here is your invite to our dev discord channel: https://discord.gg/6EXEVyCe


Fix desk.jpg URL in README

The current URL for desk.jpg in the demo cannot be resolved. This PR fixes it

Thanks!


[Feature Request] Icons

Ability to have custom Icons? like Google material?

That's possible. Simple include your icon-font of choice and use their classes for the icons.
let items = [
    { title: 'Add Sites', icon: 'ICON-FONT-CLASS', fn: clicked }
}


[Xcodeproj] Avoid generating module.modulemap if umbrella header exists, on creating Clang Module targets

This PR increases the portability of generated Xcode project by reducing the use of module.modulemap which absolute path contains.

If clang module has umbrella header:

Add headers to HeadersBuildPhase
Set CLANG_ENABLE_MODULES = YES
Set DEFINES_MODULE = YES
Don’t generate module.modulemap

Set CLANG_ENABLE_MODULES = YES to test target so that we can import clang module.

In the course of testing to create a package written only in Objective-C, I came up with this change.
e.g: https://github.com/norio-nomura/GTMNSString_HTML

Thanks! I will take a look, but it might take me a couple days I want to think about the possible fallout...

The technical changes to the project model representation and serialization look fine.  It might be good to add a unit test specifically for the new settings property on BuildFile (e.g. that it gets serialized properly).  IIRC, there are unit tests on the serialization of the other model properties, to make sure they make it into the plist in proper form.
Regarding the semantics and what the potential fallout might be, I'll defer to others who are more knowledgeable about the nuances of module maps.

Thanks for feedbacks.
I added serialization test for settings property on Xcode.BuildFile.

I have no objections to the actual diffs, but would want to hear the opinion of someone more familiar with modules about likely fallout.

With this fix, the setting of the target generated by the PM will be more like the setting of the framework target generated by Xcode's template.
So, even if there is fallout, I expect that is about the same level as that generated by Xcode's template.

Are there any updates on this?


Using incorrect database connection

I'm extending the TenantModel in my Property Model, but the DB facade is using the global database connection.
Code below:
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use App\Landlord;
use Illuminate\Support\Facades\DB;

class Property extends TenantModel
{
	/**
     * The table associated with the model.
     *
     * @var string
     */
    protected $table = 'properties';
    //

     /**
     * Return all properities with adjoined landlords
     *
     * @var array()
     */
    public static function getAllProperties(){
    	$properties = DB::table('properties')
    		->join('landlords', 'landlord_property.landlord_id','=','landlords.id')
    		->join('landlord_property', 'properties.id', '=', 'landlord_property.property_id')
    		->select('properties.*','landlord_property.property_id','landlord_property.landlord_id','landlords.*')
    		->get();

    	return $properties;
    }

}

How would you expect it to function? That the DB facade always uses the tenant connection? Or that the DB facade should know that it is being called from a class that extends TenantModel and therefore should use tenant connection?
I'm unsure where the 'incorrectness' comes from, so please elaborate.

Given that the model is extending the TenantModel, I'd expect it to use the tenant's database connection, not the global connection.
If that is not the case, how do I specify to the DB facade to use the TenantModel database connection? The query builder uses the correct connection, if I were to use the following:
Property::all();

The model is extending the TenantModel - but that has nothing to do with the DB facade. It is completely de-coupled from where it is called.
The query builder uses the correct connection, because it is part of the Property class' built-in functionality, but the DB facade is called statically and has no knowledge of where you call it from.
See https://laravel.com/docs/5.3/database#using-multiple-database-connections for how to get the DB facade to use a specific connection (repeated because I edited my original reply and you may not have seen it)

static::getConnection()-><etc>

This should work. It actually instantiates a Connection instance based on the connection of the current Model object.


Proposal: Return Empty Array if Can has not results

Case:
I have a @can('foo') in a view. But then that Gate is removed. Instead of crashing the app this view could just return and empty result and not show the element.
This could even go for Cant if it is worth it.

sorry about the fail, if the idea has any value I can fix it

wow 2 for 2 on fails :(

bad idea. deleting :)


Restructure landing page for dataset usage notebook

Description
The index of notebooks looks too crowded, and it would be better to have a separate landing page.
Acceptance Criteria

[x] Restructure new landing page
https://us-ghg-center.github.io/ghgc-docs/pr-preview/pr-60/datausage.html
[ ] Get content approved by communication team
[ ] Added JPL notebook

I'm not a big fan of this format where we duplicate the titles and add a (list) to the end

Maybe there's another better way to do it

@siddharth0248 did you know that you can have both - a landing page for each group, plus the drop-down menu in the TOC on the left?
For example, check out the "Services" item in the VEDA Docs: https://nasa-impact.github.io/veda-docs/services/
It has a landing page with a bit of intro (very slim in this case) but also unfolds the sub-items.
The way this works in Quarto is that you assign a file to the section and still keep the contents:
      - section: services/index.qmd
        contents:
          - services/dashboard.qmd
          - services/apis.qmd
          - services/jupyterhub.qmd

https://github.com/NASA-IMPACT/veda-docs/blob/33fddd858721191d63f5d0aaf23227bd8cb9c9e7/_quarto.yml#L36-L40

Thanks @j08lue !! Slesa suggested the same. I am looking into this 👍

Changes made based on the suggestions provided by @slesaad @j08lue . @deborahUAH has seen the new format and structure.
Content needs to be reviewed. Farnaz has given an initial glance.
@rwyatt19 or @Jeanne-le-Roux anyone wants to take this?

Reviewing today


Update sites.yml

Important: Please read all instructions carefully.
Select the appropriate category for what this PR is about
This PR is:

[X] Adding a new domain
[ ] Updating existing domain size
[ ] Changing domain name
[ ] Removing existing domain from list
[ ] Website code changes (512kb.club site)
[ ] Other not listed

Do not tick a checkbox if you haven’t performed its action. Honesty is indispensable for a smooth review process.

[X] I used the uncompressed size of the site
[X] I have included a link to the GTMetrix report
[X] The domain is in the correct alphabetical order
[X] This site is not a ultra lightweight site
[X] The following information is filled identical to the data file

- domain: kidl.at
  url: https://kidl.at/
  size: 11
  last_checked: 2021-10-12

GTMetrix Report:
https://gtmetrix.com/reports/kidl.at/PS6Mmuzl/

Edited previous comment include the following information:

domain: kidl.at
url: https://kidl.at/
size: 11
last_checked: 2021-10-12


low latency light overlays: k-peer-disjoint updates, scaling the p2p with bounded peer-updates

Last year I started working on this enr-bank-discv5, as I was researching on Felix's topics spec. The topics spec as well as Trin uses KBucket overlays, basically subsets of the discv5 network stored with respect to a different order, or in other words different partial views of the same network.
When the overlays overlap, ENR or connectivity updates that happen on one layer need to be visible on all overlays so that the overlays can scale efficiently. For example we can optimise memory usage and latency in the case of running more than one portal, like state and history, in the same instance as different top-level tasks, but also just running one portal on top of discv5 which very probably means a big overlap of peers between the discv5 DHT and the portal DHT already.
Currently, when a peer goes offline or updates their ENR, this needs to be found out anew by trial and error on each overlay - this latency, of 2 RTT for a PING-PONG ENR update and of 2 seconds for the default discv5 query peer time out upon unresponsiveness, can be minimised to once per peer - a constant bound, k = 1, on k-per-peer updates! Rn the per-peer updates  are bound by the input number of overlays. That takes a toll when we want to increase query parallelism and increase the number of virtualisation layers - portals of different services (not random) - on top of the discv5 DHT secured by random unstructured structure. So I suggest in terms of DHT entries we flatten all the layers of DHTs out, to one big pancake of k-bucket entries, with links from each entry to the DHT layers that includes the entry, as opposed to copies of the entry.
I have 2 different approaches in mind:

If we don't have a memory constraint, we can add some Discv5Events to know when a peer is disconnected

SessionDisconnected(NodeId),

and when an ENR of a peer is updated
EnrUpdated { enr: Enr, replaced: Option<Enr> },

We emit these events from service.rs here and here respectively, and also here but first making the logic separation between connection update, value update and both updated (emit 2 events).
All Discv5Events rn clone the ENR to thread-safely pass up to the app (move it) running discv5, which then stores the ENR in the app's k-buckets - if discv5 had space for the ENR in its k-buckets, it has also stored the ENR before passing it up.

If we have a memory constraint: we use thread-safe references and locks. ENRs take up to 300 bytes in memory. Following code snippets originate from kbucket/buckets.rs. How we lock  lock the Node depends on if we want to update connection status and the ENR independently. Locking the whole Node

pub struct KBucket<TNodeId, TVal: Eq> {
    /// The nodes contained in the bucket.
    nodes: ArrayVec<Arc<RwLock<Node<TNodeId, TVal>>>, MAX_NODES_PER_BUCKET>,

or, locking connection status and ENR independently
pub struct Node<TNodeId, TVal: Eq> {
    /// The key of the node, identifying the peer.
    pub key: Key<TNodeId>,
    /// The associated value.
    pub value: Arc<RwLock<TVal>>,
    /// The status of the node.
    pub status: Arc<RwLock<NodeStatus>>,
}

or if we can't make our mind up, with our current understanding of how we will use overlapping DHT overlays in the future, we make the whole node generic (definitely the best idea!), with traits so little of the existing code needs to be changed (i.e. so calls to methods of NodeStatus and Node types already in the code will still work).
pub trait AsNodeStatus {...}

pub trait AsNode<TNodeId, TVal: Eq, NodeStatus: AsNodeStatus> {...}

pub struct KBucket<Node: AsNode> {
    /// The nodes contained in the bucket.
    nodes: ArrayVec<Node, MAX_NODES_PER_BUCKET>,

This way each entry only exists once in memory, but can be mutated by any overlay. Any overlay can mutate any entry with just a read lock on the shared collection of all entries (the pancake) and that change will happen on all overlays, including the discv5 DHT: check out my playground  example. Which is great when using a RwLock that allows for multiple concurrent reads. Without this lock on each entry, to disconnect a peer in discv5 based on some portal specific criteria requires waiting on a write lock here.
Why would we have a memory constraint? The more efficiently portals or any other discv5 DHT overlay handles memory, the larger we can make k-buckets which in turn means me have more gains from increasing query parallelisation to tackle latency. A memory-efficient way to increase k-buckets size is to handle this interval in at least two parts when allocating memory for nodes , where for example all buckets until log2distance 200 initialise with the current MAX_NODES_PER_BUCKET= 16 ArrayVec<Node<TNodeId, TVal>, MAX_NODES_PER_BUCKET> and all nodes log2distance 200 to 256 initialise allocating for 3 times as many nodes ArrayVec<Node<TNodeId, TVal>, MAX_NODES_PER_BUCKET * 3>. Tbh, the odds that even one single peer will be in the k-buckets aprox. log2distance 1-100 is so low, that imo we should change the data structure from ArrayVec to another data structure that doesn't allocate memory initially for that interval and dynamically allows that interval to allocate memory up to a MAX_NODES_PER_BUCKET limit. If no such data structure exists giving the option to set either a fixed or dynamic memory allocation, we could use an enum
enum Nodes {
    Fixed(ArrayVec),
    Dynamic(Vec),
}

and create a trait AsArrayVec with all the methods of ArrayVec called in the kbucket/bucket.rs, and then implement that trait for the enum Nodes to allow for easy compatibility with parity's existing k-buckets code (i.e. without changing the existing method calls).
(A related PR would be to remove this event, which is not used anywhere in the code as this method and it's return type are sync.)

Hey. I’d like to dedicate the next couple months to implementing this for the ethereum protocol fellowship if that’s fine with you

sure, @0xcrust. excuse the title confusion, was right the first time, k-peer-disjoint updates. peers overlapping in overlays are instances of the same peer and can be thought of as one vertex. overlays are (at least intentionally) unique. for sake of clarity some drawings...
terminal pairs $(t_{1},s_{1}),...,(t_{k},s_{k})$ are overlays. each overlay is a tuple of its binary tree of peers (DHT) before an update contracted into one vertex $t_{i}$ and after an update contracted into one vertex $s_{i}$. inner vertices are peers being updated and paths between terminal pairs are update operations.

rn this happens. for each terminal pair, that is for each overlay containing the peer to update, an update operation happens. for example to update peer $v_{1}$ which is contained in all overlays a path passes through $v_{1}$ for each overlay. in other words there aren't disjoint paths to update a peer that appears in more than one overlay.

this is what we want to do. merge the set of peers in all overlays into one so that we are left with only one pair of terminals which is in effect $(\bigcup\limits_{i=1}^{k} t_{i},\bigcup\limits_{i=1}^{k} s_{i})$, a pool of all peers, then have symbolic links via rust's Arc<T> type from overlays to a peer in that pool. this way we have one disjoint path per updated peer, following trivially from having only one terminal pair. so to be precise, the above drawing is showing the solution for the problem for 3 peers.
what data structure to use for the peer pool is up to you. it could be a DHT too, but then indexing peers could get tricky if in one overlay we want to measure distance relative to another node id than the local node id. a hash map is a future proof choice.

Hey. Sorry about the late reply. It took a while before I felt like I knew enough to give any reasonable response to this.
I linked a draft pr to make the types in the discv5 crate generic over the node type. It currently does not make a separation between locking the ENR and connection status though.  If that's still a recommendation then I can add a commit to make that possible.
I do understand your proposal now, thanks for the detailed explanation. I'm not sure I follow the last statement though and why that is a potential issue. Wouldn't each overlay still maintain their distinct k-buckets structure, with the only change being that each of its nodes would be a shared reference?


Serializing nested objects

Summary
Is there a canonical way to serialize a struct which contains another JsValue?
Additional Details
I am trying to implement bindings for https://cesium.com/learn/cesiumjs/ref-doc/Viewer.html, and am running into issues creating bindings for the ConstructorOptions  object. This object you need to be able to provide an ImageryProvider, which itself is a javascript object which needs to be generated by a constructor. However, since JsValue does not implement Serialize you can't #[derive(Serialize)] for a struct which contains an ImageryProvider. My question is what is the canonical way to handle transporting such data from Rust to Javascript?

I hacked around this using the following macro which I modified from the hashlit crate:
macro_rules! object {
    ($($key:expr => $value:expr,)+) => { object!($($key => $value),+) };
    ($($key:expr => $value:expr),*) => {
        {
            let mut _obj = ::js_sys::Object::new();
            $(
                js_sys::Reflect::set(&_obj, &($key.into()), &($value.into())).unwrap();
            )*
            _obj
        }
    };
}

If there is no better way to do this kind of thing, then this might be useful to build into the crate.

Bump, I would very much like an answer to the same 👍


feat: make root zone id to be 1

it feels more natural this way

:+1:

merged into #82

merged via #82


chore: python-backend to 0.0.2

chore: Promote python-backend to version 0.0.2

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

Needs approval from an approver in each of these files:

OWNERS

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


relative list binding in list binding

OpenUI5 version: 1.71.50 on customer system, In development environment for testing 1.110.0
Browser/version (+device/version): edge, chrome, vivaldi
Any other tested browsers/devices(OK/FAIL): fail
URL (minimal example if possible): https://gitlab.com/akuller/ui5-list-problem
User/password (if required and possible - do not post any confidential information here):
Steps to reproduce the problem:

clone
npm i
cds watch
open the app
press +1
press +2

What is the expected result?
New entries in the table 2
What happens instead?
no new entriess in table 2
Any other information? (attach screenshot if possible):
In the ui5 tools you can see that it creates the entries. however, they are not added in the aggregation in the table 2.
SCN quenstion: https://answers.sap.com/questions/13817455/relative-binding-in-relative-binding-of-list.html
Git Repo: https://gitlab.com/akuller/ui5-list-problem

Just added a comment to your question at https://answers.sap.com/comments/13822215/view.html.
Btw. according to sap.m.CustomListItem:

Even though the content aggregation allows any control, complex responsive layout controls (e.g. Table, Form) should not be aggregated as content.

Since there is no response from the author in this issue or on answers.sap.com I'm closing the ticket


NoveltySlice: Unpredictable silences after parameter changes

if one opens the musical example tab (2) of the max helpfile (correcting the algorithm in the message to get to mfcc) one gets either nothing detected, or a continuous flow of attacks. One then needs to change the threshold to get something sensible out but it is very tempremental.
to reproduce:

open the help with DAC off, on the 2nd tab
choose nicol drum loop
play - nothing or a lot of clicks.
if nothing, press reset. usually, a lot of clicks
press the message to change preset. usually a lot of clicks. raising the threshold a little helps to tame but is strangely inconsistent.

this happened first in Pd and is tested behaviour in Max too. Beta5 and beta6. I will download beta4 and see if it is the same.

ok I can confirm that in beta4 everything is fine and as expected. something happened between beta4 and beta5 that makes this object erratic...

I'm not sure how many problems you're describing here.

Yes, I can reproduce inconsistency when there's a param change and it just shuts up
Are you also saying that those settings in the message box gave results that weren't just a click fest with nicol? Because they're pretty lively settings.

good that you can reproduce the inconsistancy.

as for results, in beta4 it grooves, in beta5 it sounds like popcorn, for these settings. Same in SC (although I couldn't reproduce the 'silence' problem #1

The first of these I've found the cause for. a4bb226e31b4d3600e348e2509ffe345bfac7e50 made something stateful but didn't reset it when needed.
The second one I'm think is a side effect of 03710d8fef6ff5dc18ceac39bacdcac789342dd0: when we fixed the internal MFCCs to run up to 20kHz on the source signal, useful thresholds would have changed. 0.018 seems ok here.

ok good so #1 is a real bug and #2 I can fix in all help the threshold in the help


pr: HOTFIX

Codecov Report

Merging #46 into master will increase coverage by 0.17%.
The diff coverage is 83.33%.

@@            Coverage Diff             @@
##           master      #46      +/-   ##
==========================================
+ Coverage   76.71%   76.89%   +0.17%
==========================================
  Files          22       22
  Lines         567      567
==========================================
+ Hits          435      436       +1
+ Misses        132      131       -1

Impacted Files
Coverage Δ

peon/src/comandline/comandline.py
0.00% <ø> (ø)

peon/src/lint/report/report.py
91.30% <50.00%> (ø)

peon/src/lint/lint.py
89.65% <100.00%> (+0.36%)
:arrow_up:

Continue to review full report at Codecov.

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


Bring adapters out of preview

Work is done, but preview flags need removing from the projects so the packages are not marked as pre-release anymore.

Pushing to R9 after discussion with Gary.

Pushing to R10 as cleared with @cleemullins

Facebook and Slack adapters now ready.  Twilio / Webex adapters needs amending to accept the options class as opposed to the client class, mirroring the changes in Facebook.


AWS automatic updates cause churn on terraform plan

Description
If AWS updates the images used in the autoscaling groups, it causes churn on the resulting terraform plan.  Here is an example of the output with no terraform changes, but after AWS makes an image update behind the scenes:
  # module.ecs-cluster.module.asg.aws_autoscaling_group.idc[0] will be updated in-place
  ~ resource "aws_autoscaling_group" "idc" {
        id                               = "my-autoscaling-group-20230208085230581500000006"
        name                             = "my-autoscaling-group-20230208085230581500000006"
        # (27 unchanged attributes hidden)

      ~ launch_template {
            id      = "lt-03fa51b97f2afa7cf"
            name    = "ecs-node-my-autoscaling-group-20230208085229776700000004"
          ~ version = "19" -> (known after apply)
        }

        # (4 unchanged blocks hidden)
    }

  # module.ecs-cluster.module.asg.aws_launch_template.this[0] will be updated in-place
  ~ resource "aws_launch_template" "this" {
      ~ default_version         = 19 -> (known after apply)
        id                      = "lt-03fa51b97f2afa7cf"
      ~ image_id                = "ami-0d6d367ace19e09dd" -> "ami-0b7778d86d8789cff"
      ~ latest_version          = 19 -> (known after apply)
        name                    = "ecs-node-my-autoscaling-group-20230208085229776700000004"
        tags                    = {
            "AmazonECSManaged" = "true"
        }
        # (11 unchanged attributes hidden)

        # (3 unchanged blocks hidden)
    }

Versions

Module version [Required]:

Terraform version:
Terraform v1.5.7

Provider version(s):
provider registry.terraform.io/hashicorp/aws v5.23.1

Reproduction Code [Required]

Steps to reproduce the behavior:

Instantiate the terraform-aws-modules/autoscaling/aws module.
Apply this module
Wait for AWS to update the image
Note the churn in terraform plan

Expected behavior
This should have a clean plan with no terraform changes
Actual behavior
Several fields in resources used by the terraform-aws-modules/autoscaling/aws module show churn.
Additional context
A really straight-forward solution would be something like adding the fields in the terraform plan to lifecycle { ignore_changes }.  I would do that myself, except that Terraform doesn't support adding lifecycle to a module.  It would be great if it was possible to just ignore those here so that everyone benefits from seeing reduced churn!

I don't know if that would make sense - you can specify the AMI ID you wish to use and then only update that when you are ready to update the instances

Is it possible to differentiate between when the AMI is specified directly Terraform and when it's unspecified and AWS picks whatever version it wants?  It's this second case where I'm hoping to avoid seeing this churn.

AWS does not specify "whatever version it wants" for an AMI ID - the AMI ID is the version, its immutable

From reading through the autoscaling_group documentation a little more, it appears that this churn is somewhat by design as a way to make it visible that a new version is available.  It would in theory be possible to set launch_template_version to $Latest, but I see this note:

A refresh will not start when version = "$Latest" is configured in the launch_template block. To trigger the instance refresh when a launch template is changed, configure version to use the latest_version attribute of the aws_launch_template resource.

As such, it's necessary to match the aws_autoscaling_group->launch_template->version to that of the corresponding aws_launch_template.
In digging a little further into our config, it looks like we're actually passing in the aws_launch_template->image_id var by getting the latest AWS image_id as defined in this Parameter Store key: /aws/service/ecs/optimized-ami/amazon-linux-2/recommended/image_id.
So basically, whenever AWS updates their latest recommend image ID, terraform reads this value and then updates that in the aws_launch_template, which then causes a new version to get created, which in turn updates the aws_autoscaling_group.
So, in short, it looks like this churn is actually a side-effect of us updating to the latest AWS recommend AMI, which requires a terraform apply for it to take effect.  I'll go ahead and close this as "working as intended".


fix offset assignment

some fixes

Can you fix alignment and provide a screenshot of your mods in action, before after?  Thanks for the fixes!


status endpoint update

I would like it so that we add to new values to the status endpoint.
totalCategories : this is the total number of categories (apis)
totalEndpoints: this is the the total number of endpoints in total within the categories

hi @ageddesi , i would like to do this, can you assign me

Hey @devvspaces This is all yours, welcome to the party 💯

thanks, i will get to it

Thanks for the work on this @devvspaces 👍


Fixes minor linting issues

In lib/routes/metrics/schema.js I've marked the lint warning as ignorable because the line seems like a fairly complex regex and I'm not keen to start messing with escape characters in it.

All tests continue to pass after this change.


SQLERRM isn't being logged

SQLERRM should be logged (via dbms_utility.format_error_backtrace) but it isn't. Simple test case:
create or replace procedure p_test as
  l_temp pls_integer;
begin

  raise_application_error(-20001, 'todo');

  select 1
  into l_temp
  from dual where 1/0 = 1;

exception
  when others then
--    dbms_output.put_line('ERROR: ' || sqlerrm);
--    dbms_output.put_line('ERROR: ' || DBMS_UTILITY.FORMAT_ERROR_BACKTRACE );
    logger.log('ERROR:', 'mdsouza');
end;
/

Is another error happening ahead of this or why isn't it rendering the error?

DBMS_UTILITY.FORMAT_ERROR_BACKTRACE holds the line number of the error.
DBMS_UTILITY.FORMAT_ERROR_STACK still holds the last error message.

Is it better to use logger.log_error procedure instead of logger.log to save the error?


Update text_type->Text in mypy annotations

I have updated text_type to Text in mypy annotations in the directories ['analytics/', 'scripts/', 'tools/', 'zerver/management/', 'zilencer/', 'zproject/'].

Automated message from Dropbox CLA bot
@royabouhamad, thanks for the pull request! It looks like you haven't yet signed the Dropbox CLA. Please sign it here.

Automated message from Dropbox CLA bot
@royabouhamad, thanks for signing the CLA!

I see 2 commits for /tools - please squash it into one.

Only /tools commits (those 2 into one)

Analytics commit - correct

I am new to git and do not know how to squash two commits together. How do you do it?

https://github.com/zulip/zulip-gci/blob/master/docs/fixing-commits.md

Thanks

Scripts looks OK.

What with zilencer/management/commands/populate_db.py line 365? It looks its undefined.


Gradle return an error (Could not find com.github.corouteam:GlideToVectorYou:v2.0.0)

When I try to build my Android project, return this error:
`Task failed with an exception.
What went wrong:
Execution failed for task ':app:checkDebugAarMetadata'.

Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
Could not find com.github.corouteam:GlideToVectorYou:v2.0.0.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/com/github/corouteam/GlideToVectorYou/v2.0.0/GlideToVectorYou-v2.0.0.pom
- https://jcenter.bintray.com/com/github/corouteam/GlideToVectorYou/v2.0.0/GlideToVectorYou-v2.0.0.pom
- https://jitpack.io/com/github/corouteam/GlideToVectorYou/v2.0.0/GlideToVectorYou-v2.0.0.pom
Required by:
project :app`

Any help to resolve this issue?

I am having the same issue

I am having the same issue

Please refer to this link. I found a solution for this issue:
https://stackoverflow.com/a/74588377/14406663


Convenience functions added to vtzero

I noticed quite a few instances of this code in vtcomposite:
if (feature.has_id()) builder.set_id(feature.id());

and
feature.for_each_property([&builder](vtzero::property const& p) {
    builder.add_property(p);
    return true;
});

To get rid of this code duplication I added (mapbox/vtzero@96ed8cbd72a0aa8c8700db079de678bf8d33f870, mapbox/vtzero@bf68443be0bc8721b79e66fed6c9483e4758507e) two convenience methods to vtzero which make this easier. They are called like this:
builder.copy_id(feature);

and
builder.copy_properties(feature);

This is not in the newest vtzero release, yet.
See also #51.

@joto It looks like copy_id and copy_properties aren't in 1.0.2 - would you mind doing another release so we can incorporate these function into vtcomposite? :)

@joto Please disregard my comment above!  I will do a dev release in Mason with these changes.

vtzero dev release happened and convenience functions have been added!