Docker-based Tutorial

I'm working my way through these tutorials, and rather than dirty up my machine or use a VM I'm attempting to create Docker images for each of the relevant portions of the tutorials and a Docker Compose file to run them. Once I do I'll contribute everything back to this repo.
I'm having some trouble containerizing a few of the components so far, which I thought I would track here.

[x] LLNL/GridDyn#13
[x] gridlab-d/gridlab-d#1024
[x] gridlab-d/gridlab-d#1148

If anyone here can help me jump start the above two issues I'd appreciate it.

Well, I was finally able to get GridDyn to completely install in a Docker image and running gridDynMain --version works at least. Once I can get GridLAB-D to install I'll be able to test federation via these tutorials (from what I can tell, all the tutorials require GridLAB-D).

Still having a hard time compiling GridLAB-D with HELICS support. I've created a new issue (gridlab-d/gridlab-d#1148) for it in the GridLAB-D repo.

Sweet... thanks to @afisher1 and @kdheepak I can now compile GridLAB-D with HELICS support in a Docker image. Now I'm off to get some docker-compose experiments developed for the tutorials. I'll report back here as I go, just in case anyone's interested!

So... I get the following from GridLAB-D when trying to run Tutorial 1.
gridlab-d_1  | WARNING  [INIT] : substation:15 is using the default base power of 100 VA. This could cause instability on your system.
gridlab-d_1  | WARNING  [INIT] : power_convergence_value not set - defaulting to 0.01 base_power
gridlab-d_1  | WARNING  [INIT] : Fuse:GC-12-47-1_fuse_1 has a negative or 0 mean replacement time - defaulting to 1 hour
gridlab-d_1  | WARNING  [INIT] : last warning message was repeated 2 times
gridlab-d_1  | WARNING  [INIT] : Node:GC-12-47-1_node_27 does not have the same nominal voltage as its parent - copying voltage from parent.
gridlab-d_1  | WARNING  [INIT] : Underground_line:65 GC-12-47-1_ul_1 - phase N conductor should just be a normal conductor!
gridlab-d_1  | WARNING  [INIT] : last warning message was repeated 8 times
gridlab-d_1  | WARNING  [INIT] : INIT: underground_line:GC-12-47-1_ul_9 has a negative resistance in it's impedance matrix. This will result in unusual behavior. Please check the line's geometry and cable parameters.
gridlab-d_1  | WARNING  [INIT] : Underground_line:74 GC-12-47-1_ul_10 - phase N conductor should just be a normal conductor!
gridlab-d_1  | ERROR    [INIT] : init_underground_line(obj=81;GC-12-47-1_ul_17): from and to node nominal voltage mismatch of greater than 0.1%%
gridlab-d_1  | ERROR    [INIT] : init_by_deferral(): object GC-12-47-1_ul_17 initialization failed
gridlab-d_1  | ERROR    [INIT] : model initialization failed
gridlab-d_1  | FATAL    [INIT] : shutdown after simulation stopped prematurely
gridlab-d_1  | FATAL    [INIT] : environment startup failed: Invalid argument
gridlab-d_1  | Model profiler results
gridlab-d_1  | ======================
gridlab-d_1  |
gridlab-d_1  | Class            Time (s) Time (%) msec/obj
gridlab-d_1  | ---------------- -------- -------- --------
gridlab-d_1  | climate            0.130     98.5%    130.0
gridlab-d_1  | substation         0.002      1.5%      2.0
gridlab-d_1  | ================ ======== ======== ========
gridlab-d_1  | Total              0.132    100.0%      0.0
gridlab-d_1  |
gridlab-d_1  | WARNING  [INIT] : last warning message was repeated 6 times

This seems more like a GridLAB-D configuration error and less of an environment error (ie. the Docker images or the Docker Compose configuration).

It does seem like you are using Tutorial 1. Let me test locally.

I did a fresh clone and was able to run the Tutorial1 without changing anything.

The three federates are run this way:
$ gridlabd DistributionSim_B2_G_1.glm

$ python federate1.py

$ helics_broker 2 --loglevel=5

@kdheepak I got that error w/ GridLAB-D before even starting up the other two federates, so I'm not sure how it can be an issue with federate pub/sub. I'm wondering if something's still not just right w/ the compilation of the GridLAB-D code with HELICS support.

@kdheepak I'm at a loss as to where to go from here... I can't seem to get past this error. Any pointers?

I can try building the same docker image and try. Should I just follow your instructions? Or if you can send me your image I can try in there.

I'm running docker-compose now, I'll provide updates on this thread.

I get the same error:
WARNING: Image for service gridlab-d was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Creating 1-distributionfederation-manualstart_gridlab-d_1 ... done
Creating 1-distributionfederation-manualstart_federate_1  ... done
Creating 1-distributionfederation-manualstart_broker_1    ... done
Attaching to 1-distributionfederation-manualstart_gridlab-d_1, 1-distributionfederation-manualstart_broker_1, 1-distributionfederation-manualstart_federate_1
federate_1   | zmq broker connection timed out (2)
federate_1   | Voltage value =<PHONE_NUMBER>1454588 kV
gridlab-d_1  | WARNING  [INIT] : substation:15 is using the default base power of 100 VA. This could cause instability on your system.
gridlab-d_1  | WARNING  [INIT] : power_convergence_value not set - defaulting to 0.01 base_power
gridlab-d_1  | WARNING  [INIT] : Fuse:GC-12-47-1_fuse_1 has a negative or 0 mean replacement time - defaulting to 1 hour
gridlab-d_1  | WARNING  [INIT] : last warning message was repeated 2 times
gridlab-d_1  | WARNING  [INIT] : Node:GC-12-47-1_node_27 does not have the same nominal voltage as its parent - copying voltage from parent.
gridlab-d_1  | WARNING  [INIT] : Underground_line:65 GC-12-47-1_ul_1 - phase N conductor should just be a normal conductor!
gridlab-d_1  | WARNING  [INIT] : last warning message was repeated 8 times
gridlab-d_1  | WARNING  [INIT] : INIT: underground_line:GC-12-47-1_ul_9 has a negative resistance in it's impedance matrix. This will result in unusual behavior. Please check the line's geometry and cable parameters.
gridlab-d_1  | WARNING  [INIT] : Underground_line:74 GC-12-47-1_ul_10 - phase N conductor should just be a normal conductor!
gridlab-d_1  | ERROR    [INIT] : init_underground_line(obj=81;GC-12-47-1_ul_17): from and to node nominal voltage mismatch of greater than 0.1%%
gridlab-d_1  | ERROR    [INIT] : init_by_deferral(): object GC-12-47-1_ul_17 initialization failed
gridlab-d_1  | ERROR    [INIT] : model initialization failed
gridlab-d_1  | FATAL    [INIT] : shutdown after simulation stopped prematurely
federate_1   | Python Federate grantedtime = 6.90031462714805e-310
federate_1   | Load value = (6.90031462713e-313+5.1205e-320j) MW
federate_1   | Voltage value =<PHONE_NUMBER>684086 kV
gridlab-d_1  | FATAL    [INIT] : environment startup failed: Invalid argument
gridlab-d_1  | Model profiler results
gridlab-d_1  | ======================
gridlab-d_1  |
gridlab-d_1  | Class            Time (s) Time (%) msec/obj
gridlab-d_1  | ---------------- -------- -------- --------
gridlab-d_1  | climate            0.200     99.0%    200.0
gridlab-d_1  | underground_line   0.001      0.5%      0.1
gridlab-d_1  | substation         0.001      0.5%      1.0
gridlab-d_1  | ================ ======== ======== ========
gridlab-d_1  | Total              0.202    100.0%      0.1
gridlab-d_1  |
gridlab-d_1  | WARNING  [INIT] : last warning message was repeated 6 times
1-distributionfederation-manualstart_gridlab-d_1 exited with code 2

^CGracefully stopping... (press Ctrl+C again to force)
Stopping 1-distributionfederation-manualstart_broker_1    ...
Stopping 1-distributionfederation-manualstart_federate_1  ...

I've not used docker much before. How do I "ssh" into one of these containers? I want to interactively run some commands.

Is this starting three different containers? One for the broker, one for the federate1.py and one for GridLAB-D? If that is the case, then the broker / python / gridlabd need some additional configuration changes, in order to run across multiple machines.

The tutorial was set up to be single machine only.

My docker skills are not up to par, I'm not able to figure out how to combine these into a single docker image. I'm going to leave it here for now, but if you are able to combine it into a single docker instance then this tutorial should work.

Okay, if you are not able to get that to work, we should be able to get it to work using multi-node feature. I think the changes on the broker side and the Python side are trivial, assuming you can ping from one container to another. We will then need to check with @afisher1 for what the status of GridLAB-D multi-node feature is and whether it can be configured using the .json file (and @phlptp for the GridDyn status).

@kdheepak  it looks like the broker listens on ports 22650 and 22651, correct?

Or wait... maybe it's ports 23404 and 23405.

That didn't seem to help... with each container set to use host networking, all the containers have direct access to the broker listening at <IP_ADDRESS>:23404 and <IP_ADDRESS>:23405. However, the GridLAB-D container still fails with the above error.
From what I'm needing to do with HELICS, it would be best to get the tutorial working using the multi-node feature anyway, so perhaps we can just work towards that @kdheepak? Is there any documentation around configuring multi-node?

Excellent question. Unfortunately I haven't put together any official documentation for this yet. A lot of our "documentation" is essentially in the history of the our gitter channel.  I've marked the beginning and the end of the relevant conversation I had with @phlptp.
:arrow_forward: August 24, 2018 2:46 PM
:arrow_backward: August 25, 2018 9:45 AM
My recommendation is to first try the pi-exchange example instead of the HELICS-Tutorial, i.e. pisender pireceiver helics_broker in three containers. If you can get this to work then it'll help eliminate one level of complexity. We can then try adding GridLAB-D.
I'll also work on improving the documentation.

Here's what I ran for the example:
helics_broker 2 --ipv4 --loglevel=5

In pisender.py change fedinitstring to the following
fedinitstring = "--federates=1 --broker_address=tcp://<IP_ADDRESS> --localport=23501 --interface=tcp://<IP_ADDRESS>"

In pireceiver.py change fedinitstring to the following
fedinitstring = "--federates=1 --broker_address=tcp://<IP_ADDRESS> --localport=23504 --interface=tcp://<IP_ADDRESS>"

This is assuming the helics_broker is run on <IP_ADDRESS>, the pisender is run on <IP_ADDRESS> and the pireceiver is run on <IP_ADDRESS>.
If you run three containers, you will also have to comment out the following lines where pisender creates the broker and checks that the broker is still connected. If you run three containers, pisender should not start it's own broker.
If you want to run just two containers, make the change for the broker init string here and run just pireceiver and pisender.
Thanks for sticking through this!

