Multiarch support

I would like to be able to run multi arch images.
With normal runc backend this is possible by enabling qmeu-binfmt and then simply running
$ docker run -it arm64v8/debian

Trying this with runq will result in exec error
$ docker run -it --runtime runq arm64v8/debian
[entrypoint(1) 09048dc] exec format error
Exec() failed
main.runEntrypoint
	/runq/cmd/init/entrypoint.go:129
main.mainEntrypoint
	/runq/cmd/init/entrypoint.go:22
main.main
	/runq/cmd/init/main.go:40
runtime.main
	/usr/local/go/src/runtime/proc.go:204
runtime.goexit
	/usr/local/go/src/runtime/asm_amd64.s:1374

Are there plans to support other architectures?
Maybe add a flag that maps to the requested qemu variant? e.g. -e RUNQ_ARCH=aarch64

There are no plans for this. But I found this an interesting idea and did some experiments that can be
found in the new branch:
https://github.com/gotoz/runq/tree/binfmt_misc
This (experimental)  branch allows running unmodified AArch64 Docker images on an x86 host.E.g.:
$ docker run --platform=linux/aarch64 --runtime runq --rm alpine  uname -m
aarch64

Please give it a try.

Thanks for the fast reply. This works and might be a nice feature on its own, but unfortunately this is not what I had in mind.
My hole idea was not to use qemu-user-static but full system emulation, because it does not support all syscalls. e.g. ptrace.
(Also ldconfig crashes in recent debian:bullseye images under qemu-user.)
So instead of always using the nativ architecture to select the qmeu executable make this configurable in order to have a qemu-system-aarch64 runner on an amd64 platform.

For this you would also need an target architecture specific guest kernel and initrd.

The usual way people run multiarch in docker, with bin-fmt inside the container, can result in an insane slowdown because it spawns qemu for every command that has to be run.  If you're just running one long-lived application, it works just fine.  For a build that calls a large number of commands (e.g. C, C++), it can easily be on the grounds of 10x slower than what it could be.
For runq, it would make a lot more sense to not have binfmt anywhere.  You run a different CPU and arch inside the QEMU vm, and everything is there would be in "native" mode for that cpu/arch. There is no launch-qemu-for-every-command cost anymore.
For multiarch runq, you'd have runq change the qemu parameters to the required cpu/arch based on what you specified in the docker command line, I suppose...


Cow: Watch emcdorexs.com

Cow requests the watch of the watch_keyword emcdorexs\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by Spevacus in Charcoal HQ


Resource usage history

What feature do you want to see added?
Display the list of jobs, where the resource was used. It may be useful to easily understand if the possible resource outage is the reason of job fail, as some other jobs also failed.
For example, the Credentials plugin has something similar:

Upstream changes
No response

Nice idea. Can be combined with #393
But this feature takes longer then one hot summer night. Maybe good starts for newcommers.

And maybe we can implement this too ;-) #320

@mPokornyETM Could you help to assign the issue on @AniketNS please?

@AniketNS , when you need help to start here, contact me. I will try to answer ASAP.

I'm just going to start working on this issue, Sir. Sorry for the delay. I'll be troubling you, whenever I need help.

one hit
you need to do like this
https://github.com/jenkinsci/lockable-resources-plugin/blob/c9db3ae76e3cccaf6f563e571fc87da2787155f3/src/main/java/org/jenkins/plugins/lockableresources/queue/LockRunListener.java#L60C2-L61C39
in
https://github.com/jenkinsci/lockable-resources-plugin/blob/c9db3ae76e3cccaf6f563e571fc87da2787155f3/src/main/java/org/jenkins/plugins/lockableresources/LockStepExecution.java#L114C4-L114C30
Then it shall works ;-)
Maybe we shall change the page design. Because it looks very weird. But that "only" my personal UX

Hello @mPokornyETM, I looked at the codes from the above links. But I didn't understand anything from it. Can you please guide me a little on what I should do?

@oleg-kondaurov @AniketNS can somebody review this #583 changes pls? It does not fully implement your request. If ound it by implementation and want to fixed in partly PR. Otherwise it will be egain to big PR for review. Thx

Hello, I didn't get this issue very well and had no idea how to solve this or if this issue is already solved in any other issue. so I'm unassigning from this issue.

Hi @mPokornyETM, I am interested in working on this issue. Could you please assign this to me?

Thanks @mPokornyETM.
I was wondering if you could help clarify on the task a bit please. I saw that earlier there was a PR 583 that shows used resource for individual pipeline and freestyle jobs. What should the next step be? Would it be something like creating a centralized display for usages of all lockable resources?

yes, an extra page per resource, where will be possible to see the history. Also an page (all sub-tab in main page) where we see the history over all resources will be fine. Like timelines. To see how long it was allocated and how long are other "jobs" waiting.
This might take a liitle bit longer.


Add helper fields to OpenAiStructureConfig

Blocked on merge until https://github.com/griptape-ai/griptape/pull/814 goes in.


Updated Martinique Country Flag

This pull request addresses issue #623 by updating the Martinique flag. It replaces the previous pull request #624.
•	The new flag has been redrawn and optimized.
•	Both the SVG and PNG versions have been updated.
•	The flag is now centered vertically and rounded, ensuring consistency with other Twemoji flags.

This update ensures that the Martinique flag matches the visual style of the rest of the emoji set.
The source is Wikipedia
https://commons.wikimedia.org/wiki/File:Flag-of-Martinique.svg
https://en.wikipedia.org/wiki/Martinique

I would redo the SVG a bit: it is not optimized for deficiencies of SVG renderers.

If two filled spaces are together, one should overlap another.
If they meet at the edge, this overlap should go away from edge.

About 2 — there’s an exception: one of the filled spaces is really small. E.g. Sweden: just draw the cross, blue fringe is almost invisible and is even part of style.

Thanks for the insightful comments, @Mercury13! I’ll definitely follow your advice and update my PR accordingly.

Hi @Mercury13
I’m looking for some advice on how to effectively overlap two shapes. I have two options in mind:

Slight Overlap: Make one shape slightly larger than the other, allowing for a few pixels of overlap.
Full Overlap: Completely overlap one shape over the background shape.

Which approach do you think would work best? Any insights or recommendations would be greatly appreciated! Thanks!

Hi @Mercury13,
I’ve updated the SVG file to include the “Full Overlap” option, where one shape completely overlaps the background shape.
Could you please confirm if this is the correct implementation? Thanks in advance!

(see SVG’s wireframe)

Here’s wireframe of a random tricolour (Germany)

“Full overlap” etc are probably meant for embroidery/cutting machines. We should make overlaps for ourselves.

Conversely, these options meant for embroidery make pixel rendering really horrible.

Thank you @Mercury13 for the clarification—it makes sense. 👍
I appreciate your advice and will make the necessary changes. The PR should be ready for merging soon.

@Mercury13 I followed your advice, and it’s really helpful. I noticed that many other flags don’t align with those guidelines.
I applied the changes to the Martinique flag and submitted them.

Not enough. And I have made for you:
https://github.com/twitter/twemoji/pull/1116#issuecomment-2405784316

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
   viewBox="0 0 36 36"
   version="1.1"
   id="svg3"
   sodipodi:docname="1f1f2-1f1f6.svg"
   inkscape:version="1.4-beta3 (01c8a1c, 2024-08-28, custom)"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:svg="http://www.w3.org/2000/svg">
  <defs
     id="defs3" />
  <sodipodi:namedview
     id="namedview3"
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1.0"
     inkscape:showpageshadow="2"
     inkscape:pageopacity="0.0"
     inkscape:pagecheckerboard="0"
     inkscape:deskcolor="#d1d1d1"
     inkscape:zoom="32"
     inkscape:cx="16.671875"
     inkscape:cy="26.796875"
     inkscape:window-width="1680"
     inkscape:window-height="998"
     inkscape:window-x="-8"
     inkscape:window-y="-8"
     inkscape:window-maximized="1"
     inkscape:current-layer="svg3" />
  <path
     d="m 36,27 c 0,2.209 -1.791,4 -4,4 H 4 C 2.9840384,31 2.0564945,30.621157 1.3509404,29.997044 L 9,15 h 24 l 3,3 z"
     fill="#231f1e"
     id="path1"
     sodipodi:nodetypes="sssccccs" />
  <path
     d="M 36,18 V 9 C 36,6.791 34.209,5 32,5 H 4 C 2.9838056,5 2.0560696,5.3790161 1.3504555,6.0033847 L 6,18 Z"
     fill="#00a650"
     id="path2"
     sodipodi:nodetypes="csssccc" />
  <path
     d="M 1.351,6.004 1.35,6.003 C 0.522,6.736 0,7.808 0,9 v 18 c 0,1.193 0.522,2.264 1.351,2.997 L 17.5,18 Z"
     fill="#ef1923"
     id="path3"
     sodipodi:nodetypes="ccssccc" />
</svg>

Thank you @Mercury13  for doing this! I now have a much clearer understanding of how to manage overlapping tasks—very interesting. I learned something valuable today, and I appreciate it. I just have one suggestion regarding the optimization of the SVG file itself.
SVG Optimization: Enhancing File Size and Readability
I've reviewed the current SVG file and propose the following optimizations to reduce file size and improve readability:

Remove Inkscape-specific tags and properties:

Deleted sodipodi:docname and inkscape:version attributes from the root <svg> element.
Removed the entire <sodipodi:namedview> element.
Eliminated xmlns:inkscape and xmlns:sodipodi namespace declarations.

Simplify color definitions:

