Cached projects are only restored the "target" folder but not the ~/.m2/repository folder

Plugin Name
@nxrocks/nx-spring-boot
Nx Report

NX   Report complete - copy this into the issue template

Node   : 18.17.0
OS     : darwin-arm64
pnpm   : 8.15.3
nx                 : 18.0.4
@nx/js             : 18.0.4
@nx/jest           : 18.0.4
@nx/linter         : 18.0.4
@nx/eslint         : 18.0.4
@nx/workspace      : 18.0.4
@nx/cypress        : 18.0.4
@nx/devkit         : 18.0.4
@nx/eslint-plugin  : 18.0.4
@nx/react          : 18.0.4
@nx/storybook      : 18.0.4
@nrwl/tao          : 18.0.4
@nx/vite           : 18.0.4
@nx/web            : 18.0.4
typescript         : 5.1.6
Community plugins:
@koliveira15/nx-sonarqube : 3.5.1
@nx-tools/nx-container    : 5.2.0
@nxrocks/nx-spring-boot   : 9.2.2
Expected Behaviour
Cached projects should be restored to both "target" folder and the ~/.m2/repository folder
Actual Behaviour
when building the project for the first time or with --skip-nx-cache it all works fine, mvn install works, and both the target and the ~/.m2/repository folder has the artifacts.
but when the project is restored from the cache, only the "target" folder is restored making other project that depend on this one to not find the jar and fail
Steps to reproduce the behaviour

nx run back-ends-infra-infra.core:install
rm -rf ~/.m2/repository/...
rm -rf .target
nx run back-ends-infra-infra.core:install

Agreed. This problems makes the plugin more or less unusable for NX DTE, sadly. Would appreciate help here.

Hi @SchwarzAmihay
Thanks for using the plugin and  for reporting.

Cached projects should be restored to both "target" folder and the ~/.m2/repository folder

I disagree,  the plugin does indeed cache the target folder, which make sense because that folder is inside your project, and was generated when running the build command.
Caching the  artifact in the  external ~/.m2/repository/...  folder would make no sense, as this artifact is already present in the target folder (where it is first created by Maven, before being pushed to Maven Local repository, on install)
The actual issue here, is that the install  target was not re-rerun when the dependent  project was restored, meaning that the artifact was not published to Maven Local repo (~/.m2/repository/...)
I'm currently working to fix that issue.
Stay tuned!