The port numbers don't matter, as long as it is not 23460 or the same port for both pisender and pireceiver. I believe the broker scans multiple ports for connections. I've ran the above example without the --localport=xxxxx and it has still worked fine across multiple machines.

Thanks @kdheepak, you rock. I'll test this later tonight and report back here.

If the local port is not specified it, requests an open port number from the broker and then establishes a pull socket on that port.

and I suspect if they are actually on different machines you could use the same port number if you like.

@phlptp @kdheepak what port number is the broker assumed to be listening on?

Thx @kdheepak and sorry for not searching the code for that myself... I should look first then ask.

On the contrary, I think all of this should be in our documentation! Feel free to ask, it also helps us understand what needs to be documented, when we eventually get to it :)

OK, so I was able to get the pi-exchange example working. See my pull request on the HELICS-Examples repo. Thanks for the suggestion @kdheepak... this helped me to better understand some of the comm requirements between the broker and federates.

Still working on Tutorial 1, I think I have the Python federate script updated to correctly connect to the broker running in a separate container (based off what I changed to get the multi-node-pi-exchange working). @kdheepak @afisher1 any ideas on what needs to change in GridLAB-D to get it to talk to the broker on a different node over ZMQ TCP? @kdheepak you mentioned a GridLAB-D JSON file, but I'm not having much luck finding it.

This is the JSON file that is read by GridLAB-D. This is where GridLAB-D reads it and uses the information in the file to configure the HELICS GridLAB-D federate. There is a core_init_string keyword that can be added to the JSON. I haven't looked at this in a lot of detail, but it is possible that there's some changes needed in helics_msg.cpp to support the fedinitstring the way we are doing it in the Python example.

Dang... I'm not able to trace the code well enough to see exactly how in the HELICS source code the coreInitString arguments get mapped to the ZeroMQ connection parameters in ZmqComms.cpp.
Was hoping I could get this tutorial to work this week!

For future reference, here's what I'm currently trying for tutorial 1.
1. running 3 docker containers, but all with host networking enabled so each container can access the other two containers on localhost.
2. running the broker with the --ipv4 option.
3. running the federates1.py federate with fedinitstring = "--federates=1 --broker_address=tcp://<IP_ADDRESS> --interface=tcp://<IP_ADDRESS>"
4. running gridlab-d with DistributionSim_B2_G_1.json updated with "core_init_string" : "1 --broker_address=tcp://<IP_ADDRESS> --interface=tcp://<IP_ADDRESS>"

The Python federate is able to establish two-way communication with the broker, so I know the networking stuff is OK. But the gridlab-d federate still fails to connect to the broker at all.

@afisher1 any chance you have some ideas about what I should use in the GridLAB-D JSON config to get GridLAB-D to talk to a HELICS broker that's running on a different host?


machine: define raid machine feature

Newer meta-balena uses the raid machine feature to include RAID support.
Changelog-entry: define raid in machine features for generic devices

lgtm


[rancher-dns] Allow configurable selector rules

This is an enhancement request to have configurable services for which external dns entries are created. Instead of just "every service which has a host port", why not enable this to be configurable based on the needs of the environment and its services.
In example, containers deployed that must be referenced by a domain name that points to a host utilizing a load balancer is one case where the containers behind the load balancer aren't actually obtaining a host port, and don't need to. But there needs to be some dns record pointing to wherever that service lives.
It would be ideal if this worked like the new LB in 1.2.0 whereas you could setup a simple selector rule that says "all services with label foo=bar must have external dns entries created for the host they preside on.

QA steps:

Deploy Route53 template v0.6.2 from rancher-catalog:v1.4.0-rc5
Make sure the io.rancher.host.external_dns and io.rancher.service.external_dns labels work as intended (see README).

Rancher server v1.4.0-rc6
my steps:

Deploy route53 v0.6.2
Add the host label io.rancher.host.external_dns=false to one of the agent (for eg. host1)
Add a new service and expose a port for this service and schedule it on host1

The route53 service didn't create a record for this service

Create a service with label io.rancher.service.external_dns=never and expose a port for it and schedule it on host2

The route53 service didn't create a record for this service

Create a service with label io.rancher.service.external_dns=always and don't expose a port for this service and schedule it on host2

The route53 service created a record for this service.


Performance build for gradle/gradle with lazy task configuration

Expected Behavior

Current Behavior

Context

Steps to Reproduce (for bugs)

Your Environment

Build scan URL:

PR: https://github.com/gradle/gradle/pull/5641
This adds a test to GradleBuildPerformanceTest that runs help on the latest Gradle commit with the latest Gradle commit with and without the org.gradle.internal.tasks.eager flag.  Locally, I see 200ms or so difference.  On CI, I see <100ms difference.  Running the same sort of test with the gradle-profiler, I see about the same.
waiting for this CI build:
https://builds.gradle.org/viewQueued.html?itemId=13512232&tab=queuedBuildOverviewTab


Android 10 / Android Q Issues and Features

This is a continuation of https://github.com/flutter/flutter/issues/32748, since it's preferable to have the complete list of to-dos for Android Q as its own issue rather than as part of a comment thread.
These are the different tasks that need to be completed to help myself keep track of progress and what else needs to be done. This will also help if I missed anything:

[x] Expose insets.systemGestureInsets on MediaQuery.of(context).systemGestureInsets
Done with https://github.com/flutter/flutter/pull/37416 - This allows developers to place draggable widgets outside of the system gesture insets
[ ] Expose setSystemGestureExclusionRects API
This allows developers to change remove gestures from non-mandatory insets. After exposing the API to the framework, the next step would be to create a convenience widget that sends wraps itself in the exclusion rect. See https://github.com/flutter/flutter/issues/54397
[ ] Expose getSystemGestureExclusionRects API
Conversely, it would be good to have a way to query what system gesture exclusion rects have been set. See https://github.com/flutter/flutter/issues/54397
[x] Android 10 not building on a physical device - see https://github.com/flutter/flutter/issues/39827 for more details
[x] New Android 10 activities transition - see https://github.com/flutter/flutter/issues/39812 for more details

Edit: We don't plan to expose an API for mandatory system gesture insets, since they are a subset of the complete system gesture insets. Developers using system exclusion rects should follow a request to setSystemGestureExclusionRects() with getSystemGestureExclusionRects() and work with whatever exclusion rects the system granted, rather than assuming that the request was met.

Isn't the setSystemGestureExclusionRects already done?
https://github.com/flutter/engine/pull/11451

@PieterAelse not quite -- it still needs to be properly exposed on the framework.

Well.. I just found out that BottomNavigationBar works weirdly on iOS: it has a hard-coded padding for the bottom bar. This won't work on Android since the gesture/transparent bar can be of any size. I suggest a refactor to solve both issues.

Hi @bernaferrari, could you clarify what you're expecting and what you actually get for iOS? I took a quick look at the BottonNavigationBar implementation and I'm under the impression that it's not hardcoded and uses MediaQuery's padding to determine the required spacing.
For Android, you could use MediaQuery.systemGestureInsets to create this padding yourself.

Actually, I just checked and unfortunately realized that Window.systemGestureInsets made it into the recent stable, whereas MediaQuery.systemGestureInsets did not since it was introduced in a later PR.
You could either wait until the next stable release or use Window directly in the meantime

@shihaohong well, I think you have said everything. And this made me realise it was actually two issues in one. Besides what you mentioned,
there is no way to disable additionalBottomPadding, which makes BottomNavigationBar unsuitable for places other than the absolute bottom of the screen. In my situation, as shown in the picture above, I am laying out Material Design Components (to help make theming easier), but BottomNavigationBar has an undesirable bottom padding when it is not at the bottom of the screen. But yeah, that's a lot lower priority than the missing MediaQuery.systemGestureInsets.

We believe we've done the critical work, but there is still some work remaining.

@Hixie Since the Pixel 4 release we have been having an issue with our latest app and the need to call setSystemGestureExclusionRects is required.
I see it's in the engine but it has not yet been been exposed though SystemChrome in the framework yet. Is there a reason why?

Any updates on this?
Btw, I'm not sure if there are any changes, but Android 11 developer preview 1 is already out.

I'm planning on coming back to implement set/getSystemGestureExclusionRects soon now that some free time has opened up for me.
I'll take a look into the slated changes for Android 11, but so far, it doesn't seem like there's any significant changes like Android 10's system gesture insets. I've created an issue titled Android 11 Issues and Features to collect these issues, so please put a comment down in https://github.com/flutter/flutter/issues/51365 if there's anything that catches anybody's eye!

After some discussion on the discord channel and an offline chat with @HansMuller, we've decided that it doesn't make sense to expose this via the framework and would be better for this to be a plugin because it is very specific to just one platform, and only Android 10+ versions of that one platform. I've closed the framework side PR and will likely revert the engine side ones

@PieterAelse I'll need to figure that out myself, I haven't worked on plugins with the Flutter team before so I'll need to check with someone who is more familiar. I'll post here when I have more info!

From the discussion so far, it sounds like it would be work for the community.

Since the core work for this has been complete, I'm going to close out this issue. I opened a separate issue (https://github.com/flutter/flutter/issues/54397) to track implementing the exclusion rects API so for those interested in the feature, please move the conversation there :) Thank you!


Facilitate command line usage

Allow the common way to specify input/output files as positional arguments, e.g.scour input.svg output.svg.
Make --help output much clearer by using option groups:

scour 0.33
Copyright Jeff Schiller, Louis Simard, 2010
Usage: scour.py [INPUT.SVG [OUTPUT.SVG]] [OPTIONS]

If the input/output files are not specified, stdin/stdout are used. If the
input/output files are specified with a svgz extension, then compressed SVG is
assumed.