Replaced named colors with shorter hex codes where applicable. (#000000 -> #000)

Clean up IDs and unused attributes:

Removed unnecessary id attributes from elements.
Deleted the empty <defs> element.

Here's a comparison of the original and optimized SVG:
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <svg
   viewBox="0 0 36 36"
   version="1.1"
-  id="svg3"
-  sodipodi:docname="1f1f2-1f1f6.svg"
-  inkscape:version="1.4-beta3 (01c8a1c, 2024-08-28, custom)"
-  xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-  xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns="http://www.w3.org/2000/svg"
-  xmlns:svg="http://www.w3.org/2000/svg">
-  <defs
-     id="defs3" />
-  <sodipodi:namedview
-     id="namedview3"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:showpageshadow="2"
-     inkscape:pageopacity="0.0"
-     inkscape:pagecheckerboard="0"
-     inkscape:deskcolor="#d1d1d1"
-     inkscape:zoom="32"
-     inkscape:cx="16.671875"
-     inkscape:cy="26.796875"
-     inkscape:window-width="1680"
-     inkscape:window-height="998"
-     inkscape:window-x="-8"
-     inkscape:window-y="-8"
-     inkscape:window-maximized="1"
-     inkscape:current-layer="svg3" />
   <path
     d="m 36,27 c 0,2.209 -1.791,4 -4,4 H 4 C 2.9840384,31 2.0564945,30.621157 1.3509404,29.997044 L 9,15 h 24 l 3,3 z"
-    id="path1"
-    sodipodi:nodetypes="sssccccs" />
     fill="#231f1e" />
   <path
     d="M 36,18 V 9 C 36,6.791 34.209,5 32,5 H 4 C 2.9838056,5 2.0560696,5.3790161 1.3504555,6.0033847 L 6,18 Z"
-    id="path2"
-    sodipodi:nodetypes="csssccc" />
     fill="#00a650" />
   <path
     d="M 1.351,6.004 1.35,6.003 C 0.522,6.736 0,7.808 0,9 v 18 c 0,1.193 0.522,2.264 1.351,2.997 L 17.5,18 Z"
-    id="path3"
-    sodipodi:nodetypes="ccssccc" />
     fill="#ef1923" />
 </svg>

These changes result in a smaller file size and improved readability without affecting the SVG's visual output. By removing Inkscape-specific metadata and unnecessary attributes, we make the file more portable and easier to work with in different SVG editing tools.
I believe these optimizations strike a good balance between file size reduction and maintaining the SVG's structure. However, I'm open to discussion if you have any other suggestions for further improvements.
My optimized version:
<svg viewBox="0 0 36 36" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="nonzero"><path d="m36 27c0 2.209-1.791 4-4 4h-28c-1.0159616 0-1.9435055-.378843-2.6490596-1.002956l7.6490596-14.997044h24l3 3z" fill="#231f1e"/><path d="m36 18v-9c0-2.209-1.791-4-4-4h-28c-1.0161944 0-1.9439304.3790161-2.6495445 1.0033847l4.6495445 11.9966153z" fill="#00a650"/><path d="m1.351 6.004-.001-.001c-.828.733-1.35 1.805-1.35 2.997v18c0 1.193.522 2.264 1.351 2.997l16.149-11.997z" fill="#ef1923"/></g></svg>

I will add it to the PR.

I wrote: optimize with whatever software you want.
In my Unicodia flags are Twemoji-based (made before SVGization of waved Noto flags, and just simpler). Rules are (a bit contradict to Twitter’s!):
Flags
These rules are intended to work around renderer deficiencies. Emoji are intended to be drawn in small size, and rendering SVG leaves half-pixel lines. Also white and black are main colours everywhere.

Joining fields:

Fields always overlap to at least 1/16 width. Example (England): you just draw a white rectangle, and a cross over it.
When fields are large, that overlap should shun the edge: Example (Ukraine, Poland and other bicolours): one half is a rectangle, the other is a hexagon, with two vertices making that overlap.

White fields adjacent to background:

Small (Norway, US): just white
Medium, both ends are of the same colour (Argentina, Oman): outline of that colour
Medium, ends have different colour (France, Luxembourg): grey outline
Large (England, Slovakia): also grey outline
Difference: small = white field makes a negative space rather than a hole; large = coloured outline makes too much visual noise

Hi @Mercury13,
Thank you for sharing these guidelines! They are really sharp and interesting, and they offer great insights. I’ve reviewed them closely and made sure that my latest shape version aligns with these recommendations.
Regarding the flag colors: the flag should be red, green, and black. I’ve used the color values from the Wikipedia SVG reference, where black is set to #231F1E instead of pure black. Should I replace it with Twitter Black (#141414) instead? Also, for the red and green, should they remain as I set them, or should they be adjusted to fit a Twitter palette as well?
Looking forward to your feedback!

Black better replace. Red and green do not really matter, and it’s BETTER to check country’s flag habits and shift to Twitter’s palette.
As I’m from Ukraine, and until recently Russia was really close, I’ll better talk about them.
UKRAINE. Our flag used to be light-blue+yellow, and in 90s for the sake of practicality the blue became darker, but really dark blue like in Russia since 2014 means something special. No special considerations about yellow.
RUSSIA. Their flag is white-blue-red, and no special considerations, Pantone simple red and simple blue are used. So normal white, normal darker blue from palette, and normal red.

I understand your point @Mercury13. Some colors have meaning.
Aligning the black color does make sense, and I’ve updated it in the latest commit.
The other colors are now aligned with the ones used on Wikipedia.
Are we good with this now?

Another interesting point. Honduras: ≈2022 they changed flag to Maya blue, and even gave RGB, but as Twitter uses a bit dull colours, it’s better to find that line of colours in Pantone and choose a bit duller.

Great teamwork, @Mercury13! Do you have the necessary access to merge this PR, or do you know who is responsible for handling it?

A small app to compare local emoji flag to twemoji. (iOS, macOS, Android) https://emoji-flags.netlify.app

Hi @WebReflection,
When you have a moment, could you kindly take a look at my PR #1116? I’d really appreciate your feedback.
Also, I was wondering if this repository is still actively maintained. I’d love to know if there are any plans or updates for its future.
I also wanted to mention that I’ve submitted a PR on jdecked/twemoji,
Update country flag images: Martinique (PNG and SVG files) jdecked/twemoji#114
Thank you so much for your time!
Best regards,
Thierry

@thierryc its been like 10 years I don’t work at Twitter or don’t maintain this project + I only ever cared about the only part that never changed: the JS one.
I’m not a designer and I’ve never created a single emoji so I’m afraid I wouldn’t know how to help in general anyway.

@WebReflection Thank you so much for taking the time to respond to my message. This project is truly valuable as an open-source initiative. Would you happen to know who might be responsible for maintaining the repository or project at this point?
May be @jdecked ?
Thanks again!

@thierryc to be honest, after all the changes that happened and the re-branding, I don't even know why this space is still active ... it should be called xemoji eventually and under the github.com/x account (I suppose) but again, long time I don't talk, meet, or see the lovely people I've worked with at Twitter (at that time) or that helped me publishing this (lovely indeed) project. I don't know about the license state anymore, I don't know anything about it anymore and I am not planning to fork or maintain this because, like I've said, I have no idea how to even produce emoji in here, I don't have time neither, and I think these days almost every browser is perfectly capable of producing something meaningful out of unicode chars so that while 10 years ago this project was the only way to have consistency on the Web, these days the need to have an emoji to image transformer seems to be not super productive out there.
That being said, I believe the current X still uses this projects as their emoji are still the same, universally, and look just like the one we have in here.

Thank you @WebReflection, I understand and agree 100%! A lot of things have changed from Twitter to X, indeed!
 I will dig on!
I completely agree about the general emoji support. However, there’s still the issue with flags on Windows. Unlike other platforms, Windows doesn’t display visually colored flag emojis; instead, it shows the country code as two letters. This happens because Windows doesn’t natively support regional flag emojis, which is a known limitation. Hopefully, this improves with future updates!
Thank you for your help and your kind response on a project you’re no longer in charge of.
I really appreciate it!


merge package template from arlac77/npm-package-template

package.json

chore(devDependencies): update<EMAIL_ADDRESS>from template

Coverage remained the same at 46.452% when pulling edc874e7020b6b8858083a596d3452fc842337be on template-sync-1 into 20ba5ece201941037b51fc2924aceb5cc35b9fbf on master.

Coverage remained the same at 46.452% when pulling edc874e7020b6b8858083a596d3452fc842337be on template-sync-1 into 20ba5ece201941037b51fc2924aceb5cc35b9fbf on master.

Codecov Report

Merging #255 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #255   +/-   ##
=======================================
  Coverage   48.81%   48.81%
=======================================
  Files           6        6
  Lines         127      127
=======================================
  Hits           62       62
  Misses         65       65

Continue to review full report at Codecov.

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


What tool are you adding and to what category?
We need to add
Docker is a set of platform as a service products that use OS-level virtualization to deliver software in packages called containers. The service has both free and premium tiers.
Add Tool Link
https://www.docker.com/
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] The tool is free for use

/assign


Introduce announcer initialization module api

In the same way that we load protocol and namer support at runtime, we should introduce a pluggable Announcer api.  The Linkerd main should load a list of io.bouyant.linkerd.AnnouncerInitializer modules.  Something to the effect of:
trait AnnouncerInitializer {
  def kind: String
  def announce(server: ListeningServer): Closable
}

