More Buffer Size options or custom Value

Using ffmpeg with 8 MB is not enough for live ppv channels it seems. The connection freezes every 30-60 seconds or so for a few seconds and then continues.
Would like a bigger buffer size
Unless there is a better solution to pre-load at least 10 seconds in advance before playing the channel?
Do you have any magical FFmpeg Options I can use to alleviate this?

That is for the old threadfin/xteve buffer. Feel free to use any ffmpeg command to handle that!
http://trac.ffmpeg.org/wiki/EncodingForStreamingSites#:~:text=-bufsize sets the buffer size,seconds for more static content.

Side note not sure if it matters or not the initial log states: [Threadfin] Buffer Size:            8192 KB
but if i were to check the tasks i see the custom -bufsize and -maxrate


TF 1.15 GPU version is not working as intended.

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): yes, I wrote a custom code.
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 18.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: running on servers
TensorFlow installed from (source or binary): pip
TensorFlow version (use command below): 1.15
Python version: Python 3.6.9
Bazel version (if compiling from source): None
GCC/Compiler version (if compiling from source): None
CUDA/cuDNN version: 10.0/7
GPU model and memory: GTX1060, 6GB

Describe the current behavior
I'm trying to build up Capsule Network using TF 1.15 by referring tutorial.
The source code seemed to work well with CPU.
But if GPU is used, the model did not seem to be trained.
I turned on/off GPU by modifying LD_LIBRARY_PATH.

Describe the expected behavior
CPU and GPU version of the models need to be trained.
Standalone code to reproduce the issue
import numpy as np
import tensorflow as tf

caps1_n = 32
caps1_dim = 8
caps2_n = 10
caps2_dim = 16
exp_caps1_n = caps1_n * 6 * 6  # 1152 primary capsules

m_plus = 0.9
m_minus = 0.1
lambda_ = 0.5

conv1_params = {
    "filters": 256,
    "kernel_size": 9,
    "strides": 1,
    "padding": "valid",
    "activation": tf.nn.relu,
}

conv2_params = {
    "filters": caps1_n * caps1_dim, # 256 convolutional filters
    "kernel_size": 9,
    "strides": 2,
    "padding": "valid",
    "activation": tf.nn.relu
}

def squash(s, axis=-1, epsilon=1e-7):
    squared_norm = tf.reduce_sum(tf.square(s), axis=axis, keep_dims=True)
    safe_norm = tf.sqrt(squared_norm + epsilon)
    squash_factor = squared_norm / (1. + squared_norm)
    unit_vector = s / safe_norm
    return squash_factor * unit_vector

def safe_norm(s, axis=-1, epsilon=1e-7, keep_dims=False):
    squared_norm = tf.reduce_sum(tf.square(s), axis=axis, keep_dims=keep_dims)
    return tf.sqrt(squared_norm + epsilon)

from tensorflow.examples.tutorials.mnist import input_data

mnist = input_data.read_data_sets("data/")

tf.reset_default_graph()
np.random.seed(42)
tf.set_random_seed(42)

# Placeholders
X = tf.placeholder(shape=[None, 28, 28, 1], dtype=tf.float32)
Y = tf.placeholder(shape=[None], dtype=tf.int64)
batch_size = tf.shape(X)[0]

# CapsuleizationLayer
conv1 = tf.layers.conv2d(X, **conv1_params)
conv2 = tf.layers.conv2d(conv1, **conv2_params)
caps1_raw = tf.reshape(conv2, [-1, exp_caps1_n, caps1_dim])
caps1_output = squash(caps1_raw)

init_sigma = 0.1
W = tf.Variable(tf.random_normal(shape=(1, exp_caps1_n, caps2_n, caps2_dim, caps1_dim),
                                 stddev=init_sigma, dtype=tf.float32))
W_tiled = tf.tile(W, [batch_size, 1, 1, 1, 1])

caps1_output_expanded = tf.expand_dims(caps1_output, -1)
caps1_output_tile = tf.expand_dims(caps1_output_expanded, 2)
caps1_output_tiled = tf.tile(caps1_output_tile, [1, 1, caps2_n, 1, 1])
u_hat = tf.matmul(W_tiled, caps1_output_tiled)

#===============================================================
# Dynamic Routing
#===============================================================
raw_weights = tf.zeros([batch_size, exp_caps1_n, caps2_n, 1, 1], dtype=np.float32)

# Round1, Line 4
routing_weights = tf.nn.softmax(raw_weights, dim=2)
# Round1, Line 5
weighted_predictions = tf.multiply(routing_weights, u_hat)
weighted_sum = tf.reduce_sum(weighted_predictions, axis=1, keep_dims=True)
# Round1, Line 6
caps2_output_round_1 = squash(weighted_sum, axis=-2)
# Round1, Line 7
caps2_output_round_1_tiled = tf.tile(caps2_output_round_1, [1, exp_caps1_n, 1, 1, 1])
raw_weights2 = raw_weights + tf.matmul(u_hat, caps2_output_round_1_tiled, transpose_a=True)

# Round2, Line 4
routing_weights_round_2 = tf.nn.softmax(raw_weights2, dim=2)
# Round2, Line 5
weighted_predictions_round_2 = tf.multiply(routing_weights_round_2, u_hat)
weighted_sum_round_2 = tf.reduce_sum(weighted_predictions_round_2, axis=1, keep_dims=True)
# Round2, Line 6
caps2_output = squash(weighted_sum_round_2, axis=-2)
#===============================================================

y_proba = safe_norm(caps2_output, axis=-2)
y_proba_argmax = tf.argmax(y_proba, axis=2)
y_pred = tf.squeeze(y_proba_argmax, axis=[1, 2])

# Loss: Margin loss
T = tf.one_hot(Y, depth=caps2_n)
caps2_output_norm = safe_norm(caps2_output, axis=-2, keep_dims=True)
present_error_raw = tf.square(tf.maximum(0., m_plus - caps2_output_norm))
present_error = tf.reshape(present_error_raw, shape=(-1, 10))
absent_error_raw = tf.square(tf.maximum(0., caps2_output_norm - m_minus))
absent_error = tf.reshape(absent_error_raw, shape=(-1, 10))
L = tf.add(T * present_error, lambda_ * (1.0 - T) * absent_error)
loss = margin_loss = tf.reduce_mean(tf.reduce_sum(L, axis=1))

# Loss: Reconstruction loss
correct = tf.equal(Y, y_pred)
accuracy = tf.reduce_mean(tf.cast(correct, tf.float32))

#default option for Adam
optimizer = tf.train.AdamOptimizer()
training_op = optimizer.minimize(loss)

init = tf.global_variables_initializer()
saver = tf.train.Saver()

batch_size = 50
n_iterations_per_epoch = mnist.train.num_examples // batch_size
n_iterations_validation = mnist.validation.num_examples // batch_size

with tf.Session() as sess:
    init.run()

    for epoch in range(10):
        for iteration in range(1, n_iterations_per_epoch + 1):
            X_batch, Y_batch = mnist.train.next_batch(batch_size)
            # Run the training operation and measure the loss:
            _, loss_train, acc_train = sess.run(
                [training_op, loss, accuracy],
                feed_dict={X: X_batch.reshape([-1, 28, 28, 1]),
                           Y: Y_batch})
            print("Iteration: {}/{} ({:.1f}%)  Loss: {:.5f}, Acc: {:.5f}".format(
                      iteration, n_iterations_per_epoch,
                      iteration * 100 / n_iterations_per_epoch,
                      loss_train, acc_train * 100)
                  )

Other info / logs Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached.
 Please find the attached gist.
Could you please try upgrading to TF v1.15.2 and check if you are facing the same issue? Thanks!

@amahendrar, Thank you!
I upgraded TF to 1.15.2 but I'm still facing the same issue T.T..
Especially margin losses went wrong I guess.
 In the attached gists, the same pip commands are used.
How did you turn on/off GPU usage?

I converted my source code to TF2.1 and the issues have gone.
I'll close this issue. Thanks!


Proposal: ProcessContext

Title: Allow users to pass data to filters via e.g. ProcessContext
Description:
This is a hand-wavy feature request. Design ideas welcome.
We run Envoys in a binary with other serving threads. We'd like some of our filters to behave differently based on the lameduck status of those other serving threads. However, there's not a great way currently to get state from those threads/servers to the filters, short of a global variable.
This hypothetical ProcessContext could provide an API for information to flow from those other servers/serving threads to the filter factories. Envoy would be given a ProcessContext at startup, and would hand it to factories as needed.
A really naive implementation (note: my former Abseil colleagues might disown me if we actually implemented this version):
class ProcessContext {
 public:
  ProcessContext(void* process_data) : process_data_(process_data) {}
  void* get() { return process_data_; }

 private:
  void* process_data_;
};

// In e.g. a filter factory:
Envoy::Http::FilterFactoryCb MyFilter::createFilter(
    const std::string& stat_prefix,
    Envoy::Server::Configuration::FactoryContext& context,
    ProcessContext& process_context) {
  MyServerData* server_data = reinterpret_cast<MyServerData*>(process_context.get());
  return [&server_data](Envoy::Http::FilterChainFactoryCallbacks& callbacks) {
    callbacks.addStreamDecoderFilter(std::make_shared<MyFilter>(server_data));
  };
}

// Now MyFilter has a pointer to MyServerData

Thoughts?
cc @mergeconflict @htuch

Yeah, I'd consider making ProcessContext part of FactoryContext (since Server can provide it) and also instead of void * we use some base class ProcessObject and dynamic_cast. @mattklein123 @jmarantz WDYT?

SGTM


Make Code Coverage More Expansive

Describe the bug
SimpleCov is currently not reporting the JavaScript portion of our code.
Expected behavior
SimpleCov should report coverage for all relevant files.
Additional context
See the SimpleCov Rails profile: https://github.com/colszowka/simplecov/blob/master/lib/simplecov/profiles/rails.rb
That's where the problem comes in. So first things first: don't use the Rails profile. Then filter files as needed.

This is gonna have to wait until sometime after we have JavaScript testing setup with either Mocha or Jest (currently leaning this way), or some other alternative.
This article describes the possibility to unite SimpleCov and Jest test coverage: https://pastaar.wordpress.com/2017/03/15/code-coverage-implemented-rspec-and-jest-unite-in-codecov/
Although this same article suggests that CodeCov might be smart enough to merge multiple reports anyway... which... would be ideal. So just setup testing for JS that can use the same Environment variable to submit a report and we are golden.

Ha, so I've been thinking about this backwards...
The difficulty isn't going to be getting Ruby to be aware of the JavaScript - we've already done this with system specs - it is going to be getting JS to be aware of the Ruby, since it depends on the server running.
...but probably a non-issue if we run them in the same container... and on the same port.

Have attempted to integrate:

Jest
Mocha + Chai
Teaspoon (Mocha + Chai)

All approaches hit a similar problem. Some combination of the way that Webpacker and/or Babel are setup by default in Rails is incompatible with JavaScript test suites.
We will stick to system specs for now... and maybe consider extracting the JS for testing in isolation  Highly recommended in any case, as we should hope to make the JS reusable as:

A drop-in admin interface for any website, utilised from any domain.
A mobile application.
A desktop application wrapped in an Electron container.


Plugin not working as used in documentation [Help wanted!]