Options:
  --version                      show program's version number and exit
  -h, --help                     show this help message and exit
  -q, --quiet                    suppress non-error output
  -v, --verbose                  verbose output (optimization statistics,
                                 etc.)
  -i INPUT.SVG                   alternative way to specify input filename
  -o OUTPUT.SVG                  alternative way to specify output filename

  Optimization:
    -p NUM, --set-precision=NUM  set number of significant digits (default: 5)
    --disable-simplify-colors    won't convert all colors to #RRGGBB format
    --disable-style-to-xml       won't convert styles into XML attributes
    --disable-group-collapsing   won't collapse <g> elements
    --create-groups              create <g> elements for runs of elements with
                                 identical attributes
    --keep-editor-data           won't remove Inkscape, Sodipodi, Adobe
                                 Illustrator or Sketch elements and attributes
    --keep-unreferenced-defs     won't remove elements within the defs
                                 container that are unreferenced
    --renderer-workaround        work around various renderer bugs (currently
                                 only librsvg) (default)
    --no-renderer-workaround     do not work around various renderer bugs
                                 (currently only librsvg)

  SVG document:
    --strip-xml-prolog           won't output the XML prolog (<?xml ?>)
    --remove-metadata            remove <metadata> elements (which may contain
                                 license/author information etc.)
    --enable-comment-stripping   remove all comments (<!-- -->)
    --disable-embed-rasters      won't embed rasters as base64-encoded data
    --enable-viewboxing          changes document width/height to 100%/100%
                                 and creates viewbox coordinates

  Output formatting:
    --indent=TYPE                indentation of the output: none, space, tab
                                 (default: space)
    --nindent=NUM                depth of the indentation, i.e. number of
                                 spaces/tabs: (default: 1)
    --no-line-breaks             do not create line breaks in output(also
                                 disables indentation; might be overriden by
                                 xml:space="preserve")
    --strip-xml-space            strip the xml:space="preserve" attribute from
                                 the root SVG element

  ID attributes:
    --enable-id-stripping        remove all unreferenced IDs
    --shorten-ids                shorten all IDs to the least number of
                                 letters possible
    --shorten-ids-prefix=PREFIX  add custom prefix to shortened IDs
    --protect-ids-noninkscape    don't remove IDs not ending with a digit
    --protect-ids-list=LIST      don't remove IDs given in this comma-
                                 separated list
    --protect-ids-prefix=PREFIX  don't remove IDs starting with the given
                                 prefix

Thanks for this! Is there a straightforward option to address #34 as well? Normally, a CLI program should display the help menu when it has no option that takes no arguments. Currently it seems to enter a non-ending loop when no arguments are passed to it.


Nature's Spirit startup crash

Mod Name
Nature's Spirit
Mod Homepage
https://modrinth.com/mod/natures-spirit
Minecraft version
1.20.1
Describe the bug
The profile crashes on startup if Nature's Spirit is installed
Steps to reproduce

Install Nature's Spirit
Start the game

Logs
https://gist.github.com/wiisafetymanual/0e71dfcfcf91072c31bc7ffa951486bd
Additional context
Aside from sinytra, forgified api, and nature's spirit, I also had falling leaves, geoliphic reforged, better trees, embeddium, tectonic, and luki's grand capitals

Nature Spirits works on Connector 43
Your just missing TerraBlender(Fabric)
But the Forge version of TerraBlender works


Create rtorrentvpn config file for Synology

By default, the variables RPC2_PASS (for communicating with *arrs) and WEBUI_PASS (for management) are just defined in the compose file. Should these be separated into .env?
My initial thought was "no", because they only apply to rtorrentvpn, but I'm curious to hear your opinion.

By default, the variables RPC2_PASS (for communicating with *arrs) and WEBUI_PASS (for management) are just defined in the compose file. Should these be separated into .env?
My initial thought was "no", because they only apply to rtorrentvpn, but I'm curious to hear your opinion.

I think it might be better to add this to the .env so the user only needs to edit the .env and don't need to touch the .yml file.
also being that some settings some users don't want.
i'm even considering to make the same changes/updates for qbtvpn and delugevpn.
I already made the changes to for the .env
let me know if you think everything is correct like this.
I did find in another compose for rtorrentvpn the following entry
services:
  rtorrentvpn:
    cap_add:
      - NET_ADMIN
      - SYS_MODULE

But i'm not sure if you need need SYS_MODULE with a synology ?
perhaps something you can test ?

i changed to webgui port also to the official one 9080

Looks good with things in .env, Thanks for updating the port number, can't believe I missed that! 🤦
As far as I know, SYS_MODULE is only used to add the Wireguard kernel modules to systems that don't support it out of the box. On Synology boxes, that's a pain, so its suggested to just use OpenVPN, which doesn't require SYS_MODULE.


Validate PayPayMeId as a valid account

Unfortunately it look like any call to https://www.paypal.com/paypalme/{paypalmeid}/ results in a 200 getting returned.

Save this for later, will prioritize better UI for input.


Updated data of library entries is not shown while searching

Steps to reproduce

Go to the library page
Search for an library entry
Update the library entry (e.g. change progress)
Issue: Updated library data (e.g progress) is not shown
Close the search an the updated library data is visible

Issue cause
Normally, the local database (Room) is the single data source of truth. When making changes to the library, the local database gets updated and the change gets shown in the UI. (Handled using a RemoteMediator)
When searching the library, the data source is changed directly to the PagingSource and the local database is ignored:
https://github.com/Drumber/Kitsune/blob/fa271ed1ac7b4aebcaa57cba3aee1bff8e1806a4/app/src/main/java/io/github/drumber/kitsune/ui/library/LibraryViewModel.kt#L122-L135
Possible fix

After a library entry was successfully updated, send a new search request to the API to get the updated data.

or

Add a new database table that represents the current UI state, to keep the single source of truth. When performing a library search, the data is put in the database and then shown in the UI.

Possible fix
1. After a library entry was successfully updated, send a new search request to the API to get the updated data.

Implemented temporary fix. However, this should be done probably when reworking the local library database.


Upgrade to Metrics 0.9.0.Final

Can someone please review/merge? Just a formal review (simple metrics version change)

Could you please rebase on current master?

Done


Fix #135 Compatible with Laravel Telescope in Composer require-dev

Feedback is welcome :-)

#135

Great contribution) Thanks!
Why did you renamed tests/laravel/app/library/CustomHitsIteratorAggregate.php to tests/laravel/app/Library/CustomHitsIteratorAggregate.php ?

Also pls git apply https://github.styleci.io/analyses/vQNn3r
Bump the package version  to 4.0.3 and update CHANGELOG.md

Great contribution) Thanks!

Why did you renamed tests/laravel/app/library/CustomHitsIteratorAggregate.php to tests/laravel/app/Library/CustomHitsIteratorAggregate.php ?

Because of PSR-4. "Library" should reflect the namespace, which starts with a capital letter.

Also pls git apply https://github.styleci.io/analyses/vQNn3r

We'll do, until it turns green.

Bump the package version to 4.0.3 and update CHANGELOG.md

Oke.

I also would like the resulting commits to be cherry picked into the 3.x branch. If this is a small thing for you, would you help me with that?

It is done and in the green!
Please consider my question:

I also would like the resulting commits to be cherry picked into the 3.x branch. If this is a small thing for you, would you help me with that?

Sure I'll copy the feature to 3.x. Thanks again for your great contribution!


Bug: Mount async setup component error!

Describe the bug

It gets empty wrapper. Examples: console.log(wrapper.html()) gives nothing or  expect(wrapper.find("h3").exists()).toBe(true) -  gives error
To Reproduce

Complete describe function:
describe("City Booking component test", () => {
  test("should render", () => {
    const TestComponent = defineComponent({
      components: { CityBookingTest },
      template: "<Suspense><CityBookingTest /></Suspense>",
    });
    const wrapper = mount(TestComponent);
    console.log("wrapper", wrapper.html());
    expect(wrapper.find("h3").exists()).toBe(true);
  });
});

and simple component:
<template>

Booking

</template>

Expected behavior

expect(wrapper.find("h3").exists()).toBe(true) -> should give true
Related information:

@vue/test-utils version: 2.0.2
Vue version: 3.2.38
node version: 16.13.0
npm (or yarn) version: 1.22.17

Additional context

Reference for async setup functions in tests:
https://test-utils.vuejs.org/guide/advanced/async-suspense.html#testing-asynchronous-setup

@fellz You probably need to add await flushPromises() after mount
Check https://v1.test-utils.vuejs.org/guides/testing-async-components.html for more info

@fellz You probably need to add await flushPromises() after mount
Check https://v1.test-utils.vuejs.org/guides/testing-async-components.html for more info

added  await flushPromises() result the same - no h3 tags

How does bookingService.getLocations gets resolved? Is it mocked somehow?

I don't see where you mock the call to getLocations. How are replacing the HTTP call?
Can you make a repro on https://stackblitz.com/edit/vitest-dev-vitest-1vo1fe?file=package.json&initialPath=vitest so we can take a look?

I don't see where you mock the call to getLocations. How are replacing the HTTP call?
Can you make a repro on https://stackblitz.com/edit/vitest-dev-vitest-1vo1fe?file=package.json&initialPath=vitest so we can take a look?

All API requests should be mocked ?

Yes. If it is not mocked then the normal logic (incl. sending a request to the host) will be performed. It's normal JS code

@fellz Yes, and that should solve your problem. I'll close, as this is not an issue with VTU.


API discussion: return File resource for POST /file?

related to  #160.

we've discussed #160 in group work already.


 Instead it
has a category and a details field(depending on the type of
category) its output on the summary needs to reflect this.

📦 :accept:


Click event propagation

Describe the bug
In our intern application, we have some kind of user inactivity logic which is based on click and touch events. In vue-datepicker library, almost every click event is followed by stop propagation. Maybe there are cases where stop propagation is needed, but I have tried to removing it and it looks that it not break anything. If you want, I can make a PR.
To Reproduce
Steps to reproduce the behavior:

Click on whatever on datepicker '....'
Click event is not propagated

Expected behavior
Click event is propagated to parent element.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop & mobile (please complete the following information):

Browser: every browser
Library version: Probably all versions, but for now let's say 6.0.0

Initially, it was added here(link to an old repo). I'll probably add a prop to disable these events without the need to remove them completely as it might break existing functionalities with 3rd party libraries, but will see exactly.


Custom environment cannot save or replace .env file

I configure environment laravel project, i change APP_NAME and other params. But when save process not success and not saved

Resolved, this is problem because .env file permissions denied. I change permission with sudo chmod -R 777 and this successfully


Revisit using src/package_name directory instead of package_name directory

So around a month ago I read Hynek Schlawack nice article about testing and packaging, which also direct me to another article by Ionel MC. The main point of those articles are why it is important to move source code directory below src directory instead of inside the main directory. They argue that is better for testing and packaging.
Back then I would like to share this thought in here but I was reluctant as I wasn't completely get their point (but now I'm pretty much do). Until, just recently I'm having a testing problem with my project. Took me many painful hours for me to figure out what's wrong, basically I was testing the package import using monkeypatching. And no matter how I manipulate the sys.path and the environment the package is already imported before the test run. It took me many hours to understand that pytest traversing through the __init__.py that is above its path and execute them before running the actual test. Then I tried reading the articles by Hynek and Ionel again, and now I can appreciate their approach more.
Then I started restructure my project, move source code to src/project_name, move tests to main directory, update CI.yaml, MANIFEST.in, and setup.cfg. And the problem above is gone.
Before I submit this issue I checked if there is similar issue, and turns out @jaimergp has already mention it on #78 , and I have to say that I disagree with this statement