Then, the configuration format should be extended to admit a list of announcers on servers.  Supporting a list of announcers is critical to "multiple registration" schemes, which become very important during migrations (i.e. between zk clusters, or from one sd backend to another, etc).
Furthermore, in this announcing regime, we are not supporting announcing of a service's port, but of the router's server (which will forward to the server's port).  This primarily benefits linker-to-linker configurations like:
For example
routers:
- protocol: http
  label: upstream
  baseDtab: /http => /$/inet/127.1/8881
  servers:
  - port: 8080
    ip: <IP_ADDRESS>
    - announcers:
      - kind: io.l5d.serverset
        path: /services/userservice
        zkAddrs:
        - host: zkcluster.buoyant.io
      - kind: io.l5d.serverset
        path: /services/userservice
        zkAddrs:
        - host: otherzkcluster.buoyant.io

- protocol: http
  label: downstream
  baseDtab: ...
  servers:
  - port: 4140

This is done! #368


Using emhass addon on a another pc and accessing Home Assistant sensors

Home Assistant 2023.3.1
Supervisor 2023.01.1
Operating System 9.5
Frontend 20230302.0 - latest
EMHASS
Current version: 0.3.1
Today I have the emhass addon installed on a Home Assistant Yellow pc. As this is not powerful enough to do emhass optimization, I would like to be able to use an Intel nuc for this.
I have set up hassos on my Intel nuc and installed emhass addon in this Home Assistant instance. In the emhass settings I use the ip for my home assistant yellow pc and token. I also changed to the pv_power sensor and load_power_without_deferral_loads which I use:
hass_url: http://x.x.x.x:8123
token: xxxxxxxxxxxx
pv_power_production: sensor.ecu_current_power
load_power_without_deferral_loads: sensor.power_load_no_var_loads

When I do a Day-ahead optimization from the Intel nuc webpage I get errors about "Variable sensor.power_load_no_var_loads was not found."  Is it possible to use emhass addon on another pc to access home assistant sensors?
Emhass log:
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
services-up: info: copying legacy longrun emhass (no readiness notification)
s6-rc: info: service legacy-services successfully started
waitress   INFO  Serving on http://<IP_ADDRESS>:5000
The data container dictionary is empty... Please launch an optimization task
Variable sensor.power_load_no_var_loads was not found. This is typically because no data could be retrieved from Home Assistant
Exception on /action/dayahead-optim [POST]
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2528, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1825, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1823, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1799, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File "/usr/local/lib/python3.9/dist-packages/emhass/web_server.py", line 150, in action_call
    input_data_dict = set_input_data_dict(config_path, str(data_path), costfun,
  File "/usr/local/lib/python3.9/dist-packages/emhass/command_line.py", line 91, in set_input_data_dict
    P_load_forecast = fcst.get_load_forecast(method=optim_conf['load_forecast_method'])
  File "/usr/local/lib/python3.9/dist-packages/emhass/forecast.py", line 586, in get_load_forecast
    rh.prepare_data(self.retrieve_hass_conf['var_load'], load_negative = self.retrieve_hass_conf['load_negative'],
  File "/usr/local/lib/python3.9/dist-packages/emhass/retrieve_hass.py", line 187, in prepare_data
    self.df_final.drop([var_load], inplace=True, axis=1)
  File "/usr/local/lib/python3.9/dist-packages/pandas/util/_decorators.py", line 311, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pandas/core/frame.py", line 4948, in drop
    return super().drop(
  File "/usr/local/lib/python3.9/dist-packages/pandas/core/generic.py", line 4279, in drop
    obj = obj._drop_axis(labels, axis, level=level, errors=errors)
  File "/usr/local/lib/python3.9/dist-packages/pandas/core/generic.py", line 4323, in _drop_axis
    new_axis = axis.drop(labels, errors=errors)
  File "/usr/local/lib/python3.9/dist-packages/pandas/core/indexes/base.py", line 6644, in drop
    raise KeyError(f"{list(labels[mask])} not found in axis")
KeyError: "['sensor.power_load_no_var_loads'] not found in axis"

To make it work this way you need to make the hass_url accessible from outside your LAN. Do this securely of course, by using duckdns or other services and encryption.
And the token should be of course a valid long live access token.

Thanks you for fast answer. I going to try to use Home Assistant Cloud Remote Control url. I going to give you feedback how it goes.

Tried with Home Assistant Cloud Remote Control url and valid long live access token. When emhass starts up I get a lot of errors in the log. If emhass supported Ingress I think it has been easier to connect (https://www.nabucasa.com/config/remote/).

Logger: homeassistant.components.http.ban
Source: components/http/ban.py:80
Integration: HTTP (documentation, issues)
First occurred: 7:33:51 PM (1 occurrences)
Last logged: 7:33:51 PM

Login attempt or request with invalid authentication from localhost (<IP_ADDRESS>). Requested URL: '/api/websocket'. (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36)

Logger: homeassistant.components.http.ban
Source: components/http/ban.py:82
Integration: HTTP (documentation, issues)
First occurred: 7:31:33 PM (118 occurrences)
Last logged: 7:37:40 PM

Login attempt or request with invalid authentication from localhost (<IP_ADDRESS>). Requested URL: '/api/config'. (python-requests/2.28.2)

emhass log:
5b918bf2_emhass_2023-03-07T18-36-07.809Z.log

It works perfectly fine for me when I use duckdns and a token. I don't have nabu casa so I don't know about that.

Thank you for the advice to use duckdns. Did not know about this service. I close the case because I migrated Home Assistant to only one Intel nuc.


Convert example to superforms 2.0

I am trying to migrate the following example to work in 2.0. So far with limited success. Could we convert this to be included in the migration guide? :)
https://superforms.rocks/faq#i-want-to-reuse-common-options-how-to-do-that-easily

I'm about to update the whole website, now that the v2 release is close. See if this works in the meantime:
import { superForm as realSuperForm } from 'sveltekit-superforms';

export type Message = {
  status: 'success' | 'error' | 'warning';
  text: string;
};

export function superForm<T extends Record<string, unknown>>(
  ...params: Parameters<typeof realSuperForm<T, Message>>
) {
  return realSuperForm<T, Message>(params[0], {
    // Your defaults here
    errorSelector: '.has-error',
    delayMs: 300,
    ...params[1]
  });
}

Thanks for your swift feedback. It is nice seeing how the snippets get simpler when evolving the library. For my use-case i was able to simplify it even more to:
import { superForm } from 'sveltekit-superforms'

export function megaForm<T extends Record<string, unknown>>(
  ...params: Parameters<typeof superForm<T>>
) {
  return superForm<T>(params[0], {
    // my params here
    ...params[1],
  })
}


Assume tests container is started immediately

Assume tests container is started immediately

@findepi AC, PTAL

Thanks for taking care of this


TopShelf example not working since tvOS 13.4

In tvOS 13.4+ and 14.0 Beta, there are much stricter memory limits on top shelf extensions. The example seems to use a lot of memory and gets killed, but that can be fixed as so:
--- a/ReLaxExample/ReLaxTopShelfExample/ServiceProvider.swift
+++ b/ReLaxExample/ReLaxTopShelfExample/ServiceProvider.swift
@@ -8,7 +8,7 @@ class ServiceProvider: NSObject, TVTopShelfProvider {
     private let posterImages: [ParallaxImage] = titles
         .map { $0.lowercased().components(separatedBy: .whitespaces).joined() }
         .map { movie in
-            ["5", "4", "3", "2", "1"].map { return "\(movie)-\($0)" }
+            ["5"].map { return "\(movie)-\($0)" }
         }
         .compactMap {
             $0.compactMap { UIImage(named: $0) }

However, it seems that now disk based urls cannot be used for images in the top shelf. The image is never rendered on screen:

https://github.com/asynchrony/Re-Lax/blob/38739c2e30ae554ec78704576e4509190324794c/ReLaxExample/ReLaxTopShelfExample/ServiceProvider.swift#L25
This returns a URL like file:///var/mobile/Containers/Data/PluginKitPlugin/523B8F53-D249-461C-B789-15E186677923/Library/Caches/ which used to work for serving images to the top shelf, but seems no longer does.

Oof--thanks, @tmm1. I'll see if there's any workarounds, but I'll likely have to ~shout into the void~ file a radar about this. I spoke with one of the tvOS engineers a few years back and he assured me loading URLs from the cache to be displayed in top shelf is expected behavior, but sounds like that might've changed. 😞

Yea, real bummer.
I just opened a radar too, for reference:

FB8122159 TVTopShelfSectionedItem with file:// based imageURL does not display
Before tvOS 13.4, a top shelf extension could generate/save images in the cache directory and then serve them into the top shelf using setImageURL: with the file:// based URL for the image on disk.
After 13.4 and in tvOS 14 Beta 1/2/3, the images are no longer displayed. See attached image.

If any Apple 👀 are watching, I filed two radars: FB8122798 and FB8122874.

You only have a nano second to provide the TVTopShelfSectionedContent. It's not possible to issue even the simplest http request, or generate a thumbnail using UIGraphicsImageRenderer etc. All that work has to be done by the app, (in a BGAppRefreshTask probably) and the resulting data (thumbnails etc...) saved in a group folder. Then it's fine to just use the file url.

You only have a nano second to provide the TVTopShelfSectionedContent. It's not possible to issue even the simplest http request, or generate a thumbnail using UIGraphicsImageRenderer etc.

Not sure I follow. I'm making HTTP requests and it works just fine. The new TVService api in 13.0 uses a completion handler to make this even easier. Apple's own BuildingAFullScreenTopShelfExtension example uses dispatch queue to calculate the top shelf contents, and even mentions a network request in the code comments.
I also tried already to cache the generated files and even when they're ready on disk and returned right away, it never renders inside the Top Shelf.

saved in a group folder

Maybe this is the key.. what do you mean by group folder?

Maybe this is the key.. what do you mean by group folder?

Okay I can confirm this works. See https://developer.apple.com/forums/thread/23418

file:///var/mobile/Containers/Data/PluginKitPlugin/523B8F53-D249-461C-B789-15E186677923/Library/Caches/

The new path with proper permissions to render inside Top Shelf looks like file:///private/var/mobile/Containers/Shared/AppGroup/2F333855-1798-4D86-9C92-E8E9D45C0119/Library/Caches/

Awesome--I'll be unavailable for most of the weekend but I'll experiment and correct the example code as soon as I can.

You only have a nano second to provide the TVTopShelfSectionedContent. It's not possible to issue even the simplest http request, or generate a thumbnail using UIGraphicsImageRenderer etc.

Not sure I follow. I'm making HTTP requests and it works just fine. The new TVService api in 13.0 uses a completion handler to make this even easier. Apple's own BuildingAFullScreenTopShelfExtension example uses dispatch queue to calculate the top shelf contents, and even mentions a network request in the code comments.

Like you at first  I was happy to see the completion handler.  But I couldn't get any http request to complete (It does work in the Simulator though). Maybe they have fixed it in more recent version of iOS 13.

I also tried already to cache the generated files and even when they're ready on disk and returned right away, it never renders inside the Top Shelf.

saved in a group folder

Maybe this is the key.. what do you mean by group folder?

The new path with proper permissions to render inside Top Shelf looks like

It's bizarre the extension wouldn't have read access to its own Cache folder.


ONVIF issues

Using:  v0.3.2, h52ga, SFUS

ONVIF WS-Discovery nort working, If I enable 'ONVIF WS-Discovery' in 'ONVIF configuration' I would expect that tools which scan my network for ONVIF devices would detect the cam, but this is not working, while working with other cams on my network. Tested with 'tinyCam Monitor' on Android and 'ONVIF Device Manager' on Windows.

'ONVIF audio decoder (backchannel)' is my assumption right that this is for the backchannel, so you can talk to the cam speaker? Seems not to be working

'ONVIF Network Interface' why is there Ethernet option for cams with only wireless available?

please rename ONVIF Profiles according to official profile namings. See: https://www.onvif.org/profiles/
You name the profiles High and Low, but official Profiles are named A, C, D, G, M, S and T, So how do they match?

ONVIF WS-Discovery nort working, If I enable 'ONVIF WS-Discovery' in 'ONVIF configuration' I would expect that tools which scan my network for ONVIF devices would detect the cam, but this is not working, while working with other cams on my network. Tested with 'tinyCam Monitor' on Android and 'ONVIF Device Manager' on Windows.

Is the tool you are running in the same network? I'm currently using with ODM without problem.
Is the daemon running properly inside the cam?

'ONVIF audio decoder (backchannel)' is my assumption right that this is for the backchannel, so you can talk to the cam speaker? Seems not to be working

This feature is hard to test. You need a client able to create a backchannel (aac or xLaw). How are you testing it?
I tested it with ONVIF Device Test Tool 21.06.
I didn't test it with WebRTC because it doesn't work behind my traefik.

'ONVIF Network Interface' why is there Ethernet option for cams with only wireless available?

Simply I didn't create a function to detect which interfaces are available in the cam.
So I leaved this choice to the user.
And I don't know what happens when a user connects the cam with both interfaces. I haven't got cams with the ethernet.

please rename ONVIF Profiles according to official profile namings. See: https://www.onvif.org/profiles/
You name the profiles High and Low, but official Profiles are named A, C, D, G, M, S and T, So how do they match?

There is a misunderstanding about the terms. When I write "ONVIF Profile" I mean the media profile: the content returned by "GetProfiles" function.
In our case there are two profiles: a high res profile and a low res profile.
The profile you mentioned is the set of feature supported by the cam and is fixed to "S" (although in the latest version there are some implementations related to the T profile).


clear cron schedule on install

this is often full of garbage and could have the wrong dates, best to start clean

added in https://github.com/magemojo/m2-ce-cron/commit/cbc2c06e68c12a4ce05a416aceb256b3b832931b


custom properties for groups

First of all: Great toolbox, thanks a lot! :)
I´m struggeling with getting custom properties for nodes which are located inside a group?
group.add_node(name, custom_properties={'custom_properties': {'direction' : 'In'}})
is not working as the group has no "custom_properties" by itself.
Is there any workaround for this?


Create MAINTAINERS.MD doc

Carvel is missing a doc outlining who the maintainers are and any key stakeholders. Need to create doc and add to main repo then link out to within all tools' repos.

Draft Created: https://hackmd.io/lHIBD4IkTJuNWNfwvE0HZA?view

LGTM.
Do I understand correctly that we now want a MAINTAINERS.md in all other repos that contains a link to this file?

LGTM.
Do I understand correctly that we now want a MAINTAINERS.md in all other repos that contains a link to this file?

Thanks for approving! This is part of what's missing from the health check list. Once I have all the items done I'll add it all in one fell swoop and do all the linking out fun. I created the issue for tracking purposes.


Skip XML.decode!(body) if body is empty

Google Cloud Storage has almost S3 compatible XML API.
So I tried to use it as a file system.
But some responses have content-type: text/html; charset=UTF-8 and empty body, which leads to XML decode error.
17:17:35.640 [error] 3917- fatal: :expected_element_start_tag

17:17:35.651 [error] Task #PID<0.707.0> started from #PID<0.694.0> terminating
** (stop) {:fatal, {:expected_element_start_tag, {:file, :file_name_unknown}, {:line, 1}, {:col, 1}}}
    (xmerl 1.3.28) xmerl_scan.erl:4127: :xmerl_scan.fatal/2
    (xmerl 1.3.28) xmerl_scan.erl:575: :xmerl_scan.scan_document/2
    (xmerl 1.3.28) xmerl_scan.erl:294: :xmerl_scan.string/2
    (livebook 0.5.2) lib/livebook/file_system/s3/xml.ex:35: Livebook.FileSystem.S3.XML.decode!/1
    (livebook 0.5.2) lib/livebook/file_system/s3.ex:406: Livebook.FileSystem.Livebook.FileSystem.S3.encode/1
    (livebook 0.5.2) lib/livebook/file_system/s3.ex:251: Livebook.FileSystem.Livebook.FileSystem.S3.put_object/3
    (livebook 0.5.2) lib/livebook/session.ex:1185: anonymous fn/4 in Livebook.Session.maybe_save_notebook_async/1
    (elixir 1.13.2) lib/task/supervised.ex:89: Task.Supervised.invoke_mfa/2
Function: #Function<11.64266708/0 in Livebook.Session.maybe_save_notebook_async/1>
    Args: []

This tweak prevents the error and enables the backend to work fine with Google Cloud Storage.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@jonatanklosko
Thank you for your kind guide. I'm happy to do it.
I realized the description of this PR was not precise. So let me write again.
Problem
Against a PUT request, Google Cloud Storage XML API returns content-type: text/html; charset=UTF-8 and empty body response
, which cause CaseClauseError in Livebook.FileSystem.S3.encode/1 without any change.
06:54:38.412 [error] Task #PID<0.934.0> started from #PID<0.922.0> terminating
** (CaseClauseError) no case clause matching: {:ok, "text/html"}
    (livebook 0.5.2) lib/livebook/file_system/s3.ex:402: Livebook.FileSystem.Livebook.FileSystem.S3.encode/1
    (livebook 0.5.2) lib/livebook/file_system/s3.ex:249: Livebook.FileSystem.Livebook.FileSystem.S3.put_object/3
    (livebook 0.5.2) lib/livebook/session.ex:1185: anonymous fn/4 in Livebook.Session.maybe_save_notebook_async/1
    (elixir 1.13.2) lib/task/supervised.ex:89: Task.Supervised.invoke_mfa/2
    (stdlib 3.15.2) proc_lib.erl:226: :proc_lib.init_p_do_apply/3
Function: #Function<11.64266708/0 in Livebook.Session.maybe_save_notebook_async/1>
    Args: []

The error attached on this PR's description happens only when I add "text/html" to guard clause of when content_type in ["text/xml", "application/xml"] .
Change
An empty string is not a valid XML and I came to think that https://github.com/livebook-dev/livebook/pull/956/commits/a1eb8d41823e601139df4c63b922ee00b75a542a is too broad to handle the problem.
How about https://github.com/livebook-dev/livebook/pull/956/commits/4ee7f5838b0fdda1da2d140b1e97886a29b0df10 ?

I found another incompatibility in Google Cloud Storage XML API. It does not have batch delete objects endpoint. I became not sure this PR's change is on the right track.
S3.delete_objects/2 can have Google Cloud Storage specific body something like below.
defp delete_objects(%{bucket_url: "https://storage.googleapis.com/" <> _} = file_system, keys) do
  keys
  |> Task.async_stream(fn key ->
    delete_object(file_system, key)
  end)
  |> Enum.filter(&match?({:error, _}, &1))
  |> case do
    [] -> :ok
    [error | _] -> error
  end
end

But is it acceptable? Or there should be another module for Google Cloud Storage?

S3.delete_objects/2 can have Google Cloud Storage specific body something like below.

I think we should assume S3 compatibility, otherwise we would need to keep addressing quirks like that for arbitrary services that people may use and this approach doesn't scale very well. So in this case the user would get an error trying to delete a whole directory, however they should be able to delete individual files, so I'd say it's ok.

@en30 what status do you get for Google Cloud Storage for batch deletion?

I think we should assume S3 compatibility, otherwise we would need to keep addressing quirks like that for arbitrary services that people may use and this approach doesn't scale very well.

Actually, regardless, we don't want to fall back to deleting files individually. If batch deletion is not supported and you have a directory of 1000 files (let's say generated it in a notebook), then we definitely don't want to make 1000 requests as they would count towards API limits and possibly take a long time.

That's right.

So in this case the user would get an error trying to delete a whole directory, however they should be able to delete individual files, so I'd say it's ok.

rename depends on delete_objects, so it affects rename too, but I'd say it's ok too.

what status do you get for Google Cloud Storage for batch deletion?

The status is 400 and the body is
<?xml version='1.0' encoding='UTF-8'?><Error>InvalidArgument<Message>Invalid argument.</Message>Cannot create buckets using a POST.</Error>

rename depends on delete_objects, so it affects rename too, but I'd say it's ok too.

Good point, but yeah, I don't think we can work around this reasonably.

@en30 please run mix format and we should be good to go :)

Oops. I’m the one who should be thanking you :)


[Request] Add Yubico Authenticator

Hi there, doesn't really fit the main bucket, I don't think.. but would be nice to do a scoop install yubico-auth or simlar
https://www.yubico.com/products/services-software/download/yubico-authenticator/
thanks!

Thanks!


add SHIP support/pipeline

User story
As a wis2box user, I would like support for SHIP processing, so that I can publish via wis2box.
Acceptance criteria

[ ] pipeline integration

Definition of done

[ ] unit/functional tests added/updated
[ ] documentation updated
[ ] live demonstration provided

@tomkralidis can we close, this is now included in https://github.com/wmo-im/wis2box/issues/629


Automated cherry pick of #10920: fix(region): avoid set multi resources tags failed

Cherry pick of #10920 on release/3.7.
#10920: fix(region): avoid set multi resources tags failed

Codecov Report

Merging #10921 (f9e2122) into release/3.7 (0ff3997) will increase coverage by 5.20%.
The diff coverage is 0.00%.

@@               Coverage Diff                @@
##           release/3.7   #10921       +/-   ##
================================================
+ Coverage         5.98%   11.19%    +5.20%
================================================
  Files              848      147      -701
  Lines           131795    16921   -114874
================================================
- Hits              7887     1894     -5993
+ Misses          123206    14834   -108372
+ Partials           702      193      -509

Flag
Coverage Δ

aFlag
11.19% <0.00%> (+5.20%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/apis/const.go
0.00% <0.00%> (ø)

pkg/apis/input.go
0.00% <ø> (ø)

pkg/apis/list.go
0.00% <ø> (ø)

pkg/baremetal/tasks/baseprepare.go
0.00% <0.00%> (ø)

pkg/baremetal/tasks/bm_register.go
0.00% <0.00%> (ø)

pkg/baremetal/tasks/ipmiprobe.go
0.00% <0.00%> (ø)

pkg/baremetal/tasks/stop.go
0.00% <0.00%> (ø)

pkg/cloudcommon/validators/validators.go
62.39% <0.00%> (-0.69%)
:arrow_down:

pkg/monitor/alerting/conditions/reducer.go
77.27% <0.00%> (-13.94%)
:arrow_down:

pkg/util/imagetools/imagetools.go
40.50% <0.00%> (-2.74%)
:arrow_down:

... and 717 more

Continue to review full report at Codecov.

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


done: #35 Persist filters state on page refreshes

Claims to fix #35.

This PR brings new errors to the console:

https://reactjs.org/docs/error-decoder.html/?invariant=423
https://reactjs.org/docs/error-decoder.html/?invariant=418

fixed it in: https://github.com/neu-fi/turkiye-relief-dao/pull/45/commits/ec4b935769f17cd5f42efeafac627e07c58bab5a

The filters are applied after the first render.
https://user-images.githubusercontent.com/2770895/218304285-2e054d7a-1c35-49cf-a16c-3c7ffd7e0632.mov
How can we fix that in this PR or another?

Opened https://github.com/neu-fi/turkiye-relief-dao/issues/50 and merged this.


fix: Adjust Viewing Rooms screen header

The type of this PR is: Bugfix

Addresses CX-2024
Description
Adjust Viewing Rooms screen header by using PageWithSimpleHeader (the header border overlaps the back button when font scaling is active).

Before
After

PR Checklist (tick all before merging)

[x] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[x] I have tested my changes on iOS and Android.
[x] I have added tests for my changes, or my changes don't require testing, or I have included a link to a separate Jira ticket covering the tests.
[x] I have added a feature flag, or my changes don't require a feature flag. (How do I add one?)
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)
[x] I have added a changelog entry below or my changes do not require one.

Changelog updates
Changelog updates

Cross-platform user-facing changes

Fix Viewing Rooms screen header height - ole

iOS user-facing changes

Android user-facing changes

Dev changes

LGTM
Can you link the ticket number please?

LGTM
Can you link the ticket number please?

Sure, I've added the ticket in the PR description.


Morph To Many not working when combining with increment id

Report from @phortx at Slack.
Fiddle:
https://jsfiddle.net/ukhLncq7/1/
When defining all model with increment primary key, this is happening. We don't have test for this.

I need this. Do you have any plans when this will be fixed? :)

I'll try look into it soon!

I've reproduced it, and fixed it. Stay tuned I'll be making release soon.

@phortx This issue should be fixed at Vuex ORM 0.31.12 🔥
https://github.com/vuex-orm/vuex-orm/releases/tag/v0.31.12

Works! Thank you :)