Hello, I found you section builder and it has really cool features. I followed instructions as mentioned in the installation part on the document but I could not get it work in my vue application.
App.vue
<template>
  <div id="app">
    <b-builder />
  </div>
</template>

main.js
import Vue from 'vue'
import Builder from 'vuse';
import App from './App.vue'

Vue.config.productionTip = false

Vue.use(Builder, {});

new Vue({
  render: h => h(App),
}).$mount('#app')

Error
 Unknown custom element: <b-builder> - did you register the component correctly? For recursive components, make sure to provide the "name" option.

found in

---> <App>
       <Root>```

Hello, it looks like that the documentation is outdated, can you please replace b-builder with vuse-builder, and tell me if it worked for you, sorry for inconvenient.

Hey, I replaced the tag with vuse-builder but styles did not loaded as you can see in the screen shot, any ideas ?

Sure we will add it, thank you!


Support for PHP 8.0

Thanks for the update. 🙂

https://github.com/spatie/laravel-activitylog/releases/tag/3.16.1


Pipeline with multiple datatypes

Run something that runs with multiple data types.  Like PrintReadsWithReference.

Done by the work in https://github.com/broadinstitute/hellbender/tree/da_read_pipeline


Load And Unload Model Error: OSError: could not get source code

Hi there,  I wrote two methods that allow unsloth models to be loaded into memory and unloaded into memory. To my knowledge, I believe this is the only way to do change unsloth models
llm_model = None
tokenizer = None

def loadModel(model_name):
    global EOS_TOKEN
    global llm_model, tokenizer
    print(f'Load model {model_name}')
    llm_model, tokenizer = FastLanguageModel.from_pretrained(
        model_name = f"model_name}",
        max_seq_length = max_seq_length,
        dtype = dtype,
        load_in_4bit = load_in_4bit,
        token = "TOKEN HERE", # use one if using gated models like meta-llama/Llama-2-7b-hf
    )
    EOS_TOKEN = tokenizer.eos_token # Must add EOS_TOKEN

def unloadModel():
    global llm_model, tokenizer
    # Delete the model and tokenizer
    llm_model.disable_adapter_layers()
    del llm_model
   # del tokenizer

    # Run garbage collection
    gc.collect()

    # Optionally, clear the CUDA cache if using GPU
    if torch.cuda.is_available():
        torch.cuda.empty_cache()

However, an update to Unsloth has causes errors using this method.
---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
Cell In[20], line 3
      1 loadModel("unsloth/Qwen2.5-7B-Instruct-bnb-4bit")
      2 unloadModel()
----> 3 loadModel("unsloth/Qwen2.5-7B-Instruct-bnb-4bit")

Cell In[17], line 29, in loadModel(model_name)
     27 global llm_model, tokenizer
     28 print(f'Load model {model_name}')
---> 29 llm_model, tokenizer = FastLanguageModel.from_pretrained(
     30     model_name = f"{model_name}",
     31     max_seq_length = max_seq_length,
     32     dtype = dtype,
     33     load_in_4bit = load_in_4bit,
     34     token = "token here", # use one if using gated models like meta-llama/Llama-2-7b-hf
     35 )
     36 EOS_TOKEN = tokenizer.eos_token

File /usr/local/lib/python3.10/dist-packages/unsloth/models/loader.py:332, in FastLanguageModel.from_pretrained(model_name, max_seq_length, dtype, load_in_4bit, token, device_map, rope_scaling, fix_tokenizer, trust_remote_code, use_gradient_checkpointing, resize_model_vocab, revision, *args, **kwargs)
    329     tokenizer_name = None
    330 pass
--> 332 model, tokenizer = dispatch_model.from_pretrained(
    333     model_name        = model_name,
    334     max_seq_length    = max_seq_length,
    335     dtype             = dtype,
    336     load_in_4bit      = load_in_4bit,
    337     token             = token,
    338     device_map        = device_map,
    339     rope_scaling      = rope_scaling,
    340     fix_tokenizer     = fix_tokenizer,
    341     model_patcher     = dispatch_model,
    342     tokenizer_name    = tokenizer_name,
    343     trust_remote_code = trust_remote_code,
    344     revision          = revision if not is_peft else None,
    345     *args, **kwargs,
    346 )
    348 if resize_model_vocab is not None:
    349     model.resize_token_embeddings(resize_model_vocab)

File /usr/local/lib/python3.10/dist-packages/unsloth/models/qwen2.py:87, in FastQwen2Model.from_pretrained(model_name, max_seq_length, dtype, load_in_4bit, token, device_map, rope_scaling, fix_tokenizer, model_patcher, tokenizer_name, trust_remote_code, **kwargs)
     72 @staticmethod
     73 def from_pretrained(
     74     model_name        = "Qwen/Qwen2-7B",
   (...)
     85     **kwargs,
     86 ):
---> 87     return FastLlamaModel.from_pretrained(
     88         model_name        = model_name,
     89         max_seq_length    = max_seq_length,
     90         dtype             = dtype,
     91         load_in_4bit      = load_in_4bit,
     92         token             = token,
     93         device_map        = device_map,
     94         rope_scaling      = rope_scaling,
     95         fix_tokenizer     = fix_tokenizer,
     96         model_patcher     = FastQwen2Model,
     97         tokenizer_name    = tokenizer_name,
     98         trust_remote_code = trust_remote_code,
     99         **kwargs,
    100     )

File /usr/local/lib/python3.10/dist-packages/unsloth/models/llama.py:1790, in FastLlamaModel.from_pretrained(model_name, max_seq_length, dtype, load_in_4bit, token, device_map, rope_scaling, fix_tokenizer, model_patcher, tokenizer_name, trust_remote_code, **kwargs)
   1787 Trainer._inner_training_loop = _fast_inner_training_loop
   1789 # Fix gradient accumulation
-> 1790 patch_gradient_accumulation_fix(Trainer)
   1792 # Save tokenizer for inference purposes
   1793 tokenizer.padding_side = "left" # Force inference

File /usr/local/lib/python3.10/dist-packages/unsloth/models/_utils.py:1220, in patch_gradient_accumulation_fix(Trainer)
   1217 # Also fix up loss scaling ie negate loss *= self.args.gradient_accumulation_steps
   1218 if "num_items_in_batch" not in inspect.signature(Trainer.training_step).parameters: return
-> 1220 function = inspect.getsource(Trainer.training_step)
   1221 where = function.find("def")
   1222 function = function.split("\n")

File /usr/lib/python3.10/inspect.py:1139, in getsource(object)
   1133 def getsource(object):
   1134     """Return the text of the source code for an object.
   1135
   1136     The argument may be a module, class, method, function, traceback, frame,
   1137     or code object.  The source code is returned as a single string.  An
   1138     OSError is raised if the source code cannot be retrieved."""
-> 1139     lines, lnum = getsourcelines(object)
   1140     return ''.join(lines)

File /usr/lib/python3.10/inspect.py:1121, in getsourcelines(object)
   1113 """Return a list of source lines and starting line number for an object.
   1114
   1115 The argument may be a module, class, method, function, traceback, frame,
   (...)
   1118 original source file the first line of code was found.  An OSError is
   1119 raised if the source code cannot be retrieved."""
   1120 object = unwrap(object)
-> 1121 lines, lnum = findsource(object)
   1123 if istraceback(object):
   1124     object = object.tb_frame

File /usr/lib/python3.10/inspect.py:958, in findsource(object)
    956     lines = linecache.getlines(file)
    957 if not lines:
--> 958     raise OSError('could not get source code')
    960 if ismodule(object):
    961     return lines, 0

OSError: could not get source code

Other than, that, reverting to this patch solved the bug for me:
pip install "unsloth[cu121] @ git+https://github.com/unslothai/unsloth.git@1e7e0e23683c5ec1c1e3a5df0f586d4c433fee44"
I'm unclear on what is causing this bug tbh, but it seems this line of code is a bit finnicky:
 function = inspect.getsource(Trainer.training_step)

Same issue here. Also tried unsloth[cu118+torch230] @ git+https://github.com/unslothai/unsloth.git@1e7e0e23683c5ec1c1e3a5df0f586d4c433fee44 and got same error.

The error is "normal" since Unsloth needs to modify trl or transformers code on the fly. Which means inspect.getsource will error after modification.
For you problem, I can't reproduce it (although I slightly modify the code, but it shouldn't really has a difference)
from unsloth import FastLanguageModel
import gc
import torch

model_name =  "unsloth/Llama-3.2-1B-bnb-4bit"
llm_model = None
tokenizer = None
max_seq_length = 2048
dtype = None
load_in_4bit = True

def loadModel(model_name):
    global EOS_TOKEN
    global llm_model, tokenizer
    print(f'Load model {model_name}')
    llm_model, tokenizer = FastLanguageModel.from_pretrained(
        model_name = f"{model_name}",
        max_seq_length = max_seq_length,
        dtype = dtype,
        load_in_4bit = load_in_4bit,
        # token = "TOKEN HERE", # use one if using gated models like meta-llama/Llama-2-7b-hf
    )
    EOS_TOKEN = tokenizer.eos_token # Must add EOS_TOKEN

def unloadModel():
    global llm_model, tokenizer
    # Delete the model and tokenizer
    try:
        llm_model.disable_adapter_layers()
    except:
        pass
    del llm_model
    del tokenizer

    for _ in range(5):
        # Run garbage collection
        gc.collect()

        # Optionally, clear the CUDA cache if using GPU
        if torch.cuda.is_available():
            torch.cuda.empty_cache()

Is there any other step that you did?

Oh wait I can bypass double patching by checking the function name - can fix this!

The error is "normal" since Unsloth needs to modify trl or transformers code on the fly. Which means inspect.getsource will error after modification.
For you problem, I can't reproduce it (although I slightly modify the code, but it shouldn't really has a difference)
from unsloth import FastLanguageModel
import gc
import torch

model_name =  "unsloth/Llama-3.2-1B-bnb-4bit"
llm_model = None
tokenizer = None
max_seq_length = 2048
dtype = None
load_in_4bit = True

def loadModel(model_name):
    global EOS_TOKEN
    global llm_model, tokenizer
    print(f'Load model {model_name}')
    llm_model, tokenizer = FastLanguageModel.from_pretrained(
        model_name = f"{model_name}",
        max_seq_length = max_seq_length,
        dtype = dtype,
        load_in_4bit = load_in_4bit,
        # token = "TOKEN HERE", # use one if using gated models like meta-llama/Llama-2-7b-hf
    )
    EOS_TOKEN = tokenizer.eos_token # Must add EOS_TOKEN

def unloadModel():
    global llm_model, tokenizer
    # Delete the model and tokenizer
    try:
        llm_model.disable_adapter_layers()
    except:
        pass
    del llm_model
    del tokenizer

    for _ in range(5):
        # Run garbage collection
        gc.collect()

        # Optionally, clear the CUDA cache if using GPU
        if torch.cuda.is_available():
            torch.cuda.empty_cache()

Is there any other step that you did?

Running this code gives me an error on a runpod instance, but not a Google Colab instance.


[Infra] Update release testing workflows

latest CI invocation: https://github.com/firebase/firebase-ios-sdk/actions/runs/9747736140
#no-changelog

Checkpoint as of 9b21d8d
Green prerelease.yml CI:  https://github.com/firebase/firebase-ios-sdk/actions/runs/9747736140

release.yml is working as well: https://github.com/firebase/firebase-ios-sdk/actions/runs/9749764585 as of 6df3b58

The bot-access.txt.gpg is no longer used in favor of the new fine-access access tokens, so I'm removing it.


Update CN regex to handle whitespace.

This is a proposed fix for https://github.com/Miserlou/Zappa/issues/1139

Coverage remained the same at 74.022% when pulling b253c350404d76764e81a148690bc2d6128a0127 on ScottSturdivant:lets_encrypt_parse_csr into 74bf880bb4aa1ca237ebd106b6bc830fb415a3dc on Miserlou:master.

Does this work for both whitespace and non-whitespace?

It does, yes:
>>> re.search(r"Subject:.*? CN\s?=\s?([^\s,;/]+)", "Subject: CN=foo.example.com")
<_sre.SRE_Match object; span=(0, 27), match='Subject: CN=foo.example.com'>
>>> re.search(r"Subject:.*? CN\s?=\s?([^\s,;/]+)", "Subject: CN = foo.example.com")
<_sre.SRE_Match object; span=(0, 29), match='Subject: CN = foo.example.com'>

I couldn't find an existing test case to modify, but would be happy to do so if you can point me in the correct direction.


Support page.title, page.description, page.image and site.baseurl in redirect.html

I would like to add <meta> data to the redirect template/page, so that the redirect could display a different twitter preview image. E.g. {{ page.title }}, {{ page.description }}, {{ page.image }}
Also {{ site.baseurl }} would be nice to have in the redirect.html.

I just realized that the problem only exists if the redirect_from is specified.


Should eslint-plugin-proper-arrows work with NOOP or empty function ?

Shouldeslint-plugin-proper-arrows work with NOOP ?
const NOOP = () => {};

I think it's certainly reasonable to consider an exception flag to ignore these... but we need to explore a few bits first.

Which of the 3 (or all 3?) current rules do you think this should apply to? Seems like probably "this" for sure, but what about that rule's "no-global" mode? And what about the "name" rule? Need to clearly spell out and justify each exception so we don't go overly broad with it.

Should we expand this exception to include any "simple" or "trivial" arrows instead of only no-ops? Like x => x (identity function), () => y (closure function), and x => 1 (constant function)? If so, what heuristic would we use for these simple/trivial arrows? Maybe:

only 0-1 parameters
only a single return expression (literal or identifier only) or an empty body {}

Thoughts?

I think we'll just add an "ignore-trivial" exception flag to all rules ("name", "this", "params", and "return").
Trivial will be defined as: 0-1 params (only identifier), returns no value ({}) or any single value (primitive literal or variable) as concise expression.

I like "ignore-trivial". I think your rule-set defining of "trivial" will work well too.


style: separate commands from output

These code blocks do not meet "Separate commands from output" style guide.

https://deploy-preview-26464--kubernetes-io-master-staging.netlify.app/docs/tasks/run-application/run-single-instance-stateful-application/

/assign @annajung

Thank you @oke-py!
/lgtm


address multiverse packaging feedback

In https://github.com/mesosphere/multiverse/pull/12 some feedback was given that needs to be addressed.  Another ticket, https://github.com/mesosphere/etcd-mesos/issues/66, exists for the bug that came up during the initial install.

@jdef did you address the aforementioned feedback in the latest package?

multiverse is dead, need to check universe package
On Sat, Apr 22, 2017 at 3:30 PM, Paulo Pires<EMAIL_ADDRESS>wrote:

@jdef https://github.com/jdef did you address the aforementioned
feedback in the latest package?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mesosphere/etcd-mesos/issues/67#issuecomment-296396028,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACPVLANMVvBJmmpRtVU5ARQe9v_IjlVcks5rylVHgaJpZM4GHnhe
.


Sharing Internet via another wired interface

I have posted this as a comment on another Issue.
https://github.com/oblique/create_ap/issues/61
But I think maybe I should put it in a new post.
I want a feature that share my Linux internet through another wired interface.
Example:
Internet(ipv4&ipv6)----------[eth0/wlan0]=Linux=[eth1/ap0 with dhcpd(v4&v6)] ------------many clients in subnet
Share Internet through eth1, another wired interface.
This create_ap is the best and most convenient tool I have ever seen on Internet.
Maybe this feature can be done by adding an option that cut the creating wifi AP stuff.

I need same feature...


Value Error for TensorFlowV2Classifier in extraction attack running on MNIST data

Hi
I am implementing the extraction attacks (Probabilistic CopycatCNN, Argmax CopycatCNN, Probabilistic KnockoffNets, Argmax KnockoffNets) on TensorFlowV2Classifier. I am trying to test it on MNIST data with a two-layered CNN model implementing the tf-keras model. It tells me that I got a value error which I have no clue why.
ValueError: Shape mismatch: The shape of labels (received (320,)) should equal the shape of logits except for the last dimension (received (32, 10)).
I had set batch size 32 and have not done any reshape, tried to debug the code and I find the problem occurs at the fit class of TensorFlowV2Classifier class, which is
for _ in range(nb_epochs):
        for images, labels in train_ds:
                self._train_step(self.model, images, labels)

I cannot find which variables turns my label shape into (320,), but when I finish running the train_step method, it automatically returns this error. Can you check this out because I do not think my code is doing anything wrong here. Thanks a lot

Hi @vincentliuheyang Thank you very much for using ART!
We would need more information to find out what is happening, could you please provide a complete example that reproduces your observation?

I am using tf2.0 keras model and pretty much follow the method in your repo
        vm = VictimModel(self.trainx, self.trainy, self.testx, self.testy, im_shape=im_shape, epochs=epochs, batch_size=batch_size, num_classes=num_classes, c1=c1, c2=c2, d1=d1)
             self.victim_model = TensorFlowV2Classifier(vm.model, nb_classes=num_classes, input_shape=im_shape, clip_values=(0, 1), train_step=train_step)
        self.attack_catalogue = {"Probabilistic CopycatCNN": CopycatCNN(classifier=self.victim_model,
                                                                        batch_size_fit=batch_size,
                                                                        batch_size_query=64,
                                                                        nb_epochs=num_epochs,
                                                                        nb_stolen=trainx.shape[0],
                                                                        use_probability=True),
                                   "Argmax CopycatCNN": CopycatCNN(classifier=self.victim_model,
                                                                   batch_size_fit=batch_size,
                                                                   batch_size_query=64,
                                                                   nb_epochs=num_epochs,
                                                                   nb_stolen=trainx.shape[0],
                                                                   use_probability=False),
                                   "Probabilistic KnockoffNets": KnockoffNets(classifier=self.victim_model,
                                                                              batch_size_fit=batch_size,
                                                                              batch_size_query=64,
                                                                              nb_epochs=num_epochs,
                                                                              nb_stolen=trainx.shape[0],
                                                                              use_probability=True),
                                   "Argmax KnockoffNets": KnockoffNets(classifier=self.victim_model,
                                                                       batch_size_fit=batch_size,
                                                                       batch_size_query=64,
                                                                       nb_epochs=num_epochs,
                                                                       nb_stolen=trainx.shape[0],
                                                                       use_probability=False),
                                   }

        self.classifier_stolen = None
        self.dir = None

    def fit(self, name):
        attack = self.attack_catalogue[name]
        self.classifier_stolen = attack.extract(self.trainx, self.trainy, thieved_classifier=self.victim_model)

Here is my code to execute the attack model
attack = ["Probabilistic CopycatCNN", "Argmax CopycatCNN", "Probabilistic KnockoffNets", "Argmax KnockoffNets"]

WBAM = White_Box_Attack_Model(x_steal, y_steal)

for a in attack:
    WBAM.fit(a)
    print(WBAM.evaluate())

And when I am executing this method, it gives me this error
\venv\lib\site-packages\tensorflow\python\keras\backend.py:4930: UserWarning: "`sparse_categorical_crossentropy` received `from_logits=True`, but the `output` argument was produced by a sigmoid or softmax activation and thus does not represent logits. Was this intended?"
  '"`sparse_categorical_crossentropy` received `from_logits=True`, but '
Traceback (most recent call last):
  File "/privacy-top/msa/test_attack.py", line 33, in <module>
    WBAM.fit(a)
  File "\privacy-top\msa\attack_model.py", line 94, in fit
    self.classifier_stolen = attack.extract(self.trainx, self.trainy, thieved_classifier=self.victim_model)
  File "\venv\lib\site-packages\art\attacks\attack.py", line 75, in replacement_function
    return fdict[func_name](self, *args, **kwargs)
  File "\venv\lib\site-packages\art\attacks\extraction\copycat_cnn.py", line 123, in extract
    nb_epochs=self.nb_epochs,
  File "\venv\lib\site-packages\art\estimators\classification\classifier.py", line 71, in replacement_function
    return fdict[func_name](self, *args, **kwargs)
  File "\venv\lib\site-packages\art\estimators\classification\tensorflow.py", line 962, in fit
    self._train_step(self.model, images, labels)
  File "\venv\lib\site-packages\tensorflow\python\eager\def_function.py", line 889, in __call__
    result = self._call(*args, **kwds)
  File "\venv\lib\site-packages\tensorflow\python\eager\def_function.py", line 933, in _call
    self._initialize(args, kwds, add_initializers_to=initializers)
  File "\venv\lib\site-packages\tensorflow\python\eager\def_function.py", line 764, in _initialize
    *args, **kwds))
  File "\venv\lib\site-packages\tensorflow\python\eager\function.py", line 3050, in _get_concrete_function_internal_garbage_collected
    graph_function, _ = self._maybe_define_function(args, kwargs)
  File "\venv\lib\site-packages\tensorflow\python\eager\function.py", line 3444, in _maybe_define_function
    graph_function = self._create_graph_function(args, kwargs)
  File "\venv\lib\site-packages\tensorflow\python\eager\function.py", line 3289, in _create_graph_function
    capture_by_value=self._capture_by_value),
  File "\venv\lib\site-packages\tensorflow\python\framework\func_graph.py", line 999, in func_graph_from_py_func
    func_outputs = python_func(*func_args, **func_kwargs)
  File "\venv\lib\site-packages\tensorflow\python\eager\def_function.py", line 672, in wrapped_fn
    out = weak_wrapped_fn().__wrapped__(*args, **kwds)
  File "\venv\lib\site-packages\tensorflow\python\framework\func_graph.py", line 986, in wrapper
    raise e.ag_error_metadata.to_exception(e)
ValueError: in user code:

    \privacy-top\msa\attack_model.py:20 train_step  *
        loss = loss_fn(labels, predictions)
    \venv\lib\site-packages\tensorflow\python\keras\losses.py:155 __call__  **
        losses = call_fn(y_true, y_pred)
    \venv\lib\site-packages\tensorflow\python\keras\losses.py:259 call  **
        return ag_fn(y_true, y_pred, **self._fn_kwargs)
    \venv\lib\site-packages\tensorflow\python\util\dispatch.py:206 wrapper
        return target(*args, **kwargs)
    \venv\lib\site-packages\tensorflow\python\keras\losses.py:1713 sparse_categorical_crossentropy
        y_true, y_pred, from_logits=from_logits, axis=axis)
    \venv\lib\site-packages\tensorflow\python\util\dispatch.py:206 wrapper
        return target(*args, **kwargs)
    \venv\lib\site-packages\tensorflow\python\keras\backend.py:4980 sparse_categorical_crossentropy
        labels=target, logits=output)
    \venv\lib\site-packages\tensorflow\python\util\dispatch.py:206 wrapper
        return target(*args, **kwargs)
    \venv\lib\site-packages\tensorflow\python\ops\nn_ops.py:4229 sparse_softmax_cross_entropy_with_logits_v2
        labels=labels, logits=logits, name=name)
    \venv\lib\site-packages\tensorflow\python\util\dispatch.py:206 wrapper
        return target(*args, **kwargs)
    \venv\lib\site-packages\tensorflow\python\ops\nn_ops.py:4136 sparse_softmax_cross_entropy_with_logits
        logits.get_shape()))

    ValueError: Shape mismatch: The shape of labels (received (320,)) should equal the shape of logits except for the last dimension (received (32, 10)).

I am setting batch size to be 32 so it should give me a shape of (32,10), but it turns out here saying the label is shape of (320,), I traced down to see which code went wrong, and I saw this line of code is not running correctly,
# File: venv\Lib\site-package\art\estimators\classification\tensorflow.py
# class TensorFlowV2Classifier(ClassGradientsMixin, ClassifierMixin, TensorFlowV2Estimator):
#   def fit(self, x: np.ndarray, y: np.ndarray, batch_size: int = 128, nb_epochs: int = 10, **kwargs) -> None:

         for _ in range(nb_epochs):
              for images, labels in train_ds:
                  self._train_step(self.model, images, labels)

How do you define the method train_step?
Would it be possible for you to put the example into a Google Colab notebook, that way we could try it out?

I basically defined the train step function the way as tf.keras did, here is the function
def train_step(model, images, labels):
    optimizer=tf.keras.optimizers.SGD(learning_rate=1e-3)
    loss_fn=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)
    train_loss = tf.keras.metrics.Mean(name='train_loss')
    train_acc_metric = tf.keras.metrics.SparseCategoricalAccuracy(name='train_accuracy')

    with tf.GradientTape() as tape:
        predictions = model(images)
        loss = loss_fn(labels, predictions)
    gradients = tape.gradient(loss, model.trainable_variables)
    optimizer.apply_gradients(zip(gradients, model.trainable_variables))

    train_loss(loss)
    train_acc_metric(labels, predictions)
    return loss

I think I can put it into a google Colab, how should I share the link with you guys?

I'm still not able to run the example, e.g. arguments of VictimModel are missing. Would you have a complete example that I could run?

I packed the VictimModel with a CNN model, here is the structure
class VictimModel:
    def __init__(self,
                 trainx,
                 trainy,
                 testx,
                 testy,
                 im_shape=(28,28,1),
                 epochs=10,
                 batch_size=32,
                 num_classes=10,
                 c1=32,
                 c2=64,
                 d1=128
                 ):
        self.testx = testx
        self.testy = testy
        self.epochs = epochs
        self.batch_size = batch_size
        self.model = Sequential()
        self.model.add(Conv2D(c1, kernel_size=(3, 3), activation='relu', kernel_initializer='he_uniform', input_shape=im_shape))
        self.model.add(BatchNormalization())
        self.model.add(Dropout(0.2))
        self.model.add(Conv2D(c2, (3, 3), activation='relu', kernel_initializer='he_uniform'))
        self.model.add(BatchNormalization())
        self.model.add(Dropout(0.2))
        self.model.add(Flatten())
        self.model.add(Dense(d1, activation='relu', kernel_initializer='he_uniform'))
        self.model.add(Dense(num_classes, activation='softmax'))
        self.dir = dir
        self.model_file = model_file

    def fit(self, checkpoint_path="target.cpkt"):
        history = self.model.compile(loss=tf.keras.losses.categorical_crossentropy, optimizer="sgd", metrics=['accuracy'])
        self.model.fit(self.trainx, self.trainy, epochs=self.epochs, callbacks=[callback], batch_size=self.batch_size, validation_data=(self.valx, self.valy))
        return history

Hi @vincentliuheyang Would you have a complete end-to-end example that I could easily run without modifications?

I have attached everything here in this repository, can you please check this problem out. https://github.com/vincentliuheyang/ART-Issue/blob/main/adversarial_training.ipynb

Hi @vincentliuheyang There are some changes required to your code:

your model predicts probabilities, therefore the loss functions should receive from_logits=False
don't define the optimizer inside of train_step because the optimizer will be reset every step, follow examples/get_started_tensorflow_v2.py
don't define the loss function inside of train_step because TensorFlowV2Classifier will not know which loss function, and especially which label format, you are using, provide the loss function to the argument loss_object instead
the thieved model and the victim model cannot be the same instance (thieved_classifier=self.victim_model), create separate classifier instances instead.

Thank you, the problem is solved.


View_Pending and View_Completed Tests failing

After adding the tags in the new format, we need to figure out to add the tags in samples which are written in the test cases for them to pass.

All tests are passing now


Verifier error caused by llvm transformation

What reproduces the bug? Provide code if possible.
The script below triggers this verifier error:
...
39: (85) call bpf_map_update_elem#2   ; R0=scalar()
40: (07) r6 += 16                     ; R6_w=ctx(off=16)
41: (79) r7 = *(u64 *)(r6 +0)
dereference of modified ctx ptr R6 off=16 disallowed

BEGIN { @args[1] = (uint64)1; }
tracepoint:syscalls:sys_enter_kill
{
  // other if statements don't cause this error
  if (strcontains(comm, "fb-oomd")) {
    @test[args.pid] = 1;
  }
  // using this variable in place of the two lookups
  // below doesn't trigger the error
  // $x = @args[1];
  if (args.pid == @args[1]) {
    print((1));
  }
  if (args.pid == @args[1]) {
    print((1));
  }
}

@4ast believes it can be fixed by this though I'm not sure where to place that yet in the codegen.
__attribute__((preserve_static_offset))
https://clang.llvm.org/docs/AttributeReference.html#preserve-static-offset
bpftrace --info output
System
OS: Linux 5.19.0
Arch: x86_64
Build
version: v0.21.0-1b7c
LLVM: 17.0.4
bfd: yes
liblldb (DWARF support): yes
libsystemd (systemd notify support): no
Kernel helpers
probe_read: yes
probe_read_str: yes
probe_read_user: yes
probe_read_user_str: yes
probe_read_kernel: yes
probe_read_kernel_str: yes
get_current_cgroup_id: yes
send_signal: yes
override_return: yes
get_boot_ns: yes
dpath: yes
skboutput: yes
get_tai_ns: yes
get_func_ip: yes
jiffies64: yes
for_each_map_elem: yes
Kernel features
Instruction limit: 1000000
Loop support: yes
btf: yes
module btf: yes
Kernel DWARF: yes
map batch: yes
uprobe refcount (depends on Build:bcc bpf_attach_uprobe refcount): yes
Map types
hash: yes
percpu hash: yes
array: yes
percpu array: yes
stack_trace: yes
perf_event_array: yes
ringbuf: yes
Probe types
kprobe: yes
tracepoint: yes
perf_event: yes
fentry: yes
kprobe_multi: yes
uprobe_multi: no
iter: yes

@4ast believes it can be fixed by this though I'm not sure where to place that yet in the codegen.
attribute((preserve_static_offset))

The preserve_static_offset attribute works by replacing getelementptr+load/store with llvm.bpf.getelementptr.and.{load,store} intrinsic function calls. These calls are preserved trough the optimization passes and are unrolled as gep+load/store just before machine code generation. E.g. see test cases llvm/test/CodeGen/BPF/preserve-static-offset/store-pai.ll and llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain-oob.ll. You might reuse same intrinsics, if you need to guarantee that gep is never separated from load/store.

@eddyz87 Do you know of a way to add an attribute (namely "preserve_static_offset") to our struct types created in LLVM IR? Would that solve this issue?

@eddyz87 Do you know of a way to add an attribute (namely "preserve_static_offset") to our struct types created in LLVM IR? Would that solve this issue?

@jordalgo , this attribute is clang-specific, it is not represented in IR.
Here is the commits adding the feature:
030b8cb1561d - [BPF] Attribute preserve_static_offset for structs (12 months ago)

At clang level it looks for access to fields of structures declared with this attribute, such accesses are wrapped with a call to @llvm.preserve.static.offset;
At llvm level, a transformation (BPFPreserveStaticOffsetPass) is installed early in the optimization pipeline, which looks for llvm.preserve.static.offset+GEP+load/store chains and replaces these chains with calls to llvm.bpf.getelementptr.and.{load,store}.

To get use of these you either have to generate llvm.preserve.static.offset+GEP+load/store chains, or do direct calls to llvm.bpf.getelementptr.and.load.
@viktormalik says that bpftrace generates the following code:
  %14 = ptrtoint ptr %0 to i64
  %15 = add i64 %14, 16
  %16 = inttoptr i64 %15 to ptr
  %17 = load volatile i64, ptr %16, align 8

You can either change the part of the bpftrace responsible for this generation to use llvm.bpf.getelementptr.and.load, or write an additional pass that collapses chains as above to a llvm.bpf.getelementptr.and.load call. I don't see any semantic obstacles for such transformation.
Wdyt?

Is there a separate existing issue for the types? I'd be happy to file one if not, and then I think this one should be closed.

Is there a separate existing issue for the types?

I couldn't easily find one, so please feel free to file a new issue.


Update Vietnamese translations

Complete remaining Vietnamese translations and modifying some existing ones

thanks and sorry this took so long, merged manually


How to connect with SwiftUi?

Can you please tell me how to use it in SwiftUi?  do I need to just put the final class in the AppDelegate? I'm new, thanks

Hey @pagedimka, today, i will add lazy support SwiftUI and updating README.me with example for SwiftUI 🙃

Can you please tell me how to use it in SwiftUi? do I need to just put the final class in the AppDelegate? I'm new, thanks

SwiftUI support successfully added in https://github.com/Stampoo/SnapshotSafeView/releases/tag/0.1.0, u can see example in https://github.com/Stampoo/SnapshotSafeView/blob/master/README.md

Thank you very much!


Stuck At EULA

Describe the bug
Whenever i try to download the engine it says accept the EULA, and then when i click on it it takes me to the download page
To Reproduce
Steps to reproduce the behavior:

Go to Engines
Click on EULA

Desktop (please complete the following information):

OS: Arch Linux
Browser Fire Fox

Not your issue, sadly Epic changed how they handle the EULA and I have not been able to patch this yet. You can download it manually from here https://unrealengine.com/linux

Thx, but plz update the app to say that it doesnt work also the precompiled
ubuntu version is causing errors on arch OS with KDE
On Wed, 17 Jul 2024, 1:31 pm Milan Šťastný, @.***>
wrote:

Not your issue, sadly Epic changed how they handle the EULA and I have not
been able to patch this yet. You can download it manually from here
https://unrealengine.com/linux
—
Reply to this email directly, view it on GitHub
https://github.com/AchetaGames/Epic-Asset-Manager/issues/271#issuecomment-2232739660,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BAUPHXCBAVB3LGUOTFX64OLZMYTVTAVCNFSM6AAAAABK7XATSKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMZSG4ZTSNRWGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

why you don't put the eula directly in the app? Maybe a popup?

The EULA is not mine but Epics. So I have no control over it. The issue here is with the verification where they started requiring a cookie that I am not able to set, at least not at the moment.


Memory leak when using BindMemoryPool with WhenInjectedInto.

When using BindMemoryPool and WhenInjectedInto - scene context doesn't unloaded after destroying scene.
Project to reproduce: https://github.com/n0uk/ZenjectMemoryLeak
Open scene0 and run it, and output will be:
Instance count: 1
Instance count: 0
...
Instance count: 1
Instance count: 0
There should be zero instances.
Everything is fine, but set the checkbox in Installers/TestClassUsingPoolsInstaller - "Install with When Loaded Injected Into":
        if (InstallWithWhenInjectedInto)
        {
            binding.WhenInjectedInto<TestClassUsingPools>();
        }

Run scene0 again, and you can see output like:
Instance count: 1
Instance count: 2
Instance count: 3
...
Instance count: 10
There should be zero instances.
So SceneContext duplicated in memory 10 times for now.

Same thing happens when using BindMemoryPool with WithId.

I will get into this. Thanks!

@Mathijs-Bakker I fixed it by calling container.UnbindAll() from SceneContext::OnDestroy. But not sure it's a correct solution.

But same thing happens inside GameObjectContext, so previous workaround doesn't work in this cases.

Looks I'm encountering the same problem using WithId, which are injected into SceneContext and GameObjectContext in a variety of ways.
Container.BindMemoryPool<ExplosionHandler, ExplosionHandler.Pool>() 					.WithId("VehicleCollision") 					.WithInitialSize(100) 					.ExpandByOneAtATime() 					.FromComponentInNewPrefab(vehiclePhysicsConfig.collisionExplosion) 					.UnderTransformGroup("(Pool) Vehicle Collision Effects") 					.MoveIntoAllSubContainers();

Looks like I'm hitting this same thing with WithId rather than WhenInjectedInto. Injection is into both SceneContext and GameObjectContext.

same problem - i am making pools on GameObjectContext, then my system reloads the scene and Pool Monitor has two pools etc... pools are cause of memory leaks


CANNOT FIND the source code of “gen_candidate_sampling_ops”

I’m reading the source code(python version) of sampled softmax loss(tf.nn.sampled_softmax_loss) since I want to write my own “sampled_values”, and it leads me to the function “log_uniform_candidate_sampler” in candidate_sampling_ops.py.
———————————————————————————————————-
@tf_export(
'random.log_uniform_candidate_sampler',
v1=[
'random.log_uniform_candidate_sampler',
'nn.log_uniform_candidate_sampler'
])
@dispatch.add_dispatch_support
@deprecation.deprecated_endpoints('nn.log_uniform_candidate_sampler')
def log_uniform_candidate_sampler(true_classes, num_true, num_sampled, unique,
range_max, seed=None, name=None):
seed1, seed2 = random_seed.get_seed(seed)
return gen_candidate_sampling_ops.log_uniform_candidate_sampler(
true_classes, num_true, num_sampled, unique, range_max, seed=seed1,
seed2=seed2, name=name)
———————————————————————————————————-
HOWEVER, I cannot find the gen_candidate_sampling_ops.py in source code, which confused me.
Link:
https://github.com/tensorflow/tensorflow/blob/85c8b2a817f95a3e979ecd1ed95bff1dc1335cff/tensorflow/python/ops/candidate_sampling_ops.py#L99

@JulieYao0754
We see that the issue template has not been filled, could you please do so as it helps us analyse the issue [tf version, steps followed before you ran into this error or stand alone code to reproduce the issue faced]

These (gen_*_.py) are automatically generated files and can be found in your local TF installation.
For me on PyCharm IDE it is located at:
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/tensorflow/python/ops/gen_candidate_sampling_ops.py

@ymodak thanks a lot!

Are you satisfied with the resolution of your issue?
Yes
No


Add /pause and /unpause commands

Add commands to temporarily pause the console output. This is useful when you've got lots of debug output and you want to review it, or if you want to run a command and not have the output swamped by other logging (pausing only pauses the log output, not the command result output).

I think "pause" is a misleading name for this. "Pause", to me, implies that when I "unpause" I won't miss any events. I would suggest using "mute" as the name for the plugin instead, since that is exactly what the plugin is doing.

I think I like "mute" better actually.
In using this I've also realised it would be useful to be able to mute individual shards, although arguably you actually want to be able select one specific shard to view and mute the others, so perhaps this should be a different command, like "/filter"?

I think a /mute command to just pause and review existing logs is useful on its own, although I definitely agree that some mechanism to select specific log messages would be good. I imagine a /filter that just takes a regex would do it, right? /filter shard0 since creeps prefixes messages with that, /filter W80S20 since my custom logging framework adds the room name to log lines...

I've made some improvements to this and added a filter command as well. These two commands have to cooperate somewhat with regard to displaying the status (if you're paused, you don't care about the filter as you're effectively filtering everything), so I've added a mechanism for plugins to add a status message.


Doesn't sign_out

Hello!
I notice that after sign_out action - session doesn't become empty.
After some research I noticed that in controller sessions destroy action method sign_out is called - but there is no method all over related files. So I had to do monkey patch in my application_controller
def sign_out
     session[:user_id] = nil
end

Can you clarify a little bit? There is a sign_out method defined in clearance internals.
Depending how you set up your controllers you may or may not ever need to call it directly.

Thank you for your answer!
I had my controller set to store user_id in a session, that's why I had that problem.
Now I know that in clearance you store and check in User table.
 Please close that issue.

Glad it helped, thanks.


Initial base

Initial base of the platform. Data model implemented to a great portion, backend & frontend servers have been started.

Shouldn't the exports in the model be default exports?

And the Documentation in the DB... Classes is not needed for every attribute, since it should be inherited

And the Documentation in the DB... Classes is not needed for every attribute, since it should be inherited
@Kr0nox from my limited quick testing, documentation seems to not be inherited, i'd guess since it's an implementation, not extension... can you confirm that the documentation is inherited from an interface?

In VS Code it will display the documentation even if it is not written in th DB class.

Odd, I've confirmed this works in VSCode, but doesn't in WebStorm.
I'm fine with removing the documentation then, it seems our lint works aswell if they aren't documented. inheritDoc doesn't seem to fix the issue in webstorm, I think that's mainly a tag used when exporting documentation

Shouldn't the exports in the model be default exports? Or at least the ones which are named like the files, especcially if its the only thing in the file

For consistency, wouldn't it be better if every class/enum has its own file (so every export would be default)? Or every export stays as is?


First try at running elm make fails.

Hi,
I installed Elm on OSX 10.9.5 Mavericks yesterday using Elm Platform package installer 0.17. I thought I'd try out the Buttons tutorial on my machine, but I got an error message:
$ elm make button.elm
Some new packages are needed. Here is the upgrade plan.

  Install:
    elm-lang/core 4.0.0

Do you approve of this plan? (y/n) y
Downloading elm-lang/core
Packages configured successfully!
I cannot find module 'Html'.

Module 'Main' is trying to import it.

Potential problems could be:
  * Misspelled the module name
  * Need to add a source directory or new dependency to elm-package.json

I found this StackOverflow answer that suggests running elm package install evancz/elm-html. That leads to:
Error: Unable to find a set of packages that will work with your constraints
The elm-package.json that was generated looks like this:
{
    "version": "1.0.0",
    "summary": "helpful summary of your project, less than 80 characters",
    "repository": "https://github.com/user/project.git",
    "license": "BSD3",
    "source-directories": [
        "."
     If this isn't the right place to open this issue please point me in the right direction.
Regards,
iain

As of Elm 0.17, you need elm package install elm-lang/html instead of elm package install evancz/elm-html.

Thanks, but I still get an error:
$ elm package install elm-lang/html
To install elm-lang/html I would like to add the following
dependency to elm-package.json:

    "elm-lang/html": "1.0.0 <= v < 2.0.0"

May I add that to elm-package.json for you? (y/n) y

Error: Unable to find a set of packages that will work with your constraints.

Is there something else I need to do?

Well, you should delete the now obsolete evancz/elm-html line from your elm-package.json, of course.


Adding a specific build for K32W061 RCP image with UART with flow control

Create a new dedicated build for the K32W061 OT RCP image with HW flow control enabled.

Are we still waiting on @doru91 's review?


Logging: Add new game_state variable: has_rock

The game_state for all events should contain a boolean called has_rock, which is true if the player is currently holding a rock in their beak, otherwise false.

7c7feb65b3209f58b629bcaf5ed91a36c1a7038f


Move to GitHub actions

This PR moves avro-rs to GitHub actions.
Here's an example of what a CI run looks like, using an earlier version of this
branch against my fork of avro-rs: https://github.com/cpcloud/avro-rs/pull/1/checks.
GitHub actions is IMO far easier to use, more flexible with many useful
plugins, and you don't have to leave GitHub to use it.
I've added 4 builds (stable, beta, night, and an MSRV somewhat arbitrarily set
at 1.40) and 1 security audit workflow.
I'm happy to do the security audit job in another PR if that's preferable.
TODO:

[] Update README.md with correct Build Status badge

@poros I think you'll have to enable GitHub actions for the repo for this PR to show any checks from actions.

Ah, I have never used them (we use Jenkins and Travis at work), but this could be a good learning opportunity. Sorry if this PR will take a bit more to come through, I have to budget some time to read about GitHub actions.

@poros I think you'll have to enable GitHub actions for the repo for this PR to show any checks from actions.

I honestly cannot figure out how to do this. I am not the owner of the repo, so I might not have permissions? Although I seem to be able to configure a workflow for this repo from the Actions tab...

I think this requires permissions from @flavray. @flavray Can you give @poros full owner rights over the repo?

It seems that ownership can only be transferred, not shared: https://docs.github.com/en/github/setting-up-and-managing-your-github-user-account/permission-levels-for-a-user-account-repository
Anyway, github actions are not listed in the above page. Perhaps we first need to merge to master to setup the workflow before we can see any action?

Whenever you feel this PR is ready to merge @cpcloud , we could try and see how it goes.

@poros Let's merge this!

Alright, let's try it out. If it doesn't work, I'll revert.


Force squash & merge PRs to main

It is known as good practice to squash & merge PRs to ensure a clean Git history. I would suggest to apply this to our project. One can select this on each PR or set is as default in the project settings. Those are only visible to the project lead @ssteinbuss.
In addition, I would appreciate if we could stick to Conventional Commits (will be part of the CONTRIBUTING guidelines). Taking the PR title as commit message makes it easier to check the PR titles for formatting via GH actions. We are also using this in the EDC project; this approach is even applicable to contributions from forks.
An example for the settings:

@ssteinbuss  checks the otterdog configuration

@juliapampus  can this be closed?


add(ui-libraries): Tail-kit

Name
Link

Tail-kit
https://tailwind-kit.com

Tail-kit, a free and open source components Kit based on Tailwind CSS 2.0.

[x] My item is in the right category
[x] My item is logically grouped below similar items
[x] My item's name and description respects the conventions of the list
[x] My item is awesome
[x] I have read and followed the contribution guidelines

This looks fantastic

This looks fantastic

I've consulted with Adam about the naming of this project, once his verdict comes back I'll update.

I've consulted with Adam about the naming of this project, once his verdict comes back I'll update.

Closing as no response in 10 days.

Closing as no response in 10 days.


Add locale parameter to WordPress.com API calls

There is a new parameter for sending device/app locale through for localized error messages, etc. Update our API calls to provide this on every call, if so desired.

Closing issue and migrating to new repo.


double-beep: Blacklist Keto\W?Supreme

double-beep requests the blacklist of the keyword Keto\W?Supreme. See the MS search here and the Stack Exchange search here.

Keto\W?Supreme has been seen in 5 true positives, 0 false positives, and 0 NAAs.

Approved by tripleee in Charcoal HQ


Issue with env config

I want to replicate my production datasource configuration when using mysql, so I defined a test configuration like the following which works well
@TestConfiguration
public class TestContainersDataSourceConfig {

  @Autowired ApplicationContext applicationContext;

  @Bean HikariConfig hikariConfig() throws Exception {

    Environment env = applicationContext.getEnvironment();

    HikariConfig config = new HikariConfig();
    config.setJdbcUrl("jdbc:mysql://" + env.getProperty("embedded.mysql.host") + ":" + env.getProperty("embedded.mysql.port") + "/" + env.getProperty("embedded.mysql.schema") + "?characterEncoding=utf8&connectTimeout=5000&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Australia/Melbourne");

    config.setUsername(env.getProperty("embedded.mysql.user"));
    config.setPassword(env.getProperty("embedded.mysql.password"));
...

This works as expected, however ideally I could inject an instance of com.playtika.test.mysql.MySQLProperties instead of using the  applicationContext.getEnvironment() however when I did that :
@Autowied com.playtika.test.mysql.MySQLProperties mysqlProps; and mysqlProps.getPort() the returned value is the defaults not the runtime values as per the environment.
Is there a way to make this work ?

I afraid at this point - not really, but in the same time I wonder why you create HikariConfig via java code, instead relying on Spring DS autoconfiguration (where from Spring boot 2.0 hikari is default is default implementation)
example - https://stackoverflow.com/questions/26490967/how-do-i-configure-hikaricp-in-my-spring-boot-app-in-my-application-properties-f

Legacy I guess - been using hikari since before spring was
Ok, i'll look to change over to Spring DS autoconfig thanks


docs(dev-server): add devServer.config CLI flag

The devServer.config option is available in dev-server but never be documented
Related: https://stackoverflow.com/a/45929177/11077662

Should we close this one?

Should we close this one?

Ok. I will open another pull request later


Support of GET methods prerendering

Describe the bug
after migration to new route format (rss.xml/+server.ts) I fount that if I use static-adapter, it seems that prerender of GET server methods broke.
Before update I added GET method for server endpoint and was able to render static rss feed and sitemap
It seems that before update static adapter was trying to prerender server response, but now - don't,
Reproduction

src\routes/rss.xml

export const GET: RequestHandler = async () => {
  const body={};
  return new Response(body, {
    headers: {
      'Cache-Control': `max-age=0, s-maxage=${3600}`,
      'Content-Type': 'application/xml'
    }
  });
};

Logs
@sveltejs/adapter-static: all routes must be fully prerenderable, but found the following routes that are dynamic:

System Info
System:
    OS: Windows 10 10.0.19045
    CPU: (8) x64 Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz
    Memory: 5.76 GB / 31.88 GB
  Binaries:
    Node: 18.12.1 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.15 - ~\AppData\Roaming\npm\yarn.CMD
    npm: 9.5.1 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Spartan (44.19041.1266.0), Chromium (113.0.1774.50)
    Internet Explorer: 11.0.19041.1566
  npmPackages:
    @sveltejs/adapter-static: next => 1.0.0-next.50
    @sveltejs/kit: next => 1.0.0-next.589
    svelte: ^3.59.1 => 3.59.1
    vite: ^4.3.8 => 4.3.8

Severity
blocking an upgrade
Additional Information
No response

To force a page/endpoint to prerender even if it looks like a dynamic route, you need to specify export const prerender = true - https://kit.svelte.dev/docs/page-options#prerender


Add Zipkin on dapr init. Add tracing config, zipkin component on init.

Description
This is to run zipkin and enable tracing by default on dapr init
This also deletes the .dapr folder on dapr uninstall --al
Working on the docs now.
Issue reference
Please reference the issue this PR will close: #342
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[X] Code compiles correctly
[x] Created/updated tests
[ ] Extended the documentation

Changed init log due to addition of log statements in uninstall function. uninstall --all being run on init.
⌛  Making the jump to hyperspace...
trying to remove container:  dapr_placement
trying to remove container:  dapr_redis
trying to remove container:  dapr_zipkin
WARNING: could not delete run data file
removing folder:  ~/.dapr
↓  Downloading binaries and setting up components... required version 0.8.0 is the same as installed version at /usr/local/bin
✅  Downloading binaries and setting up components...
ℹ  daprd binary has been installed.

ℹ  dapr_placement container is running.

ℹ  dapr_redis container is running.

ℹ  dapr_zipkin container is running.

ℹ  Use `docker ps` to check running containers.

✅  Success! Dapr is up and running. To get started, go here: https://aka.ms/dapr-getting-started

Removal of uninstall --all call on init will be handled as part of https://github.com/dapr/cli/issues/380


Add proper error handling on the http-request example.

Hi @lukechu10, i've decided to simplify and it turned out way more simpler and working as expected.


Provide a way to force init

There is logic in the cli that prevents unnecessary terraform init calls.
This function checks the MACH composer CLI lock-file to see if there are any changes. If not; it will skip init.
In some cases this might cause issues, resulting in Terraform returning there is no package for registry.terraform.io/labd/commercetools 1.4.3 cached in .terraform/providers errors.
To work around this we could force an init, but mach-composer terraform init goes through the same method. For this it would be good to either explicitly force an init (mach-composer terraform init --force) or let the command itself be explicit in itself and skip the lock-file check.

Fixed in https://github.com/mach-composer/mach-composer-cli/blob/main/CHANGELOG.md#v2164-2024-03-12


Support for other cuSPARSE formats

Description
Hello,
I have been using CUDA C++ for finite element simulations in structural engineering as part of my PhD research over the past year. Recently, I decided to transition to CuPy to make my software framework more accessible and easier to use by a broader audience. In the process, I noticed that CuPy currently implements sparse matrix classes similar to those in scipy.sparse, which is great. However, cuSPARSE, which CuPy leverages, includes additional formats like the Sliced ELLPACK (SELL) format, which can offer better performance for SpMV kernels in specific scenarios (as documented here: NVIDIA cuSPARSE and this corresponding paper).
I’m curious to know what would be required to make these additional cuSPARSE formats available in CuPy. I would love to contribute to this effort if my experience with CuPy and CUDA allows it.
Thank you for your time and consideration!
Additional Information
No response

cc: @samaid for vis


Add unit tests to compare log splitter analysis option vs. current triggers

Feature(s) Requested
Per comment from @valarnin on #92:

Another good follow up PR would be some unit testing checking that this is getting all the lines we currently use in triggers, by checking currently used triggers or something, but that's a bit more complex. (basically import all the triggers, loop through them to get line types used, construct default versions of those line types via the log type definitions, then passing those through the splitter and checking the output)

Definitely supportive of this.  In terms of implementation, we probably need to give some thought to where that unit test should live/how it should be run.  If it's folded into the current mocha test bed, that means that anyone PR'ing triggers that use a new logline type for the first time would cause the test workflow job to fail (and if merged, would cause all future PRs/merges to similarly fail that workflow) until log splitter is updated.  Maybe that's okay if we want to enforce it to that degree?  Just starting the discussion though...

I sort of wonder whether it might make sense to have the list of implemented log lines live outside the splitter as a resource file. This way we could have both this test and the splitter import it and have to update it only once at any time. It would also be a lot simpler to point new people at a resource file that needs updating vs "oh, this random utility breaks stuff". Maybe I'm overthinking it, but we want to avoid these kinds of blockers as much as possible given the expansion release coming up.

I sort of wonder whether it might make sense to have the list of implemented log lines live outside the splitter as a resource file. This way we could have both this test and the splitter import it and have to update it only once at any time. It would also be a lot simpler to point new people at a resource file that needs updating vs "oh, this random utility breaks stuff". Maybe I'm overthinking it, but we want to avoid these kinds of blockers as much as possible given the expansion release coming up.

Building on that, instead of having people ever manually edit the resource file, we can create it one-time and then have a workflow that runs only on merge commits to main that looks for new trigger types and, if one is found, adds it to the resource file (well, I suppose, opens a PR to add it to the resource file, so we don't have a workflow merging unreviewed commits directly).  That would solve the need for anyone to actively keep the resource file in sync.
If we wanted to do unit tests on top of that, we can create a unit test script and hook it to mocha.  It would automatically run against the auto-created PR to tell us if there's an issue with the changed resource file before it gets merged.

Yes, now that you write it out like that I'm not sure why I didn't just go to that immediately. Automate as much as possible.
I agree that we should have the automated workflow stop at generating the PR. That's still going to be a soft blocker for any contributors who might happen to use a new line type for the first time, but it's extremely unlikely that contributor will be new to the repository. If it happens to any of us who contribute regularly, it shouldn't be much of a burden to jump over and approve the auto-generated PR.

That's still going to be a soft blocker for any contributors who might happen to use a new line type for the first time, but it's extremely unlikely that contributor will be new to the repository. If it happens to any of us who contribute regularly, it shouldn't be much of a burden to jump over and approve the auto-generated PR.

The way I'm envisioning it, I think we could even remove the blocking element.  So the flow would be something like:

used_log_types resource file contains all currently used logline types.  It gets imported/used by splitter.ts at the time someone splits a log with the analysis flag/checkbox turned on.  It's also read by a mocha test to determine which line types to unit test against the splitter function.
Any contributor opens a PR with a trigger that uses a new log type.  (The mocha test workflow continues to run fine, since nothing new has been added to used_log_types yet.
The PR with triggers is approved & merged.
The merging of the PR fires an update_usedlogtypes workflow that runs a script to check all log types currently in use in the repo, and updates used_log_types if any new ones are found.
If that results in changes to used_log_types, the workflow will create a new branch, commit the changed used_log_types file, and open a PR against the new branch.  (Note: This step can be handled entirely by an existing GH action like this one.
The PR being opened will -- as normal with PRs -- trigger the test workflow that runs mocha.  It automatically runs against the PR head branch, so the updated used_log_types file will be used.  If the update results in a failed unit test, it'll get flagged on the PR; if not, the PR can be merged at any point (it won't block anything in the meantime).

Takes a lot of words to write out, but I think it's pretty clean, implementation-wise?

Closing this as done via #128.  There was a possible to-do relating to adding unit testing to ensure the filter was correctly processing all the lines it was supposed to, but given the way 109/128 were implemented and as I mentioned here, I don't think there's much else that can be done for unit testing.


Math magicians: components

Description
In this project, you should continue developing the Math Magicians app. You will create a React component that will hold the core functionality: a calculator.
Project Requirements

Delete all the boilerplate from CRA (text, images, styles).
Create a directory called components.
Inside components, create a new Calculator.js file.
In Calculator.js, create a React component that matches the design provided.
Don't add any extra design.
Develop just the UI of the calculator; the math logic to make it work will be added in the next project.
Use class-based components (All components should be class-based).
Once the Calculator is ready, import it and use it in your main component (App.js).
Test it in the browser; it should render without problems.

All required changes completed!
(Check under the reviewer comments for more details)


migrations directory cannot contain full stop

my migrations directory was named pillar.migrations and this was throwing an exception stating it could not find any migration files, renaming the directory to migrations fixed this issue, but that is not ideal since I have multiple databases, each with it's own set of migrations.

Thanks for reporting this! It would be great if you could submit a pull request with a fix. :-)


⚠ Samsung has degraded performance

In 11b9ab1, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2161 ms

Resolved: Samsung performance has improved in 5533a75.


Add Support for Hadoop 3.2

      ❨?❩

Why are the changes needed?

This PR Add Support for Hadoop 3.2 Profile to work with spark3.1.1
How was this patch tested?

[x] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[x] Run test locally before make a pull request

cc @pan3793,  @ulysses-you these test failure seems not related to this PR

ConnectionLevelSparkEngineSuite:
07:59:33.693 ERROR org.apache.curator.framework.imps.CuratorFrameworkImpl: Background exception was not retry-able or retry gave up
java.lang.InterruptedException
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:502)
	at org.apache.zookeeper.ClientCnxn.submitRequest(ClientCnxn.java:1407)
	at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:790)
	at org.apache.curator.utils.ZKPaths.mkdirs(ZKPaths.java:291)
	at org.apache.curator.framework.imps.CreateBuilderImpl$7.performBackgroundOperation(CreateBuilderImpl.java:561)
	at org.apache.curator.framework.imps.OperationAndData.callPerformBackgroundOperation(OperationAndData.java:72)
	at org.apache.curator.framework.imps.CuratorFrameworkImpl.performBackgroundOperation(CuratorFrameworkImpl.java:831)
	at org.apache.curator.framework.imps.CuratorFrameworkImpl.backgroundOperationsLoop(CuratorFrameworkImpl.java:809)
	at org.apache.curator.framework.imps.CuratorFrameworkImpl.access$300(CuratorFrameworkImpl.java:64)
	at org.apache.curator.framework.imps.CuratorFrameworkImpl$4.call(CuratorFrameworkImpl.java:267)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
- check discovery service is clean up with different share level *** FAILED ***
  13,13,1614844773696,1614844773696,0,0,0,0,0,0,13
   did not equal null (ShareLevelSparkEngineSuite.scala:56)
```

