VMQ Cluster - published message not delivered if subscription made in another node

Environment

VerneMQ Version: 1.12.3
OS: Kubernetes + Docker (image vernemq/vernemq:1.12.3-alpine) with custom plugin to consume & produce from/on Apache Kafka
VerneMQ configuration: changes from the default (config taken from 1 of nodes, other config are similar)
########## Start ##########
max_inflight_messages=100
plugins.vmq_diversity=off
vmq_diversity.postgres.password_hash_method=crypt
plugins.vmq_kafka_bridge=on
allow_register_during_netsplit=on
listener.max_connections=infinity
log.console.level=debug
allow_unsubscribe_during_netsplit=on
accept_eula=yes
vmq_diversity.postgres.database=mqtt
vmq_diversity.postgres.host=db.postgres
allow_publish_during_netsplit=on
vmq_kafka_bridge.bootstrap_broker_host=kafka-bootstrap.kafka
systree_enabled=off
vmq_kafka_bridge.producer_topic=protocol.mqtt.upstream
erlang.max_ports=10000000
erlang.process_limit=10000000
listener.nr_of_acceptors=5000
listener.vmq.clustering=<IP_ADDRESS>:44053
vmq_diversity.postgres.port=5432
vmq_kafka_bridge.producer_partition=6
vmq_diversity.postgres.password=************
queue_deliver_mode=fanout
allow_multiple_sessions=off
log.console=console
listener.tcp.localhost=<IP_ADDRESS>:1883
vmq_diversity.auth_postgres.enabled=off
allow_anonymous=on
vmq_kafka_bridge.bootstrap_broker_port=9092
vmq_kafka_bridge.consumer_group=vmq_kafka_bridge_consumer_group
plugins.vmq_acl=on
allow_subscribe_during_netsplit=on
vmq_diversity.postgres.user=vernemq
vmq_kafka_bridge.consumer_topic=protocol.mqtt.downstream
plugins.vmq_kafka_bridge.path=vmq_kafka_bridge/default
erlang.distribution.port_range.minimum = 9100
erlang.distribution.port_range.maximum = 9109
listener.tcp.default = <IP_ADDRESS>:1883
listener.ws.default = <IP_ADDRESS>:8080
listener.http.metrics = <IP_ADDRESS>:8888
########## End ##########
Cluster size/standalone: cluster with 3 nodes behind an instance of HAProxy that does the TLS termination

Description
Each node in the cluster is running the plugin (name: vmq_kafka_bridge) which connect to Kafka and subscribe to an input topic divided in 4 partitions, this topic provides messages for remote clients every message carries the data and the topic where to send the data.
Expected behaviour
Given a cluster with 3 nodes named:

node-0
node-1
node-2

Events:

A client connects to node-0 and subscribes to MQTT topic-1,
On node-1 the vmq_kafka_bridge plugin  receive a message from Kafka meant to be sent on MQTT topic-1
plugin in node-1 publish the message on MQTT topic-1
client should receive the message

Actual behaviour
The published message is received only if the node publishing it, is the same the client has made the subscription. The above sequence does not produce a publish event (I used vmq-admin trace client command to see messages sent/received)
Additional infos
Cluster status:
+---------------------------------------------------------------+---------+
| Node                                                          | Running |
+---------------------------------------------------------------+---------+
|<EMAIL_ADDRESS>| true    |
+---------------------------------------------------------------+---------+
|<EMAIL_ADDRESS>| true    |
+---------------------------------------------------------------+---------+
|<EMAIL_ADDRESS>| true    |
+---------------------------------------------------------------+---------+

the command vmq-admin session show reports the same sessions in all nodes.

@lucacox listener.vmq.clustering=<IP_ADDRESS>:44053 will not work. This is the listener to set up the MQTT delivering connections between cluster node (as an additional layer of TCP connections). A node will literally make an RPC to find out that config on the other node and then just plainly connect to that IP/Port.
Configure this to <IP_ADDRESS> or an IP you know is internally reachable. (you might have to resolve this on the level of a Docker network).

:point_right: Thank you for supporting VerneMQ: https://github.com/sponsors/vernemq
:point_right: Using the binary VerneMQ packages commercially (.deb/.rpm/Docker) requires a paid subscription.

Thank you @ioolkos for the fast response. I've corrected that setting (now I have listener.vmq.clustering=<IP_ADDRESS>:44053), but the result is the same as before, only messages published by the node where is the subscription get to the client.
Watching the logs of the 3 nodes I see that 2 of them working normally, the third instead logs these lines
...
13:47:26.630 [info] successfully connected to cluster node<EMAIL_ADDRESS>13:47:26.630 [debug] connect request from unknown cluster node<EMAIL_ADDRESS>13:47:26.630 [warning] terminate due to remote_node_not_available
13:47:26.630 [warning] connection to node<EMAIL_ADDRESS>has been closed, reconnect in 1000ms
13:47:26.852 [info] vmq_kafka_bridge: Client message - Topic: biomaxcmg27a0cee10eb82abb16302bff3b9963e22001AC00B0-21-21300423live, QoS: 1
13:47:26.853 [info] vmq_kafka_bridge: producing on Topic:"protocol.mqtt.upstream"
13:47:26.970 [info] vmq_kafka_bridge: Client message - Topic: biomaxcmg27a0cee10eb82abb16302bff3b9963e22001AC00B0-21-21300423live, QoS: 1
13:47:26.970 [info] vmq_kafka_bridge: producing on Topic:"protocol.mqtt.upstream"
13:47:27.135 [info] successfully connected to cluster node<EMAIL_ADDRESS>13:47:27.136 [debug] connect request from unknown cluster node<EMAIL_ADDRESS>13:47:27.136 [warning] terminate due to remote_node_not_available
13:47:27.137 [warning] connection to node<EMAIL_ADDRESS>has been closed, reconnect in 1000ms
13:47:27.633 [info] successfully connected to cluster node<EMAIL_ADDRESS>13:47:27.633 [debug] connect request from unknown cluster node<EMAIL_ADDRESS>13:47:27.633 [warning] terminate due to remote_node_not_available
13:47:27.633 [warning] connection to node<EMAIL_ADDRESS>has been closed, reconnect in 1000ms
13:47:27.817 [debug] Replica meta5: AE exchange with<EMAIL_ADDRESS>successfully acquired local lock
13:47:27.821 [debug] Replica meta5: AE exchange with<EMAIL_ADDRESS>successfully requested remote node clock
13:47:27.822 [debug] Replica meta5: AE exchange with<EMAIL_ADDRESS>successfully requested remote watermark
13:47:27.887 [info] Replica meta5: AE exchange with<EMAIL_ADDRESS>synced 68 objects
13:47:27.887 [debug] Replica meta5: AE exchange with<EMAIL_ADDRESS>terminates with reason normal in state local_sync_repair
13:47:27.942 [debug] Replica meta7: AE exchange with<EMAIL_ADDRESS>successfully acquired local lock
13:47:27.943 [debug] Replica meta7: AE exchange with<EMAIL_ADDRESS>successfully requested remote node clock
13:47:27.944 [debug] Replica meta7: AE exchange with<EMAIL_ADDRESS>successfully requested remote watermark
13:47:27.981 [info] Replica meta7: AE exchange with<EMAIL_ADDRESS>synced 67 objects
13:47:27.981 [debug] Replica meta7: AE exchange with<EMAIL_ADDRESS>terminates with reason normal in state local_sync_repair
...

The 2 node that seems ok are named:

<EMAIL_ADDRESS><EMAIL_ADDRESS>
The one logging the above is:

<EMAIL_ADDRESS>

Maybe that <IP_ADDRESS> was the wrong idea here, but yes, the issue is on connectivity/network level.

:point_right: Thank you for supporting VerneMQ: https://github.com/sponsors/vernemq
:point_right: Using the binary VerneMQ packages commercially (.deb/.rpm/Docker) requires a paid subscription.

OK, seems working fine now. I changed the listen IP of vmq.clustering to the ClusterIP of the node and cleaned the data directory of the nodes.
closing the issue.
Thank you @ioolkos


At Runtime: Error while reading resource variable

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 10
TensorFlow version (use command below): 2.0
Python version: 3.7
CUDA/cuDNN version: 10.2/7
GPU model and memory: RTX 2060

Describe the current behavior
I am getting this error when trying to modify https://github.com/eriklindernoren/Keras-GAN/blob/master/wgan_gp/wgan_gp.py:
Error while reading resource variable _AnonymousVar35 from Container: localhost. This could mean that the variable was uninitialized. Not found: Resource localhost/_AnonymousVar35/class tensorflow::Var does not exist.
	 [[node mul_1/ReadVariableOp (defined at C:\Users\Harry\Anaconda3\lib\site-packages\tensorflow_core\python\framework\ops.py:1751) ]] [Op:__inference_keras_scratch_graph_8343]

Function call stack:
keras_scratch_graph

Code to reproduce the issue
from keras.models import Model
from keras.layers import Lambda, Dense, LSTM, Activation, Input, Bidirectional, Dropout, Reshape, Conv2DTranspose, TimeDistributed, Conv1D
from keras.layers.advanced_activations import LeakyReLU
from keras.optimizers import Adam
import keras.backend as K
from keras.layers.merge import _Merge
import librosa
import tensorflow as tf
from functools import partial
import sys
import os
import numpy as np

gpus = tf.config.experimental.list_physical_devices('GPU')
tf.config.experimental.set_memory_growth(gpus[0], True)

class RandomWeightedAverage(_Merge):
    """Provides a (random) weighted average between real and generated image samples"""
    def _merge_function(self, inputs):
        alpha = K.random_uniform((32, 1, 1, 1))
        return (alpha * inputs[0]) + ((1 - alpha) * inputs[1])