Wonderful! 🎉


Remove schemaVersion from EdgeConnect Settings object

Description
Remove schemaVersion from EdgeConnect settings object. It's not necessary.
How can this be tested?

Deploy EdgeConnect with provisioner: true and kubernetesAutomation.enabled: true
Settings object (located here https://dib18963.dev.apps.dynatracelabs.com/ui/apps/dynatrace.classic.settings/ui/settings/app:dynatrace.kubernetes.connector:connection?gf=all) should be created and deleted after CR deletion

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 58.71%. Comparing base (34c1aed) to head (6b9f160).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3351      +/-   ##
==========================================
- Coverage   58.72%   58.71%   -0.01%
==========================================
  Files         330      330
  Lines       18519    18517       -2
==========================================
- Hits        10875    10873       -2
  Misses       6410     6410
  Partials     1234     1234

Flag
Coverage Δ

unittests
58.71% <100.00%> (-0.01%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Description
Remove schemaVersion from EdgeConnect settings object. It's not necessary.
How can this be tested?

Deploy EdgeConnect with provisioner: true and kubernetesAutomation.enabled: true
Settings object (located here https://dib18963.dev.apps.dynatracelabs.com/ui/apps/dynatrace.classic.settings/ui/settings/app:dynatrace.kubernetes.connector:connection?gf=all) should be created and deleted after CR deletion

could you please add ticket link to description?

Description
Remove schemaVersion from EdgeConnect settings object. It's not necessary.
How can this be tested?

Deploy EdgeConnect with provisioner: true and kubernetesAutomation.enabled: true
Settings object (located here https://dib18963.dev.apps.dynatracelabs.com/ui/apps/dynatrace.classic.settings/ui/settings/app:dynatrace.kubernetes.connector:connection?gf=all) should be created and deleted after CR deletion

could you please add ticket link to description?

@andriisoldatenko there is no ticket. It's a quick suggested change! :+1:

gotcha, LGTM


Cursor is shown for a split second in top-left corner before alpha appears

Hi, is it possible to fix so that the cursor does not appear in the top-left corner like this?
https://user-images.githubusercontent.com/15143039/214664880-d398ea00-6fe5-4db9-95f5-4e428e993323.mov

no


Add change_case() and remove_punctuation() augmentations

Implements langcheck.augment.change_case() and langcheck.augment.remove_punctuation().

Thanks for the review Shinichi!


Opinion: kinda disturbed by the hubris of closing this without giving any consideration for the impact on UX.

Opinion: kinda disturbed by the hubris of closing this without giving any consideration for the impact on UX.
Case: I am setting up VSCode and went to install the Terminals Manager Extension. To complete the install, I had to edit the extension config. I did this by running the command to open the json config in a new tab, then attempted to switch between that tab and the extension's marketplace page tab to reference the config guide.
Result: Horrible UX from the marketplace tab constantly reloading from the slightest and most miniscule tab switch. What is more valuable - a little bit of RAM, or my time and patience?
Originally posted by @Hadakajime in https://github.com/microsoft/vscode/issues/36310#issuecomment-755777133

The rational was explained in https://github.com/microsoft/vscode/issues/36310#issuecomment-493633050
You are free to disagree with the choice, but just because you have a different option does not mean the other side is acting in bad faith

The rational was explained in https://github.com/microsoft/vscode/issues/36310#issuecomment-493633050
You are free to disagree with the choice, but just because you have a different option does not mean the other side is acting in bad faith


Installation docs: pyCARL builds by default

Issue
CMakeLists.txt is set to build PyCARL by default when CARLsim is built. This requires PyCARL to be cloned into a specific subdirectory—but these extra installation steps are not reflected in the getting started guide.
Expected Behavior
The installation steps in the user's guide lead to a successful installation.
Observed Behavior
$ cmake -DCMAKE_INSTALL_PREFIX=/home/eric/lib/carlsim6 -DCMAKE_BUILD_TYPE=Release -DGTEST_LIBRARY=~/lib/gtest-1.11/lib/libgtest.so -DGTEST_INCLUDE_DIR=~/lib/gtest-1.11/include/ -DGTEST_MAIN_LIBRARY=~/lib/gtest-1.11/lib/libgtest_main.so -DCARLSIM_NO_CUDA=ON ../.
-- Found GTest: /home/eric/lib/gtest-1.11/lib/libgtest.so
-- Could NOT find Matlab (missing: Matlab_INCLUDE_DIRS) (found version "NOTFOUND")
CMake Error at CMakeLists.txt:376 (add_subdirectory):
  The source directory

    /home/eric/repos/CARLsim6/pycarl

  does not contain a CMakeLists.txt file.

-- Configuring incomplete, errors occurred!
See also "/home/eric/repos/CARLsim6/.build/CMakeFiles/CMakeOutput.log".

Note
Solution is either to walk through pulling PyCARL in the installation guide, or to recommend that users build with -DCARLSIM_PYCARL=OFF, or change the default value to OFF.

Situation might have improved a little with with #28


Number of Services (microservices / apis) supported in a single platformatic runtime

Hello,
Thank you for the making the API development simpler with wonderful platform. Can you please help me understand below questions on runtime :
How many number of services are supported by a single platformatic runtime. I am more interested in the services (microservices / apis) supported?

I am asking because runtime seems to be creating worker_threads for each service, my understanding of worker threads is

we can create only certain number of worker threads
Each worker thread occupies some amount of memory, even though its not actively used

I also see, worker threads are created without any memory limits, does that mean one service (worker thread) can consume all the memory, potentially impacting other services (worker threads)?

Is isolation between services (service, composer, db) one of the reason to choose worker_threads?

I am asking because runtime seems to be creating worker_threads for each service, my understanding of worker threads is

Currently we only create a worker thread for all of them, using some hacks to get the isolation we need. However, we will be moving to a fully threaded model in v2.

I also see, worker threads are created without any memory limits, does that mean one service (worker thread) can consume all the memory, potentially impacting other services (worker threads)?

Adding limits to the memory consumed by a worker_thread is possible. I'll take a note and we'll add this feature.

Is isolation between services (service, composer, db) one of the reason to choose worker_threads?

Isolation is one of the reasons. There is also the need to let service crash, while keeping the process alive to guarantee long term continuity (and "restarts").

Thank you @mcollina for the reply.

Currently we only create a worker thread for all of them, using some hacks to get the isolation we need. However, we will be moving to a fully threaded model in v2.

If you are creating only a single worker thread for all the services. How is isolation guaranteed, especially noisy neighbor problem where one service can consume more and bring down all the services?

If it shares the same worker and change is only in one service, are we going to recreate a new worker and start all services again even though there is change in only one service?

Fully threaded model in nodejs seems to be interesting. Can you kindly point me to any docs around that, excited to see that.

Other question I had is, it is using pino logger inside a worker thread. Reading about pino, it uses worker threads to stream logs. Does that mean it creates one more worker thread inside the worker thread?
Can you please share if you have specification like if we have a container specs and number of services supported (eg:- container with 8GB memory and 2 core CPU might support X number of services)?

Thank you @mcollina for the reply.

Currently we only create a worker thread for all of them, using some hacks to get the isolation we need. However, we will be moving to a fully threaded model in v2.

If you are creating only a single worker thread for all the services. How is isolation guaranteed, especially noisy neighbor problem where one service can consume more and bring down all the services?

There is no guarantee right now against noisy neighbors. That's one of the reasons we are moving to a one-thread-per-service model.

If it shares the same worker and change is only in one service, are we going to recreate a new worker and start all services again even though there is change in only one service?

No, only the given service is restarted in place. In the future, we will restart the full worker thread.

Fully threaded model in nodejs seems to be interesting. Can you kindly point me to any docs around that, excited to see that.

There isn't much atm. We'll add some docs for platformatic.
Here is the docs for worker threads: https://nodejs.org/docs/latest/api/worker_threads.html.

Other question I had is, it is using pino logger inside a worker thread. Reading about pino, it uses worker threads to stream logs. Does that mean it creates one more worker thread inside the worker thread?

Yes, using s transport in pino will create a new thread. All threads are "siblings.

Can you please share if you have specification like if we have a container specs and number of services supported (eg:- container with 8GB memory and 2 core CPU might support X number of services)?

You'll likely be able to support at least 16-24 services.
We'll likely ship an alpha release with multithreaded support next week if you want to test that.

Thank you @mcollina , looking forward for the alpha release.

Hi @mcollina , I see the latest PR related to one worker thread per service is merged to main.
I see it solves the noisy neighbor problem, but now it consumes more memory since each worker thread has its only event loop, v8, etc ?
And, as you mentioned with 8GB memory and 2 core CPU we can create only 16-24 services, if we wanted to create more services (eg:- 70-100), apart from increasing memory what are other possible options?

It really depends what your threads do. the overhead we add is minimal, and we are reducing it further.
if you would like to do a call about discussing how can we support you better for this?

Thank you @mcollina
please let me know if there is a way to measure the overhead (additional memory or CPU usage) caused by creating each worker? we will try to measure and get back to you if we need a call.

I would measure the RSS of the whole process.


WriteCommand Error Handling

Handles write errors arising from insert, update, delete, and findAndModify commands. Following the Mongo Shell behavior, findAndModify returns the write error immediately, while insert, update, and delete will intercept the error and embed it within the result. This allows the user to receive information on the status of all succeeded and failed writes.
Write errors have been moved to the coll module to reduce clutter and remove confusion between error::Error::WriteError and error::WriteError.

lgtm but there's a merge conflict, please do git checkout write-errors && git merge 1.0 and resolve the conflicts


feat: add the concept of an instance owner

Closes #23371
An instance owner has permission to do anything and everything. Currently only supported via Basic Auth sessions and not through tokens.

[x] Well-formatted commit messages
[x] Rebased/mergeable
[x] Tests pass
[ ] http/swagger.yml updated (if modified Go structs or API)

Does this currently actually allow permissions? Or does it just add the concept of an instance owner with no practical effect?

The most recent commit adds a DB level concept of an instance. For now it is simply just a unique id.


MWPW-127874 Query Index

Add helix-query index definitions
Needed for contextual search

Resolves: MWPW-127874
Test URLs:
N/A

Codecov Report

Merging #9 (d99afec) into main (015da47) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main        #9   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            1         1
  Lines           31        31
=========================================
  Hits            31        31

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


Add possibility to load credentials from env vars

What changed?
When using granted credentials import my.profile, check if env vars AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY both exist, and if yes, import them for the profile
Why?
To make it easy to migrate from tools like aws-vault with
aws-vault exec --no-session my.profile -- granted credentials import my.profile

How did you test it?
With above command, worked fine
Potential risks

My solution assumes you know what you are doing and want to add the credentials in the environment to the profile you specify
If there are other credentials in a credential file, they are ignored
I have no experience in Go coding. My coding style might be horrible, sorry for that, feel free to adjust

Is patch release candidate?
I don't know what that means
Link to relevant docs PRs
Don't exist - I created this PR after not seeing an issue or PR addressing it

If wished by maintainers, it might be an option to move this functionality to an own command, or use a flag for it.
If you have suggestions for restructuring the code, I'm happy to comply

Hi @Hustenbonbon !
Thanks for your PR, I think this would be suited to being its own command.
granted credentials import-from-environement
Would you mind restructuring this into it's own command?

Sure, I'd be happy.
Might be a couple of days until I get to it, but you should hear from me latest next week.

Thanks for this @Hustenbonbon
I have created this as a separate command here https://github.com/common-fate/granted/pull/475 . Closing this for now

Wow, thanks for taking over, never got the time to get back to it!


[REQUEST] -

Description
Your repo has no CODE_OF_CONDUCT.md file, I want to add one
Basic Example
No response

kindly assign me this issue @bieefilled  ,i want to work on this issue

Description
Your repo has no CODE_OF_CONDUCT.md file, I want to add one
Basic Example
No response

this issue will be assigned to you


Connector support for the HAProxy

Hi All
Well, this is not a bug, just a new requirement that I want to connect the libmodsecurity to the haproxy community.
As we know, the HAProxy has a SPOE to offload the stream out of the haproxy, and there is a SPOE for the V2 Modsecurithy.
Now since the modsecurity has split the core to libmodsecurity, and has much more functionalities, and it just static function calls, no network/protocols engaged, so the performance should be much better than the SPOE.
So I'm trying to request this connector, anyone doing this?
And if I want to implement it, then any guidance for it, I'm still new to this.
Thanks in advance.
Bali

@leibaogit,
That is a very welcoming addition. We have a group of developers that are working on something similar. Instead of creating the connector in C, they use the golang ModSecurity library bindings to expand their haproxy.
In their case, they are building this ingress-security-agent.
They already have a working prototype that is showing exciting performance perspectives.
@rikatz can talk more about what they are doing.
We have this WhatsApp chat (soon to migrate to Slack) where we are actively discussing possibilities on how to consume libModSecurity in good shape on such env.
They also pointed me to the issue haproxy/haproxy#1021.
No doubt that the go-lang binding adds a little overhead in terms of processing, but, made the implementation quicker.
I am wondering if you guys can work together.

@leibaogit,
That is a very welcoming addition. We have a group of developers that are working on something similar. Instead of creating the connector in C, they use the golang ModSecurity library bindings to expand their haproxy.
In their case, they are building this ingress-security-agent.
They already have a working prototype that is showing exciting performance perspectives.
@rikatz can talk more about what they are doing.
We have this WhatsApp chat (soon to migrate to Slack) where we are actively discussing possibilities on how to consume libModSecurity in good shape on such env.
They also pointed me to the issue haproxy/haproxy#1021.
No doubt that the go-lang binding adds a little overhead in terms of processing, but, made the implementation quicker.
I am wondering if you guys can work together.

Hello @leibaogit
We've been discussing some way to provide modsecurity to be consumed by the Kubernetes Ingresses (mainly haproxy and nginx) in a independent way. Like instead of compiling nginx with the whole modsecurity things, having a separate scalable modsecurity container that can be the effective "judger" for those ingresses.
With this introduction, ISA (the referenced project by @zimmerle) is a Go program that have now two connectors: one SPOE (for HAProxy) and one OpenResty (for NGINX) and they can, for sure be used independently of if you're using HAProxy or NGINX as a kubernetes ingress or not.
As @zimmerle said, there are some caveats of performance because of Go/CGO but we're working to make this as fast as possible, and let the admin scale this as necessary :)
Let me know any other information I can provide you so we can work together to make this possible. Also, I'm not against having also a pure SPOE C Modsec v3, I'm just not doing this because I can't program in C :P

Hello @leibaogit
We've been discussing some way to provide modsecurity to be consumed by the Kubernetes Ingresses (mainly haproxy and nginx) in a independent way. Like instead of compiling nginx with the whole modsecurity things, having a separate scalable modsecurity container that can be the effective "judger" for those ingresses.
With this introduction, ISA (the referenced project by @zimmerle) is a Go program that have now two connectors: one SPOE (for HAProxy) and one OpenResty (for NGINX) and they can, for sure be used independently of if you're using HAProxy or NGINX as a kubernetes ingress or not.
As @zimmerle said, there are some caveats of performance because of Go/CGO but we're working to make this as fast as possible, and let the admin scale this as necessary :)
Let me know any other information I can provide you so we can work together to make this possible. Also, I'm not against having also a pure SPOE C Modsec v3, I'm just not doing this because I can't program in C :P

Thanks @rikatz @zimmerle for replying.
As discussed in this issue, seems directly connect to the haproxy is not a good option, and as suggested, we still need the SPOE support which can offload the analysis to a bigger cluster to unblock the high efficient lb/gw.
And glad to know there's already discussion on this, and want to know whether the solution can be work independently with the haproxy, if so, then that can help a lot for us.

Thanks @rikatz @zimmerle for replying.
As discussed in this issue, seems directly connect to the haproxy is not a good option, and as suggested, we still need the SPOE support which can offload the analysis to a bigger cluster to unblock the high efficient lb/gw.
And glad to know there's already discussion on this, and want to know whether the solution can be work independently with the haproxy, if so, then that can help a lot for us.

@leibaogit @rikatz, since you guys are introduced, can I close this issue?
@leibaogit, you may want to share the project where we can find the progress on the implementation.

@leibaogit @rikatz, since you guys are introduced, can I close this issue?
@leibaogit, you may want to share the project where we can find the progress on the implementation.

@zimmerle very glad you introduced us, and with these information, we will try to leverage, and if more questions on these, we will open new one, so now we can close this issue, thanks.

@zimmerle very glad you introduced us, and with these information, we will try to leverage, and if more questions on these, we will open new one, so now we can close this issue, thanks.

My pleasure :) :rocket: :rocket:

My pleasure :) :rocket: :rocket:


bug: head object returns confusing error

ERROR 1105 (HY000): Code: 3003, displayText = unexpected: (op: stat, path: fuse/37/16/_ss/6d2e12ce77154c9b8c939d252e0a4333, source: Response { status: 403, version: HTTP/1.1, headers: {"x-amz-request-id": "8VVJA3JF9G5HAY9R", "x-amz-id-2": "HvGixnFjEs4PvproLJgNTWXiL72i6c2FWVmJtiKa6fWoDUenmoctG2NbR9kg9jY7nFAthitSTk0=", "content-type": "application/xml", "date": "Fri, 18 Mar 2022 07:03:32 GMT", "server": "AmazonS3"}, body: Body(Empty) }).

We need to  return meaning error to caller.

head_object will not return a response, this is the best we can do.


Update plyr.scss - Fix new scss!

This is a fix for the newly added scss.

Sorry dude, I do have a task to test the scss but it built and rendered fine. Are some processors more forgiving of the @ vs $?
Cheers for fixing it (again!)

@SamPotts Don't worry dude! I'm using gulp-ruby-sass which uses the official sass gem but i don't know why it worked for you that way. Thanks!


yarnpkg dev fails on CSS build when project is located in some src dir

yarnpkg dev can fail with e.g.:
[1] ReferenceError: Unknown plugin "transform-runtime" specified in "/var/lib/prcd/src/pr-ci-dashboard/node_modules/regenerator-transform/package.json" at 0, attempted to resolve relative to "/var/lib/prcd/src/pr-ci-dashboard/node_modules/regenerator-transform" (While processing preset: "/var/lib/prcd/src/pr-ci-dashboard/node_modules/babel-preset-es2015/lib/index.js")

If the project is in some src dir. This is because CSS build as allowed path of src/node_modules/.. to be able to pickup definitions from Bootstrap and patternfly.

Workaround: place the project into different root dir.


CO-2023_Trying_to_access_non_existent_DOM_element

Trying to access non existent CoEnrollmentFlowAuthzCoGroupId DOM element

Based on the comment above, I don't think this is the right fix. Instead, the element ID should be corrected (to blank out the Sponsor CO Group ID when the sponsor mode is not CO Group).

Change done.


Type spread doesn't work correctly with optional properties

Hi, I am using the latest Flow version and I am getting unexpected behavior. Example:
type AAA = { headers?: boolean }
type BBB = { ...$Exact<AAA>, headers?: string }

({ headers: true }: BBB) // string and boolean are allowed here ❌, I expected only string

type CCC = { headers: boolean }
type DDD = { ...$Exact<CCC>, headers: string }

({ headers: 'true' }: DDD) // only string is allowed here ✅

The $Exact is not significant, I just wasn't sure if it's related to this issue (seems like it's not). Why is the behavior different with optional props? Am I missing something? 🤔 Thanks for checking it.
flow.org/try

This is fixed in 0.106.0 with the new spread model.


CI: Reject ubiquibot-config.yml changes from unauthorized contributors

Only admins and billing_managers should have the authority to change the bot config due to price sensitivity. Specifically anything related to finances.
I quickly parsed out the finance related properties from the default config:
{
  evmNetworkId: 100,
  priceMultiplier: 1,
  issueCreatorMultiplier: 2,
  paymentPermitMaxPrice:<PHONE_NUMBER>740991,
  assistivePricing: false,
  commentIncentives: false,
  incentives: {
    comment: {
      elements: {},
      totals: {
        word: 0,
      },
    },
  },
  enableAccessControl: {
    label: false,
    organization: true,
  },
}

How would it reject it?

/start

/stop

/apply

/help

/multiplier

/start

I'll draft this tomorrow

We did pause merges on this repo until the refactor is merged in though. But at least it'll allow you to get a head start on the research. You might have merge conflicts though.

We did pause merges on this repo until the refactor is merged in though.

I noticed that but I need to work so try and stop me :))

You might have merge conflicts though.

On this one I think I'll get away with but the others I have dormant, definitely will have a host of them but I appreciate the heads-up

@pavlovcik or @rndquu, the roles come from the org right? Not the db?

@pavlovcik or @rndquu, the roles come from the org right? Not the db?

yes

Tougher than I expected but nearly there
I'm using a dummy account to QA and it seems that billing_manager is overridden by any other role as opposed to listing all applicable so I'm trying to think of edge cases but I've little behind the scenes info.
So for instance:

In a private repo the billing manager would need invited and therefor would have a role assigned as part of the invite for that repo in particular

At an org level, they cannot be a member otherwise it overrides but this in turn stops the api needed to actually fetch the role info.

I'll get there but if you've any insight that would help I'd appreciate it

Q & A:

Rest API: As far as I can see, the only way to return billing_manager role is through the teams api, so are they assigned a team typically?

Rest API: It seems like you can pull it via the invitation endpoint but pending invites expire and accepted ones aren't kept

GraphQL Doc link: "Organization billing plan does not support access to auditLog information." So we can't use auditLog either.

The config, I assume for a particular reason, doesn't use double quotes which is making it hard to parse in order to do a granular review of changed properties.

Is this a necessity that it be so granular?
Or is it sufficient enough to just do: "isAdmin ? pass : fail"

The point being here, whenever someone without authority changes the config we want to be warned the config has changed. However, in cases where the change is required the CI will need to be overridden by the reviewers ANYWAY, so in all scenarios it fails and would continue to fail unless committed by an admin or overridden as an acceptable change. Considering this, "isAdmin ? pass :fail" makes sense to me.

Forgot about the other action that updates the config. Got it working against my private org repo, draft it maybe tonight probably tomorrow

I've got mixed feelings on the yml implementation. Installation to partner repos will be more complicated if they need to add yml.
Instead ideally the bot should handle it in its core code so that when they add the bot to their repo, it can handle this use case.
I haven't come to a conclusion on this because I asked @wannacfuture to research delegating long running processes to GitHub actions (permit generation and AI related tasks) which might require us to figure some flow that allows yml installation when the bot is added to the repo etc.

At first I did start building it into the Bot yknow and spoke myself out of it with incorrect thinking that it would be easier as an action but it would have been simpler probably, that's why I ask the below

pavlovcik or rndquu, the roles come from the org right? Not the db?

So for now just sit on things until the research comes in, not a problem

Remind me after the refactor and we'll get reviews going again etc.

Yay


Drop support for Python 3.6 due to end-of-life of that distribution.

Codecov Report

Merging #66 (cbd7e2a) into main (3b3ad04) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main       #66   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         3
  Lines          137       137
=========================================
  Hits           137       137

Continue to review full report at Codecov.

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


Suggestions - automatic continuation of long code

So there is an issue with ChatGPT which is due to character cap it often stops the code in the middle, sometimes in the middle of the line. In which case we have to ask it to continue and repeat the missing lines.
Would make life a lot easier if this would be possible to implement and we could copy/paste just one big code section instead of trying to merge and rewrite code parts from 2+ consecutive responses.
Thanks!

@lironle6 please check the latest version v2.5. The extension will now detect a partial response and will show a notification to continue the conversation and eventually you will see a combined response with the previous messages.
Let's say f it takes 4 answers for ChatGPT to completely answer your question, the last response will contain all the results merged together.


New version button disabled: add UI feedback

Closes https://github.com/zenodo/ops/issues/336
:heart: Thank you for your contribution!
Description

The popup tooltip on the disabled "New version" button was not shown since disabled buttons do not trigger hover events.

-> Fixed by adding an extra <span> element around the button.
Remark: the span is always included, even when the button is enabled.

Extra changes:

Centered the tooltip instead of the default left positioning.

Reworded the tooltip to explain more in details the reason for the new versions to be disabled (as suggested in https://github.com/zenodo/ops/issues/336)

Remark: I did not include a final dot . in the sentence (it seems that we sometimes do and sometimes don't).
Remark: The JavaScript translations have not been updated for 2 years, and running npm run extract_messages generates many differences, so I did not update the translations, even though the previous wording had some existing translations in another repository.

Checklist
Ticks in all boxes and 🟢 on all GitHub actions status checks are required to merge:

[x] I'm aware of the code of conduct.
[x] I've created logical separate commits and followed the commit message format.
[x] I've added relevant test cases.
[x] I've added relevant documentation.
[x] I've marked translation strings (for relevant code).
[x] I've followed the CSS/JS and React guidelines (for relevant code).
[x] I've followed the web accessibility guidelines (for relevant code).
[x] I've followed the user interface guidelines (for relevant code).
[x] I've identified the copyright holder(s) and updated copyright headers for touched files (>15 lines contributions).
[x] I've NOT included third-party code (copy/pasted source code or new dependencies).

Third-party code
If you've added third-party code (copy/pasted or new dependencies), please reach out to an architect.
Reminder
By using GitHub, you have already agreed to the GitHub’s Terms of Service including that:

You license your contribution under the same terms as the current repository’s license.
You agree that you have the right to license your contribution under the current repository’s license.

In the past, I remember we had issues with tooltips over disabled elements. Can you make sure it works in all browsers?

Tested on:

:heavy_check_mark: Firefox 123 (Linux)
:heavy_check_mark: Chromium 122 (Linux)
:heavy_check_mark: Edge 122 (Linux)

Tooltips over disabled elements are also not super great for mobile (much better a "i" info icon), but I guess that we can live with that...

I agree.


headers for cl_khr_unified_svm

See: KhronosGroup/OpenCL-Docs#1282

I created a new PR based on the branch in this repo, rather than the branch in my fork:
https://github.com/KhronosGroup/OpenCL-Headers/pull/270
Therefore, I am closing this PR to reduce confusion.


Directive attribute to choose whether step-indicators are before or after

Would be cool to be able to set whether the step-indicators appear before or after the steps container (for ease of styling/layout).  If I get some free time I'll do it myself and submit a PR, but not sure when I'll get a chance.  ;)

Definitely being able to customize the indicators placement and style via provider would be awesome. If I hack it I'll try to submit a PR.

Its fairly easy to make this happen via a decorator
Add an Attribute to allow for position assignment
angular.module('myApp')
  .config(function($provide) {
    /**
     * Hijacking wizard directive
     * need to be able to add methods to the scope
     * also want to be able to have more control over our own
     * customer template
    */
    $provide.decorator('wizardDirective', function($delegate) {
      var directive, link;
      directive = $delegate[0];
      link = directive.link || function(scope) {};
      directive.templateUrl = function(element, attrs) {
        return attrs.template || "app/components/wizard/wizard.html";
      };
      directive.compile = function() {
        return function(scope, element, attrs, ctrls) {
          scope.stepLocation = attrs.stepLocation || "bottom";
          return link.apply(this, arguments);
        };
      };
      return $delegate;
    });
    return $logProvider.debugEnabled(true);
  }));

Default to your own template
(default template is overwritten in the above decorator)

      {{step.title || step.wzTitle}}

Now you can add an attribute to your wizard to specify step indicator
<wizard on-finish="finishedWizard()" step-location="top">
  <wz-step title="Starting">

This is the first step

Here you can use whatever you want. You can use other directives, binding, etc.

    <input type="submit" wz-next value="Continue" />
  </wz-step>
  <wz-step title="Continuing" canenter="item.validateStep">

Continuing

You have continued here!

    <input type="submit" wz-next value="Go on" />
  </wz-step>
  <wz-step title="More steps" canenter="item.validateStep">

Even more steps!!

    <input type="submit" wz-next value="Finish now" />
  </wz-step>
</wizard>

you can simply use css to put the steps container above the wizard. Way quicker and easier. :)