Let me take a close look with this flaky test.


Dev

Update docs after tflint fix

### Pull Request Review Checklist
- [ ] [ID: TFFR1 - Category: Composition - Cross-Referencing Modules](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tffr1---category-composition---cross-referencing-modules)
- [ ] [ID: TFFR2 - Category: Outputs - Additional Terraform Outputs](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tffr2---category-outputs---additional-terraform-outputs)
- [ ] [ID: TFNFR1 - Category: Documentation - Descriptions](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr1---category-documentation---descriptions)
- [ ] [ID: TFNFR2 - Category: Documentation - Module Documentation Generation](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr2---category-documentation---module-documentation-generation)
- [ ] [ID: TFNFR3 - Category: Contribution/Support - GitHub Repo Branch Protection](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr3---category-contributionsupport---github-repo-branch-protection)
- [ ] [ID: TFNFR4 - Category: Composition - Code Styling - lower snake_casing](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr4---category-composition---code-styling---lower-snake_casing)
- [ ] [ID: TFNFR5 - Category: Testing - Test Tooling](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr5---category-testing---test-tooling)
- [ ] [ID: TFNFR6 - Category: Code Style - The Order of resource and data in the Same File](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr6---category-code-style---the-order-of-resource-and-data-in-the-same-file)
- [ ] [ID: TFNFR7 - Category: Code Style - The Use of count and for_each](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr7---category-code-style---the-use-of-count-and-for_each)
- [ ] [ID: TFNFR8 - Category: Code Style - Orders Within resource and data Blocks](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr8---category-code-style---orders-within-resource-and-data-blocks)
- [ ] [ID: TFNFR9 - Category: Code Style - Order within a module block](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr9---category-code-style---order-within-a-module-block)
- [ ] [ID: TFNFR10 - Category: Code Style - Values in ignore_changes passed to provider, depends_on, lifecycle blocks are not allowed to use double quotations](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr10---category-code-style---values-in-ignore_changes-passed-to-provider-depends_on-lifecycle-blocks-are-not-allowed-to-use-double-quotations)
- [ ] [ID: TFNFR11 - Category: Code Style - null comparison as creation toogle](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr11---category-code-style---null-comparison-as-creation-toogle)
- [ ] [ID: TFNFR12 - Category: Code Style - Optional nested object argument should use dynamic](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr12---category-code-style---optional-nested-object-argument-should-use-dynamic)
- [ ] [ID: TFNFR13 - Category: Code Style - Use coalesce or try when setting default values for nullable expressions](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr13---category-code-style---use-coalesce-or-try-when-setting-default-values-for-nullable-expressions)
- [ ] [ID: TFFR14 - Category: Inputs - No enabled or module_depends_on variable](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tffr14---category-inputs---no-enabled-or-module_depends_on-variable)
- [ ] [ID: TFNFR15 - Category: Code Style - Order to define variable](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr15---category-code-style---order-to-define-variable)
- [ ] [ID: TFNFR16 - Category: Code Style - Name of a variable MUST follow rules](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr16---category-code-style---name-of-a-variable-must-follow-rules)
- [ ] [ID: TFNFR17 - Category: Code Style - Every variable MUST come with a description](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr17---category-code-style---every-variable-must-come-with-a-description)
- [ ] [ID: TFNFR18 - Category: Code Style - Every variable MUST have an appropriate type](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr18---category-code-style---every-variable-must-have-an-appropriate-type)
- [ ] [ID: TFNFR19 - Category: Code Style - variable containing confidential data should be declared as sensitive = true](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr19---category-code-style---variable-containing-confidential-data-should-be-declared-as-sensitive--true)
- [ ] [ID: TFNFR20 - Category: Code Style - Declare nullable = false when it’s possible](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr20---category-code-style---declare-nullable--false-when-its-possible)
- [ ] [ID: TFNFR21 - Category: Code Style - MUST NOT declare nullable = true](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr21---category-code-style---must-not-declare-nullable--true)
- [ ] [ID: TFNFR22 - Category: Code Style - MUST NOT declare sensitive = false](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr22---category-code-style---must-not-declare-sensitive--false)
- [ ] [ID: TFNFR23 - Category: Code Style - variable with sensitive = true MUST NOT have default value](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr23---category-code-style---variable-with-sensitive--true-must-not-have-default-value-unless-the-default-value-represents-turning-off-a-feature-like-default--null-or-default--)
- [ ] [ID: TFNFR24 - Category: Code Style - Deal with deprecated variable](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr24---category-code-style---deal-with-deprecated-variable)
- [ ] [ID: TFNFR25 - Category: Code Style - All verified modules MUST have terraform.tf file and required_version MUST be set](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr25---category-code-style---all-verified-modules-must-have-terraformtf-file-and-required_version-must-be-set)
- [ ] [ID: TFNFR26 - Category: Code Style - Providers MUST be declared in the required_providers block in terraform.tf and MUST have a constraint on minimum and maximum major version](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr26---category-code-style---providers-must-be-declared-in-the-required_providers-block-in-terraformtf-and-must-have-a-constraint-on-minimum-and-maximum-major-version)
- [ ] [ID: TFNFR27 - Category: Code Style - Declaration of a provider in the module](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr27---category-code-style---declaration-of-a-provider-in-the-module)
- [ ] [ID: TFNFR28 - Category: Code Style - output MUST be arranged alphabetically](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr28---category-code-style---output-must-be-arranged-alphabetically)
- [ ] [ID: TFNFR29 - Category: Code Style - output contains confidential data should declare sensitive = true](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr29---category-code-style---output-contains-confidential-data-should-declare-sensitive--true)
- [ ] [ID: TFNFR30 - Category: Code Style - Dealing with Deprecated outputs](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr30---category-code-style---dealing-with-deprecated-outputs)
- [ ] [ID: TFNFR31 - Category: Code Style - locals.tf MUST contain only locals blocks](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr31---category-code-style---localstf-must-contain-only-locals-blocks)
- [ ] [ID: TFNFR32 - Category: Code Style - local should be arranged alphabetically](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr32---category-code-style---local-should-be-arranged-alphabetically)
- [ ] [ID: TFNFR33 - Category: Code Style - local should use types as precise as possible](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr33---category-code-style---local-should-use-types-as-precise-as-possible)
- [ ] [ID: TFNFR34 - Category: Code Style - Feature toggle MUST be used to ensure forward compatibility of versions and avoid unexpected changes caused by upgrades](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr34---category-code-style---feature-toggle-must-be-used-to-ensure-forward-compatibility-of-versions-and-avoid-unexpected-changes-caused-by-upgrades)
- [ ] [ID: TFNFR35 - Category: Code Style - Changes that might be breaking change MUST be reviewed with caution](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr35---category-code-style---changes-that-might-be-breaking-change-must-be-reviewed-with-caution)
- [ ] [ID: TFNFR36 - Category: Code Style - Example code MUST set prevent_deletion_if_contains_resources to false in provider block](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr36---category-code-style---example-code-must-set-prevent_deletion_if_contains_resources-to-false-in-provider-block)
- [ ] [ID: TFNFR37 - Category: Code Style - Module owner MAY use tools like newres](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr37---category-code-style---module-owner-may-use-tools-like-newreshttpsgithubcomlonegunmanbnewres)

