Structured State Space Sequence (S4) Implementation

Hey Patrick,
I have been using Equinox for one of my projects and up until now it has helped immensely in using JAX effectively and seamlessly.
For this project, I was going to use the model of Structured State Space Sequence (S4) from Gu et Al 2022. In short in the original paper that introduces S4, the authors compared it to Attention-based architectures in time-series analysis problems with long-range time dependences in the data (e.g. EEG signals, Audio recognition, etc).  They showed that S4 outperformed every other model. I think it would be a very nice addition to the package for all those who might want to use S4+Equinox in the future.
Without going into further details, a new nn Layer must be created. I am unsure if you are familiar with the S4 concept or if you even have time to implement it. The original implementation of the Layer is written in PyTorch but they also provided a Flax implementation. I could use the Flax implementation as it is but I am already deeply invested in Equinox to turn back :). Hence, I started rewriting it for Equinox. To this end, I have two questions for you.
1) Would this be a worthy addition to the main package?
2) If need be could you provide some guidance for the sharp bits?
Best,
Stergios

Hey there! I think this would definitely be a worthy addition.
I've been putting these more sophisticated architectures as full examples in the documentation, e.g. see here for BERT. (So I'm going to label this issue under "documentation".)
Certainly, I can try and provide a bit of guidance on the sharp bits.

but I am already deeply invested in Equinox to turn back :)

:D

Hey @stergiosba, nice that you're working on S4s with equinox.
I have my own implementation here, which is also based on the original FLAX implementation. Happy to contribute here as well :)

Hey @yardenas
I am glad you have already done some steps into this, cause frankly time is of the essence.
I took a brief look at your imlementation and its pretty close to what I have set up. I will test to see if I get the same values as you.

So S4 layers are made to handle a one-dimensional sequence of size L and produce a one-dimensional output.
This means that if you need to pass multiple "parallel" sequences you have to stack the layers. The following is stated in the Flax implementation and I quote: "Since our SSMs operate on scalars, we make H different, stacked copies (H different SSMs!) with different parameters".
In the Flax implementation, they use Flax vmap to define these copies. A point of confusion is whether the same is achieved with the following code:
key = jax.random.PRNGKey(0)
N = 50 #state_dimension [same for all layers]
L = 500 #sequence_dimension [same for all layers]
H = 64 #stacked layers of S4
keys = jax.random.split(key, H)

make_s4 = lambda k: S4Layer(N, L, key=k)
model_S4 = eqx.filter_vmap(make_s4)(keys)

This would be inside a class of course like the example in Equinox docs: improve-compilation-speed-with-scan-over-layers.
Note: The Flax docs page is currently offline but essentially flax vmap copies a nn.Module a specified amount of times.

That looks correct to me!

@stergiosba, one thing that was a bit annoying was to pass the ssm around whenever I wanted to use the recurrent mode of S4. IIRC, in the original FLAX implementation they achieve it by caching the ssm. One way to alleviate this is the use equinox's stateful modules. Maybe we can use this feature to make the API more user-friendly

I don't think you'll need to cache anything -- write it like GRUs/LSTMs already are in Equinox.

@yardenas, I saw that was the case. I am trying to write is as Patrick says. Works for the 1D sequence. Will test today for the H-Dimensional sequence.

@patrick-kidger, @stergiosba, I think I didn't explain myself good enough and there's a slight misunderstanding😅😅 Let me dive a bit deeper into the details, hopefully giving you a better idea of what I mean.
The S4 model is paramterized by the ssm's matrices, however, when you run a forward pass, you need to discretize the (continuous) linear system (discrete_DPLR in the FLAX implementation).
Since it is static and changes only when you update the model, you can (and should) compute the dicretized ssm only once before running full sequence predictions. This is opposed to computing the same thing on each and every prediction step in a sequence.
In the FLAX implementation, the authors avoid evaluating the (same) discretized ssm by computing it once and then caching it---once you have it cached, you don't need to pass it around alongside the S4 state.
In contrast to the discretized ssm, this state changes between time steps, so you'd need to pass it around as you'd do in GRUs and LSTMs.
In my implementation, I did pass it around together with the state, which caused the interface to be a bit annoying.
This was before stateful operations were introduced to equinox, so I think there's a room for improvement.
Hope this makes sense to you🤝

@yardenas In your code, the forward pass of the model in RNN form is the following:
@jax.vmap
def __call__(self, x_k_1, u_k, ssm):
    ab, bb, cb = ssm
    if u_k.ndim == 0:
        u_k = u_k[None]
    x_k = ab @ x_k_1 + bb @ u_k
    y_k = cb @ x_k
    return x_k, (y_k + self.d * u_k).real.squeeze(-1)

I thought this is what you were referring to, or am I wrong?

@stergiosba, exactly, so whenever I use the RNN mode (typically for forecasting), I compute the ssm and then pass it to this function in each step in autoregression.
This becomes a bit awkward if you want to quickly swap S4 with another RNN architecture (like GRUs for example) because now you're not only passing an input (u_k) and state (x_k_1), but also the ssm.
To alleviate this, I see three options:

Compute the same ssm everytime you call the RNN step function (__call___(...) above). This can be potentially slow since it involves solving multiple linear equations (one per ssm)
Compute the discrete ssm once, and augment it within the state of S4 (e.g., with a namedtuple). This is reasonable but feels a bit hacky and doesn't reflect the actual math under the hood. Not very user-friendly.
Compute the discrete ssm once, and cache it (via eqx.nn.State). This requires closer treatment from the developer, but IMO more user-friendly.

class S4Layer(ex.Module):
    log_step: Array
    Lambda_reArray
    Lambda_im: Array
    P: Array
    B: Array
    C: Array
    D: Array
    cell_size: int = eqx.field(static=True) #N
    sequence_size: int = eqx.field(static=True) #L
    ssm: Tuple = ()
    conv_kernel: Array = jnp.empty(shape=(1,))
    decode: bool = True

    def __init__(
            self,
            cell_size: int,
            sequence_size: int,
            decode: bool,
            key: PRNGKeyArray
            ):

        self.cell_size = cell_size
        self.sequence_size = sequence_size
        # This part is handled by HIPPO initialization
        self.Lambda_re, self.Lambda_im, self.P, self.B = hippo_initializer(cell_size)
        Lambda = jnp.clip(Lambda_re, None, -1e-4) + 1j * Lambda_im

        # This part is handled by randomized C and D as ones.
        C = normal(stddev=0.5**0.5)(key, shape=(self.cell_size,2))
        C = C[..., 0] + 1j*C[..., 1]
        self.D = ones(key, (1,), jnp.float32)
        self.log_step = log_step_initializer(key, shape=(1,))

        self.decode = decode
        if self.decode:
            # RNN mode, discretize
            self.ssm = discrete_DPLR(
                Lambda,
                P,
                P,
                B,
                C,
                jnp.exp(self.log_step),
                self.sequence_size,
            )
        else:
            # CNN mode, calculate convolution kernel
            self.conv_kernel = kernel_DPLR(
                Lambda,
                P,
                P,
                B,
                C,
                jnp.exp(self.log_step),
                self.sequence_size,
            )

    def __call__(self, input: Array, *, key: Optional[PRNGKeyArray] = None):
        if self.decode:
            # RNN Mode
            def rnn_mode(input, ssm):
                def scan_SSM(input, x0):
                    def step(x_k_1, u_k):
                        x_k = ssm[0] @ x_k_1 + ssm[1] @ u_k
                        y_k = ssm[2] @ x_k
                        return x_k, y_k
                    return lax.scan(step, x0, input)
                _, output = scan_SSM(input[:, None],
                                jnp.zeros((self.cell_size), dtype=jnp.complex64))

                return output.flatten().real

            vscan = vmap(rnn_mode,in_axes=(0,0), out_axes=0)
            return vscan(input, self.ssm) + self.D * input
        else:
            # CNN Mode
            return causal_convolution(input, self.conv_kernel).real + self.D * input

To use this class you do the following:
key = jax.random.PRNGKey(1)
N = 64 #cell_size
L = 5000 #sequence_size
H = 256 #number of parallel sequences i.e. height of S4Block
keys = jax.random.split(key, H)

#dummy input of correct shape=(H,L)
u = jax.random.normal(key, shape=(H,L))

#CNN mode
make_s4 = lambda k: S4Layer(N, L, decode=0, key=k)
model_S4_cnn = eqx.filter_vmap(make_s4)(keys)
y_cnn = model_S4_cnn(u)

#RNN mode
make_s4 = lambda k: S4Layer(N, L, decode=1, key=k)
model_S4_rnn = eqx.filter_vmap(make_s4)(keys)

y_rnn = model_S4_rnn(u)

The good news:
These two work with no serious issues and they produce the same output for H parallel sequences of size L each.
Now the issues:

Of course there is this uglyssm: Tuple = () that explodes when used in CNN mode.
Similarly conv_kernel: Array = jnp.empty(shape=(1,)) explodes in RNN mode.
Points 1/2 can be solved if we initialize both modes and use the one needed (i.e left to the user). Anything better?
The CNN mode is fast: 40.3 ms ± 2.73 ms per loop (mean ± std. dev. of 7 runs, 100 loops each) for a state N=64, H=256 parallel sequences of L=5000 timesteps. The RNN mode is not fast, for the same sequence it takes 6 seconds per loop. Any suggestions?
It takes approximately 5 seconds to compile the model for the sequence above (1.1 M params) on my laptop's 11th Gen Intel Core i5-1135G7 @ 2.40GHz. Is there a way we can get an accurate measurement of the compilation time for the model?