We always suggest writing your own custom CSS but I see the value of actually moving the steps in the DOM to be before the container.  If you submit a PR I will happily merge, but I will close this ticket for now.


Incorrect type. Expected "array" in package.json

Hi,
In all package.json files in node_modules directory the following line is auto added when installing a module with npm install : "bundleDependencies": false
Vscode show me a warning for this line : Incorrect type. Expected "array".
It seems to be normal because bundleDependencies parameter expect array. "false" is wrong type. When i replace "false" by "[]" the warning alert disappears.  But i can't replace it in all package.json files.
Have you this warning in package.json with vscode ?
I posted on npm issues but no answer :
https://github.com/npm/cli/issues/478
Thanks.

@snayam do you see the same issue with all extensions disabled?

Hi,
Yes same issue with all extensions disabled.

@snayam can you please provide detailed steps for when this happens? I cannot reproduce this behaviour given the steps you have to provided.

I can reproduce this error with the current VS Code and npm version by installing the cowsay package or fabric.js. (See screenshot)
But, as snayam has stated, I too don't think that this is an error regarding to VS Code, because this also happens when installing the packages through a normal Powershell.
And the typings are following the documentation which should be an array and not a boolean.

From http://npm.github.io/using-pkgs-docs/package-json/types/bundleddependencies.html the schema is correct and bundleDependencies should be an array and not a boolean. This means some tool creates an incorrect entry in the package.json.
This has also been raised on stack overflow https://stackoverflow.com/questions/58836396/why-bundledependencies-is-false-in-package-json-incorrect-type
@denniskawurek you say