Specification
Review

ID: TFFR1 - Category: Composition - Cross-Referencing Modules
[ ] OK

ID: TFFR2 - Category: Outputs - Additional Terraform Outputs
[ ] OK

ID: TFNFR1 - Category: Documentation - Descriptions
[ ] OK

ID: TFNFR2 - Category: Documentation - Module Documentation Generation
[ ] OK

ID: TFNFR3 - Category: Contribution/Support - GitHub Repo Branch Protection
[ ] OK

ID: TFNFR4 - Category: Composition - Code Styling - lower snake_casing
[ ] OK

ID: TFNFR5 - Category: Testing - Test Tooling
[ ] OK

ID: TFNFR6 - Category: Code Style - The Order of resource and data in the Same File
[ ] OK

ID: TFNFR7 - Category: Code Style - The Use of count and for_each
[ ] OK

ID: TFNFR8 - Category: Code Style - Orders Within resource and data Blocks
[ ] OK

ID: TFNFR9 - Category: Code Style - Order within a module block
[ ] OK

ID: TFNFR10 - Category: Code Style - Values in ignore_changes passed to provider, depends_on, lifecycle blocks are not allowed to use double quotations
[ ] OK

ID: TFNFR11 - Category: Code Style - null comparison as creation toogle
[ ] OK