class WGANGP():
    def __init__(self):
        self.latent_dim = 100
        self.d = 64
        self.c = 16
        self.a = 1
        self.Fs = 44100

        # Following parameter and optimizer set as recommended in paper
        self.n_critic = 5
        optimizer = Adam(lr=1e-4, beta_1=0.5, beta_2=0.9)

        # Build the generator and critic
        self.generator = self.build_generator()
        self.critic = self.build_critic()

        #-------------------------------
        # Construct Computational Graph
        #       for the Critic
        #-------------------------------

        # Freeze generator's layers while training critic
        self.generator.trainable = False

        # Image input (real sample)
        real_audio = Input(shape=(self.a*256*self.d, 1))

        # Noise input
        z_disc = Input(shape=(self.a, self.latent_dim))
        # Generate image based of noise (fake sample)
        fake_audio = self.generator(z_disc)

        # Discriminator determines validity of the real and fake images
        fake = self.critic(fake_audio)
        valid = self.critic(real_audio)

        # Construct weighted average between real and fake images
        interpolated_audio = RandomWeightedAverage()([real_audio, fake_audio])
        # Determine validity of weighted sample
        validity_interpolated = self.critic(interpolated_audio)

        # Use Python partial to provide loss function with additional
        # 'averaged_samples' argument
        partial_gp_loss = partial(self.gradient_penalty_loss,
                          averaged_samples=interpolated_audio)
        partial_gp_loss.__name__ = 'gradient_penalty' # Keras requires function names

        self.critic_model = Model(inputs=[real_audio, z_disc],
                            outputs=[valid, fake, validity_interpolated])
        self.critic_model.compile(loss=[self.wasserstein_loss,
                                              self.wasserstein_loss,
                                              partial_gp_loss],
                                        optimizer=optimizer,
                                        loss_weights=[1, 1, 10])
        #-------------------------------
        # Construct Computational Graph
        #         for Generator
        #-------------------------------

        # For the generator we freeze the critic's layers
        self.critic.trainable = False
        self.generator.trainable = True

        # Sampled noise for input to generator
        z_gen = Input(shape=(self.a, self.latent_dim))
        # Generate images based of noise
        audio = self.generator(z_gen)
        # Discriminator determines validity
        valid = self.critic(audio)
        # Defines generator model
        self.generator_model = Model(z_gen, valid)
        self.generator_model.compile(loss=self.wasserstein_loss, optimizer=optimizer)

    def gradient_penalty_loss(self, y_true, y_pred, averaged_samples):
        """
        Computes gradient penalty based on prediction and weighted real / fake samples
        """
        gradients = K.gradients(y_pred, averaged_samples)[0]
        # compute the euclidean norm by squaring ...
        gradients_sqr = K.square(gradients)
        #   ... summing over the rows ...
        gradients_sqr_sum = K.sum(gradients_sqr,
                                  axis=np.arange(1, len(gradients_sqr.shape)))
        #   ... and sqrt
        gradient_l2_norm = K.sqrt(gradients_sqr_sum)
        # compute lambda * (1 - ||grad||)^2 still for each single sample
        gradient_penalty = K.square(1 - gradient_l2_norm)
        # return the mean as loss over all the batch samples
        return K.mean(gradient_penalty)

    def wasserstein_loss(self, y_true, y_pred):
        return K.mean(y_true * y_pred)

    def apply_phaseshuffle(self, x, rad=2, pad_type='reflect'):
        b, x_len, nch = x.get_shape().as_list()

        phase = tf.random.uniform([], minval=-rad, maxval=rad + 1, dtype=tf.int32)
        pad_l = tf.maximum(phase, 0)
        pad_r = tf.maximum(-phase, 0)
        phase_start = pad_r
        x = tf.pad(x, [[0, 0], [pad_l, pad_r], [0, 0]], mode=pad_type)

        x = x[:, phase_start:phase_start+x_len]
        x.set_shape([b, x_len, nch])

        return x

    def build_generator(self):
        d=self.d
        c=self.c
        a=self.a

        # Prelim layers
        input_layer = Input(shape=(a, 100))

        dense_layer0 = TimeDistributed(Dense(256*d, input_shape=(100,)))(input_layer)#
        reshape_layer0 = TimeDistributed(Reshape((c, c*d)))(dense_layer0)#
        relu_layer0 = TimeDistributed(Activation('relu'))(reshape_layer0)#

        # WaveCNN layers
        c //= 2
        expanded_layer0 = TimeDistributed(Lambda(lambda x: K.expand_dims(x, axis=1)))(relu_layer0)#relu_layer1
        conv1d_t_layer0 = TimeDistributed(Conv2DTranspose(c*d, (1, 25), strides=(1, 4), padding='same'))(expanded_layer0)
        slice_layer0 = Lambda(lambda x: x[:, :, 0])(conv1d_t_layer0)
        relu_layer2 = TimeDistributed(Activation('relu'))(slice_layer0)

        c //= 2
        expanded_layer1 = TimeDistributed(Lambda(lambda x: K.expand_dims(x, axis=1)))(relu_layer2)
        conv1d_t_layer1 = TimeDistributed(Conv2DTranspose(c*d, (1, 25), strides=(1, 4), padding='same'))(expanded_layer1)
        slice_layer1 = Lambda(lambda x: x[:, :, 0])(conv1d_t_layer1)
        relu_layer3 = TimeDistributed(Activation('relu'))(slice_layer1)

        c //= 2
        expanded_layer2 = TimeDistributed(Lambda(lambda x: K.expand_dims(x, axis=1)))(relu_layer3)
        conv1d_t_layer2 = TimeDistributed(Conv2DTranspose(c*d, (1, 25), strides=(1, 4), padding='same'))(expanded_layer2)
        slice_layer2 = Lambda(lambda x: x[:, :, 0])(conv1d_t_layer2)
        relu_layer4 = TimeDistributed(Activation('relu'))(slice_layer2)

        c //= 2
        expanded_layer3 = TimeDistributed(Lambda(lambda x: K.expand_dims(x, axis=1)))(relu_layer4)
        conv1d_t_layer3 = TimeDistributed(Conv2DTranspose(c*d, (1, 25), strides=(1, 4), padding='same'))(expanded_layer3)
        slice_layer3 = Lambda(lambda x: x[:, :, 0])(conv1d_t_layer3)
        relu_layer5 = TimeDistributed(Activation('relu'))(slice_layer3)

        expanded_layer4 = TimeDistributed(Lambda(lambda x: K.expand_dims(x, axis=1)))(relu_layer5)
        conv1d_t_layer4 = TimeDistributed(Conv2DTranspose(1, (1, 25), strides=(1, 4), padding='same'))(expanded_layer4)#strides=(1,1)
        slice_layer4 = Lambda(lambda x: x[:, :, 0])(conv1d_t_layer4)
        tanh_layer0 = TimeDistributed(Activation('tanh'))(slice_layer4)

        reshape_layer1 = Reshape((a*256*d, 1))(tanh_layer0)

        model = Model(inputs=input_layer, outputs=reshape_layer1)

        print(model.summary())

        return model

    def build_critic(self):
        d=self.d
        c=self.c
        a=self.a

        input_layer = Input(shape=(a*256*d, 1))#d*d
        reshape_layer0 = Reshape((a, 256*d, 1))(input_layer)

        conv1d_layer0 = TimeDistributed(Conv1D(d, 25, strides=4, padding='same'))(reshape_layer0)#//2
        LReLU_layer0 = TimeDistributed(LeakyReLU(alpha=0.2))(conv1d_layer0)
        phaseshuffle_layer0 = TimeDistributed(Lambda(lambda x: self.apply_phaseshuffle(x)))(LReLU_layer0)

        conv1d_layer1 = TimeDistributed(Conv1D(2*d, 25, strides=4, padding='same'))(phaseshuffle_layer0)#d
        LReLU_layer1 = TimeDistributed(LeakyReLU(alpha=0.2))(conv1d_layer1)
        phaseshuffle_layer1 = TimeDistributed(Lambda(lambda x: self.apply_phaseshuffle(x)))(LReLU_layer1)

        conv1d_layer2 = TimeDistributed(Conv1D(4*d, 25, strides=4, padding='same'))(phaseshuffle_layer1)#2*d
        LReLU_layer2 = TimeDistributed(LeakyReLU(alpha=0.2))(conv1d_layer2)
        phaseshuffle_layer2 = TimeDistributed(Lambda(lambda x: self.apply_phaseshuffle(x)))(LReLU_layer2)

        conv1d_layer3 = TimeDistributed(Conv1D(8*d, 25, strides=4, padding='same'))(phaseshuffle_layer2)#4*d
        LReLU_layer3 = TimeDistributed(LeakyReLU(alpha=0.2))(conv1d_layer3)
        phaseshuffle_layer3 = TimeDistributed(Lambda(lambda x: self.apply_phaseshuffle(x)))(LReLU_layer3)

        conv1d_layer4 = TimeDistributed(Conv1D(16*d, 25, strides=4, padding='same'))(phaseshuffle_layer3)#8*d,strides=4
        LReLU_layer4 = TimeDistributed(LeakyReLU(alpha=0.2))(conv1d_layer4)
        phaseshuffle_layer4 = TimeDistributed(Lambda(lambda x: self.apply_phaseshuffle(x)))(LReLU_layer4)

        reshape_layer1 = Reshape((a, 256*d))(phaseshuffle_layer4)
        slice_layer0 = Lambda(lambda x: x[:, 0])(reshape_layer1)#

        dense_layer1 = Dense(1, input_shape=(a, 256*d))(slice_layer0)#dropout_layer1

        model = Model(inputs=input_layer, outputs=dense_layer1)

        print(model.summary())

        return model

    def train(self, epochs, batch_size, sample_interval=50):

        X_train = []

        for file in os.listdir(r"C:\Users\Harry\source\repos\tfworldhackathon\Data"):
            with open(r"C:\Users\Harry\source\repos\tfworldhackathon\Data" + fr"\{file}", "rb") as f:
                samples, _ = librosa.load(f, sr=self.Fs)
                X_train.append(np.array([np.array([sample]) for sample in samples[:self.a*256*self.d]]))
                if "17" in file:
                    break

        X_train = np.array(X_train)

        print(X_train.shape)

        # Adversarial ground truths
        valid = -np.ones((batch_size, 1))
        fake =  np.ones((batch_size, 1))
        dummy = np.zeros((batch_size, 1)) # Dummy gt for gradient penalty
        for epoch in range(epochs):

            for _ in range(self.n_critic):

                # ---------------------
                #  Train Discriminator
                # ---------------------

                # Select a random batch of images
                idx = np.random.randint(0, X_train.shape[0], batch_size)
                audios = X_train[idx]
                # Sample generator input
                noise = np.random.normal(0, 1, (batch_size, self.a, self.latent_dim))
                # Train the critic
                d_loss = self.critic_model.train_on_batch([audios, noise],
                                                                [valid, fake, dummy])

            # ---------------------
            #  Train Generator
            # ---------------------

            g_loss = self.generator_model.train_on_batch(noise, valid)

            # Plot the progress
            print ("%d [D loss: %f] [G loss: %f]" % (epoch, d_loss[0], g_loss))

            # If at save interval => save generated image samples
            if epoch % sample_interval == 0:
                self.sample_audio(epoch)

    def sample_audio(self, epoch):
        print(f"Checkpoint {epoch}")
        noise = np.random.normal(0, 1, (5, self.a, self.latent_dim))
        gen_audios = self.generator.predict(noise)
        for i in range(len(gen_audios)):
            audio = gen_audios[i]
            audio.flatten()
            librosa.output.write_wav(f"output/{epoch}-{i}.wav", audio, sr=self.Fs)

if __name__ == '__main__':
    wgan = WGANGP()
    wgan.train(epochs=30000, batch_size=8, sample_interval=100)

Other info / logs
I have not seen any solutions to this issue for Tensorflow 2.
This error does not throw if I do not train the generator. This leads me to believe there is an issue when oscillating between models getting trained, not the actual training of a given model.
To restate, the error occurs on the line d_loss = self.critic_model.train_on_batch([audios, noise], [valid, fake, dummy])  on the second epoch. So it seems like the following happens:

First epoch

Train discriminator successfully
Train generator successfully

Second epoch

Train discriminator fails

Ok I fixed the issue after many hours. Replacing
from keras.optimizers import Adam
with
from tensorflow.keras.optimizers import Adam
did the trick. I don't know why this worked, but I would suggest that this ambiguity be cleared for others.

