2D version of IndexSelector

My usecase is selecting a pixel in a HeatMap and display coordinates of that pixel.
i am working with Raman imaging of nano 2D materials and I have a cube of raman spectra and their x-y points. I take a wavelength to get a x-y map and create a HeatMap with that data. Then I wanted to be able to click anywhere on the HeatMap to obtain that pixel coordinates. I wondered if 2D version of IndexSetector can do this?
I already have worked out how to update a plot of Raman spectra using sliders so I simply needed a more interactive HeatMap.
Great work on bqplot by the way!

Perhaps the on_element_click should be added to HeatMap.

There may be a way if you could use ipyevents. Make the figure as the widget and return the offsetx and offsety with the mouse click. The offsets are pixels from the top left corner of the widget. So if you know the figure width &height and the fig_margins and the x y scales, the position of the mouse click event can be calculated. I need to do it this week so i could post the code here if i can get it to work.

Using ipyevents, i can determine the x and y with a mouse click.  This meant that i could add scatter points over the top of a heatmap (standard bqplot requires the user to click on background of figure).  Other interactions you see including drag was done using standard scatter interactions but could be done with ipyevents.
n.b. the min and max on x and y scales must be set (cannot be none).

from ipyevents import Event

h_figHeatMap = widgets.HTML('Event info')
d_figHeatMap = Event(source=figHeatMap, watched_events=['click'])

def handle_eventFigHeatMap(event):
    h_figHeatMap.value = str(event)
    if event['type'] ==  'click':
        yHeightOfPlotArea = int(figHeatMap.layout.height.replace('px','')) -figHeatMap.fig_margin['top'] - figHeatMap.fig_margin['bottom']
        yPoistioninPixelPlotArea = float(figHeatMap.layout.height.replace('px',''))  - figHeatMap.fig_margin['bottom'] - event['offsetY']
        yRatio = yPoistioninPixelPlotArea / yHeightOfPlotArea
        y = (figHeatMap.marks[0].scales['y'].max - figHeatMap.marks[0].scales['y'].min) * yRatio
#         h_figHeatMap.value=y
        xWidthOfPlotArea = int(figHeatMap.layout.width.replace('px','')) -figHeatMap.fig_margin['left'] - figHeatMap.fig_margin['right']
        xWidthinPixelPlotArea = event['offsetX']  - figHeatMap.fig_margin['left']
        xRatio = xWidthinPixelPlotArea / xWidthOfPlotArea
        x = (figHeatMap.marks[0].scales['x'].max - figHeatMap.marks[0].scales['x'].min) * xRatio

        scatLasso.x = np.hstack((scatLasso.x,np.array([x])))
        scatLasso.y = np.hstack((scatLasso.y,np.array([y])))
#         h.value = str(event)

d_figHeatMap.on_dom_event(handle_eventFigHeatMap)

@DougRzz That's great! Thanks!

Really good work there!

i forgot. the figure in the example above must have the figure.layout.width/height defined as pixels. e.g. figure.layout.width ='600px'. They cant be defined as % or None.

I like to copy the scatter plot too, I wanted to mark positions where I clicked for future referenc. Could you post the complete code you have written here please?

Full working example......

import numpy as np
import bqplot as bq
import ipywidgets as widgets
from ipyevents import Event

np.random.seed(0)
data = np.random.randn(20, 20)

x_sc_HeatMap = bq.LinearScale()
y_sc_HeatMap = bq.LinearScale()
# col_sc_HeatMap = bq.ColorScale(scheme='afmhot')
col_sc_HeatMap = bq.ColorScale(scheme='OrRd')

ax_x_HeatMap = bq.Axis(scale=x_sc_HeatMap)
ax_y_HeatMap = bq.Axis(scale=y_sc_HeatMap, orientation='vertical')
ax_c_HeatMap = bq.ColorAxis(scale=col_sc_HeatMap,side='right')

heatMapMark = bq.HeatMap(x=np.arange(20.0), y=np.arange(20.0), color=data,
               scales={'x': x_sc_HeatMap, 'y': y_sc_HeatMap, 'color': col_sc_HeatMap})

scatLasso = bq.Scatter(x=[], y=[], scales={'x': x_sc_HeatMap, 'y': y_sc_HeatMap}, colors=['orange'],
               enable_move=True, names=np.arange(100))

scatLasso.selected_style={'opacity': 1.0, 'fill': 'DarkOrange', 'stroke': 'Red'}
scatLasso.unselected_style={'opacity': 0.5}

linJoin = bq.Lines(x=scatLasso.x, y=scatLasso.y, scales={'x': x_sc_HeatMap, 'y': y_sc_HeatMap}, colors=['blue'],fill = 'between', fill_opacities=[0.1],fill_colors=['blue'],close_path=False)

def addScatBetween( target):
    """ Create extra points midway between the 2 points selected.  Use dragXY then Ctrl to select more than 1 point"""
    if len(target['new']) == 2 and len(target['old']) == 1: #if going from 1 to 2 selections
        x1 = scatLasso.x[target['new'][0]]
        x2 = scatLasso.x[target['new'][1]]
        y1 = scatLasso.y[target['new'][0]]
        y2 = scatLasso.y[target['new'][1]]
#         print(target)
        firstNum = np.min([target['new'][0],target['new'][1]])
        scatLasso.x = np.hstack((scatLasso.x[:firstNum+1],np.array([(x1+x2)/2]),scatLasso.x[firstNum+1:]))
        scatLasso.y = np.hstack((scatLasso.y[:firstNum+1],np.array([(y1+y2)/2]),scatLasso.y[firstNum+1:]))

widgets.jslink((linJoin,'x'),(scatLasso,'x'))  # link up the line and scatter
widgets.jslink((linJoin,'y'),(scatLasso,'y'))

# update line on change of x or y of scatter
scatLasso.observe(addScatBetween, names=['selected'])

interact_Lassocontrol = widgets.ToggleButtons(options=['Add', 'Delete', 'Drag XY',])
interact_Lassocontrol.style.button_width = '70px'   # ipywidgets 7.0 and above

def change_interact(change):
    interact_parameters = {
     'Add': {'interactions': {'click': None}, # {'click': 'add'}
             'enable_move': False},
     'Delete': {'interactions': {'click': 'delete'},
                'enable_move': False},

     'Drag XY': {'interactions': {'click': 'select'},
                 'enable_move': True,
                 'restrict_x': False,
                 'restrict_y': False},
    }
    for param, value in interact_parameters[interact_Lassocontrol.value].items():
        setattr(scatLasso, param, value)
    if interact_Lassocontrol.value == 'Add':
        d_figHeatMap.watched_events=['click']
    else:
        d_figHeatMap.watched_events=['drag'] # I am not sure how to turn off watched events.  So change to something that won't do much instead

interact_Lassocontrol.observe(change_interact, names='value')

figHeatMap = bq.Figure(marks=[heatMapMark,linJoin,scatLasso], axes=[ax_x_HeatMap, ax_y_HeatMap, ax_c_HeatMap],
             title='', padding_y=0)

#Must set the min and max for scales for ipyevent to work
figHeatMap.marks[0].scales['x'].max = np.max(heatMapMark.x) # initial scales
figHeatMap.marks[0].scales['x'].min = np.min(heatMapMark.x) # initial scales
figHeatMap.marks[0].scales['y'].max = np.max(heatMapMark.y) # initial scales
figHeatMap.marks[0].scales['y'].min = np.min(heatMapMark.y) # initial scales

#  Must set a scale in px for the ipyevents and python function to be able to calculate the position
figHeatMap.layout.height = '700px'
figHeatMap.layout.width = '700px'

colorScaleMin = widgets.FloatSlider(
    value=np.min(heatMapMark.color),
    min=np.min(heatMapMark.color),
    max=np.max(heatMapMark.color),
    step=0.01,
    description='Colour min',
    disabled=False,
    continuous_update=True,
    orientation='vertical',
    readout=True,
    readout_format='.2f',
)

colorScaleMax = widgets.FloatSlider(
    value=np.max(heatMapMark.color),
    min=np.min(heatMapMark.color),
    max=np.max(heatMapMark.color),
    step=0.01,
    description='Colour max:',
    disabled=False,
    continuous_update=True,
    orientation='vertical',
    readout=True,
    readout_format='.2f',
)
colorScaleMaxMin = widgets.VBox([colorScaleMax,colorScaleMin])

widgets.jslink((col_sc_HeatMap, 'min'), (colorScaleMin, 'value'))
widgets.jslink((col_sc_HeatMap, 'max'), (colorScaleMax, 'value'))
widgets.jslink((colorScaleMin, 'max'), (colorScaleMax, 'max'))
widgets.jslink((colorScaleMin, 'min'), (colorScaleMax, 'min'))  # jslinking these wasn't working in ipywidgets-server. Not sure why.

h_figHeatMap = widgets.HTML('Event info')
d_figHeatMap = Event(source=figHeatMap, watched_events=['click'])

def handle_eventFigHeatMap(event):
    h_figHeatMap.value = str(event)
    if event['type'] ==  'click':
        yHeightOfPlotArea = int(figHeatMap.layout.height.replace('px','')) -figHeatMap.fig_margin['top'] - figHeatMap.fig_margin['bottom']
        yPoistioninPixelPlotArea = float(figHeatMap.layout.height.replace('px',''))  - figHeatMap.fig_margin['bottom'] - event['offsetY']
        yRatio = yPoistioninPixelPlotArea / yHeightOfPlotArea
        y = (figHeatMap.marks[0].scales['y'].max - figHeatMap.marks[0].scales['y'].min) * yRatio
