[CHALLENGE SUBMISSION]

Please provide the following information for your submission:
What is your name? (First, Last)
Joeri Van Hoof
Where is your GitHub Repo ?(With your challenge solution)
https://github.com/jvhoof/AzureEats-Website/tree/challenge4
What Challenge is this for? (Challenge number between 1 and 5)
4
(Optional) Anything else we should know? e.g., language used, location, blog post?

Thanks for participating in the #TerraformOnAzure coding challenges!
We have attached your very special Astronaut Badger background, for you to use in all your upcoming video calls!
And to recognize you for your learning, you can collect your digital Azure Heroes badge on your mobile (you may need to install the Enjin wallet to collect it). Make sure to collect it today!
https://beam.enjin.io/claim/d32599695c8c28cfc24820492080fac0
Keep on learning and sharing!
Greetings from the #TerraformOnAzure team,
Suzanne, Floor, Erik & Nick


[IME] Can't input CompositionEnd only characters because of checking ccursor.index and ime_cursor.index

Describe the bug
Sometimes can not type IME CompositionEnd characters.
To Reproduce
Use 'PinYin' input, type some words, then type in some other character such as 【 】 ……
Expected behavior
Type in any characters, including CompositionEnd characters.
Screenshots
https://github.com/emilk/egui/assets/16380650/fe9c1e7a-c665-4726-bf08-081b8c7c0c41

After typing ！@, can not type any CompositionEnd character like 【】。，；。

I'm using version 0.27.2, i see branch master has changed CompositionEnd to ImeEvent::Commit, but this bug still exists.
Here is why this happens.
/crates/egui/src/widgets/text_edit/builder.rs L974
if !prediction.is_empty() && cursor_range.secondary.ccursor.index == state.ime_cursor_range.secondary.ccursor.index
this prediction make sure cursor_range.secondary.ccursor.index equals state.ime_cursor_range.secondary.ccursor.index .
but when input CompositionEnd only characters after some other characters, cursor_range.secondary.ccursor.index is equals to the length of previous characters, and state.ime_cursor_range.secondary.ccursor.index equals to 0.
Below is my solution:

https://github.com/emilk/egui/assets/16380650/6e2d7733-cea6-49e5-89ce-fd74e04963bc
If we check this two cursors.index only when ime_state equals true which meanings we triggered CompositionStart first  and currently continue typing some IME characters. if we trigger CompositionEnd first, there is no need to check cursor.index.
Actually, i don't know why need to check cursor_range.secondary.ccursor.index == state.ime_cursor_range.secondary.ccursor.index, can you tell me the reason. Thanks 😊
Desktop (please complete the following information):

OS: Windows11

In the Master version, everything has been modified normally.
It will be applied to all next versions.
cursor_range.secondary.ccursor.index == state.ime_cursor_range.secondary.ccursor.index
The reason for checking is because the characters you are typing may be copied somewhere else.

In the Master version, everything has been modified normally.
It will be applied to all next versions.
cursor_range.secondary.ccursor.index == state.ime_cursor_range.secondary.ccursor.index
The reason for checking is because the characters you are typing may be copied somewhere else.

Thank you！ I 'll test in next version 😀


[ROIs] Transform physical-unit ROI into pixels, at arbitrary pyramid level

Starting from discussion in

https://github.com/fractal-analytics-platform/fractal/issues/27
https://github.com/fractal-analytics-platform/fractal/issues/46
https://github.com/fractal-analytics-platform/fractal/issues/95

we are now splitting the work on ROIs into several steps/issues:

Parsing pixel sizes and FOV ROIs.
Transform physical-unit ROI into pixels, at arbitrary pyramid level.  (THIS ISSUE)
Use FOV ROIs for illumination correction (at highest-resolution level).
Use FOV ROIs for labeling (at arbitrary pyramid level).

Useful resources:

https://forum.image.sc/t/proposal-for-ome-ngff-table-specification/68908/3
https://github.com/kevinyamauchi/ome-ngff-tables-prototype
https://anndata-tutorials.readthedocs.io/en/latest/index.html

Here is a prototype of the function that returns indices corresponding to a ROI:
def ROI_to_indices(ROI, pxl_sizes=(1,1,6), level=0, coarsening_xy=2):
    x, y, z, len_x, len_y, len_z = ROI[:]
    prefactor = coarsening_xy ** level
    pxl_sizes = (pxl_size[0], pxl_size[1] * prefactor, pxl_size[2] * prefactor)

    start_x = x / pxl_size[0]
    end_x = (x + len_x) / pxl_size[0]
    start_y = y / pxl_size[1]
    end_y = (y + len_y) / pxl_size[1]
    start_z = z / pxl_size[2]
    end_z = (z + len_z) / pxl_size[2]

    return (start_x, end_x, start_y, end_y, start_z, end_z)

Note: this only works for orthogonal ROIs, which are the only ones we plan to support for the moment (AKA: non-orthogonal regions must be placed into a bounding box).
Missing: how to treat pixel rounding for higher levels.

Great! This should then become a library function that different tasks can call.

This is our prototype:
import anndata as ad
import pandas as pd
import numpy as np
import math
import typing
from typing import List, Union, Dict

def convert_ROI_table_to_indices(ROI : ad.AnnData,
                                 level : int = 0,
                                 coarsening_xy : int = 2) -> List[List]:
    list_indices = []

    for FOV in range(ROI.n_obs):

        # Extract data from anndata table
        # FIXME: is there a better way to do this??
        x_micrometer = ROI[FOV, ROI.var_names == "x_micrometer"].X[0, 0]
        y_micrometer = ROI[FOV, ROI.var_names == "y_micrometer"].X[0, 0]
        z_micrometer = ROI[FOV, ROI.var_names == "z_micrometer"].X[0, 0]
        len_x_micrometer = ROI[FOV, ROI.var_names == "len_x_micrometer"].X[0, 0]
        len_y_micrometer = ROI[FOV, ROI.var_names == "len_y_micrometer"].X[0, 0]
        len_z_micrometer = ROI[FOV, ROI.var_names == "len_z_micrometer"].X[0, 0]
        pixel_size_x = ROI[FOV, ROI.var_names == "pixel_size_x"].X[0, 0]
        pixel_size_y = ROI[FOV, ROI.var_names == "pixel_size_y"].X[0, 0]
        pixel_size_z = ROI[FOV, ROI.var_names == "pixel_size_z"].X[0, 0]

        # Set pyramid-level pixel sizes
        prefactor = coarsening_xy ** level
        pixel_size_x *= prefactor
        pixel_size_y *= prefactor

        # Identify indices along the three dimensions
        # FIXME: We don't need Z indices for FOVs, but perhaps we will for
        #        more complex 3D shapes
        start_x = x_micrometer / pixel_size_x
        end_x = (x_micrometer + len_x_micrometer) / pixel_size_x
        start_y = y_micrometer / pixel_size_y
        end_y = (y_micrometer + len_y_micrometer) / pixel_size_y
        start_z = z_micrometer / pixel_size_z
        end_z = (z_micrometer + len_z_micrometer) / pixel_size_z
        indices = [start_z, end_z, start_y, end_y, start_x, end_x]

        # Round indices to lower integer
        # FIXME: to be checked
        indices = list(map(math.floor, indices))

        list_indices.append(indices)

    return list_indices

(I'm pushing it now)

    # FIXME: is there a better way to do this??

I'm also no AnnData expert. If this is really the best way, we can also convert the AnnData dataframe to pandas and then use .loc and such.
Though according to the AnnData documentation, indexing with column names should be possible:

Indexing into an AnnData object can be performed by relative position with numeric indices (like pandas’ iloc()), or by labels (like loc()). To avoid ambiguity with numeric indexing into observations or variables, indexes of the AnnData object are converted to strings by the constructor.

    # FIXME: We don't need Z indices for FOVs, but perhaps we will for
    #        more complex 3D shapes

I think it's a good idea to support 3D ROIs from the beginning. Organoid ROIs may not always cover the whole Z span. Especially when we have 80 or 100 Z slices, it will be very valuable to be able to just select e.g. the 30-50 Z slices that an organoid is in for processing, instead of the whole stack

I think it's a good idea to support 3D ROIs from the beginning. Organoid ROIs may not always cover the whole Z span. Especially when we have 80 or 100 Z slices, it will be very valuable to be able to just select e.g. the 30-50 Z slices that an organoid is in for processing, instead of the whole stack

We need to better define what's the expected output for 2D ROIs, when used to index a 3D array.
Our proposal is to add a num_z_replicas argument, equal to 1 by default. If it is larger than 1, and if the ROIs are actually 2D (which is checked by verifying that their Z indices are equal to [0,1]), then we just create a stack of those 2D ROIs which also loops over Z planes.
The obvious use case is illumination correction, which we want to apply to a bunch of images of shape (1, 2160, 2560).
To be more explicit we are now adding this functionality
        # Default behavior
        if num_z_replicas == 1:
            list_indices.append(indices)
        # Create 3D stack of 2D ROIs
        else:
            # Check that this ROI is 2D, i.e. it has z indices [0:1]
            if start_z != 0 or end_z != 1:
                raise Exception(f"ERROR: num_z_replicas={num_z_replicas}, "
                                f"but [start_z,end_z]={[start_z,end_z]}")
            # Loop over Z planes
            for z_start in range(num_z_replicas):
                indices[0:2] = [z_start, z_start + 1]
                list_indices.append(indices[:])

Comments?

Though according to the AnnData documentation, indexing with column names should be possible:

True.
For some reason in our first test that method failing, and then we switched to this complex approach. Fixed now in https://github.com/fractal-analytics-platform/fractal/commit/e925d1ca8a9e0f5434f4b03ccd24ec278090bdef.
I guess it won't be possible to remove the .X[0, 0] part because those are still two-dimensional tables, but the new version is already quite better - and I would call it acceptable. Also note that this part of code will hardly ever be critical in terms of runtime, so we can be a bit more flexible.

We need to better define what's the expected output for 2D ROIs, when used to index a 3D array.

Good question. To my mind, ROIs are always 3D representations. If we have sites, it's some x & y location plus all the z. If we have an organoid, it is x & y box plus some to all of the z planes.
When a task wants to run per plane, it could lazily process the different planes of a ROI. That would be the more general solution, because then tasks should run on 2D & 3D, just depending on what ROI they get and how they process it.
Regarding the .X[0, 0] part: interesting question, will have to look into that. Do you have an example dataset somewhere on a share so that I could have a look at the AnnData object?

Good question. To my mind, ROIs are always 3D representations. If we have sites, it's some x & y location plus all the z. If we have an organoid, it is x & y box plus some to all of the z planes.
When a task wants to run per plane, it could lazily process the different planes of a ROI. That would be the more general solution, because then tasks should run on 2D & 3D, just depending on what ROI they get and how they process it.

This seems to match with what we proposed in https://github.com/fractal-analytics-platform/fractal/issues/113#issuecomment-1190425774: if ROIs are 2D then we replicate them over all Z planes, while if ROIs are 3D we just use the ones that are defined in the table.
Does this correspond to the expected behavior?

Ah, now I understand. Yes, that is a good idea. As such, the Z parameter is optional and if it's not provided, it's assumed that the ROI contains all Z planes, right?
That actually is a nice generalization! :)