@HStuart18, from keras.optimizers import Adam uses tensorflow as backend. Instead you can use Tensorflow.keras apis.
Use these packages
from tensorflow.keras.models import Model
from tensorflow.keras.layers import Lambda, Dense, LSTM, Activation, Input, Bidirectional, Dropout, Reshape, Conv2DTranspose, TimeDistributed, Conv1D
#from tensorflow.keras.layers.advanced_activations import LeakyReLU
from tensorflow.keras.layers import LeakyReLU
from tensorflow.keras.optimizers import Adam
import tensorflow.keras.backend as K

Thanks!

@HStuart18, Tenosrflow 2.0 doesn't support multi-backend keras. Instead use Tensorflow.keras.

@HStuart18, from keras.optimizers import Adam uses tensorflow as backend. Instead you can use Tensorflow.keras apis.
Use these packages
from tensorflow.keras.models import Model
from tensorflow.keras.layers import Lambda, Dense, LSTM, Activation, Input, Bidirectional, Dropout, Reshape, Conv2DTranspose, TimeDistributed, Conv1D
from tensorflow.keras.layers import LeakyReLU
from tensorflow.keras.optimizers import Adam
import tensorflow.keras.backend as K

Thanks!

Would you mind please clarifying the difference between Keras and Tensorflow.Keras? What do you mean by “multi-backend Keras”? I was under the impression that Keras would exclusively use Tensorflow as  a backend.

@HStuart18, Keras supports backends such as Tensorflow, Theano, CNTK.
For more read here. And also take a look at this link. Thanks!


Click down - Click release

Need a morse command to start left click down - then release. Note user could do a range of other operations (typically mouse move) in between although any click events would cancel out click lock toggle.

NB: I dont think this is solved by #8...
So [HOLD]Mouse L,Move mouse left[RELEASE] wouldn't work - because that means hold down the mouse left button and move the mouse - then release??
Maybe it would? But is it confusing?


Confluent new preview version + S360 fix

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Please ensure to add changelog with this PR by answering the following questions.

What's the purpose of the update?

[ ] new service onboarding
[x] new API version
[ ] update existing version for new feature
[x] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When you are targeting to deploy new service/feature to public regions? Please provide date, or month to public if date is not available yet.
When you expect to publish swagger? Please provide date, or month to public if date is not available yet.
If it's an update to existing version,  please select SDKs of specific language and CLIs that require refresh after swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[x] No, no need to refresh for updates in this PR

Contribution checklist:

[x] I commit to follow the Breaking Change Policy of "no breaking changes"
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[x] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
[ ] Ensure to copy the existing version into new directory structure for first commit (including refactoring) and then push new changes including version updates in separate commits. This is required to review the changes efficiently.
Adding a new service

[x] Please ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from Breaking Change Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable or public preview version with Breaking Change Validation errors
[ ] Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

Created a new intake for the Breaking change: https://msazure.visualstudio.com/One/_workitems/edit/9689489
This was caused due to an S360 violation fix