ID: TFNFR12 - Category: Code Style - Optional nested object argument should use dynamic
[ ] OK

ID: TFNFR13 - Category: Code Style - Use coalesce or try when setting default values for nullable expressions
[ ] OK

ID: TFFR14 - Category: Inputs - No enabled or module_depends_on variable
[ ] OK

ID: TFNFR15 - Category: Code Style - Order to define variable
[ ] OK

ID: TFNFR16 - Category: Code Style - Name of a variable MUST follow rules
[ ] OK

ID: TFNFR17 - Category: Code Style - Every variable MUST come with a description
[ ] OK

ID: TFNFR18 - Category: Code Style - Every variable MUST have an appropriate type
[ ] OK

ID: TFNFR19 - Category: Code Style - variable containing confidential data should be declared as sensitive = true
[ ] OK

ID: TFNFR20 - Category: Code Style - Declare nullable = false when it’s possible
[ ] OK

ID: TFNFR21 - Category: Code Style - MUST NOT declare nullable = true
[ ] OK

ID: TFNFR22 - Category: Code Style - MUST NOT declare sensitive = false
[ ] OK

ID: TFNFR23 - Category: Code Style - variable with sensitive = true MUST NOT have default value
[ ] OK

ID: TFNFR24 - Category: Code Style - Deal with deprecated variable
[ ] OK