We should decide the default behavior.
The one which is in-place now simply returns the ROIs as they are defined in the table:

If they are 3D, no problem.
If they are 2D ROIs (with trivial Z position and length), then it returns a single set of 2D ROIs (corresponding to Z index equal to 0, which is not really what we care about). Returning the whole set of 2D ROIs is easily achieved by setting num_z_replicas equal to the number of planes, but this number of planes is currently not part of the table so it's not something we can guess.

We can improve this behavior with a constraint that says: if you provided only ROIs which have a trivial Z extensions (corresponding to indices [0:1]), but you did not provide the number of z planes (needed to replicate this ROIs in the Z direction), then we throw an error.

Regarding the .X[0, 0] part: interesting question, will have to look into that. Do you have an example dataset somewhere on a share so that I could have a look at the AnnData object?

You can use this snippet
import numpy as np
import anndata as ad
import zarr
from anndata.experimental import write_elem

adata = ad.AnnData(X=np.arange(6).reshape(2,3), dtype=int)
print(f"First table: {adata}")
adata.obs_names = ["row_A", "row_B"]
adata.var_names = ["col_1", "col_2", "col_3"]
zarr_group = zarr.group("test_anndata.zarr")
write_elem(zarr_group, "table", adata)

adata2 = ad.read_zarr("test_anndata.zarr/table")
print(f"Second table: {adata2}")

single_element = adata2["row_B", "col_2"]
print(f"Single element: {single_element}")
print(f"Single element (data): {single_element.X[0, 0]}")

Maybe we should briefly discuss this, it's a good question. Can we have a quick call at 9:30? (or later today)

As of our last call with @jluethi:

When we construct the original FOV ROIs, we define them as 3D shape that span the entire Z direction (AKA columns, AKA stacks of images).
Some tasks (e.g. per-FOV labeling) require exactly this kind of shapes, so that they won't need any additional logic.
In some other tasks (e.g. illumination correction), we will have to split each 3D ROI into a set of ROIs which correspond to 2D images. This logic is included into the task, and it doesn't lead to another table being saved within the zarr file. Note that 2D images are still 3D arrays, but with a Z depth of one pixel.
When generating a MIP, we convert the original 3D ROIs to new ROIs which only have a Z depth equal to one pixel size in Z (e.g. 1 um). These new ROIs (2D information, stored in a 3D structure) are then saved as a table in the MIP zarr file.
If some future task needs to act on a MIP array at the per-FOV level, it will seamlessly use the corresponding ROI table.

When we construct the original FOV ROIs, we define them as 3D shape that span the entire Z direction (AKA columns, AKA stacks of images).