#         h_figHeatMap.value=y
        xWidthOfPlotArea = int(figHeatMap.layout.width.replace('px','')) -figHeatMap.fig_margin['left'] - figHeatMap.fig_margin['right']
        xWidthinPixelPlotArea = event['offsetX']  - figHeatMap.fig_margin['left']
        xRatio = xWidthinPixelPlotArea / xWidthOfPlotArea
        x = (figHeatMap.marks[0].scales['x'].max - figHeatMap.marks[0].scales['x'].min) * xRatio

        scatLasso.x = np.hstack((scatLasso.x,np.array([x])))
        scatLasso.y = np.hstack((scatLasso.y,np.array([y])))
#         h.value = str(event)

d_figHeatMap.on_dom_event(handle_eventFigHeatMap)

heatmapVbox = widgets.VBox([widgets.HBox([figHeatMap,colorScaleMaxMin]), interact_Lassocontrol   ])
heatmapVbox

Thank you very much! i really liked the scatter and min max controls and so wondered how they were made.
However, did you test your code in a Jupyter notebook? I have tried to do this and the scatter dots will not appear on click.

@DancingQuanta I did test it.  But when I copied the code from this thread into a notebook, it would only work if I executed the cell twice.  I'm not sure what is going on there. Please try and execute the cell with all the code a couple of times to see if it working.
The mix max controls are just FloatText widgets which are used as inputs for histogramming in the Vaex Python module.  Vaex is great for big data binning.  If your data is columnar and over 10 million rows per column, then Vaex is the way forward.

I forgot to ask, which python version were you using?

Python v3.6


Drag-and-drop of lists isn't broadcast to other clients

If two users are working on the same board, changes to the order of lists is not broadcast.

Fixed in commit 2d60707.


_get_default_schema implementation

As advised at official Telegram channel and in the spirit of get_schema_names

Corresponding issue is https://github.com/cloudflare/sqlalchemy-clickhouse/issues/60

Thanks!


Multi-architecture image builds failing

As a result of the fix in https://github.com/hyperledger/aries-cloudagent-python/pull/2123, for https://github.com/hyperledger/aries-cloudagent-python/issues/2121, the extras, [askar,bbs], are now being installed and this is causing the multi-architecture image builds to fail, specifically the ones for linux/arm64 and linux/386.
The failures arise due to the fact that the visions of the askar and bbs packages defined in the requirements files do not have wheel packages published for the linux/arm64 and linux/386 architectures and they do not have source packages published that would allow for the packages to be built and installed from source.  In the case of the askar dependencies, compatible wheel packages have been published for other versions, just not the ones defined currently.
Steps to reproduce locally:

Get the latest aca-py code.

Run either of the following commands
docker buildx build --no-cache --progress plain -t main --platform linux/386  -f docker/Dockerfile -t aca-py-test-build .
docker buildx build --no-cache --progress plain -t main --platform linux/arm64  -f docker/Dockerfile -t aca-py-test-build .

Review the build failure messages.

In contrast building the linux/amd64 image using the following command succeeds without error:
docker buildx build --no-cache --progress plain -t main --platform linux/amd64  -f docker/Dockerfile -t aca-py-test-build .

Example Results:
The error messages change depending on the order pip tries to resolve the bbs and askar dependencies.
docker buildx build --no-cache --progress plain -t main --platform linux/arm64 -f docker/Dockerfile -t aca-py-test-build .
...
#17 [main  9/10] RUN aries_cloudagent_package=$(find ./ -name "aries_cloudagent*.whl" | head -n 1) &&     echo "Installing ${aries_cloudagent_package} ..." &&     pip install --no-cache-dir --find-links=. ${aries_cloudagent_package}[askar,bbs] &&     rm aries_cloudagent*.whl
#17 0.516 Installing ./aries_cloudagent-0.8.0rc0-py3-none-any.whl ...
#17 13.60 Looking in links: .
#17 13.66 Processing ./aries_cloudagent-0.8.0rc0-py3-none-any.whl
...
#17 58.73 ERROR: Could not find a version that satisfies the requirement ursa-bbs-signatures~=1.0.1; extra == "bbs" (from aries-cloudagent[askar,bbs]) (from versions: none)
#17 58.73 ERROR: No matching distribution found for ursa-bbs-signatures~=1.0.1; extra == "bbs"
...

docker buildx build --no-cache --progress plain -t main --platform linux/386 -f docker/Dockerfile -t aca-py-test-build .
...
#17 [main  9/10] RUN aries_cloudagent_package=$(find ./ -name "aries_cloudagent*.whl" | head -n 1) &&     echo "Installing ${aries_cloudagent_package} ..." &&     pip install --no-cache-dir --find-links=. ${aries_cloudagent_package}[askar,bbs] &&     rm aries_cloudagent*.whl
#17 0.477 Installing ./aries_cloudagent-0.8.0rc0-py3-none-any.whl ...
#17 1.884 Looking in links: .
...
#17 19.30 ERROR: Could not find a version that satisfies the requirement indy-credx~=0.3; extra == "askar" (from aries-cloudagent[askar,bbs]) (from versions: 0.2.1, 0.2.3)
#17 19.30 ERROR: No matching distribution found for indy-credx~=0.3; extra == "askar"...

cc @andrewwhitehead, @dbluhm, @swcurran

The obvious fix is to update the publishing for the affected askar and bbs requirements and update the requirements.bbs.txt, and requirements.askar.txt files.  However I'm not familiar with the work or effort needed.

I believe the solution will be to bump the versions — the new builds for the libraries I think support multiple platforms.  We need to get the versions that support that officially released.  Is that correct @andrewwhitehead ?