ID: TFNFR25 - Category: Code Style - All verified modules MUST have terraform.tf file and required_version MUST be set
[ ] OK

ID: TFNFR26 - Category: Code Style - Providers MUST be declared in the required_providers block in terraform.tf and MUST have a constraint on minimum and maximum major version
[ ] OK

ID: TFNFR27 - Category: Code Style - Declaration of a provider in the module
[ ] OK

ID: TFNFR28 - Category: Code Style - output MUST be arranged alphabetically
[ ] OK

ID: TFNFR29 - Category: Code Style - output contains confidential data should declare sensitive = true
[ ] OK

ID: TFNFR30 - Category: Code Style - Dealing with Deprecated outputs
[ ] OK

ID: TFNFR31 - Category: Code Style - locals.tf MUST contain only locals blocks
[ ] OK

ID: TFNFR32 - Category: Code Style - local should be arranged alphabetically
[ ] OK

ID: TFNFR33 - Category: Code Style - local should use types as precise as possible
[ ] OK

ID: TFNFR34 - Category: Code Style - Feature toggle MUST be used to ensure forward compatibility of versions and avoid unexpected changes caused by upgrades
[ ] OK

ID: TFNFR35 - Category: Code Style - Changes that might be breaking change MUST be reviewed with caution
[ ] OK