Can we also extract the Z dimension of a well from the metadata? Or should we parse the filenames?
At the moment this information is not immediately available in the dataframe parsed by metadata_parsing.py.
(this goes together with the other request of parsing the image size - see https://github.com/fractal-analytics-platform/fractal/issues/112#issuecomment-1190220224)

Hmm, I think it's feasible to parse this. Will add this to the list of things to add to metadata_parsing.py  🙂

I close this as lib_regions_of_interest.py should include a comprehensive set of tools:
def prepare_FOV_ROI_table(df: pd.DataFrame) -> ad.AnnData:

def convert_ROI_table_to_indices(
    ROI: ad.AnnData,
    level: int = 0,
    coarsening_xy: int = 2,
    pixel_sizes_zyx: Union[List[float], Tuple[float]] = None,
) -> List[List[int]]:

def convert_ROI_table_to_indices(
    ROI: ad.AnnData,
    level: int = 0,
    coarsening_xy: int = 2,
    pixel_sizes_zyx: Union[List[float], Tuple[float]] = None,
) -> List[List[int]]:

def split_3D_indices_into_z_layers(
    list_indices: List[List[int]],
) -> List[List[int]]:

def _inspect_ROI_table(
    path: str = None,
    level: int = 0,
    coarsening_xy: int = 2,
    pixel_sizes_zyx=[1.0, 0.1625, 0.1625],
) -> None:

def extract_zyx_pixel_sizes_from_zattrs(zattrs_path: str, level: int = 0):

Let's reopen it if something else comes up.


Fix php in alpine 3.5

This pull request fixes php installation when running alpine 3.5 where php7 is available but the default is still php5. Previous implementation assumed php7 would be the default for alpine 3.5.
This also improves the usage of different runtimes by creating a symlink for the provided runtime at the default runtime location (/usr/bin/php) if it not exists. This is needed because php packages expect the binary php to be on PATH. While some OS packages already do this (e.g hhvm on Ubuntu Xenial) some do not (e.g php7 in alpine 3.5)
closes #385

Looks good. Thank you!


init script should not fail when one node starts

I'm working on etcd cluster with DNS discovery. It's a cluster of three nodes.
According to etcd developers DNS must be ready when first node starts. (See https://github.com/coreos/etcd/issues/5909 for context).
When there are three nodes in DNS and the first node starts it expects quorum. However nodes are starting one by one and second doesn't start until first successfully starts.
Even though etcd starts as expected and behaves as expected in this situation the init script exits with non-zero it breaks knife bootstrap.
The init script should exit with zero so second node can start and the cluster becomes operational.
Otherwise it's not possible to start the cluster. Chef will panic on a non-zero code.
The only workaround I see is to start three nodes in parallel which is not appropriate/possible in some cases.

@akuzminsky I get the overall problem, but I'm confused on exactly how the startup fails.  Does etcd go into a waiting state while it waits for quorum? Is that just causing the init script to timeout and exit non-zero? It sounds like we need to update the script, but I want to make sure we don't break exit codes from legitimate failures.

The init script waits until there is a quorum which is not possible at the moment the first node starts.
After timeout the script exits with non-zero that halts the recipe.
I understand it was implemented this way to make sure the service is available when the script exits, but in this case no quorum is a legit situation.

so far I start three nodes simultaneously to workaround the problem, but this is not a good solution

I'm thinking at this point we need to rip the code out that checks the health on start because it makes it nearly impossible to setup a real cluster.

I’m adding the Type: Jump In GitHub label to this issue. This is a great issue for someone to get their feet wet with and we’d love a PR to resolves the issue.

So I have a potentially solution here in this PR. It's not the best solution, but from all the googling I've done there really isn't a solution. There isn't a "first run" sort of keep going mode in etcd. It just loops forever doing elections.
https://github.com/chef-cookbooks/etcd/pull/79


Create a new pull request by comparing changes

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.003%

Covered Lines:
2025

Relevant Lines:
2077

💛  - Coveralls


Support Biometrics on MacOS

One of my favorite things about Enpass is the ability to quickly unlock my vaults with my fingerprint on my Mac.  What are the chances of supporting that?

I believe we would be able to store the master password in the keychain and unlock that using biometrics.
However i'm not directly aware of any libraries to do such a thing.
e.g. https://github.com/keybase/go-keychain/issues/61


Addon manager crashes with a clean install

Attached config.txt is really config.xml, but GitHub doesn't allow XML attachments

config.txt
log.txt
Crashes upon loading (screenshot). Chose a "revert to a clean install" option previously, now can't even get to that screen anymore.

Log file contains peculiar lines:

The remote server returned an error: (403) Forbidden.
at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
at System.Net.WebClient.DownloadString(Uri address)
at System.Net.WebClient.DownloadString(String address)
at GW2_Addon_Manager.ApprovedList.FetchListFromRepo() in C:\Users\Matthew Lee\Documents\GitHub\GW2-UOAOM-Git\application\GW2 Addon Manager\Backend\Addons\ApprovedList.cs:line 34
at GW2_Addon_Manager.ApprovedList.GenerateAddonList() in C:\Users\Matthew Lee\Documents\GitHub\GW2-UOAOM-Git\application\GW2 Addon Manager\Backend\Addons\ApprovedList.cs:line 86
at GW2_Addon_Manager.OpeningViewModel..ctor() in C:\Users\Matthew Lee\Documents\GitHub\GW2-UOAOM-Git\application\GW2 Addon Manager\UI\OpeningPage\OpeningViewModel.cs:line 222
at GW2_Addon_Manager.OpeningViewModel.get_GetInstance() in C:\Users\Matthew Lee\Documents\GitHub\GW2-UOAOM-Git\application\GW2 Addon Manager\UI\OpeningPage\OpeningViewModel.cs:line 237
at GW2_Addon_Manager.OpeningView..ctor() in C:\Users\Matthew Lee\Documents\GitHub\GW2-UOAOM-Git\application\GW2 Addon Manager\UI\OpeningPage\OpeningView.xaml.cs:line 31

Why is it accessing C:\Users\Matthew Lee?

Someone else had the same issue, it's a github issue. Just have to wait a bit.
Critical Error when Launching #109

What does it need the GitHub for? I understand that it checks it for the updates of installed modules, but I'd think that should happen after the UI is loaded, not before?

Overall, I don't think this is just a "GitHub issue" - if there's a rate limit on GitHub, the app should handle that error instead of crashing (and maybe also limit GitHub access to only the absolute necessities)


Updating jquery

Hi,
Lately our security team prevent the use uf jquery 3.2.1. So that we need to update jquery to a newer version. Is there a way to do this ? Like a webpack trick etc ??

jquery is not a dependency of react-slick
You can use yarn why<EMAIL_ADDRESS>to find out which libraries are depending on this jquery version and update them

sorry I thought it comes from devDependencies.

Correct, jQuery is a dev dependency - https://github.com/akiran/react-slick/blob/master/package.json#L65
The version being used has a vulnerability, can we remove this dependency if it's not actually being used?
Thanks


Export events in iCalendar format

It would be nice to be able to subscribe to the events of a subset of the user groups.
http://usergroups.rheinmainrocks.de/calendar/ subscribes to all groups
http://usergroups.rheinmainrocks.de/calendar/?filter=ccczmwi,jugf only exports those two groups.

This has landed in core: http://usergroups.rheinmainrocks.de/ical


pod not found on --env-from with deploy workload type

What happened?
I'm running a command run ... --env-from with a deployment and Gefyra returns:
[ERROR] Cannot copy environment from Pod: Not Found (404).

What did you expect to happen?
The command to successfully exit.
Please provide the output of gefyra check.
[INFO] Docker: Ok
[INFO] Kubernetes: Ok

How can we reproduce it (as minimally and precisely as possible)?
Run gefyra run with --env-from flag using a deployment.
What Kubernetes setup are you working with?

$ kubectl version
# paste output here

OS version

# On Linux:
$ cat /etc/os-release
# paste output here
$ uname -a
# paste output here

# On Windows:
C:\> wmic os get Caption, Version, BuildNumber, OSArchitecture
# paste output here

Anything else we need to know?
No response

This seems to be a problem in the owner_reference check. We kind of assume that every pod has a owner_reference to a replicaset which is obviously not that case, since it could be a job or smth else.
This then throws a 404 when trying to resolve the replicaset.
I believe we can just ignore the 404 and continue the owner_reference check.

Resolved in #381


fix: simplify outputDirParam handling, and plumb through to models

Description of changes
--output-dir flag wasn't applying for codegen models correctly, we needed to plumb the flag all the way through, I also refactored how we detect the flag a bit to simplify the generateModels method a bit.
Issue #, if available
N/A
Description of how you validated changes
Unit tests, verified that both modelgen and model-introspection e2e tests are passing now.
Checklist

[x] PR description included
[x] yarn test passes
[x] Tests are changed or added

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #483 (7fcd3da) into main (a6b3005) will increase coverage by 0.02%.
The diff coverage is 73.68%.

:exclamation: Current head 7fcd3da differs from pull request most recent head bc077c0. Consider uploading reports for the commit bc077c0 to get more accurate results

@@            Coverage Diff             @@
##             main     #483      +/-   ##
==========================================
+ Coverage   85.84%   85.86%   +0.02%
==========================================
  Files         147      148       +1
  Lines        7169     7173       +4
  Branches     1876     1881       +5
==========================================
+ Hits         6154     6159       +5
+ Misses        924      923       -1
  Partials       91       91

Impacted Files
Coverage Δ

packages/appsync-modelgen-plugin/src/preset.ts
0.00% <0.00%> (ø)

...amplify-codegen/src/commands/model-intropection.js
100.00% <100.00%> (ø)

packages/amplify-codegen/src/commands/models.js
86.44% <100.00%> (+2.14%)
:arrow_up:

...ges/amplify-codegen/src/utils/getOutputDirParam.js
100.00% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Big thanks!

Thanks Steph for this interesting, clear, and well-structured project!
It has been a lot of fun to follow it on my esp32
Cheers,
Jesus Ruiz

Hi Jesus,
Thank you for taking the time to give me a nice feedback.
I'm very happy that you liked the tutorial and I hope you will be able to use it in your personal projects.
Regards,
Steph

Hi Jesus,
Thank you for taking the time to give me a nice feedback.
I'm very happy that you liked the tutorial and I hope you will be able to use it in your personal projects.
Regards,
Steph


feat: Execute brillig opcodes with constant inputs at compile-time

Description

Problem*

Resolves #2189
Summary*
This PR executes any Brillig opcodes for which all of the inputs are known at compile time so that we can just create constants for the results to inject where necessary. This allows us to completely solve some test circuits at compile time.
Documentation

[ ] This PR requires documentation updates when merged.

[ ] I will submit a noir-lang/docs PR.

[ ] I will request for and support Dev Rel's help in documenting this PR.

Additional Context

PR Checklist*

[x] I have tested the changes locally.
[x] I have formatted the changes with Prettier and/or cargo fmt on default settings.

Would this still be needed if we only translated the SSA -> Brillig after performing the SSA optimizations? I believe this is something we wanted to do anyway.

I'm not sure however it's pretty self contained so we could always remove it once that's implemented.
https://github.com/noir-lang/noir/issues/2066

Bumping this.


Watch Resource

I havent used that many build tools. But tools like gulp/webpack/grunt all have the concept of watching the source code for changes and reacting to it. I have been noticing this patterns in all dobi projects I have been working on lately.
I think dobi could offer a way for us to have better control over this process and avoid unnecessary files.
I have been using https://github.com/cespare/reflex which it has proven to be the fastest cross platform go implementation and on top of that you could spun multiple watchs task with different reaction commands by simply creating a text file. If I could make a PR to make reflex read from a stdout pipe instead of an actual file this should be easy to implement.
We would also need a way to download the right reflex binary into whatever image the user want to use, or maybe make it a requirement, then check if the image contains reflex on the path at runtime before proceeding watching the files.
// This resource would run  `go run` whernever a .go file changes,
// as well as running `node server.js` whenever any .tsx  or
// ends with .config.js change
watch=dev:
    use: cescoferraro/project:development
    reflex:
      - global: '*.config.js'
        regex: '\.tsx'
        cmd: node server.js
      - regex: '\.go'
        cmd: go run main.go

I think this can be done with a job and image resource in the current version.
If we make a top level watch resource, it would probably be integrated as go code, instead of a container. However the methods for watching code can vary by platform.
Keeping it in a container is nice, because it lets users continue to use gulp/grunt in a container, and not worry about learning the new syntax.

I think we should support this with a regular job resource, which allows users to run whatever they want in a container. Many languages already have standard tools for doing this.
dobi shouldn't replace build tools like gulp/webpack/grunt. It's just a way of providing the necessary docker resources for those tools to run consistently and in different environments.


Icon setting not working in latest react native application

I tried setting up vector icons for a new react (react-native init) but it does not work?
I have done it manually, using react-native link still I get this error saying;  Unrecognized font family "Iconicons"
No idea of what to do next I have been on this for the last three days, used multiple projects still get same results by the way My Xcode is up to date.
I followed a tutorial on Youtube that showed it worked but for an a version of react-native without the .workspace only .xcodeproj.
Any help will be appreciated.

Do you use React 0.60? If so perhaps better to link with the pod update.

run react-native link react-native-vector-icons. It will give a warning, but it should be gone once this library gets updated

As @SeanningTatum said, run react-native link react-native-vector-icons, but afterwards you need to remove all the fonts from Copy Bundle Resources from your XCode project, it should look like this

@durdevic didn't worked for me icons are still not showing. I already have followed the documentation and what you just wrote here. I'm running on React Native 0.60.4

@SeanningTatum I did run react-native link react-native-vector-icons. But it still shows my icons from different families as unavailable. I upgraded to 0.60.5 from 0.59.8 and this happened.
@durdevic Could guide for android?

should work in modern RN


Compiler guide: fixing typos and editorial fixes

Fixing some typos and smaller editorial changes discovered while reading through the guide.

These are all helpful typo-fixing changes. I'm going to be bold and merge them :-).


Adding TMS support when user adds a XYZ basemap url

Add the possibility to support TMS in new basemap XYZ urls.
Info tooltip (help for a better text please).
Removed idle icon.

CONS

Added a new css for this "view", impossible to manage new things without adding new styles, form-content is getting bigger and it doesn't make sense (unless we decide checkboxes will be placed at the end of the input from now on).

Fixes #3694
REVIEWER: @viddo

Frontend tests were OK :+1: (details)

retest this please

Frontend tests were OK :+1: (details)

Frontend tests were OK :+1: (details)

retest this please

@viddo, could you check it?
@josecruz, do you like the interaction?

Frontend tests were OK :+1: (details)

Apart from the CSS thing :+1:

Works perfect for me! Loving it :+1:

Frontend tests were OK :+1: (details)

Frontend tests were OK :+1: (details)


Prevented  splitting on a SignalRW if there's no read_pv

If no read_widget is provided then the SignalRW will not be split and given a TextRead. Combobox will also not be split and supplied read_widgets will be ignored.

Codecov Report

Merging #57 (5b3ffb3) into main (b9c5c22) will decrease coverage by 0.06%.
The diff coverage is 80.00%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@            Coverage Diff             @@
##             main      #57      +/-   ##
==========================================
- Coverage   88.56%   88.51%   -0.06%
==========================================
  Files          22       22
  Lines        1356     1358       +2
==========================================
+ Hits         1201     1202       +1
- Misses        155      156       +1

Files
Coverage Δ

src/pvi/_format/screen.py
95.29% <80.00%> (-0.54%)
:arrow_down:

:mega: Codecov offers a browser extension for seamless coverage viewing on GitHub. Try it in Chrome or Firefox today!


vscode should add a option to control markdown breaks

vscode use markdown-it plugin to render markdown, but use default breaks to false,

C:\Program Files (x86)\Microsoft VS Code\resources\app\extensions\markdown\out\markdownEngine.js
it is not good for markdown-flavor user, please add this options like this.

@XianwuLin Can you please explain what problems the lack of breaks option causes? I'd like to understand the root problem here more before considering exposing this as an option

Closing as the issue needs more context

Because many times I will not add blank line between two lines, if the break is the default option, the two lines will be linked together, this is very affect to use.

Reopening and marking as help wanted. Feel free to submit a PR

Fixed by #28713


Problem unit testing

I've been trying to add unit tests giving fairly complete coverage to /expr/views.go. I've hit a problem with f
func (dv *DeploymentView) AddElements(ehs ...ElementHolder) error {
It may be my lack of understanding of the way the software is supposed to work...
func (dv *DeploymentView) AddElements(ehs ...ElementHolder) error {
	var nodes []*DeploymentNode
	for _, eh := range ehs {
		switch e := eh.(type) {
		case *DeploymentNode:
			if addDeploymentNodeChildren(dv, e) {
				nodes = append(nodes, e)
			}
		case *ContainerInstance:
			if dv.SoftwareSystemID == "" || dv.SoftwareSystemID == Registry[e.ContainerID].(*Container).System.ID {
				addElements(dv.ViewProps, e)
				nodes = append(nodes, e.Parent)
			}
		case *InfrastructureNode:
			addElements(dv.ViewProps, e)
			nodes = append(nodes, e.Parent)
		default:
			return fmt.Errorf("elements of type %T cannot be added to deployment views", eh)
		}
	}
.,.
}

The problem I'm seeing is in the case *ContainerInstance - line 440. The test asks whether dv.SoftwareSystemID == Registry[e.ContainerID] etc.
A good unit test would load Registry map with the e.ContainerID and then execute the AddElements function passing it the appropriate container.
However, the Registry map is created in code in expr/registry.go at line 54. This sets the key to idify(e.System.ID + ":" + e.Name). Since idify appears (if I understand it correctly) to use hashing ( a one way function) - and the function implies there will be a minimum of 2 keys in the map - I'm wondering how to work out which key refers to the container, which to the system etc.
I can understand why one wants unique keys - but why use a one way function? If a two way transform were used it would be much easier to work out the identity of the item in the registry?
Have I missed the point / completely misunderstood?

Good question! Part of the answer is that the ID has to follow a certain format so it can work with the structurizr service. The idea is that the act of adding an element to the registry creates a unique ID. That ID cannot be "guessed" in the absolute (similar to adding a row to a database where the IDs would auto-increment). However to make the DSL work the ID needs to be consistent given properties that uniquely identify an element as per the C4 spec hence the hashing.
So TL;DR one approach here could be for the test to create two container instances in different systems - one that the deployment view is for and one that it's not and then to make sure that only the container instance that corresponds to the right system gets added.

Thanks. I've worked out a way - Test done..


InlineValidationForm should be renamed

https://github.com/iwanalabs/django-htmx-components/blob/3997260f0b9105d1aa9222513bcd78c73bbb69b2/src/components/inline_validation/forms.py#L58
This library is great. I just would make it more generic. This line is e.g. just a demo, and should be named something like DemoInlineValidationForm...

Thank you @nerdoc.
Can you expand on that? Wouldn't DemoInlineValidationForm make it less generic?

Sure. The name "InlineValidationForm" suggests that it is a generic form for inline validation. Instead, it is a form that has a name, email, age and message field - for which you need a special use case. This is no way generic, just a demo for this exact purpose with 4  fields. It even has a fixed form_url = reverse_lazy("form_inline_validation").
It would be much better to provide "generic" forms that can be subclassed - as "HtmxFormBase" does.

I think what you mean now.
I've been thinking about this as more of a thing you copy-paste and customize to your needs. So kind of like Tailwind UI for specific HTMX patterns.
It might be interesting to turn this into a set of components you could import into django-components and customize with a cleaner interface (e.g., subclassing and modifying some attributes), but I'd need to think more about the right approach for that + finding time

Won’t fix for now. But I’ll keep it mind and might revisit it in the future.


Instance grouping/sorting in ADS

Feature Request
Add an option to allow grouping of instances on a given ADS instance.
Feature Information:
Should allow ADS users the ability to sort instances (modern QOL improvement), suggested available sorting options;

Module Type
Application Type (alphabetical sorting ascending/descending)
Friendly Name (alphabetical sorting ascending/descending)
Total hard drive usage (adds a subtext to display currently consumed disk space per given instance)
Running / inactive
(for network users / high license, instance deployments) favorited / focused ability to automatically sort these at the top of the instance list

I confirm:

[x] that I have searched for an existing feature request matching the description.

This was mentioned as an upcoming feature in the roadmap earlier this year. So it's in the pipeline for sure. Don't know the details yet though of how the grouping/filtering will look though.

Any insights in development of this feature?

We're looking at a major change from Knockout.JS to Vue or similar framework beginning any time now. This likely will be addressed at that point.

+1 on this issue :)


Remove .mp4 from Turbopack static assets docs

Turbopack does not support .wav or .mp4 files today so we're removing it from the docs.
Closes TURBO-2550

Thanks for the fix @anthonyshew! Is there an webpack's asset/resource-like loader supported in turbopack?

What would it take to support mp4?


random_uniform causes VM to crash

The code  nd.random_uniform(3) crashes with
[19:51:29] /Users/travis/build/dmlc/mxnet-distro/mxnet-build/dmlc-core/include/dmlc/logging.h:308: [19:51:29] src/operator/random/./sample_op.h:294: Check failed: param.high >= param.low (1 vs. 3) low must be less or equal to high in uniform distribution

caused by
libc++abi.dylib: terminating with uncaught exception of type dmlc::Error: [19:51:29] src/engine/./threaded_engine.h:359: [19:51:29] src/operator/random/./sample_op.h:294: Check failed: param.high >= param.low (1 vs. 3) low must be less or equal to high in uniform distribution

Experienced with mxnet 1.0.0 on macOS Sierra and python 3.6.3

In this case, low=3, high=1, raising an error is consistent with NumPy's random.uniform definition.
When high == low, values of low will be returned. If high < low, the results are officially undefined and may eventually raise an error, i.e. do not rely on this function to behave when passed arguments satisfying that inequality condition.

I think that crashing the VM because of wrong parameter should not be considered a consistent behavior. The right expected behavior should be a python exception.

Agree that crashing the vm is not a desired behavior. Need to add exception handling in frontend.

@anirudh2290 is working on general exception handling.

#9154

#7335


How to set timeout for modal ?

Hi,
Is there a way to make the modal disappear after a certain timeout value ? If it is there, which method should I invoke for that ?
Lets say after 5s I want my modal to automatically disappear from the screen.
Thanks

Hi, react-native-modal is a controlled component, which means you're in charge of showing/hiding the modal whenever you want.
If you want to hide the modal automatically after a certain amount of time you can switch from true to false to its isVisible props using a setTimeout for example.

Okay. Thanks for the clarification @mmazzarolo


Click redeploy in canal Workloads, canal service will not be able to through the health check

What kind of request is this (question/bug/enhancement/feature request):
BUG
Steps to reproduce (least amount of steps as possible):

To create a custom cluster through the UI, rancher server tested version 2.2.2
Switch to the system project, find the canal Workload under the kube-system namespace, and click redeploy：

Result:
Canal Workloads can not run normally, health check failed

Other details that may be helpful:

login node checks port 9099 and finds that the calico-node process is listening on <IP_ADDRESS>

login node  execute curl node_ip:port and return Connection refused

Temporary solution
Through the field resource, add the environment variable FELIX_HEALTHHOST = status.podIP. configure the calico-node process to listen for Node IP so that it can pass the health check normally

https://github.com/rancher/rancher/issues/20749

Also for 2.2.4, with Calico network plugin .

Seems the readiness probe 'host' always goes adversely against the livness probe 'host'. E.g. if sets FELIX_HEALTHHOST = status.podIP, the readiness will probe on localhost, while the liveness will probe on podIP. If removes FELIX_HEALTHHOST = status.podIP, the readiness will probe on podIP, while the liveness will probe on localhost.
This happens on Rancher 2.2.4, using the Custom method to strike up cluster. BTW, i only test this on 2.2.4.
So my temporary solution, is to switch readiness probe way to probe via http request on /readiness on port 9099 rather than using /bin/calico-node --felix-ready --bird-ready after checking the felix code in https://github.com/projectcalico/felix/blob/a676e5ff01053eea91b483908fb81451fdc28b24/fv/health_test.go
@xiaoluhong

The root cause is found.

calico-node -felix-ready, only check localhost instead of real ip readiness, so the workaround with FELIX_HEALTHHOST should not be used, as it conflict the liveness probe against readiness's with command method. Fix it by adding host:localhost into calico-node yaml liveness probe section.
Increase the failureThreshold of readiness probe from 3 to 6, or even bigger if you have a lots of node to build up the bird network. Since bird build-up may take more then 30 seconds for a single node to add in.

Those 2 methods fix the calico-node upgrading failure.
@xiaoluhong

”Fix it by adding host:localhost into calico-node yaml liveness probe section.“ by default "host: localhost" is already set unless you modify calico node through UI.

See #20749.

Close in favor of https://github.com/rancher/rancher/issues/20749


Add Pagga font

I found this amazing font by Sam Hocevar in toilet and made this font importable to js.

I wouldn't mind adding the Pagga font, however, I'm not sure what that last commit is for. Why are all of the fonts updated? Also, I don't want the spacing changed from 4 to 2 spaces.

Ok, this problem with spaces was accidentally due to prettier and "save all"

Sorry, I missed that this was updated. I'll add this into the next release (should probably be within the next week).

Thanks!


just --list --unsorted deals with imports in reverse order.

Hi.
Just noticed the following: whereas just --list --unsorted lists the recipes in the order in which they are defined in the Justfile, it lists the recipes in the imported Justfiles in the reverse order in which the Justfiles are imported.
This is hugely counterintuitive.

Fixed in #2085. Thank you for the report!

You're most welcome. Now, I'll have to reverse all my imports...

Hmmmh. I just built 1.27.0 (which is where I see the puported fix in the git history). And I still see the buggy behaviour.
Justfile:
import "task1.just"
import "task2.just"

[private]
@help:
    just --list --unsorted --justfile "{{ justfile() }}"

task1.just:
task1:
    echo Task 1

task2.just:
task2:
    echo Task 2

When running just, I get:
Available recipes:
    task2
    task1

Wrong ordering.
I don't see it fixed.

Sigh, I fixed it for modules, not imports 😅

Fixed in #2092!

Yes. Much better. However, if you allow me to be a pain, here is another related behaviour, which I'm not sure will be most easy to address:
Justfile:
import "task1.just"
import "task2.just"

[private]
@help:
    just --list --unsorted --justfile "{{ justfile() }}"

task3:
    echo Task 3

That will render as follows:
Available recipes:
    task3
    task1
    task2

Not sure how easy that behaviour will be to fix. Should I open another issue ?

OK.

@casey Wow !! Modules are pretty impressive !! Thank you so much !!


Update to work with Django 2

@recamshak It looks like this tool broke in Django 2 when they moved around a couple imports; this is just a quick one-liner fix to make django-debug-panel know where to look now.

Closing this PR in favor of #29.


Reopen log file after logrotate

When using logrotate to limit log file size in a linux system I cannot get easyloggingpp to reopen the log file after it has been rotated.
I've tried to just do Logger::reconfigure() but seems that is not enough.
Then I tried Helpers::validateFileRolling() but I call it after the file has been rotated so it will not do the fs->close() fs->open().
Any idea how to do this?

After a little investigation I found that log files seem to be open due to a shared_ptr is never releasing the FileStream object and hence the file is never closed.
I made a fix here: https://github.com/muflihun/easyloggingpp/pull/595

Why is this important repair not integrated?

Why is this important repair not integrated?

I had the same problem when using Logger::reconfigure()


Kubernetes Events Either coming delayed or incorrectly

Describe the bug
Feature of kubernetes events to slack sink is showing events which when we trace back on cluster are missing.
So for event notification that are not containing tabular event data in alert, If we cross check events in kube cluster via command
kubectl get events -A
Those events are missing in output of that. Same is case in describe pod output. But events are shown on robusta. So seems wrong events are triggered here.
To Reproduce
Steps to reproduce the behavior:

Enable slack sink for platform runbooks
Trigger some events on a pod
Validate the event got in slack. If event does not contain the tabular event data, check it's kube events via kube console
Events would be missing in Kube but are shown on robusta

Expected behavior
That alert should not have been triggered given that there is no event on cluster supporting that

@arikalon1 is this the bug you found regarding event deletions?

@aantn yes, it is.
The fix is included in release 0.9.0.
Closing


Fix out of tree kernel modules

Similar to #57

Signing the module would also solve this issue! I will definetly have to look into MOK! But I'll do that later since I really don't care that much. After fixing this I will also be able to set module.sig_enforce=1 kernel parameter so that's good :+1:

Again: https://wiki.archlinux.org/title/Signed_kernel_modules

This should be added to my fork of cryptboot!

Ideas
sudo mokutil --import MOK.crt

# TODO: Also get linux-lts!
# TODO: Convert the debian stuff to my setup
VERSION="$(uname -r)"
SHORT_VERSION="$(uname -r | cut -d . -f 1-2)"
KERNEL_MODULES_DIR=/lib/modules/$VERSION/kernel
EXTRA_MODULES_DIR=/lib/modules/$VERSION/extramodules
KBUILD_DIR=/usr/lib/linux-kbuild-$SHORT_VERSION

# Sign kernel
sbsign --key MOK.key --cert MOK.cer "/boot/vmlinuz-$VERSION" --output "/boot/vmlinuz-$VERSION"

# Sign kernel modules
# TODO: kernel modules don't necessarily end with .ko in these directories and they are mostly seperated into subfolders

cd "$KERNEL_MODULES_DIR"
for i in *.ko; do
    "$KBUILD_DIR"/scripts/sign-file sha256 /etc/secureboot/keys/MOK.key /etc/secureboot/keys/MOK.crt "$i"
done
cd "$EXTRA_MODULES_DIR"
for i in *.ko; do
    "$KBUILD_DIR"/scripts/sign-file sha256 /etc/secureboot/keys/MOK.key /etc/secureboot/keys/MOK.crt "$i"
done

https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface/Secure_Boot#shim_with_key

https://unix.stackexchange.com/questions/438954/signing-a-compressed-kernel-module-for-use-with-secure-boot

Maybe there also is an option that lets you use your PK.key/KEK.key/db.key for signing instead of using MOK.key

https://bbs.archlinux.org/viewtopic.php?id=279974

Maybe inspecting this closer and making an implementation for my setup will aolve the issue: https://gist.github.com/sbueringer/bd8cec239c44d66967cf307d808f10c4

It seems that enrolling a MOK requires a reboot!

https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface/Secure_Boot#Shim_with_key_and_GRUB
This seems Like what I have to setup.

It seems that I may have to include all modules in the EFI binary. lsmod should give me a list.
Additional modules are:

acpi_call

It seems that I may have to include all modules in the EFI binary. lsmod should give me a list. Additional modules are:

acpi_call
nvidia
nvidia_modeset
nvidia_uvm
nvidia_drm

They will still need to be signed tho! As always I don't know if this is actually required. But this seems Like a feasible approach

I am really not sure if this is actually necessary

kernel lockdown might also cause this

I'll definetly have to find some way to solve this! Shouldn't be too hard and it is kind of the last step! I really don't want top alter any of the security measures I have taken so I'll have to find a way around them

Also see
https://salsa.debian.org/kernel-team/linux/-/blob/master/debian/signing_templates/sign-file-attach

https://www.rodsbooks.com/efi-bootloaders/controlling-sb.html

Eliminating the need for MOKs—The Shim and PreLoader tools both rely on Machine Owner Keys (MOKs), which are similar to Secure Boot keys but easier to install. Because they can be more easily installed, it's conceivable that they could be more readily abused by social engineering or other means. Eliminating MOKs may therefore slightly increase your security, particularly if you're managing a collection of desktop computers used by other people.

https://download.nvidia.com/XFree86/Linux-aarch64/460.73.01/README/installdriver.html#modulesigning

This finally seems Like the best solution I could've hoped for.
However since Arch is a binary distro I'll have to add a lot of stuff!
https://wiki.gentoo.org/wiki/Signed_kernel_module_support#Manually_signing_modules

Seems very unnecessary, but it might be necessary to build my own linux, linux-zen and linux-lts kernels.
While doing that following theses steps: https://wiki.archlinux.org/title/Signed_kernel_modules#DKMS_support

https://github.com/LeoMeinel/mdadm-encrypted-btrfs/commit/9c0c290ba3573f11eda3fc558ad04cbae19bf93b

https://bbs.archlinux.org/viewtopic.php?pid=2058992#p2058992
I will have to sign my modules with the db.key to get them working! I will Just try the current approach and build on top of that.

kernel modules are signed successfully (out of tree and in tree)!
However now the signed modules don't get loaded at all after booting (the system is thrown into rescue shell). I'd guess that I'll have to sign the kernels aswell.
If that's not it, I'm basically where I started again.
The  modules also work, but their signature isn't verified. lockdown may be the cause of this, however disabling it would mean disabling secureboot aswell
https://man7.org/linux/man-pages/man7/kernel_lockdown.7.html

On an EFI-enabled x86 or arm64 machine, lockdown will be
automatically enabled if the system boots in EFI Secure Boot
mode.

A good thing is that after having the kernel (and not just the modules) signed with the db.key I'll be able to enable module.sig_enforce=1 again

I am not sure if just signing the EFI binaries is enough, but this is a start: https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface/Secure_Boot#Signing_EFI_binaries

https://wiki.archlinux.org/title/Unified_kernel_image

The issue may also be that I am also signing in tree kernel modules with a key that is of course unknown during the build of the kernel, thus generating in tree modules that are signed with an invalid key.
Only signing out of tree modules might be an alternative!

all out of tree modules (those from nvidia-dkms) are in /lib/modules/.../update as far as I know

I am however not sure if they will actually be loaded when signed with an "invalid" key regarding the kernel at least

nvidia modules also fail to load because of kernel lockdown!
Even tho they are signed with the db.key! So it really isn't a solution to use that key to sign modules

kernel lockdown actually seems to be the problem. Even with unsigned kernel modules, the machine manages to boot into tty. While actually having nvidia modules and in tree kernel modules loadable

In my opinion signing them with db.key may actually be completely unnecessary now!
It would probably cause more harm since some parts of the kernel might still expect a valid signature

Only errors I am getting now with unsigned modules are expected! So I'll scrap the signing (or at least comment it) for now!

This should be fixed now by disabling kernel_lockdown and module.sig-enforce!


Clarified topological sort description a bit

More precise description.

Could you give an explanation?

With great pleasure.
Without "may" it implies that a node always depend on previous nodes, which is not the case, it may or may not depend on these nodes, hence "may".
Without "only" it implies that a node depends on nodes from previous set, and that's it. What else could it depend on? Whatever nodes, including next sets, which is obviously wrong. Hence, we should stress that the node depends only on the nodes from previous set.
That's it =)


Discontinue the usage of JSBuild on windows builds.

Since issue bridgedotnet/Bridge#271 was implemented, JSBuild is not used to minify the output files. It now just joins files, a much simpler process that's already done a different way in Linux with bash scripts.
Try to elaborate a simple .bat script (if not feasible, fall to powershell script) that joins the .js files into the main Bridge.js in a similar way the linux scripts does.
The Bridge.min.js, as said above, is no longer needed to be generated during Bridge's own build time. It is now output at the time the Bridge.Builder is run.
Clarifying:

When Bridge itself is built, Bridge.min.js is not required to be generated
When a project is built using Bridge, the Bridge.Builder module will extract Bridge.js and minify it in the exact same process other generated JavaScript files are minified.

Note: It was later found that this issue affected only the Bridge repo, so the current issue is replacing bridgedotnet/Builder#16 originally created.

What would be required to write JSBuild right out of the process? If it's just combining files, there has to be a dozen easy ways to accomplish that process.

I think that the commits above talk by themselves. Only thing remaining is removing pesky BOM from throughout the merged file. I have it done and am in the process of making a NuGet package of the BOM stripping tool. That's the best error-free approach I could think on that does not require PowerShell.

 Thanks @LeonidVeriga for pointing it out

Known limitation: if you use either double quotes (") or backslashes (\) in the copyright= attribute for the project tag, it will break. Use &#xN approach instead (like newlines are imprinted in the attribute).

Should have closed this issue 23 days ago. Probably didn't because of pull request (code is already merged in mainstream).


Testing three common ways that output files are specified

@cjllanwarne did this come from something in particular or just being proactive?

👍

👍


docs: add Vue example

Is your feature request related to a problem? Please describe.
There isn't a problem as such, it's just, official ffmpegwasm org has an react-app example, but no vue-app example. 😕
Describe the solution you'd like
I'd like to propose an example made with Vue 3
Source: https://github.com/vinayakkulkarni/vue-app
Demo: https://vinayakkulkarni.github.io/vue-app/
Describe alternatives you've considered
I've thought about creating a Vue 2.x version as well as a Nuxt version, but sometime later.
Additional context
N/A

Looks great, do you might I add this link to https://ffmpegwasm.github.io ?

Looks great, do you mind I add this link to https://ffmpegwasm.github.io ?

Yea! That'd be awesome!
I can transfer the repo to the org so that we can have a well maintained version in Vue

Hi @vinayakkulkarni
Thanks for the offering! I have invited you to the member of ffmpegwasm, let me know if you have any issue transferring the repository. :smile:

@jeromewu ❤ Thanks for the invite!
I've transferred the repo to the org, you can check it out here - https://github.com/ffmpegwasm/vue-app
The demo is deployed as well - https://ffmpegwasm.github.io/vue-app/
Can you provide me with the privileges to ensure I can maintain the app? I was in the process of offloading the tasks to web worker (ref: feat/add-webworker)
PS. I'm also working on a demo using svelte
PPS. Closing this as the repo has been transferred successfully 💯

@vinayakkulkarni I have raised your permission to admin for that repository, please try it. :smile:

Hello, is there a vue 2 demo ? i am having trouble with laravel mix and vue 2 to add cross origin headers


Geo Naming

please add details on the naming restrictions for geos in this section:
https://docs.microsoft.com/en-us/microsoft-365/enterprise/multi-geo-tenant-configuration?view=o365-worldwide#add-satellite-locations-to-your-tenant
For example, you can't use "-" but you can use "_". It is unclear what the restrictions are.

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

ID: 9f6c94c2-33d6-12a4-ae18-c8448e8cc386
Version Independent ID: a320a3b3-0301-10d7-e3fb-d3794ca248f1
Content: Microsoft 365 Multi-Geo tenant configuration - Microsoft 365 Enterprise
Content Source: microsoft-365/enterprise/multi-geo-tenant-configuration.md
Service: o365-solutions
GitHub Login: @MikePlumleyMSFT
Microsoft Alias: mikeplum

@MikePlumleyMSFT Please help us in resolving this issue. Thanks

@AdwoodMicrosoft can you help?

@AdwoodMicrosoft Gentle reminder.

@MikePlumleyMSFT Or @AdwoodMicrosoft  Could you please confirm &, " /  \ : * - are the restricted characters? I can update the document once I get the confirmation.
Thanks
Sri

Sounds good, those rules should be added to the doc

@msbemba

@msbemba Gentle reminder

@WayneEwington I could not find any set of rules for M365 tenants. Would you be able to provide the details so it can be added to the document?
Thanks
Sri

Unfortunately, I don't know of any specific documentation. However, those rules are owned by the AAD team, so probably best to contact them.

@MikePlumleyMSFT Could you please help us in contacting the AAD team for M365 tenant naming rules?
Thanks
Sri

To make it easier for you to submit feedback on articles on learn.microsoft.com, we're transitioning our feedback system from GitHub Issues to a new experience.
As part of the transition, this GitHub Issue will be moved to a private repository. We're moving Issues to another repository so we can continue working on Issues that were open at the time of the transition. When this Issue is moved, you'll no longer be able to access it.
If you want to provide additional information before this Issue is moved, please update this Issue before December 15th, 2023.
With the new experience, you no longer need to sign in to GitHub to enter and submit your feedback. Instead, you can choose directly on each article's page whether the article was helpful. Then you can then choose one or more reasons for your feedback and optionally provide additional context before you select Submit.
Here's what the new experience looks like.
Note: The new experience is being rolled out across learn.microsoft.com in phases. If you don't see the new experience on an article, please check back later.
First, select whether the article was helpful:

Then, choose at least one reason for your feedback and optionally provide additional details about your feedback:

Article was helpful
Article was unhelpful

Finally, select Submit and you're done!


Password not working when switching to Native wallet

Overview
When switching wallets to Native from any other wallet, when you entering the password it states that the password is invalid. If you just cancel out of that modal, the wallet will load as usual. Even if you don't enter any password at all and exit the password modal, the wallet will load.
References and additional details

Log into app.shapeshift.com and connect to native wallet.
Switch to any other wallet.
Switch back to native wallet.
When prompted for password note that when entering the correct password is comes up with the error "invalid password".
Note that you can exit the password modal without entering a password (or "invalid password") and the wallet loads as usual.

Acceptance Criteria
The wallet should not load if the correct password is not entered. Should not be able to by pass the password and have the wallet load.
Need By Date
No response
Screenshots/Mockups
No response
Ownership

[X] If my bounty needs engineering or needs product I have added the respective labels on the right
[X] As the sponsor of this bounty I will review the changes in a preview environment (ops/product) or review the PR (engineering)

Estimated effort
No response
Sponsor / Stakeholder
No response
Bounty Hunters

Join our discord
Include an expected timeline for you to complete work in the work plan when you apply for this bounty!
Please refer to this link for some basic info
Please do not start work on this issue until you are approved in Gitcoin.

I'll take a look at this in the next few days 👍

@MBMaria
It's because any wallet never gets disconnected if you switch from a wallet to another, meaning that you don't have to enter your password in order to select your native wallet, until it timeout or you click "Disconnect"
We have 2 possibilities:

Close the modal directly without prompting the password view in case the wallet is already initialized
Disconnect the current wallet in case you click somewhere (for example, on click on the "Switch wallet" button?)

Could we talk about it and define the specs?

@MBMaria
It's because any wallet never gets disconnected if you switch from a wallet to another, meaning that you don't have to enter your password in order to select your native wallet, until it timeout or you click "Disconnect"
We have 2 possibilities:

Close the modal directly without prompting the password view in case the wallet is already initialized
Disconnect the current wallet in case you click somewhere (for example, on click on the "Switch wallet" button?)

Could we talk about it and define the specs?

I think that in switching wallet, we should disconnect the current one. isn't this the case for all the other wallets, when switching?

@DiggyDiggy2
When you switch from one wallet to another, the local state of the past wallet isn't cleared, meaning that you can switch to the past wallet without entering your passphrase again, I don't know if it's intended
Would it be fine if you click on Switch Wallet, and you end up on this view with the modal opened?

That would be the simplest way to fix that, the new action of switching wallets would be as simple as Disconnect everything, remove local state and storage, then open the connect wallet modal
Overwise, we could keep the local storage, (which would probably be unneeded anymore in case we clear it while switching?), but don't prompt the password modal while connecting to a wallet you previously connected to

@shapeshift/product - can someone take a look @NeOMakinG comment and respond so we can move forward? Ty

Since we don't really need the user to enter their password if they have already added a native wallet. We can go ahead and close the modal directly without prompting the password view in case the wallet is already initialized

@shapeshift/operations to take another pass to see if still valid.

This ticket is still valid

I can take it, forget about it 😆

I can recreate as well still


Fix typos in Redux

[Current coverage][cc-pull] is 94.61%

Merging [#120][cc-pull] into [master][cc-base-branch] will not change coverage

@@             master       #120   diff @@
==========================================
  Files             6          6
  Lines          1282       1282
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           1213       1213
  Misses           69         69
  Partials          0          0

Powered by Codecov. Last updated by [884df1f...c7e68a0][cc-compare]
[cc-base-branch]: https://codecov.io/gh/azu/JavaScript-Plugin-Architecture/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/azu/JavaScript-Plugin-Architecture/compare/884df1f9019c591740b2ccd8cabe4e868ac3137e...c7e68a0b933fb6a9cc1fa05535d2b97b57120d0a
[cc-pull]: https://codecov.io/gh/azu/JavaScript-Plugin-Architecture/pull/120?src=pr

@orangain Thanks!


Maybe net fixes

Noticed that our sleep timer when using lightning_net_tokio differed from ldk-sample so I fixed that.
This lead me to think maybe our stop checker for causing issues, tried removing that and it seems to help

Nack


Improve semantics of datetime-picker

For people with stricter lint rules, I'd suggest the following updates in datetime-picker.ts:

noGlobalIsNaN -> https://biomejs.dev/linter/rules/no-global-is-nan/ | Affected lines: 49, 86
noSwitchDeclarations → https://biomejs.dev/linter/rules/no-switch-declarations/ | Affected line: 160
noUselessElse → https://biomejs.dev/linter/rules/no-useless-else/ | Affected lines: 190 and following
useTemplate → https://biomejs.dev/linter/rules/use-template/ | Affected lines: 458, 461
noNonNullAssertion → https://biomejs.dev/linter/rules/no-non-null-assertion/ | Affected lines: 648, 687

Not sure if this will still be merged. However, I have changed the initHourFormat function since in my opinion it does not make sense to show the full time format if the granularity parameter is set to minutes or hour.

Huge thanks!!!!


i2d_PublicKey() fails with -1 for DILITHIUM2 key while using OQS provider with OpenSSL 3.2.1

Discussed in https://github.com/orgs/open-quantum-safe/discussions/1968

Originally posted by vk18anubhav October 30, 2024
Hi Team,
I am generating a DILITHIUM2 key in my code using OpenSSL 3.2.1 by loading OQS provider as following
EVP_PKEY *pkey = NULL;
EVP_PKEY_CTX *ctx = (EVP_PKEY_CTX *)NULL;

pkey = EVP_PKEY_new();

ctx = EVP_PKEY_CTX_new_from_name(libctx, "dilithium2", NULL);

EVP_PKEY_keygen_init(ctx);

EVP_PKEY_keygen(ctx, &pkey);

While converting the key to DER format using i2d_PublicKey() , it fails with -1 while i2d_PrivateKey() succeeds.
len = i2d_PublicKey(pkey, NULL); // First call itself fails

if(len < buffer->len)
buffer->len = i2d_PublicKey(pkey, buffer); // This also fails

I tried debugging the issue by putting breakpoints on i2d_PublicKey(), i2d_PrivateKey() and sharing observations
int i2d_PublicKey(const EVP_PKEY *a, unsigned char **pp)
{
    if (evp_pkey_is_provided(a)) {
        static const struct type_and_structure_st output_info[] = {
            { "DER", "type-specific" },
            { "blob", NULL },    /* for EC */
            { NULL, }
        };

        return i2d_provided(a, EVP_PKEY_PUBLIC_KEY, output_info, pp);
    }

int i2d_PrivateKey(const EVP_PKEY *a, unsigned char **pp)
{
    if (evp_pkey_is_provided(a)) {
        static const struct type_and_structure_st output_info[] = {
            { "DER", "type-specific" },
            { "DER", "PrivateKeyInfo" },
            { NULL, }
        };

        return i2d_provided(a, EVP_PKEY_KEYPAIR, output_info, pp);
    }

i2d_provided() calls OSSL_ENCODER_CTX_new_for_pkey(), OSSL_ENCODER_to_data() in loop for members of output_info
OSSL_ENCODER_CTX_new_for_pkey () was using oqsprovider for getting libctx
OSSL_ENCODER_to_data() returns doing nothing for output_type= DER, output_structure= "type-specific" for both private and public key.
OSSL_ENCODER_to_data() succeeds for next output_type= DER, output_structure= “PrivateKeyInfo"  while it fails for output_type= blob, output_structure= NULL for public key and returns with -1

Can you please review on how I can resolve this ?

I am not seeing anything oqsprovider specific in this question: This should be asked in an OpenSSL forum (or maybe is an FAQ there). For validation, could you please use a non-PQ algorithm in your test code and see whether that works as you expect @vk18anubhav ?

The problem is missing encoder for type-specific key.
Using the OpenSSL API "i2d_PublicKey" with an created dilithium2 pkey will fail because a "der + type-specific" decoder will be queried in the OQSProvider but this encoder is not available.
I see  in encode_key2any.c comment out type-specific encoder function like
key_to_type_specific_der_bio. It seems for some reason, this type-specific encoder was deactivated or work in progress?
It is important to be able to convert a pkey into a der hex string.
OpenSSL i2d_PublicKey has following code party:
int i2d_PublicKey(const EVP_PKEY *a, unsigned char *pp)
{
if (evp_pkey_is_provided(a)) {
static const struct type_and_structure_st output_info[] = {
{ "DER", "type-specific" },
{ "blob", NULL },    / for EC */
{ NULL, }
};
    return i2d_provided(a, EVP_PKEY_PUBLIC_KEY, output_info, pp);
}

...
}

I see in encode_key2any.c comment out type-specific encoder function like
key_to_type_specific_der_bio.

Thanks for pointing this out, @wbeck10 . This completely escaped my attention and I wonder why the provider could be used for such a long time (this is 3 year old code) without anyone noticing. As I'm a bit pressed for time, tagging this issue asking the community for help (removing the comment, adding probably missing logic and tests).

I might can help you out here.
I'm working on a commit to get this working.

Pull request created:
https://github.com/open-quantum-safe/oqs-provider/pull/596


CSS

CSS
User Story
As a BootCamp student
I want seasonal collections to be structured on a webpage
so I can easily tell which rug goes where
Acceptance Criteria
GIVEN a practice website
WHEN I view the website
THEN I see a dark blue header and footer, and four boxes with colors corresponding to the seasons

Added images for fall, winter, summer, and spring. also added the header but no footer


Update packages and workflow to work with newer Node.js 8.x LTS

While trying to setup AmiGO environments to take the GOlr products now being produced by the pipeline, we've run into a series of issues centered around the Node.js 8.x LTS distribution--both in how npm handles some situations and package/workflow incompatibilities. This ticket is to be closed when AmiGO 2.5.x has a stable and reproducible build/install environment.

Example issues like:
      866 error Error while executing:
      866 error /usr/bin/git ls-remote -h -t git://github.com/hegemonic/jsdoc-baseline.git
      866 error
      866 error fatal: unable to connect to github.com:
      866 error github.com[0: <IP_ADDRESS>]: errno=Connection timed out

and
      npm ERR! code ENOENT
      npm ERR! errno -2
      npm ERR! syscall rename
      npm ERR! enoent ENOENT: no such file or directory, rename '/home/sjcarbon/local/src/git/amigo/node_modules/npm/node_modules/dezalgo' -> '/home/sjcarbon/local/src/git/amigo/node_modules/npm/node_modules/.dezalgo.DELETE'
      npm ERR! enoent This is related to npm not being able to find a file.

Originating in issues like:
https://github.com/tjunnone/npm-check-updates/issues/355
https://github.com/npm/npm/issues/17444
https://github.com/tailwindcss/tailwindcss/issues/359
[not linking on purpose]
Workarounds are employing npm-check-updates, walking problems forward manually, getting rid of jdocs-baseline and some jdocs ops, and regularly blowing away node_modules and package-lock.json.
Will start a new branch and use it as the testing ground with ansible in AWS.

I think the work is done here; also relevant to #485 as I had to work that out too.

Packaging still weird on tomodachi?

Manual server correction


Logs are missing timestamp

It would be very helpful, if chadburn logs would include a timestamp in order to see, when an event happened.
currently you only see something like:
chadburn                | cron_utils.go:13 ▶ DEBUG removed
chadburn                | cron_utils.go:13 ▶ DEBUG removed
chadburn                | scheduler.go:94 ▶ NOTICE Job deregistered (will not fire again) "optimize" - "php -dmemory_limit=-1 /web/app/console.php index:optimize" - "@every 1d" - ID: 0
chadburn                | scheduler.go:94 ▶ NOTICE Job deregistered (will not fire again) "rebuild" - "php -dmemory_limit=-1 /web/app/console.php index:rebuild" - "@every 2d" - ID: 0
chadburn                | cron_utils.go:13 ▶ DEBUG removed
chadburn                | cron_utils.go:13 ▶ DEBUG removed

Honestly, a rework on the log output would be nice. Maybe a JSON output (at least as option) could be helpful, like many other docker containers (e.g. mattermost, gitlab, ...).
An example could be:
{"timestamp":"2023-11-09 11:28:26.615 +01:00","level":"error","msg":"something went wrong","caller":"scheduler.go:94","container":"traefik"}

I agree. An accurate timestamp as part of the log is essential. I also agree that we should at least have a JSON representation of the logs as an option.
I might tackle this and a few other small things in the next couple days or so.


Fix gas prices RPC

Whoa, I was just trying to understand why it is always empty. Checking if that helps

No type error since we don't type the returns from the services and then use the types from ViewService protobuf – a mistake we have to fix at some point

That's terrible, we definitely need to take care of that

I'll hold off on this PR since @TalDerei  is going to provide more clarification

@Valentine1898 The fixedAltGasPrices struct in the governance proposal was crafted incorrectly with a bracket misalignment, so the prices were interpreted as unknown fields. A new proposal should be submitted with the parameters properly aligned and set correctly.

Ohh 🤯
But it doesn't actually block Max's PR https://github.com/penumbra-zone/web/pull/1614

We should return something like:
return new GasPricesResponse({
    gasPrices,
    altGasPrices,
  });

for all services to get typesafety. Will open another issue for this.


[BUG, v0.6.2] Camera positioned on an animated Node doesn't move.

In 0.5.2, I was able to put a Camera on a Node, then move the Node around to change the view. In 0.6.2, this broke, and although the Node moves, the view doesn't change. I haven't tested in 0.7 yet. I'll be back to post a test case...

@trusktr do you have an example of this?

Every time I try to attach a camera to a Node and then setPosition onUpdate of a component on the same Node, the camera doesn't move in 0.7.0.

@michaelobriena It should be reproducible by doing something like this:

let cameraNode = someNode.addChild()
let camera = new Camera(cameraNode)
camera.setDepth(1000)

// animate the camera.
let camPositionZ = new Transitionable(0)
~function loop() {
    camPositionZ.to(6000, 'easeInOut', 6000).to(0, 'easeInOut', 6000, loop)
}()

let cameraAnimation = cameraNode.addComponent({
    onUpdate: function() {
        cameraNode.setPosition(camPositionZ.get()/3, 0,camPositionZ.get())
        cameraNode.requestUpdateOnNextTick(cameraAnimation)
    }
})
cameraNode.requestUpdateOnNextTick(cameraAnimation)

The camera should move back and forth, but you'll notice it won't.

PR https://github.com/Famous/engine/pull/488


Cloudflare threatened Tavis Ormandy

Reference:
https://twitter.com/taviso/status/1566077115992133634
And CEO's response:
https://twitter.com/eastdakota/status/1566160152684011520

I have no idea what @taviso is talking about. I've confirmed with our public policy and legal teams we never talked to the FTC about any of his work specifically or any work from any team at Google. I will always be appreciative of Tavis finding and alerting us to Cloudbleed.
Sounds like it was a team member not on our public policy or legal team who, on their own, said something to someone at the FTC they had a personal relationship with. That person was not authorized to speak on Cloudflare's behalf and I will address.
Thanks for letting us know. Your Tweet was the first I'd ever heard about it. And I will repeat: I appreciate you finding and alerting us to Cloudbleed.

Sounds like it's been cleared up. AFAIK, this repo is for organization-supported researcher harrasment. This was just some guy that was never backed by the company.
Also, taviso didn't share any sources that backed his claims, so that's to be taken with a grain of salt.

Please see the second Tweet I linked, that has a bit more details. From what I read, it happened, but not with authorization of the parties that should have been involved (CEO, legal, etc).
I think because a threat happened, it is important to include here. BUT, I think it equally important to highlight all the rest to show "follow proper procedure in your org before you do this" as a lessons learned.
Finally, Taviso has a stellar reputation in both technical research, his side projects (e.g. preping), and among his peers. Given what he said, vs what the CEO said, it sounds like a very plausible story especially given "CLoudflare is a big company" and this seems to have happened outside of proper channels.


ERROR trying to generate Angular 2 project: --ng2 is not registered with the new command

- [x ] bug report -> please search issues before submitting
- [ ] feature request

Versions.
1.0.0
Repro steps.
ng new TestApp --ng2
The log given by the failure.
The option '--ng2' is not registered with the new command. Run 'ng new --help' for a list of supported options.
Desired functionality.
That it generates a new project with Angular v.2.x
Mention any other details that might be useful.
See #5566
While trying it better use -si:
ng new TestApp -si --ng2

read https://github.com/angular/angular-cli/wiki/new

I would also like to know how to create an ng2 app with Angular CLI 1.0.0.

Hi @bogacg & @dannypule,
The cli no longer supports creating new projects with ng2 since ng4 is out. This does not mean that it stopped supporting it though you can still build and serve your applications just like before but ng new will always be on the latest major release.

Closing as answered by @RicardoVaranda, there's really nothing else I could say there 😄

I think this is wrong. There will be many libraries / apps that wont make the passage right away.

What happens in the interim period when modules like @ngrx/store don't yet support Angular 4?
Only work around for devs wanting to use ng2 for now would be to install an older version of Angular CLI such as 1.0.0rc4

@dannypule no, you can still install latest version, but have to manually fall back Angular module versions in package.json after ng new. Yet I don't like this forced.


Used without consent

Um, I don't know what this is.  Standard on ALL phones?

Ummm... Is that a joke of some sort? Standard Trying To Get Past The Data Protection Officer, Make A Phone Server LogIn Device, Steal Information, Credit/Debit Card, Routing&Account Numbers, And Blackmail Central

JayP, I have no damn clue what you are talking about.  I just found this account. I did not even know about it.  I was blackmailed. Well, held hostage for ransom.   I do not steal nor blackmail.  Still getting videos on TikTok?  I sent you one you never opened.


Chore: Create CODEOWNERS

Summary

Add a codeowners file to enable code-review-bot functionality

Coverage increased (+0.02%) to 99.49% when pulling f767b74d67faaa6d6f8256e7c3c29108f94a6f58 on jerry/create-codeowners into 1d3d4e05d184991b9866e17f9142a60870308502 on master.

Coverage increased (+0.02%) to 99.49% when pulling f767b74d67faaa6d6f8256e7c3c29108f94a6f58 on jerry/create-codeowners into 1d3d4e05d184991b9866e17f9142a60870308502 on master.


docs: simplify docs

:tada: This PR is included in version 1.7.0-stage.12 :tada:
The release is available on:

npm package (@stage dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.7.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Handle custom resource name in Gateways

There were a few resources that had hardcoded names, which meant multiple gateway input would cause conflict.
This updates #23303

@rytswd: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
128a5688e9f359a147825eb85c99bfd2fe15bb22
link
/test gencheck_istio

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

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

Test name
Commit
Details
Rerun command

gencheck_istio
128a5688e9f359a147825eb85c99bfd2fe15bb22
link
/test gencheck_istio

unit-tests_istio
128a5688e9f359a147825eb85c99bfd2fe15bb22
link
/test unit-tests_istio

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

The failing test case is discussed in https://github.com/istio/istio/pull/22981#discussion_r409778659. I assume the test case needs to be updated as this reflects changing requirement.
(cc @ostromart) If anyone could confirm, that would be appreciated! I'll make the necessary changes to the failing test cases then.

@morvencao Thanks for the pointer. Unfortunately, refresh-goldens would face the same build error here, that the operator/cmd/mesh/manifest-generate_test.go would fail because of unexpected role/rolebinding/sa count. This is the business logic change, and I'm assuming the test case needs to be altered.
I went ahead to include another commit 0d1dafb to fix this test case, and with that, the refresh-goldens succeed, and no golden file changes required as a result.

I'm slightly confused and concerned how this got merged already... It looks like the additional commit 0d1dafb didn't strip the old approval from @howardjohn, and as test cases succeeded it went ahead with the merge?
This raises a concern how some malicious code can creep in without proper code review (intentionally or not). Especially because my commit was altering the test case itself, I could have actually broken the code entirely...

There's a branch protection setting that un-approves changes when new commits come in but we have this turned off, presumably because turning on slows things down too much.
Regarding this change, we will now have separate SAs and bindings for the two gateways in the same namespace. Is that what we want @howardjohn ?


Refactored "SIGINIT" example handler

Hi, it's me again.
This is a short one however! I promise!
Using the current SIGINT overwrite the node process is not correctly exiting because the handler is not stopping the process. To do this calling process.exit() is necessary.

Welcome back @saenglert :smile:

This is a short one however!

I'm not sure about that because I can't reproduce the issue. Here's what I see:
pi@raspberrypi:~/onoff $ node -v
v10.15.3
pi@raspberrypi:~/onoff $ npm list
/home/pi/onoff
└─┬<EMAIL_ADDRESS>  ├─┬<EMAIL_ADDRESS>  │ ├─┬<EMAIL_ADDRESS>  │ │ └──<EMAIL_ADDRESS>  │ └──<EMAIL_ADDRESS>  └──<EMAIL_ADDRESS>
pi@raspberrypi:~/onoff $ cd node_modules/onoff/examples/
pi@raspberrypi:~/onoff/node_modules/onoff/examples $ cat debounce-button.js
"use strict";

const Gpio = require('../onoff').Gpio;
const led = new Gpio(17, 'out');
const button = new Gpio(4, 'in', 'rising', {debounceTimeout: 10});

button.watch((err, value) => {
  if (err) {
    throw err;
  }

  led.writeSync(led.readSync() ^ 1);
});

process.on('SIGINT', () => {
  led.unexport();
  button.unexport();
});

pi@raspberrypi:~/onoff/node_modules/onoff/examples $ node debounce-button.js
^Cpi@raspberrypi:~/onoff/node_modules/onoff/examples $

As can be seen, hitting ctrl+c stops the process. There must be something different on your system.
What versions of onoff and Node.js are you using?
Is something configured differently to "normal" on your Pi?

Told you it's a quick one!
Problem is not related to onoff but the express web framework. There I didn't close the server on exit which in return caused onoff to throw an EBADF error when pressing Ctrl + C a second time.
In my defence: I was just following the Getting Started guide for express and there seems to be no Getting Stopped one ;P


ci: Add ability to find documentation for static functions defined in parent contexts

When the resolveScopedPropertyAccessExpressionNodeToFqn cannot find the definition, try it the extended class

Hmm, from the tests it really doesn't like that, but from the functionality it works nice :-(
Is there any way to do this only when this is request from the editor?
They doesn't seem to be added for a right reason in the tests...

Could you explain what this PR fixes? What do you mean with parent contexts?

eg.
class a {
  static function a () { ... }
}
class b {
}

and then when you call b::a() the language server is able to find the method then (same as PHP does)

Also, could you add a test?

Hi,
The standard TestClass method and variable finds the reference to the call/access, so i think that is what i can test there


issue: 0.3.11 hasn't been pushed on pip

The latest version of open-webui (0.3.11) hasn't been released on pip. Docker is blocked in my country, where the downloading speed is very slow. Therefore, I always install open-webui via pip. Hope that the pip version will be released very soon.

will be fixed when 0.3.12 releases!


docs: specify what permissions are needed for the tokens

https://packit.dev/docs/configuration/#user-configuration-file
it would be nice to expand this section and include info about $subject

now I added that we need read & write repo perms


(Local) snapshots do not show any data in discrete panels

I've tried to share a local snapshot of a dashboard with the discrete panel used. When checking the snapshot however it seems all data for the discrete panel is lost, and nothing is shown.

i'll take a look... have not tried to use snapshots before


Chop summands

Fixes #1096
From the original issue:
>>> from qiskit.aqua.operators import I, X
>>> (0 * X + I) == I
False  # should be True

Now, we have
(0 * X + I).filter_ops_by_coeff(0, 0) == I

or
(0 * X + I).collapse_summands() == I

is true.

Opflow has been moved to Terra. This has not been worked on in some while and is out-of-date. I think it should just simply be closed. @Cryoris this was in response to an Issue you had opened. Is that issue still valid for Terra and should be moved/opened there?

Opflow has been moved to Terra. This has not been worked on in some while and is out-of-date. I think it should just simply be closed. @Cryoris this was in response to an Issue you had opened. Is that issue still valid for Terra and should be moved/opened there?

Yes, sounds good. @JosephDenman, if you still want to pursue this issue feel free to open a PR to qiskit-terra, since the operator flow moved to qiskit.opflow 🙂

Yes, sounds good. @JosephDenman, if you still want to pursue this issue feel free to open a PR to qiskit-terra, since the operator flow moved to qiskit.opflow 🙂

Closing this then as discussed above.

Closing this then as discussed above.


Suggestion and question

Add the data-lity attribute to <a> elements for which you want the links to be opened in a lightbox:

It works to add the attribute directly to an <img> tag as well. That's great, is it suppose to work as well? Please don't remove the support for this.

Yes, that's officially supported and won't go away anytime soon. :)


Be able to configure the selection highlighting behavior

When you highlight text with the Command Prompt (cmd.exe), it just inverts the
colors of whatever you selected:

However the white is a little bright for me, I would prefer gray background.
Can I change the white highlight color, if so how?
http://superuser.com/questions/1293003

The selection color is chosen automatically based on the background color. There's not currently a way to change that behavior.
I'm going to make this the "Be able to configure the highlight behavior" issue. Changing that behavior isn't going to be an easy task, and I'd guestimate that it's pretty far down on the backlog.

Moving this to Terminal product. We would take this as a feature request for the new UI, not the old one.

Yup, other terminals just let you overwrite the highlight color, would be nice to have here as well.

Maybe add two settings...
selectedForeground: "inverted"
selectedBackground: "inverted"
Allow either the word inverted or an explicit colour #000000

I think this should also be tagged as an accessibility issue. The current selection highlighting scheme does not meet contrast ratio requirements for accessibility and with no way to configure it users with impaired sight will have issues.

@ZoeyR you might need to elaborate on that. While I would certainly like to see this fixed, I dont think the current state fails in regard to accessibility. At least not in the default state.
White on black (and black on white) is perfectly readable. The only exeception to this might be users with light sensitivity. Or if you set the color to gray, I would image you might get some gray on gray thats not very readable.

@cup, my bad. I thought this was for customization in the new windows terminal, which doesn't do the inversion, it instead does a 50% opacity of based on the default foreground color.

Oh hey, this issue looks like it got lost.
We merged #3471 months ago which added this to the Terminal. Plus, there's now #3580 for tracking adding a selectionForeground color. I'd say that with that in mind, this can be closed.
Thanks all!


Clear throws NPE

As discussed in https://github.com/FlowingCode/TwinColGridAddon/issues/16

clear() DOES throw an exception (as of 2.0.4-SNAPSHOT) because it's implemented as setValue(getEmptyValue()) and getEmptyValue() returns null.

	at java.base/java.util.Objects.requireNonNull(Objects.java:221)
	at com.flowingcode.vaadin.addons.twincolgrid.TwinColGrid.setValue(TwinColGrid.java:343)
	at com.flowingcode.vaadin.addons.twincolgrid.TwinColGrid.setValue(TwinColGrid.java:1)
	at com.vaadin.flow.component.HasValue.clear(HasValue.java:179)

It should be documented that setValue does not allow null.
https://github.com/vaadin/flow/blob/907cbbd59612ac2e31daf5c1566fb48529d75200/flow-server/src/main/java/com/vaadin/flow/component/HasValue.java#L100-L102

The sorting function works as expected. The elements of the list are not sorted until the user clicks on the sorting arrows next to the column header (as can be seen on the attached gif). As a workaround, the list could be sorted before setting it to the TwinColGrid. Maybe an extra method to sort the grids programatically is needed. (to be implemented in #31)


💡 [REQUEST] - Add ability to use the extraTokenParameters into fetchWithRefreshToken

Summary
In my case, i need to pass same extra params into fetchTokens query, and on refetchToken. But with the current implementation of fetchWithRefreshToken function i can`t do it.
It will be great if you will add it.
Basic Example
Code that i write to do it
export const fetchWithRefreshToken = (props: {
  config: TInternalConfig
  refreshToken: string
}): Promise<TTokenResponse> => {
  const { config, refreshToken } = props
  const refreshRequest: TTokenRequestForRefresh = {
    grant_type: 'refresh_token',
    refresh_token: refreshToken,
    scope: config.scope,
    client_id: config.clientId,
    redirect_uri: config.redirectUri,
    ...config.extraTokenParameters,
  }
  return postTokenRequest(config.tokenEndpoint, refreshRequest)
}

Drawbacks
No response
Unresolved questions
No response
Implementation PR
No response
Reference Issues
No response

Hi @ShpakVl 👋
I agree, think we should implement this as you describe.
Don't think there are any drawbacks really, and would be expected behaviour.


KOGITO-6534 Always pull latest image version of Data Index

Well.. this minimises the versioning problem :smiley:
I'm doing the same change to trusty.

The (build) kogito-examples check has failed. Please check the logs.

@cristianonicolai With this change, I found I can no longer use local images. Can you verify?
For example when the image name is org.kie.kogito/trusty-service-infinispan:2.0.0-SNAPSHOT and I confirm it's in my local cache, Docker still attempts to pull from org.kie.kogito. See https://stackoverflow.com/questions/20481225/how-can-i-use-a-local-image-as-the-base-image-with-a-dockerfile

@manstis updated so it only pulls if image tag is latest.

The (build) kogito-examples check has failed. Please check the logs.

Jenkins rerun kogito-examples tests


Is there an update on new member joining the chat?

Bot API has a way to receive an update about new chat member. But it doesn't look such update exists for tdlib. I found getChatEventLog which does have the information about new and departed chat members, but that is not an update.
Is there such an update, or periodically calling getChatEventLog is a preferred way to react on new / banned members? If so - what are the rate limits for this method? (if this info could be shared)
Thank you

This is not an update, this is a message with the content messageChatAddMembers.
The rate limits are subject to change, especially if a method will be used in an unsupposed way.

Oh, so all of these are not updates, but messages with specific content type. It all makes sense now, thank you!


[n1,n2]bdelete raises E16: Invalid range if buffer n1 or n2 has been wiped out

When using [range]bdelete,  if one of the extremes of the range has been wiped out, then Vim gives an E16: Invalid range. For instance:
vim -u NONE -N file1 file2
:1bw
:1,2bdelete

This works as expected, however:
vim -u NONE -N file1 file2 file3
:2bw
:1,3bdelete

I think that the first example should work as the second one, i.e., it should ignore non-existing buffers.

That is to be expected, since 1 is no valid buffer number anymore. I would suggest using %bd, that should set the index correctly

Thanks for the info. I think that a symbol denoting “the first buffer”, in the same way as $ denotes “the last buffer”, would make sense then, but I can live with the current behaviour. Feel free to close this.

Fixed by 8.1.1908.  Although, that was not the purpose of the patch.


Fix JSON.jl _print deprecation

JSON.lower has been introduced to replace JSON._print, whose overloads will be deprecated in JSON v0.7.0, and will be removed in the future. See https://github.com/JuliaLang/METADATA.jl/pull/5988 for the PR introducing the v0.7.0 tag. I would recommend not merging until the tag is actually merged (it's temporarily stalled because of plans to drop v0.3 support.)

Hi @TotalVerb thanks for the PR. Just FYI there is not currently an active maintainer for Bokeh.jl at the moment. If you are interested in Julia and Bokeh integration, and have the time and interest to contribute on a bigger scale the core Bokeh team would certainly be interested in helping you update Bokeh.jl to current releases. There is a world of difference between Bokeh 0.3 and current ~0.12.2 that is not available to Julia users right now.

@bryevdv @TotalVerb I'm happy to review pull requests here, but don't have time to be the full maintainer and bring the project fully up to date with bokeh.js.

Should be good to merge now.

Thank you, will do!


Improve XplatGenerateReleaseNotes Get PR details performance

Azure DevOps Extensions
Artifact PR Description
Is your feature request related to a problem? Please describe.
As stated in the docs keeping the getPRDetails option to true results in poor performance when generating release notes. In our projects there many repositories and a huge amount of PRs resulting in the pipeline task taking a lot of time. However we can't set this flag to false because we need the PR details in our release notes.
Describe the solution you'd like
We added two optional parameters (getPRDetailsRepositoryId, getPRDetailsRefName) in the task which are then passed to getPullRequests  function and finally to the filter GitPullRequestSearchCriteria.  We then tested locally our changes and observed a significant improvement in the performance of the function.
Describe alternatives you've considered
No response
Additional context
No response

I will have a look at PR #1588, thanks for suggesting it

PR #1588 looks fine, just added a bit more documentation. I will get it merged and it will be released as 4.14.x


[FEATURE] Add Score Card

Is your feature request related to a problem? Please describe.
Currently, as a player you are not aware of how many points you have.
Describe the solution you'd like
Ship this points card:

Link the Avatar to /dashboard

Add a point card for each repo the user is enrolled in above the link cards:

It likely looks better to keep two or three cards in one row (using grid)

To get to the score of a user you need to add up all the pointTransactions of this user

Reach out to Johannes via Discord if you have questions.
Describe alternatives you've considered
No response
Additional context
No response

/assign

/unassign

/assign

/unassign

Unassigned myself,to complete other issues.