I can reproduce this error with the current VS Code and npm version by installing the cowsay package or fabric.js. (See screenshot)

I cannot reproduce this given the steps provided. Can you please add the steps in more details, that is, what command line are you using? Can you reproduce it in a small sample project. This allows us to narrow down what tool this is.

@egamma sure I can do this.
You can see the steps I'm doing in the screenshot attached.
This time I was using just the Powershell without VSCode. (As I said I don't think that belongs here).
npm -v
6.13.1
As you can see, all I'm doing is
mkdir reproduce
cd reproduce
npm init
npm install is-sorted

package.json of the project:
{
  "name": "reproduce",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "is-sorted": "^1.0.5"
  }
}

I opened the package.json of the is-sorted module in the normal Editor (not VSCode) and there was also the false value.

If you need any further information or try to fix it and need someone to test it, hit me up!

Summary:
npm install adds bundleDependencies: false in the package.json of the installed modules (not the package.json itself.
http://npm.github.io/using-pkgs-docs/package-json/types/bundleddependencies.html indicates that the type should be an array so the warning is correct. This pages also states:

If this is spelled "bundleDependencies", then that is also honored.

Should we soften the schema for package.json to also tolerate a boolean value for bundleDependencies. If not then we should close this as an upstream issue.

Hi,
Indeed it's not a vscode issue but rather a npm issue because when i install a module without vscode i have the same problem.
For example, i launch my Terminal on MacOS X and i start from a empty project (like the example of @denniskawurek ) :
mkdir test
cd test
npm init -y
npm install cheerio
After that, all packages.json files in node_modules directory have bundleDependencies: false.

So the warning is normal in vscode because bundleDependencies parameter expect array. But like you can see in my screenshot it's very annoying to have this error in all package.json files. I would like to understand why "npm install" add this parameter in package.json and also why it put false if expecting array ?
I searched on the web and i posted an issue on npm github but no answer.
I posted here because I thought that vscode users could get an idea.

I created https://github.com/nodejs/node/issues/30542 against node to clarify. If they confirm that bundleDependencies can also be a boolean, then we need to make a PR against https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/package.json


Scoring: Quality of Life improvements

I made some minor modifications to the scoring code:

Make normalized benchmark scores the default.
Add some more information about missing runs (which submission? fix trials -> studies)
Minor code cleanup

Hi Frank could you fix the linting error?


ETCM-3325 Minor corrections to Cardano docs. Mlabs access to be fixed.

This PR should be merged (after review and approval).
When the Mlabs access issue is resolved, the link in Sidechains-toolkit/main chain plutus scripts at line 139 is to be reinstated as a separate PR.

Is this ready to be merged, Neil?

Yes, it's ready to be merged. I have asked Stevan to merge it, but no problem if you do it.On 14 Feb. 2023 6:30 pm, olgahryniuk @.***> wrote:
Is this ready to be merged, Neil?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>


Command line: Replace "\n" don't create new line

Command line: Replace "\n" don't create new line
ex.
--useRegEx --find "\z" --replace "a\nb"
Replace
a\nb
should replace
a
b
GUI version replace "enter" ok

Hello @PiotrMP006 ,
It seems to work if you have the Use escape chars option to true.
However, this options doesn't look to work well if the find also has an escape character.
I believe we will handle this situation in your other issue (#28)
Best Regards,
Jonathan

When you search for text with "ENTER"
aaa
bbb

FNR generate Command Line
--find "aaa**\n**bbb"
When you replace for text with "ENTER" and check "Use escape chars"
ccc
ddd

FNR generate Command Line

`--replace "ccc**\n**ddd\n"`

but "**\n**" don't create windows new line only

ccc[LF]
ddd

should be

ccc[CR][LF]
ddd
You must change for replace command "/n" to "/r/n" in code or change command line to
--replace "ccc**\n\n**ddd\n"
Do you understand now?


Add a Timepix3 component

Timepix3 is a detector used at SQS. While having individual pixels, it is not a frame-based detector, but instead records beginning and the duration of time whenever a pixel is above some defined intensity threshold. Conceptually, it is therefore more similar to a DLD. While it has significantly worse time and spatial resolution than a DLD, it does not suffer from its multi-hit problems - every pixel is independent and it can therefore better cope with lots of signal in very short period of time across the detector.
Raw data is saved as X, Y, ToA (time-of-arrival) and ToT (time-over-threshold) per train. Offline calibration contains a correction step called centroiding, where multiple pixels are combined in space and time to a single detector event called centroid. The resulting data is saved in a similar format, but as structured arrays rather than individual keys.
This component allows to efficiently load both raw and centroid dato into pandas dataframe, similar to the DLD component. The most important step it provides is correlating the detector hits or centroids to EuXFEL pulses via ToA, with the pulse information taken from an EXtra pulse pattern component. Special modes exist to also include detector events occuring outside of pulses.
@bj-s

Thanks! I think all of my comments before were minor enough that I don't need to look through this again, so if you're happy, go for it.

Thanks for review!


[Bug] Collision between policies

Kyverno Version
1.7.x
Kubernetes Version
1.22.x
Kubernetes Platform
EKS
Description
Hi, I have created two policies that are tightly related and collide.
The Idea is that I want to:
Set my pods nodeSelector with a label in the pod's namespace. This is working perfectly,
Set a namespace label by default in case that the namespace were not created with labels. This is working perfectly.
The thing here is that when the first policy applies, it will immediately trigger the second, at least this is what I would expect.
Instead, kyverno seems to merge both policies somehow. The error it is throwing is:
ValidationError(io.k8s.api.core.v1.Namespace.spec): unknown field "template" in io.k8s.api.core.v1.NamespaceSpec
Which leads me to think that the patchStrategie from one policy (setting the nodeSelector with the label namespace) is applied for the resource selection of the other policy (getting the namespace without labels and setting a default label)
Steps to reproduce
Just create a namespace with this policies
The first policy is setting the label in the namespace
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
  name: set-default-namespace-label
  annotations:
    kyverno.io/kyverno-version: 1.8.0
    policies.kyverno.io/minversion: 1.8.0
    pod-policies.kyverno.io/autogen-controllers: none
spec:
  rules:
    - name: check-namespace-to-shutdown-if-no-label-is-specified-and-set-it #@ TODO change the value to active after migration
      match:
        any:
        - resources:
            kinds:
            - Namespace
            selector:
              matchExpressions:
                - {key: shutdown, operator: DoesNotExist }
      exclude:
        any:
        - resources:
            namespaces:
            - kube-system
            - kyverno
            - common
            - flux
            - monitoring
            - default
            - kube-public
            - kube-node-lease
            - argocd
            - external-secrets
      mutate:
        patchStrategicMerge:
            metadata:
                labels:
                  shutdown: "inactive"

The second policy sets the nodeSelector by the namespace label:
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
  name: set-pod-template-node-selector-from-namespace-when-ns-changes
  annotations:
    kyverno.io/kyverno-version: 1.8.0
    policies.kyverno.io/minversion: 1.8.0
    pod-policies.kyverno.io/autogen-controllers: none
spec:
  rules:
    - name: check-namespace-to-keep-running
      match:
        any:
        - resources:
            kinds:
            - Namespace
            selector:
              matchLabels:
                shutdown: "active"
      mutate:
        targets:
        - apiVersion: apps/v1
          kind: Deployment
          namespace: "{{ request.object.metadata.name }}"
        patchStrategicMerge:
            spec:
              template:
                spec:
                  nodeSelector:
                    shutdown: "active"
    - name: check-namespace-to-shutdown
      match:
        any:
        - resources:
            kinds:
            - Namespace
            selector:
              matchLabels:
                shutdown: "inactive"
      mutate:
        targets:
        - apiVersion: apps/v1
          kind: Deployment
          namespace: "{{ request.object.metadata.name }}"
        patchStrategicMerge:
            spec:
              template:
                spec:
                  nodeSelector:
                    shutdown: "inactive"

Expected behavior
I would expect that the first policy will only get triggers once, when I create the namespace without labels. The patchStrategy would set a default value, which in turn it triggers a second policy with the selector given by the first one and the the patchStrategy would set the nodeSelector.
Screenshots
No response
Kyverno logs
No response
Slack discussion
No response
Troubleshooting

[X] I have read and followed the documentation AND the troubleshooting guide.
[X] I have searched other issues in this repository and mine is not recorded.

In your first rule, you probably should use a precondition which restricts the matching of Namespaces to a CREATE operation so that subsequent labeling (which triggers an UPDATE) is excluded.

Hi, thank you for the answer. I also tried it.
So this was my last try:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  finalizers:
    - resources-finalizer.argocd.argoproj.io
  name: cluster-spec
  namespace: argocd
spec:
  project: default
  source:
    repoURL: https://gitlab.com/synaos/pi/specs/cluster-specs.git
    targetRevision: poc/tenants-shutdownK
    path: "development/resources"
    directory:
      recurse: true
  syncPolicy:
    automated:
      prune: true
      selfHeal: true
  destination:
    server: https://kubernetes.default.svc
    namespace: argocd

apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
  name: set-pod-template-node-selector-from-namespace-when-ns-changes
  annotations:
    kyverno.io/kyverno-version: 1.8.0
    policies.kyverno.io/minversion: 1.8.0
    pod-policies.kyverno.io/autogen-controllers: none
spec:
  failurePolicy: Ignore
  validationFailureAction: audit
  rules:
    - name: check-namespace-to-keep-running
      preconditions:
        any:
          - key: "{{ request.operation }}"
            operator: Equals
            value: UPDATE
      match:
        all:
        - resources:
            kinds:
            - Namespace
            selector:
              matchLabels:
                shutdown: "active"
      mutate:
        targets:
        - apiVersion: apps/v1
          kind: Deployment
          namespace: "{{ request.object.metadata.name }}"
        patchStrategicMerge:
            spec:
              template:
                spec:
                  nodeSelector:
                    shutdown: "active"
    - name: check-namespace-to-shutdown
      preconditions:
        any:
          - key: "{{ request.operation }}"
            operator: Equals
            value: UPDATE
      match:
        all:
        - resources:
            kinds:
            - Namespace
            selector:
              matchExpressions:
              - {key: shutdown, operator: NotIn, values: [active] }
      mutate:
        targets:
        - apiVersion: apps/v1
          kind: Deployment
          namespace: "{{ request.object.metadata.name }}"
        patchStrategicMerge:
            spec:
              template:
                spec:
                  nodeSelector:
                    shutdown: "inactive"

I ended up ignoring the failure.


Some questions about FStar

Hello F* team! I'm interested in learning F* and I had some questions about the language. Not being sure where to post these (perhaps that could be considered one of my questions), I figured I would post them here:

Is there any plan to support Haskell as an output language of F*?
Does F* have:

type classes?
anything akin to do-syntax for monadic computation (which of course, it probably doesn't if it doesn't have type classes)
anonymous records like SML?
record-level computation, for example functions which take a record and create a new record with a new attribute (such as in Ur or Ermine)?
lazy evaluation (or at least awareness thereof when outputting code)?
tactics for expedition of proofs?
a REPL? Especially for interactive theorem proving

For any of the above, if they don't exist now, are they planned? Have they already been considered and rejected?

This discussion seems to have died down, and I'll close the issue. If there are any immediately actionable items here (e.g. on purity and evaluation order in our back-ends) please file separate issues for them.


[Synapse]Move test folder under Synapse folder

Description

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

[x] I adhere to the Error Handling Guidelines.

Synapse