ursa-bbs-signatures (https://github.com/mattrglobal/ffi-bbs-signatures) does not publish supporting packages.

That’s not good. Can we remove BBS+ from ACA-Py unless explicitly added?  E.g. separate it out the way indy-idk and Askar are included?

Summary of work that needs to be done to support multiarchitecture aca-py images:

The published packages for aries-askar, indy-credx, and indy-vdr need to be updated/released with support for linux/arm64 and linux/386; either in binary or source form.
The requirements.askar.txt file needs to be updated to reference the updated releases.
In order to support BBS+, the same steps need to be taken with the published packages for ursa-bbs-signatures which are associated with the mattrglobal/ffi-bbs-signatures project.

To be a bit more precise, given the current state of where we want to go -- indy-credx needs to be replaced by anoncreds-rs, and the version of anoncreds-rs used needs to have support for the different architectures.
Sigh...

Any news on it? The multi-arch images are still disabled?

Yes, they are still disabled.  We're waiting on the multi-arch support to be added to the dependencies as listed above.

Is this something we could tackle next, based on the anoncreds-rs work and having non-indy images now?
@swcurran @WadeBarnes @andrewwhitehead

The issue is with the BBS Signatures dependency.  The work needed to do that is (at a high level) documented in this issue — https://github.com/hyperledger/aries-bbssignatures-rs/issues/8. I was going to see if @amanji could do that one prior to his next big assignment.

The issue is with the BBS Signatures dependency. The work needed to do that is (at a high level) documented in this issue — hyperledger/aries-bbssignatures-rs#8. I was going to see if @amanji could do that one prior to his next big assignment.

Thanks for the clarification. Yes, this would be a good "filler" if capacity allows for it, I will let @amanji decide on that.

As we're still waiting on items for the next assignment, I've spoken with Andrew and will make a move on this today.

Just for completeness. I have tried to install aires-cloudagent-python on Raspberry Pi 4 (ARM Cortex-A53 processor) by manually building libraries for ries-askar indy-credx and indy-vdr. For indy-vdr and aries-askar I do not faced any problem. For indy-credx the compilation is successful

But when I try to release new credentials or a new scheme I receive an error from the bindings.py wrapper script

I have tried with indy-credx==1.0.0, please let me know if a workaround exists for solving this problem or if you are working on it .. or if it can be a problem related to the version used (I do not tink so because it only appears on raspberry, while docker works perfectly!)

That’s not good — the dependency on ursa-bbs-signatures should have been removed and replaced with aries-bbs-signatures.  That change won't solve the arm64 issue, but I thought that change had been made a year ago or so.
@andrewwhitehead  — can you please list the steps needed to move the BBS Signatures such that it would be up to date and support arm64 platforms?  What work should be done to get there?
Thanks!

aries-bbssignatures-rs actually just replaces the bbs crate which ursa-bbs-signatures (aka ffi-bbs-signatures) has as a dependency. There were a few changes made in the process, but it looks like switching the wrapper crate over to use aries-bbssignatures should be straightforward (it's compiling locally for me).
The other steps are listed in the linked issue but aries-bbssignatures needs to be published, first, and then the release workflow for ffs-bbs-signatures updated to publish arm64 packages.

From the ACA-Pug calls, here are the range of options for solving this by removing BBS Signatures from the primary path.

Create Docker images that don't have BBS SIgnatures Signatures included, and provide guidance on install time changes needed to add it.

Kind of like a plugin – deployers must explicitly add BBS vs. expecting to be there.
Variation: Multiple tags – e.g. one with a different tag for "with BBS" and "without BBS".

What goes in the current tag, what goes in the version with the new tag?  No BBS in current, BBS in the new tag.

Switch to another implementation?

Multiple, non-interoperable implementations.  It's not clear which one to switch to.

THE "CORRECT" OPTION – BUT MORE WORK Move current implementation to a plugin

Allows those using it (is there anyone?) to use the plugin.
This is the pattern we are moving to – removing from core.
Allows for other implementations in the same pattern.

Drop the support for BBS entirely for now.

The "next gen" BBS signatures implementations are coming – wait for them and add back then.

Comments from chat:

08:50:41     From Daniel Bluhm : I have the same question as Patrick; if it's not getting used or is pretty far out of spec, is it worth going through the effort of keeping it going?
08:50:51     From Colton Wolkins : #4 drops it completely, instead of allowing it as an option (from my understanding)
08:52:45     From Daniel Bluhm : Plugin-ifying would probably require the most development effort to execute
08:53:07     From Daniel Bluhm : There are some hacky spots to support BBS keys that would need to be addressed
08:56:43     From Daniel Bluhm : We've been able to work around it for our development focus for those on my team using M*, though it is a frequent headache still. Just not blocking.
08:57:53     From Colton Wolkins : Isn't it by running the containers in amd64 mode or something like that?
08:57:54     From Emiliano Suñé : "We've been able to work around it for our development focus for those on my team using M*, though it is a frequent headache still. Just not blocking". Do you have tips/recommendations we may want to include in the docs in the meantime for this? I usually happen to switch to using arm64 right after I forgot what I did the time before to get it working...
08:58:46     From Emiliano Suñé : If you are running the image you can specify the platform, but if you are developing (i.e.: devcontainer) it will complain about the architecture when installing dependencies in the first place since the proper binaries are not available
09:00:07     From Colton Wolkins : I don't have a Mac, so I can't 100% vouch for this, but I'm seeing this export internally @Emiliano Suñé : export DOCKER_DEFAULT_PLATFORM=linux/amd64
09:00:08     From Colton Wolkins : [This is an encrypted message]
09:00:14     From Daniel Bluhm : We haven't gotten into the habit of using devcontainers (yet) at least but yeah, it's that platform flag that we use, specifying linux/amd64

Just to add 2 cents to this.
I tested building this on my M2 Mac and can confirm 1.0.0rc6 builds successfully 🎉
All previous versions do not build on my local.
docker build -t acapy-agent -f ./docker/Dockerfile .

I've tested re-enabling the linux/arm64 platform in CI
https://github.com/didx-xyz/aries-cloudagent-python/actions/runs/10419734030/job/28858389568
Building and pushing the regular image works, but the extended image seems to fail.
#36 19.80 INFO: pip is looking at multiple versions of aries-cloudagent[askar,bbs,didcommv2] to determine which version is compatible with other requirements. This could take a while.
#36 19.82 ERROR: Could not find a version that satisfies the requirement ursa-bbs-signatures<1.1.0,>=1.0.1; extra == "bbs" (from aries-cloudagent[askar,bbs,didcommv2]) (from versions: none)
#36 20.45 ERROR: No matching distribution found for ursa-bbs-signatures<1.1.0,>=1.0.1; extra == "bbs"

linux/386 still fails

The extended image will not work for multi-architecture, because it includes BBS (as your log indicates), and it is the lack of a multi-architecture BBS artifact that prevents multi-architecture from working.  So I think what you are seeing is expected.


Re Opening #95

https://github.com/BenPru/luxtronik/issues/95
Hello,
It is clear that these are entity IDs, but the status is not displayed in German although the system language is German! (see pictures)
Attached is also the excerpt from the Config where the translation is listed.
How can I change this?
Best regards

Originally posted by @marcelhen in https://github.com/BenPru/luxtronik/issues/95#issuecomment-1523318399

You have edited "swimming pool/solar". Please have a look in the log. Do you get any messages for "luxtronik"?
Please attach your complete sensor.de.json file in this ticket. Perhaps it has a wrong syntax.
You have reinstalled the integration, but the sensor.de.json file is not the original. Do you have a problem with the file permissions?
Which luxtronik integration version are you using? 2023.03.24?

Hello,
I have the same problem as @marcelhen .
The YAML files are unchanged for me. Luxtronik2 version is the 2023.03.24
With the HA version 2023.3.6 the translation works correctly, since the change to 2023.4.x I have the error.
Best regards

You have edited "swimming pool/solar". Please have a look in the log. Do you get any messages for "luxtronik"?
Please attach your complete sensor.de.json file in this ticket. Perhaps it has a wrong syntax.
You have reinstalled the integration, but the sensor.de.json file is not the original. Do you have a problem with the file permissions?
Which luxtronik integration version are you using? 2023.03.24?

Hello.
I use 2023.03.24 I have only changed the designation to "photovoltaic" because I operate a PV system and this runs via the swimming pool function with the comfort circuit board. This has no effect and I don't get any error messages use.
Best regards

@marcelhen Is the problem still there?
If yes, please upload a diagnostic file in the ticket.

Hy @BenPru I have installed the Version “2023.9.11-Alpha-Core-Preview” and for me it works fine!!!! But I have only a problem with the outdoor temperature sensor there is no update on this!!!!

problem with the outdoor temperature sensor there is no update on this!!!!

Yes, this is also my problem. But I thougth it was only a local change problem.
But I have an idea. I try something...

See 2023.9.12-Alpha-Core-Preview


fix: update keyboard to show amber keys

:tada: This PR is included in version 1.1.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


updated image files

Added image files to the project (public/images).

Please review as soon as possible so that this can be added to the main branch. Thank you.

Looks good. We can approve this and I'll update the works/home page on my end.


remove internal port from template

Signed-off-by: Chun Lin Yang<EMAIL_ADDRESS>this PR is to address the comments from @costinm

Please use it as default value in code, as it is used in a lot of other places.We do not need to add a user option for every internal port or thing that shows up in a template.

FYI @costinm
And to help us figure out who should review this PR, please
put an X in all the areas that this PR affects.
[x] Configuration Infrastructure
[ ] Docs
[x] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: clyang82
To complete the pull request process, please assign geeknoid
You can assign the PR to them by writing /assign @geeknoid in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

galley/OWNERS
install/kubernetes/helm/istio/charts/galley/OWNERS
install/kubernetes/helm/istio/charts/sidecarInjectorWebhook/OWNERS

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

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

Test name
Commit
Details
Rerun command

integ-new-install-k8s-presubmit-tests-master
39f526857a4ebf9c81aaeff9a54d58f5feda57f1
link
/test integ-new-install-k8s-presubmit-tests-master

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.

@clyang82: PR needs rebase.

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.

will address it in another issue. so close it.


Crash upon trying to upload with wrong time set

Setting:

Ubuntu + Chrome
Chunked multipart upload to an Amazon S3 bucket using back end signed signatures
using Fineuploader core

To reproduce:

Set your time to a day ahead and try uploading a large file

Fineuploader will then generate the signature and initiate a POST to amazon (https://.s3.amazonaws.com/).
However, since the timestamp is off, Amazon returns:
<?xml version="1.0" encoding="UTF-8"?>
<Error>RequestTimeTooSkewed<Message>The difference between the request time and the current time is too large.</Message><RequestTime>Fri, 04 Sep 2015 11:34:42 GMT</RequestTime><ServerTime>2015-09-03T11:34:46Z</ServerTime><MaxAllowedSkewMilliseconds>900000</MaxAllowedSkewMilliseconds><RequestId>E127F693FBCD87E9</RequestId><HostId>IrRdeOiIfA/0BW8ZjtWZTagqWKKiKZA+aJgjgFEd+zoJlwfR6jGNyHuyv5xOv298BXwmlepyxuA=</HostId></Error>

Which then leads to the following error logs:
[Fine Uploader 5.2.2] POST request for 1 has failed - response code 403qq.log @ app.js:9qq.basePublicApi.log @ app.js:9(anonymous function) @ app.js:9s @ app.js:10(anonymous function) @ app.js:10
app.js:9 [Fine Uploader 5.2.2] Specific problem detected initiating multipart upload request for 1: 'The difference between the request time and the current time is too large.'.qq.log @ app.js:9qq.basePublicApi.log @ app.js:9(anonymous function) @ app.js:9n @ app.js:13s @ app.js:10(anonymous function) @ app.js:10
app.js:9 [Fine Uploader 5.2.2] Caught exception in 'onComplete' callback - Cannot read property 'status' of undefinedqq.log @ app.js:9qq.basePublicApi.log @ app.js:9t @ app.js:10e._options.callbacks.(anonymous function) @ app.js:10a.onComplete @ app.js:9p.cleanup @ app.js:10(anonymous function) @ app.js:10(anonymous function) @ app.js:9qq.each @ app.js:9qq.extend.failure @ app.js:9(anonymous function) @ app.js:9qq.each @ app.js:9qq.extend.failure @ app.js:9(anonymous function) @ app.js:13(anonymous function) @ app.js:9qq.each @ app.js:9qq.extend.failure @ app.js:9(anonymous function) @ app.js:13(anonymous function) @ app.js:9qq.each @ app.js:9qq.extend.failure @ app.js:9n @ app.js:13s @ app.js:10(anonymous function) @ app.js:10
app.js:12 Uncaught TypeError: Cannot read property 'temp' of undefined

and ends in an uncaught TypeError on fineuploader's side.

This indicates an issue with your onComplete callback handler. It appears as if you are attempting to reference an undefined variable.

Nope,
I emptied my onComplete function and I'm still able to reproduce the error.
It happens in:
s3.fine-uploader.js:5237 Uncaught TypeError: Cannot read property 'temp' of undefined

which is:
clearXhr: function(id, chunkIdx) {
            var tempState = handler._getFileState(id).temp; // here handler._getFileState(id) is undefined

            if (tempState.xhrs) {
                delete tempState.xhrs[chunkIdx];
            }
            if (tempState.ajaxRequesters) {
                delete tempState.ajaxRequesters[chunkIdx];
            }
        },

I'm not seeing this issue with 5.3.1. If you still are after upgrading, let me know and provide all of your client-side configuration code for easier reproduction.

I am getting same issue
fine-uploader.core.js:960 Uncaught (in promise) TypeError: Cannot read property 'status' of undefined
    at webpackJsonp../node_modules/fine-uploader/fine-uploader/fine-uploader.core.js.qq.UploadData.setStatus (fine-uploader.core.js:960)
    at webpackJsonp../node_modules/fine-uploader/fine-uploader/fine-uploader.core.js.qq.FineUploaderBasic._onDelete (fine-uploader.core.js:2112)
    at Object.onDelete [as onSend] (fine-uploader.core.js:1399)
    at sendRequest (fine-uploader.core.js:2786)
    at prepareToSend (fine-uploader.core.js:2887)
    at Object.send (fine-uploader.core.js:2923)
    at webpackJsonp../node_modules/fine-uploader/fine-uploader/fine-uploader.core.js.qq.FineUploaderBasic.sendDelete (fine-uploader.core.js:4052)
    at Object.onSuccess (fine-uploader.core.js:460)
    at fine-uploader.core.js:1806


belongsToMany relationship cannot be included

I'm getting an error with a belongsToMany, and we want to include that relationship for a collection via a transformer. I've ignored the lazy vs eager loading issue for now; everything is just lazy loaded.

Argument 1 passed to Fs\Transformers\CategoryTransformer::transform() must be an instance of Fs\Category, instance of Illuminate\Database\Eloquent\Collection given, called in /var/www/filmsupply.dev/vendor/league/fractal/src/Scope.php on line 263 and defined

Looks like it may something to do with the data is being transformed to an array with a data array key  (DataArraySerializer).
// ClipTransformer
public function transform(Clip $clip)
{
    return [
        'id' => (int)$clip->id,
        'name' => $clip->name,
    ];
}

public function includeCategories(Clip $clip)
{
    $categories = $clip->categories;

    return $this->item($categories, new CategoryTransformer);
}

//CategoryTransformer
public function transform(Category $category)
{
    return [
        'id' => (int)$category->id,
        'name' => $category->name,
    ];
}

Engraçado já o meu funcionou com item.... se eu colocar o colletion, dá esse mesmo erro do colega assima....
return $this->item($categories, new CategoryTransformer);


usobasicinstallationfileszip_25052448

Add content:

[UT2004 MUTATOR] USOBasicInstallationFiles

Submission log: https://unrealarchive.org/submit/#25052448

This content is entirely useless on its own. It appears to be somoene's assembled cache dump. There are no int files, not maps, nothing of actual usable value without any context.

It's the companion piece for this map:  https://unrealarchive.org/maps/unreal-tournament-2004/onslaught/T/ons-torlan-usoparadise-v1f_ebe02ef6.html
But I suppose without int files it is, indeed, of no use.

I'm trying to see if there's a way of loading files with no defined content type.
Since the files will still have potential value in that as you say, they're potentially needed by other things.
So I'm keeping this around and leaving it open until I figure that out.

I've repacked this with the original map which needs it.


Fix #108: Add version command

Adds a simple version command using ldflags on build

No worries! I'll update the goreleaser as well and see if I can test that out locally as well.

@nabuskey Ready for review, barring the tests passing. Not sure if that's related to this PR or not.
locally, this works really well, and I believe this will work well in CI. I don't know if I can add tests for this command effectively... do you know where those might go if I could add them? or if there are any tests for the create command?
local test results:


Concurrency no longer works in 1.8.3 (works fine in 1.8.2)

What is your Test Scenario?
I want to run tests using the -c flag for concurrency.
What is the Current behavior?
Multiple browser windows open, while only 1 of them runs tests. The remaining windows show the "TestCafe CONNECTED" message.
What is the Expected behavior?
All browser windows should be running the tests.
What is your web application and your TestCafe test code?
N/A
Steps to Reproduce:

Run testcafe -c 4 -q --reporter list chrome anytest.js

Your Environment details:

testcafe version: 1.8.3
node.js version: v12.14.1
command-line arguments: testcafe -c 4 -q --reporter list chrome anytest.js
browser name and version: Chrome 80, Firefox 75
platform and version: Windows 10
other: TestCafe version 1.8.2 works as expected

Hello,
I was not able to reproduce the issue using this the following tests (and cli command as you mentioned):
fixture`f1`
    .page`http://example.com`;

for (let i = 0; i < 20; i++) {
    test('test', async t => {
        await t.click('h1');
    });
}

fixture`f2`
    .page`http://example.com`;

for (let i = 0; i < 20; i++) {
    test('test', async t => {
        await t.click('h1');
    });
}

Could you please check my tests on your side?
If they work, we would really appreciate it if you share your tests. They will help us reproduce and investigate the issue.

Your test worked fine, @AlexKamaev. Thank you for providing an example. I don't believe we're doing anything strange with our tests, and will check with the team to see if we can provide something for you.

I am facing the same issue. Fixtures were running in parallel till v 1.8.2. Since upgrading to 1.8.3, fixtures run sequentially in a single window. Providing --concurrency n, does open n windows, but all the fixtures run sequentially only in 1 of the browsers.
Here is a sample repo to reproduce the same: https://github.com/siddharthdhar/testcafe.poc

In my case problems started with version 1.7.0 - on 1.6.1 my tests run 35min - on 1.8.3 2h28min

@paulh-adion
Hello,
Thank you for the additional information. We reproduced the issue. We will examine it and check for a suitable solution.

@AdaskoTheBeAsT
Hello,
That is strange. We cannot say whether your case is related to the original issue.
Feel free to share with us your minimal project.

@Farfurix
Hi,
I will try to prepare some minimal sample

For me it stopped working after upgrading from 1.7 to anything about 1.7. We are running tests inside docker.

in my case version 1.8.4 fixed issue with performance


Fix deployments on gce ignition

This pr should fix the issue described in #434
/cc @prateekgogia
/assign @pipejakob

Didn't notice that there is already a fix done by @pipejakob in  #441.
So closing this


Shade Guava manually

It's suggested to create a module called "guava" in Druid that copies the Guava source tree (without tests) and prohibit using the real Guava in Druid source code via Checkstyle.
Shading Guava automatically using a plugin is not possible because Druid's dependencies depend on older Guava versions that are binary-incompatible with the freshest Guava. Repackaging all such dependencies doesn't seem to be a feasible task.
One could say that copying source code of a library is bad because we won't receive updates and bug fixes that happen in the upstream, but we aren't receiving them currently anyway, using the ancient 16.0.1 version!

To me it seems that there is a problem with Charles's approach (in #6948 and #6815) (also we have Closer and maybe some other classes copied from Guava already): this is very ad-hoc, each class is copied independently. There is no list of them all. Each class should be updated in separation. The likely result is that we probably won't update them.

I started with classloader reflection approaches, but people asked instead that the classes be copied over. (See the multiple declarations of support for copying the code in https://github.com/apache/incubator-druid/pull/6815 ).
I couldn't find a strong enough argument to refute it, and having the code in the codebase that we critically rely on has proven pretty sustainable in the past.

@drcrallen I'm still not sure what are the benefits of the reflection approach for this issue. Would you elaborate more?

One of the challenges I've faced with shading is that it becomes very hard to figure out which version of a library is actually deployed in a production cluster. With reflection, the jars are kept separate and it is easier to debug exactly which version things are coming from. With shading you loose the version information, and can accidentally shade (or neglect to shade) things which should not have (or should have) been shaded.
In such scenarios tracking down which version of what libs are getting pulled into which dependencies at what point in the build and deploy process is a huge pain. It is much easier to go "Oh, I see version X.Y.Z and X.Q.R in the lib dir, those must have a conflict" and then work out how to make them play nice together.

@drcrallen could you please reply to https://github.com/apache/incubator-druid/issues/6942#issuecomment-459687733?

Re https://github.com/apache/incubator-druid/issues/6942#issuecomment-459687733 : I do not see the alternative here. Being "stuck" on an old copy of the code is no worse than being stuck on an old version of the lib.
Yes it is ad hoc because it shouldn't be normal practice. Some of the functionalities are superseded by updates to other core libraries (like in the JRE itself) and the longer term support ones should be favored. Some can be modified to use apis that have long term support from Guava (or similar libraries) and should probably do that. But for some, the only way to maintain long term support in druid is to do it ourselves.
If you are worried about tracking how often we do this, maybe a 3rdparty module would suffice? We would keep code that has this kind of long-term-support wrappers in there?

@drcrallen it seems that we don't understand each other here.

I do not see the alternative here.

The alternative is suggested by this issue: to copy the whole source tree of Guava as a module in Druid.

It sounds like the approaches being proposed are,
@drcrallen's proposal, embodied in #6948, to keep ourselves at Guava 16.0.1, but endeavor, through reflection and some limited copying, to be compatible with a wide range of Guava versions that may get subbed in at runtime.
@leventov's proposal, to copy the entire, latest Guava source tree into Druid, like we've done for Closer and some utility functions in the past.
I feel like @leventov's approach has a certain appeal to it -- it's simple, and 'guaranteed to work'. If we did it, it should really be done in an automated fashion, so we can easily stay up to date. But @drcrallen's has appeal too. A wholesale copy of a relatively large project like Guava into Druid is a bit ugly, so @drcrallen's approach is more elegant in my eyes. And we don't have to maintain a system that automates copying Guava into Druid as Guava evolves. And it gives users more control over what Guava version they run. #6948 also has the advantage of already being coded up. And, if we use the Guava 11 and Guava 'latest' profiles in CI, we can make sure that we are actually compatible, giving us that 'guaranteed to work' assurance.
For these reasons, my opinion is let's go with @drcrallen's proposal.

And it gives users more control over what Guava version they run.

In the approach that I suggested, we also depending on Guava 16.0.1, letting users to substitute Guava for other dependencies and third-party code users combine Druid with in their private builds, but not the Druid code itself. I don't really imagine why users may want to substitute the use of latest Guava in Druid code itself with use of some older version, except that if there is some regression in the latest Guava source, but that should then be considered a bug in Druid and fixed as a normal bug (since we control the source). But this is a very, very unlikely situation.
@gianm, your analysis also misses the main point and the advantage of the approach that I suggested: we are able to use latest Guava features, such as MoreCollectors, and more. I had to explain this earlier in the thread.

@gianm, your analysis also misses the main point and the advantage of the approach that I suggested: we are able to use latest Guava features, such as MoreCollectors, and more. I had to explain this earlier in the thread.

Well, that's a good point. Why not merge #6948 (which works & solves a real problem) and then potentially implement a source-copying script later?
At the time we do that - probably motivated by wanting to use some new Guava features - I think ideally it only copies certain files from Guava. It's simpler to copy the entire tree, but ugly, since it would involve relocating a lot of stuff we don't use. So for tidiness purposes it seems worth it to maintain a list of files we want to copy and a script that copies just those files from a particular, provided Guava version.

On the other hand, when somebody discovers a small utility in Guava that they would use in their code, but it's not copied yet, they may decide to get away without using that small utility because of the complexity (or not knowing the process) of copying a new class from Guava.

I encountered an issue due to guava conflicts and discovered this. I did a prototype using shading that appears to achieve the same effect as copying all of guava source code as suggested in this proposal.
I will likely send a PR soon, but here is what I did...

create a new module, called "druid-shaded-guava" , that has only guava-0.16.1 as its dependency and shade it to create a new package org.apache.druid.<guava packages>
Make all other druid modules depend upon above module and use org.apache.druid.<guava packages> . Remove their dependency on guava.
Some Druid classes are left that declare dependency on guava-0.16.1 (and classes in guava directly) that use another library whose interface depends upon guava classes e.g. in druid-sql module, few calcite method calls require guava Multimap. This would be needed even if we were to not shade and copy all of guava source code.

This allows us to use any versions of guava in druid-shaded-guava as we see fit without affecting anything else that is using real guava-0.x.y.jar packaged with druid.

I've been recently reviewing the PR https://github.com/apache/druid/pull/10964
Seems good, but we still have other libs dependent on the old Guava, ie:
mvn dependency:tree
...
[INFO] +- com.google.inject:guice:jar:4.1.0:provided
[INFO] |  +- aopalliance:aopalliance:jar:1.0:provided
[INFO] |  \- com.google.guava:guava:jar:16.0.1:compile

I've actually been blocked by the issue while developing an extension with Google libraries that internally used newer Guava. And after merging this https://github.com/apache/druid/pull/10964 the Druid will still be packaged with Guava jar of version 16. I suppose https://github.com/apache/druid/pull/10964 is the first step and there's a plan to upgrade Guice and other libs dependent on Guava 16?
(BTW, right now to load an extension into Druid I use Java Reflection along with a different classloader which is very constraining.)

And after merging this #10964 the Druid will still be packaged with Guava jar of version 16.

@egor-ryashin it is explained in PR  #10964  description , ".... Some imports in cloudfiles-extensions and sql modules are reverted to use import com.google.common.X because their dependencies jclouds-core and calcite respectively mandate using real import com.google.common.X in various methods exposed by those libraries. But this is minimal. ..."

Yes, I understand it's intentional. I was just wondering how to solve another problem, I wonder how to add an extension to Druid with a different Guava and I cannot shade it because I depend on it transitively through a bunch of other libs (and shading those libs breaks them).

I wonder how to add an extension to Druid with a different Guava

I think it is best to use druid's shaded guava classes in the extension code .. extension code should be treated pretty much like the core code in that respect.

I wonder how to add an extension to Druid with a different Guava

I think it is best to use druid's shaded guava classes in the extension code .. extension code should be treated pretty much like the core code in that respect.

Yes, unfortunately, that approach won't work with the extension that uses dependency that internally depends on some other Guava.

Unfortunately, that approach won't work with the extension that uses dependency that internally depends on some other Guava.

that is same as druid-core depending upon calcite that depends upon guava, that problem will always be there if we have two dependencies that both transitively want conflicting versions of guava. Hope is that those two things can work with same version of guava.


linux: add additional netlink interface attribute tags

It looks like this change depends on a newer version of linux api headers than what the CI is using.  What kernel version is the libc crate attempting to target?

What kernel version is the libc crate attempting to target?

You could check it at https://github.com/rust-lang/libc/tree/master/ci/docker and related files under the ci dir.
Anyway, it's totally fine to skip tests for them until we bump the image. Could you add the consts here with a comment?
https://github.com/rust-lang/libc/blob/72fba0ecc76bf385d8f7b687fa8e46a1f6c0ae43/libc-test/build.rs#L3385

Thank you! @bors r+

@bors r+

:pushpin: Commit ea66c052755a687c9c54e04d348e00bd8f2cf71e has been approved by JohnTitor
It is now in the queue for this repository.

:hourglass: Testing commit ea66c052755a687c9c54e04d348e00bd8f2cf71e with merge 00d169766b52b5f8caf76a82041c61affda84e1a...

:broken_heart: Test failed - checks-actions

@bors r+

:pushpin: Commit 8b912019179d691c1879af3d5998c5a784f5ff10 has been approved by JohnTitor
It is now in the queue for this repository.

:hourglass: Testing commit 8b912019179d691c1879af3d5998c5a784f5ff10 with merge 0c1079d1f75ec7e2b9031557d1f859518566cd69...

:sunny: Test successful - checks-actions, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13, checks-cirrus-freebsd-14
Approved by: JohnTitor
Pushing 0c1079d1f75ec7e2b9031557d1f859518566cd69 to master...


ASF 1.5 detected as trojan

today, ASF 1.5 detected as trojan by windows defender
screenshot
windows defender: http://mahadi.noip.me/ss/1456346634-m.png
virustotal: http://mahadi.noip.me/ss/1456346951-j.png

Doesn't make any sense to me considering that it doesn't detect up-to-date pre-release instead. I'm wondering which part was considered as false-positive.
I guess I'll just release V1.6 to workaround that issue. Still, doesn't make any sense to me.

Probably one of the methods used by ILRepack triggers that, as viruses tend to use repacking methods as well.

Leaving it open for eventual further analysis. If for some reason one of the parts of ASF is considered as false-positive, I should find out which one and check what is possible to do.
Code of ASF is open-source, so if somebody for any reason doesn't believe my statements he can analyze the code and compile himself, as stated in the wiki.

V1.6 seems to have similar issues - https://www.virustotal.com/file/3219c66e23f449943b26368412a07da4ee6a65a331618c5a798c0c72901c89d7/analysis/1456348367/

Non-repacked version has similar results - https://www.virustotal.com/file/3e5a19f1a5a67f9351c02024665fd2db0188f35dbf45f4766cab0ffe093c6460/analysis/1456348526/

http://stackoverflow.com/questions/33998715/visual-studio-2015-community-trojan-heur-qvm03-0-malware-gen

Just zip the zip and then zip it.

I released 1.6.1, but I doubt that signing app will help in any case. Let me know if up-to-date windows (defender) detects 1.6.1 as a virus as well.

Just another false positive. ASF 1.5 Already shows as clean on virustotal, and 1.6 has one false positive yet (but not Microsoft). Blame crappy antiviruses for this.

Hm 1.6.1 looks good then? No new reports?

1.6.1 resolved the issue on my end.  I have a new issue but that'll be a separate bug report, once I investigate it a bit more.

Feel free to post if similar thing happens then.

Fixed.

I'm currently running V<IP_ADDRESS> win-x64 and it's been detected as a Trojan.

I have had the same thing just before.

Yeah. I got the same message from Win Defender just now. I think we probably need to open a new issue, coz this one is marked as closed.


compare mutation set to background database to determine lineage-defining mutations

This is basically implemented - we need to expand this to handle curated constellations, however (also see #27)

@ArtPoon by curated constellations, do you mean the ones like this? If so, is there an easy way to convert something like "nsp3:L741F" to match the mutation labels output by minimap2 or SC2Locator? I've failed to figure this out in the past.

Yeah I'm writing a new issue on exactly this problem - amino acid substitutions are frustratingly ambiguous at the nucleotide level.

#36


Ignore azure auth for scale and prometheus workloads

The azure authentication is not needed for scale, prometheus and
baseline workloads as they don't use cluster loader. This is needed as we
don't define the azure_auth vars in the scale and prometheus workloads
vars file.

Added baseline workload to the list as well.

@aakarshg the workloads which don't use the cluster loader will fail as we don't use/set the azure_auth. We need to ignore looking for azure_auth vars and mounting the secret for these workloads to work. The other way to make this work is to add the azure auth vars to the workloads vars file even though they don't use them which doesn't really make sense.


Master v2.1.2

Codecov Report

Merging #61 (5907488) into master (44bc8e4) will decrease coverage by 0.14%.
The diff coverage is 98.73%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##           master      #61      +/-   ##
==========================================
- Coverage   99.33%   99.19%   -0.14%
==========================================
  Files           8        9       +1
  Lines         299      373      +74
==========================================
+ Hits          297      370      +73
- Misses          2        3       +1

Impacted Files
Coverage Δ

media_downloader.py
98.51% <88.88%> (-0.47%)
:arrow_down:

utils/__init__.py
100.00% <100.00%> (ø)

utils/format.py
100.00% <100.00%> (ø)

utils/meta_data.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


MassIntegrator on boundary of domain in DG space

Dear All,
I'd like to compute a matrix of integrals over boundary of a domain K :
M = \int_{\partial K} u v,
where u and v are from the finite element space spanned over discontinuous functions
Here is what I'm trying to do with MFEM:
int order = 1;
Mesh mesh(10, 10, Element::QUADRILATERAL, 1, 100, 100);
int dim = mesh.Dimension();
DG_FECollection fec(order, dim);
FiniteElementSpace fespace(&mesh, &fec);
BilinearForm bound_mass(&fespace);
// I tried this:
bound_mass.AddBoundaryIntegrator(new MassIntegrator());
// But it gives a segfault, because it dereferences a NULL pointer in assembling:
// <bilinearform.cpp>
// void BilinearForm::Assemble :
// if (bbfi.Size())
//   {
//      for (i = 0; i < fes -> GetNBE(); i++)
//      {
//         const FiniteElement &be = *fes->GetBE(i); // Here fes->GetBE(i) return NULL pointer
// Apparently it shouldn't work that way, so I tried:
bound_mass.AddBdrFaceIntegrator(new MassIntegrator());
// but it's not implemented.

I've tried to implement void MassIntegrator:AssembleFaceMatrix to make the second approach work, but I'm sure I did it wrong:
void MassIntegrator::AssembleFaceMatrix(
    const FiniteElement &el1, const FiniteElement &el2,
    FaceElementTransformations &Trans, DenseMatrix &elmat)
{
   int nd1 = el1.GetDof();
   double w;

   elmat.SetSize(nd1);
   shape.SetSize(nd1);

   const IntegrationRule *ir = IntRule;
   if (ir == NULL)
   {
      int order = 2 * el1.GetOrder();

      ir = &IntRules.Get(Trans.FaceGeom, order);
   }

   elmat = 0.0;
   for (int i = 0; i < ir->GetNPoints(); i++)
   {
      const IntegrationPoint &ip = ir->IntPoint(i);
      el1.CalcShape(ip, shape);

      Trans.Face->SetIntPoint(&ip);
      w = Trans.Face->Weight() * ip.weight;
      if (Q)
      {
         w *= Q -> Eval(*Trans.Face, ip);
      }

      AddMult_a_VVt(w, shape, elmat);
   }
}

Could you please advise something on that matter?
Thanks,
Mikhail

Hi Mikhail,
You want to extract the kappa < {h^{-1} Q} [u], [v] > part of DGDiffusionIntegrator, without the h^{-1}  scaling. If you call this DGMassIntegrator, then you can use it on the boundary with:
bound_mass.AddBoundaryIntegrator(new DGMassIntegrator());

Hope this helps,
Tzanio

Hi Mikhail,
There is just a small problem with your implementation: the integration rule ir is for the reference face, which correct, but then the integration point 'ip' is used as a volume point in the call el1.CalcShape, which is wrong. You need to map ip to the correct integration point in the volume element, say eip. This can be done using the following:
   IntegrationPoint eip;
   Trans.Loc1.Transform(ip, eip);
   el1.CalcShape(eip, shape);

This is what we do, e.g. in DGDiffusionIntegrator::AssembleFaceMatrix and other DG integrators.
Veselin

Hi Mikhail,
Just wondering if you got this working?
Cheers,
Tzanio

This will be supported in version 3.2 through BoundaryMassIntegrator::AssembleFaceMatrix.


Refactor lightt.ino

Lightt.ino is a large file with much procedural logic. With plans for new features such as gamma correction and effects, it is time to refactor lightt into manageable classes and interfaces.

One idea is to use a pipeline pattern. A pipeline consists of nodes. Nodes are implemented by pipelines and concrete nodes.
The pipeline would run once per loop and would output a full array of uint_8 triplets for the strip. Timing would have to be taken into account for frame generation.


Revert to ng 1.6.2

Task/Issue URL: https://app.asana.com/0/488551667048375/1205771358861884/f
Description
See asana
Steps to test this PR
Smoke test AppTP

Current dependencies on/for this PR:

develop

PR #3738   👈

This comment was auto-generated by Graphite.


ImpactObject definition

Trying to represents impacts in a json schema leads to question: should we make all fields of an impact object mandatory ?
My understanding in the draft response.json and https://github.com/Boavizta/PCR-SI_dataformat/blob/main/ImpactObject.md is that we tend to define impacts objects as an fixed list of  all (4) licecycle steps X all (18) indicators.
{
            "BLD" : {
                  "GWP": 123,
                  "ADPe": 13,
                  "ADPf": 23,
                  "WU": 12,
                  "...": ...
            },
            "DIS" : {
                  "GWP": 123,
                  "ADPe": 13,
                  "ADPf": 23,
                  "WU": 12,
                  "...": ...
             },
            "USE" : {
                  "GWP": 123,
                  "ADPe": 13,
                  "ADPf": 23,
                  "WU": 12,
                  "...": ...
            },
            "EOL" : {
                   "GWP": 123,
                  "ADPe": 13,
                  "ADPf": 23,
                  "WU": 12,
                  "...": ...
            }
}

Should we use arrays instead (maybe with explictly named properties) that would allow unknwown values to not appear ?

We can let each of the indicators as optional fields


Hugo/performance

Adds numba as a dependency
Speeds up multiplication code via jitting and sparseness
Speeds up high dimensional algebra generation by jitting

i measure a speedup of 20s->5s on Cl(8)! awesome.
so this looks like you have removed  methods of layout used in __init__,  jitted them,  which is fine with me. you might add some comments to explain this in the code.
i use the docs as a test, which is really bad,  but it found the following.

bug:  the comp_func fails due to array broadcasting. i might have broke this when resolving https://github.com/pygae/clifford/issues/9, with https://github.com/arsenovic/clifford/commit/deb9648401f07ca6c5f22745d2055eb456095dca. you can test with Cl(2)==Cl(3)

you should also add the new numba dep to readthedocs-environement.yml for the docs

@arsenovic not sure how I can replicate this comp_func error, Cl(2)==Cl(3) returns False as expected, what behaviour were you seeing?

i get this .
>>>from clifford import Cl
>>>Cl(2)==Cl(3)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-1-a887d047d2cf> in <module>()
      1 from clifford import Cl
----> 2 Cl(2)==Cl(3)

/home/alex/code/clifford/clifford/__init__.py in __eq__(self, other)
    416
    417     def __eq__(self,other):
--> 418         return not self.__ne__(other)
    419
    420     def __ne__(self,other):

/home/alex/code/clifford/clifford/__init__.py in __ne__(self, other)
    419
    420     def __ne__(self,other):
--> 421         return self.comp_func(other.sig)
    422
    423     def _genEvenOdd(self):

ValueError: unable to broadcast argument 1 to output array
File "/home/alex/code/clifford/clifford/__init__.py", line 247

I get the same as Alex, unless I comment out the njit decorator — which makes me worry that the code itself is kind of wrong.  The signatures being compared here are numpy arrays [1,1] and [1,1,1].  If I just compare those directly, I get a DeprecationWarning:
>>> import numpy as np
>>> a = np.array([1,1])
>>> b = np.array([1,1,1])
>>> a != b
DeprecationWarning: elementwise != comparison failed; this will raise an error in the future.

I guess the reason is that they're different lengths, and numpy is trying to compare each element.  The usual way to do this comparison would be with np.array_equal, which might be faster than the jitted code anyway.  That might be worth a try.

@moble I wasn't aware numpy had that function! @arsenovic this should now hopefully be fixed, shall I merge to master?

works for me


i18n(zh-cn): Update contentful.mdx

Description (required)
Update contentful.mdx
Related issues & labels (optional)

#9240

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

File
Note

zh-cn/guides/cms/contentful.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


GoRun - GoDebug not working on windows

Firts of all, I just intalled your plugin and already love it. It have several features and run so fast.
The thing is, when trying to do anything related to the project path like GoRun - GoRun ./cmd or GoDebug it says that it doesn't find the main module (.projectRoot/cmd/main.go - go.mod - go.sum) , which i'm running the code from. Obviously I have all my modules declared, builded and linked with each other.
Hope you can help me, it's such a great plugin!!
OS: Windows 10
Shell: Powershell
Nvim version: v0.5.1

I guess that in windows, you need to use GoRun .\\cmd ?
You need to set the path the same as you did when you run it with go run  in windows cmd.

Just tried that, same response :(
I also found out that it doesn't detect any modules. Because I thought, it should at least work inside cmd folder, but when I GoRun there, it literally does nothing. So I tried GoDebug, but the log says it doesn't detect any of the non-standard imported modules so it fails.

I think the issue is more regarding windows vs linux/Mac have different path name format
.projectRoot/cmd/main.go does not seem to be a valid path in windows.
For debug . you may have same issue. As in dap.lua, the code says
    dap_cfg.program = "./${relativeFileDirname}"

I doubt it is valid in windows....

Okey, I have reduced the problem to the minimum creating a new golang project ./go which file structure is:
main.go
go.mod
go.sum
pkg/sum.go
This show me a couple things, firts of all GoRun/GoDebug works only if you enter neovim inside the project folder, otherwise it doesn't matter if you run GoRun or GoRun ./go or whatever it always throw an error.
Once you open neovim inside ./go folder, GoRun works well and what remains is GoDebug.
Another thing I figured out it's that for the plugin to work you must have a global main.go with its respective go.mod and go.sum. If you have your main file and stuff inside, let's say cmd folder, again , no matter what command you run it always fails saying that it doesn't detect any of the imported modules (local or external).

 And also find out what was making GoRun ./cmd not work.
The only thing that still doesn't work is GoDebug. But you already helped so much and I think that it has more to do with nvim-dap or nvim-dap-go that what it has to do with this plugin.
Thank u for the patience! :)
You can close the issue if you feel like

link to dap issue:
https://github.com/mfussenegger/nvim-dap/issues/346


Migration under MIT License

Hi all,
As you know, Bootstrap 3 is now under MIT license. To follow their license and to allow GPLv2 projects to use this awesome bootstrap add-on, we need the approval of all contributors. To do so, it would be very cool if all of you fill this form: https://docs.google.com/forms/d/1U6Biw2jU2DFeNKTuy9F2jCMcvsEoI8cwbgeVj6vnWj4/viewform?usp=send_form
Thanks !

Bumping this issue once more.  The current Apache 2.0 license prevents bootstrap-tour from being white-listed for inclusion in Drupal-based distributions.  I'd really like to get rid of the CDN link and have this library included in the Open Atrium distro.  Is this issue dead or is there any way to get this license changed to MIT?

@mike-potter lack of time to complete that is the issue :(

@sorich87 is it lack of your time, or lack of response from some code contributors.  Seems like other projects (like Bootstrap) have been through this and there should be ways to deal with people who contributed code but don't respond in a timely way.
But what's the real blocker here?

@mike-potter
All the biggest contributors are ok with the change. But, as you noticed, there's lack of response from some other contributors.
The solution would be to audit the commits from these contributors to see if their code is used, contact them individually and revert the commits if no response.
That's why I mentioned my lack of time. Do you want to do it?

I can't take over and actually "do it", but maybe we can open this up to get you more help.
As a reference, here is the very long related thread covering this same issue as it happened to Bootstrap itself.  You'll see that it was started in a similar manner (Drupal distros wanting to use Bootstrap).  Had a lot of side-tracking discussion of MIT vs Apache and GPL2 vs GPL3 stuff.
Ultimately they were able to contact almost all code contributors and then finally reverted the code from the small number of people who said no (although then it looks like they just committed similar changes/fixes back, so not sure how "rewriting a commit" really works when it's a trivial commit).
In that thread, they also recommended using https://github.com/beberlei/license-manager.
Maybe you could set this up in license-manager somewhere (never used it so don't really know how it works).  Or, at least set up some sort of public google doc with the list of contributors so we can keep track of who has said yes, who hasn't responded, etc.  Then maybe we can restart this effort and really see what commits are left that might need to be reverted/rewritten.

Agreed. It would be great if anyone can help with that.

Hi!
As we saw in these two cases, it takes a very long time, but eventually, we succeed.
https://github.com/twbs/bootstrap/issues/2054
https://github.com/nostalgiaz/bootstrap-switch/issues/347
We need to start to make sure new commits are in the new license, and then we work backwards to get all the previous commits. I just added two pull requests for this.
Big picture steps:
1- Announce intention: all new commits have to be dual-licensed MIT and current license. (Done)
2- Contact all the code committers, which still have code in the current master. Template example here: https://tiki.org/Bootstrap+License+change+request
3- Get them all to agree (The best is to vote +1 on this thread. An email works as well )
4- If some refuse or are unreachable, rewrite their contributions
5- Release new version as MIT

Here is a copy of the spreadsheet with previous approvals:
04/05/2014 16:39:08	YES	LostCrew
04/05/2014 17:18:51	YES	fczbkk
04/05/2014 17:29:14	YES	sorich87
05/05/2014 09:58:24	YES	emmenko
05/05/2014 13:58:25	YES	martin-g
13/05/2014 18:03:22	YES	test
14/05/2014 08:54:52	YES	s7anley
19/05/2014 10:23:20	YES	mm
04/05/2015 19:09:12	YES	mike-potter
16/05/2015 20:18:37	YES	brexis
And some stats:
https://github.com/sorich87/bootstrap-tour/graphs/contributors
https://www.openhub.net/p/bootstrap-tour/contributors?query=&sort=commits
To the following, please add +1 to this thread. Thanks!
@Genosite
@fczbkk
@sdizier
@SKAhack
@ivanov
@rhertogh
@11Hengjie
@ramatevish
@bdauton @forest
@mlissner
@kozak
@Esperancia
@tmort
@borski
@kaihowl
@arnaudbreton
@eliasisrael
@fabienpomerol
@javaguirre
@ma-si
@hfellmann
@ericdegboe
@usmanhalalit
@html5cat
@ragulka
@erwanjegouzo
@rolo
@edgardmessias
@TiddoLangerak
@msievers
@dannon
@reubenbrown
@Benoth
@KyleMit
@mattmcneeney
@pavarnos
@mareksotak
@aiccucs
@minrk
@gkorland
@evanleonard
@cvrebert
@Amli

+1 (also signed the form now)

+1
Le ven. 7 août 2015 14:14, Marc Laporte<EMAIL_ADDRESS>a écrit :

Here is a copy of the spreadsheet with previous approvals:
04/05/2014 16:39:08 YES LostCrew
04/05/2014 17:18:51 YES fczbkk
04/05/2014 17:29:14 YES sorich87
05/05/2014 09:58:24 YES emmenko
05/05/2014 13:58:25 YES martin-g
13/05/2014 18:03:22 YES test
14/05/2014 08:54:52 YES s7anley
19/05/2014 10:23:20 YES mm
04/05/2015 19:09:12 YES mike-potter
16/05/2015 20:18:37 YES brexis
And some stats:
https://github.com/sorich87/bootstrap-tour/graphs/contributors
https://www.openhub.net/p/bootstrap-tour/contributors?query=&sort=commits
To the following, please add +1 to this thread. Thanks!
@Genosite https://github.com/Genosite
@fczbkk https://github.com/fczbkk
@sdizier https://github.com/sdizier
@SKAhack https://github.com/SKAhack
@ivanov https://github.com/ivanov
@rhertogh https://github.com/rhertogh
@11Hengjie
@ramatevish https://github.com/ramatevish
@bdauton https://github.com/bdauton @forest https://github.com/forest
@mlissner https://github.com/mlissner
@kozak https://github.com/kozak
@Esperancia https://github.com/Esperancia
@tmort https://github.com/tmort
@borski https://github.com/borski
@kaihowl https://github.com/kaihowl
@arnaudbreton https://github.com/arnaudbreton
@eliasisrael https://github.com/eliasisrael
@fabienpomerol https://github.com/fabienpomerol
@javaguirre https://github.com/javaguirre
@ma-si https://github.com/ma-si
@hfellmann https://github.com/hfellmann
@ericdegboe https://github.com/ericdegboe
@usmanhalalit https://github.com/usmanhalalit
@html5cat https://github.com/html5cat
@ragulka https://github.com/ragulka
@erwanjegouzo https://github.com/erwanjegouzo
@rolo https://github.com/rolo
@edgardmessias https://github.com/edgardmessias
@TiddoLangerak https://github.com/TiddoLangerak
@msievers https://github.com/msievers
@dannon https://github.com/dannon
@reubenbrown https://github.com/reubenbrown
@Benoth https://github.com/Benoth
@KyleMit https://github.com/KyleMit
@mattmcneeney https://github.com/mattmcneeney
@pavarnos https://github.com/pavarnos
@mareksotak https://github.com/mareksotak
@aiccucs https://github.com/aiccucs
@minrk https://github.com/minrk
@gkorland https://github.com/gkorland
@evanleonard https://github.com/evanleonard
@cvrebert https://github.com/cvrebert
@Amli https://github.com/Amli
—
Reply to this email directly or view it on GitHub
https://github.com/sorich87/bootstrap-tour/issues/257#issuecomment-128685274
.

:+1: +1

+1

+1

:+1:

+1

+1

+1

+1

+1
Le ven. 7 août 2015 à 14:57, reubenbrown<EMAIL_ADDRESS>a
écrit :

+1
—
Reply to this email directly or view it on GitHub
https://github.com/sorich87/bootstrap-tour/issues/257#issuecomment-128706344
.

+1

+1 (how do I do that thumbs thing too - that seems neat)

+1

:+1:

+1

:+1:

+1

:+1: :shipit:

:+1:

+1

+1

:+1:

+1

+1

Thank you for all the support!  Keep it coming :-)

Thank you! @marclaporte

+1

+1

To the users below, please, we need your +1  :-)
@sdizier
@bdauton
@forest
@tmort
@kaihowl
@arnaudbreton
@eliasisrael
@usmanhalalit
@ragulka
@erwanjegouzo
@dannon
@Benoth
@mattmcneeney
@gkorland
@evanleonard
@cvrebert
@Amli

+1

+1

+1

To the users below, please, we need your +1 :-)
@sdizier
@bdauton
@forest
@tmort
@kaihowl
@arnaudbreton
@eliasisrael
@usmanhalalit
@ragulka
@erwanjegouzo
@Benoth
@gkorland
@evanleonard
@Amli

+1

On Sep 7, 2015, at 9:25 PM, Marc Laporte<EMAIL_ADDRESS>wrote:
To the users below, please, we need your +1 :-)
@sdizier https://github.com/sdizier
@bdauton https://github.com/bdauton
@forest https://github.com/forest
@tmort https://github.com/tmort
@kaihowl https://github.com/kaihowl
@arnaudbreton https://github.com/arnaudbreton
@eliasisrael https://github.com/eliasisrael
@usmanhalalit https://github.com/usmanhalalit
@ragulka https://github.com/ragulka
@erwanjegouzo https://github.com/erwanjegouzo
@Benoth https://github.com/Benoth
@gkorland https://github.com/gkorland
@evanleonard https://github.com/evanleonard
@Amli https://github.com/Amli
—
Reply to this email directly or view it on GitHub https://github.com/sorich87/bootstrap-tour/issues/257#issuecomment-138426746.

+1

To the users below, please, we need your +1 :-)
@sdizier
@bdauton
@forest
@tmort
@kaihowl
@arnaudbreton
@usmanhalalit
@ragulka
@erwanjegouzo
@gkorland
@evanleonard
@Amli

+1

On 30 Sep 2015, at 12:40, Marc Laporte<EMAIL_ADDRESS>wrote:
To the users below, please, we need your +1 :-)
@sdizier
@bdauton
@forest
@tmort
@kaihowl
@arnaudbreton
@usmanhalalit
@ragulka
@erwanjegouzo
@gkorland
@evanleonard
@Amli
—
Reply to this email directly or view it on GitHub.

To the users below, please, we need your +1 :-)
@sdizier
@bdauton
@forest
@tmort
@arnaudbreton
@usmanhalalit
@ragulka
@erwanjegouzo
@gkorland
@evanleonard
@Amli
Thanks!

@bdauton made this request so we consider it as a +1

@usmanhalalit you fixed a typo (not code) so I am removing you from the list. Thanks for your contribution!
https://github.com/sorich87/bootstrap-tour/commits?author=usmanhalalit

So here are the 9 remaining:
https://github.com/sorich87/bootstrap-tour/commits?author=sdizier
https://github.com/sorich87/bootstrap-tour/commits?author=forest
https://github.com/sorich87/bootstrap-tour/commits?author=tmort
https://github.com/sorich87/bootstrap-tour/commits?author=arnaudbreton
https://github.com/sorich87/bootstrap-tour/commits?author=ragulka
https://github.com/sorich87/bootstrap-tour/commits?author=erwanjegouzo
https://github.com/sorich87/bootstrap-tour/commits?author=gkorland
https://github.com/sorich87/bootstrap-tour/commits?author=evanleonard
https://github.com/sorich87/bootstrap-tour/commits?author=Amli

+1 - Sorry this took so long

+1 - sorry for the delay, I really need to reactivate the github notifications

+1 sorry for the delay, did not realise you need my vote :P

+1 - sorry for the delay.

Last call!
We need your +1 or we will have to remove (and rewrite) your contributions. A quick +1 will save us the hassle.
@arnaudbreton
@erwanjegouzo
@gkorland
@evanleonard
Here are your respective contributions:
https://github.com/sorich87/bootstrap-tour/commits?author=arnaudbreton
https://github.com/sorich87/bootstrap-tour/commits?author=erwanjegouzo
https://github.com/sorich87/bootstrap-tour/commits?author=gkorland
https://github.com/sorich87/bootstrap-tour/commits?author=evanleonard
Thanks!

The commit by gkorland
https://github.com/sorich87/bootstrap-tour/commit/fbbcaab909560a3e5faf2d3ef66a9cb5f76f0734
is in the file component.json which no longer exists
It is now in package.json, and the value has been changed, thus rewritten.
https://github.com/sorich87/bootstrap-tour/blob/master/package.json
So I consider this is resolved.

:+1:

Evan Leonard's vote on Twitter:
https://twitter.com/evanleonard/status/666761164106416128

@arnaudbreton : you are the last one!

+1, OK for me. Sorry for the delay!

Super!  It took 18 months from the initial report. Choose your license well, because it's a lot of work to change on a collaborative project!
Related commits:
https://github.com/sorich87/bootstrap-tour/commit/e78b5b4174e8755539f39fe9c02401d18f6cc599
https://github.com/sorich87/bootstrap-tour/commit/c6697d85b3b94b7f6e8c1ae91a4f78df8965a4ca
https://github.com/sorich87/bootstrap-tour/commit/ae2d44bd51d15d74e6770e4db1b23c80937bfe3c
https://github.com/sorich87/bootstrap-tour/commit/19a7d711e5acc9c54e6688fb84d7490b166d3231
https://github.com/sorich87/bootstrap-tour/commit/876e72f3735e4d654f1b25f6c1fb0f4766aab39e
https://github.com/sorich87/bootstrap-tour/commit/f536263d22793fb7071ae5c52e1fc8415e66bf4f
Let's fix some bugs, and proceed to a new release :-)


bug: opentrons_simulate ignores the apiLevel specified in the protocol, uses the highest apiLevel it supports instead

Overview
When you simulate a protocol on the command line with opentrons_simulate, it appears to ignore the apiLevel that you set in the protocol's metadata block. Instead, the command uses the highest apiLevel that it supports.
This potentially changes the behavior of the simulated protocol.
Steps to reproduce
metadata = {
    'apiLevel': '2.0'
}

def run(protocol):
    protocol.comment(str(protocol.api_version))

Current behavior
% opentrons_simulate ~/Desktop/apilevel_bug_test.py
/Users/maxpm/.opentrons/robot_settings.json not found. Loading defaults
/Users/maxpm/.opentrons/deck_calibration.json not found. Loading defaults
2.9

Expected behavior
% opentrons_simulate ~/Desktop/apilevel_bug_test.py
/Users/maxpm/.opentrons/robot_settings.json not found. Loading defaults
/Users/maxpm/.opentrons/deck_calibration.json not found. Loading defaults
2.0

Mercifully, this only seems to be a problem with opentrons_simulate. Protocols running on a real robot do not seem to have the wrong apiLevel.


Use headless model to getCookie and login

Is your feature request related to a problem? Please describe.
url: /passport/web/login返回参数为空, 接口状态码: 302
Describe the solution you'd like
Use headless model to getCookie and login. Currently, when I use chrome headless model to login, it will return 302 when I call /passport/web/login endpoint. I don't know if it was caused by chrome headless model.
Describe alternatives you've considered
As for many servers, there is no desktop UI to allow us start up  a chrome browser with head
Additional context

无头模式获取的devicesID是有问题的，如果你在linux上使用，建议手动复制devicesID
# COOKIE_TYPE = 3, 自己打开浏览器在headers-Cookies中抓取RAIL_DEVICEID和RAIL_EXPIRATION，这个就不用配置selenium


[Feature]: Adding a Contact Us page to make it more interactive

[ ] Would you like to take up this task?
[ ] Are you from GSSoC'23?

✨
Feature request

Is your feature request related to a problem?
This feature will classify the contact details on a single page rather than showing it at the footer. The footer can have just a tag for the Contact Us page like the ones Netflix offers.

Describe the solution you'd like
Adding a new page for Contact Us and adding the links to the developer's social media sites

Describe alternatives you've considered
Elaborate on any alternative solutions or features that you have already evaluated as potential approaches.

Additional context

Here the links to the GitHub page can also be provided and a button cab be added for Contribute to Scene

Hi , I am contributor under GSSOC'23 and I am eager to showcase my skills and make a meaningful contribution to this project.
Kindly assign me this issue.@sourabhsikarwar

Hey @sourabhsikarwar, can you assign me this task as currently it is not assigned to any?

Hi @sourabhsikarwar , I know what needs to be done here and how to do it efficiently. Please assign this to me.


impvroed styling plus made the landing page mobile friendly

improved styling of the graph and made it mobile-friendly.

another change is the removal of the labels from the edges. this is done to improve the performance of the rendering as stated in this article rendering text is a costly operation. We may consider showing labels when the user clicks on the edge but this has to be discussed further.
closes #16

Removing the text seems like a good decision, considering its useless at high node count anyways.
I think we only want to show node info one at a time in an html component instead (compared to it being rendered in the canvas).
Assuming the graph library has click events etc.


Net bridge documentation

Trying to flesh out the Network documentation a bit.

This pull request didn't trigger Jenkins as its author isn't in the whitelist.
An organization member must perform one of the following:

To have this branch tested by Jenkins, use the "ok to test" command.
To have a one time test done, use the "test this please" command.

Those commands are simple Github comments of the format: "jenkins: COMMAND"

You should rebase on master to get rid of those merge commits.

Yes, those are annoying. The only way I've found to update my fork via the UI is to send myself a pull request with your most recent upstream changes. But this is kind of pointless since it creates the merge commits.

Should be cleaned up now.

thanks!


Add custom edit-yaml button to policy server config

Fix #515
This fixes the edit yaml button issue for Policy Server configs by replacing the one used by the CruResource component. Using the custom radio group button as used in the ClusterAdmissionPolicy and AdmissionPolicy config resolves this issue.
Also removed an unnecessary component for PolicyServer creation by restructuring a few properties pertaining to the resource values.
https://github.com/rancher/kubewarden-ui/assets/40806497/c1c6cd7b-f1af-4d8c-9baf-5f5bda656ae1

Works fine on rancher 2.8.0-rc3. Why there is a lot of commented text on yaml tab?

The commented yaml is from the schema, I have added a method to generate the properties that comes from the PolicyServer schema.


Add "Deselect All" button to the top bar

I added a comment to #10  about adding a "Deselect All" to the page, so you could iteratively process movies one at a time. I dug through the source, and it seemed fairly simple.

🙏 Thanks @Alanoll ! Looks good to me