Ionel seems to steer more into the general web framework domain which is quite different from our current practices. (@dgasmith)

I believe that this apply to our current practice as well, and I think one of my favorite argument from Hynek is

Your tests do not run against the package as it will be installed by its users. They run against whatever the situation in your project directory is.

I hope that we can revisit this idea again, to avoid many potential problems in package testing.

A workaround I've been using to avoid that issue is to run the tests from a level up your directory tree. Annoying but it works!

Just tried what you said, it works, but it doesn't prevent you from loading the __init__.py on the project directory. Pytest discovery will still load any __init__.py above the test directory. Unless you place your tests directory at the same level as project directory.

Yes, I usually have them like that:
- my_package/
- tests/
- setup.py
- ...

I'm also in favor of using the src/package_name structure

Thanks for your interesting links -- I've enjoyed reading them. Also a disclaimer -- I don't actually use cookiecutter-cms directly. That said, there were some points in those articles that alarmed me and that I think make src/pkgname less suitable for scientific software:

You need tooling to use the src-layout effectively. If you don't use a tool to manage virtualenvs and install your project like Tox then it's going to be painful.

Without src you get messy editable installs ("setup.py develop" or "pip install -e"). Having no separation (no src dir) will force setuptools to put your project's root on sys.path - with all the junk in it (e.g.: setup.py and other test or configuration scripts will unwittingly become importable).

It's extremely unlikely that the user of the library will run the tests instead of the library's developer.

In my experience, scientific software is more likely to be developed in a stack with multiple projects being edited at once. In this setup, pure-py projects are development freebies that are conveniently pip install -e .'d and tested in situ. On the user end, installations are often tested to be sure a collection of packages works harmoniously together, and test suites are more likely to depend on other packages than on mockup data structures.
The src/ structure seems to me a nice way to signal I'm-a-complicated-py-package-treat-me-like-c++. But it sounds like for many projects of the complexity that the cms cookiecutter addresses that a CI routine to test the packaged project (which I think the cookiecutter had once with building the conda recipe but was removed b/c it took too long) could avert a lot of the bugs that non-src allows, while preserving the ease of in-src development and testing.

Both articles lean heavily on the tox assumption, which isn't the case here. It is also worth noting that the citation for the change in cryptography has a pretty long thread on the matter https://github.com/pyca/cryptography/pull/1468. I read those comments as "well this solves the solution and this guy really cares about so whatever" rather than "this is a solution that is robust and we're happy with". We should find projects of similar nature which are pure python and do not use tox (which complicates matters) and do not have rust and C components.
It is also notable that we suggest putting tests in the library itself so that downstream library users can run the tests themselves. In an ideal world this wouldn't be needed, but we generally find 1) people are poor at correctly pending their dependencies 2) developers are equally poor at following semantic versioning. Doing so correctly requires a framework of integration tests, release candidates, etc in an area where resources for unit tests themselves is rarely allocated. Therefore not a degradation of the developers, but a general trend of scientific computing and something that needs to be holistically fixed to truly build robust ecosystems.
Balancing pip, tox, setuptools, venv, pipenv, poetry, etc with conda is challenging as they overlap strongly. It sounds like your particular problem is more import structure related/some sort of specific path manipulation rather than the issues illuminated in the articles. We should understand the use case more before making changes and make sure we pull ideas from closely related communities.


Crash on artificially triggered click events