Issue #649 and PR #656 are relevant to this.

I've gone ahead and implemented an upgraded version of S4 called the Linear Recurrent Unit (LRU) in the memorax library. I'll probably get around to adding S5 at some point as well, but empirically I haven't found any cases where S4/S5 beats the LRU.

Oh this is awesome!
We should add this to https://github.com/matteoguarrera/awesome-equinox Which I'd like to link to from the Equinox docs, now that the list is starting to get fleshed out.
(Anyone else in this thread -- please do send any projects you think are interesting to the list above!)


[interoperator] Manifest copy crd to chart

make manifest copies crds to the helm chart

Pull Request Test Coverage Report for Build 3500

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.01%) to 89.682%

Files with Coverage Reduction
New Missed Lines
%

data-access-layer/cf/TokenIssuer.js
1
98.57%

Totals

Change from base Build 3499:
-0.01%

Covered Lines:
9392

Relevant Lines:
10117

💛  - Coveralls


Export swc_ecma_preset_env through swc_core

Description:
Allow users of the swc_core crate to access swc_ecma_preset_env
Test Plan: Referenced a local checkout and imported and used several structures + the fold fn from the preset_env module.

cc @kwonoj


[release-0.44] builder: Ensure that we always have nat tables for nftables

Backport of https://github.com/kubevirt/kubevirt/pull/6177/commits/95db6e82b10243e64cb9b39c69d3e6c8636d4f0f
cc @rmohr
We'll need these files if we want to switch to nftables on 4.9
CentOS stream does not ship the ipv4-*.nft files like fedora. Therefore
shipping the tables directly in the codebase. This also avoids quit
fallbacks to iptables where nftables should be used but the files where
not present.
Signed-off-by: Roman Mohr<EMAIL_ADDRESS>
What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

NONE

After discussing with @rmohr, we decided to handle this d/s. Closing.


[cluster-test] Clone vault image to ECR and pull from ECR instead of …

…dockerhub
related pr: novifinancial/libra-ops#901 for create new vault repo on ECR

Motivation
(Write your motivation for proposed changes here.)
Have you read the Contributing Guidelines on pull requests?
(Write your answer here.)
Test Plan
(Share your test plan here. If you changed code, please provide us with clear instructions for verifying that your changes work.)
Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/diem/diem/tree/master/developers.diem.com, and link to your PR here.)

please let me know if I missed any corresponded places need to change. Also may I ask if there has any test plan? Do I need to merge pr to create new repo first and then do CT test with this PR?

please let me know if I missed any corresponded places need to change. Also may I ask if there has any test plan? Do I need to merge pr to create new repo first and then do CT test with this PR?

I wont block this, not knowing the severity of the issue, or your workload.   But.   This is adding cut&paste version numbers to a release file that never had them before.   This adds debt that will eventually cause broken releases, confusion and pain unless someone else pays down that debt for you.    I left a comment on how I think you can minimize that debt if you must add it, but I must admit I was very much hoping you'd figure out the k8s pull so that CI would have to move these files which it is not signing, or tagging.    This is pure debt being added due to existing debt in k8s.

I wont block this, not knowing the severity of the issue, or your workload.   But.   This is adding cut&paste version numbers to a release file that never had them before.   This adds debt that will eventually cause broken releases, confusion and pain unless someone else pays down that debt for you.    I left a comment on how I think you can minimize that debt if you must add it, but I must admit I was very much hoping you'd figure out the k8s pull so that CI would have to move these files which it is not signing, or tagging.    This is pure debt being added due to existing debt in k8s.

I wont block this, not knowing the severity of the issue, or your workload. But. This is adding cut&paste version numbers to a release file that never had them before. This adds debt that will eventually cause broken releases, confusion and pain unless someone else pays down that debt for you. I left a comment on how I think you can minimize that debt if you must add it, but I must admit I was very much hoping you'd figure out the k8s pull so that CI would not have to move these files which it is not signing, or tagging. This is pure debt being added due to existing debt in k8s.

Thx for reviewing and suggestion, this is a prety temp solution for now to unblock the LBT and make pr landing works again. Login to k8s and remove all hard code version is the next step I will do

I wont block this, not knowing the severity of the issue, or your workload. But. This is adding cut&paste version numbers to a release file that never had them before. This adds debt that will eventually cause broken releases, confusion and pain unless someone else pays down that debt for you. I left a comment on how I think you can minimize that debt if you must add it, but I must admit I was very much hoping you'd figure out the k8s pull so that CI would not have to move these files which it is not signing, or tagging. This is pure debt being added due to existing debt in k8s.

Thx for reviewing and suggestion, this is a prety temp solution for now to unblock the LBT and make pr landing works again. Login to k8s and remove all hard code version is the next step I will do

Since we do rarely update vault image, I manually tag an image vault-1.4.0 and push to ecr instead of clone image every time for each LBT run

Since we do rarely update vault image, I manually tag an image vault-1.4.0 and push to ecr instead of clone image every time for each LBT run

tested with
./scripts/cti -T dev_czh_pull_7328 --suite land_blocking
2021-01-25T23:58:50.092234Z [main] INFO testsuite/cluster-test/src/aws.rs:28 Scaling to desired_capacity : 0, buffer: 0, asg_name: ct-0-k8s-testnet-validators
all up : 924 TPS, 4898 ms latency, 6450 ms p99 latency, no expired txns

tested with
./scripts/cti -T dev_czh_pull_7328 --suite land_blocking
2021-01-25T23:58:50.092234Z [main] INFO testsuite/cluster-test/src/aws.rs:28 Scaling to desired_capacity : 0, buffer: 0, asg_name: ct-0-k8s-testnet-validators
all up : 924 TPS, 4898 ms latency, 6450 ms p99 latency, no expired txns

/land

/land


Add missing links to Page Hierarchy

Someone with access to the MVP website can add links for the following headings in the Page Hierarchy section of the Readme.

Dashboard
User Dashboard
Settings

Okay!


Fix Mis-matched parts on weapons/items