ID: TFNFR36 - Category: Code Style - Example code MUST set prevent_deletion_if_contains_resources to false in provider block
[ ] OK

ID: TFNFR37 - Category: Code Style - Module owner MAY use tools like newres
[ ] OK

Specification
Review

ID: TFFR1 - Category: Composition - Cross-Referencing Modules
[ ] OK

ID: TFFR2 - Category: Outputs - Additional Terraform Outputs
[ ] OK

ID: TFNFR1 - Category: Documentation - Descriptions
[ ] OK

ID: TFNFR2 - Category: Documentation - Module Documentation Generation
[ ] OK

ID: TFNFR3 - Category: Contribution/Support - GitHub Repo Branch Protection
[ ] OK

ID: TFNFR4 - Category: Composition - Code Styling - lower snake_casing
[ ] OK

ID: TFNFR5 - Category: Testing - Test Tooling
[ ] OK

ID: TFNFR6 - Category: Code Style - The Order of resource and data in the Same File
[ ] OK

ID: TFNFR7 - Category: Code Style - The Use of count and for_each
[ ] OK

ID: TFNFR8 - Category: Code Style - Orders Within resource and data Blocks
[ ] OK

ID: TFNFR9 - Category: Code Style - Order within a module block
[ ] OK

ID: TFNFR10 - Category: Code Style - Values in ignore_changes passed to provider, depends_on, lifecycle blocks are not allowed to use double quotations
[ ] OK