Thank you @tinesoft
you are doing an amazing job with this plugin!
In the meantime, I will share a workaround to the problem.
I created a new target named install-to-target that will build the project or bring it from the cache, and changed the install to only install the target to the ~/.m2/repository/...
"targets": {
    "install": {
      "cache": false,
      "executor": "nx:run-commands",
      "options": {
        "cwd": "{projectRoot}",
        "command": "mvn jar:jar install:install"
      },
      "dependsOn": [
        "^install",
        "install-to-target"
      ]
    },
    "install-to-target": {
      "cache": true,
      "executor": "@nxrocks/nx-spring-boot:install",
      "options": {
        "root": "{projectRoot}",
        "args": [
          "-Dmaven.test.skip.exec=true"
        ]
      },
      "dependsOn": [
        "^install-to-target"
      ],
      "outputs": [
        "{projectRoot}/target"
      ]
    },
    ```

Thanks for the kind words @SchwarzAmihay :-)
Don't hesitate to star ⭐  the project on Github, it helps ^^
Thanks for the suggested workaround. I will try to integrate it in plugin directly.
The main takeaway here for me, is to no longer "cache" the "install" target, because otherwise, Maven/Gradle will not be invoked to perform the publish to Maven local repository, because Nx will not call it, if found in its cache...

If the "install" targets are not cached, does this essentially make caching useless, or am I missing something?
I believe the main takeaway is to ensure that, even though the install target is cached, it is nonetheless copied into the local Maven repository.
This is especially necessary in the context of distributed task executions, where there is no shared .m2 directory for all the install targets, especially in the context of multi-module projects, where you want to enable distributed task execution, e.g., executing the packages' install target respectively on different machines, to maximize speed.
This way, a dependent project B package will still resolve its dependency on project A correctly by essentially applying the target into the .m2 directory.

@tinesoft ,
I am not sure if it's relevant to this or another bug but I just noticed that the calculated cache hash does not take into consideration the OS, As I see in my Jenkins CI pipeline reference to my local development environment:

Hey @tinesoft,
thanks for your lengthy response!
I'm not sure if I would use something like caching in GitHub Actions, as there always possible side effects. I'm also not a big fan of caching node_modules for example, as there is always some kind of possible side effect, one wont be able to determine at first sight.
I still got it running, by simply adjusting the .m2 directory to be in the maven multi module and specifcally also cache the output of the install artifacts in this .m2:
    "install": {       "executor": "@nxrocks/nx-spring-boot:install",       "options": {         "args": ["-Dmaven.repo.local=.m2"],         "root": "{workspaceRoot}/backend/packageA",         "runFromParentModule": true       },       "dependsOn": ["^install"],       "outputs": ["{workspaceRoot}/backend/packageA/target", "{workspaceRoot}/backend/.m2/my/test/package/packageA"],       "cache": true     },
This way it caches both, the .m2 output and the target output. And I've not encountered any issues with that approach so far. This might be helpful for others, who want to use DTE with your plugin (which is amazing by the way!).

@SchwarzAmihay
You can use the the "inputs" field in your target like this (if python is installed for example):
  "inputs": [{ "runtime": "python -c 'import platform; platform.system()'" }],
This way the hash also takes the output of this command/the current platform into it's hash calculation.

You can provide maven m2 caching by using Nx's ability to dynamically create target options. The jnxplus maven plugin already does this.


Feature Request: Allow for container apps to be a resource target for Azure DevOps environments

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is
Describe the solution you'd like.
Adding Azure container apps as a supported environment resource in Azure DevOps would allow us to take advantage of the various option in the Deployment Job for YAML pipelines. Being able to tie into features such preDeploy, traffic routing, and rollback would would be very beneficial. Additionally taking advantage of Environments to allow for better diagnostics and traceability of deployed container apps would also greatly benefit developers.
Describe alternatives you've considered.
A clear and concise description of any alternative solutions or features you've considered.
Additional context.
Add any other context or screenshots about the feature request here.

We have a DevOps task now. https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/azure-container-apps-v1?view=azure-pipelines


"class" column name in Paramspace is incorrectly parsed ?

Snakemake version
7.25.2
Describe the bug
A column named 'class' in a Dataframe used to declare a Paramspace lead to the column name being replaced by its index once resolved, without warning. I suppose this relates to the fact that "class" is a python keyword ?
If this is intended behavior, a warning to inform should probably be raised.
Logs
Not applicable
Minimal example
from snakemake.utils import Paramspace
import pandas as pd

df = pd.DataFrame([["A","min",],["B","mean"],["C","max"]], columns=["region","class"])
paramspace = Paramspace(df)

rule all:
    input:
        expand("results/plots/{params}.pdf", params=paramspace.instance_patterns)

Shows the following:
  region class
0      A   min
1      B  mean
2      C   max
Building DAG of jobs...
MissingInputException in rule all in file [..]/workflow/Snakefile, line 14:
Missing input files for rule all:
    affected files:
        results/plots/region~A/_1~min.pdf
        results/plots/region~B/_1~mean.pdf
        results/plots/region~C/_1~max.pdf

Additional context
Not applicable
[PS: Thank you for the amazing work behind Snakemake :+1: ]

That is inherited behavior from pandas.  The issue is class is a reserved word in python and namedtuples (called by itertuples) renames those conflicts.
It may be possible to replace this line with iterrows to get around the limitation.  Alternatively, the documenation on paramspace could be updated to include a section on this behavior.  I may have time next week to replace itertuples with iterrows if no one else gets to it.


macos/grpc_build_artifacts Fails During brew update

++ brew update
==> Downloading https://homebrew.bintray.com/bottles-portable-ruby/portable-ruby-2.6.3_2.yosemite.bottle.tar.gz
...

==> tmux
Example configuration has been installed to:
  /usr/local/opt/tmux/share/tmux

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
Requirements installation failed with status: 1.

I've only seen it once so far.

Also seeing this on the Ruby MacOS basic tests. The tmux brew package could be broken, but I would expect the other  MacOS tests to also be broken in that case. On this PR, I'm only seeing Ruby fail.

Two more: (1, 2)

Assigning to build nurse

This looks weird because initializing mac machines at the beginning should make the same result every time. Let's fix the major other bug with #25025 which seems responsible for 90% failure of mac build failure. And then let's revisit this again.


videostreaming is not working on ios same code works for android . Doesn’t throw any errors or warning get streaming stats just return videoframe and audio frame null

@Piyushhhhh  have you streamed videos to AWS Kinesis?


all admins scoped views/controllers have access restricted to admins only, except the sign in page

Not applicable anymore


Added failureaccess-1.0.1.jar to dist because of guava dependency

The Guava has since version 27 dependency to failureaccess. Therefore this jar should be added into dist/lib folder.

Looks good, waiting for a second reviewer to approve. It's a US holiday Monday, so this should be merged sometime Tuesday.

@tomball yes, sorry, I am doing some other changes in my branch and didn't realised, that Github is automatically extending this pull request. Could you reject it?

Your original commit is still pending review. All internal commits in Google require code-review, so two engineers look at it before it's submitted. For pull requests from external contributors, the person approving it (me, in this case) counts as the first engineer, requiring approval from a second engineer. So your first commit is Dino's queue, and once he approves it then it should be automatically committed.

Merged #1571 in 6e5afe5.


Fix code that checks that server is started + route test

The raw connection used to check that the server is started now consumes the INFO and sends PING and consumes PONG before returning.
The route test needs to make sure that the client connection has client id 2. Using PING/PONG before creating route connection to make sure of that.

TestConnz is often failing with monitor_test.go:205: Expected 0 connections, got 1. Need probably to introduce some delay there to make sure that the server has processed the previous connection close before checking.

There is an issue with this approach. If the server has been started with authorization, I may not get the PONG, but an authorization error instead. Needs more thinking.

ok let me know when you want me to review.

We could just do simple 25ms delay on the test connect. When it succeeds, close connection, wait 25ms, then return.

Travis failure is because of coveralls with this error (saw the same for David's PR on nats):
Bad response status from coveralls: 422 - {"message":"Couldn't find a repository matching this job.","error":true}


fragile coordination between USB configuration and USB console

Since introduced in fca0add22b93b18f292d1693ca3f59c60256cde3 the USB console infrastructure has included a 1 s busy-wait in console device startup after DTR has been detected.  There is no documentation of why this is here.
Experimentation indicates that if the delay is removed the first couple bytes of output on the console do not appear.  This suggests that there is some other USB event that should be used to gate completion of the console driver initialization: DTR alone is not sufficient.
This in turn relates to #27071 as it suggests that the UART console may need to register for USB callbacks before it starts to service console output.  Unless some ideas behind https://github.com/zephyrproject-rtos/zephyr/pull/27025#discussion_r458659540 allow communication of the ready state to the console driver which is busy spin-waiting for it.
And possibly related: If CONFIG_USB_UART_DTR_WAIT=n then console_out() in the console driver may be asked to output data before the console is ready, which can among other things produce "Device not configured, dropping" log warnings from the CDC_ACM driver, which in turn might cause more console output, more messages, and a cascade that (as it turns out) triggers #26970.
In short, the coordination between USB startup and USB console being ready for use needs some attention.

Does it also drop the characters if You remove 1s busy wait and wait for detected baudrate?

Does it also drop the characters if You remove 1s busy wait and wait for detected baudrate?

@emob-nordic That won't work, because the baud rate is set only when the device is first opened AND only if the rate differs from the last configured rate (at least on Linux).  In other words in many cases there is no USB_CDC_LINE_CTRL_BAUD_RATE control signal.
To avoid:
<wrn> usb_cdc_acm: Device not configured, drop 1 bytes

and loss of the first character of output it's necessary to wait for the USB_DC_CONFIGURED event (which precedes DTR being asserted, and is the sixth event received on my system), or for DTR.

Previous comment about avoiding loss of initial data was incorrect.
On my system it takes a between 500 ms and 700 ms after boot before USB_DC_CONFIGURED is signalled.
It's another 490 ms (exactly) until DTR is asserted.
Multiple bytes of data are lost if output is initiated before DTR.
Multiple bytes of data are lost if output is initiated as soon as DTR is asserted.
The only way to reliably get the first byte of data is to k_msleep(1) after DTR is asserted.
On my system.

Multiple bytes of data are lost if output is initiated before DTR.

What if:
diff --git a/subsys/usb/class/cdc_acm.c b/subsys/usb/class/cdc_acm.c
index 9de34b9232..91c1a42ead 100644
--- a/subsys/usb/class/cdc_acm.c
+++ b/subsys/usb/class/cdc_acm.c
@@ -573,6 +573,13 @@ static int cdc_acm_fifo_fill(struct device *dev,
 		return 0;
 	}

+#ifdef CONFIG_UART_LINE_CTRL
+	if (!(dev_data->line_state & SET_CONTROL_LINE_STATE_DTR)) {
+		LOG_WRN("Terminal is not ready, drop %d bytes", len);
+		return 0;
+	}
+#endif
+
 	dev_data->tx_ready = false;

 	wrote = ring_buf_put(dev_data->tx_ringbuf, tx_data, len);

I think that would reduce the number of generated errors when using printk too early, but it doesn't help the application find out when it's OK to send data.
I would like to see something like this API added to <drivers/uart/cdc_acm.h>:

struct cdc_acm_wait_ready_state {
   sys_snode_t node;
   struct sys_notify notify;
};

/** Signal when the UART is in a ready state.
 *
 * This is a convenience function that waits until the DTR signal has
 * been asserted plus a small delay to complete internal setup.  At
 * this point transmission should be successful without dropping data.
 */
int cdc_acm_wait_ready(struct device *dev,
                       struct cdc_acm_wait_ready_state *sp);

This would be pretty easy to implement, and be safe to invoke from all contexts.
The problem with it is that it would only work on the initial startup. If the conop for the device is that it is connected and disconnected from a USB host during normal operations there are unavoidable race conditions in detecting the ready state.
To handle that we should change the semantics of the callback passed to usb_enable() to instead provide notifications of the current state of the USB infrastructure, rather than the events that cause changes to that state.
Then the conop can be to register for state changes, and use those to detect loss of service.  When service is lost (and on startup) use cdc_acm_wait_ready() to be notified of restoration of service.
Is there a plan to provide the application information about the state of the USB rather than just the DC events?

I would like to see something like this API added to <drivers/uart/cdc_acm.h>: ...

One reason I was against drivers/uart/cdc_acm.h is that it is like pandora's box. There is common UART API which should be used or expanded.  Special treatment of the UART (emulation) over USB makes also application less portable.

Is there a plan to provide the application information about the state of the USB rather than just the DC events?

It should be one of the major points but it was not even discussed yet. Device controller (DC) events should not be simple forwarded to the function/classes or even application. I think there should be thee types of the notification: from the device controller/driver to the stack, from stack to the function/classes, and notifications from the stack(ch9)/class to the application.
Is this issue not resolved by #27427?

Is this issue not resolved by #27427?

IMO, no.  There's still no standard infrastructure that the application can use to tell whether it can write data without loss.  "Wait for DTR, then wait a few milliseconds more" is just going to result in code duplication, even if it gets documented somewhere.  (CDC ACM may be one of the few UART implementations where it's possible to detect that there is something on the other end of the serial connection, so It doesn't seem suitable to a generic UART API extension.)
For my applications I know the UARTs are going to be CDC ACM devices, and that they have behavior that is very different from SoC peripheral UARTs.  For the near term need I can work around the functionality gaps because the system is powered by USB so I only need to handle startup.  For others where the system is intermittently plugged in I can't do anything, but it'll be months before I can get to those.

To handle that we should change the semantics of the callback passed to usb_enable() to instead provide notifications of the current state of the USB infrastructure, rather than the events that cause changes to that state.

This is what I would like to take care of asap. We've created a list of ToDos for topic branch and this particular issue is there as well (#26935).

Multiple bytes of data are lost if output is initiated as soon as DTR is asserted.
The only way to reliably get the first byte of data is to k_msleep(1) after DTR is asserted.

I've checked if those first bytes just after DTR are send - > they are. From samples/subsys/usb/console/src/main.c
	/* Poll if the DTR flag was set, optional */
	while (!dtr) {
		uart_line_ctrl_get(dev, UART_LINE_CTRL_DTR, &dtr);
	}

	printk("ABCDEFGH\n");

Here is an USB line sniffer.
SetControlLineState - setting DTR
SetLineCoding - setting baudrate
DataIn - Characters, the first one is 'A'

'A' character is send on USB line, the problem is with console terminal used on HOST side.
I don't think we can do much about it, adding k_msleep(1); means we repair the problem that is on host side.
For one set up this will work with 1ms but for others who knows.

The original description is outdated. There have been several improvements to the sample and CDC ACM UART driver since this issue was opened.


Hexagons and hexikes

Hi all,
I have not allocated a position to the new layers.py which contains only the new HexagonalBasis code and friends. This code has been visually tested very thoroughly against poppy although I have held of on writing formal unit tests on it because I know it works and there are more pressing things to develop.
The code is jit-able but due to the overhead incurred by the additional vectorizations I have made it is actually slower than the numpy version even after jit. This should be fine because we are just saving to a file with the save(filename : str) method.
I have not introduced a CompoundAperture class to deal with saving multiple basis in tensors to files. RSVP me if we want to add this functionality. Currently we can rotate, shear (spelled correctly :laughing:), translate and magnify the basis vectors.
As a final note; conceding to jax we have our first constant MAX_DIFF, if you want to generate more the 21 basis vectors you will have to increase this to 6 or above, but I doubt we will. For lower memory use and slightly better speed you can drop it to 2 if you are only generating the first nine.
@LouisDesdoigts, if you can review the code after you have settled in :canada:, and leave a note allocating the position that you want me to put the code and I will move it there; I was thinking maybe a basis.py in the dLux/dLux directory.
Regards
Jordan

High level comments:
dLux/coordinates.py

I would add get_pixel_coordinates also, which simply multiplies the result of get_pixel_positions
Similarly it would make sense to use the functions in utils.py script to deal with the cartesian -> polar transform, and probably roll the functionality of get_radial_positions into get_pixel_coordinates with some polar=False input or something like that - doesn't need to be a new function.

The dLux/utils/hexike.py is the old code from the early development. The new code is under dLux/dev/layers.py (name needs to be changed). This is the code that can do the rotations ect. I might actually delete the functional version, but I think it is worth keeping the zernike.py file because it is faster if that is all you want to use.


Document cluster registration in Rancher 2.5

Document the difference between importing and registering clusters. Each needs its own section. The old kind of import still exists, but now you can register K3s, Rancher and EKS clusters.
About registration:

You can import or register an EKS cluster, or create it in Rancher.
We only recommend registering EKS clusters if they use managed node groups (AWS concept).
Registering a cluster treats the cluster as though it were made in Rancher.
For the most part registered and regular EKS clusters created in Rancher are the same, except for deletion.
Cluster registration docs need to include K3s, Rancher and EKS clusters.

The table on this page needs to be updated to have a column for registered clusters. https://rancher.com/docs/rancher/v2.x/en/cluster-provisioning/
Also, a separate page should be created for registered clusters. And the imported clusters page needs to be updated to say that imported clusters are not in Rancher v2.5.

https://github.com/rancher/docs/pull/2851
https://github.com/rancher/docs/pull/2850


Entity.create for platform independence

It uses UTF-8 which is platform independent and has better byte distribution than UTF-16.
This change is introduced in v1.1 which also introduces the new 256-bit encryption and the AndroidConceal factory class, so all disruptive changes are together.

Looks fine


New Collector at DE-CIX Malaysia/Singapore

We are setting up a new VM collector at DE-CIX Malaysia/Singapore. This is a work-in-progress.
Email thread title: "Re: Routeviews and DE-CIX Malaysia/Singapore" (can be found in your email if you are on helpmail list, or can be found in<EMAIL_ADDRESS>mail box)
Key contacts:

Business-side: Catherine Wong<EMAIL_ADDRESS>Technical-side ASEAN: Victor Lee<EMAIL_ADDRESS>Technical-side ExtremeBB: 'Shahar Radzif'<EMAIL_ADDRESS>
Recent relevant context:

Hi, I am Victor assisting Catherine on technical matter related to DE-CIX service at ASEAN region.
I have check internally and would able to support the necessary VM resources for Routeview spinning up a new collector at Kuala Lumpur.
The VM will have interface access to 3 different exchange, below are the peer available at each exchange for your reference.

Kuala Lumpur, https://lg.de-cix.net/routeservers/rs1_kul_ipv4
Malaysia, https://lg.de-cix.net/routeservers/rs1_may_ipv4
ASEAN, https://lg.de-cix.net/routeservers/rs1_ase_ipv4

Understand that 100mb of BW on transit interfaces are required. Can let us know if a /30 subnet assignment is sufficient?
Any other clarification you required from myself before Catherine prepare the necessary provision work?
Thanks a lot.
Regards,
Victor Lee
Senior Solution Architect
+6019-3882194
e-mail<EMAIL_ADDRESS>web: www.de-cix.net

Closing as duplicate -- tracking this effort in infra repo: https://github.com/routeviews/infra/issues/155


Allow custom privacy settings

I used this lib, but had to follow up every upload with a second call to set my videos privacy to 'disable'. We are using Vimeo to embed videos, so that was the setting we needed.
Eventually I enabled 'Private Mode' on Vimeo, which actually caused uploads to fail because this library first tried to set two options which were not supported in that mode. That drove me to finally update this and make it work for more uses cases, as requested in #14.
I tested this with my app and it worked fine, I didn't test the updates to index.html but they are pretty simple.

Any reason why this hasn't been merged? I was about to make my own very similar PR and it seems like a pretty trivial change.

Hello, everyone!
I know that I'm quite late to this discussion, but I was wondering if anyone that has had trouble getting this to work properly has any helpful advice for me. Like @dauris, it seems that no matter what I do, the video's 'privacy.view' is set to 'anybody.' Between @jehartzog suggested fix and Vimeo's documentation, found here:
https://developer.vimeo.com/api/reference/videos#edit_video
I feel that my attempts to get this working should have done the trick; however, I've had no such luck.
I'm trying to submit the upload as "Hidden from Vimeo," or, in other words, with 'privacy.view' set to 'disable.' I've tried countless variations that are centered around the various discussions here, and even have this value set on Vimeo's default upload settings.
Further, I'm currently using Vimeo's 30-day free trial for their Standard package.
Any thoughts and suggestions would be greatly appreciated. Thanks for your time.


WSS Examples Currently Don't Set TLS SNI

Currently the WebSocket Secure examples (I only checked the sync/async client examples) don't set the TLS SNI on the ssl_stream layer via the SSL_set_tlsext_host_name function. This leads to errors in some handshakes, such as the necropost in issue #1702
Adding the following snippet should help with most users' use cases, I think:
// my_stream is a beast::websocket::stream
if (!SSL_set_tlsext_host_name(my_stream.next_layer().native_handle(), host))
{
    // ...
}

Maybe we could also inform users of https://en.wikipedia.org/wiki/Server_Name_Indication#Security_implications in the example, though maybe it's out-of-scope to teach people the finer points of TLS?

There is a fix for this issue in the pipeline.

@madmongo1 where can I track that progress?

Addressed in https://github.com/boostorg/beast/pull/2019.


feat: allow configuring global runner

We already parameterized the "global task" runner, but hardcoded it to always use a specific GitHub Linux runner. This updates it to now use the "global" key in the pre-existing github-custom-runners table, if it's set. It also updates plan, the one non-parameterized task, to use this runner too.
Updates the custom runner test to exercise this new feature.
Note that it's worth thinking about if there are any considerations on changing plan. I'm actually not clear why this one task was hardcoded rather than using the same value as the other calls.

I'm actually not clear why this one task was hardcoded rather than using the same value as the other calls.

Answering my own question - it looks like we parameterized the global task when splitting out local/global tasks, so not updating plan was just an artifact of the fact it's not what we were focused on.
https://github.com/axodotdev/cargo-dist/commit/bdc3da7ac10764d0ebf91cac237867b177fa61ed#diff-a9384fa92709b8a9451e42ca738c5ab944c285d7185af81458754c0f09139a2a

@mistydemeo that follows with my memory as well, i think we are safe with this PR (it's a strict improvement imo!)

Pushed a commit with docs.


ip: Add helpers to assist net -> netip transition

These helpers can come in useful to convert between old and new IP types
from the standard library in order to do incremental updates to
individual packages without reworking IP address/prefix usage across
the entire application all at once.
Once we've fully migrated to netip, these should no longer be necessary
and can be deleted again.
Co-authored-by: Chris Tarazi<EMAIL_ADDRESS>

/test

@tklauser thanks for the detailed review, on first try I was really hacking the bits together based on the assumptions in the code I was working with but as library functions these should do better error checking like you proposed. I've integrated all of your suggestions and added a Co-Authored-By tag for your suggetions.

There's a unit test failure in the Travis CI build:
--- FAIL: TestPrefixToIPNet (0.00s)

    cidr_test.go:24:
        	Error Trace:	/home/travis/gopath/src/github.com/cilium/cilium/pkg/ip/cidr_test.go:24
        	Error:      	Not equal:
        	            	expected: &net.IPNet{IP:net.IP(nil), Mask:net.IPMask(nil)}
        	            	actual  : (*net.IPNet)(nil)

        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -1,5 +1,2 @@
        	            	-(*net.IPNet)({
        	            	- IP: (net.IP) <nil>,
        	            	- Mask: (net.IPMask) <nil>
        	            	-})
        	            	+(*net.IPNet)(<nil>)

        	Test:       	TestPrefixToIPNet

Why was this merged without rerunning the end-to-end tests? It broke K8sVerifier across all kernel versions.

related to https://github.com/cilium/cilium/issues/24246


[WIP] Add Laplace approximation

Blocked by #573
As discussed in #583 and following @fritzo 's suggestion, I make an initial step to add Laplace approximation to Pyro. This pull request is mainly for discussion. If it is possible, I am willing to learn from reviewers to make this implementation as far as possible. Here is my rough plan

[x] Initial implementation
[x] Add the first test
[x] Add more tests
[ ] Refactor code based on reviews
[ ] Make sure the implementation compatible with other functionalities of Pyro
[ ] Make sure the Laplace inference work with various model structures
[ ] Transform guide to Univariate Normal distribution
[ ] Transform guide to Multivariate Diagonal Normal distribution
[ ] Add more tests
[ ] Add an example

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: fritzo:x: fehiepsiYou have signed the CLA already but the status is still pending? Let us recheck it.

As the implementation of MAP is closed and this pull request is mainly for discussion, I close this. Will open it again in the future when suitable.


Add auto generate cert in dev command with --secure

I think http/2 is very very important for web_module
So we need more simple way to support http/2 use
Changes

Before, We have to generate self-sign cert file before we use http2
Then, we can just run snowpack dev --secure. if its non cert file in root path, we generate it automate!
Testing

Just run snowpack dev --secure
Docs

Thanks for the contribution. We intentionally do not implement this, but our docs site gives two great options to generate these automatically: https://www.snowpack.dev/#generating-ssl-certificates
Here is the reason that we don't feel comfortable running this automatically: https://github.com/davewasmer/devcert#security-concerns

Sorry, but i have no idea about this concerns. It looks like had prevented by using sudo invocations.
I am confuse about it.
Thanks for your reply


⚠ Bofrost.lu has degraded performance

In 580d809, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2622 ms

Resolved: Bofrost.lu performance has improved in 3bbed84 after 8 minutes.


Figure out how to have a browser window

Since most browsers have windows, we should also have one. This ticket should just be about opening that window

In progress on branch gui-skeleton

@mathiasberggren This is great work! But I think using a webview does all the work for us 😅 I was wondering if we should look into some more low level crates so we can write the rendering engine ourselves.
Also, can we use this crate and use our own "view" instead of the webview? Because it would be nice to have this for the whole toolbar bit.

The webview is just me playing around trying to check if the behaviour is legit.
As I understood the cacao crate is mainly a wrapper around AppKit. not sure what limitations that puts on us when building the rendering engine but I think it's a nice place to start from at least :D

Currently following this tutorial for creating windows with Vulkano
https://vulkano.rs/guide/windowing/introduction

I think I'll also hop on #16 tonight and try things out.

Think I'm approaching being able to render stuff. Not there yet though

Can you explain a bit what all is doing what on that branch? 😅

Yes for sure! I think we could wait a bit to go through it together until there's something up that works. Right now the only thing working is displaying the screen 😅

I think the tutorial I linked above goes through most of the things if you wanna gronk some with it, it's from there I've taken most ideas


Best way to add metadata (ID3 tags) to m4a files in automated code???

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

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

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

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

After a lot of trouble with online sites I made a code for personal use, to download the way I like it but this time when trying to upgrade the functionalities I had some trouble trying to implement it.
The main issue is that I wasn't able to even get the metadata functioning in any way. So I'm writing to ask if anyone has been able to implement it into actual code, not just use it in the terminal.
For now, I'm just using these options for the download:
MUSIC_OPTIONS_ = {
    'writethumbnail': True,
    'format': 'bestaudio/best',
    'extractaudio': True,
    'audioformat': 'best',
    'outtmpl': '~/Music/Youtube_dl/%(uploader)s/%(title)s.%(ext)s',
    'noplaylist': True,
    'youtubeskipdashmanifest': True,
    'nocheckcertificate': True,
    'externaldownloader': 'aria2c',
    'externaldownloaderargs': '-x 4 -k 2M',
    'postprocessors': [{'key': 'FFmpegExtractAudio',
                        'preferredcodec': 'm4a',
                        'preferredquality': '0', },
                       {'key': 'EmbedThumbnail'}]}

I'm shure there must be an implementation of the --add-metadata and --metadata-from-title, but I couldn't find out how.
Full Code here for anyone interested in reviewing further and helping in any way.
Any commentary is welcomed.

Add FFmpegMetadataPP postprocessor.

ok, I have added the PP and tried a run, it fetches the title and artist but at the end, it isn't added.
in which part of the code should I put the 'addmetadata': True ?
'postprocessors': [{'key': 'FFmpegExtractAudio',
                        'preferredcodec': 'm4a',
                        'preferredquality': '0'},
                       {'key': 'EmbedThumbnail'},
                       {'key': 'MetadataFromTitle',
                        'titleformat': '(?P<title>.+)\ \-\ (?P<artist>.+)'}]}

This should be an example in the youtube-dl README within the section about embedding youtube-dl. Right now it's not possible to figure out how to setup the postprocessors dict without reading the actual postprocessor module code.


[OpPerf] Nightly test for CPU & GPU

Description
Basic test for verifying CPU & GPU for int32 works for Operator Performance utility
Checklist
Essentials

[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage:
Added nightly test
[x] Code is well-documented:
[x] To the best of my knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

@leezu @marcoabreu @sandeep-krishnamurthy

How long does this test run? If it's not long, how about running it for every PR?

Tabling this PR due to lack of dev cycles.


Release 3 hardware slaves back to chrome infra

build15-a3, build16-a3, and build17-a3 are linux, windows, and mac hardware machines, used for performance monitoring of dartium.  They are now unused, so release them back to chrome infrastructure.

Filed an issue with c-i-t to return the slaves.


Feature request: Improve print support

I am using RapiDoc in a Hugo theme specifically made for documentation.
The documenation is usually used by the reader in different ways:

interactive - when reading documenation in the browser (demo)
static (non interactive) - when printing out documentation on paper or generating PDFs (demo)

In the later case - even with render-style=read - there are still interactive elements and also parts of the generated documentation hidden which contradicts a printout. See right hand side of the official example where you need to click on the different response values to see the supplied explaination, either only displaying examples or schema but no both, dragging example textarea to see the whole code, etc.
I took a quick look into RapiPDF, but in my understanding, this generates a standalone PDF of the swagger definition not suitable to be embedded into further existing content.
Probably a new render-style=print could be a solution.

thanks for the suggestion,
RapiDoc (for rendering) and RapiPDF (for printing) is created for this reason and avoid putting too many things into one solution.
I am not sure of the below comment

this generates a standalone PDF of the swagger definition not suitable to be embedded into further existing content.

If a tool is trying to use this to show a printable content along with their own content, they should be able to parse this PDF too and modify or embed it into theirs too

Thick fingers. Didn't meant to close the ticket.

technically the PDF can be embedded into the documentation (if you meant that be parse),

by parsing I mean an actual PDF parser which can

read, extract and add text and images to a .pdf
add and remove pages and insert page breaks
change margin, gutter, page page-size, page-orientation, font styles etc
secure it using a password
export it to other formats

Not suggesting to convert an HTML to PDF using the browser


Fix parsing of some purl types. Fix tests.

This PR adds the latest test data from master into testdata/ instead of keeping an old version around.
This PR also stops overwriting that test data during test execution because that is confusing when the test data is already in the source tree.
Fixes I did while reading the purl spec:

Fix hugging face version parsing
Fix mlflow name adjustments
Fix compose namespace and name parsing
Fix qualifier order in mlflow test

Closes #38.

I'd appreciate a review from @shibumi and @pombredanne.

What's making the review hard for me is that most of the commit messages do not provide a rationale why you're doing what you're doing, but you just repeat in prose what's more or less obvious from the diff.

Sorry, when I wrote that in the commit messages, I meant that the logic must be that way because of what the spec states.
Hopefully a better explanation:

huggingface versions must be lowercase https://github.com/package-url/purl-spec/blob/master/PURL-TYPES.rst#huggingface
the case of mlflow names depends on their registry https://github.com/package-url/purl-spec/blob/master/PURL-TYPES.rst#mlflow
composer namespaces and names must be lowercase https://github.com/package-url/purl-spec/blob/master/PURL-TYPES.rst#composer
the order of qualifiers was adjusted in the test to conform to the example in https://github.com/package-url/purl-spec/blob/master/PURL-TYPES.rst#mlflow

Hopefully a better explanation:

Thanks! Would you mind amending the commit messages with these, and force-pushing the branch for this PR again?

Done

Thanks again. I'm not sure about the rules in this repo, but usually the Git commit message title is limited to something like 72 chars (and shouldn't contain a trailing dot; think of it like the title for a book), and the "real" explanation should go as a separate paragraph in the body of the commit message.
Anyway, if there's no negative response from @shibumi or @pombredanne by today, I plan to merge this to move things forward.

Anyway, if there's no negative response from @shibumi or @pombredanne by today, I plan to merge this to move things forward.

Ok, let's just merge this to move things forward.

test-suite-data.json mirrors the purl-spec test-suite-data.json. The julia test added in this PR should be included in the spec test-suite.


Android 13+ app doesn't trigger on('notification') when clicking notification while app is closed or running in background

FYI, I'm using cordova-plugin-push 4.0.0 and testing with my Android 13 phone.
When the app is closed, or running in background, and a notification is received, clicking the notification will open the app, but not fire the on('notification') event, which prevents the app from automatically redirecting the user to the appropriate location in the app related to the notification.  This only seems to affect Android 13+.
FYI, if I have the app open when the notification is received, the app correctly fires the on('notification') event, enabling automatic redirection to the appropriate location.
In iOS, things work perfectly, clicking the notification with the app closed, or running in background, opens the app AND fires the on('notification') event allowing the user to be automatically redirected to the appropriate location in the app.

Same issue here

Hi,
we had the same issue, we found the solution here
https://github.com/havesource/cordova-plugin-push/issues/266#issuecomment-1994845860
You can try  to put in your payload this
"click_action": "com.adobe.phonegap.push.background.MESSAGING_EVENT"

Thanks @ciuffo81,  however, I haven't been able to get it to work even after adding the "click_action".  I tried different ways of setting the click_action, first trying to add it to the "notification" property/object, but received an invalid JSON payload error.
Here's my code showing all the places I've tried to include the "click_action" property, including the commented out places that caused invalid JSON payload errors:
var response = await _sender.SendAsync(
    new {
        message = new
        {
            token = devicePushToken,
            notification = new {
                title = subjectOrTitle,
                body = bodyContent,
                //click_action = "com.adobe.phonegap.push.background.MESSAGING_EVENT" // This throws invalid JSON payload received error
            },
            android = new {
                notification = new {
                    click_action = "com.adobe.phonegap.push.background.MESSAGING_EVENT" // This has no effect
                }
            },
            data = new
            {
                notificationType = notificationType,
                notificationArgs = notificationKey),
                click_action = "com.adobe.phonegap.push.background.MESSAGING_EVENT" // This has no effect
            },
            //click_action = "com.adobe.phonegap.push.background.MESSAGING_EVENT" // This throws invalid JSON payload received error
        },
        //click_action = "com.adobe.phonegap.push.background.MESSAGING_EVENT" // This throws invalid JSON payload received error
    }
);

In looking at this https://firebase.google.com/docs/cloud-messaging/concept-options#notifications, it appears that utilizing the "android.notification.click_action" property is the proper way of doing it, but it has a not effect from my tests.
I also looked at the issue you linked to and saw someone had a problem with a missing entry in the manifest, but I've verified my manifest file has the following:
<activity android:exported="true" android:name="com.adobe.phonegap.push.BackgroundHandlerActivity" android:permission="${applicationId}.permission.BackgroundHandlerActivity">
    <intent-filter>
        <action android:name="com.adobe.phonegap.push.background.MESSAGING_EVENT" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>
``

Nothing seems to work.

Have you been able to find a solution? I am having the exact same issue and none of the suggested solutions work for me.

No, I haven't found a solution yet.

I'm experiencing the same issue as well.
@erisu Would you be able to weigh in on this issue?

Hi everyone,
i would like to help to narrow down the problem.
We use the plugin and everything is working fine for us.
Unfortenatly we do not have real Android 13 and 14 devices but our tests on emulated devices with android 13 and 14 went well.
here are our details

cordova 12.0.0
cordova-android 13.0.0
android-targetSdkVersion 34
android-minSdkVersion 24
android-buildToolsVersion 34.0.0
AndroidLaunchMode singleTask
cordova-plugin-push 4.0.0

Our Tests included the cases

only data payload with click_action = "com.adobe.phonegap.push.background.MESSAGING_EVENT" set
Result: on('notification') event was fired in backround or closed state

only data payload without click_action = "com.adobe.phonegap.push.background.MESSAGING_EVENT" set
Result: on('notification') event was fired in backround or closed state

mixed notification and data payload with click_action = "com.adobe.phonegap.push.background.MESSAGING_EVENT" set
Result: on('notification') event was fired in backround or closed state

mixed notification and data payload without click_action = "com.adobe.phonegap.push.background.MESSAGING_EVENT" set
Result: on('notification') event was NOT fired in backround or closed state

So everything is working as described in the documentation
So here are my questions:

what are your build details ?
which payload test did you do and what was the result?
can you reproduce the issue on emulated devices?
did you try to buld a minimal reproduction scenario by only using the cordova app template and the push plugin?

Turns out my code was missing "click_action": "com.adobe.phonegap.push.background.MESSAGING_EVENT"
I got it working with the following payload:
{
"message": {
"token": "",
"notification": {
"body": "Test",
"title": "Hello"
},
"android": {
"notification": {
"click_action": "com.adobe.phonegap.push.background.MESSAGING_EVENT"
}
},
"apns": {
"payload": {
"aps": {
"alert": {
"title": "Hello",
"body": "Test"
}
}
}
},
"data": {
"key1": "value1",
"key2": "value2"
}
}
}

@vlads63 thats good news
@redbird19 @ElliotNB do you have new insights?  what are your buildetails?

@redbird19 thanks for the information.
unfortunately i am not familiar with ionic appflow.
here are some more questions?
Does your app use the capacitor framwork? if so, what version of capacitor does it use? If not, which version of cordova-android does it use?

@redbird19
everything you posted looks good to me so far.
To figure out if the issue is within the cordova app setup or in the message sending setup i would do the following

Build a local minimal pushregistration cordova app
test the message paload against this minimal app

@ksch10bob, thanks for taking a look.  The Ionic Appflow build stack uses cordova 12.0.0 (so I'm assuming Cordova Android 12.0.0).
FYI, Ionic Appflow is sort of the successor to Adobe's PhoneGap Build (or at least the alternative that I chose).  When Adobe shutdown PhoneGap Build back in August 2020, I switched over to Ionic Appflow following this migration guide (https://ionic.io/docs/appflow/cookbook/phonegap-build-migration).  The migration was pretty painless and only required a handful of mostly minor changes, and they have been pretty good at updating the build stacks to support the latest versions of Cordova.
The iOS version of the app works flawlessly, and the Android version is nearly perfect as well, just need to fix this last issue with on('notification') not firing when the app is closed/in-background.
I'm not really sure how to simplify the app's code.  Everything else seems to be working fine, and no errors are thrown, it's just that the on('notification') event is not fired when the app is closed/in-background.  I even connected the phone to Chrome's debugging and added breakpoints, but they just aren't hit.   I'll keep trying though.

@redbird19 thats good news.
The FCM SDK behaves differently for foreground and background receiving when using mixed payloads (notification and data payload)

It's still a bit of a mystery to my why the data payload is different,

This is standardbehavior documented here
https://firebase.google.com/docs/cloud-messaging/concept-options#notification-messages-with-optional-data-payload

@ksch10bob, thanks for the help and pointing me to the documentation, good to know!


ENH: Change default commission to .001

Change default commission to .001 to be consistent with the contest.

what about DEFAULT_MINIMUM_COST_PER_EQUITY_TRADE?  do we still want a minimum of $1/trade?

After discussion with Josh, I also updated DEFAULT_MINIMUM_COST_PER_EQUITY_TRADE and DEFAULT_MINIMUM_COST_PER_FUTURE_TRADE to both be 0.0.
I had to update some of the tests too.  Because the issue here: https://github.com/quantopian/zipline/blob/master/tests/resources/rebuild_example_data#L105 I can't rebuild the example data, so I had to manually set the commisions in each example to the old commision values so that the results would be the same.  This should be a temporary fix until we can rebuld the example data again.
@dmichalowicz do you mind taking a look again?

Coverage increased (+0.008%) to 87.212% when pulling da40c86db9dbe5f01693fc096cfaa8659cefbe39 on default-commissions into 64af3d3ff27340337cf55aceb634346de902f963 on master.

Coverage increased (+0.008%) to 87.212% when pulling 5b3e2de58e90cc373f302189e780cbb251cc8f69 on default-commissions into 64af3d3ff27340337cf55aceb634346de902f963 on master.

@srklonaris Looks good to me

@srklonaris Quick note before you merge, I would rebase this off of master first as it looked like it was branched off a really old commit

Coverage increased (+0.008%) to 87.212% when pulling 49db00887fb4fc8beabb5a61442fc87c66ebcffe on default-commissions into ec94e5aa9f57c30939d18585758d15da352b9dce on master.


optimization code

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes # https://github.com/Project-HAMi/HAMi/issues/400
Special notes for your reviewer:

values.yaml file not config nodeLabelSelector field

values.yaml file config nodeLabelSelector

nodeLabelSelector:
   "gpu": "on"
   "region": "us-west-2"

scheduler server set --node-label-selector, flag can success parse.

Does this PR introduce a user-facing change?:

/lgtm

/lgtm

/lgtm

/lgtm

/approve

/lgtm

/lgtm

/lgtm

/lgtm

/lgtm


MsBuild.Projects: Turn import.props and import.targets into shim loaders

We don't want the projects code to need updates when we update the normal build code because upgrading in a VS project is a pain, so ideally the projects code references the normal build code and automatically includes items that are of importance and ignores bits that aren't of importance.

This issue was moved to pvandervelde/nBuildKit.Msbuild.Projects#2


Update Erlang Deps (rebar3)

Tests
https://buildkite.com/chef/chef-chef-server-master-verify/builds/3574
https://buildkite.com/chef/chef-chef-server-master-omnibus-adhoc/builds/2315
https://buildkite.com/chef/chef-umbrella-master-chef-server/builds/320
Related PRs
https://github.com/chef/chef_secrets/pull/62
https://github.com/chef/sqerl/pull/112
https://github.com/chef/ej/pull/1
To Do
After chef_secrets PR is merged, point to updated chef_secrets rebar.lock files.
Check List

[x] All buildkite tests pass
[x] Full omnibus build and tests in buildkite pass
[x] All commits have been signed-off for the Developer Certificate of Origin. See https://github.com/chef/chef/blob/master/CONTRIBUTING.md#developer-certification-of-origin-dco
[x] PR title is a worthy inclusion in the CHANGELOG

Roger that.

@PrajaktaPurohit I re-pointed references here to chef-secrets  and ej back to master in anticipation of those repos being fixed-up and merged.

Code reviewed this with @PrajaktaPurohit.  There was a lot of confusion because of equivocation.  E.g. when a sqerl branch was mentioned... which sqerl?  There were a couple of sqerl changes, PRs, and branches in play here.  When ej was mentioned... which ej change?  chef-server's ej change?  chef_secrets's ej change?  Etc. Furthermore, I was no longer in context for this as I had been juggling multiple other issues.  So I spent a while sorting through all the changes, my notes, plus @PrajaktaPurohit 's comments, and created this outline of what needs to be done.  If anything is inaccurate, by all means let me know.
SQERL
       A.  branch lbaker/envy standardizes usage of deps to markan/envy vs manderson26/envy.
            RESOLUTION:  don’t use this branch - make an issue to fork mark’s repo.
       B.  there was a different branch and pr to use chef/pooler vs seth/pooler.
             this was merged already.
            RESOLUTION:  point chef-server to use sqerl/master
       C.  chef-server pins to very old commits of sqerl.
             RESOLUTION:  update the locks to point to latest sqerl master.
2.  CHEF_SECRETS
     A.  branch lbaker/ej and PR 62 uses chef/ej, not seth/ej.
           this hasn’t been merged yet; there is an issue with expeditor on chef_secrets repo.
           RESOLUTION:  point chef-server to lbaker/ej for now; create an issue for chef_secrets expeditor.
3.  IBROWSE
     A. use chef/ibrowse (fork of cmullaparthi) everywhere.  it has some fixes to some transient issues seen in the pipelines.
         create an issue to update our fork of cmullaparthi.


Update swagger spec for plugin upgrade

This was added in 03c694973968f63743ed53cef83d0b7455695081 but spec was
not updated.

ping @tiborvass @anusha-ragunathan

LGTM

@cpuguy83 some validation errors :sweat_smile:
21:09:16 The swagger spec at "api/swagger.yaml" is invalid against swagger specification 2.0. see errors :
21:09:16 - must validate one and only one schema (oneOf)
21:09:16 - must validate one and only one schema (oneOf)
21:09:16 - must validate one and only one schema (oneOf)
21:09:16 - paths./plugins/{name}/upgrade.post.parameters.in in body should be one of [header]
21:09:16 - must validate one and only one schema (oneOf)
21:09:16 - must validate one and only one schema (oneOf)
21:09:16 - must validate one and only one schema (oneOf)
21:09:16 - paths./plugins/{name}/upgrade.post.parameters.in in body should be one of [header]

Ok, validations passing now.


Make kube-dns upstream servers configurable

This uses dns servers specified in the Network config document to control kube-dns upstream servers.

LGTM


Webview up/down dragging (ios)

Is there any way how to disable vertical webview dragging? Any opened page may be dragged up/down even if it fits perfect and there are no scrollbars visible. Also, it shows annoying grey background, got it on iOS devices. I need to show internal html page with static element for offline app.

I have not tried it, but there is the DisallowOverscroll preference you could add to your cordova/config.xml.  It would apply globally to the app and not just to WebViews.
This would probably need to be implemented on the native side using webView.scrollView.bounces = NO; (iOS) and webView.setOverScrollMode(View.OVER_SCROLL_NEVER); (Android).  I'm not seeing a similar property on Windows Phone, but vendor CSS can fill in the gap.

As @cookieguru pointed the property can be set but it is not directly applied on each WebView instance. We would probably have to make that configurable.
@patrykmol any thoughts on that issue?

@sergio-doman have you tried to set body css in webView to {position:fixed, top: 0; left:0; width: 100%; height: 100%;} this is known hack to prevent safari overscrolling. May be helpful.

@michaeleparkour I've tried your suggestion and this trick works great for desktop safari, but not for mobile webview. Here is screenshot from iPad - http://oi68.tinypic.com/2hcole0.jpg

Also, there is one more problem - I can't block manual zooming in/out of webview

<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">

On iOS it is a flag that can be toggled. We should be able to provide Tabris.js API for that.

@cookieguru Thank you, this solved all my problems!

On iOS it is a flag that can be toggled. We should be able to provide Tabris.js API for that.

See #255


Async validation for IValidator

Change IValidator.Validate to Task from void.
Here break backward compatibility, but it is easy way.
I don't know if this is allowed or not.
@ArgoZhang, need your  review and opinion.
TODO: real test

@KellsoHP thanks for your contributions. I will fully test for this PR.

@KellsoHP hi I wanna update some code for this PR. so may I invite you into my project so you can create a branch for this PR. I will submit some code to the new branch.


Chat-After changing time zone, the user does not receive and cann't send messages

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:
Precondition: mWeb/Chrome - change time zone
second device -Web

Open http://staging.new.expensify.com/
Log in
Enter the chat with somebody on second device(for me -Web)
Send message
Go to settings>Profile>Timezone
Change time zone (not automatically)
Send new messages
Check second device - No messages received on second device

Expected Result:
The user can send and receive messages
Actual Result:
The user sees that he is typing messages but does not receive it, and you need refresh the page to receive messages again.The sent message also does not reach the second user
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/78819774/5636f2b0-515e-4211-87be-718dade64ffc
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

Reproduced on staging:
https://github.com/Expensify/App/assets/7277067/1015f9e3-b413-4f78-9ba3-0b3ab08457a1
Seeing this in the console:

Logs for that request show:
Push_API - Flushing all pusher messages asynchronously and waiting for them to complete ~~ count: '6308'

So we are trying to send pusher events to a lot of accounts (my expensifail account is on the High Traffic policy).
The last line shows we're hitting the nginx timeout (I think?):
{
  "_index": "logs_expensify-022791",
  "_type": "log",
  "_id": "GtL7tYgBRPBZDqJjqP2d",
  "_score": null,
  "_ignored": [
    "nginx_timestamp"
  ],
  "_source": {
    "type": "web",
    "timestamp": "2023-06-13T18:19:07.250792+00:00",
    "host": "staging-www1.rno",
    "process": "nginx",
    "upstream_header_time": "-",
    "upstream_connect_time": "0.000",
    "upstream_response_time": "32.076",
    "request_time": "32.092",
    "upstream_status": "502",
    "http_user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36",
    "body_bytes_sent": "292517",
    "http_status": "502",
    "server_protocol": "HTTP/1.1",
    "request": "/api?",
    "request_method": "GET",
    "nginx_timestamp": "13/Jun/2023:18:19:07 +0000",
    "remote_user": "-",
    "http_host": "staging.expensify.com",
    "remote_addr": "<IP_ADDRESS>",
    "request_id": "7d6c564168b33b69-SJC",
    "blob": "",
    "tsb": "2023-06-13T17:19:07.250Z",
    "tsa": "2023-06-13T19:19:07.250Z"
  },
  "sort": [
<PHONE_NUMBER>250
  ],
  "type": "web",
  "timestamp": "2023-06-13T18:19:07.250792+00:00",
  "host": "staging-www1.rno",
  "process": "nginx",
  "upstream_header_time": "-",
  "upstream_connect_time": "0.000",
  "upstream_response_time": "32.076",
  "request_time": "32.092",
  "upstream_status": "502",
  "http_user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36",
  "body_bytes_sent": "292517",
  "http_status": "502",
  "server_protocol": "HTTP/1.1",
  "request": "/api?",
  "request_method": "GET",
  "nginx_timestamp": "13/Jun/2023:18:19:07 +0000",
  "remote_user": "-",
  "http_host": "staging.expensify.com",
  "remote_addr": "<IP_ADDRESS>",
  "request_id": "7d6c564168b33b69-SJC",
  "blob": "",
  "tsb": "2023-06-13T17:19:07.250Z",
  "tsa": "2023-06-13T19:19:07.250Z",
  "shortTimestamp": "2023-06-13 18:19:07 250",
  "request_id_html": "7d6c564168b33b69-SJC",
  "timestamp_html": "2023-06-13 18:19:07 250",
  "email_html": ""
}

I believe we're temporarily sending 2x the number of pusher events while the Secure Logins refactor project is taking place, so once we stop doing that this should clear up (and it's not reproducible on an account that's part of a smaller policy).
But in any event, this isn't related to a change in App code so isn't a Deploy Blocker.


pytorch: Move cudatoolkit to nativeBuildInputs

Motivation for this change
nvcc must be available in PATH at build time; otherwise CUDA support will be disabled.
This is a more minimal version of #57438.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

I tried your patch, but unfortunately the build did not go through. Here is the tail of the build:
[ 79%] Building CXX object caffe2/CMakeFiles/caffe2_gpu.dir/queue/queue_ops_gpu.cc.o
[ 80%] Building CXX object caffe2/CMakeFiles/caffe2_gpu.dir/sgd/iter_op_gpu.cc.o
[ 80%] Building CXX object caffe2/CMakeFiles/caffe2_gpu.dir/sgd/learning_rate_op_gpu.cc.o
[ 80%] Linking CXX shared library ../lib/libcaffe2_gpu.so
impure path `/usr/local/cuda/lib/libcudnn.so.7' used in link
collect2: error: ld returned 1 exit status
make[2]: *** [caffe2/CMakeFiles/caffe2_gpu.dir/build.make:4687: lib/libcaffe2_gpu.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:5422: caffe2/CMakeFiles/caffe2_gpu.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
setup.py::build_deps::run()
Failed to run 'bash ../tools/build_pytorch_libs.sh --use-cuda --use-nnpack --use-mkldnn --use-qnnpack caffe2'
builder for '/nix/store/i5n4iqqk9kzkhhn4a8v4bnm3b00f3k64-python3.7-pytorch-1.0.0.drv' failed with exit code 1
cannot build derivation '/nix/store/5mhc9w2bi01f0p1jpb0j8fc9hp76pziy-python3-3.7.3-env.drv': 1 dependencies couldn't be built
error: build of '/nix/store/5mhc9w2bi01f0p1jpb0j8fc9hp76pziy-python3-3.7.3-env.drv' failed

@jyp It sounds like you’ve run into a different problem: the Nix package expects to use the packaged CUDA and cuDNN in /nix/store, but you have a local copy installed in /usr/local/cuda. Can you provide some more context? Are you using NixOS or something else? Why do you have a /usr/local/cuda, and does it work if you remove that? What happens without the patch? What happens with only the first hunk of the patch (i.e. add cudatoolkit_joined to nativeBuildInputs without removing it from buildInputs)?

Clearly sandboxing was disabled in @jyp's build.

Indeed it works using sandbox. (I was confused by #51671)

I'm here after reading this and a few related issues (eg. #51671). Here is my shell.nix -- on first dropping into the this shell, PyTorch was built form source:
with import <nixpkgs> {};

let
  py = pkgs.python37;
in
stdenv.mkDerivation rec {
  name = "python-environment";

  buildInputs = [
    py
    py.pkgs.matplotlib
    py.pkgs.tkinter
    py.pkgs.numpy
    py.pkgs.pytorchWithCuda
  ];
}

However, during the build, there were several messages like "CUDA not available, skipping tests". Maybe relatedly, there were errors like "Error in cpuinfo: failed to parse the list of present procesors in /sys/devices/system/cpu/present". I can provide a full log if need be.
Additional outputs:
$LD_LIBRARY_PATH=/run/opengl-driver/lib

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 415.27       Driver Version: 415.27       CUDA Version: 10.0     |
|-------------------------------+----------------------+----------------------+

In a python session:
>>> import torch
>>> torch.cuda.is_available()
False
>>>

I'm still pretty new to nix, so I might be doing something wrong. Should this have worked/what can I do to fix it?

These errors were fixed for me when using a sandboxed build.

How can I do this, and can I still use nix-shell? I'm finding this issue hard to parse: #903. Or maybe there's a easier way I should be building and using this? I just want the result to be isolated.

I have the same problem as @mtn and I have no idea how to resolve on 19.03

@mtn @fkstef I just ran into this problem and spent a long time trying to solve it.  The answer is actually quite simple.  This fix has not been backported to 19.03.  You can either pin to this fix using pinning or use an overrideAttr directive.  I did the second, but the first might be more useful if you're planning on a long term thing.


Satellite doesn't talk to me :-/

Here's hoping this is a simple question, that I'm just being daft on...  Following the tutorial I've put together a wyoming satellite.  The led's light up when I speak to it, I can see in the debug window its hearing me speak, and it executes some commands - however, I can't hear it speak back.  I've installed pulseaudio (as I do plan to play music through it) and have it bluetooth'd to a bluetooth speaker.  I can play sounds that do play on the speaker (using aplay).  Any suggestions on where I should be looking to fix this?
off-sat@off-sat:~/wyoming-satellite $ aplay -IL
null
    Discard all samples (playback) or generate zero samples (capture)
sysdefault
    Default Audio Device
lavrate
    Rate Converter Plugin Using Libav/FFmpeg Library
samplerate
    Rate Converter Plugin Using Samplerate Library
speexrate
    Rate Converter Plugin Using Speex Resampler
jack
    JACK Audio Connection Kit
oss
    Open Sound System
pulse
    PulseAudio Sound Server
speex
    Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
    Plugin for channel upmix (4,6,8)
vdownmix
    Plugin for channel downmix (stereo) with a simple spacialization
default
    Playback/recording through the PulseAudio sound server
playback
capture
dmixed
array
hw:CARD=vc4hdmi,DEV=0
    vc4-hdmi, MAI PCM i2s-hifi-0
    Direct hardware device without any conversions
plughw:CARD=vc4hdmi,DEV=0
    vc4-hdmi, MAI PCM i2s-hifi-0
    Hardware device with all software conversions
sysdefault:CARD=vc4hdmi
    vc4-hdmi, MAI PCM i2s-hifi-0
    Default Audio Device
hdmi:CARD=vc4hdmi,DEV=0
    vc4-hdmi, MAI PCM i2s-hifi-0
    HDMI Audio Output
dmix:CARD=vc4hdmi,DEV=0
    vc4-hdmi, MAI PCM i2s-hifi-0
    Direct sample mixing device
usbstream:CARD=vc4hdmi
    vc4-hdmi
    USB Stream Output
hw:CARD=seeed2micvoicec,DEV=0
    seeed-2mic-voicecard, 3f203000.i2s-wm8960-hifi wm8960-hifi-0
    Direct hardware device without any conversions
plughw:CARD=seeed2micvoicec,DEV=0
    seeed-2mic-voicecard, 3f203000.i2s-wm8960-hifi wm8960-hifi-0
    Hardware device with all software conversions
sysdefault:CARD=seeed2micvoicec
    seeed-2mic-voicecard, 3f203000.i2s-wm8960-hifi wm8960-hifi-0
    Default Audio Device
dmix:CARD=seeed2micvoicec,DEV=0
    seeed-2mic-voicecard, 3f203000.i2s-wm8960-hifi wm8960-hifi-0
    Direct sample mixing device
usbstream:CARD=seeed2micvoicec
    seeed-2mic-voicecard
    USB Stream Output

off-sat@off-sat:~/wyoming-satellite $ pactl list sinks
Sink #0
	State: SUSPENDED
	Name: alsa_output.platform-soc_sound.stereo-fallback
	Description: Built-in Audio Stereo
	Driver: module-alsa-card.c
	Sample Specification: s16le 2ch 44100Hz
	Channel Map: front-left,front-right
	Owner Module: 7
	Mute: no
	Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
	        balance 0.00
	Base Volume: 52057 /  79% / -6.00 dB
	Monitor Source: alsa_output.platform-soc_sound.stereo-fallback.monitor
	Latency: 0 usec, configured 0 usec
	Flags: HARDWARE HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
	Properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "3f203000.i2s-wm8960-hifi wm8960-hifi-0"
		alsa.id = "3f203000.i2s-wm8960-hifi wm8960-hifi-0"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "0"
		alsa.card = "1"
		alsa.card_name = "seeed-2mic-voicecard"
		alsa.long_card_name = "seeed-2mic-voicecard"
		alsa.driver_name = "snd_soc_simple_card"
		device.bus_path = "platform-soc:sound"
		sysfs.path = "/devices/platform/soc/soc:sound/sound/card1"
		device.form_factor = "internal"
		device.string = "hw:1"
		device.buffering.buffer_size = "10576"
		device.buffering.fragment_size = "2644"
		device.access_mode = "mmap"
		device.profile.name = "stereo-fallback"
		device.profile.description = "Stereo"
		device.description = "Built-in Audio Stereo"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card"
	Ports:
		analog-output-speaker: Speakers (type: Speaker, priority: 10000, availability unknown)
		analog-output-headphones: Headphones (type: Headphones, priority: 9900, availability unknown)
	Active Port: analog-output-speaker
	Formats:
		pcm

Sink #1
	State: SUSPENDED
	Name: bluez_sink.40_72_18_75_B4_E3.a2dp_sink
	Description: SRS-XB100
	Driver: module-bluez5-device.c
	Sample Specification: s16le 2ch 44100Hz
	Channel Map: front-left,front-right
	Owner Module: 23
	Mute: no
	Volume: front-left: 30446 /  46% / -19.98 dB,   front-right: 30446 /  46% / -19.98 dB
	        balance 0.00
	Base Volume: 65536 / 100% / 0.00 dB
	Monitor Source: bluez_sink.40_72_18_75_B4_E3.a2dp_sink.monitor
	Latency: 0 usec, configured 0 usec
	Flags: HARDWARE HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
	Properties:
		bluetooth.protocol = "a2dp_sink"
		bluetooth.codec = "sbc"
		device.description = "SRS-XB100"
		device.string = "40:72:18:75:B4:E3"
		device.api = "bluez"
		device.class = "sound"
		device.bus = "bluetooth"
		device.form_factor = "speaker"
		bluez.path = "/org/bluez/hci0/dev_40_72_18_75_B4_E3"
		bluez.class = "0x240414"
		bluez.alias = "SRS-XB100"
		bluetooth.battery = "100%"
		device.icon_name = "audio-speakers-bluetooth"
	Ports:
		speaker-output: Speaker (type: Speaker, priority: 0, availability unknown)
	Active Port: speaker-output
	Formats:
		pcm

im having the same issue, not sure why, i can see my voice is successfully registered and Assist actually replied, but cant hear the voice reply.


Difference between TF11 vs TF12 and checking tags.

We've been using one config-lint rule to ensure resources are properly tagged, but it seems to work differently on tf12 vs 11. On tf12 it appears the SCA can't find the tags unless they're explicitly placed on the resource, and has trouble when the resources have their tags merged together from elsewhere (?).
Tag Rule Example.zip

@mattnewell I'm having trouble recreating this bug. I've added a test case for it directly, trying to recreate exactly what you're seeing
Rule test cases: https://github.com/stelligent/config-lint/blob/master/linter/testdata/rules/tagging.yml
TF12 test resources: https://github.com/stelligent/config-lint/blob/master/linter/testdata/resources/tagging.tf

We're closing this issue. Terraform 12 is able to successfully find tags, both explicitly placed on the resource and merged from elsewhere. We've added tests to ensure that every case still works as intended, see the links above.
However, this did reveal the exact described bug in Terraform 11. Variables that aren't explicitly given to a resource are not being properly read and evaluated and are instead returning false positives to all cases checking for some variable status or value. This ties back to another issue reported, #146 , so further exploration of that cause will be tied into that issue's related debugging.


:zap: store streamers JSON on Contentful

Moves the logic for querying, comparing, and updating the JSON back into the node.js script
Uses Contentful to store the JSON rather than a git branch

Three new environment variables are introduced:

CTFL_JSON_UPDATE_TOKEN - The content management access token for the space the JSON entry is stored in
CTFL_JSON_SPACE_ID - The ID of the space the JSON entry is stored in
CTFL_JSON_ENTRY_ID - The ID of the entry the JSON data is stored in

These are injected at workflow runtime using GitHub secrets in the workflow's YML definition.
The JSON content model is expected to have a title field and a data field.

Hey! Thanks for this. I’d be inclined to agree with Steve in that we might as well store all the JSON individually against the streamer rather than as one huge blob?

I don't see any reason not to, since the query to grab their cached data is coming from a console app and not a browser. It could be adjusted to handle them individually rather than in bulk somewhat easily. I'm not familiar with GraphQL, though, so I am not sure what the query would look like to pull them back out.

All issues on this PR are outdated. Thank you!


Utility functions for PMaybe and PMaybeData

A one of new PRs that will be made for Liqwid-Plutarch-Extra upstreaming.

I can't merge this because the branch is out-of-date. I can't make it up-to-date because I can't modify the code in the branch.

Updated the branch

Thanks Peter, I'll do the same for PMap PR. For future PRs, do you want me to make branch on Plutonomicon repository? I doubt I have right permission for that.

Please do it in another PR.


Idea: Show code samples like in RedwoodJS.com to reveal how to setup and use a provider

Idea: Show code samples like in RedwoodJS.com to reveal how to setup and use a provider
Similar to:

This could be the actual code, but more like an example code snippet.
Maybe have a

similar to TailwindUI where preview is "try"? and code is the example?

Love this idea! One of my favorite parts about TailwindUI. Makes it really easy! I would think it could go between the select provider and the login on the provider page.

Also happy to help on this, but don't want to keep scooping up all these issue if someone else wants it 😂

Also happy to help on this

I'll keep assigning if you keep asking ;) Just let me know what you want to work on or not and if it gets too much, you can always say no.

You can just have some sample code in there that is close and we can improve. I think we'll need to address the Issue about error/exception handing in the code samples for a thorough example: https://github.com/redwoodjs/playground-auth/issues/39

I've also been wondering in general, but is relevant here, should we be using @redwoodjs/forms for these. I think it might make sense in some instances, but I guess there would have to be a switch for onSubmit to distinguish between login, sign up, and third-party providers.

should we be using @redwoodjs/forms

I'm not sure - redwood/forms does have some error handling, but that relies a bunch on the GraphQL/api sending back a formatted error of a particular type. Not sure it is that valuable here, but what do you think @Tobbe? I am happy w/ TW forms in this case, myself.


Update case to match declarations in many files

See Aidan Harding's PR

Aidan Harding's PR is #69

Aidan Harding's PR is #69

Codecov Report

Merging #73 (6bd1461) into master (cbd939e) will not change coverage.
The diff coverage is 91.26%.

@@           Coverage Diff           @@
##           master      #73   +/-   ##
=======================================
  Coverage   96.17%   96.17%
=======================================
  Files          42       42
  Lines        1384     1384
=======================================
  Hits         1331     1331
  Misses         53       53

Flag
Coverage Δ

Apex
96.17% <91.26%> (ø)

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

Impacted Files
Coverage Δ

...es/Async Apex Recipes/QueueableChainingRecipes.cls
88.88% <0.00%> (ø)

...lt/classes/Async Apex Recipes/QueueableRecipes.cls
85.71% <0.00%> (ø)

...lasses/Async Apex Recipes/ScheduledApexRecipes.cls
100.00% <ø> (ø)

.../classes/Integration Recipes/ApiServiceRecipes.cls
100.00% <ø> (ø)

...t/classes/Shared Code/RecipeTreeViewController.cls
84.61% <50.00%> (ø)

.../classes/Trigger Recipes/AccountTriggerHandler.cls
92.06% <63.63%> (ø)

...ult/classes/Integration Recipes/CalloutRecipes.cls
90.90% <75.00%> (ø)

...p/main/default/classes/Data Recipes/DMLRecipes.cls
93.90% <90.00%> (ø)

...lt/classes/Async Apex Recipes/BatchApexRecipes.cls
100.00% <100.00%> (ø)

...Async Apex Recipes/QueueableWithCalloutRecipes.cls
100.00% <100.00%> (ø)

... and 18 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #73 (6bd1461) into master (cbd939e) will not change coverage.
The diff coverage is 91.26%.

@@           Coverage Diff           @@
##           master      #73   +/-   ##
=======================================
  Coverage   96.17%   96.17%
=======================================
  Files          42       42
  Lines        1384     1384
=======================================
  Hits         1331     1331
  Misses         53       53

Flag
Coverage Δ

Apex
96.17% <91.26%> (ø)

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

Impacted Files
Coverage Δ

...es/Async Apex Recipes/QueueableChainingRecipes.cls
88.88% <0.00%> (ø)

...lt/classes/Async Apex Recipes/QueueableRecipes.cls
85.71% <0.00%> (ø)

...lasses/Async Apex Recipes/ScheduledApexRecipes.cls
100.00% <ø> (ø)

.../classes/Integration Recipes/ApiServiceRecipes.cls
100.00% <ø> (ø)

...t/classes/Shared Code/RecipeTreeViewController.cls
84.61% <50.00%> (ø)

.../classes/Trigger Recipes/AccountTriggerHandler.cls
92.06% <63.63%> (ø)

...ult/classes/Integration Recipes/CalloutRecipes.cls
90.90% <75.00%> (ø)

...p/main/default/classes/Data Recipes/DMLRecipes.cls
93.90% <90.00%> (ø)

...lt/classes/Async Apex Recipes/BatchApexRecipes.cls
100.00% <100.00%> (ø)

...Async Apex Recipes/QueueableWithCalloutRecipes.cls
100.00% <100.00%> (ø)

... and 18 more

Continue to review full report at Codecov.

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

@aidan-harding Thanks for the contribution!
Since apex is not case-sensitive IMHO naming conventions are personal preferences as long as one adopts one and sticks with it.
I liked what you did there to make it consistent!

@aidan-harding Thanks for the contribution!
Since apex is not case-sensitive IMHO naming conventions are personal preferences as long as one adopts one and sticks with it.
I liked what you did there to make it consistent!

Thanks @msrivastav13 - These mismatches count as warnings in Illuminated Cloud - justifiably so, in my opinion because consistency helps the reader.
Since it's a push-button fix, it seemed like a good first bug before taking a closer look at the rest of this repo. It already started a debate in our team on WITH SECURITY_ENFORCED and stripInnacessible()

Thanks @msrivastav13 - These mismatches count as warnings in Illuminated Cloud - justifiably so, in my opinion because consistency helps the reader.
Since it's a push-button fix, it seemed like a good first bug before taking a closer look at the rest of this repo. It already started a debate in our team on WITH SECURITY_ENFORCED and stripInnacessible()


Notifications not appearing on Mac

I'm new to YakYak since finding that High Sierra does not support Hangsouts / Google Talk in Messages. YakYak is a good substitute. Thanks!
On one of my Macs, the OS notifications do not appear. The app's dock badge shows properly, and if I enable YakYak's custom sound, I hear it, but there's no OS banner or alert.
On my other Mac, running the same version of macOS (10.13.2) and the same version of YakYak (1.5.0), the notifications work fine.
Here's my configuration of View >> Pop-up Notification:

Any idea how to fix that?
Thanks

Sorry for my delay. Downloading v1.5.0 today and using it fixed it. Thanks!

I'm having this same issue with High Sierra 10.13.5 on the latest release for Mac YakYak 1.5.1.
YakYak doesn't show up in the Notification settings to turn on or off. To be fair, I'm having the same issue with some other Third Party apps, but covering my bases and posting here in case it is an issue on this end. Thanks!

Going to reply to myself here. After figuring out what was going on with other apps, I believe the problem has nothing to do with YakYak. And in fact is not a problem at all. It's just a slightly strange native behavior from macOS.
Essentially, for a third party app to appear in your System Preferences > Notifications menu, the app has to first attempted to send a notification. I haven't received any messages over Google Hangouts (and thus in YakYak) since installing, and therefore that hasn't triggered macOS to place it in the Notifications menu yet.
Sorry for the false alarm!


Add cookie option on Initialize Tenancy by Request identification

This PR adds the cookie identification using in InitializeTenancyByRequestData middleware.
Use case
When using InitializeTenancyByRequestDataIn a SPA front-end we need to set a header on every request sent to our backend or set query params with tenant id.
So in this approach, When a user login will receive an X-Tenant cookie with the value tenant id from Authentication Controller, which will be used on the next requests to identify the tenant.
Usage
Let's say you have SPA or using the API from any client.
Route::middleware(InitializeTenancyByRequestData::class)->get('/test', function () {
    return 'Tenant id: ' . tenant('id');
});

Now request should have a cookie.
$response->withCookie(cookie('X-Tenant', $tenant, 120));

Closes https://github.com/archtechx/tenancy/issues/895

Codecov Report

Merging #980 (9eab521) into master (42dab29) will increase coverage by 0.72%.
The diff coverage is 83.33%.

@@             Coverage Diff              @@
##             master     #980      +/-   ##
============================================
+ Coverage     87.26%   87.98%   +0.72%
- Complexity      466      481      +15
============================================
  Files           123      124       +1
  Lines          1288     1332      +44
============================================
+ Hits           1124     1172      +48
+ Misses          164      160       -4

Impacted Files
Coverage Δ

src/Middleware/InitializeTenancyByRequestData.php
84.61% <83.33%> (-7.06%)
:arrow_down:

src/Database/Concerns/MaintenanceMode.php
100.00% <0.00%> (ø)

src/Commands/MigrateFreshOverride.php
100.00% <0.00%> (ø)

src/TenancyServiceProvider.php
97.64% <0.00%> (+1.42%)
:arrow_up:

src/Jobs/DeleteDatabase.php
100.00% <0.00%> (+100.00%)
:arrow_up:

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

When it comes to cookies, one thing we have to keep in mind is that they come with the problem of domain scoping — cookies set on foo.com won't work on bar.com.
But here it seems to be fine, since this is essentially meant to be used on a single domain, right?
E.g. api.acme.com, but instead of providing a header you provide a cookie. If you used multiple domains for the requests, it wouldn't work, but at that point you'd probably use domain identification anyway if you wanted to use multiple domains.

But here it seems to be fine, since this is essentially meant to be used on a single domain, right?

Yes right. I think one should not use this approach for multiple domains. I agree with you on "but at that point you'd probably use domain identification anyway if you wanted to use multiple domains.".
Do you think there be any valid use case for using cookies with multi domains?

I don't think so. The only case is the issue with https://github.com/archtechx/tenancy/pull/917 which we discussed on BC, but that's for domain identification.

Thanks for working on this!


Temporialy Meeting Link

Hey guys, there are some problems happen when Fan login. Just connect to him, still failed. I feel sorry for the unexpected issue. I initialize this issue. If there is any issue or topics want to discuss, please just leave your comments here directly.

Again, sorry for the unexpected issue. There can be alternative problem solving. Feel free to leave your preference.
Way 1. Before Jul 5th, we can have another meeting, if there is anything topics raised.
Way 2. For today meeting, we just discuss under this thread.

Original issue from my side which I would like to discuss in todat's meeting were:

API design: https://github.com/camaraproject/NetworkSliceBooking/pull/20

Work Flow. Paragraph are modified according to the last meeting discussions.
Naming of the Mode. In the current 3 modes, there are toD and toB, as alternative expressions. As suggested by @DanXu-ChinaTelecom , toD maybe more proper. Please others take a look.
For the context. Previously @tlohmar left some comments. Context are modified. Some of them though I didn't modified, I left some replies under. If still need modifications, please suggest！

Move to https://github.com/camaraproject/NetworkSliceBooking/issues/31.


irmin-mirage-git: support mirage-kv.5.0.0

New functions were added to Mirage_kv.(RO|RW) in 5.0.0. See https://github.com/mirage/mirage-kv/pull/28.
I don't know how well these fit a git-based KV store, so we could either try to implement them hackily (ie reading entire values) or simply failing as not supported operations.

As a reference, git-kv reads the entire value for a key for these new functions.


Refactor code

In this milestone, we achieved the following;

Describe the SOLID principles of OOP.
Refactor your own Ruby code after gaining new knowledge.
Apply Ruby best practices and language style guides in code.

Add method to start the application
Refactored to separate the responsibility of input handling into the InputHandler class, making the code more modular and adhering to the Single Responsibility Principle.

Corrected class of person to be displayed according to input


Migration of the source term and analytical solution parameter sections

Description of the problem
The source term and analytical solution sections were still to be merged.
Description of the solution
I added both files in this PR.
Future changes
As I was checking the defaults parameters for the source term section, I noticed the default value for enable is true which should be changed to false. I also noticed it's definition is to "Enable calculation for analytical solution and L2 error" which should also be fixed.
Comments
I added the post_processing name to the cfd.rst file since I hadn't done it previously.

@CaroleAnneDaunais Be careful to batch commit the changes when people make suggestions, otherwise it clogs-up the CI.


[BUG] Custom .Error does not work on schemas other than @Required

Describe the bug
Here is a request object:
class MyRequest {
  @Property()
  @MinLength(10).Error('Title must be at least 10 characters long')
  title: string;
}

And the controller
@Controller("/")
export class HelloWorldController {
  @Inject()
  myService: MyService;

  @Post("/body")
  @Returns(200, String)
  async cache(@BodyParams() body: MyRequest) {
    return 'done';
  }
}

I expect to get a custom error message when I make curl localhost:8083/body -XPOST -H "Content-Type: application/json" -d '{"title":"short"}' but still get the generic message:
{
  "name": "AJV_VALIDATION_ERROR",
  "message": "Bad request on parameter \"request.body\".\nMyRequest.title must NOT have fewer than 10 characters. Given value: \"foo\"",
  "status": 400,
  "errors": [
    {
      "instancePath": "/title",
      "schemaPath": "#/properties/title/minLength",
      "keyword": "minLength",
      "params": {
        "limit": 10
      },
      "message": "must NOT have fewer than 10 characters",
      "data": "foo",
      "modelName": "MyRequest",
      "dataPath": ".title",
      "requestPath": "body"
    }
  ],
}

I tried a few different decorators. It looks like only the @Required decorator works.
To Reproduce

Clone https://github.com/ktalebian/tsed-bug
npm i
npm start
curl localhost:8083/body -XPOST -H "Content-Type: application/json" -d '{"prop1":"asd"}' | jq .

Expected behavior
Expected to see Title must be at least 10 characters long message.
Code snippets
No response
Repository URL example
https://github.com/ktalebian/tsed-bug
OS
macOS
Node version
Node 20
Library version
v7.*
Additional context
No response

@ktalebian thanks a lot for the issue. I'll try to that asap ;)

:tada: This issue has been resolved in version 7.70.1 :tada:
The release is available on:

v7.70.1
GitHub release

Your semantic-release bot :package::rocket:


"office-ui-fabric-react": "6.189.2"

if i remove "office-ui-fabric-react": "6.189.2" in package.json, in windows i can still build the project by "gulp bundle --ship". But in mac, gulp can detect the error, just windows don't. Probably a bug.
thanks

If you just edit the package.json file, that doesn't do anything. You need to uninstall the package using npm uninstall office-ui-fabric-react.


tridentctl image requires a cluster to run

Describe the bug
When running tridentctl images I expect it to print the images required but fails if a cluster is not available
Environment
Provide accurate information about the environment to help us reproduce the issue.

Other:

Tridentctl version: v21.10.0

To Reproduce
Run tridentclt images without a KUBECONFIG
KUBECONFIG=/dev/null ./tridentctl --debug images
FATA[0000] could not initialize Kubernetes client; invalid configuration: no configuration has been provided, try setting KUBERNETES_MASTER environment variable

Expected behavior
Being able to obtain the list of images used by trident without requiring a cluster.
Additional context
Add any other context about the problem here.

Hi @tonyskapunk,
The tridentctl command does need to inspect the cluster to determine the correct CSI snapshotter sidecar version to report. We expect that there will be additional checks in the future that also require access to the K8S cluster to accurately report the versions of container images that are required.
If you want a quick reference of the images that are required for a particular Kubernetes version you can check the Trident requirements documentation.

Hello @gnarl thanks for the response and the link to the docs, that's quite helpful.
Do you know if that inspection is due to the k8s cluster version in question? or if there's any additional information from the cluster that is needed? I'm asking because I see tricentctl allows what seems the definition of the k8s version: --k8s-version
The use case in mind is a disconnected cluster (no internet access), where it would be nice to get the list of images needed by trident before installing the cluster so I can mirror those required images beforehand.

ping
It would be really nice if this works without already having access to a k8s cluster. The typical use case for tridentctl images is to get the required images while still being outside the secure/air-gapped K8s environment.
The docs are not updated for patch releases (e.g. even if you download 21.10.1, the docs still list the 21.10.0 images). Therefore getting the correct and up-to-date list via tridentctl is the better option, imho. The k8s version can be easily provided via the existing flag. Is there anything else tridentctl would require that drives the need for cluster access?

@wonderland and @tonyskapunk, access to the K8S cluster is needed to determine the correct version of the CSI snapshotter sidecar that is needed. The snapshotter version is determined based on the volumesnapshots.snapshot.storage.k8s.io CRD's version (v1, v1beta1).

All these image info's can be found in cli/k8s_client/yaml_factory.go.
Executing cat yaml_factory.go | sed -n 's|.*{CSI_SIDECAR_REGISTRY}/||gIp'  | sort | uniq will bring this result:
csi-attacher:v3.4.0
csi-node-driver-registrar:v2.4.0
csi-provisioner:v2.2.2
csi-provisioner:v3.1.0
csi-resizer:v1.3.0
csi-snapshotter:{CSI_SNAPSHOTTER_VERSION}

and as mentioned by @gnarl the csi-snapshotter tag depends on v1/v1beta1.
In current master the tag could be "v3.0.3" or "v5.0.0" (which is hardcoded in yaml_factory.go).
So why not deliver both images as result of tridentctl images? Or make a new proc tridentctl images-all
I think most users need this list to bring the images from outside into an internal docker registry so no one matters if there is one image in this list which is not used.

another approach could be to add a new flag e.g. --snap-crd-version  to tridentctl images and if this is provided the cluster access is omitted.
If you run the current implementation against a cluster where no snapshotter is installed or the serviceaccount has no rights to read crd's tridentctl images always falls back to the old crd version.
One use case to automate complete installation in a new cluster would be

run tridentctl images -v $(kubectl version -o json | jq -r '.serverVersion.gitVersion') -o json | jq -r '.imageSets[0].images[]' to get images needed
install external csi-snapshotter with version extracted from the image (e.g. k8s.gcr.io/sig-storage/csi-snapshotter:v5.0.0)
install trident

With current implementation you would install the wrong (old) snapshotter.

tridentctl version also requires a cluster to run (in addition to not actually giving version info about the binary tridentctl itself even when it runs online).
That doesn't mean it should run offline. But something like --offline could be used for both image and version info.

@Scaleoutsean, if you use the --client command it should work without a cluster and -o yaml should give additional information like go version for the binary

Thanks, @adkerr! In that case --client would work for me if it was a way to get a list of supported images.

Hello, I wonder if the tridentctl images  still requires to dynamically calculate the csi snapshotter image on the newer versions, looked at 24.06
https://github.com/NetApp/trident/blob/cb68cb389d9dea65eff2d2509b4784827bfbfe5c/cli/k8s_client/yaml_factory.go#L699
And seems like the version is fixed
Oh! And looks like v1betav1 has been deprecated in v23.07 hopefully this would remove the need to connect to a k8s cluster to print the required images :smile_cat:


Added defaultIsOpen prop to SidebarCollapse and updated Storybook component

Description
Added defaultIsOpen prop to SidebarCollapse; Added storybook component to demonstrate using defaultIsOpen
Fixes # (issue) N/A
Type of change
Please delete options that are not relevant.

[X] New feature (non-breaking change which adds functionality)

Breaking changes
N/A
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

Import the Sidebar.Collapse into an existing Sidebar component
Add the defaultIsOpen prop
Verify the sidebar dropdown is expanded by default on page load
Remove the flag and refresh
Verify the dropdown is collapsed

Checklist:

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

I have not created a unit or cypress test or added any documentation outside of the Storybook component. I'll be out of town this weekend, but if this requires tests, I'll take a look at adding them next week.

Waiting for the unit test :)

Closing this one and co-authoring #426.


In offline mode, requiresafe should exit 1 and pipe to stderr instead of throwing when db is missing

/c @nlf c.f. https://github.com/requiresafe/cli/blob/master/lib/offline.js#L140

done


threadchannel fix(?)

Not sure if it's the correct way to do it, but it works.

actually it's no good, should be async