Fixed the Crit/Bad Touch/Good Touch Rarities (Fixes #11)
Fixed the E-Tech RPG Materials (Fixes #26 / #11 / #59 )
Fixed Aquamarine Snipers having being located in Maliwan SMG parts and being a Maliwan SMG (Fixes #53 )
(All of these bugs were fixed on past Borderlands 2 Patches)

BL2(hwAAAABoxQmDaAQMEQGFioJhABMB5gUMBRgbMGRg/v/vINRAyAPm)
BL2(hwAAAADW+QmDaAQMEQGFioJhABMB5gUMBZgbMGRg/v/vINRAyAPm)
BL2(hwAAAACnyAmDaAQMEQGFioJhABMB5gUMBRgcMGRg/v/vINRAyAPm)
BL2(hwAAAABokAmDaAQMEQGFioJhABMB5gWMBZgcMGRg/v/vINRAyAPm)
BL2(hwAAAABb/QmDaAQMCQGFioJhABMB5gUMBZj//2Rg/v/vINRAyAPm)
Here are all 5 varients of the weapon.

Should be fixed as of https://github.com/gibbed/Gibbed.Borderlands2/commit/844ce3427b877f8c8d032df1434fe9dd3edabe86.


Add feature names to data sent to "requestPredictions" callback

Description
When doing WhatIf analysis in counterfactual panel, the predict call (via requestPredictions callback) send raw data as plain array. This can be problematic as the order of values between the dashboard and SDK may not be consistent. Adding feature names to the data sent to the requestPredictions can help alleviate this problem.
Checklist

[ ] I have added screenshots above for all UI changes.
[ ] I have added e2e tests for all UI changes.
[ ] Documentation was updated if it was needed.

Codecov Report

Merging #1712 (ff9a59a) into main (5bb3254) will increase coverage by 0.72%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1712      +/-   ##
==========================================
+ Coverage   89.00%   89.73%   +0.72%
==========================================
  Files         105       27      -78
  Lines        5577     1558    -4019
==========================================
- Hits         4964     1398    -3566
+ Misses        613      160     -453

Flag
Coverage Δ

unittests
89.73% <ø> (+0.72%)
:arrow_up:

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

Impacted Files
Coverage Δ

...idgets/raiwidgets/responsibleai_dashboard_input.py

raiutils/raiutils/__init__.py

raiwidgets/raiwidgets/error_analysis_constants.py

...ibleai/_tools/shared/state_directory_management.py

raiwidgets/raiwidgets/constants.py

...tools/error_analysis/dashboard_schemas/__init__.py

responsibleai/responsibleai/_data_validations.py

...i/responsibleai/managers/counterfactual_manager.py

raiwidgets/raiwidgets/explanation_constants.py

raiwidgets/raiwidgets/fairness_dashboard.py

... and 68 more

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


MM-26609 Create a new single entry point to get help, with a new "Ask  Mattermost Community" menu item

Summary

Add new entry point for help in channel header
Add new icon for user guide help
Add e2e tests for click and checking hrefs

Ticket Link
https://mattermost.atlassian.net/browse/MM-26609
Screenshots

FYI, I think the dropdown is a bit below when compared to the figma. it is mainly because of how the styling of icons in header are. I am using dropdown instead of popover because we have certain API for using things like external links in the component

@sudheerDev Thank you! I'll defer to Mike on UX/styling, but below are a few things I noticed:
1 - The left edge of the search bar is no longer aligned with the RHS. We may need to reduce the width of the search bar when it's activated.

2 - Help icon is missing in tablet view when RHS is open

3 - " I am using dropdown instead of popover because we have certain API for using things like external links in the component"
So we're unable to use the same component as the one for "Channel Members" or "Plugins"

4 - "Keyboard Shortcuts" should be "Keyboard shortcuts"

5 - "Help" tooltip doesn't disappear once clicked

@sudheerDev Thank you! Functionally looking good, will defer UX/UI styling to the design team.
One minor thing: in tablet view, the search bar isn't still quite aligned with the RHS

@jasonblais I was gonna ping you for review about the above items luckily you already did. Thanks for the review 👍 .
About tablet view alignment are you sure it changed?
On daily:

WIh the PR:

@sudheerDev You're right, it reproduces on master. I created a separate ticket, since it's not caused by changes in this PR: https://mattermost.atlassian.net/browse/MM-26697

Switching this to @michaelgamble for UX review.
Looks good to me other than the alignment of the ? icon in the hover effect box:

@esethna Updated the placement. I will wait for @andrewbrown00 feedback for further changes

/check-cla

@calebroseland @deanwhillier ping. It will be easy if this gets in soon. because couple off other PR's will be dependent on this

/update-branch


[Timeline] Time related types

This PR closes #105

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Make some static fields final

Adding final prohibits modification and allows initialization of
primitive and String fields at compile time instead of runtime in
clinit:
https://developer.android.com/training/articles/perf-tips.html#UseFinal
Found via error-prone.

Thanks 👍


Remote spyder kernel not connecting

Issue Report Checklist

[x] Searched the issues page for similar reports
[x] Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice
[x] Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
[ ] Could not reproduce inside jupyter qtconsole (if console-related)
[x] Tried basic troubleshooting (if a bug/error)

[x] Restarted Spyder
[x] Reset preferences with spyder --reset
[x] Reinstalled the latest version of Anaconda
[x] Tried the other applicable steps from the Troubleshooting Guide

[x] Completed the Problem Description, Steps to Reproduce and Version sections below

Problem Description
In Spyder 6.0 (spyder_kernels 3.0.0) I cannot connect to a remote kernel. In the Spyder 2.5.2, the steps I followed do work.
Manually forwarding the SSH ports as defined in the connection file or explicitly defining the IP-adress did not solve the problem. There seems to be no ssh connection problems when checking.
What steps reproduce the problem?
Following: https://docs.spyder-ide.org/current/panes/ipythonconsole.html

Start a Spyder kernel on a remote machine (See shell script)
Copy the connection file to the local machine (See shell script)
Optional: Manually forward the SSH ports defined in the connection file. (See commented lines in shell script)
Open spyder IDE on local machine and "Consoles">"Connect to an existing kernel"
Set the path to the connection file on the local machine: ~/.local/share/jupyter/runtime/remote_kernel.json
Set password for ssh connection to remote machine.
Optional: Explicitly define the IP-adress as the 'hostname'
Try connect to remote kernel

Shell script to run on local machine to reproduce steps 1 to 3:
#Run some commands on the remote machine --> activate python venv, start remote kernel and write out connection file: "remote_kernel.json"
ssh $user@$remote_host \
"source $remote_venv_path &&\
python -m spyder_kernels.console -f=remote_kernel.json  > ${remote_logpath}/spyderkernel_output.log 2>&1 &"
echo "Remote kernel started on $remote_host."

# Locate and copy connection file from the remote machine to the local machine
local_kernel_loc="$HOME/.local/share/jupyter/runtime/remote_kernel.json"
remote_kernel_path=$(ssh $user@$remote_host "jupyter --runtime")
remote_kernel_loc="$remote_kernel_path/remote_kernel.json"

echo "Local kernel location: $local_kernel_loc"
echo "Remote kernel location: $remote_kernel_loc"

scp $user@$remote_host:$remote_kernel_loc $local_kernel_loc
echo "Connection file copied to local machine."

#for port in $(cat $local_kernel_loc | grep '_port' | grep -o '[0-9]\+'); do
#    ssh $user@$remote_host -f -N -L $port:<IP_ADDRESS>:$port
#    echo "ssh port $port is opened!"
#done

What is the expected output? What do you see instead?
Expected: The remote kernel.
Reality: Errors about the ssh connection
Paste Traceback/Error Below (if applicable)

Traceback (most recent call last):
File "/home/rvloon/code/py_venv_test_local/lib/python3.10/site‑packages/spyder/plugins/ipythonconsole/widgets/main_widget.py", line 1801, in create_client_for_kernel
kernel_handler = KernelHandler.from_connection_file(
File "/home/rvloon/code/py_venv_test_local/lib/python3.10/site‑packages/spyder/plugins/ipythonconsole/utils/kernel_handler.py", line 453, in from_connection_file
kernel_client=cls.init_kernel_client(
File "/home/rvloon/code/py_venv_test_local/lib/python3.10/site‑packages/spyder/plugins/ipythonconsole/utils/kernel_handler.py", line 487, in init_kernel_client
kernel_client.tunnel_to_kernel(
File "/home/rvloon/code/py_venv_test_local/lib/python3.10/site‑packages/spyder/plugins/ipythonconsole/utils/client.py", line 110, in tunnel_to_kernel
self.__tunnel_handler = KernelClientTunneler.new_connection(
File "/home/rvloon/code/py_venv_test_local/lib/python3.10/site‑packages/spyder/api/asyncdispatcher.py", line 116, in wrapper
return cls(async_func, loop=loop, early_return=early_return)(
File "/home/rvloon/code/py_venv_test_local/lib/python3.10/site‑packages/spyder/api/asyncdispatcher.py", line 101, in __call__
return task.result()
File "/usr/lib/python3.10/concurrent/futures/_base.py", line 458, in result
return self.__get_result()
File "/usr/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
raise self._exception
File "/home/rvloon/code/py_venv_test_local/lib/python3.10/site‑packages/spyder/plugins/ipythonconsole/utils/client.py", line 46, in new_connection
await asyncssh.connect(*args, **kwargs, known_hosts=None),
File "/home/rvloon/code/py_venv_test_local/lib/python3.10/site‑packages/asyncssh/connection.py", line 8834, in connect
return await asyncio.wait_for(
File "/usr/lib/python3.10/asyncio/tasks.py", line 408, in wait_for
return await fut
File "/home/rvloon/code/py_venv_test_local/lib/python3.10/site‑packages/asyncssh/connection.py", line 419, in _connect
_, tunnel_session = await new_tunnel.create_connection(
File "/home/rvloon/code/py_venv_test_local/lib/python3.10/site‑packages/asyncssh/connection.py", line 4569, in create_connection
session = await chan.connect(session_factory, remote_host, remote_port,
File "/home/rvloon/code/py_venv_test_local/lib/python3.10/site‑packages/asyncssh/channel.py", line 2037, in connect
return (await self._open_tcp(session_factory, b'direct‑tcpip',
File "/home/rvloon/code/py_venv_test_local/lib/python3.10/site‑packages/asyncssh/channel.py", line 2027, in _open_tcp
await self._open_forward(session_factory, chantype,
File "/home/rvloon/code/py_venv_test_local/lib/python3.10/site‑packages/asyncssh/channel.py", line 1999, in _open_forward
packet = await super()._open(chantype, *args)
File "/home/rvloon/code/py_venv_test_local/lib/python3.10/site‑packages/asyncssh/channel.py", line 714, in _open
return await self._open_waiter
asyncssh.misc.ChannelOpenError: No address associated with hostname

Versions

Local machine:

Spyder version: 6.0.0
Python version: 3.10.12 64 bit
Qt version: 5.15.14
PyQt version: 5.15.11
Operating System name/version: KDE neon 6.1, Linux 6.8.0-40-generic

Dependencies

# Mandatory:
aiohttp >=3.9.3                  :  3.10.5 (OK)
asyncssh >=2.14.0,<3.0.0         :  2.17.0 (OK)
atomicwrites >=1.2.0             :  1.4.1 (OK)
chardet >=2.0.0                  :  5.2.0 (OK)
cloudpickle >=0.5.0              :  3.0.0 (OK)
cookiecutter >=1.6.0             :  2.6.0 (OK)
diff_match_patch >=20181111      :  20230430 (OK)
github >=2.3.0                   :  2.4.0 (OK)
importlib_metadata >=4.6.0       :  8.5.0 (OK)
intervaltree >=3.0.2             :  3.1.0 (OK)
IPython >=8.13.0,<9.0.0,!=8.17.1 :  8.27.0 (OK)
jedi >=0.17.2,<0.20.0            :  0.19.1 (OK)
jellyfish >=0.7                  :  1.1.0 (OK)
jsonschema >=3.2.0               :  4.23.0 (OK)
keyring >=17.0.0                 :  25.4.1 (OK)
nbconvert >=4.0                  :  7.16.4 (OK)
numpydoc >=0.6.0                 :  1.8.0 (OK)
parso >=0.7.0,<0.9.0             :  0.8.4 (OK)
pexpect >=4.4.0                  :  4.9.0 (OK)
pickleshare >=0.4                :  0.7.5 (OK)
psutil >=5.3                     :  6.0.0 (OK)
pygments >=2.0                   :  2.18.0 (OK)
pylint >=3.1,<4                  :  3.3.0 (OK)
pylint_venv >=3.0.2              :  3.0.3 (OK)
pyls_spyder >=0.4.0              :  0.4.0 (OK)
pylsp >=1.12.0,<1.13.0           :  1.12.0 (OK)
pylsp_black >=2.0.0,<3.0.0       :  2.0.0 (OK)
pyuca >=1.2                      :  1.2 (OK)
qdarkstyle >=3.2.0,<3.3.0        :  3.2.3 (OK)
qstylizer >=0.2.2                :  0.2.3 (OK)
qtawesome >=1.3.1,<1.4.0         :  1.3.1 (OK)
qtconsole >=5.6.0,<5.7.0         :  5.6.0 (OK)
qtpy >=2.4.0                     :  2.4.1 (OK)
rtree >=0.9.7                    :  1.3.0 (OK)
setuptools >=49.6.0              :  59.6.0 (OK)
sphinx >=0.6.6                   :  8.0.2 (OK)
spyder_kernels >=3.0.0,<3.1.0    :  3.0.0 (OK)
superqt >=0.6.2,<1.0.0           :  0.6.7 (OK)
textdistance >=4.2.0             :  4.6.2 (OK)
three_merge >=0.1.1              :  0.1.1 (OK)
watchdog >=0.10.3                :  5.0.2 (OK)
xdg >=0.26                       :  0.28 (OK)
yarl >=1.9.4                     :  1.11.1 (OK)
zmq >=24.0.0                     :  26.2.0 (OK)

# Optional:
cython >=0.21                    :  None (NOK)
matplotlib >=3.0.0               :  None (NOK)
numpy >=1.7                      :  None (NOK)
pandas >=1.1.1                   :  None (NOK)
scipy >=0.17.0                   :  None (NOK)
sympy >=0.7.3                    :  None (NOK)

Remote machine:

Spyder version: 6.0.0
Python version: 3.12.5
Qt version: 5.15.14
PyQt version: 5.15.11
Operating System name/version: Fedora Linux 39, Linux 6.10.4-100

I am running into same error. Following using-external-kernels to connect to a remote kernel on a remote machine is not working with Spyder 6.0.0 and spyer-kernels==3.0.0.

@reinaartvanloon - have you tried "Consoles" > "New Console in a remote server". This works for me by for now except that I cannot specify a virtual environment :(

Hey @reinaartvanloon and @jyk4100, thanks for reporting. It seems the new functionality we added in Spyder 6 to connect to remote servers introduced this bug for the old functionality. We'll try to fix it in a future version (6.0.3), to be released in a few weeks.
@jyk4100, you said:

have you tried "Consoles" > "New Console in a remote server". This works for me by for now except that I cannot specify a virtual environment :(

That's the new functionality I'm talking about. And we're working to add the ability to specify a remote virtual environment in 6.1, to be released in six months or so.


Fix cloudstack etcd scaling test names

Issue #, if available:
Description of changes:
Fixed capitalization of cloudstack etcd scaling e2es
Testing (if applicable):
Documentation added/planned (if applicable):
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve


Query: Include for derived types fails when navigation property is defined in an intermediate type

Consider a model that is created with a inheritance hierarchy involving an three types: a base type, an intermediate type, and a derived type at the bottom. The intermediate type is not included in the context. Running a query which involves a Include on the derived type fails if the navigation property is defined in the intermediate type. It currently works if the navigation property is defined in the base or the derived type. It may be easier to to understand by looking at these two programs below, one working and one not.
Exception message: System.InvalidOperationException: 'The property 'Students' on entity type 'School' could not be found. Ensure that the property exists and has been included in the model.'

Steps to reproduce
Here are two examples, one works and one doesn't.
Working:
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;

namespace DerivedIncludeTest
{
	class Program
	{
		static void Main(string[] args)
		{
			using (var myContext = new MyContext())
			{
                var school = myContext.Schools
                    .Include(s => ((ElementarySchool)s).Students)
                    .Single();
            }
            Console.ReadLine();
		}
	}

	public class MyContext : DbContext
	{
        public DbSet<Student> Students { get; set; }
        public DbSet<School> Schools { get; set; }
        // DbSet<PrimarySchool > PrimarySchools is not part of MyContext
        public DbSet<ElementarySchool> ElementarySchools { get; set; }
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
		{
			optionsBuilder.UseSqlServer(@"Data Source=" + System.Environment.MachineName +
				";Initial Catalog=derivedIncludeTest;" + "Integrated Security=True" +
				";Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");
			optionsBuilder.EnableSensitiveDataLogging();
			optionsBuilder.ConfigureWarnings(w => w.Log(
				Microsoft.EntityFrameworkCore.Diagnostics.CoreEventId.SensitiveDataLoggingEnabledWarning));
		}
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity<School>().HasMany(s => s.Students).WithOne(s => s.School);
            modelBuilder.Entity<ElementarySchool>().HasData(new School { Id = 1 });
        }
    }

    public class Student
    {
        public int Id { get; set; }
        public School School { get; set; }
    }

    public class School
    {
        public int Id { get; set; }
        public List<Student> Students { get; set; } // works when Students is in the School class
    }

    public class PrimarySchool : School
    {
         //public List<Student> Students { get; set; } // moving this property to either School or ElementarySchool fixes the issue
    }

    public class ElementarySchool : PrimarySchool
    {
        // public List<Student> Students { get; set; } // also works if you move it here
    }
}

Not working:
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;

namespace DerivedIncludeTest
{
	class Program
	{
		static void Main(string[] args)
		{
			using (var myContext = new MyContext())
			{
                var school = myContext.Schools
                    .Include(s => ((ElementarySchool)s).Students)
                    .Single();
            }
            Console.ReadLine();
		}
	}

	public class MyContext : DbContext
	{
        public DbSet<Student> Students { get; set; }
        public DbSet<School> Schools { get; set; }
        // DbSet<PrimarySchool > PrimarySchools is not part of MyContext
        public DbSet<ElementarySchool> ElementarySchools { get; set; }
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
		{
			optionsBuilder.UseSqlServer(@"Data Source=" + System.Environment.MachineName +
				";Initial Catalog=derivedIncludeTest;" + "Integrated Security=True" +
				";Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");
			optionsBuilder.EnableSensitiveDataLogging();
			optionsBuilder.ConfigureWarnings(w => w.Log(
				Microsoft.EntityFrameworkCore.Diagnostics.CoreEventId.SensitiveDataLoggingEnabledWarning));
		}
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity<ElementarySchool>().HasMany(s => s.Students).WithOne(s => s.School);
            modelBuilder.Entity<ElementarySchool>().HasData(new School { Id = 1 });
        }
    }

    public class Student
    {
        public int Id { get; set; }
        public ElementarySchool School { get; set; }
    }

    public class School // base type
    {
        public int Id { get; set; }
        // public List<Student> Students { get; set; }
    }

    public abstract class PrimarySchool : School // intermediate type that is abstract and never created directly - but this also fails even if this class is not abstract
    {
         public List<Student> Students { get; set; } // moving this property to either School or ElementarySchool fixes the issue
    }

    public class ElementarySchool : PrimarySchool // derived type
    {
        // public List<Student> Students { get; set; } // also works if you move it here
    }
}

Further technical details
EF Core version: 2.1.0-rc1-final
Database Provider: Microsoft.EntityFrameworkCore.SqlServer
Operating system: Windows 10 Pro 17134.48
IDE: Visual Studio 2017 15.7.1

When processing include we generate a subquery that is supposed to fetch all the students for a given school, which looks like so:
from Student s in Property((PrimarySchool)[s], "Students")
select [s]

This doesn't work because when we try to bind "Students" property we are looking for it in the PrimarySchool and the navigation is defined on its child (ElementarySchool), so we are unable to find this.

fixed in 93fb3f0054892143e8b4a8b6520497dd2476394f


Unable to click "Load" to continue a run

Seems to happen with R2API 4.3.5
"Load" button does not work at all. It is still possible to start a new run, however, attempting to do so after clicking on "Load" causes the "Ready" button to stop working as well
Logs
https://pastebin.com/UWR5YNXL

Sorry, this issue was due to me attempting to load a save that was created when R2API 4.3.2 was what I was using


FOVs wrongly taken into account for spatial neighborhood calculation

It appears to me that when data is in FOVs (Nanostring CosMX data) the spatial neighbors are calculated wrongly. I get many more neighbors between distant FOVs than within the FOV. This seems wrong.

Hi @SaskiaFreytag , thank you for the interest in squidpy. Could you please clarify the issue by providing a reprex (reproducible example) or attaching a piece of code that could help me understand the bug?
thank you

I believe this issue is that you need to pass the library_key to the spatial_neighbor function in order to compute neighbors graph only on points belonging to the same fov. Closing this but feel free to reopen if necessary


Corrupt netflow database

This is what I get after a restart on 16.1.16
Jun  8 12:13:59 Empyrion flowd_aggregate.py: flowd aggregate died with message Traceback (most recent call last):   File "/usr/local/opnsense/scripts/netflow/flowd_aggregate.py", line 145, in run     aggregate_flowd(do_vacuum)   File "/usr/local/opnsense/scripts/netflow/flowd_aggregate.py", line 85, in aggregate_flowd     stream_agg_object.cleanup(do_vacuum)   File "/usr/local/opnsense/scripts/netflow/lib/aggregate.py", line 281, in cleanup     self._update_cur.execute('vacuum') DatabaseError: database disk image is malformed

just to be sure, your not using a memory disk? and did the machine restart normally or was there a crash?

I'm not using a memory disk, but I'm using the RAM disk feature which puts /var and /tmp in RAM
The machine has restarted normally

We should add some additional help text, ram disk is usually not a very good idea to store large amounts of data. I will add it to the help text for "Capture local".

OK. I'll disable it and re-enable it once /var is moved out of the RAM disk then.

But there may still be a bug in the script which makes a backup of the netflow DB every hour.


HIE installation on Manjaro for the Visual Studio Code HIE extension

When starting visual studio code with the hie extension, I got this error:

hie executable missing, please make sure it is installed, see github.com/haskell/haskell-ide-engine.

However, I installed hie via AUR (note: I am using Manjaro).
When checking the path it seems that the hie is not present...

PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/perret/.dotnet/tools

But when inspecting /usr/bin it seems that several versions are available:

hie-8.2.2
hie-8.4.3
hie-8.4.4
hie-8.6.3
hie-wrapper

Which one should be exported to the PATH environment variable in my .bashrc?

Which one should be exported to the PATH environment variable in my .bashrc?
hie-wrapper and all hie-x.y.z you're gonna use. I.e. if you only have projects with ghc-8.6.3, then exporting only hie-wrapper and hie-8.6.3 should be on path.

@Anrock I just realized that :/usr/bin was already part of my PATH, am I supposed to alias one of the executables, to make it work?

According to the comment in the aur, some editors require hie to be on the path. Normally, this is a symlink to the most recent ghc version, e.g. Ghc 8.6.3.
if you install from source, e. g. stack install.hs build the executable is correctly generated.

Closing, since question answered


Cherry pick from main

What this PR does / why we need it

Cherry pick last 4 commits from main to release-1.2

Which issue(s) this PR fixes

Fixes #
Describe testing done for PR

Release note

Additional information
Special notes for your reviewer

This PR was removed by force from the history because the commits were squashed by mistake.
A replacement PR is replacing it: https://github.com/vmware-tanzu/tanzu-plugin-runtime/pull/161


type error with byte values and operator ^=

It seems like the operator ^= is upcasting byte
arguments to ints and causing errors when used.
-----------------------------
2.0b4 - by Pat Niemeyer<EMAIL_ADDRESS>bsh % void foo()
{
byte y = 0;
y ^= 5;
}
bsh % foo();
// Error: EvalError: Variable assignment: y: Can't
assign int to byte : at Line: 1 : in file: <unknown
file> : y ^= 5
Called from method: foo : at Line: 1 : in file:
<unknown file> : foo ( )
bsh % void foo()
{
byte[] y = new byte[1];
byte z = 5;
y[0] ^= z;
}
bsh % foo();
// Error: // Uncaught Exception: null : at Line: 1 : in
file: <unknown file> : y [ 0 ] ^= z
Called from method: foo : at Line: 1 : in file:
<unknown file> : foo ( )
Target exception: java.lang.ArrayStoreException:
java.lang.IllegalArgumentException: argument type mismatch
---------------------------
Included an array usage because the error message is
misleading as compared to the simple byte value error
message.
Reported by: tsh
Original Ticket: "beanshell/bugs/271":https://sourceforge.net/p/beanshell/bugs/271

This issue has been fixed.  Should be closed.

@opeongo tyvm
Closed: working


[WIP} Extending IR to support support static parameters for literal values

Before submitting
Please complete the following checklist when submitting a PR:

[ ] All new functions and code must be clearly commented and documented.

[ ] Ensure that code is properly formatted by running make format.
The latest version of black and clang-format-14 are used in CI/CD to check formatting.

[ ] All new features must include a unit test.
Integration and frontend tests should be added to frontend/test,
Quantum dialect and MLIR tests should be added to mlir/test, and
Runtime tests should be added to runtime/tests.

When all the above are checked, delete everything above the dashed
line and fill in the pull request template.

Context:
Description of the Change:
Benefits:
Possible Drawbacks:
Related GitHub Issues:

I don't know how much this would simplify your overall design, but in my dynamic shots PR I added a utility method that binds a variable "intelligently" based on whether it is static or dynamic. See some sample usages here

I don't know how much this would simplify your overall design, but in my dynamic shots PR I added a utility method that binds a variable "intelligently" based on whether it is static or dynamic. See some sample usages here

I ended up using this method with some modifications to it. 🍾

As discussed offline, I added a series of simplified builders for the custom op based on Paul's PR. This builders include:
// builder for a gate with parameters and controls
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, std::string gate, mlir::ValueRange in_qubits, mlir::ValueRange in_ctrl_qubits, mlir::ValueRange in_ctrl_values, mlir::ValueRange params, mlir::ArrayAttr static_params = nullptr, bool adjoint = false);
// builder for a gate with dynamic parameters and no controls
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, std::string gate, mlir::ValueRange in_qubits, mlir::ValueRange params, bool adjoint = false);
// builder for a gate with static parameters and no controls
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, std::string gate, mlir::ValueRange in_qubits, mlir::ArrayAttr static_params, bool adjoint = false);
// builder for a gate with controls and no parameters
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, std::string gate, mlir::ValueRange in_qubits, mlir::ValueRange in_ctrl_qubits, mlir::ValueRange in_ctrl_values, bool adjoint = false);
// builder for a gate with no parameters and no controls
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, std::string gate, mlir::ValueRange in_qubits, bool adjoint = false);


The addSource path is incomplete

Using filepath.Base(dir) results in an incomplete project path.

Can you give an example of what you are trying to do, and what you are seeing instead

The directory structure of my project is like this, but the file path in the log is only com\com_init.go, which does not show the whole project path completely. I need to ask it to show util\com\com_init.go
I am sorry that this is the translation of the translator, may not be particularly correct description
├─api
│  ├─handler
│  ├─request
│  └─response
├─config
├─global
├─logs
├─middleware
├─model
│  └─enum
├─router
└─util
    └─com

you can customize the source using ReplaceAttr and use any info in slog.Source. See https://github.com/lmittmann/tint/issues/25#issuecomment-1676385341


Add retries & back off in GetAllStreams paginating call

Description
Otherwise single error can cause node to fail to start.

https://github.com/river-build/river/pull/1454


Can't enforce shape invariants with TensorArrays in while_loop

I can't enforce shape invariants in a while_loop if one of the inputs is a TensorArray. Here's a minimal example:
import tensorflow as tf

def body(i,ta):
    ta = ta.write(i,1.0)
    return (i+1,ta)

arr_size = 10
ta = tf.TensorArray(tf.float32, size=arr_size)

i = tf.constant(0,tf.int32)
input = (i,ta)
cond = lambda i,_ : i < arr_size
output = tf.while_loop(cond, body,input,shape_invariants=(i.get_shape(),tf.TensorShape(arr_size)))

#works fine without shape_invariants:
#output = tf.while_loop(cond, body,input)

mat = output[1].stack()
sess = tf.InteractiveSession()
print(mat.eval())

The code above works fine if the while_loop is not fed shape_invariants. Using shape_invariants though, I get the following error:
ValueError: The shape invariant specified for TensorArray:1 is not compatible with the initial shape of the loop variable. It enters the loop with shape <unknown>, but the specified shape invariant is (10,).

Am I doing something wrong or is this a bug?
Thanks!

I think this problem is better suited for StackOverflow as apparently it's not bug with TensorFlow itself

@Carmezim Why do you think it is not a bug?

@yuanbyu can you look at this?

@yuanbyu may not get to this anytime soon.  @ebrevdo?

Nagging Assignee: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @ebrevdo: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @ebrevdo: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @ebrevdo: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @ebrevdo: It has been 15 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @ebrevdo: It has been 343 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @ebrevdo: It has been 358 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @ebrevdo: It has been 373 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


Fix max_holes behavior in CoarseDropout

Current implementation of CoarseDropout may produce max_holes + 1 holes. I modified the logic to determine the number of holes.
issue: #436
Could you check the changes and consider to merge it?
Thank you :)

I fixed the random.randint range for hole_width and hole_height.


Reducer resolution

How does this get resolved ? I am new to react redux - this is a bit confusing! Does this resolve to rootReducer ?
/**

Reducer

The reducer contains the 4 reducers from
device, global, auth, profile
*/
import reducer from '../reducers';

What file are you looking at? The src/reducers/index.js combines the 4 reducers into a rootReducer

This import statement is in configStore.js - reproduced below.
/**

configureStore.js

A Redux boilerplate setup

*/
'use strict';
/**

Imports

redux functions
*/
import { createStore, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';

/**

Reducer

The reducer contains the 4 reducers from
device, global, auth, profile
*/
import reducer from '../reducers';

/**

creatStoreWithMiddleware

Like the name...
*/
const createStoreWithMiddleware = applyMiddleware(
thunk
)(createStore);

/**

configureStore

@param {Object} the state with for keys:
device, global, auth, profile

*/
export default function configureStore(initialState) {
return createStoreWithMiddleware(reducer, initialState);
};

This is not a Redux question, but rather an import question.
If you create an index.js file in some directory, as in our case src/reducers, in order to import that file you can use import reducer from '../reducers' which is equivalent to import reducer from '../reducers/index'`
See this discussion http://stackoverflow.com/questions/35442174/javascript-import-from-folder-with-index-js


Unhandled exception: Local variable 'response' referenced before assignment

While running the snyk-scm-refresh tool we started running into an unhandled exception:
 [org:OrgNameHere][RepoNameHere] Looking for new manifests in code repository
  File "/home/runner/work/prodsec-snyk-config/prodsec-snyk-config/snyk-scm-refresh/app/app.py", line 143, in run
    projects_import = snyk_repo.add_new_manifests(common.ARGS.dry_run)
  File "/home/runner/work/prodsec-snyk-config/prodsec-snyk-config/snyk-scm-refresh/app/snyk_repo.py", line 66, in add_new_manifests
    import_response = app.utils.snyk_helper.import_manifests(
  File "/home/runner/work/prodsec-snyk-config/prodsec-snyk-config/snyk-scm-refresh/app/utils/snyk_helper.py", line 199, in import_manifests
    response.headers['Location']).group(1),
UnboundLocalError: local variable 'response' referenced before assignment

Looks as though the script may have a coding defect in snyk_helper.py?

The if statement (if err.code in [502, 504]:) on line 190 of snyk_helper.py is missing an else: with a raise condition. Any service error other than 502 and 504 is allowed to fall through as successful and then crash on line 198.


Not able to retrieve planet properties

Hey,
So, I got stuck while running the Fit RV and Proper Motion Anomaly notebook.
After defining the planet b and a system like this:
@planet b Visual{KepOrbit} begin
    e = 0
    ω=0.0
    mass ~ Uniform(0, 3)
    a ~ truncated(Normal(3.48,0.1),lower=0)
    i ~ Sine()
    Ω ~ UniformCircular()

    τ ~ UniformCircular(1.0)
    P = √(b.a^3/system.M)
    tp =  b.τ*b.P*365.25 + 58849
end

@system ϵEri begin
    M ~ truncated(Normal(0.78, 0.01),lower=0)
    plx ~ gaia_plx(;gaia_id)
    pmra ~ Normal(-975, 10)
    pmdec ~ Normal(20,  10)

    # Radial velocity zero point per instrument
    rv0 ~ Product([
        Normal(0,10), # m/s
        Normal(0,10),
    ])
    # Radial jitter per instrument.
    jitter ~ Product([
        truncated(Normal(0,10),lower=0), # m/s
        truncated(Normal(0,10),lower=0),
    ])
end HGCALikelihood(;gaia_id) rvs_merged b

and then while defining the model: model = Octofitter.LogDensityModel(ϵEri )
I get an error: type Planet has no field a.
This also comes up if I manually try to run b.a or b.e. So, the error is most probably coming when defining the period and tp in the planet, but I am not sure why.
The error goes away if I manually set the prior for P and tp instead of calculating from pre-defined priors.
Running the latest version of Octofitter on Pluto.

Hi @Bhavesh012 , thanks so much for the report. I wasn't able to reproduce this so far.

Hey @sefffal, for some reason, this issue is not occurring for me anymore. So, I think we are good.


[Feature] Buttons Lack Hover Reactions - Poor User Experience

Problem
Buttons Lack Hover Reactions - Poor User Experience
Description
The buttons on the page do not have any visual feedback when hovered over. This lack of reaction reduces the interactivity and overall user experience (UX).
Steps to Reproduce:

Navigate to the page with buttons (mention the exact page/component).
Hover over any button.
Observe that there is no visual change (e.g., color change, shadow, or animation).

Recommendation: Implement a hover effect, such as:

Changing the button color or adding a subtle shadow when hovered.
Using a smooth transition to improve the user experience.

@TimidRobot kindly see the status for this issue, it is "ready for work".
let me know the next step to take , if i should create another PR with the correct guidelines ???

@TimidRobot, I recommend the following for the search repository:

Create a button class that defines the default style for all buttons.
Implement a hover selector to slightly change the button color on hover, providing visual feedback.
Add a selector for the active state of buttons, incorporating an animation effect to simulate a click reaction and enhance interactivity.

@TimidRobot I also recommend the changes should be done upstream, that is added in vocabulary.css so all other website can have access to the functionality .
Can i go ahead with this ??

After further review I wanted to clarify that adding hover effects seems like something we need to do in Vocabulary, particularly within the vocabulary.css file.
I'm going to move this to https://github.com/creativecommons/search/labels/🚧 status%3A blocked because I believe changes will occur with less fragmentation if they are made in Vocabulary concisely and then as each implementation project (like this one) gets the newer vocabulary.css file they'll automatically get these downstream adjustments.


Precision issues with Point Clouds far from the origin

We have a point cloud from one of our clients which was producing very strange results, poor stabilisation and it was very hard to pick with a ray cast.
Our app automatically centers the asset so it wasn't easy to spot, but after a bit of investigation, we found that the points were positioned about 600km from the origin! :) This obviously produces severe precision issues and created quite an interesting effect where the points were clumping together.

We've managed to fix this particular point cloud by using the recenterToOrigin conversion setting, but it is quite common that models and points clouds coming from GIS data are offset a long way from a common datum, so I don't think this is the last time someone will run in to this issue.
We could add something which warns our users post-conversion that the point cloud is way off origin and that they should use the recenter option, but having them have to convert it again isn't a great user experience.
We've noticed that when this occurs for mesh models you auto-fix it by creating an extra node in the scene graph and making all the vertex positions relative to that node.

warning 4019: Some meshes contained vertex positions very far form the origin. These large offsets have been moved to the scene graph instead.

Would it be possible to add a similar feature for point clouds? It would save the user from having to repeat the conversion with the recetnerToOrigin flag set.

We just released ARR 1.1.29, which addresses this issue. Affected assets need to be reimported.


Create ynput namespace system

Is there an existing issue for this?

[X] I have searched the existing issues.

Please describe the feature you have in mind and explain what the current shortcomings are?
We need a standardised namespace setup with rules and tools around it for better organisational
How would you imagine the implementation of the feature?
Overview
Top-Level Namespace

ynput: Root namespace encompassing all Ynput-related code.

Standard Sub-Layer Namespaces

ynput::core:

Foundational functions and classes providing abstract functionality for higher layers.

ynput::lib:

Self-contained tools, classes, and function groups focusing on specific tasks in an abstract manner.

ynput::dt:

Development tools essential during development but excluded from release builds.

ynput::tool:

Tools addressing specific problems with reduced abstraction compared to libraries.

ynput::app:

Standalone systems requiring startup procedures or running independently.

Registering a Namespace
Each accepted namespace is documented in definition.md and implemented using macros in namespace_macros.h.
All code under an accepted namespace must use its corresponding namespace macro to define its scope.
Description
Core Libraries
Foundational functions and classes designed for abstract functionality without external dependencies. Ideal for header-only implementations.

ynput::core:

Nested Standard Namespaces

ynput::core::utils: General namespace for tools without a dedicated namespace association.
ynput::core::config: Management of configuration settings.
ynput::core::math: Mathematical operations and utilities.
ynput::core::time: Utilities for handling time and date.
ynput::core::iostd: Utilities for handling std input-output.
ynput::core::fio: Utilities for handling file input-output.
ynput::core::threading: Utilities for handling threading and thread management.
ynput::core::dt: data types and classes providing extended or specific data control
ynput::core::cp: Utilities to help with cross-platform development

Developer Tooling
Classes and functions supporting C/C++ software development are excluded from release builds through macros.

ynput::dt:

ynput::dt::trace: Functions specifically for tracing purposes.

Libraries
Self-contained libraries with abstract interfaces (pure virtual classes), thorough documentation, defined behaviour, internal exception handling, and versioning.

ynput::lib:

ynput::lib::logging: Functions dedicated to logging.

Tool Modules
Tools or collections of tools targeting specific problems offering less abstraction than libraries.

ynput::tool:

ynput::tool::usd: Example: a specific tool interacting with Ayon-Server to build USD files.

Application Modules
Namespaces for standalone applications within the Ynput ecosystem require startup procedures and do not compile to a static or dynamic library.

ynput::app:

Nested Standard Namespaces

ynput::app::{name}: Specific namespaces for individual applications. (this should be avoided if possible)

Are there any labels you wish to add?

[X] I have added the relevant labels to the enhancement request.

Describe alternatives you've considered:
No response
Additional context:
No response

done


UI: Implement New Layout/Format on Export Screen

As an ECMPS user, I want a screen where I am able to select different types of data from a specific reporting period to export and/or view an associated report in order to support program goals
Given a user has navigated to the ECMPS application
When they look a the left-hand panel
Then they will see an option for the "Export/Report" screens
Given a user has navigated to the "Export/Report" screens via the left-hand panel
When they select a configuration on the initial screen
Then they will be able to open the configuration tab leading them to the main export/report page

[x] Print Button will be added in the companion ticket

[x] The main export/report page layout will adhere to the design laid out in the below wireframe:

https://projects.invisionapp.com/freehand/document/TdahPfbEb?zoomToItems=Y2w0b2JldTBjMDA4aTNiN20yNWRha2tjMg%3D%3D

Updates have been made


NoMethodError - private method `after_create' called

Hello,
I recently upgraded some of my gems.
Now i have this problem for only one of my models using paper_trail:
NoMethodError - private method `after_create' called for #<Class:0x007fc4a4617cc0>
Did you mean?  after_update:
  activerecord (<IP_ADDRESS>) lib/active_record/dynamic_matchers.rb:26:in `method_missing'
  paper_trail (5.2.2) lib/paper_trail/model_config.rb:34:in `on_create'
  paper_trail (5.2.2) lib/paper_trail/model_config.rb:146:in `block in setup_callbacks_from_options'
  paper_trail (5.2.2) lib/paper_trail/model_config.rb:145:in `setup_callbacks_from_options'
  paper_trail (5.2.2) lib/paper_trail/model_config.rb:78:in `setup'
  paper_trail (5.2.2) lib/paper_trail/has_paper_trail.rb:65:in `has_paper_trail'
  app/models/subscription_setting.rb:4:in `<class:SubscriptionSetting>'
  app/models/subscription_setting.rb:1:in `<top (required)>'
  activesupport (<IP_ADDRESS>) lib/active_support/dependencies.rb:457:in `block in load_file'
  activesupport (<IP_ADDRESS>) lib/active_support/dependencies.rb:647:in `new_constants_in'
  activesupport (<IP_ADDRESS>) lib/active_support/dependencies.rb:456:in `load_file'
  activesupport (<IP_ADDRESS>) lib/active_support/dependencies.rb:354:in `require_or_load'
  activesupport (<IP_ADDRESS>) lib/active_support/dependencies.rb:494:in `load_missing_constant'
  activesupport (<IP_ADDRESS>) lib/active_support/dependencies.rb:184:in `const_missing'
  activesupport (<IP_ADDRESS>) lib/active_support/dependencies.rb:526:in `load_missing_constant'
  activesupport (<IP_ADDRESS>) lib/active_support/dependencies.rb:184:in `const_missing'
  activesupport (<IP_ADDRESS>) lib/active_support/dependencies.rb:526:in `load_missing_constant'
  activesupport (<IP_ADDRESS>) lib/active_support/dependencies.rb:184:in `const_missing'
  app/views/layouts/_header.html.erb:32:in
...

My model:
class SubscriptionSetting < ActiveRecord::Base
  acts_as_singleton

  has_paper_trail
  validates :trial_duration, :notice_period, presence: true

  validates_numericality_of :trial_duration, :notice_period, greater_than: -1
end

I run with:
ruby 2.3.0
Rails <IP_ADDRESS>
paper_trail (5.2.2)
Thank you.

Hi Matthieu. If you remove acts_as_singleton do you still have this issue? Thanks.

Hi Jared, thank you for your quick answer.
It seems that acts_as_singleton was effectively the problem.
I placed acts_as_singleton under has_paper_trail and it solved the problem.
class SubscriptionSetting < ActiveRecord::Base

  has_paper_trail
  acts_as_singleton
  validates :trial_duration, :notice_period, presence: true

  validates_numericality_of :trial_duration, :notice_period, greater_than: -1
end

Thanks Matthieu, I'm glad you found a workaround.
Looking at acts_as_singleton.rb, it changes the accessibility of certain methods, making them private. Because acts_as_singleton changes the AR interface, PT cannot support it.
Note to self: It looks like the acts_as_singleton gem has not been updated in over four years (most recent: 0.0.8 - 2012-05-18)


Bulk Subscription Request for Phishing Reports

Existing documentation URL(s)
https://developers.cloudflare.com/email-security/reporting/phish-reports/
What changes are you suggesting?
Currently, if you want to subscribe users to receive weekly/daily phishing reports, you would add them one by one.
I suggest that you add an option to bulk add a subscriber list via CSV or txt.
Additional information
No response

Howdy @InfosecWyatt, going to close this out since we're a docs repo and this isn't really about the docs (more of a feature request).
I'll forward along to the PM internally though.

احصل على Outlook for Androidhttps://aka.ms/AAb9ysg

From: Kody Jackson @.>
Sent: Thursday, June 20, 2024 6:58:09 PM
To: cloudflare/cloudflare-docs @.>
Cc: Subscribed @.***>
Subject: Re: [cloudflare/cloudflare-docs] Bulk Subscription Request for Phishing Reports (Issue #14842)
Howdy @InfosecWyatthttps://github.com/InfosecWyatt, going to close this out since we're a docs repo and this isn't really about the docs (more of a feature request).
I'll forward along to the PM internally though.
—
Reply to this email directly, view it on GitHubhttps://github.com/cloudflare/cloudflare-docs/issues/14842#issuecomment-2181041048, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BIZIXTVOQVPFSRHD53LGKYDZIL3ZDAVCNFSM6AAAAABIRHTPBCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBRGA2DCMBUHA.
You are receiving this because you are subscribed to this thread.Message ID: @.***>


Azure Event Hub - unable to generate connection config

Describe the bug
hen trying to connect to the Azure Event hub the following error occurs:
unable to generate connection config: unable to lookup connection info for backendName 'azure-event-hub': Unable to find the key
To Reproduce
Steps to reproduce the behavior:

Run export EVENTHUB_CONNECTION_STRING="Endpoint=sb://plumbertest.servicebus.windows.net/;SharedAccessKeyName=...;SharedAccessKey=....=;EntityPath=..." (with an actual Azure connection string
plumber read azure-event-hub

Using a direct connection

plumber read azure-event-hub  --connection-string=""Endpoint=sb://plumbertest.servicebus.windows.net/;SharedAccessKeyName=...;SharedAccessKey=....=;EntityPath=..." (with an actual Azure connection string

Expected behavior
To be able to connect to the Azure event hub.
Screenshots

CLI (please complete the following information):

OS: Mac OS Big Sur
Version 1.2.0

Hi, looking into this now - I'm able to reproduce - definitely a bug. Fixing now.

@dselans Thanks for the quick follow-up.
I just tested it and it works like a charm 🚀


gzipp'ed pages are not decompressed

Expected behavior
Compressed pages to be decompressed automatically.
Actual behavior
Pages are not decompressed.
Steps to reproduce the behavior
Here is the demo:
https://gist.github.com/UKNC/887059b4bf6359ced5d1d982399dd32e
When you run it as
> node server.js 0
it sets custom headers:
 { "Accept-Encoding": "identity;q=1.0, gzip;q=0"}
and google sends plain htmls.
When you run as
> node server.js 1
the header is
 { "Accept-Encoding": "identity;q=1.0, gzip;q=1"}
and google sends gzipped html.
On the console you can see gibberish.
Environment

OS:
Node version (node -v): 7.2.1
package version: 4.0.0.

This looks to be related to a bug in phantomjs. See https://github.com/ariya/phantomjs/issues/13621.


There is not an Integrated Apps under Settings in M365 Admin Center

We do not have an Integrated Apps option under Settings.  Add-ins is directly under Settings in the Microsoft 365 admin center.  This line on the page seems to be incorrect.

In the admin center, go to the Settings > Integrated apps > Add-ins page.

Thank you,
Dana White
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: e62dfa25-e420-38e4-ff47-05cca62d14ec
Version Independent ID: 5ea03ce0-38b9-e005-a430-e98442e2ec83
Content: Deploy add-ins in the admin center - Microsoft 365 admin
Content Source: microsoft-365/admin/manage/manage-deployment-of-add-ins.md
Service: microsoft-365-business
GitHub Login: @KwekuA
Microsoft Alias: kwekua

@greenchevy65 Thank you for your feedback. I was able to find the option under settings in M365 admin center.

If you continue to have this problem, I'd recommend you open a support ticket via the need help section on the admin center.
Hope this helps!
Thanks
Sri

@msbemba Thank you very much for the contribution and sharing this explanation. @greenchevy65 Hope this comment is helpful for you. Considering the nature of the issue, as advised, please open a service ticket in your tenant and follow with them for the resolution. You can contact Microsoft support via the need help section on the admin center. We proceed to close it as here we are limited to documentation fixes and improvements only.
We will be very happy if you can share the outcome or resolution with us if you see documentation update is required. We will certainly update this documentation with that valuable information. Thanks again, for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Allow tracks to be played in sequence

I actually have no idea what happens when an individual track has finished playing.  I suspect it will loop, going by the pygame docs, but it should progress to the next track (unless repeat is turned on).

As of d96c03659085f5f61c8df3b94f69e405cf64eae4 the next track in the playlist should play when the current track has finished.  If the entire playlist is finished, it should loop to the start.


on using aos animation the animation works for half the sections and then not work for other half , once going to responsive mode it starts workking fine and then also work correctly on browser .

This is:

Bug
Feature request
Question
Idea

Specifications

AOS version:
OS:
Browser:

Expected Behavior

Actual Behavior

Steps to Reproduce the Problem

Detailed Description

Possible Solution

https://preview.hs-sites.com/_hcms/preview/template/multi?hs_preview_key=q6RRvKuahYRWPc4fyJRIig&is_buffered_template_layout=true&portalId=6203240&tc_deviceCategory=undefined&template_layout_id=38690843054&updated=1608706192139
here is the link for my template please look the section ( what customer loves most )


Any plans to transition to Riven?

With Plex_Debrid being defunct now, and Riven on the rise as a replacement, are there any plans to soon or eventually transition to Riven in the docker container?
I'm a bit apprehensive with docker as a novice to the environment, so your repo has helped me a lot. I'd love to start using Riven instead of PD so that I can start using its features now and as they continue to develop. What are your thoughts?

I somehow missed this, cheers!


HDDS-4594. Add namespace quota to documentation

What changes were proposed in this pull request?
Add namespace quota to documentation
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-4594
How was this patch tested?
UT

R: @captainzmc

@amaliujia Thanks for your patch. Could you also update the Client Usage about Namespace quota?

@captainzmc
comments addressed.

@linyiqun
I think for namespace, it will be different than space. Namespace quota is independent on each level (volume, bucket, etc.)
Namespace quota on volume only controls number of bucket names, and namespace on bucket only controls keys in that bucket. This is different from space quota in which volume quota is a relationship with its buckets quotas.

Thanks for @amaliujia's update. I think there are some case we need to confirm.
Whether 'f' in Storage Space applies equally to Namespace quota?  If so, we need to list.  This part of namespace has been modified in #1723 (reviewing).

@captainzmc
f. does not apply to namespace in my opinion. Note that the difference so far for namespace quota is that it is set independently on volume and bucket (not like space quota).

@captainzmc
f. does not apply to namespace in my opinion. Note that the difference so far for namespace quota is that it is set independently on volume and bucket (not like space quota).

Agreed, I'll remove the namespace restriction in #1723.

@captainzmc
finally I was able to re-trigger the CI (seemed that CI didn't work for a while). Any other comments on this PR?

Also +1 from me.

Merged this PR. Thanks for @amaliujia's patch and @linyiqun‘s review.


OCPBUGS-34607: Disable machine pool feature gate

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes #
Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

/test e2e-azure

/lgtm

/retest

/unhold

/test e2e-aws

/test e2e-aws

/unhold

/retest

/test e2e-aws

/test e2e-aws

/lgtm

/retest-required


Change String.match method to regexObj.test

String.match returns an array with detail information about the match and then it must be checked for truthiness. But here you just want to know if the value exists in the string. The regexObj.test method returns a boolean and performs better.
RegexObj.test is the correct method in this case.

Thanks for the effort. String.match returns null if there's no match though, so it's usable in this case.

Of course string.match is usable, but it's not so proper and performs not so well as regex.test (s. https://jsperf.com/test-vs-match-regex).
I think it would be good to have the best method!
Some developers rely that this docs show good javascript code and copy it. In this case they shouldn't.


Switch

Enhencement proposition
Have you thought about creating a  Switch class ?

Sorry, what do you mean by that?

I added a Toggle class if that is what you mean.


fix: Added ARIA attributes and Other attributes in Suitable 10 HTML Files

Closes
Closes #1531 and #1533

Description

Added ARIA attributes and Social Icons in Suitable HTML Files.
Fixed Typos of title-Tooltip Text in Some HTML Files.
Additionally , Added above Functionalities in Some Missed areas of Respective Files.

Screenshots

Note to reviewers

I have Mixed Two Issues No: #1531 and #1533
Because of Similar Functionalities are needs to Add Most of the Areas.
Kindly Taken My Humble Request into Consideration and Add Valid Level Label under GSSOC'23. Why Because of I am worked on Almost All HTML Files.

Checklist:

[x] I have linked the PR to the correct issue.
[x] I have read the Contribution Guidelines
[x] I have built and tested the changes, and they do not break or show any errors.

Conflicting files are there
chapters/chapter.html

Resolved Conflicts @Divesh2003


"host" field in Powershell index is not being matched to the actual source host

Check Transforms/Props to see why this isn't working properly

Should be fixed in #200


Add support for Logitech UE Smart Radios.

Support for Logitech UE Radios and Squeezebox Radios that have been updated to function as UE Radios.
Example entry for configuration.yaml (if applicable):
media_player:

platform: ue_smart_radio
email: EMAIL
password: PASSWORD
Documentation PR: home-assistant/home-assistant.github.io#3538

Screwed up with Git earlier, thus a new PR. -_-

This platform (naturally) share similarities with the squeezebox platform (API requests to $BASE_URL/jsonrpc.js, the slim.request parameters looks the same, etc).
Out of curiosity, did you consider re-using that platform, maybe by having the UE-Smart Radio-stuff as a configuration option)? Or maybe the differences between the protocols/platforms were too many?

@molobrakos That's a very good point. Should probably give that a go later on and see which features work. I'll finish off the requested changes to the ue_smart_radio platform first, then have a go at changing a few Squeezebox things. :+1:

This took a while, was a bit busy with other things but found the time to finish up.

Should be all changed. :+1:


[log] "query" value is not usable

query contains a mashup of both (url) query parameters, and request body payload.
Exemple:
curl 'https://dezik.spacedog.io/1/schema/breakbone?wtf' -X PUT -H 'Authorization: Basic '  --data-binary '{"breakbone":{"_id":"id","_type":"object"}}'
Will result in query containing: {{"breakbone":{"_id":"id","_type":"object"}}: "", wtf: ""}
Also, the body payload (if valid json) is duplicated in jsonContent.
Expected:

use query only for (url) query parameters and leave any body payload in jsonContent
btw, jsonContent should instead be named requestBody, and should be there even if it's not valid json (that would definitely help debugging broken client payloads)

Not able to reproduce:
    {
      "method": "PUT",
      "path": "/1/schema/breakbone",
      "receivedAt": "2016-07-04T16:15:40.830+02:00",
      "processedIn": 21,
      "credentials": {
        "backendId": "test",
        "type": "SUPER_ADMIN",
        "name": "test"
      },
      "query": {
        "wtf": ""
      },
      "headers": {
        "Origin": "file://",
        "Accept": "*/*",
        "User-Agent": [
          "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML",
          "like Gecko) Postman/4.4.1 Chrome/47.0.2526.73 Electron/0.36.2 Safari/537.36"
        ],
        "Connection": "keep-alive",
        "Host": "test.lvh.me:8443",
        "Accept-Encoding": [
          "gzip",
          "deflate"
        ],
        "Cache-Control": "no-cache",
        "Postman-Token": "04fab6e5-35c4-e489-b7a8-190f10f967e3",
        "Accept-Language": "fr",
        "Content-Length": "43",
        "Content-Type": "text/plain;charset=UTF-8"
      },
      "jsonContent": {
        "breakbone": {
          "_id": "id",
          "_type": "object"
        }
      },
      "status": 400,
      "response": {
        "success": false,
        "status": 400,
        "error": {
          "type": "io.spacedog.services.SchemaValidator$SchemaException",
          "message": "no fields in sub object [breakbone]"
        }
      }
    }

Remove the text-plain content type from your request and you will be able to reproduce (or use the exact curl command from above).

OK reproduced.
If no content type, server considers this as application/x-www-form-urlencoded by default. This explains why the body is also logged in the query sub object.


Chore/update build

Noticed that even after updating to v3.8.0 jest still failed. I guess because it's using the build which makes sense.
Noticed that the build hasn't been updated for a longer time.
This should fix it 🤞
Would need another release I guess.
You want to add 3.8.0 to the releases as well?

Thanks for this! I'll probably need a patch release to actually roll out the changes.
That was supposed to be checked by the push action such that it doesn't allow merging if the build doesn't match the a rebuild...

Thanks for this! I'll probably need a patch release to actually roll out the changes.

❤ Yeah, I guess so as well. That's fine though.


Searching for VS Live Share leads to a 2 year old limited preview blog, confusing users

Describe what happened:
Multiple customers complained about how 2 year old limited preview announcement is the first search result, and official release documentation and homepage is hard to find.
What was your system configuration?
Product and Version [VS/VSCode]: N/A
OS Version[macOS/Windows]: N/A
Live Share Extension Version: N/A
Target Platform or Language [e.g. Node.js]: N/A
Steps to Reproduce / Scenario:

Use Google, or Bing to search for "Visual Studio Live Share"
First result is a 2 year old limited preview announcement (https://code.visualstudio.com/blogs/2017/11/15/live-share), and not the official documentation / presentation of public feature https://docs.microsoft.com/en-us/visualstudio/liveshare/
User navigates to https://code.visualstudio.com/blogs/2017/11/15/live-share , update is small and is designed not to be the center of attention. User reads the page and thinks feature is not public.
Suggestion: Either SEO optimization, or a better update on the blog post to direct users to public official documentation.

Please attach logs to this issue:
You can access them via the Live Share: Export Logs command from the command palette (ctrl + shift + p) and attach them to this issue
Screenshots
If applicable, add screenshots to help explain your problem.

Hey @senergin-msft this is super helpful feedback. Thanks for bringing this up to us. We will take this up with our marketing team and figure out a good way to ensure search results bring up relevant and recent content. Btw, you can always use aka.ms/vsls as a starting point.

Closing this as resolved, since our SEO has improved significantly over the last 6 months.