ID: TFNFR11 - Category: Code Style - null comparison as creation toogle
[ ] OK

ID: TFNFR12 - Category: Code Style - Optional nested object argument should use dynamic
[ ] OK

ID: TFNFR13 - Category: Code Style - Use coalesce or try when setting default values for nullable expressions
[ ] OK

ID: TFFR14 - Category: Inputs - No enabled or module_depends_on variable
[ ] OK

ID: TFNFR15 - Category: Code Style - Order to define variable
[ ] OK

ID: TFNFR16 - Category: Code Style - Name of a variable MUST follow rules
[ ] OK

ID: TFNFR17 - Category: Code Style - Every variable MUST come with a description
[ ] OK

ID: TFNFR18 - Category: Code Style - Every variable MUST have an appropriate type
[ ] OK

ID: TFNFR19 - Category: Code Style - variable containing confidential data should be declared as sensitive = true
[ ] OK

ID: TFNFR20 - Category: Code Style - Declare nullable = false when it’s possible
[ ] OK

ID: TFNFR21 - Category: Code Style - MUST NOT declare nullable = true
[ ] OK

ID: TFNFR22 - Category: Code Style - MUST NOT declare sensitive = false
[ ] OK

ID: TFNFR23 - Category: Code Style - variable with sensitive = true MUST NOT have default value
[ ] OK

ID: TFNFR24 - Category: Code Style - Deal with deprecated variable
[ ] OK

ID: TFNFR25 - Category: Code Style - All verified modules MUST have terraform.tf file and required_version MUST be set
[ ] OK

ID: TFNFR26 - Category: Code Style - Providers MUST be declared in the required_providers block in terraform.tf and MUST have a constraint on minimum and maximum major version
[ ] OK

ID: TFNFR27 - Category: Code Style - Declaration of a provider in the module
[ ] OK

ID: TFNFR28 - Category: Code Style - output MUST be arranged alphabetically
[ ] OK

ID: TFNFR29 - Category: Code Style - output contains confidential data should declare sensitive = true
[ ] OK

ID: TFNFR30 - Category: Code Style - Dealing with Deprecated outputs
[ ] OK

ID: TFNFR31 - Category: Code Style - locals.tf MUST contain only locals blocks
[ ] OK

ID: TFNFR32 - Category: Code Style - local should be arranged alphabetically
[ ] OK

ID: TFNFR33 - Category: Code Style - local should use types as precise as possible
[ ] OK

ID: TFNFR34 - Category: Code Style - Feature toggle MUST be used to ensure forward compatibility of versions and avoid unexpected changes caused by upgrades
[ ] OK

ID: TFNFR35 - Category: Code Style - Changes that might be breaking change MUST be reviewed with caution
[ ] OK

ID: TFNFR36 - Category: Code Style - Example code MUST set prevent_deletion_if_contains_resources to false in provider block
[ ] OK

ID: TFNFR37 - Category: Code Style - Module owner MAY use tools like newres
[ ] OK

going to review the whole repository with @mbilalamjad tomorrow

@acauret @mbilalamjad was so kind and did the AVM-Review https://github.com/Azure/terraform-azurerm-avm-res-databricks-workspace/issues/20, please sort the open items so we can publish your module, thanks.

@acauret @mbilalamjad was so kind and did the AVM-Review #20, please sort the open items so we can publish your module, thanks.

Hi @acauret , did you find the time to look into it?


Breakes artifact of honor

Using version 1.4.1 of this mod with game version <IP_ADDRESS> breaks artifact of honor so no elites spawn at all.

Seems to be an issue on R2API's end, once that updates it should be fixed.

It's not just honor, it breaks all elite spawns. I've spend 2 hours figuring it out

R2API's EliteAPI is currently broken, so any mod that uses it will end up breaking elites. This mod uses EliteAPI for Origin's boss spawning code. R2API will have to fix the issue on their end.


About use known public key and signature to verify ECDSA

Description

Type: Feature Request
Priority: Major

OS
Mbed OS|linux|
Hi all,
I want to confirm whether my code like this is correct.
Description:
I will get the public key and signature from others. So I try to find a way to feed the key and signature to the mbedtls program.
as the below is my code, when it's compiled in visual studio ret==0, but when it ran on the arm architecture platform ret==0xffffb300.
In response to this, I would like to ask for your help here. Thanks.
    mbedtls_ecdsa_context  ctx_verify;
    int ret = 0;

    mbedtls_ecdsa_init(&ctx_verify);
    mbedtls_ecp_curve_info* curve_info = mbedtls_ecp_curve_info_from_grp_id(MBEDTLS_ECP_DP_SECP256R1);
    ret = mbedtls_ecp_group_load(&ctx_verify.grp, curve_info->grp_id);

    unsigned char public_key[65] = { 0 };
    unsigned char public_key_string[] = "04C2E29392617F1CCA8ABE8E3415A4E452BAA274DA100A4709466A22F8E6A8B1E3E73BC00C2DDFACD19ECAC0DEE2202A1971ED14AE83A577D649570DEE4CAE8DE4";
    unsigned char hash[32] = { 0 };
    unsigned char hash_string[] = "02F4CCF09D1F5740E28864C430F866B46B697646D376E7813D12B873DBE16CC6";
unsigned char sig[71] = { 0 };
    unsigned char sig_string[] = "3045022100A5CDE0DD9E025FD9CF1A02E1587F1154C1FF4D3BE25968548F4519572AC583D00220175617F1F8A6A16ECE5F5D4AFC12E10931B4BCC666BAA5A9840B4775B6B31A25";

	// "04CE29..." will be converted to {0x04,0xCE,0x29...} and save in public_key buffer
	TranslateACSIItoByte(public_key_string, public_key, 65);
    TranslateACSIItoByte(hash_string, hash, 32);
    TranslateACSIItoByte(sig_string, sig, 71);

    ret = mbedtls_ecp_point_read_binary(&(&ctx_verify)->grp, &(&ctx_verify)->Q, public_key, 65);

    printf("\nret=%d\n", ret);
    dump_pubkey("  + Public key: ", &ctx_verify);

    mbedtls_printf(" ok\n  . Verifying signature...");
    ret = mbedtls_ecdsa_read_signature(&ctx_verify, hash, sizeof(hash), sig, 71);
    printf("\nret=%d\n", ret);

Error codes from mbedtls_xxx functions are negative values. ret is actually -19712. You can use programs/util/strerror to print the corresponding error message:
Last error was: -0x4d00 - ECP - Generation of random value, such as ephemeral key, failed

There's probably something wrong with the integration of the RNG in your application.

I am closing this issue because it is a support request, not a bug report or a feature request. In the future, for support requests, please post on the mailing list.


Fix duplicate keyframes being added to the global stylesheet

I'm not sure if you're still accepting PRs for version 1 but this fixes a bug whereby identical keyframes are added multiple times to the global stylesheet rather than only once.

I can find you the old commit of v1 and push a patch, however I’ll beed to have a look at where it is first 😅

@philpl I branched off this tag - https://github.com/styled-components/styled-components/tree/v1.4.6
We had a look into v2 a while ago but observed some performance slowdowns so we haven't decided to upgrade yet, perhaps the performance issues have since been fixed though.

Sorry for not replying to this with the correct explanation of why this wasn’t merged yet. We have recently merged #1501 and as a result I have a better overview of our caching strategy now.
We are already caching components by IDs and their rules by name. Keyframes are already hashed and due to our caching strategy they shouldn’t be duplicated.
I’m not quite sure whether this was an issue before, but please check whether you can reproduce a cache miss after the release of 3.2.0


Update to .NET 8 versions of Component Detection

Pick up the most recent release of https://github.com/microsoft/component-detection. This includes deprecation of .NET 6 support, performance fixes, and being smarter about reaching out to untrusted network sources.

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

Project coverage is 66.86%. Comparing base (a9f74b1) to head (94f694d).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #755      +/-   ##
==========================================
- Coverage   70.13%   66.86%   -3.28%
==========================================
  Files         277      277
  Lines        8646     8646
  Branches     1006     1006
==========================================
- Hits         6064     5781     -283
- Misses       2063     2354     +291
+ Partials      519      511       -8

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