PR into RPSaaSMaster already approved for the new API version changes (https://github.com/Azure/azure-rest-api-specs-pr/pull/3318)

/azp run

Hi @ArcturusZhang Can you please help us in merging this PR. CC @krishnasriSomepalli


chore: Use inclusive language

Proposed Changes
Give a brief description of the changes in this PR. If this relates to a bug or a feature request, please link it below.

Checklist

[ ] I have added or adjusted tests that prove my fix is effective or that my feature works
[ ] I have added or adjusted documentation

Further Comments
If the changes are complex, please discuss what alternatives you have evaluated and why you picked this particular solution. Please make sure to highlight any trade-offs that we should know about.

Works


Add a README to the examples directory explaining them

It'd be really useful when going to the examples directory to see a README.md explaining what each is. Some examples of other repos that do this nicely:

tokio
gotham

I am on it !

By the way the send_file example seems not to function.


Remove run test subcommand and --cleanup flag, print test status

What this PR does / why we need it:
Related to #6020. This PR removes the helm test run subcommand and --cleanup flag. The output of helm test --help is now:
The test command runs the tests for a release.

The argument this command takes is the name of a deployed release.
The tests to be run are defined in the chart that was installed.

Usage:
  helm test [RELEASE] [flags]

Flags:
  -h, --help               help for test
      --timeout duration   time to wait for any individual Kubernetes operation (like Jobs for hooks) (default 5m0s)

More output has also been added during execution of helm test. The output of helm test <release> now looks like:
Pod nginx-test-bar pending
Pod nginx-test-bar pending
Pod nginx-test-bar succeeded
Pod nginx-test-foo pending
Pod nginx-test-foo pending
Pod nginx-test-foo succeeded
TEST SUITE:     nginx-test-foo
Last Started:   2019-09-05 15:04:12.33368 -0400 EDT m=+5.107841576
Last Completed: 2019-09-05 15:04:14.147617 -0400 EDT m=+6.921723894
Phase:          Succeeded
TEST SUITE:     nginx-test-bar
Last Started:   2019-09-05 15:04:08.31585 -0400 EDT m=+1.090131819
Last Completed: 2019-09-05 15:04:12.314482 -0400 EDT m=+5.088644403
Phase:          Succeeded

For now in order to perform test resource cleanup, users will need to set helm.sh/hook-delete-policy, manually delete resources with kubectl, or set TTL for Job resources. The hook labels proposal in https://github.com/helm/helm/issues/6365 should improve on the ergonomics of using kubectl for cleanup if we don't implement something directly in helm first.
Special notes for your reviewer:
If applicable:

[ ] this PR contains documentation
[ ] this PR contains unit tests
[ ] this PR has been tested for backwards compatibility

If at all possible, can you (the next core maintainer to review this PR) please hold on merging this until I get back next week? I want to take a closer look at the ramifications of removing the --cleanup flag when it comes to the user experience. I want to make sure we have those user stories captured and well-understood before we decide to remove a fairly significant feature of helm test in favour of an alternative approach (hook annotations).

/hold

If I understand it correctly, #3211 is fixed in v3?

If I understand it correctly, #3211 is fixed in v3?

Yes, I wasn't aware of that issue but it should be closed by https://github.com/helm/helm/pull/6054.

All that being said, once I rebased this PR on master, everything seems to work as described. Thank you!

Oh! I see @technosophos LGTM'd this change a while back. Merging!


Showing download progress and overall progress

Showing download progress for each package and overall progress (in 2 status bars) would really help for knowing what happens. Right now the status bar changes flicks between a real progressbar and a progress bar with unknown progress (going continuousely from left to right).

Two status bars seems like too much for my taste....

Not sure about it either but conda-manager is definitely lacking feedback about what is happening on the user's harddrive. I personally prefer having access to the stdout of the process, this is another option.
Some package manager have a separate progressbar for each package, like ninite (and at least another that I can't remember from the top af my head).

Hmmm any solution to this problem will require major work, like displaying progress inline (inside the table view). The fastest would probably be getting the stdout output of conda.
Conda is not very good at giving you overall feedback, it gives feedback based on steps, download, link unlink etc... but there is no Global sequence of steps so that at least we could know on what overall step conda is currently in.


Indian Billing GST Tax Rules[Feature Request]

What is the idea?
In India, GST Billing is used where home state is being charged 2 Taxes SGST and CGST at same Percentage and other than home state Only one tax i.e. IGST is charged, and it is required to show GST No of client on invoice as well.
Current tax rule doesn't allow us to apply 2 tax rule at a time
Why would this be beneficial
In India without GST no one will be able to raise invoice...

Can I contribute to this feature request?

Can I contribute to this feature request?

Of course. But we would recommend you to switch to FOSSBilling instead. We're the latest team that were maintaining BoxBilling for the last 2 years. We've recently had to move to a new organization. For more information, visit our website and join our Discord server.


Assignment/Test Creation/Edit Page

Instructors need a view to create and edit assignments. They should be able to set a due date and assignment name (maybe an assignment type/weight). The user then has the ability to add questions, type the question, add multiple choice options, and select the correct answer(s). Picturing Google Forms-esque.
possible issue on edits would be allowing students who have already completed the assignment to retake it.

If the edit is possible then i would allow students to take the test a second time but choose the better result of both tests for grading. Therefore a student does not suffer from a mistake of a instructor.

Broken into sub-issue #30

Closed by #30


IE10 script1047 error cause white screen

version:5.65.7 browser:IE10

may be missing a semicolon ??

Could you translate that error message for me?

Could you translate that error message for me?

In strict mode, function declaration cannot be nested within the statement or block. These statements only appear in the top or appear in the function body directly.

Thanks. Attached patch should help.


Download of Viki subtitles fails

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I'm running yt-dlp version 2<IP_ADDRESS> (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Description
I'm trying to download Korean subtitles (example below), but getting the error:
ERROR: 'NoneType' object has no attribute 'items'
Verbose log
python3 ~/data/downloads/multimedia/yt-dlp/yt-dlp -vu --write-sub --sub-format srt --sub-lang ko --skip-download https://www.viki.com/videos/1116023v-defendant-episode-1
[debug] Command-line config: ['-vu', '--write-sub', '--sub-format', 'srt', '--sub-lang', 'ko', '--skip-download', 'https://www.viki.com/videos/1116023v-defendant-episode-1']
Type account password and press [Return]:
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2<IP_ADDRESS> [a86e01e] (zip)
[debug] Python version 3.8.10 (CPython 64bit) - Linux-5.13.0-51-generic-x86_64-with-glibc2.29
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 4.2.7, ffprobe 4.2.7
[debug] Optional libraries: certifi-2019.11.28, pycrypto-2.6.1, pyxattr-0.6.1, secretstorage-2.3.1, sqlite3-2.6.0
[debug] Proxy map: {}
[viki] Logging in
WARNING: [viki] Unable to download JSON metadata: HTTP Error 404: Not Found
WARNING: [viki] Login Failed: Unable to get session token
[debug] [viki] Extracting URL: https://www.viki.com/videos/1116023v-defendant-episode-1
[viki] 1116023v: Downloading video JSON
ERROR: 'NoneType' object has no attribute 'items'
Traceback (most recent call last):
  File "/home/kevin/data/downloads/multimedia/yt-dlp/yt-dlp/yt_dlp/YoutubeDL.py", line 1427, in wrapper
    return func(self, *args, **kwargs)
  File "/home/kevin/data/downloads/multimedia/yt-dlp/yt-dlp/yt_dlp/YoutubeDL.py", line 1497, in __extract_info
    ie_result = ie.extract(url)
  File "/home/kevin/data/downloads/multimedia/yt-dlp/yt-dlp/yt_dlp/extractor/common.py", line 647, in extract
    ie_result = self._real_extract(url)
  File "/home/kevin/data/downloads/multimedia/yt-dlp/yt-dlp/yt_dlp/extractor/viki.py", line 230, in _real_extract
    video = self._call_api(f'videos/{video_id}.json', video_id, 'Downloading video JSON', query={})
  File "/home/kevin/data/downloads/multimedia/yt-dlp/yt-dlp/yt_dlp/extractor/viki.py", line 69, in _call_api
    resp = self._download_json(
  File "/home/kevin/data/downloads/multimedia/yt-dlp/yt-dlp/yt_dlp/extractor/common.py", line 1001, in download_content
    res = getattr(self, download_handle.__name__)(url_or_request, video_id, **kwargs)
  File "/home/kevin/data/downloads/multimedia/yt-dlp/yt-dlp/yt_dlp/extractor/common.py", line 965, in download_handle
    res = self._download_webpage_handle(
  File "/home/kevin/data/downloads/multimedia/yt-dlp/yt-dlp/yt_dlp/extractor/common.py", line 833, in _download_webpage_handle
    urlh = self._request_webpage(url_or_request, video_id, note, errnote, fatal, data=data, headers=headers, query=query, expected_status=expected_status)
  File "/home/kevin/data/downloads/multimedia/yt-dlp/yt-dlp/yt_dlp/extractor/common.py", line 772, in _request_webpage
    return self._downloader.urlopen(self._create_request(url_or_request, data, headers, query))
  File "/home/kevin/data/downloads/multimedia/yt-dlp/yt-dlp/yt_dlp/extractor/common.py", line 738, in _create_request
    return sanitized_Request(url_or_request, data, headers)
  File "/home/kevin/data/downloads/multimedia/yt-dlp/yt-dlp/yt_dlp/utils.py", line 766, in sanitized_Request
    return compat_urllib_request.Request(url, *args, **kwargs)
  File "/usr/lib/python3.8/urllib/request.py", line 334, in __init__
    for key, value in headers.items():
AttributeError: 'NoneType' object has no attribute 'items'

Same underlying issue as #4164


chore: update bug template

Provide link to the product management in the issue's markdown instead of description. This allows people to actually follow the link when creating an issue.
Definition of Ready

[x] I am happy with the code
[x] Short description of the feature/issue is added in the pr description
[ ] PR is linked to the corresponding user story
[ ] Acceptance criteria are met
[ ] All open todos and follow ups are defined in a new ticket and justified
[ ] Deviations from the acceptance criteria and design are agreed with the PO and documented.
[ ] No debug or dead code
[ ] My code has no repetitions
[ ] Critical parts are tested automatically
[ ] Where possible E2E tests are implemented
[ ] Documentation/examples are up-to-date
[ ] All non-functional requirements are met
[ ] Functionality of the acceptance criteria is checked manually on the dev system.

@hifabienne could you have a look? It was not added to the pm board. Thanks.


Adding afpa.fr

AFPA is a public professional reconversion university for adult.
University official website URL : https://www.afpa.fr/
URL of a page on the official website where a long-term (>1 year) IT related course is offered by the university : https://www.afpa.fr/formation-qualifiante/concepteur-developpeur-informatique

@lozit Pull request merged. Thank you!


tensorflow-converted model failed in demo.py with 'KeyError'

I first convert from tf-faster-rcnn model. http://xinlei.sp.cs.cmu.edu/xinleic/tf-faster-rcnn/res101/voc_2007_50-70k.tgz  & http://xinlei.sp.cs.cmu.edu/xinleic/tf-faster-rcnn/vgg16/voc_2007_50k-70k.tgz and run tool/demo.py, but failed with: (ubuntu14.04, cuda8.0, cudnn6, python3.6)
res101+pascal_voc
Traceback (most recent call last):
  File "tools/demo.py", line 143, in <module>
    net.load_state_dict(torch.load(saved_model))
  File "/home/ljy/pytorch-examples-master/pytorch-faster-rcnn-master/tools/../lib/nets/network.py", line 481, in load_state_dict
    nn.Module.load_state_dict(self, {k: state_dict[k] for k in list(self.state_dict())})
  File "/home/ljy/pytorch-examples-master/pytorch-faster-rcnn-master/tools/../lib/nets/network.py", line 481, in <dictcomp>
    nn.Module.load_state_dict(self, {k: state_dict[k] for k in list(self.state_dict())})
KeyError: 'resnet.bn1.bias'

vgg16+pascal_voc
Traceback (most recent call last):
  File "tools/demo.py", line 143, in <module>
    net.load_state_dict(torch.load(saved_model))
  File "/home/ljy/pytorch-examples-master/pytorch-faster-rcnn-master/tools/../lib/nets/network.py", line 481, in load_state_dict
    nn.Module.load_state_dict(self, {k: state_dict[k] for k in list(self.state_dict())})
  File "/home/ljy/pytorch-examples-master/pytorch-faster-rcnn-master/tools/../lib/nets/network.py", line 481, in <dictcomp>
    nn.Module.load_state_dict(self, {k: state_dict[k] for k in list(self.state_dict())})
KeyError: 'vgg.features.14.bias'

Something wrong with tensorflow-converted model?

I guess they may recently updated their model?

I will take a look

I do have these keys in my converted file?

Yes, I download models from https://github.com/endernewton/tf-faster-rcnn/#demo-and-test-with-pre-trained-models and convert it using
python tools/convert_from_tensorflow.py --tensorflow_model resnet_model.ckpt

BTW, I fixed the  bugs in tools/convert_from_tensorflow.py according to #20

Fixed in recent commits.

I updated with recent commits and downloaded res101_faster_rcnn_iter_70000.pth from GoogleDrive, but I failed with the same problem. KeyError: 'vgg.features.14.bias'

are you converting from tensorflow model or using pytorch model?

Sorry, I made some mistakes. The final conclusion are as follows:
1, models converted from tensroflow(Downloaded from https://github.com/endernewton/tf-faster-rcnn/#demo-and-test-with-pre-trained-models) still failed
2, models downloaded from provided GoogleDrive(pytorch model, https://drive.google.com/open?id=0B7fNdx_jAqhtNE10TDZDbFRuU0E) succeed
Thank you!

So you fixed it by adding wrapping all the var_dict.keys() with list?

No, I downloaded pytorch model from GoogleDrive and ran demo.py successfully.
It seems that you have fixed convert_from_tensorflow.py. Thus I can convert tensorflow-model to pytorch-model without error. But tensorflow-converted models still lead to the same problem KeyError: 'resnet.bn1.bias'.

My bad, will fix it in one min.

Wrapping all the var_dict.keys() with list in convert_from_tensorflow.py works!

mmap@mmap01:~/godblessme/pytorch-faster-rcnn$ CUDA_VISIBLE_DEVICES=${GPU_ID} ./tools/demo.py
Traceback (most recent call last):
File "./tools/demo.py", line 139, in
net.load_state_dict(torch.load(saved_model, map_location=lambda storage, loc: storage))
File "/home/mmap/godblessme/pytorch-faster-rcnn/tools/../lib/nets/network.py", line 490, in load_state_dict
nn.Module.load_state_dict(self, {k: state_dict[k] for k in list(self.state_dict())})
File "/home/mmap/godblessme/pytorch-faster-rcnn/tools/../lib/nets/network.py", line 490, in
nn.Module.load_state_dict(self, {k: state_dict[k] for k in list(self.state_dict())})
KeyError: 'resnet.bn1.num_batches_tracked'

Could you give me some suggestions? Thank you very much.

mmap@mmap01:~/godblessme/pytorch-faster-rcnn$ python ./tools/demo.py --net vgg16 --dataset pascal_voc
Traceback (most recent call last):
File "./tools/demo.py", line 139, in
net.load_state_dict(torch.load(saved_model, map_location=lambda storage, loc: storage))
File "/home/mmap/godblessme/pytorch-faster-rcnn/tools/../lib/nets/network.py", line 490, in load_state_dict
nn.Module.load_state_dict(self, {k: state_dict[k] for k in list(self.state_dict())})
File "/home/mmap/godblessme/pytorch-faster-rcnn/tools/../lib/nets/network.py", line 490, in
nn.Module.load_state_dict(self, {k: state_dict[k] for k in list(self.state_dict())})
KeyError: 'vgg.features.0.weight'

They both didn't work.


Comment lexing misses trailing / for multi-line comments

Comment lexing works perfectly while the comments are single-line comments like the following:
// This is a comment

but if the comments are in the form of multiline we are missing the trailing / in the comment's span. So for this example:
/*This is a comment*/

.span().as_str() returns  /*This is a comment*
I feel like this shouldn't be hard to tackle so added the "good first issue" label but I did not touch lexer enough to be sure about that so please remove it if that is not the case 🙌 .
Depending on the discussion at https://github.com/FuelLabs/sway/pull/2311#discussion_r926167383 I can either fix it in #2311 or take a look at this after that is merged.
Related to https://github.com/FuelLabs/sway/pull/2311#discussion_r926167383

I'll address this now :+1:


Unrecognised type TimestampNs

I am using DuckDB.NET.Data.Full 0.9.2.
When I call DuckDB.NET.Data.DuckDBDataReader.GetSchemaTable,  I get the following exception if any column is of type TIMESTAMP_NS:
System.ArgumentException: Unrecognised type TimestampNs (22) for column TargetDate
   at DuckDB.NET.Data.Internal.Reader.VectorDataReaderBase.GetColumnType()
   at DuckDB.NET.Data.Internal.Reader.VectorDataReaderBase.get_ClrType()
   at DuckDB.NET.Data.DuckDBDataReader.GetFieldType(Int32 ordinal)
   at DuckDB.NET.Data.DuckDBDataReader.GetSchemaTable()

If I change the type to its alias with ALTER TABLE mytable ALTER TargetDate TYPE TIMESTAMP, then GetSchemaTable works fine.
I believe the issue is simply that the code currently supports only the type alias TIMESTAMP and not the official type TIMESTAMP_NS.

It's implemented in the Reader Type Overhaul and will be released after DuckDB 0.10 is released.

Glad to hear this will be fixed in the next release!
I tried out Reader Type Overhaul.
In TimestampTests.QueryScalarTest, if I replace TIMESTAMP by TIMESTAMP_NS in the Command.CommandText, the test fails because we get a DuckDBTimestamp instead of a DateTime. I was wondering if this is the expected behavior? The Date and Time values are all good though.
Thanks.

I made some changes to the returned types in that branch. I will check the behaviour you described.

@bouvierr Can you clarify which test you mean?

this test: https://github.com/Giorgi/DuckDB.NET/blob/86017db53ff55fbe4c794124e4dd3bfbe74f69cb/DuckDB.NET.Test/Parameters/TimestampTests.cs#L21

This is now merged into develop and will be included in the next release.


[New game]: Noughts And Crosses

🎮 Game Request
Noughts and crosses is a game between two players, O and X, who alternate in marking the spaces in a 3×3 board. A player wins by getting three of their own marks in a horizontal, vertical or diagonal row.
Point down the features
I have multi player game in which players can choose their moves alternatively and player who wins is displayed on the screen.
I have also added a reset score button to reset the game.
Select program in which you are contributing
GSSoC24
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @meetarora10 !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

/assign

Hey @meetarora10 ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


Add admin docs.

Great start. I think this could still be made clearer for our users.
Could you please also add a link to these docs in the top-level read-me's deployment guidelines?

Thanks for the detailed review! Yes, I'll also add the link to the top-level.

Closing in favor of a different PR linked to another repo.


Compatibility with version 3.11.0 of pymongo

The pymongo 3.11.0 introduced the hint parameter to the
add_update(), add_replace(), add_delete() methods
Fixes #648

Thanks! Your fix is obviously superior.
I wanted to just make tests pass. I noticed the problem when working on $switch and initially added a quickfix to check where is the problem.


Document the need for '{stylesheet}' in code_format for HTML export

Type of changes

[ ] Bug fix
[ ] New feature
[x] Documentation / docstrings
[ ] Tests
[ ] Other

Checklist

[x] I've run the latest black with default args on new code.
[ ] I've updated CHANGELOG.md and CONTRIBUTORS.md where appropriate.
[ ] I've added tests for new code.
[x] I accept that @willmcgugan may be pedantic in the code review.

Description
Document the need for '{stylesheet}' in the code_format arguments for console.Console.export_html and console.Console.save_html if inline_styles is set to False (the default). I'm not really happy with the wording here to be honest.

Codecov Report

Merging #1915 (7df2aac) into master (e839bfb) will decrease coverage by 0.02%.
The diff coverage is 98.98%.

@@            Coverage Diff             @@
##           master    #1915      +/-   ##
==========================================
- Coverage   99.82%   99.79%   -0.03%
==========================================
  Files          71       71
  Lines        6943     6972      +29
==========================================
+ Hits         6931     6958      +27
- Misses         12       14       +2

Flag
Coverage Δ

unittests
99.79% <98.98%> (-0.03%)
:arrow_down:

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

Impacted Files
Coverage Δ

rich/default_styles.py
100.00% <ø> (ø)

rich/markdown.py
100.00% <ø> (ø)

rich/syntax.py
99.27% <97.72%> (-0.34%)
:arrow_down:

rich/pretty.py
99.71% <98.88%> (-0.29%)
:arrow_down:

rich/__main__.py
100.00% <100.00%> (ø)

rich/_inspect.py
100.00% <100.00%> (ø)

rich/color.py
100.00% <100.00%> (ø)

rich/console.py
100.00% <100.00%> (ø)

rich/segment.py
99.33% <100.00%> (+0.04%)
:arrow_up:

rich/table.py
100.00% <100.00%> (ø)

... and 10 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 94273ee...7df2aac. Read the comment docs.


sidr panel does not scroll on android 2.3

Hi!
sidr 1.11 works like a charm on nearly every device I have tested. Only android 2.3 browser gives me headaches. The sidr-content opens perfectly but as we have a longer vertical navigation the user has to scroll down. But only the barely visible body scrolls instead of the open sidr-content.
I tried several things:

played with overflow settings in sidr-main and sidr-inner
played with height-settings for above mentioned divs.
added overthrow.js from filament group

No resolution yet. Does anyone has another suggestion?
Sorry, can't give you a link because it's an intranet page.
One mention regarding sidr version: We don't use sidr 1.21 because it was buggy for newer android browsers and iOS 5. There are some open issues here regarding this problem. Taking the older version as stated in these issues solved it.

Sorry we will have a new version of sidr soon, but I'm not sure if will solve this issue. We will not support android 2.3 anymore.


HTTP not redirecting to HTTPS

Looks like you're using CloudFare. If you want users to always use SSL, you can create a "Page rule" for http://*pokeapi.co* with the "Always use HTTPS" option turned on. Looks like most or all URLs on the site's documentation use HTTP so I'm not totally sure if this is something you want. :)

@amitburst thanks, wasn't sure how to do this :) I'll take a look now


How to deal with components without styles but with attrs

When we use block-no-empty rule and write code like:
export const FilterDivider = styled(Divider).attrs({
  color: COLOR_DIVIDER,
})``

It raises a warning. It's expected behavior and I see two options to resolve my issue:

Turn off block-no-empty rule
Add inline comments to each case

Do you think we can not raise warning in cases when we pass just attributes without defining styles?

The same thing for this case:
export const StyledSection = styled(FlexColumn)``;


Fix remove reexport symbol common

Information

Type
Breaking change

chore
No

Add @tsed/platform-http to export only symbol from the old @tsed/common.
@tsed/common re-export @tsed/schema, @tsed/di, @tsed/platform-params, @tsed/platform-exceptions, @tsed/platform-response-filter, and $log / Logger from @tsed/logger.
This new @tsed/platform-http don't re-export these things. The CLI will use directly @tsed/platform-http package to generate the appropriate project.
This way it will be easier to compose your project according to your needs and to have a lighter bundle (without the log-request for example).
Todos

[x] Tests
[x] Coverage
[x] Example
[x] Documentation

:tada: This PR is included in version 8.0.0-beta.4 :tada:
The release is available on:

v8.0.0-beta.4
GitHub release

Your semantic-release bot :package::rocket:

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

v8.0.0
GitHub release

Your semantic-release bot :package::rocket:


SELECT monitor.fsinfo('/pgdata'); fails to complete due to: DETAIL:  Expected numeric, got bigint

Describe the issue:
postgres=# SELECT monitor.fsinfo('/pgdata');
ERROR:  query-specified return tuple and function return type are not compatible
DETAIL:  Expected numeric, got bigint

Describe the expected behavior:
This to complete without error.
Tell us about your environment:

pgMonitor version:  N/A
Container or non-container:  container
Container name / image:  registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-5.0.4-0
Operating System for non-container:  N/A
PostgreSQL Version:  13.5
Exporter(s) in use (incl. version):  registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-5.0.4-0
Prometheus version:  N/A
AlertManager version:  N/A
Grafana version:  N/A
pgnodemx version: pgnodemx13-1.2.0-0Crunchy.el8.centos.x86_64

I don't have a CentOS8 system available to test at this time, but I set up PG13.5 with version 1.2 on RHEL8 and so far have not been able to reproduce this error. Note this isn't in a container environment, so I may have to contact that team to see if they can look further there.
postgres=# \dx
List of installed extensions
-[ RECORD 2 ]-----------------------------------------------------------------------
Name        | pgnodemx
Version     | 1.2
Schema      | monitor
Description | SQL functions that allow capture of node OS metrics from PostgreSQL

postgres=# select * from monitor.fsinfo('/var/lib/pgsql/13/echo/data');
-[ RECORD 1 ]----+------------
major_number     | 253
minor_number     | 0
type             | xfs
block_size       | 4096
blocks           | 4452864
total_bytes      |<PHONE_NUMBER>4
free_blocks      | 3626762
free_bytes       |<PHONE_NUMBER>2
available_blocks | 3626762
available_bytes  |<PHONE_NUMBER>2
total_file_nodes | 8910848
free_file_nodes  | 8849006
mount_flags      | relatime

Just to note, we are also no longer supporting CentOS8 at this time, so 1.2 is the last version of pgnodemx that has been built in our repository. Version 1.3 is the latest and a new version will be released soon to support PG15. This also means that if a bug is found around this issue, a new package will not be created for CentOS8 that might contain any fixes.
It looks like PGO 5.0.5 was the last version that supported CentOS8. Versions 5.1+ are all UBI8 with RHEL supplements. We would suggest trying to go to the latest devportal build of 5.2 with the latest version of pgnodemx and see if the issue still persists.

ERROR:  query-specified return tuple and function return type are not compatible
DETAIL:  Expected numeric, got bigint

This sounds like the extension has not been updated. https://github.com/CrunchyData/postgres-operator/issues/2965 discusses workarounds and was fixed recently.

ERROR:  query-specified return tuple and function return type are not compatible
DETAIL:  Expected numeric, got bigint

This sounds like the extension has not been updated. CrunchyData/postgres-operator#2965 discusses workarounds and was fixed recently.

Thanks this was the problem! Awesome! <3


Broken CSS

This is on latest stable logseq and plugin version 1.4.6

Apologies! Please try in v1.4.7


Fix QueueTriggerAttribute github source url

QueueTriggerAttribute url was pointing to a non-existant url. Fixed it to the correct one.

@lankaapura : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Thanks, @lankaapura!
#sign-off


Date for 2.0.0-rc5 or 2.0.0

Since the latest release, 2.0.0-rc4 is 16 months old and about 1500 commits have been made to master since then, I wanted to ask if there are any plans for a new release?
I would however like to state that I'm generally very happy with 2.0.0-rc4 and want to thank all the contributors to this project.

Tracking this under #5608.


TreeView.reveal after TreeDataProvider.refresh

VSCode Version: 1.44.0 2aae1f26c72891c399f860409176fe435a154b13 x64
OS Version: Linux old-phoenix 5.5.13 #1-NixOS SMP Wed Mar 25 15:10:18 UTC 2020 x86_64 GNU/Linux

Steps to Reproduce:
import * as vscode from "vscode"

class MyTreeDataProvider implements vscode.TreeDataProvider<vscode.TreeItem> {
  private _onDidChangeTreeData = new vscode.EventEmitter<vscode.TreeItem | undefined>()
  readonly onDidChangeTreeData = this._onDidChangeTreeData.event

  public items: vscode.TreeItem[] = []

  refresh(): void {
    this._onDidChangeTreeData.fire()
  }

  getTreeItem(element: vscode.TreeItem): vscode.TreeItem {
    return element
  }

  async getChildren(element?: vscode.TreeItem) {
    if (element === undefined) {
      return this.items
    } else {
      return []
    }
  }

  getParent() {
    return null
  }
}

export function activate() {
  const myTree = new MyTreeDataProvider()
  const myTreeView = vscode.window.createTreeView("myTreeView", {
    treeDataProvider: myTree,
  })
  // ... at some later point ...
  const item = new vscode.TreeItem("Foo")
  myTree.items = [item] // change tree data
  myTree.refresh() // trigger rerender
  // The following throws Error: TreeError [myTreeView] Data tree node not found: [object Object]
  myTreeView.reveal(item)
  setTimeout(() => myTreeView.reveal(item), 1000) // this works though
}

The package.json should be irrelevant as long as it contains a myTreeView view. Let me know if I have to include it even still. The problem is as is shown in the comments, what if you want to reuse a tree view and reveal one of the newly introduced tree items (i.e. data tree nodes)? As far as I know I am left with no hook that is called after myTree is finished rebuilding the tree. I tried:
onDidChangeTreeData(() => myTreeView.reveal(item))

However this did not work either. I might be missing something obvious here, because surely showing a newly introduced item within a tree view as active should be a common use case. Maybe I am going about it the wrong way.

Does this issue occur when all extensions are disabled?: Yes

You can know when your tree view is done refreshing based on what getChildren is called with.
However, additional API do know when we are done calling getChildren might be helpful.

Although additional API for this might indeed be helpful, shouldn't this just work? If I can fix it myself with getChildren, why can't this happen already behind the scenes? This seems inconsistent with #47153 which should then also be fixable with getChildren, but has been deemed a bug.


Bug fix - update group not included

When running the update with -f, --create-groups arg was not included causing the run to fail with missing 1 required positional argument.

Codecov Report
Patch and project coverage have no change.

Comparison is base (9f56c54) 95.59% compared to head (13df052) 95.59%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##             main      #99   +/-   ##
=======================================
  Coverage   95.59%   95.59%
=======================================
  Files          54       54
  Lines        2812     2812
=======================================
  Hits         2688     2688
  Misses        124      124

Flag
Coverage Δ

unittests
95.59% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


20754 - Indicate if this is your information

*Issue:20754 *https://github.com/bcgov/entity/issues/20754
Description of changes:

add new section " Indicate if this is your information"
add name from the account when checkbox selected

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the namex license (Apache 2.0).

/gcbrun

/gcbrun

Looks good, but can you add a cypress test to secure this?
I also noticed that for our test account it triggers the validation on 'full name' because there is a '2' in the name so it blocks filing. I don't think we should validate anything on full name if we are getting the value from the account which may have different validation rules than us for names

Finally was able to make validation not trigger when checkbox selected for this specific usecase :P

If someone checks the 'adding my own information' option when adding a person, should they be allowed to check it again when adding another SI?

I'll leave that we can add this as many times as we wont for now, and we can change this in future, depending on the input from the design.

Temporary Url for review: https://bcregistry-btr-dev--pr-150-w83gmqo3.web.app


error in get_annotation(all_sentences, batch_size)

WARNING: Logging before flag parsing goes to stderr.
W0714 15:30:27.634637<PHONE_NUMBER>19136 deprecation_wrapper.py:119] From /mnt/c/Users/m.elkasaby/Desktop/clinical_concept_extraction/clinical_concept_extraction/elmo_vector.py:17: The name tf.placeholder is deprecated. Please use tf.compat.v1.placeholder instead.
W0714 15:30:27.645177<PHONE_NUMBER>19136 deprecation_wrapper.py:119] From /mnt/c/Users/m.elkasaby/Desktop/clinical_concept_extraction/clinical_concept_extraction/bilm.py:744: The name tf.variable_scope is deprecated. Please use tf.compat.v1.variable_scope instead.
W0714 15:30:27.645867<PHONE_NUMBER>19136 deprecation_wrapper.py:119] From /mnt/c/Users/m.elkasaby/Desktop/clinical_concept_extraction/clinical_concept_extraction/bilm.py:801: The name tf.get_variable is deprecated. Please use tf.compat.v1.get_variable instead.
W0714 15:30:27.666563<PHONE_NUMBER>19136 deprecation_wrapper.py:119] From /mnt/c/Users/m.elkasaby/Desktop/clinical_concept_extraction/clinical_concept_extraction/bilm.py:846: The name tf.nn.max_pool is deprecated. Please use tf.nn.max_pool2d instead.
W0714 15:30:27.668683<PHONE_NUMBER>19136 deprecation.py:506] From /home/mo/miniconda2/envs/py36/lib/python3.6/site-packages/tensorflow/python/util/dispatch.py:180: calling squeeze (from tensorflow.python.ops.array_ops) with squeeze_dims is deprecated and will be removed in a future version.
Instructions for updating:
Use the axis argument instead
W0714 15:30:28.030699<PHONE_NUMBER>19136 deprecation.py:323] From /mnt/c/Users/m.elkasaby/Desktop/clinical_concept_extraction/clinical_concept_extraction/bilm.py:990: LSTMCell.init (from tensorflow.python.ops.rnn_cell_impl) is deprecated and will be removed in a future version.
Instructions for updating:
This class is equivalent as tf.keras.layers.LSTMCell, and will be replaced by that in Tensorflow 2.0.
W0714 15:30:28.042493<PHONE_NUMBER>19136 deprecation_wrapper.py:119] From /mnt/c/Users/m.elkasaby/Desktop/clinical_concept_extraction/clinical_concept_extraction/bilm.py:1034: The name tf.nn.rnn_cell.LSTMStateTuple is deprecated. Please use tf.compat.v1.nn.rnn_cell.LSTMStateTuple instead.
W0714 15:30:28.043191<PHONE_NUMBER>19136 deprecation.py:323] From /mnt/c/Users/m.elkasaby/Desktop/clinical_concept_extraction/clinical_concept_extraction/bilm.py:1035: dynamic_rnn (from tensorflow.python.ops.rnn) is deprecated and will be removed in a future version.
Instructions for updating:
Please use keras.layers.RNN(cell), which is equivalent to this API
W0714 15:30:28.092082<PHONE_NUMBER>19136 deprecation.py:506] From /home/mo/miniconda2/envs/py36/lib/python3.6/site-packages/tensorflow/python/ops/init_ops.py:1251: calling VarianceScaling.init (from tensorflow.python.ops.init_ops) with dtype is deprecated and will be removed in a future version.
Instructions for updating:
Call initializer instance with the dtype argument instead of passing it to the constructor
W0714 15:30:28.844484<PHONE_NUMBER>19136 deprecation.py:506] From /home/mo/miniconda2/envs/py36/lib/python3.6/site-packages/tensorflow/python/ops/rnn_cell_impl.py:961: calling Zeros.init (from tensorflow.python.ops.init_ops) with dtype is deprecated and will be removed in a future version.
Instructions for updating:
Call initializer instance with the dtype argument instead of passing it to the constructor
W0714 15:30:29.352713<PHONE_NUMBER>19136 deprecation.py:323] From /home/mo/miniconda2/envs/py36/lib/python3.6/site-packages/tensorflow/python/ops/rnn.py:244: add_dispatch_support..wrapper (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.where in 2.0, which has the same broadcast rule as np.where
W0714 15:30:29.376541<PHONE_NUMBER>19136 deprecation_wrapper.py:119] From /mnt/c/Users/m.elkasaby/Desktop/clinical_concept_extraction/clinical_concept_extraction/bilm.py:1059: The name tf.assign is deprecated. Please use tf.compat.v1.assign instead.
W0714 15:30:29.383727<PHONE_NUMBER>19136 deprecation_wrapper.py:119] From /mnt/c/Users/m.elkasaby/Desktop/clinical_concept_extraction/clinical_concept_extraction/bilm.py:1004: The name tf.nn.rnn_cell.ResidualWrapper is deprecated. Please use tf.compat.v1.nn.rnn_cell.ResidualWrapper instead.
W0714 15:30:31.958499<PHONE_NUMBER>19136 deprecation_wrapper.py:119] From /mnt/c/Users/m.elkasaby/Desktop/clinical_concept_extraction/clinical_concept_extraction/elmo_vector.py:21: The name tf.ConfigProto is deprecated. Please use tf.compat.v1.ConfigProto instead.

TypeError                                 Traceback (most recent call last)
 in
1 # function clinical_concept_extraction takes the lists of tokens as input and outputs the annotations
----> 2 all_annotations = clinical_concept_extraction(tokenized_sentences)
/mnt/c/Users/m.elkasaby/Desktop/clinical_concept_extraction/clinical_concept_extraction/pipeline.py in get_annotation(all_sentences, batch_size)
40     tf.reset_default_graph()
41     with tf.Graph().as_default():
---> 42         dataset = tf.data.Dataset().from_generator(
43             build_generator(x, l),
44             (tf.float32, tf.int64),
TypeError: Can't instantiate abstract class DatasetV1 with abstract methods _as_variant_tensor, _inputs

I am getting same error, running in Google colab with tensorflow==1.14
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-13-a23dca1599ab> in <module>()
----> 1 all_annotations = clinical_concept_extraction(tokenized_sentences)

/usr/local/lib/python3.6/dist-packages/clinical_concept_extraction/pipeline.py in get_annotation(all_sentences, batch_size)
     40     tf.reset_default_graph()
     41     with tf.Graph().as_default():
---> 42         dataset = tf.data.Dataset().from_generator(
     43             build_generator(x, l),
     44             (tf.float32, tf.int64),

TypeError: Can't instantiate abstract class DatasetV1 with abstract methods _as_variant_tensor, _inputs```

I created a PR #4 to fix this error


How can I uses lazydev without lspconfig?

Docs just say

If you don't use nvim-lspconfig, then you can use require('lazydev').find_workspace(buf?) to check if the buffer is part of an existing workspace or its libraries.

But I don't know what this is actually instructing me to do.
I use this autocommand to start lua-ls
autocmd("FileType", {
    pattern = "lua",
    callback = function()
        local root_dir = vim.fs.dirname(vim.fs.find({ "lazy-lock.json" })[1])
        local client = vim.lsp.start({
            name = "lua-ls",
            cmd = { "lua-language-server" },
            root_dir = root_dir,
        })
        vim.lsp.buf_attach_client(0, client)
    end,
})

I am using Lazy as my plugin manager and have
    {
        "folke/lazydev.nvim",
        ft = "lua",
        config = true,
    },

That's only needed if you want to define custom workspaces.
Based on your code, you probably don't.
Aslo, please post in discussions next time!

Sorry, have moved to discussions. It asked if I wanted the bug or feature template: I didn't want either so selected blank and didn't see that


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/104889

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/106705

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/108739


⚠ Bofrost.com has degraded performance

In 8698493, Bofrost.com (https://www.bofrost.com) experienced degraded performance:

HTTP code: 200
Response time: 594 ms

Resolved: Bofrost.com performance has improved in 84e3e8e after 6 minutes.


DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version

Since Python 3.12, we have the following DeprecationWarning:
warcio/recordbuilder.py:156: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    return datetime_to_iso_date(datetime.datetime.utcnow(), use_micros=use_micros)

Pretty easy to fix in 3.12, but maybe not that easy in reality since you probably wanna maintain 2.7+ and 3.4+ support. I suggest to not use what the DeprecationWarning suggests but datetime.datetime.now(tzinfo = datetime.tzinfo.UTC) which should be OK (to be checked).

Tessa @tw4l is working on getting rid of the httpbin version dependency in PR 153 https://github.com/webrecorder/warcio/pull/153 -- and she's setting up Github Actions so we'll have CI again. Once that's done you'll easily be able to finish this one.

Oh great, thank you! I'm glad I stopped before investing too much time in this ^^

Turns out pinning urllib3 to an older version for now resolves it! PR to switch to GitHub Actions CI is now open :) https://github.com/webrecorder/warcio/pull/164

datetime.datetime.now(tzinfo = datetime.tzinfo.UTC) which should be OK (to be checked).

Nope, it will trigger exceptions while doing math with deltatime for code that was relying on the previous (current) behaviour of return naïve datetime, as in warcio.timeutils.timestamp_to_datetime.
Got bitten by it on a custom Filter I wrote on pywb.
My current proposal is to revise all warcio functions returning a datetime and do something like:
def timestamp_to_datetime(string, tzinfo:datetime.timezone=None) -> datetime.datetime:
	#
	# yada yada yada
	#
	return datetime.datetime(year=year,
							 month=month,
							 day=day,
							 hour=hour,
							 minute=minute,
							 second=second,
							 tzinfo=tzinfo)

This way, all current code will still get the expected behaviour, but users willing to cope with 3.12 can just add datetime.timezone.utc to the call and get an aware datetime instead.
Eventually the naive datetime will be fully deprecated in some future Python version. When this happens, changing the function signature to
def timestamp_to_datetime(string, tzinfo:datetime.timezone=datetime.timezone.utc) -> datetime.datetime:

Will "automagically" convert all callers to aware datetime. Code that already coped with the deprecation will not be affected, and code that will break will break in the client's land where the fix will be obvious, and not with some Exception inside warcio that will prompt the client to seek for support.

My current proposal is to revise all warcio functions returning a datetime and do something like:
def timestamp_to_datetime(string, tzinfo:datetime.timezone=None) -> datetime.datetime:
#                                ^^^^^^^ HERE ! ^^^^^^^^^^^^^^^^^
	#
	# yada yada yada
	#
	return datetime.datetime(year=year,
                                                         month=month,
                                                         day=day,
                                                         hour=hour,
                                                         minute=minute,
                                                         second=second,
                                                         tzinfo=tzinfo) # <---- HERE!!!!

Thanks for the suggestion, @Lisias! We went with something similar in the end - a tz_aware arg on the datetime utility functions that is set false by default but can be set true to generate a timezone-aware datetime with tzinfo=datetime.timezone.utc. Since WARC requires dates be in UTC, this felt less error-prone that allowing users to specify any timezone.


I have two issues. One is that after adding control variables(did_multiplegt_dyn), the results don't appear, even though I've installed the suggested packages. The second is that I encountered the following prompt.

did_multiplegt lnwwe groupid year wec1  if _weight!=.,robust_dynamic dynamic(5) placebo(3)   controls( $firmlist  $industriallist  $citylist $policy) breps(10) cluster( double_cluster )  // wec1 is a dummy
I do not know why and how to solve it?
The command was not able to estimate the treatment effect 5
periods after groups' treatment changes for the first time.
If your treatment is continuous or takes a large number of values, you may need to use
the threshold_stable_treatment option to ensure you have groups whose treatment does not change
over time. You may also need to use the recat_treatment option to discretize your treatment variable.
You may also be trying to estimate more dynamic effects than it is possible to do in your data.
The command was not able to run till the end, presumably because it could not
estimate all placebos and dynamic effects requested. Estimates are stored in e(),
so you can type ereturn list to see which placebos and dynamic effects the command
could estimate. To solve this problem, you will probably have to diminish the number
of placebos or dynamic effects requested. See the help file for more information on the
maximum number of dynamic effects and placebos the command can compute.
Thank you so much

@DiegoCiccia a question for did_multiplegt

Dear all,
I am Diego from Clément de Chaisemartin's RA Team.
Thanks for your interest in did_multiplegt!
From the second error line, it seems that the command was not able to compute all the effects and/or placebos requested.
From the first error line, it seems that the command failed to estimate the fifth dynamic effect.
In did_multiplegt, when there is no group with an n-th period after the first switch, the command halts and gives the error above. We changed this feature in did_multiplegt_dyn, whereby the program estimates all the effects that can be estimated, while leaving a message about the effects that could not be estimated.
Here's an example:
clear
set obs 36
gen group = mod(_n-1, 6) + 1
bys group: gen time = _n
sort group time
gen D = time >= group + 1 & group > 2
gen Y = uniform() * (D + 1)

In this DGP, group 3 has the highest amount of post-switch periods (3). If we try to estimate more effects than that, did_multiplegt gives the same error as the one reported in the original post:
did_multiplegt Y group time D, robust_dynamic dynamic(4) breps(10)

Notice that the effects that could have been computed (Effect_0 to Effect_2 in did_multiplegt notation) are still retrievable from ereturn, even though the table is not displayed.
Instead, in did_multiplegt_dyn the estimation routine does not halt, even though a message is displayed in the console:
did_multiplegt_dyn Y group time D, effects(4)

To this end, it should be enough to install did_multiplegt_dyn and run your model with it.
If there are any further issues, please refer to the did_multiplegt_dyn GitHub page and/or contact us via email.
Best,
Diego


History storage location

Hey there :wave:
Having the environment variable $CHTSH_CONF I can change the location of my configuration. But apparently the location of the history file is fix coded to my $HOME directory. I would love to keep my users home folder clean. I could imagine to either add another variable like $CHTSH_HIST or (what I would favor) add a configuration option to specify the location.

I'm just going through the list open issues by me.
I don't use cheat.sh anymore, so as nobody else seem to have further interest I just close it for the moment. Maybe it is even possible now and was forgotten. :shrug:

I am using it with curl, so I am not sure why the history file or how it is used, but I guess with #133 it may go into the same dir.


Inline destructuring of a tuple in a match statement

Description:
       match result {
                (PrepareResult,Participant) (prepRes,participant) => {
                        io:println(participant.participantId);
                }

@afkham we support binding patterns in the new match statement and will be available in Ballerina 0.990. Following is a sample snippet of the supported tuple binding pattern:
match result {
    var (prepRes, participant) => io:println(participant.participantId); // Will be matched if `result` holds a tuple value with two members
}


How to have correlation ids for messages from Cloud SDK in kibana?

We are using Cloud SDK v3 via CAP nodejs v7 for making external calls. We have enabled logging with Kibana formatter by enabling the setting in CAP. We have bound application log service to the app when it is deployed to SAP BTP Cloud Foundry. The messages from CAP are logged in Kibana together with request logs from Cloud Foundry with correlation ID. Even the messages send from the CAP application have correlation ID headers and we are able to see messages for a request across the different apps and systems.
But messages from Cloud SDK are without correlation ID. They float around in Kibana and are not easily found. Cloud SDK logs warning messages like "WarningJWT: The provided JWT payload does not include a 'user_id' property."  These messages are logged with no context and we are not able to understand the relevance of these messages without correlation with other messages.
How can we get Cloud SDK messages to be logged with correlation ID? They are already logged in Kibana format. But, without correlation with their context, these messages are pretty useless.  We are not able to take heed of the warnings or locate reasons of errors.
Regards,
Dinu

Hey @dinurp, this is a relevant feature request and we have discussed a similar issue in the past.
Back then we still supported node 12 and which would have made it quite difficult to pass a context (e.g. the correlation ID) around. Now with node 18, this should be possible, however the context would have to be passed to the execute() functions somehow. This is definitely possible, we just have to discuss priorities.

Passing additional parameters to execute() will need to be adopted by CAP to be useful to us. We will not be able to use it till then,  just like we are not able to use resilience functionality now.
The correlation id is already in the request header when CAP makes the request, can't that be used?  Can we configure somehow setting the logging format?
Is there a way I could configure SDK to use the same logger as used by CAP or something like cf-nodejs-logging-support that integrates with express to capture the request context?

As of today this is not possible - we would need to implement some changes to make it possible.


sdhc: spi: power card before 74 clock signals

Power on the SD card before sending the required 74 clock signals, instead of after.
The SD physical layer specification requires that the operating supply
be stable for at least 1 millisecond before providing the required 74
clocks. The maximum VDD ramp time is specified at 35ms, giving a total
minimum delay of 36ms.

I find it really odd that this didn't break anything before, since the card power is toggled during init (so the card would be off when the 74 clocks were sent, right?)

I was quite surprised when I saw this as well. Maybe the CS high requirement isn't true on all SD cards and the CMD0 retry process was setting it up enough? Not sure.
This PR will need another reviewer added.


Add missing initialization in ingest_files

the ingest_files method is missing an initialization for the processed_static_files and processed_realtime_files lists. If we don't enter certain gates, they'll remain uninitialized and we throw an error when summing them at the end of the function.

LGTM


Configuring nova with ceph backend

Added code to create seperate pool for virtual machines.
Skipped inclusion of unavailable apt URLs for ceph
Added ceph variables in nova.conf template

Can one of the admins verify this patch?

"ok to test" to accept this pull request for testing
"test this please" for a one time test run
"add to whitelist" to add the author to the whitelist

@j2sol: Is this feature/PR going to be specific to ppc64 architecture ?

@knandya this PR is for a use case that Blue Box isn't using right now. I'm not opposed to bringing it in, it's just not a thing we'll be doing in our production.

I worked with Power team briefly on this feature. Wanted to know if this is being considered for our production in future.

Can one of the admins verify this patch?

"ok to test" to accept this pull request for testing
"test this please" for a one time test run
"add to whitelist" to add the author to the whitelist

Can one of the admins verify this patch?

"ok to test" to accept this pull request for testing
"test this please" for a one time test run
"add to whitelist" to add the author to the whitelist

ok to test

retest

closing old PRs


ImportError when importing datasets.load_dataset

Describe the bug
I encountered an ImportError while trying to import load_dataset from the datasets module in Hugging Face. The error message indicates a problem with importing 'CommitInfo' from 'huggingface_hub'.
Steps to reproduce the bug

pip install git+https://github.com/huggingface/datasets
from datasets import load_dataset

Expected behavior
ImportError                               Traceback (most recent call last)
Cell In[7], line 1
----> 1 from datasets import load_dataset
3 train_set = load_dataset("mispeech/speechocean762", split="train")
4 test_set = load_dataset("mispeech/speechocean762", split="test")
File d:\Anaconda3\envs\CS224S\Lib\site-packages\datasets_init_.py:[1](file:///D:/Anaconda3/envs/CS224S/Lib/site-packages/datasets/init.py:1)7
1 # Copyright 2020 The HuggingFace Datasets Authors and the TensorFlow Datasets Authors.
[2](file:///D:/Anaconda3/envs/CS224S/Lib/site-packages/datasets/init.py:2) #
[3](file:///D:/Anaconda3/envs/CS224S/Lib/site-packages/datasets/init.py:3) # Licensed under the Apache License, Version 2.0 (the "License");
(...)
[12](file:///D:/Anaconda3/envs/CS224S/Lib/site-packages/datasets/init.py:12) # See the License for the specific language governing permissions and
[13](file:///D:/Anaconda3/envs/CS224S/Lib/site-packages/datasets/init.py:13) # limitations under the License.
[15](file:///D:/Anaconda3/envs/CS224S/Lib/site-packages/datasets/init.py:15) version = "2.20.1.dev0"
---> [17](file:///D:/Anaconda3/envs/CS224S/Lib/site-packages/datasets/init.py:17) from .arrow_dataset import Dataset
[18](file:///D:/Anaconda3/envs/CS224S/Lib/site-packages/datasets/init.py:18) from .arrow_reader import ReadInstruction
[19](file:///D:/Anaconda3/envs/CS224S/Lib/site-packages/datasets/init.py:19) from .builder import ArrowBasedBuilder, BeamBasedBuilder, BuilderConfig, DatasetBuilder, GeneratorBasedBuilder
File d:\Anaconda3\envs\CS224S\Lib\site-packages\datasets\arrow_dataset.py:63
[61](file:///D:/Anaconda3/envs/CS224S/Lib/site-packages/datasets/arrow_dataset.py:61) import pyarrow.compute as pc
[62](file:///D:/Anaconda3/envs/CS224S/Lib/site-packages/datasets/arrow_dataset.py:62) from fsspec.core import url_to_fs
---> [63](file:///D:/Anaconda3/envs/CS224S/Lib/site-packages/datasets/arrow_dataset.py:63) from huggingface_hub import (
[64](file:///D:/Anaconda3/envs/CS224S/Lib/site-packages/datasets/arrow_dataset.py:64)     CommitInfo,
[65](file:///D:/Anaconda3/envs/CS224S/Lib/site-packages/datasets/arrow_dataset.py:65)     CommitOperationAdd,
...
[70](file:///D:/Anaconda3/envs/CS224S/Lib/site-packages/datasets/arrow_dataset.py:70) )
[71](file:///D:/Anaconda3/envs/CS224S/Lib/site-packages/datasets/arrow_dataset.py:71) from huggingface_hub.hf_api import RepoFile
[72](file:///D:/Anaconda3/envs/CS224S/Lib/site-packages/datasets/arrow_dataset.py:72) from multiprocess import Pool
ImportError: cannot import name 'CommitInfo' from 'huggingface_hub' (d:\Anaconda3\envs\CS224S\Lib\site-packages\huggingface_hub_init_.py)
Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings...
Environment info
Leo@DESKTOP-9NHUAMI MSYS /d/Anaconda3/envs/CS224S/Lib/site-packages/huggingface_hub
$ datasets-cli env
Traceback (most recent call last):
File "", line 198, in run_module_as_main
File "", line 88, in run_code
File "D:\Anaconda3\envs\CS224S\Scripts\datasets-cli.exe_main.py", line 4, in
File "D:\Anaconda3\envs\CS224S\Lib\site-packages\datasets_init.py", line 17, in
from .arrow_dataset import Dataset
File "D:\Anaconda3\envs\CS224S\Lib\site-packages\datasets\arrow_dataset.py", line 63, in
from huggingface_hub import (
ImportError: cannot import name 'CommitInfo' from 'huggingface_hub' (D:\Anaconda3\envs\CS224S\Lib\site-packages\huggingface_hub_init_.py)
(CS224S)

The version of my huggingface-hub is 0.23.4.

The error message says there is no CommitInfo in your installed huggingface-hub library:
ImportError: cannot import name 'CommitInfo' from 'huggingface_hub' (D:\Anaconda3\envs\CS224S\Lib\site-packages\huggingface_hub_init_.py)

And this was implemented in version 0.10.0:

https://github.com/huggingface/huggingface_hub/pull/1066

I am getting the exact same issue when I import datasets. The version of my huggingface-hub is also 0.23.4. I dont see a solution in the comments. Not sure why is this issue closed?

I closed the issue because the problem is not related to the datasets library.
The problem is with your local Python environment: it seems corrupted. You could try to remove it and regenerate it again.

I have recreated my conda environment but still run into the same issue. Here is my environment:
conda create --name esm python=3.10
 conda activate esm
 conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
 pip3 install -r requirements.txt

Requirements.txt
accelerate
datasets==2.20.0
pyfastx
transformers
boto3
huggingface_hub==0.23.4

And then I get:
>>> import datasets
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/fsx/ubuntu/miniconda3/envs/esm2/lib/python3.10/site-packages/datasets/__init__.py", line 17, in <module>
    from .arrow_dataset import Dataset
  File "/fsx/ubuntu/miniconda3/envs/esm2/lib/python3.10/site-packages/datasets/arrow_dataset.py", line 63, in <module>
    from huggingface_hub import (
ImportError: cannot import name 'CommitInfo' from 'huggingface_hub' (/fsx/ubuntu/miniconda3/envs/esm2/lib/python3.10/site-packages/huggingface_hub/__init__.py)
>>>

You can check:
>>> import huggingface_hub
>>> print(huggingface_hub.__version__)

This is what I see:
>>> import huggingface_hub
>>> print(huggingface_hub.__version__)
0.23.4

Installing chardet makes it work for some reason

I have the same issue and installing chardet doesn't fix it.


479 openmp chunked static parallel for does not do the intended thing

In the reference_omp backend, as part of the previous merge into develop (#35), Alberto detected that increasing the chunk size of statically-scheduled parallel-for loops could increase the performance noticeably.
The intent of the previous chunk size was to prevent false sharing effects by considering a unit of loop iterands considered by OpenMP to be at least of some size k, where k is the cache line size. The idea was that then no threads will cause more than O(1) false sharing effects, even if the loop touches single-byte elements-- or indeed zero such effects in the case all memory regions are aligned.
However, despite its name, the OpenMP chunked static schedule introduces a run-time component by assigning the chunks to threads in a round-robin fashion-- aside from run-time overhead, this may also cause more page misses than otherwise would occur.
This MR removes all parallel-fors with static chunked schedules and replaces it with code that only achieves the above intended effect-- a loop is chunked into units of k iterands, and then a static schedule is applied on a loop of size ceil(n/k), where n is the actual loop size. This is done via the pre-existing (in ALP) config::OMP::localRange that was designed to achieve exactly the intended behaviour from within OpenMP parallel sections such as in vxm_generic.
This MR also replaces several uses of #pragma omp for from within such sections by this pattern. It also adds some more sanity checking to calls to grb::zip (to matrix outputs), and, as always, includes some code style fixes across the files this MR touches.

Full test suite OK, internal CI OK, GitHub CI OK.

Final review OK, will merge


Fix docs related to statsd usage

I am using mtg and I noticed that statsd port variable and command line flag are not recognized. Then I found out that I can put host and port into statsd addr variable.
This PR is about readme update:

remove MTG_STATSD_PORT, because it is not used in the code
update MTG_STATSD_ADDR description to reflect all possible use cases (you can specify not only IP addresses, but also host names together with port)
fix small typo in by defaults, which should be by default

Thanks a lot!

Thanks a lot!


setRemoveOrphanHeaders(false) still available in any way?

If no item matches the query I want to only show the headers. But if a header has no sub-items it vanishes automatically.
Any way to keep the headers even if they have no sub-items?
(Like the setRemoveOrphanHeaders(false) that was deprecated according to https://github.com/davideas/FlexibleAdapter/issues/200)

@maltebucksch, the feature will be removed before final release. If you remove all the sub-items, nothing happens to the expandable.
Headers that are not expandable will disappear at the next refresh, because they rely on the items below, while if they are expandable they are kept because the sub-items rely on the expandable.

Thanks for your reply. My headers are 'expandable' since they are a subclass of "AbstractExpandableItem" and I even setExpandable(true) on them in addition. They are still vanishing once my search query filters out all of their sub items, am I missing something here?

Ah ok. Filter actually removes any item that do not match with the search text. So it's normal. If no subitems are filtered in then also the expandable of them is filtered out.
Your next question will be, can you keep the expandable in the filter with empty sub list? Is this what you want?

Yep, exactly. If no sub-item matches the filter, I still want to show the header/expandable.

Let me check what I can do. In case it will be a property configuration to activate.

Thank you

@maltebucksch, if you want the expandable always be filtered in, even when subItems are filtered out, implement the method filter() and return true for the Expandable item.

Works! thanks for the tip Davidea


Donation account creation is stuck

As per Ali - on my donation account which was stuck on processing, when I clicked on enable 2FA it changed back to proceed button. And I was able to create a donation account.

I've checked this quite a few times and did review the code as well but wasn't able to replicate it. However, I've resolved the disable UI issue on the add new account screen.

@cakesoft-swati Can you please try and replicate this issue? Thx

Tested on app version 1.2.1(133) ,not able to replicate this issue.


Publish to CurseForge

Look. I tried to create a project on CurseForge and upload the mod files to it. Turns out the workflow for modders leaves much to be desired -- creating a project takes you back to the old website, you can't preview your mod's description, the Markdown support is more limited so I'd have to maintain different READMEs and changelogs, uploading files is a whole process, and CurseGradle doesn't provide enough customizability. It's just not worth my time and effort.
Modrinth 1, CurseForge 0.


Enhance pasting of HTML snippets

Maybe use scratch file mechanism? Or at least remember last pasted snippet.

Snippet is part of run configuration as of v0.3.


Use COPY —-from when importing common images

This squashes the images allowing us faster resolution time in the snapshotter.

WIP: I want to figure out the impact this may have.

Going with a different approach


feat: give an indication when profile is updated

Fixes Issue
closes #317
👨💻 Changes proposed(What did you do ?)

added a text indication so user can know when their profile has been updated.
text color green

✔ Check List (Check all the applicable boxes)

[] My code follows the code style of this project.
[] This PR does not contain plagiarized content.
[] The title and description of the PR is clear and explains the approach.

Yes please.


Feature Request: Document reference datatype

My Environment

ArangoDB Version:     3.7.2

This is a feature request, maybe it's in the roadmap, please correct me. Is it possible to have a ref datatype as it is in faundadb? . In short, a pointer to a document in another collection or the same collection.
Thank you for the wonderful job.

this can basically be achieved by putting  collection/document_key into a datafield (similar to the _from and _to fields in edge collections), and maybe adding it to the index used by the queries you invoke, so you can use projections to save you from reading the document itself (if you don't need its content).
You can then feed this value into the AQL DOCUMENT() function to fetch the actual document.
You could also use joins filtering for _key.

Thank you so much @dothebart.
Is it possible to enforce referential integrity such that a referenced document must always exist?

hm, you'd probably either write a foxx service that ensures this during inserting, or if you are inserting the documents at once use a transaction for that.
Graph integrity is only waranted at a similar level - if you use document operations instead of the graph API to insert / delete edges / vertices, this also isn't waranted.

Thank you very much!
I hope in the future we can get a referential integrity warranty.

Hi,
It would be really cool if DOCUMENT() would no longer be required.
Because the database "knows" it's a referenced document field, data access becomes
FOR x in projects
RETURN x.client.name

instead of
FOR x in projects
RETURN DOCUMENT(clients, x.clientKey).name

and then make the indices smart enought to be able to FILTER and SORT on a referenced field
WITHOUT performance penalty (now denormalization is the only way if one likes fast queries)
Basically allow indices into reference fields (client.name on projects collection)
from what I heard OrientDB can do something like that

I think what I am asking for is, If we have an edge connecting two documents A & B, Neither A nor B can be deleted without having to delete the edge first. Because the edge is the "RELATIONSHIP".

Yup, you only want references with "Foreign Key Constraints" and as the go hand in hand with indices in SQL I'd propose some performance optimizations based on them.


cmake fails

Hello,
I'm getting the following error when trying to use cmake:
CMake Error in CMakeLists.txt:
Imported target "torch" includes non-existent path
"C:/Program Files/NVIDIA Corporation/NvToolsExt/include"

in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

The path was deleted, renamed, or moved to another location.

An install or uninstall procedure did not complete successfully.

The installation package was faulty and references files it does not
provide.

update: I "solved" this by copying the nvxt include files to the location it was looking... dirty hack but it works!


Add button analytics

Reason for changes
Log payment button usage
Summary of changes

Added button_type which is an existing tag to track the type of button used
Added events for payment-button:tapped and payment-button:initialized

Checklist
- [ ] Added a changelog entry
Authors

List GitHub usernames for everyone who contributed to this pull request.

vradopp

Changes look good! Another nit - but I think we do want a CHANGELOG entry here, it helps future us track which version we added these analytics in

@vradopp

Added button_type which is an existing tag to track the type of button used
do you mind pointing me where to look for existing tags? Not sure how to verify if button_type is an existing tag.

do you mind pointing me where to look for existing tags? Not sure how to verify if button_type is an existing tag.

I can help answer this! If you go to go/fptiexplorer and click on tags on the lefthand side you can search for approved FPTI tags. Generally we want to reuse already approved tags vs creating new tags.