Expected behavior
The library should not crash =)
Actual behavior
When you trigger a click event programmatically, there's a crash:
Uncaught TypeError: Cannot read property 'pageX' of undefined
    at HTMLDocument.i (file:///D:/Projects/jquery.terminal/js/jquery.terminal.min.js:36:79196)
    at HTMLDocument.dispatch (file:///D:/Projects/jquery.terminal/js/jquery-1.7.1.min.js:3:4351)
    at HTMLDocument.i (file:///D:/Projects/jquery.terminal/js/jquery-1.7.1.min.js:3:328)
    at Object.trigger (file:///D:/Projects/jquery.terminal/js/jquery-1.7.1.min.js:3:3038)
    at HTMLAnchorElement.<anonymous> (file:///D:/Projects/jquery.terminal/js/jquery-1.7.1.min.js:3:10497)
    at Function.each (file:///D:/Projects/jquery.terminal/js/jquery-1.7.1.min.js:2:11937)
    at init.each (file:///D:/Projects/jquery.terminal/js/jquery-1.7.1.min.js:2:8483)
    at init.trigger (file:///D:/Projects/jquery.terminal/js/jquery-1.7.1.min.js:3:10473)
    at init.f.fn.(anonymous function) [as click] (file:///D:/Projects/jquery.terminal/js/jquery-1.7.1.min.js:3:11270)
    at HTMLButtonElement.onclick (file:///D:/Projects/jquery.terminal/examples/tilda-demo.html:109:57)

Steps to reproduce
The following patch for one of examples serves as a MWE:
diff --git a/examples/tilda-demo.html b/examples/tilda-demo.html
index 81fd4ef..83fb711 100644
--- a/examples/tilda-demo.html
+++ b/examples/tilda-demo.html
@@ -105,5 +105,7 @@ jQuery(document).ready(function($) {

This is demo of JQuery Terminal Emulator, type tilda to open terminal

+    Helper link
+    <button onclick="$('#helper').click()">Crash!</button>

Browser and OS
Tested on Chrome and IE11.

This crash appeared in 1.7.1 or 1.7.2. Cannot reproduce in 1.7.0.

Added a fix in devel branch it will be in next version.

You can test it here https://codepen.io/jcubic/pen/veGPqw

Thank you!


Bug in basic_json::operator[] const overload

The following code
// note the *const*
const json object =
{
        {"one", 1}, {"two", 2}, {"three", 2.9}
};
std::cout << object.size() << '\n';
std::cout << object["doh!"] << '\n'; // element not found
std::cout << object.size() << '\n'; // const object modified!

prints
3
null
4

Allowing a const object to change like this is not a good idea.
I think this is a bug: either the const overload of operator[] throws if the key cannot be found, or there is no such const overload (e.g. std::map does not have it).

The problem is that json::operator[] const simply chains to array_t/object_t::operator[] using m_value.array/object, which is a const pointer to a non-const object.
For array, instead of doing this:
return m_value.array->operator;
This will fix it:
const array_t *array = m_value.array;
return array->operator;
For object, it's a bit more complicated, since as you said,map doesn't have operator[] const:
auto iter = m_value.object->find(key);
    if (iter == m_value.object->end())
    {
        throw std::domain_error("cannot use operator[] with non-existent key on const object of type " + type_name());
    }

    return iter->second;

This problem is very misleading. I use a json object for parameter input/output and it ends up with a lot of null objects.
Do you have any idea when it could be fixed?
Thank you.

I'm on holiday right now. I'll check this when I come back.

Changing a const object is definitely not OK. However, I think it was a mistake to offer an operator[] as const function in the first place, because such a function does not exist for std::map, and I wanted to mimic the STL containers as close as possible.
I see two options here:

Implement @gregmarr 's fix.
Make the operator[] non-const. In this case, one still can use at. At the same time, one looses the simple syntax to access const objects.

Even with the downside, I would prefer option 2, because it is closer to the other STL containers.
What do you think?

I would prefer 2 as well.

+1 for option 2
following the STL convention is good

I'll see if I can realize option 2 this weekend.

I need unchecked const access, and was using operator[] const for this. Since it has been removed, I'm stuck with an older version of the library because the proposed "workaround", to use at, is not good enough for my use case.
The problem with at is that it performs the check on every access, but for my use case I:

only want to check in debug builds,
can coalesce lots of checks when I construct the json object (which I then pass around as const since I do not intend to modify it),
can coalesce lots of checks before loops.

IIUC I have been left without an alternative/workaround for my use case. Is there one?
In a nutshell what I need is:

unchecked const access with undefined behavior if the element is not there

That is basically what operator[] const is/was there for.
I understand that in the previous state operator[] const was very error prone/buggy.
For me, using the standard NDEBUG macro, or some library specific macro to, in debug builds, either assert/throw/call a user-provided callback/... if the element is not there would have been a better solution (undefined behavior lets you do anything).
I can understand the rationale of "doing what std::map does", but this is an API breaking change, that was not implemented using the [[deprecated]] attribute, and for which no workaround has been provided (correct me if I'm wrong here, I wasn't able to find a function to perform unchecked const access).

Hi all, just to let you know, I reintroduced the const operator[], see http://nlohmann.github.io/json/classnlohmann_1_1basic__json_a8e34088252a3ee6b2377f3a1f26dd1ba.html#a8e34088252a3ee6b2377f3a1f26dd1ba. Sorry for all the inconvenience.


Update Available but not compatible with current Home-Assistant

Home Assistant version
0.109.6
SmartIR version
1.9.0
SmartIR configuration

Add configuration here

Describe the bug
It capture that new smartIR is available but not compatible with current Home-Assistant

Debug log

Add your logs here.

Additional context
Add any other context about the problem here.

This is not a bug. This protects you from installing a version that is not compatible with your HA

This is not a bug. This protects you from installing a version that is not compatible with your HA

Well the required smartIR is 0.110? which Home-Assistant latest release are 0.109.6?

Last release is 0.110.0b3 ;)

Hi, my HA reports also 109.6. And latest SmartIR not being compatible with it. I do not think that HA 110 has been released yet.

The 110 beta is out from Wednesday.

Seems pretty unreasonable to only release updates that support the absolute latest version. How can someone who hasn't updated for several versions (e.g. moving house and had a couple of days/weeks offline) update the plugin if they're not on the beta channel of Home Assistant?

Also, being on Beta channel means by default that that version is not stable enough for a public release. Upgrading to a beta version might break things /integrations or other stuff. My 2 cents.

What's the problem here? The automatic updater of SmartIR informs you that the latest version is not compatible and does not allow you to update. HACS also does not allow you to update. Releases also indicate which version is compatible. What more can I do?

And finally, it's not my choice not to support the previous version of HA. There are changes in HA core that do not allow me.
https://github.com/smartHomeHub/SmartIR/releases
#342

@pr0fetul No one is forcing you to update to beta, as no one is forcing you to update SmartIR. I would like to know what your status would be if you wanted to update HA immediately after its official release and SmartIR could not work due to HA core changes.

Last release is 0.110.0b3 ;)

Got it.. thanks..


Grafana URL configuration parameter

Make a variable for the Grafana URL, so the webserver can show a link to it.
Lets do it without the parameters, for example
http://lasair-ztf-svc.lsst.ac.uk:8080/d/iILmd8-Wz/alerts
The webserver can then add its own time range, for example
http://lasair-ztf-svc.lsst.ac.uk:8080/d/iILmd8-Wz/alerts?orgId=1&from=now-24h&to=now
This will map to a variable GRAFANA_URL in settings.py, and then the webserver can find it.

Please can we cross reference the corresponding issue/PR in the lasair4 repo so that I can see what's needed?


Route Setup

This closes #3 . It creates navigation routes to the different view pages: Topics, Types, Home, User Dashboard.

This look great!


Unable to perform anonymous reads when using no credentials with AWS S3

We need to have a setting to prevent object_store from trying to fetch the AWS instance credentials if no other credentials are provided.

Closed by #30


fix(async ls): trying to create a polyfill

I'd suggest to close the PR, but keep the branch for a later lookup in case we need it :)

This PoC has been aborted.
The team doesn't see great value at maintaining the polyfill.
We will keep the strategy of falling back to the old async storage strategy when the Node.js version is smaller than 12 and higher than 16.7 up to whatever version the issue is fixed (which should be later this month of January 2022)


Test assumptions for 5758

Some changes that verify assumptions in signature binder which are violated in #5758

This passed 3 times in a row, so I'll close it.


[release-1.22] Minor improvement to sds init logging

This is an automated cherry-pick of #51452

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-basic-arm64_istio_release-1.22
a2b8b4708bd413d3bb073625224e335870f6393a
link
true
/test integ-basic-arm64

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


next(params)

A neat way to avoid res.locals could be implemented as follows:
function (req, res, next) {
    next(param1, param2, ...)
}

function (req, res, next, param1, param2, ...) {
    next(...)
}

app.get('path/to/*', ..., function(req, res, ...) {
    // Do something
})

I am Diesan Romero, and I approve of this message.

Express checks the length of the middleware functions to determine if it's an error handler (handle_error()) or a normal middleware (handle_request()).

(err, req, res, next) => {} has length === 4 so it is an error handler.
(req, res) => {} has length === 2 so it is a normal middleware.
(req, res, next) => {} has length === 3 so it is a normal middleware.

It'd be possible to implement this feature with the following rules:

function (req, res, next, param1, param2 {} MUST have 5 parameters or more.
handle_request() should check for === 4 where it now checks > 3.

The hard requirement for 2+ parameters would also help next() to determine if the user is calling next(err) or next(param1, param2) (instanceof Error would not work here, arguments.length < 2 could).
Feels kinda iffy, though.

Ahh, completely forgot about the four parameters thing.
What if all we say that for all handlers with length === 1, an object of all parameters is given?

(param: {err: Error, req: Request, res: Response, next: function}) =>
{ next({data}) }
(param: {err, req, res, next, d}) => {}

Now that you mention all the troubles I feel like res.locals is actually a fine way.


Support GitHub issues

Adds Github support, refactors connectors, changes readme, adds more checks, tests, and makes huge improvements by enabling GPT-4, Now also connects to the Github App.

I still have some tests to write, will raise a ticket
README needs updating
Brand needs sorting, the message needs to become consistent with other dotted around messages (DEV), purpose needs unifying, Contrib, docs website VERCEL


Animation controls do not persist in URL history

Seems the animation controls are reset on page reloads - seems this should be encoded in URL. This forced me to describe animation settings in a demo link - see https://github.com/Kitware/resonant-website/pull/16

I must have broken this at some point, as it used to work.

Fixed in PR #206.


[BUG] Kernel unit tests "Failed to CreateArtifact" with 409 Conflict on GitHub Actions

Describe the bug
The kernel unit tests are failing on GitHub Actions (example, another example) with the following error:
Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run

This occurs in the "Archive code coverage data" step, with the settings:
with:
    name: coverage-data
    path: FreeRTOS/Test/CMock/build/cmock_test*

Investigation
Looking at the GitHub Actions config, commit 9245b4aaac0e2cd1fadff4fe701dcc99030d420c was made two weeks ago, which upgraded upload-artifact task from v2 to v4.
There was a published breaking change in upload-artifact v4:

Due to how Artifacts are created in this new version, it is no longer possible to upload to the same named Artifact multiple times. You must either split the uploads into multiple Artifacts with different names, or only upload once. Otherwise you will encounter an error.

This affects the coverage artifacts in the unit test action config, which use the same artifact name across jobs.
(Personally I think this should be fixed in the GH side, but it looks like the GH Actions devs are declining requests to restore the previous functionality. 😞)
To Reproduce

See all the builds failing on main for the last two weeks.

Additional context
I'll open a PR shortly to deduplicate the artifact names in the kernel unit tests action config.

PR is open: #1275

Thank you for doing the detailed investigation and fixing the issue.


[Feat] Make a page which comes after "Submit" in forms listed on index.html

Description
I wanna build a "Your request was submitted"/"We'll get back to you shortly" page after user clicks the submit button on any form listed on Ezyshop.
This page will be responsive and will include the name of the User mentioned.
Please label as level 2/3
Screenshots
No response
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I'm a GSSoC'24-Extd contributor
[ ] I'm a Hacktoberfest'24 contributor
[X] I am willing to work on this issue (optional)

@mdazfar2 Please assign

@Shan-N Can you provide preview or screenshot of the page you want to create

Should look something like this

@Shan-N  yess , match theme according the website

@Kavita1928  is this issue free? If yes I m intrested


WIP:  Update script that creates managed rule list used by Config

The script, scripts/pull_down_aws_managed_rules.py, downloads markdown files from an AWS repo.  Those markdown files  contain info on managed rules, similar to what appears on AWS official documentation, but in a format that's easier to parse.  However, that repo was archived on June 15, 2023 as AWS doesn't want to maintain a separate list of the managed rules (their explaination.
scripts/pull_down_aws_managed_rules.py will be updated to pull the managed rule info from AWS documentation websites and the parsed results (moto/config/resources/aws_managed_rules.json) will be updated to match the current documentation.
Updates to the manged rules in the last year include adding another label, "Resource Types", adding new supported regions and a few new resources.

Just for the record, I noticed the following differences between the old list of markdown documents and the resource list in the AWS documentation (https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html):
21a22
> ATHENA_WORKGROUP_ENCRYPTED_AT_REST
48a50
> CLOUDFRONT_S3_ORIGIN_ACCESS_CONTROL_ENABLED
62c64
< CLOUD_TRAIL_ENABLED
---
> CLOUDTRAIL_ENABLED
76a79
> CUSTOM_SCHEMA_REGISTRY_POLICY_ATTACHED
82a86,87
> DOCDB_CLUSTER_BACKUP_RETENTION_CHECK
> DOCDB_CLUSTER_ENCRYPTED
95a101
> EC2_CLIENT_VPN_NOT_AUTHORIZE_ALL
99c105
< EC2_INSTANCE_MANAGED_BY_SSM
---
> EC2_INSTANCE_MANAGED_BY_SYSTEMS_MANAGER
153a160
> ELASTICACHE_SUPPORTED_ENGINE_VERSION
194,195c201,202
< INCOMING_SSH_DISABLED
< INSTANCES_IN_VPC
---
> RESTRICTED_SSH
> EC2_INSTANCES_IN_VPC
204a212
> MACIE_STATUS_CHECK
205a214,215
> MQ_AUTOMATIC_MINOR_VERSION_UPGRADE_ENABLED
> MQ_CLOUDWATCH_AUDIT_LOGGING_ENABLED
207c217
< MULTI_REGION_CLOUD_TRAIL_ENABLED
---
> MULTI_REGION_CLOUDTRAIL_ENABLED
208a219,227
> NEPTUNE_CLUSTER_BACKUP_RETENTION_CHECK
> NEPTUNE_CLUSTER_CLOUDWATCH_LOG_EXPORT_ENABLED
> NEPTUNE_CLUSTER_COPY_TAGS_TO_SNAPSHOT_ENABLED
> NEPTUNE_CLUSTER_DELETION_PROTECTION_ENABLED
> NEPTUNE_CLUSTER_ENCRYPTED
> NEPTUNE_CLUSTER_IAM_DATABASE_AUTHENTICATION
> NEPTUNE_CLUSTER_SNAPSHOT_ENCRYPTED
> NEPTUNE_CLUSTER_SNAPSHOT_PUBLIC_PROHIBITED
> NETFW_LOGGING_ENABLED
226a246
> RDS_CLUSTER_ENCRYPTED_AT_REST
254c274
< RESTRICTED_INCOMING_TRAFFIC
---
> RESTRICTED_COMMON_PORTS
296a317
> STEP_FUNCTIONS_STATE_MACHINE_LOGGING_ENABLED

@bblommers This is delicate code in the sense that it can break if AWS changes the HTML for the documentation pages.  I used the lxml package for HTML parsing since that package is already pulled in with the test requirements.  I could add lxml to the dev requirements if you wish.

I'll see if I can make a weekly cron job out of this, so the rules are always up-to-date (+ we get a more timely reminder if it does break..)

Monthly or quarterly might be good enough.   The list of managed rules was last updated a year ago and no one reported issues with it.
I was looking at the config code and it doesn't do a lot with the managed rules at the moment because boto3 didn't do much either (and maybe still doesn't).  If that should change, than keeping the list of managed rules up-to-date would be more important.
Also, "Resource Types" was added to the managed rules info, but I don't know how that's being used by AWS.


storage: trigger compaction when the deleted key / dropped table ratio is high

Currently space of deleted keys and dropped tables is reclaimed on compaction but the dropped/deleted ratio is not considered in the compaction trigger. This can cause prolonged space reclaim especially when writes are rare.
One way to solve this issue is to add a new picker for deleted key / dropped table ratio.
This is not urgent but should be done.

related: #6765

cc @Little-Wallace @soundOfDestiny @Li0k

@Li0k Feel free to reassign if needed.

Motivation
There are two general purposes of delete ratio compaction

performance
space reclaim

For performance, we need to trigger compaction in time to reduce multi-version keys and delete-key to improve read performance. Therefore, we need to introduce the factor of the delete ratio into the original calculation rules.
The purpose of space reclaim is to collect and process the corresponding files and ensure that the space can be released in time to reduce storage costs. The conventional approach is to calculate and record the delete ratio in sst and increase its compaction priority to ensure that compaction can be prioritized, but this approach is complicated in the context of TTL and drop table. And the real-time requirements are lowered compared with the former, so it is expected to periodically rewrite files with a higher delete ratio.
Implementation
According to the above analysis, it is only necessary to trigger a new type of compaction task that rewrites the related file, and the goal can be achieved.  In order to ensure correctness, we only need to deal with two cases, cleaning up the drop table and the data that has expired (TTL). Both types of data are no longer accessed in our system.
Based on the current compaction implementation, we introduce a new Task, which only scans files and cleans up the above useless data (without data merging), and rewrites this sst to achieve the purpose of space release. Here are a few restrictions

Executed only during low-load periods
Periodic execution
Executed only for L6 (contains 90% of data)
Select the specified number of files to execute
Introduce a new pending_type to reduce blocking on the original compaction
Ordinary compaction can replace

We can split sstable files by table-id in the bottommost level so that there would be at most one table-id in each of sst

Member

Good idea!

We can split sstable files by table-id in the bottommost level so that there would be at most one table-id in each of sst. And then we can check whether this table need to expire. We can record minimal epoch in each of sst

I prefer this scheme

Some optional optimizations

Make regular Compaction tasks a higher priority than Space Clean tasks. When a regular task is triggered, conflicting Space clean tasks will be ignored to ensure that normal writes are not blocked
Generate sst files with table_id as a boundary in the bottommost level. In the target scenario, the attributes of TTL and drop_table belong to a specific table, not sst-file. Therefore, the split sst can achieve a better filter and reduce write amplification during rewriting

We have implemented a drop table and ttl related cleanup strategy. The delete key ratio compaction is not a scenario we have encountered so far, and we have lowered its priority.


Classifications: Update CC licenses

Add missing properties to CC licenses
The new property:creativecommons and property:no-modifications from PR #43 have not been applied to all appropriate CC licenses. This MR adjust the properties of the licenses, which were missed.
Set all CC-SA to copyleft-strong
This MR sets all CC-SA style licenses to copyleft-strong.
With property:no-modifications and property:non-commercial, any ND and NC properties are atteched to classified licenses. So there is no need to keep free-restricted as the category of the CC-N*-SA licenses. Instead the class copyleft-strong is used to mark the copyleft obligation of a SA license.
Signed-off-by: Jens Keim<EMAIL_ADDRESS>For more details see Issue https://github.com/doubleopen-project/policy-configuration/issues/36#issuecomment-1714156156 .

@willebra would these changes be to your liking? I'd love to hear your feedback. :smile:

Hi, thanks for the good PR. I commented some of the changes and proposed a modification. The reasoning is as follows: we consider all CC-licenses with NC not to be open source and therefore we would not use the catergory "copyleft-strong" or another open source license category with them. Some of the CC with NC licenses seem to be "source-available" and some are "free-restricted". I would deem that "free-restricted", together with "property:non-commercial" would be the best fit. Do you think this is sensible?
Also, please confirm in this conversation that CC0 dedication is ok for your contributions.

I would deem that "free-restricted", together with "property:non-commercial" would be the best fit. Do you think this is sensible?

I understand now why your main category for CC-NC is free-restricted. However, while we have a property:non-commercial, we do not have a property:copyleft. Meaning with copyleft-strong and property:non-commercial we can understand a license as free-restricted by a non-commercial license and as copyleft, where as with free-restricted and property:non-commercial, we can not understand a license as copyleft, since free-restrictive does not differentiate between permissive and copyleft.
I would suggest adding both categories, free-restrictive and copyleft-strong, instead of adding yet another property to solve this, as copyleft-strong already reflects SA licenses. An alternate solution could be a new category copyleft-restrictive, if that would be more to your taste.
That said, I have no objection to removing the copyleft-strong changes from the PR, if that is in fact what you want. We could then discuss the issue later at length or just keep classifying differently, as we see fit.

Also, please confirm in this conversation that CC0 dedication is ok for your contributions.

I confirm that I'm fine with my contribution being licensed under CC0.

In order to simplify this PR and not take more of your time, I just pushed a version without the CC-SA copyleft-strong commit. This should resolve your change requests. Please confirm and resolve them accordingly.
As suggested before, we can rehash the discussion on the copyleft changes at a later date, if you'd like.
If not please let me know, then we will refrain from pushing our changes in this regard to your upstream and only keep them internally.


Options are not set when gallery is opened programmatically

If BaguetteBox is opened using .show() right after .run(), it won't use any of provided user options.
See:
https://codepen.io/bilgorajskim/pen/NeNvoz
(background and buttons options are ignored)
I solved it by adding userOptions argument to .show() method and changing prepareOverlay(gallery, options); to prepareOverlay(gallery, userOptions);. Then in my code I'm passing options to .show() method instead of .run().
    function show(index, gallery, userOptions) {
        if (!isOverlayVisible && index >= 0 && index < gallery.length) {
            prepareOverlay(gallery, userOptions);
            showOverlay(index);
            return true;
        }

I experienced the same problem and used the above work around to solve the issue for me.


Dialog content cannot be interacted with (Safari 15)

The content of dialogs (as used to show meet runner and venue information) cannot be interacted with on the Safari 15 beta. Text cannot be (directly) highlighted, links cannot be clicked, and the close button does not work.
This would likely be an issue with the browser, but may need to be remedied or worked around at some point.

This appears to have been rectified in a newer Safari beta.


Enable install script to install selinux rpms for any rpm based systems

While installing k3s on Fedora nodes, we need to explicitly install the selinux rpms. Install script currently handles these package installation for centos/rhel 7/8 OS only.
https://github.com/k3s-io/k3s/blob/master/install.sh#L490
We do not have Fedora in our support matrix. Its nice to have install script handle the installation of required rpms for automation purpose.
$ cat /etc/redhat-release
Fedora release 33 (Thirty Three)

curl -fL https://get.k3s.io | INSTALL_K3S_COMMIT=5749f66aa3c469b4c744caab1878c6967ac08041 sh -s - server --token secret --selinux
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --100 24781  100 24781    0     0   164k      0 --:--:-- --:--:-- --:--:--  164k
[INFO]  Using commit 5749f66aa3c469b4c744caab1878c6967ac08041 as release
[INFO]  Downloading hash https://storage.googleapis.com/k3s-ci-builds/k3s-5749f66aa3c469b4c744caab1878c6967ac08041.sha256sum
[INFO]  Downloading binary https://storage.googleapis.com/k3s-ci-builds/k3s-5749f66aa3c469b4c744caab1878c6967ac08041
[INFO]  Verifying binary download
[INFO]  Installing k3s to /usr/local/bin/k3s
[ERROR]  Failed to apply container_runtime_exec_t to /usr/local/bin/k3s, please install:
    yum install -y container-selinux selinux-policy-base
    yum install -y https://rpm.rancher.io/k3s/stable/common/centos/7/noarch/k3s-selinux-0.2-1.el7_8.noarch.rpm

Additional info:
No issues seen with bringing up the cluster with the packages installed
$ kubectl get nodes
NAME                                          STATUS   ROLES                  AGE   VERSION
<IP>   Ready    control-plane,master   14m   v1.20.2+k3s-5749f66a
[fedora@ip-172-31-33-203 ~]$ kubectl get pods -A
NAMESPACE     NAME                                      READY   STATUS      RESTARTS   AGE
kube-system   local-path-provisioner-5ff76fc89d-6h9jp   1/1     Running     0          14m
kube-system   metrics-server-86cbb8457f-rgzvl           1/1     Running     0          14m
kube-system   coredns-854c77959c-f5fmk                  1/1     Running     0          14m
kube-system   helm-install-traefik-7g8t4                0/1     Completed   0          14m
kube-system   svclb-traefik-5n7ps                       2/2     Running     0          14m
kube-system   traefik-6f9cbd9bd4-9zr4s                  1/1     Running     0          14m
$

Maybe a related question would be: is Fedora considered at all for the k3s-selinux packages? tested?
The version for k3s-selinux is fixed on the install script as of today to 0.2-1, whereas there's a newer stable version 0.3.stable.0 with a new naming scheme.
We are deploying currently on Fedora 33 and, while a manual install of the k3s-selinux package works, it needs a manual verification of the version the k3s install script actually deploys on the other systems, and ofc the question of compatibility remains.
Any feedback will be really welcome!

We really should have an evergreen link for the RPM itself; I agree that having a direct (and stale) link in the install script isn't the best.

https://github.com/k3s-io/k3s/pull/6945

Bumping to next release per some failing tests that were commented in the PR

Validated On:
rhel8 *
rhel9 (v1.26) *
ubuntu *
sles15 RPM install (instead of default tar) *
centos7 *
Fedora coreos
sle micro
Scenarios:
Single installation
Upgrade from previous version to current commit - Deploying Workloads
Cluster config:
1 server - 1 agent
Commits:
1.26 4182dcaac8da225dd004737db2aae1393308c79d
1.25 c25f611eed749c15a51c6858480b84047974ab63
1.24 53e5d566b5a415544e8c501d34588bdb0a815f40


remainingTime not updating

Hey,
I can’t reproduce. I’ll need more information to address this—it would be best to set up a reproducible example for me to look at, but a code snippet with your use-case might be okay too.

Closing this for now—feel free to comment when you have more information to share.


Feature/prevent order from getting lost when merging state

Fix for the order getting lost when merging collection state. Use an Immutable.js OrderedSet instead of a Set.
https://facebook.github.io/immutable-js/docs/#/OrderedSet
I'm not 100% on whether we should be taking the union of the two sets in the way that we are at the moment, but since the behaviour is quite central to our application I don't want to modify it too much. I imagine we might be using it to save on operations when updating the store somewhere else in the application.
However, I think that reducing the state of a search operation should entirely replace the results list instead of merging in the state.

This thought pattern was incorrect.
Redux is a local database in the browser. Its not a place to throw state and pull it out again. Otherwise there would be no point in using redux - just fetch it and use it.
In redux you fetch and store state in the store - without thinking about what you want to use in the current view - then... you select back out of the state only what you want.

Yep I think I eventually worked out that I’d got this wrong. Thanks for the
clarification!
Sebastian Sibelle
Web Developer
0423 893 863
<EMAIL_ADDRESS>On 31 May 2018 at 9:42:25 pm, Andrew McLagan<EMAIL_ADDRESS>wrote:
This thought pattern was incorrect.
Redux is a local database in the browser. Its not a place to throw state
and pull it out again. Otherwise there would be no point in using redux -
just fetch it and use it.
In redux you fetch and store state in the store - without thinking about
what you want to use in the current view - then... you select back out of
the state only what you want.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/ethical-jobs/ethical-jobs-redux/pull/2#issuecomment-393503624,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABQmsY74NGUdcA6WS9I7xI73W4p7KaOkks5t39cggaJpZM4PLkw0
.


Update Immich logo

Immich got a new logo!

SVG source (adjusted viewbox to remove empty space around the logo)
immich/#7798

Thanks!


Can you jailbreak GPT-4o?

Hello, I'm interested in your project, I've generated prompt 4 times with your code but can't jailbreak gpt-4o. Can you jailbreak effectively?

Hello, I'm interested in your project, I've generated prompt 4 times with your code but can't jailbreak gpt-4o. Can you jailbreak effectively?

I'm not sure about your test environment. If you use the chatgpt web version, you may encounter submission size limitations. You can try to load a bare model based on the hugeface sdk for testing.
In addition, the vulnerability disclosure and repair speed of large models is very fast, and this vulnerability may have been fixed by most base model providers.

I will continue to publish the latest research and knowledge about LLM jailbreak and prompt injection through my technical blog, https://securaize.substack.com/

OK~~Thanks for your help!


The version is no longer compatible, is it still being updated?

It's not actively updated, however I will fix the compile issues asap. I will notify you when the issues are fixed.

Okay, thank you.


Cannot use 2 offset and cursor pagination at the same time

Describe the bug
I have an entity todo-item, and I'm trying to create 2 resolvers:

An offset paginated one
A cursor paginated one

Have you read the Contributing Guidelines?
Yes
To Reproduce
Steps to reproduce the behavior:

Follow the steps to install the dependencies and create the example from https://tripss.github.io/nestjs-query/docs/introduction/example (or checkout https://github.com/ValentinVignal/reproducible/tree/ptc-org/nestjs-query/cursor-and-offset-pagination)
Update the todo item module resolvers to :

      resolvers: [
        {
          DTOClass: TodoItemDTO,
          EntityClass: TodoItemEntity,
          create: { disabled: true },
          update: { disabled: true },
          delete: { disabled: true },
          read: {
            one: { disabled: true },
            many: {
              name: 'todoItemCursor',
            },
          },
        },

        {
          DTOClass: TodoItemDTO,
          EntityClass: TodoItemEntity,
          pagingStrategy: PagingStrategies.OFFSET,
          create: { disabled: true },
          update: { disabled: true },
          delete: { disabled: true },
          read: {
            one: { disabled: true },
            many: {
              name: 'todoItemOffset',
            },
          },
        },
      ],

run npm run start

Expected behavior
I would want to have 2 resolvers, one with cursor pagination and one with offset pagination.
Current behavior
Instead I get the error:
/Users/valentin/Perso/Projects/reproducible/node_modules/graphql/type/schema.js:219
        throw new Error(
              ^
Error: Schema must contain uniquely named types but contains multiple types named "TodoItemConnection".
    at new GraphQLSchema (/Users/valentin/Perso/Projects/reproducible/node_modules/graphql/type/schema.js:219:15)
    at GraphQLSchemaFactory.create (/Users/valentin/Perso/Projects/reproducible/node_modules/@nestjs/graphql/dist/schema-builder/graphql-schema.factory.js:38:24)
    at GraphQLSchemaBuilder.generateSchema (/Users/valentin/Perso/Projects/reproducible/node_modules/@nestjs/graphql/dist/graphql-schema.builder.js:35:52)
    at GraphQLSchemaBuilder.build (/Users/valentin/Perso/Projects/reproducible/node_modules/@nestjs/graphql/dist/graphql-schema.builder.js:22:31)
    at GraphQLFactory.generateSchema (/Users/valentin/Perso/Projects/reproducible/node_modules/@nestjs/graphql/dist/graphql.factory.js:27:69)
    at ApolloDriver.generateSchema (/Users/valentin/Perso/Projects/reproducible/node_modules/@nestjs/graphql/dist/drivers/abstract-graphql.driver.js:23:36)
    at GraphQLModule.onModuleInit (/Users/valentin/Perso/Projects/reproducible/node_modules/@nestjs/graphql/dist/graphql.module.js:109:54)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at callModuleInitHook (/Users/valentin/Perso/Projects/reproducible/node_modules/@nestjs/core/hooks/on-module-init.hook.js:51:9)
    at NestApplication.callInitHook (/Users/valentin/Perso/Projects/reproducible/node_modules/@nestjs/core/nest-application-context.js:223:13)

Desktop (please complete the following information):

Node Version: v18.18.2
Nestjs-query Version

├──<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>deduped
└─┬<EMAIL_ADDRESS>  └──<EMAIL_ADDRESS>deduped

I tried to see if there was a way to give a custom name to the connections, but I couldn't find it. Maybe a connectionName parameter could be added somewhere so I could specify connectionName: 'TodoItemCusorConnection' and connectionName: 'TodoItemOffsetConnection'

I see it is possible to provide a connectionName to the ReadResolverOpts<DTO> :
          read: {
            connectionName: 'TodoItemOffsetConnection',
            one: { disabled: true },
            many: {
              name: 'todoItemOffset',
            },
          },

but it is being overridden in https://github.com/TriPSs/nestjs-query/blob/6f58030695cfb774d591cc2af2910ebc1e115f03/packages/query-graphql/src/resolvers/read.resolver.ts#L61

For the ones looking for a workaround, I managed to got both by doing:
 resolvers: [
        {
          DTOClass: TodoItemDTO,
          EntityClass: TodoItemEntity,
          create: { disabled: true },
          update: { disabled: true },
          delete: { disabled: true },
          read: {
            one: { disabled: true },
            many: {
              name: 'todoItemCursor',
            },
          },
        },
        {
          DTOClass: TodoItemDTO,
          dtoName: 'TodoItemOffsetPaginated',
          EntityClass: TodoItemEntity,
          pagingStrategy: PagingStrategies.OFFSET,
          create: { disabled: true },
          update: { disabled: true },
          delete: { disabled: true },
          read: {
            one: { disabled: true },
            many: {
              name: 'todoItemOffset',
            },
          },
        },
      ],

But I think this issue should stay open as connectionName doesn't seem to do anything because it always overridden

Hi @ValentinVignal, thanks for reporting, will try to check this out soon.

@ValentinVignal that would be awesome, thanks! Let me know if you need any help.

How should I contact you if I have some questions ?

You can comment here or if you have a more general question inside discussions, I receive emails for all notifications and tend to reply when I see them :)

@ValentinVignal FYI: I also created a slack (See README), let's see if that works.


Fix repo history so that all commits have DCO

Some of the commits in our repo got in before we added the bot to ensure the presence of the "Sighed-off-by" commit message. We'll need to go back through the history, probably with a rebase, and fix any erroneous commits. There should be tools to help with this.
DCO is not required for merge-commits AFAIK.

I suspect this is not worth doing - unless there is a good tool. If BC Gov does not requires DCO (which it should IMHO), this particular repo is unlikely to be moved to Hyperledger or some other organization, where DCO would be required. As such, this can probably be ignored.  Perhaps other BCGov Digital Trust repos, but not this one.

We have enabled DCO required from now on, but we are not rewriting history for now


Inconsistent use of gdal

Here https://github.com/gee-community/geemap/blob/9c990baa21d62337ead2c6a6fbd58e0a74038a6f/geemap/common.py#L10794
    from osgeo import gdal
    import rasterio

    # ... and suppress errors
    gdal.PushErrorHandler("CPLQuietErrorHandler")

Whereas here https://github.com/gee-community/geemap/blob/9c990baa21d62337ead2c6a6fbd58e0a74038a6f/geemap/common.py#L15128
    try:
        from osgeo import gdal, osr
    except ImportError:
        raise ImportError("GDAL is not installed. Install it with pip install GDAL")

# [SNIP]

    gdal.UseExceptions()

One of the importss is wrapped in a try, but the others are not. I suggest dropping the try/except wrapping.
The UseExceptions is great as that will become the default behavior of GDAL in the future. I suggest always doing that right after the imports each time there is a from osgeo import
The gdal.PushErrorHandler calls are missing the matching gdal.PopErrorHandler(). You are welcome to use this context manager if it makes things easier.  https://github.com/schwehr/gdal-autotest2/blob/577974592837fdfc18fd90b338cb657f1f2332bd/python/gcore/gcore_util.py#L50

@contextlib.contextmanager
def ErrorHandler(error_name):
  handler = gdal.PushErrorHandler(error_name)
  try:
    yield handler
  finally:
    gdal.PopErrorHandler()

#1867 wasn't quite right. I will try to make a PR this week that does what I think was intended. Sorry that my explanation above wasn't clear.


Incorporate Voice Channel Chat Web Api

Found link to native JS API that can accomplish a voice recording functionality without the need for external dependencies. Link: https://developer.mozilla.org/en-US/docs/Web/API/MediaStream_Recording_API


Mobile App [Radzima RN, iOS] The route is not plotted when the user is speaking on the phone and using the app simultaneously

Tested area:
(iPhone 11 pro, RN)
Description:
When a user is speaking on the phone and using the app simultaneously, the route is not plotted, the spinner appears. The problem is only RN iOS.
The route is plotted in RN Android while a user is on the phone and using the app.
Steps to reproduce:
Precondition:
There is an active incoming/outcoming call
The app is running
Steps:

Click any object from any category (eg. "Усадебно-парковый комплекс Чапских")
Click on 'Посмотреть на карте"
Click on "Проложить маршрут"

Actual result:
The route is not plotted, the spinner appears.
Expected result:
The route is plotted.

Proposed logic. Just ignore spaces before and after and show the state as for empty field.

Fix corresponds to issue #72

@Olga-Kurbatskaya yes sorry)


libdisplay-info might not be good enough for HDR info

libdisplay-info fails to parse some extension blocks completely or partially. Those blocks contain info regarding HDR support.
https://git.linuxtv.org/edid-decode.git/ this tool works fine. So even if the edid itself is slightly broken it contains necessary info which can be extracted.
What should we do with https://github.com/hyprwm/aquamarine/pull/112?

Switch to some other lib?
Wait for libdisplay-info updates?
Fork it and apply some patches?
Add some env vars to force necessary values?

We can also ditch DI and just write the code ourselves, after all.
Up to you. I wouldn't wait for updates.


Clear a field in externaly triggered mode

Me again for an other issue (an enhancement this time :)).
I noticed there are no "clear buttons" with externaly triggerred mode.
As far I understand YADCF, that is because clear button is yadcf.doFilter('clear'...) witch clear the display AND refresh/redraw the table.
Would it be possible to split "clear function" (diplaying functionality) and "refresh/redraw" function, allowing clear buttons to just... clear the filter displaying without update the table, in externaly triggered mode?
Thanks

docs... showcase... :)
You should use the yadcf.exResetAllFilters(oTable); function , see it in action on the showcase

Sorry, I was talking about the own filtre reset button, witch are not displayed in externally filterred mode...
But yes, I can add them manually, just after each filter containers, and use exResetFilters to reset the field...
Adding manually buttons, pffffffff.
I guess I'm getting used to see YADCF doing everything for me ;)...

I dindn't think that there are much sence in providing filter reset buttons when the filter is not triggered on change/keyup anyway but by using the external filter button.
Anyway you can comment out the following code in yadcf to keep the reset buttons when working with external triggered mode
			//no individual reset button for externally_triggered mode
			if (default_options.externally_triggered === true) {
				options_arg[i].filter_reset_button_text = false;
			}

The problem is, since server is not providing a defaut option "please select..." (maybe it should, maybe not), the user can't cancel a select filter after he first selected something.
Also, I don't want yadcf to redraw the table, but just clear the field to his defaut value.
So, I was able to add my own button, and use the exResetAllFilters function to clear the filter.
To anyone having the same issue, exResetAllFilters has a 'noRedraw' parameter.
Exemple : yadcf.exResetAllFilters( tableWallet, true, [ parseInt( numcol ) ] );
=> will clear the filter without any table redrawing.


Button element should have type="button" attribute

Many ASP.net sites have a form element wrapping the entire body (I'm looking at you Kentico).
The button element used to show overflow navigation triggers a page refresh on these sites without a type attribute set to 'button'.
navDropdownToggle.setAttribute("type", "button");
I'd put this on line 192 to fix the issue.

Thanks for the suggestion! Should be added now.


[WIP] vr: fix packet interface mismatch

Description
Fixes #6615
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

@blueorangutan package

@weizhouapache a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 4022

@blueorangutan test

@weizhouapache a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-4756)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 42157 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6656-t4756-kvm-centos7.zip
Smoke tests completed. 100 look OK, 1 have errors
Only failed tests results shown below:

Test
Result
Time (s)
Test File

test_02_upgrade_kubernetes_cluster
Failure
494.17
test_kubernetes_clusters.py

test_07_deploy_kubernetes_ha_cluster
Failure
3611.48
test_kubernetes_clusters.py

test_08_upgrade_kubernetes_ha_cluster
Failure
0.05
test_kubernetes_clusters.py

test_09_delete_kubernetes_ha_cluster
Failure
0.04
test_kubernetes_clusters.py

ContextSuite context=TestKubernetesCluster>:teardown
Error
69.68
test_kubernetes_clusters.py

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. LL-JID 184

@blueorangutan test

@DaanHoogland a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-4948)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 41653 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6656-t4948-kvm-centos7.zip
Smoke tests completed. 100 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_02_upgrade_kubernetes_cluster
Failure
838.25
test_kubernetes_clusters.py

test_08_upgrade_kubernetes_ha_cluster
Failure
664.37
test_kubernetes_clusters.py

@shwstppr @weizhouapache I rebased this on 4.17 and added a small change to the configure.py code: https://github.com/apache/cloudstack/pull/6656/commits/7010f6a1341643aed036d60aedec9c1af1c6afa2
tested this and it seems correct. please review.

@acs-robot a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build: :heavy_check_mark:
Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/6656 (SL-JID-2408)

@blueorangutan package

@DaanHoogland a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 4258

@DaanHoogland code lgtm, but I am not 100% confident about the changes.
btw, can you kick off smoke tests ?

@DaanHoogland code lgtm, but I am not 100% confident about the changes.
btw, can you kick off smoke tests ?

I have hack-tested this, but I'll update my test env with these new packages and retest to make sure, @weizhouapache
and yes af course ;)
@blueorangutan test

@DaanHoogland a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. LL-JID 148

Trillian Build Failed (tid-5)

@blueorangutan test

@weizhouapache a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-4986)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 40861 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6656-t4986-kvm-centos7.zip
Smoke tests completed. 102 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

ContextSuite context=TestISOUsage>:setup
Error
0.00
test_usage.py

Trillian test result (tid-4990)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 42756 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6656-t4990-kvm-centos7.zip
Smoke tests completed. 98 look OK, 5 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_01_add_primary_storage_disabled_host
Error
0.58
test_primary_storage.py

test_01_primary_storage_nfs
Error
0.13
test_primary_storage.py

ContextSuite context=TestStorageTags>:setup
Error
0.21
test_primary_storage.py

test_01_secure_vm_migration
Error
161.60
test_vm_life_cycle.py

test_02_unsecure_vm_migration
Error
275.23
test_vm_life_cycle.py

test_03_secured_to_nonsecured_vm_migration
Error
142.83
test_vm_life_cycle.py

test_08_migrate_vm
Error
44.88
test_vm_life_cycle.py

test_03_deploy_and_scale_kubernetes_cluster
Failure
34.21
test_kubernetes_clusters.py

test_07_deploy_kubernetes_ha_cluster
Failure
76.06
test_kubernetes_clusters.py

test_08_upgrade_kubernetes_ha_cluster
Failure
44.20
test_kubernetes_clusters.py

test_09_delete_kubernetes_ha_cluster
Failure
42.16
test_kubernetes_clusters.py

ContextSuite context=TestKubernetesCluster>:teardown
Error
127.55
test_kubernetes_clusters.py

test_02_list_snapshots_with_removed_data_store
Error
8.54
test_snapshots.py

test_02_list_snapshots_with_removed_data_store
Error
8.54
test_snapshots.py

test_hostha_enable_ha_when_host_in_maintenance
Error
303.87
test_hostha_kvm.py

@blueorangutan test

@DaanHoogland a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@DaanHoogland code lgtm, but I am not 100% confident about the changes.
..
I have hack-tested this, but I'll update my test env with these new packages and retest to make sure, @weizhouapache and yes

@weizhouapache , I manually checked the ping on the extra interface in the router (eth3) and it contains both incoming and outgoing data. Than I checked doing ls in an ssh connection and again both incoming and outgoing data where on eth3

Packaging result: :heavy_check_mark: el7 :heavy_multiplication_x: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. LL-JID 150

@nvazquez @weizhouapache can you review please?

Trillian test result (tid-5007)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 45426 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6656-t5007-kvm-centos7.zip
Smoke tests completed. 101 look OK, 2 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_08_upgrade_kubernetes_ha_cluster
Failure
673.26
test_kubernetes_clusters.py

test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers
Failure
464.16
test_vpc_redundant.py

@blueorangutan package

@DaanHoogland a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 4295

@weizhouapache @nvazquez can you shine your lights over this please?

@blueorangutan test

@rohityadavcloud a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-5035)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 43261 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6656-t5035-kvm-centos7.zip
Smoke tests completed. 103 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

@weizhouapache @shwstppr are we satisfied with this now?


residue_esm_tokens is not defined

Error:
g: Starting from v1.9.0,tensorboardXhas been removed as a dependency of thepytorch_lightningpackage, due to potential conflicts with other packages in the ML ecosystem. For this reason,logger=Truewill useCSVLoggeras the default logger, unless thetensorboardortensorboardXpackages are found. Pleasepip install lightning[extra]or one of them to enable TensorBoard support by default   "Starting from v1.9.0,tensorboardXhas been removed as a dependency of thepytorch_lightning`"
Missing logger folder: workdir/inference/example_ProteinReDiff/gen5/lightning_logs
LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]
Predicting DataLoader 0:   0%|                                                                                | 0/3 [00:00<?, ?it/s]Using cache found in /home/ubuntu/.cache/torch/hub/facebookresearch_esm_main
File "/home/ubuntu/anaconda3/envs/pr_design/lib/python3.7/site-packages/pytorch_lightning/trainer/call.py", line 38, in _call_and_handle_interrupt
return trainer_fn(*args, **kwargs)
File "/home/ubuntu/anaconda3/envs/pr_design/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 938, in _predict_impl
results = self._run(model, ckpt_path=self.ckpt_path)
File "/home/ubuntu/anaconda3/envs/pr_design/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 1112, in _run
results = self._run_stage()
File "/home/ubuntu/anaconda3/envs/pr_design/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 1190, in _run_stage
return self._run_predict()
File "/home/ubuntu/anaconda3/envs/pr_design/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 1244, in _run_predict
return self.predict_loop.run()
File "/home/ubuntu/anaconda3/envs/pr_design/lib/python3.7/site-packages/pytorch_lightning/loops/loop.py", line 199, in run
self.advance(*args, **kwargs)
File "/home/ubuntu/anaconda3/envs/pr_design/lib/python3.7/site-packages/pytorch_lightning/loops/dataloader/prediction_loop.py", line 101, in advance
dataloader_iter, self.current_dataloader_idx, dl_max_batches, self.num_dataloaders
File "/home/ubuntu/anaconda3/envs/pr_design/lib/python3.7/site-packages/pytorch_lightning/loops/loop.py", line 199, in run
self.advance(*args, **kwargs)
File "/home/ubuntu/anaconda3/envs/pr_design/lib/python3.7/site-packages/pytorch_lightning/loops/epoch/prediction_epoch_loop.py", line 100, in advance
self._predict_step(batch, batch_idx, dataloader_idx)
File "/home/ubuntu/anaconda3/envs/pr_design/lib/python3.7/site-packages/pytorch_lightning/loops/epoch/prediction_epoch_loop.py", line 129, in _predict_step
predictions = self.trainer._call_strategy_hook("predict_step", *step_kwargs.values())
File "/home/ubuntu/anaconda3/envs/pr_design/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 1494, in _call_strategy_hook
output = fn(*args, **kwargs)
File "/home/ubuntu/anaconda3/envs/pr_design/lib/python3.7/site-packages/pytorch_lightning/strategies/strategy.py", line 408, in predict_step
return self.model.predict_step(*args, **kwargs)
File "/home/ubuntu/BOLTPRO/Chirag/Protein_Redesign/ProteinReDiff/model.py", line 251, in predict_step
x, seq_t = self.sample(batch)
File "/home/ubuntu/anaconda3/envs/pr_design/lib/python3.7/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
return func(*args, **kwargs)
File "/home/ubuntu/BOLTPRO/Chirag/Protein_Redesign/ProteinReDiff/model.py", line 387, in sample
batch = self.prepare_batch(batch)
File "/home/ubuntu/BOLTPRO/Chirag/Protein_Redesign/ProteinReDiff/model.py", line 443, in prepare_batch
residue_esm_tokens = batch["residue_esm_tokens"]
KeyError: 'residue_esm_tokens'
Predicting DataLoader 0:   0%|          | 0/3 [00:11<?, ?it/s]
`
There is n attribute of "residue_esm_tokens" in the object "batch"
Please mention the python version as well the dependencies version you are using because it is working in other deprecated version

same here

residue_esm_tokens appeared when you actually in training. Are you going through the training step?
If it is just inferencing, I just fixed the predict script (without using flag "--training" to disengage stochastic masking).
The python used is 3.9, pytorch=1.12.1, lightning=1.7.7. Those are in environment file: https://github.com/HySonLab/Protein_Redesign/blob/main/environment.yml


Add Flex-App AppStore-button(s) to imprint

As soon as @chrisdutz has published the DukeCon Flex client to the iOS and Android App-Stores there should be an additional button in the imprint (impressum) bar to download/open this.
(Planned as "bugfix" release for 1.1)

Might be a non-issue if we are linking to an external imprint. Place the links somewhere else instead?

Closing; we don't have control over the imprint page anymore.