[Snyk] Security upgrade alpine from latest to 3.20.3

Snyk has created this PR to fix 1 vulnerabilities in the dockerfile dependencies of this project.
Keeping your Docker base image up-to-date means you’ll benefit from security fixes in the latest version of your chosen image.
Snyk changed the following file(s):

Dockerfile

We recommend upgrading to alpine:3.20.3, as this image has only 0 known vulnerabilities. To do this, merge this pull request, then verify your application still works as expected.
Vulnerabilities that will be fixed with an upgrade:

Issue
Score

CVE-2024-6119 SNYK-ALPINE320-OPENSSL-7895537
  54

CVE-2024-6119 SNYK-ALPINE320-OPENSSL-7895537
  54

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
Max score is 1000. Note that the real score may have changed since the PR was raised.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

Checkmarx One – Scan Summary & Details – 6192896c-3da0-4430-a730-fd017d96ed6e
New Issues

Severity
Issue
Source File / Package
Checkmarx Insight

Missing User Instruction
/Dockerfile: 8
A user should be specified in the dockerfile, otherwise the image will run as root

Denial_Of_Service_Resource_Exhaustion
/javascript.go: 81
Attack Vector

Denial_Of_Service_Resource_Exhaustion
/javascript.go: 81
Attack Vector

Reflected_Absolute_Path_Traversal
/report/template.go: 563
Attack Vector

Unpinned Actions Full Length Commit SHA
/release.yml: 27
Pinning an action to a full length commit SHA is currently the only way to use an action as an immutable release. Pinning to a particular SHA helps...

Unpinned Actions Full Length Commit SHA
/release.yml: 35
Pinning an action to a full length commit SHA is currently the only way to use an action as an immutable release. Pinning to a particular SHA helps...

Unpinned Actions Full Length Commit SHA
/ci.yml: 29
Pinning an action to a full length commit SHA is currently the only way to use an action as an immutable release. Pinning to a particular SHA helps...

Healthcheck Instruction Missing
/Dockerfile: 8
Ensure that HEALTHCHECK is being used. The HEALTHCHECK instruction tells Docker how to test a container to check that it is still working

Missing_Content_Security_Policy
/report/helper.go: 16
Attack Vector

Fixed Issues

Severity
Issue
Source File / Package

Missing User Instruction
/Dockerfile: 8

Passwords And Secrets - Generic Token
/deploy.yml: 10

Passwords And Secrets - Generic Token
/deploy.yml: 2

Passwords And Secrets - Generic Token
/deploy.yaml: 2

Passwords And Secrets - Generic Token
/deploy.yaml: 6

Passwords And Secrets - Generic Token
/deploy.yaml: 10

Passwords And Secrets - Generic Token
/deploy.yml: 6

Image Version Not Explicit
/Dockerfile: 8

Healthcheck Instruction Missing
/Dockerfile: 8

Missing_Content_Security_Policy
/testutil/http.go: 13

Use_Of_Hardcoded_Password
/testdata/javascript/main.js: 2

Use_Of_Hardcoded_Password
/testdata/javascript/foo/foo.js: 2


max-width not applied to search result post summaries

Example: https://mrkapowski.com/?s=test
Autonomie version: 1.0.0-beta-2 (.zip downloaded 15-May-2019)
Search results with auto-generated excerpts from<?php the_excerpt(); ?> are not wrapped in any HTML tags, so they are not triggering the .entry-summary > * rule from default-width.css, resulting in the excerpt extending the full width of the screen.
Example output:

    Lorem, ipsum dolor sit amet consectetur adipisicing elit. Tempora quas, natus quod eaque vel esse debitis inventore culpa ea ullam saepe iure ab nostrum in. Commodi quaerat ullam quidem minima.…

If the excerpt was wrapped in anything (p, span, whatever) then the correct max-width would be applied:

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Tempora quas, natus quod eaque vel esse debitis inventore culpa ea ullam saepe iure ab nostrum in. Commodi quaerat ullam quidem minima…

do you have an example page for me, because it is working smoothly on my site: https://notiz.blog/?s=openid

Oh, sorry... haven't seen the link!

It may be a problem with the classic editor and the post-kinds plugin!?!

/cc @dshanske

I’ll be able to dig into things more from my side, when I get home in a couple of hours. I’m a bit restricted at the office. I’ll try disabling both plugins as a first step, and report back. I’m running the latest versions of both, FWIW.

The problem does indeed disappear if I disable the Post Kinds plugin. It seems obvious now I've noticed the double output of Kind metadata in the search results as well.
While I was at it, I had a look at my previous theme, and it made use of remove_filter( 'the_excerpt', array( 'Kind_View', 'excerpt_response' ), 20 ); to remove Post Kinds from the_excerpt() output. I'll add this to a child theme of Autonomie, to solve my immediate problem 🙂
Should I close this issue, or do you want me to leave it open for now?

I would keep it open for documentation. Have you filed a bug on the Post-Kinds repo?

Yes, I've just created it. Thank you for taking a look at this and pointing me in the right direction :+1:

No problem and I am glad that you like/use the theme! 😊

Oh, nice! Thanks @MrKapowski and @dshanske! It looks really nice now!


<computed_column_definition>

This page uses <computed_column_definition>, but it does not have a definition or link.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: abcca5d2-d433-96cc-930e-4de020c5785d
Version Independent ID: fde147ff-b157-502c-276a-d3a2bf9bb3c7
Content: ALTER TABLE (Transact-SQL) - SQL Server
Content Source: docs/t-sql/statements/alter-table-transact-sql.md
Product: sql
Technology: t-sql
GitHub Login: @CarlRabeler
Microsoft Alias: carlrab

@JediSQL  Thank you for the feedback, please see computed_column_definition.
...and use the TOC when navigating terms:

Unfortunately, linking each term in-between articles would break the flow of content.

I am closing this issue now.  You are welcome to @ mention me for any followup.
We hope to hear from you again.

@WilliamAntonRohm
I guess I'm not used to topics being split across multiple pages. Now I know.
There is the standard paragraph that starts with "For more information about the syntax conventions..." For multi-page topics, maybe there could be a second sentence that identifies it as a multi-page topic and the need to use the TOC.


Installation fails on new ubuntu 18.04 vps on SkySilk

I created a new vps on SkySilk (tried two different plans) and it fails to fully install. Both VPS are fully up to date and have been restarted prior to install. There seems to be a permission issue. Can't find any open or closed issues on github related to this.
2019-02-01 23:45:10 (23.8 MB/s) - '/usr/local/bin/ee' saved [5554787/5554787]

-----> Pulling EasyEngine docker images
-----> Pulling EasyEngine docker images
Checking and Pulling required images. This may take some time.
Checking and Pulling docker image easyengine/cron:v4.0.0
v4.0.0: Pulling from easyengine/cron
8b608f890652: Pulling fs layer
8b608f890652: Verifying Checksum
8b608f890652: Download complete
failed to register layer: ApplyLayer exit status 1 stdout:  stderr: permission denied
Error: Errors were encountered while processing:<PHONE_NUMBER>2850_easyengine_insert_docker_images_version.php
Unable to pull easyengine/cron:v4.0.0. Please check logs for more details.
-----> Run "ee help site" for more information on how to create a site.

If I try to run a command to create a wordpress site I'm presented with this.
Checking and Pulling required images. This may take some time.
Checking and Pulling docker image easyengine/cron:v4.0.0
v4.0.0: Pulling from easyengine/cron
8b608f890652: Pulling fs layer
8b608f890652: Verifying Checksum
8b608f890652: Download complete
failed to register layer: ApplyLayer exit status 1 stdout:  stderr: permission denied
Error: Errors were encountered while processing:<PHONE_NUMBER>2850_easyengine_insert_docker_images_version.php
Unable to pull easyengine/cron:v4.0.0. Please check logs for more details.

Is there an issue with the install or the cron docker image?

Hi @Sh3nron, currently we (SkySilk) don't offer Docker support though it's on our to-do list for this year.

Are you (SkySilk) actively blocking it?

We are not actively blocking anything, the way our infrastructure is setup currently does not allow for Docker support. We are hoping to have Docker support as a main focus for this year.

If you have any SkySilk specific issues feel free to check out our Support Portal and Public Discord chat for community support.

Closing this issue as it does not seem to be related to EasyEngine


Conv2DTranspose failed when kernel_initializer='Identity' with CIFAR-100

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):YES
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):a GNU/Linux system with Linux kernel 4.15.0 on 1 6-core 3.60GHz Intel Core CPU i7-6850K with 64 GB RAM equipped with a NVIDIA Corporation GP102 GPUs
TensorFlow installed from (source or binary):source
TensorFlow version (use command below):tensorflow2-GPU
Python version:3.6
Bazel version (if compiling from source):

Describe the current behavior
When I tried to define a Conv2DTranspose layer and set kernel_initializer='Identity', the program crashed.
Describe the expected behavior
when I use MNIST it works. I expect that CIFAR-10 and CIFAR-100 should got the same performance as MNIST.
Standalone code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate
the problem. If possible, please share a link to Colab/Jupyter/any notebook.
batch_size = 28
epochs = 77
num_classes = 100
import os
save_dir = 'model'
model_name = 'test60_trained_model.h5'
import tensorflow.keras as keras
(x_train, y_train), (x_test, y_test) = keras.datasets.cifar10.load_data()
print('x_train shape:', x_train.shape)
print(x_train.shape[0], 'train samples')
print(x_test.shape[0], 'test samples')
img_rows, img_cols = x_train.shape[1], x_train.shape[2]
y_train = keras.utils.to_categorical(y_train, num_classes)
y_test = keras.utils.to_categorical(y_test, num_classes)
model = keras.models.Sequential()
model.add(keras.layers.Conv2DTranspose(filters=11,kernel_size=(19, 19), strides=(19, 19), padding='valid',activation='elu',kernel_initializer='Identity'))

model.add(keras.layers.Flatten())
model.add(keras.layers.Dense(num_classes))
x_train = x_train.astype('float32')
x_test = x_test.astype('float32')
x_train /= 255
x_test /= 255
model.compile(loss=keras.losses.categorical_crossentropy,optimizer=keras.optimizers.Adadelta(), metrics=['accuracy'])
model.fit(x_train, y_train, batch_size=batch_size, epochs=epochs, verbose=1, validation_data=(x_test, y_test))
score = model.evaluate(x_test, y_test, verbose=0)
print('Test accuracy:', score[1])
model_path = os.path.join(save_dir, model_name)
model.save(model_path)

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.
ValueError: Identity matrix initializer can only be used for 2D matrices.

Hi @bugreporter450 ,
I have come up with a solution and found it works. I have made changes in the Identity Class of tensorflow's init_ops_v2.py program. I am sharing the changes here.
#Your program
batch_size = 28
epochs = 77
num_classes = 100
import os
save_dir = 'model'
model_name = 'test60_trained_model.h5'
import tensorflow.keras as keras
(x_train, y_train), (x_test, y_test) = keras.datasets.cifar10.load_data()
print('x_train shape:', x_train.shape)
print(x_train.shape[0], 'train samples')
print(x_test.shape[0], 'test samples')
img_rows, img_cols, img_channels = x_train.shape[1], x_train.shape[2], x_train.shape[3]
y_train = keras.utils.to_categorical(y_train, num_classes)
y_test = keras.utils.to_categorical(y_test, num_classes)
model = keras.models.Sequential()
model.add(keras.layers.Conv2DTranspose(input_shape = (img_rows, img_cols, img_channels), filters=11 ,kernel_size= 19 , strides= 19 , padding='valid',activation='relu', kernel_initializer = 'Identity'))
model.add(keras.layers.Flatten())
model.add(keras.layers.Dense(num_classes))
x_train = x_train.astype('float32')
x_test = x_test.astype('float32')
x_train /= 255
x_test /= 255
model.compile(loss=keras.losses.categorical_crossentropy,optimizer=keras.optimizers.Adadelta(), metrics=['accuracy'])
model.fit(x_train, y_train, batch_size=batch_size, epochs=epochs, verbose=1, validation_data=(x_test, y_test))
score = model.evaluate(x_test, y_test, verbose=0)
print('Test accuracy:', score[1])
Changes in Identity Class of init_ops_v2.py:
class Identity(Initializer):
"""Initializer that generates the identity matrix.
Initializers allow you to pre-specify an initialization strategy, encoded in
the Initializer object, without knowing the shape and dtype of the variable
being initialized.
Only usable for generating 2D matrices.
Examples:

def make_variable(k, initializer):
...   return tf.Variable(initializer(shape=[k, k], dtype=tf.float32))
make_variable(2, tf.initializers.Identity())
<tf.Variable ... shape=(2, 2) dtype=float32, numpy=
array([[1., 0.],
[0., 1.]], dtype=float32)>
make_variable(3, tf.initializers.Identity(gain=0.5))
<tf.Variable ... shape=(3, 3) dtype=float32, numpy=
array([[0.5, 0. , 0. ],
[0. , 0.5, 0. ],
[0. , 0. , 0.5]], dtype=float32)>

Args:
gain: Multiplicative factor to apply to the identity matrix.
"""
def init(self, gain=1.0):
self.gain = gain
def call(self, shape, dtype = dtypes.float32):
"""Returns a tensor object initialized as specified by the initializer.
Args:
  shape: Shape of the tensor.
  dtype: Optional dtype of the tensor. Only floating point types are
   supported.

Raises:
  ValueError: If the dtype is not floating point
  ValueError: If the requested shape does not have exactly two axes.
"""
partition_info = None  # Keeps logic so can be readded later if necessary
dtype = _assert_float_dtype(dtype)
full_shape = shape if partition_info is None else partition_info.full_shape

if len(full_shape) < 2:
  raise ValueError(
      "Identity matrix initializer can only be used for 2D matrices.")

initializer = linalg_ops_impl.eye(full_shape[0],full_shape[1], batch_shape = [full_shape[3],full_shape[2]], dtype = dtypes.float32)
if partition_info is not None:
  initializer = array_ops.slice(initializer, partition_info.var_offset,
                                shape)
return self.gain * initializer

def get_config(self):
return {"gain": self.gain}
and also in the eye() function in linalg_ops_impl.py:
def eye(num_rows,
num_columns=None,
batch_shape=None,
dtype=dtypes.float32,
name=None):
"""Construct an identity matrix, or a batch of matrices.
See linalg_ops.eye.
"""
with ops.name_scope(
name, default_name='eye', values=[num_rows, num_columns, batch_shape]):
is_square = num_columns is None
batch_shape = [] if batch_shape is None else batch_shape
num_columns = num_rows if num_columns is None else num_columns
# We cannot statically infer what the diagonal size should be:
if (isinstance(num_rows, ops.Tensor) or
    isinstance(num_columns, ops.Tensor)):
  diag_size = math_ops.minimum(num_rows, num_columns)
else:
  # We can statically infer the diagonal size, and whether it is square.
  if not isinstance(num_rows, compat.integral_types) or not isinstance(
      num_columns, compat.integral_types):
    raise TypeError(
        'num_rows and num_columns must be positive integer values.')
  is_square = num_rows == num_columns
  diag_size = np.minimum(num_rows, num_columns)

# We can not statically infer the shape of the tensor.
if isinstance(batch_shape, ops.Tensor) or isinstance(diag_size, ops.Tensor):
  batch_shape = ops.convert_to_tensor(
      batch_shape, name='shape', dtype=dtypes.int32)
  diag_shape = array_ops.concat((batch_shape, [diag_size]), axis=0)

  if not is_square:
    shape = array_ops.concat((batch_shape, [num_rows, num_columns]), axis=0)
# We can statically infer everything.
else:

  diag_shape = batch_shape + [diag_size]

  if not is_square:
    shape = batch_shape + [num_rows, num_columns]

diag_ones = array_ops.ones(diag_shape, dtype=dtype)
if is_square:
  return np.array(array_ops.matrix_diag(diag_ones)).reshape(diag_size,diag_size,batch_shape[1],batch_shape[0])
else:
  zero_matrix = array_ops.zeros(shape, dtype=dtype)
  return array_ops.matrix_set_diag(zero_matrix, diag_ones).reshape(num_rows,num_columns,batch_shape[1],batch_shape[0])

pylint: enable=invalid-name,redefined-builtin
Hope it helps!

Hi @bugreporter450 ,
I have come up with a solution and found that it works. I am sharing the changes I have made.
#Your Program
batch_size = 28
epochs = 77
num_classes = 100
import os
save_dir = 'model'
model_name = 'test60_trained_model.h5'
import tensorflow.keras as keras
(x_train, y_train), (x_test, y_test) = keras.datasets.cifar10.load_data()
print('x_train shape:', x_train.shape)
print(x_train.shape[0], 'train samples')
print(x_test.shape[0], 'test samples')
img_rows, img_cols, img_channels = x_train.shape[1], x_train.shape[2], x_train.shape[3]
y_train = keras.utils.to_categorical(y_train, num_classes)
y_test = keras.utils.to_categorical(y_test, num_classes)
model = keras.models.Sequential()
model.add(keras.layers.Conv2DTranspose(input_shape = ( img_rows, img_cols, img_channels ), filters = 11 ,kernel_size= 19 , strides= 19 , padding='valid',activation='relu', kernel_initializer = 'identity'))
model.add(keras.layers.Flatten())
model.add(keras.layers.Dense(num_classes))
x_train = x_train.astype('float32')
x_test = x_test.astype('float32')
x_train /= 255
x_test /= 255
model.compile(loss=keras.losses.categorical_crossentropy,optimizer=keras.optimizers.Adadelta(), metrics=['accuracy'])
model.fit(x_train, y_train, batch_size=batch_size, epochs=epochs, verbose=1, validation_data=(x_test, y_test))
score = model.evaluate(x_test, y_test, verbose=0)
print('Test accuracy:', score[1])

In tensorflow module's init_ops_v2.py Program:
`class Identity(Initializer):
"""Initializer that generates the identity matrix.

Initializers allow you to pre-specify an initialization strategy, encoded in
the Initializer object, without knowing the shape and dtype of the variable
being initialized.
Only usable for generating 2D matrices.
Examples:

def make_variable(k, initializer):
...   return tf.Variable(initializer(shape=[k, k], dtype=tf.float32))
make_variable(2, tf.initializers.Identity())
<tf.Variable ... shape=(2, 2) dtype=float32, numpy=
array([[1., 0.],
[0., 1.]], dtype=float32)>
make_variable(3, tf.initializers.Identity(gain=0.5))
<tf.Variable ... shape=(3, 3) dtype=float32, numpy=
array([[0.5, 0. , 0. ],
[0. , 0.5, 0. ],
[0. , 0. , 0.5]], dtype=float32)>

Args:
gain: Multiplicative factor to apply to the identity matrix.
"""
def init(self, gain=1.0):
self.gain = gain
def call(self, shape, dtype = dtypes.float32):
"""Returns a tensor object initialized as specified by the initializer.
Args:
  shape: Shape of the tensor.
  dtype: Optional dtype of the tensor. Only floating point types are
   supported.

Raises:
  ValueError: If the dtype is not floating point
  ValueError: If the requested shape does not have exactly two axes.
"""
partition_info = None  # Keeps logic so can be readded later if necessary
dtype = _assert_float_dtype(dtype)
full_shape = shape if partition_info is None else partition_info.full_shape

if len(full_shape) < 2:
  raise ValueError(
      "Identity matrix initializer can only be used for 2D matrices.")

initializer = linalg_ops_impl.eye(full_shape[0],full_shape[1], batch_shape = [full_shape[3],full_shape[2]], dtype = dtypes.float32)
if partition_info is not None:
  initializer = array_ops.slice(initializer, partition_info.var_offset,
                                shape)
return self.gain * initializer

def get_config(self):
return {"gain": self.gain}
`
2) The eye() function in linalg_ops_impl.py:
`def eye(num_rows,
num_columns=None,
batch_shape=None,
dtype=dtypes.float32,
name=None):
"""Construct an identity matrix, or a batch of matrices.
See linalg_ops.eye.
"""
with ops.name_scope(
name, default_name='eye', values=[num_rows, num_columns, batch_shape]):
is_square = num_columns is None
batch_shape = [] if batch_shape is None else batch_shape
num_columns = num_rows if num_columns is None else num_columns
# We cannot statically infer what the diagonal size should be:
if (isinstance(num_rows, ops.Tensor) or
    isinstance(num_columns, ops.Tensor)):
  diag_size = math_ops.minimum(num_rows, num_columns)
else:
  # We can statically infer the diagonal size, and whether it is square.
  if not isinstance(num_rows, compat.integral_types) or not isinstance(
      num_columns, compat.integral_types):
    raise TypeError(
        'num_rows and num_columns must be positive integer values.')
  is_square = num_rows == num_columns
  diag_size = np.minimum(num_rows, num_columns)

# We can not statically infer the shape of the tensor.
if isinstance(batch_shape, ops.Tensor) or isinstance(diag_size, ops.Tensor):
  batch_shape = ops.convert_to_tensor(
      batch_shape, name='shape', dtype=dtypes.int32)
  diag_shape = array_ops.concat((batch_shape, [diag_size]), axis=0)

  if not is_square:
    shape = array_ops.concat((batch_shape, [num_rows, num_columns]), axis=0)
# We can statically infer everything.
else:

  diag_shape = batch_shape + [diag_size]

  if not is_square:
    shape = batch_shape + [num_rows, num_columns]

diag_ones = array_ops.ones(diag_shape, dtype=dtype)
if is_square:
  return np.array(array_ops.matrix_diag(diag_ones)).reshape(diag_size,diag_size,batch_shape[1],batch_shape[0])
else:
  zero_matrix = array_ops.zeros(shape, dtype=dtype)
  return np.array(array_ops.matrix_set_diag(zero_matrix, diag_ones)).reshape(num_rows,num_columns,batch_shape[1],batch_shape[0])

pylint: enable=invalid-name,redefined-builtin
`
Hope it helps!

@bugreporter450
Please update as per above comment.


test: added test for weighted random lb

Description

added test for weighted random load balancer
it checks, among others, that the target endpoints are reached in a ratio that corresponds to the configured weight

gravitee-io/issues#8077

I just rebased it to check if e2e are 🟢  now


Feature/add contributions to map

Why
To allow contributions with locations to be plotted on the map view dynamically on the contributions page so that users can see the Asks/Offers closest to them.
References 708
Pre-Merge Checklist
All these boxes should be checked off before any pull request is merged!

[x] All new features have been described in the pull request
[ ] Security & accessibility have been considered
[ ] All outstanding questions and concerns have been resolved
[ ] Any next steps that seem like a good ideas have been created as issues for future discussion & implementation
[ ] High quality tests have been added, or an explanation has been given why the features cannot be tested
[x] New features have been documented, and the code is understandable and well commented
[x] Entry added to CHANGELOG.md if appropriate

How
Here's a list of APIs used for the Maps:
mapbox-gl-vue
mapbox-sdk-js
Next Steps

Build a more complete location data for Asks/Offers to include City, State, Zipcode, if privacy concerns allow
Implement clustering so that as we zoom in/out we can see how many Asks/Offers are available
Dynamically centering on the top-level Service Area

Outstanding Questions, Concerns and Other Notes
Security

FIXME for Mapbox Access Token should be addressed to pull it from an ENV variable
Location data mentioned above in Next Steps

here's the circleci error


Add size (Note / attachement)

Add a virtual field size for note and attachment size.

Added in v1.2.0

Added in v1.2.0


feat: 404 page improvements

Things added/changed:

Improved the 404 page.

Text is now centered.
Provides a quick link to go to the homepage.
Provides a link to report a broken link if there's any.
Removed the title field as AFAIK that text can't be centered.

Why should it be centered? it's flowing text.
You're also putting just html in a markdown file, if it's a html file rename it to reflect that.
for clarity I suppose the title could be changed to "404 - Page not found" and the contents to
This page doesn't exist, please return to the [homepage](/).
If you followed a broken link on libera.chat please open an issue on [GitHub (Libera-Chat/libera-chat.github.io)](ttps://github.com/Libera-Chat/libera-chat.github.io)

Why should it be centered?

Well, to me, it would look better centered. I've seen one website, and it does something similar.

I suppose the title could be changed to "404 - Page not found" and the contents to

I'll change it. Thanks. 🙂


Unit test coverage

What does this PR do

Improve unit tests coverage  #82

How can it be tested
Tell us how to test these changes

Nothing was changed, added more unit tests and code organization.

Task
Enhance coverage
Checklist:

[ ] I ran make validation locally with success
[ ] I have not introduced new bugs
[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented on my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new errors

Fails

:no_entry_sign:
Copyright header is missing in files: Sources/VariantsCore/Extensions/Date+Log.swift, Sources/VariantsCore/Loggers/LogData.swift, Sources/VariantsCore/Loggers/StandardOutputStream.swift, Tests/VariantsCoreTests/Data+WriteTests.swift, Tests/VariantsCoreTests/Mocks/MockLogger.swift, Tests/VariantsCoreTests/PathSafeJoinTests.swift, Tests/VariantsCoreTests/StandardOutputStreamTests.swift, Tests/VariantsCoreTests/VerboseLoggerTests.swift, Tests/VariantsCoreTests/XcodeProjFactoryTests.swift

Warnings

:warning:
Pull request is relatively big. If this PR contains multiple changes,
consider splitting it into separate PRs for easier reviews.

  Generated by :no_entry_sign: Danger Swift against 6af681035e592410695edba3862dfab961076898


#208 Changed log level from TRACE to INFO in all logback.xml files

Updated logback.xml files to use the INFO log level as opposed to TRACE, as described in #208
Not sure about the logback-test.xml files. Do we want those updated too?

Not sure about the logback-test.xml files. Do we want those updated too?

yes


Offline Client Reset

Add support for resetting the Realm file when an IncompatibleHistories ("Incompatible histories. Nonupgradable history schema.") exception is thrown as a result of an non-migratable upgrade.
/cc @beeender @bdash

Will opening a non-sync Realm throw IncompatibleHistories exception? Or it is only for synced Realm?

Yes, unfortunately the same exception will be thrown, but with a different message. We can change it to be a separate exception type without much hassle, would that be an improvement?

You can also argue that there is very little the app can do with the IncompatibleHistories exception in the other case, so maybe a client reset is the correct course of action in all cases. It should probably configurable such that the opener of the Realm file decides what to do in this case.

@simonask, was your answer indicating that in general it's possible for IncompatibleHistories to be thrown by non-synced Realms, or that in the case of stable IDs IncompatibleHistories will be thrown when opening both synced and non-synced Realms? My understanding is that the former is true, but in the case of stable IDs it's only synced Realms that we'll see this with. Is that accurate?

IncompatibleHistories can be thrown at any time when someone is trying to open a Realm file with an unexpected history type. There is no such thing as a non-synced Realm with stable IDs, so the situation there is the same as today.

On-Disk History Type
Opener Asking For
Result

Non-Synced
Non-Synced
👌

Non-Synced
Synced
IncompatibleHistories

Synced Pre-Stable IDs
Non-Synced
IncompatibleHistories

Synced Pre-Stable IDs
Synced
IncompatibleHistories

Synced with Stable IDs
Non-Synced
IncompatibleHistories

Synced with Stable IDs
Synced
👌

The "client reset" in this case should happen only when opening a "Pre-Stable IDs" Realm in "Synced" mode. Unfortunately, the only indication that this is happening is the string message of the IncompatibleHistories exception. If you prefer, we can change the exception type in this case.

After looking in to this, I think there are two things we need to do:

Make it possible to distinguish between attempting to open a non-synced Realm as a synced Realm, and attempting to open a pre-stable ID synced Realm as a synced Realm with stable IDs. The former shouldn't trigger a reset, the latter should.
Rework the sequence of events in object store to ensure that we open the Realm before we create the sync session associated with that Realm. Currently we create the sync session first and then open the Realm, which often results in the sync session being the first path that sees the IncompatibleHistories exception. This exception ends up propagating out of realm::sync::Client::run, which makes it impossible to handle in a sensible fashion. Explicitly opening the Realm with the specified history type prior to creating the sync session would result in the exception being thrown in a much more manageable place. However, this may not be workable for clients that want to create a sync session directly, without interacting with it via an object store Realm instance. I'll need to do more research to determine whether that's a case we need to support.


Network device fuzzing with afl++ mode

Hi,
So I have to put the Frida Server on the mobile, do port forwarding and then run fpicker
Assuming I have test-network binary on the phone
This is what I should run:
afl-fuzz -i examples/test-network/in -o ./examples/test-network/out -- \\
    ./fpicker --fuzzer-mode afl -e attach -p test-network -D remote -f ./examples/test-network/harness.js

Thanks,

I hope my answer in #5 should cover that as well. In general: AFL++ mode only works on a local device (i.e., not in network or USB mode)


Toolbar

Hello.
I would like to know how can i place a Toolbar in the view, since i can not override onCreate or onCreateSteps will not be shown.
And how can i center the steps, since they are always on the top on the screen.
Thank you.

You can do that by having your theme extend one of AppCompat's themes with an action bar and then setting it up with onCreateOptionsMenu() and onOptionsItemSelected().

Ah and you can change the intro gravity using
SingleInputActivity#setInputGravity(int gravity)


Crashing when used with critical package to generate critical CSS

Here is my sample program:
`const {getChrome} = require('./chrome-script');
const puppeteer = require("puppeteer");
const critical = require('critical');
exports.handler = async (event) => {
    const chrome = await getChrome();

    const browser = await puppeteer.connect({
            browserWSEndpoint: chrome.endpoint
    });

    var url = "https://www.google.com/";

                    // Now we need to try and process this URL
                    var command = 'generate';

                    var opts = {
                            "base":".",
                            "dest":"",
                            "src":url,
                            minify: true,
                            ignore: ['font-face'],
                            penthouse: {
                                     puppeteer: {
                                            getBrowser: () => browser
                                     },
                                     unstableKeepBrowserAlive: true
                            },
                            dimensions: [
                            {
                                    height: 1104, // 736 * 1.5 = 1104
                                    width: 414
                            },
                            {
                                    height: 1536, // 1024 * 1.5 = 1536
                                    width: 768
                            },
                            {
                                    height: 1620, // 1080 * 1.5 = 1620
                                    width: 1920
                            }
                            ]
                    };

                    try {
                            await critical.generate(opts).then(function (output) {
                                    console.log("output", output);
                            }).error(function (err) {
                                    console.log("err", err);
                            });

                            console.log("After critical.generate method.");

                    } catch (err) {
                            console.log("General error", err);
                    }

// TODO implement
const response = {
    statusCode: 200,
    body: JSON.stringify('Hello from Lambda!'),
};
return response;

};
`
Here is my package.json
{   "name": "criticalcss-lambda",   "version": "1.0.0",   "description": "",   "main": "index.js",   "scripts": {     "test": "echo \"Error: no test specified\" && exit 1"   },   "author": "",   "license": "ISC",   "devDependencies": {     "@serverless-chrome/lambda": "^1.0.0-55",     "chrome-launcher": "^0.10.5",     "critical": "^1.3.6",     "puppeteer": "^1.11.0",     "serverless-offline": "^3.31.3",     "serverless-plugin-chrome": "^1.0.0-55",     "superagent": "^4.0.0"   } }
Here is the output I'm seeing from the Lambda console:
`START RequestId: 7bcdda70-cdc4-41fb-b471-1a94b95fe924 Version: $LATEST
2019-10-27T12:56:30.422Z	7bcdda70-cdc4-41fb-b471-1a94b95fe924	(node:1) ExperimentalWarning: The http2 module is an experimental API.
2019-10-27T12:56:30.424Z	7bcdda70-cdc4-41fb-b471-1a94b95fe924	@serverless-chrome/lambda: Spawning headless shell
2019-10-27T12:56:30.428Z	7bcdda70-cdc4-41fb-b471-1a94b95fe924	@serverless-chrome/lambda: ChromeLauncher No debugging port found on port 9222, launching a new Chrome.
2019-10-27T12:56:30.448Z	7bcdda70-cdc4-41fb-b471-1a94b95fe924	@serverless-chrome/lambda: Launcher Chrome running with pid 12 on port 9222.
2019-10-27T12:56:30.449Z	7bcdda70-cdc4-41fb-b471-1a94b95fe924	@serverless-chrome/lambda: Waiting for Chrome 0
2019-10-27T12:56:30.952Z	7bcdda70-cdc4-41fb-b471-1a94b95fe924	@serverless-chrome/lambda: Waiting for Chrome 1
2019-10-27T12:56:30.953Z	7bcdda70-cdc4-41fb-b471-1a94b95fe924	@serverless-chrome/lambda: Started Chrome
2019-10-27T12:56:30.953Z	7bcdda70-cdc4-41fb-b471-1a94b95fe924	@serverless-chrome/lambda: It took 529ms to spawn chrome.
2019-10-27T12:56:31.008Z	7bcdda70-cdc4-41fb-b471-1a94b95fe924	getChrome called: ws://<IP_ADDRESS>:9222/devtools/browser/1514789e-0b18-49da-9753-d5c09b9c25fe
2019-10-27T12:56:31.026Z	7bcdda70-cdc4-41fb-b471-1a94b95fe924	{"errorMessage":"[object Object]"}
END RequestId: 7bcdda70-cdc4-41fb-b471-1a94b95fe924
REPORT RequestId: 7bcdda70-cdc4-41fb-b471-1a94b95fe924	Duration: 605.14 ms	Billed Duration: 700 ms	Memory Size: 3008 MB	Max Memory Used: 243 MB	Init Duration: 1435.08 ms
Also have some debug that was output:
supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 56: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 56: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 56: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 56: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 56: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 66: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 66: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 66: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 75: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 75: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/fonts.conf", line 82: unknown element "blank"
[1027/125756.722593:ERROR:gpu_process_transport_factory.cc(1007)] Lost UI shared context.
[1027/125756.725095:VERBOSE1:webrtc_internals.cc(121)] Could not get the download directory.
DevTools listening on ws://<IP_ADDRESS>:9222/devtools/browser/5c805a94-8d72-4ebe-86f5-2f697edf5639
[1027/125756.764251:VERBOSE1:proxy_resolution_service.cc(1016)] PAC support disabled because there is no system implementation
Received signal 11 SEGV_MAPERR<PHONE_NUMBER>00
#0 0x000003b7633c
#1 0x000003b75ea1
#2 0x7fcc568235e0
#3 0x7fcc552d4971 __strlen_sse2_pminub
#4 0x000004810bf8
#5 0x000004810728
#6 0x000004897c58
#7 0x000003b07079
#8 0x000003b06262
#9 0x000003b06727
#10 0x000003b87529
#11 0x000003b1f245
#12 0x000003613a64
#13 0x000003613823
#14 0x000003616052
#15 0x000003b9857f
#16 0x000003ab132e
#17 0x000004bfefcb
#18 0x000003aa9d31
#19 0x000003b9745d
#20 0x000003b974e8
#21 0x000003aea99a
#22 0x7fcc55188445 __libc_start_main
#23 0x00000242402a _start
r8:<PHONE_NUMBER>000000  r9: 000001a54d068b58 r10: 00007fcc552a4810 r11: 00007fcc552f2e20
r12: 00007ffd6bfba470 r13: 000001a54cfaaa00 r14: 000001a54cfaad88 r15: 000001a54ce99600
di:<PHONE_NUMBER>000000  si:<PHONE_NUMBER>000000  bp: 00007ffd6bfba5d0  bx:<PHONE_NUMBER>000000
dx:<PHONE_NUMBER>affc10  ax:<PHONE_NUMBER>000000  cx:<PHONE_NUMBER>000000  sp: 00007ffd6bfba348
ip: 00007fcc552d4971 efl:<PHONE_NUMBER>010283 cgf: 002b000000000033 erf:<PHONE_NUMBER>000004
trp:<PHONE_NUMBER>00000e msk:<PHONE_NUMBER>000000 cr2:<PHONE_NUMBER>000000
[end of stack trace]
Calling _exit(1). Core file will not be generated.
2019-10-27T12:58:01.099Z	e4ee08cc-807f-4105-8d49-e9646213530e	{"errorMessage":"Unable to start Chrome. If you have the DEBUG env variable set,there will be more in the logs.","errorType":"Error","stackTrace":["/var/task/node_modules/@serverless-chrome/lambda/dist/bundle.cjs.js:376:13","Generator.throw ()","step (/var/task/node_modules/@serverless-chrome/lambda/dist/bundle.cjs.js:311:193)","/var/task/node_modules/@serverless-chrome/lambda/dist/bundle.cjs.js:311:404","","process._tickDomainCallback (internal/process/next_tick.js:228:7)"]}
END RequestId: e4ee08cc-807f-4105-8d49-e9646213530e
REPORT RequestId: e4ee08cc-807f-4105-8d49-e9646213530e	Duration: 5066.29 ms	Billed Duration: 5100 ms	Memory Size: 1664 MB	Max Memory Used: 231 MB	Init Duration: 1826.38 ms
`
I'm not sure what to make of the SEGVMAPPER crash shown above.  Running on Node 8.10 environment in AWS.  I have the project successfully working for screenshots, but mixing this with critical + penthouse is causing issues.  It's worth pointing out that this works fine locally on my Ubuntu development environment under WSL.

I had success matching up versions with the chrome-aws-lambda project in a similar fashion and the SEGVMAPPER error didn't occur.


docker images: service usage ?

Hello,
As said in issue #221, I'm trying to use kitchen-docker for ansible testing instead of kitchen-vagrant(+virtualbox): Doing the test on ubuntu14.04 VM and ansible role https://github.com/juju4/ansible-adduser.
This simple role is working fine but as I tried with more advanced one like https://github.com/juju4/ansible-icinga2, it fails.
Failure happened on service eg doing a mysql operation, enabling a service or whatever background activity.
from code, it seems kitchen-docker runs only ssh but I'm unsure after the origin of docker images (docker hub?) and if any mecanism to use services inside like https://github.com/geerlingguy/drupal-vm/pull/456/files#diff-b1546b21a9366075f1e1245d7551eee6R11
is it possible?
how to make it work?
Thanks

Ubuntu 14.04 uses Upstart. Upstart does not run correctly inside containers, thus this is not possible unfortunately. With 16.04+ (i.e. systemd) you can make it work by swapping the init command, but no go on Upstart.


Multiple bot logging in

Happy new year everyone!
I want to login with multiple users. So I created sentry files for each bots and server lists as well. But they still logging each other out. Here is my sample code:
global.config = "./config";
global.config.forEach(function(bot) {
  var steam = require("steam");
  if (fs.existsSync('servers_' + bot.username)) {
    steam.servers = JSON.parse(fs.readFileSync('servers_' + bot.username));
  }
  var logOnDetails = {
    "account_name": bot.username,
    "password": bot.password
  };
  var steamClient = new steam.SteamClient(),
    steamUser = new steam.SteamUser(steamClient),
    steamFriends = new steam.SteamFriends(steamClient),

  doSteamClientStuff(steam, steamClient, steamUser, steamFriends, logOnDetails);

  steamUser.on('updateMachineAuth', function(sentry, callback) {
    fs.writeFileSync('sentry_' + bot.username, sentry.bytes);
    util.log("sentryfile saved");
    callback({
      sha_file: crypto.createHash('sha1').update(sentry.bytes).digest()
    });
  });
  // Login, only passing authCode if it exists
  //if (global.config.steam_guard_code) logOnDetails.auth_code = global.config.steam_guard_code;
  try {
    var sentry = fs.readFileSync('sentry_' + bot.username);
    if (sentry.length) logOnDetails.sha_sentryfile = sentry;
  } catch (beef) {
    util.log("Cannot load the sentry. " + beef);
  }
});

Does the same happen when you run each bot in a separate node process?

No, for separate node process it works like charm. I also tried to require modules again same thing happened. Here is my log:
4 Jan 15:22:49 - Logged on.
4 Jan 15:22:49 - Received servers.
4 Jan 15:22:49 - sentryfile saved
4 Jan 15:22:50 - Logged off from Steam.
4 Jan 15:22:50 - Connection closed by server.
4 Jan 15:22:50 - Logged on.
4 Jan 15:22:50 - Received servers.
4 Jan 15:22:50 - sentryfile saved
And after that first bots object become invalid.

Running multiple clients in a single process works just fine.

Reduce your code to a minimal test case that reproduces the problem.

Closing due to inactivity.


Document limitation when upgrading to v20.1.0

Fixes #7366.

This change is

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/e2435bc9d1fb55ea5bb0ae8542a54ac49688d0dc/
Edited pages:

v20.1/cockroachcloud-upgrade-to-v20.1.md
v20.1/known-limitations.md
v20.1/upgrade-cockroach-version.md

I've added emphasis, @lucy-zhang:

If your cluster gets into this state, rolling all nodes back to v19.2 will not resolve the issue. Instead, you must follow the steps in this known limitation.

PTAL.

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/b0af9b1a80523a2012296b178e4a1e89f6ba9886/
Edited pages:

v20.1/cockroachcloud-upgrade-to-v20.1.md
v20.1/known-limitations.md
v20.1/upgrade-cockroach-version.md

_includes/v20.1/known-limitations/dropping-renaming-during-upgrade.md, line 1 at r2 (raw file):
Previously, lucy-zhang (Lucy Zhang) wrote…
Sorry, I should have been more clear. The problem is that once a 20.1.0 node has joined the cluster, the user can no longer safely drop/rename/truncate anything after that point (until they've finalized their upgrade), even if there are no longer any 20.1.0 nodes in the cluster. The problem is with the migration that the 20.1.0 node runs on startup. (This is what happened with the user that reported it: they tested with a single node running a 20.1.0 RC, then rolled back, then dropped a database on a pure 19.2 cluster, and still had this problem.)

Just to make sure I understand: As soon as a node has run 20.1, whether it's still running 20.1 or has subsequently been rolled back to 19.2, performing drops/renames/etc against any node running 19.2 will cause this inconsistency, correct?

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/c5a721a7b599fe3980a58d88e8eddea8d7996b74/
Edited pages:

v20.1/known-limitations.md
v20.1/upgrade-cockroach-version.md

I'll remove the limitation from the 20.1 upgrade docs as soon as 20.1.1 is out.


Allowing to update the PMC Control minimum Rate

Simple commit but that can save bandwidth when using controllers that do not require high control rates. Saves system resources by avoiding the repetition of equal messages to meet the default 62.5 PMC frequency.
By changing the minimum control rate, the last received message is kept and used for controlling the Astrobee. An added parameters, control_min_rate_hz_, that can be adjusted by the Astrobee team to a "safe" value, below which frequencies are not accepted.
Tagging @bcoltin and @marinagmoreira . Also, @bcoltin , added a TODO on the meaning of the 20.0 on the ros::Duration for the watchdog timer.
@albee

Pretty sure 20 is just a value that worked for us, detected failures reasonably quickly without giving us false positives. What control rate are you all using? If you are doing something much slower, i.e., the 2 s, this would mean you wouldn't detect your controller stopped giving inputs for 20s. (where did the 0.5 minimum come from?) Regardless, if minimum control is is n, I would suggest setting the timer to something like min(20 / rate, 2 * n) might be better. What do you think?

Pretty sure 20 is just a value that worked for us, detected failures reasonably quickly without giving us false positives. What control rate are you all using? If you are doing something much slower, i.e., the 2 s, this would mean you wouldn't detect your controller stopped giving inputs for 20s. (where did the 0.5 minimum come from?) Regardless, if minimum control is is n, I would suggest setting the timer to something like min(20 / rate, 2 * n) might be better. What do you think?

The 0,5Hz is a value that maybe you folks can adjust to something that makes more sense - it's simply a minimum rate bound, so that people cannot just put a very large cutoff time. And then I also don't allow for a smaller cutoff time (since it might lead to instability issues or Zeno).
I could implement min(20 / rate, 2 * n), but we would loose the maximum bound.
Regarding the number 20, got it! I thought it was some wierd hardware constant, but in that case I will remove it!
Thanks @bcoltin !

Just pushed an update. Maybe for clarity, we should define a "safe_rate" parameter that is used inside the PMC nodelet, with value 0.05*control_rate_hz ?
Pedro,

Hi Pedro,
Sorry, I didn't explain this well. The watchdog timer is checking to see if a command has been received in the last watchdog_period_ time period. If it doesn't it will shut down and idle the propulsion. This is a quite drastic action and we want some leeway. So I would keep the factor of 20. Using just 1/rate will definitely not work and will cause propulsion to constantly idle. Using the  min(20 / rate, 2 * n) would set a maximum bound of 1 s... So even if the rate is 0.5 Hz, we would require an update every 1s instead of every 10s. It also has the advantage of not changing the current behavior for the current rate, which we haven't had issues with.
Can you please change this, and also fix the linter error? Thank you!

Hi Pedro,
Sorry, I didn't explain this well. The watchdog timer is checking to see if a command has been received in the last watchdog_period_ time period. If it doesn't it will shut down and idle the propulsion. This is a quite drastic action and we want some leeway. So I would keep the factor of 20. Using just 1/rate will definitely not work and will cause propulsion to constantly idle. Using the min(20 / rate, 2 * n) would set a maximum bound of 1 s... So even if the rate is 0.5 Hz, we would require an update every 1s instead of every 10s. It also has the advantage of not changing the current behavior for the current rate, which we haven't had issues with.
Can you please change this, and also fix the linter error? Thank you!

Yep will do! Yes, I got the FAM part, but maybe I didn't explain myself well ahah. The "safe_rate" - that maybe I will change the name to "max_timeout" (since we don't care about rates here anyway)  - is just to limit how large people can change that idling. Perhaps we don't want a Astrobee that is allowed to have an input only at every 10 seconds (10 seconds being exageratted, but lets say 2 seconds), since it might hit walls and such...
So I will:

Keep the constant you have, the 20/control_rate_hz, since that you will never change;
Change the safe_rate to max_timeout, and the user specifies the timeout in seconds instead of having to convert to rates;
Fix the linting error.

I hope this is what we both meant :smile:

I think that sounds right! Thank you!

@bcoltin should be good to go

@Pedro-Roque Actually, sorry, I had another thought after I saw your changes. Is there a need to change this value during execution? What if we just loaded the timeout from the config file at the start and dispensed with the service entirely? If there is a need for changing the timeout at runtime though this change is fine.

@bcoltin on my case I plan to have routines with MPC and routines with the onboard PID (mostly going back to origin after having atomic tests of mobility and state estimation). For maneuvers using PID, I'd be more comfortable setting the default value for cutoff, while for my maneuvers I believe having a larger timeout is better.
If think its better to keep a desired cutoff on the config file (independent of the control frequency so that its clear its meaning), then I can do that change too (would remove the added service and just load a different parameter so that the watchdog timer is "pmc_timeout" instead of "20.0/control_rate_hz_", so others can modify it too).
Let me know what you think is best. If you don't think it makes sense to change it mid-testing, then we can keep the easy route.

@bcoltin Just wanted to add that the way we've previously gotten around the 62.5 Hz requirement when our controller is running at a slower rate is to do a zero-order hold of the last control input sent out at 62.5 Hz and updated as soon as new control values are available. We've typically run MPC at ~5 Hz before for example. This feature would be useful so that we don't have to set up that separate 62.5 Hz publisher. I would definitely recommend a sanity check on the hardware though, since AFAIK the impeller shutdown does not happen in sim.

Ok sounds good, if it's useful we will merge it in then. Thanks!


Fix for rebasing when the contract state of an address changes

If you made a contract change, make sure to complete the checklist below before merging it in master.
Refer to our documentation for more details about contract security best practices.
Contract change checklist:

[x] Code reviewed by 2 reviewers
[x] Unit tests pass
[x] Slither tests pass with no warning
[x] Echidna tests pass (not automated, run manually on local)

I ran the echidna tests and they passed except one test case. Which is a known issue documented in #445

I ran the echidna tests and they passed except one test case. Which is a known issue documented in #445


[3.x] Fix crashes when using _input functions

3.x version of #47636
Changes smaller amount of code than in master branch, but still fixes all crashes

Thanks!


Alert user on refresh while processing transfer

If user refreshes while processing transfer, txHash might not be saved in db or tx not saved in drive, causing transfer error , or simply not showing up.
applies to directTransfer send, emailTransfer send, receive, cancel

The text content: "Transfer in progress, please wait..."
@guyuxiang


Memory error when setting ATOM_HOME and lauching atom

Running the .zip version of atom on a USB stick and trying to make it portable, I have found that to set the ATOM_HOME, I should create a script like this:
SET ATOM_HOME="E:\Web Stuff & Tools\Atom\.atom"
atom

Running that script creates the following error:

Any ideas why?

Just curious, if you try a path like SET ATOM_HOME="E:\Atom\.atom", does it work then?

@kevinsawicki Just tried that, still brings up the same error

Portable mode is now fully supported and documented in the flight manual at http://flight-manual.atom.io/getting-started/sections/installing-atom/ - no ATOM_HOME is necessary.
If you still run into this error please re-open this issue.


How to use CheckListEditor and I want wizard control.

How to use CheckListEditor and I want wizard control.

See RoleCheckEditor for first one.
For second one, i don't have a sample.


Why no min-width

Why is there no scale for min-width in tachyons?

I want to add min-width and max-width to react-native-style-tachyons, but I'm not sure whether to name them mw1 .. mw5 or rather max-w1 ... max-w5 and min-w1 ... min-w5, so I wondered what the design decision in tachyons was.

Hmmm, interesting question. How about mx1 and mn1 etc.?

@fab1an it is extremely rare that I ever use min-widths so it was hard to justify including a module of code I never use to the global project.

@fab1an as for the design decision, if I was including both in a project I'd probably be more explicit in the class name like min-w max-w.

@mrmrs I did that, called them min-w1, max-h1 and so on.

@mrmrs I have one good reason for min-widths.
If I want a grid of items, and each row in the grid show max 3 items. If the number of items doesn't divide on 3, the ones left over will fill whatever with there is to fill.
I would give the container .flex.flex-wrap.w-100 and the items .min-w-33.flex-1
flex-1 is just flex: 1;, and is needed to make each item stretch.

Here, better to demonstrate: http://codepen.io/mathias-madsen-stav/pen/LRNkyE
I know you can achieve something similar with display layout, but flexbox is more powerfull and lets you fill the container with more items without having to make a new row in markup.

@spoeken, could you use a percentage-based width? I believe this will achieve what you're looking for without having to use a min-width.
http://codepen.io/indiesquidge/pen/wdEdEN


Thoughts on adding a dark mode toggle for this theme

I wrote up some code for a dark mode toggle for this theme at the CircuitVerse Blog.
It was suggested by the maintainers there that I try adding the toggle directly upstream here.
I'd like to hear the maintainers views and suggestions on this and if so, can start working on a PR soon.

Hello @AsherThomasBabu
It will be great if you make a PR. it will help all Northendlab users.

@somratpro I'd like to know if the maintainers are in line with the idea, please provide your input on this issue.
Thanks

Hey ,
Thanks for using our themes, and it's a great honor for us. I saw your blog and it seems very clean https://blog.circuitverse.org.  I am going to add your theme to our inspiration list. And also please make a PR obviously I will merge them in the repo. Have you ever checked our premium version of https://gethugothemes.com/products/northendlab/ . It has lots of features. You can migrate them if you want and I would love to give you a discount. But if you want to stick with the free version that is also great. As northendlab is free and released under MIT license it's not mandatory to add the credit but if you put the credits that inspire us a lot.
Again thanks for creating with our product.


Supported "state" field verification in gNMI testkit.

It verifies whether target state fields synced to the latest pushed configuration value within the given time limit.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@492d7db). Click here to learn what that means.
The diff coverage is 50%.

@@            Coverage Diff            @@
##             master      #80   +/-   ##
=========================================
  Coverage          ?   63.79%
=========================================
  Files             ?       11
  Lines             ?      638
  Branches          ?        0
=========================================
  Hits              ?      407
  Misses            ?      162
  Partials          ?       69

Impacted Files
Coverage Δ

testkit/gnmitest/worker.go
53.65% <50%> (ø)

Continue to review full report at Codecov.

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


Fix Exception when exporting Entropy graph as PNG image.

Fixes: Entropy Exception: type object 'ImageExporter' has no attribute 'ImageExporter' message after running binwalk -EJ firmware.bin
For reference: pyqtgraph version is currently at 0.9.10.
Entropy Exception: type object 'ImageExporter' has no attribute 'ImageExporter'
----------------------------------------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/binwalk/core/module.py", line 499, in main
    retval = self.run()
  File "/usr/local/lib/python2.7/site-packages/binwalk/modules/entropy.py", line 94, in run
    self.calculate_file_entropy(fp)
Help on class ImageExporter in module pyqtgraph.exporters.ImageExporter:

class ImageExporter(pyqtgraph.exporters.Exporter.Exporter)
 |  Method resolution order:
 |      ImageExporter
 |      pyqtgraph.exporters.Exporter.Exporter
 |      __builtin__.object
 |
 |  Methods defined here:
 |
 |  __init__(self, item)
 |
 |  export(self, fileName=None, toBytes=False, copy=False)
 |
 |  heightChanged(self)
 |
 |  parameters(self)
 |
 |  widthChanged(self)
 |
 |  ----------------------------------------------------------------------
 |  Data and other attributes defined here:
 |
 |  Name = 'Image File (PNG, TIF, JPG, ...)'
 |
 |  allowCopy = True
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from pyqtgraph.exporters.Exporter.Exporter:
 |
 |  fileSaveDialog(self, filter=None, opts=None)
 |
 |  fileSaveFinished(self, fileName)
 |
 |  getPaintItems(self, root=None)
 |      Return a list of all items that should be painted in the correct order.
 |
 |  getScene(self)
 |
 |  getSourceRect(self)
 |
 |  getTargetRect(self)
 |
 |  render(self, painter, targetRect, sourceRect, item=None)
 |
 |  setExportMode(self, export, opts=None)
 |      Call setExportMode(export, opts) on all items that will
 |      be painted during the export. This informs the item
 |      that it is about to be painted for export, allowing it to
 |      alter its appearance temporarily
Help on class ImageExporter in module pyqtgraph.exporters.ImageExporter:

class ImageExporter(pyqtgraph.exporters.Exporter.Exporter)
 |  Method resolution order:
 |      ImageExporter
  File "/usr/local/lib/python2.7/site-packages/binwalk/modules/entropy.py", line 121, in calculate_file_entropy
    self.plot_entropy(fp.name)
  File "/usr/local/lib/python2.7/site-packages/binwalk/modules/entropy.py", line 199, in plot_entropy
    exporter = exporters.ImageExporter.ImageExporter(plt.plotItem)
AttributeError: type object 'ImageExporter' has no attribute 'ImageExporter'
----------------------------------------------------------------------------------------------------

I don't really understand this patch:
try:
     exporter = exporters.ImageExporter(plt.plotItem)
except TypeError:
    # If exporters.ImageExporter raised an exception, try it again
    # with the same parameters, but this time it works for some reason?
    exporter = exporters.ImageExporter(plt.plotItem)

I am running Python2.7 with pyqtgraph 0.9.10 and do not get this exception.
This patch also seems to break backwards compatibility with the older pyqtgraph APIs which used exporters.ImageExporter.ImageExporter.

For some weird reason it only wants to work that way. Thanks for pointing that error of mine out, I apparently wasn't paying attention in seeing that it was, in fact, within a try/except statement.

Maybe there is an underlying issue with my Python installation?

Nevermind, please disregard this patch, Homebrew version of Binwalk is not this version. My fault for not noticing.


Display and circling of non-rectangular items doesn't work

Non-rectangular items (those with path instead of width and depth in their JSON entries) don't seem to be selectable.  Their URL fragment identifiers don't seem to be working either.
This is observable with the sharpening station (unique_id "_x_0076") in the
(old Hobby Shop)[(https://marknahabedian.github.io/MapMyStuff/Facilities/HobbyShop-DuPont/floor_plan.html].
Clicking on the list item inserts the proper fragment in the URL but soesn't show the description or circle the item.
Hovering over the item shows its tooltip.
Clicking on the item does not update the fragment in the URL.
In javascript console
ss = getThing("_x_0076")
select_item(ss)

select_item's message is logged to the console with the proper item.
Value of selected_thing is null.
ss.svg_element is an SVG group element with the correct id.
isPlaced(ss) is false.  THIS IS THE PROBLEM.

Verified that this is fixed on GitHub.


added-my-playlist

Description

...
...
...

Related issue(s)

Thanks for contributing @akhilesh-w :)
Keep contributing to open-source.


Skate 5: ESNext Build Issue

Using the esnext build from Skate 5 (through generator-skatejs) I'm getting the following error:
$ "/path/to/my/project/node_modules/.bin/webpack" --config webpack/development.js
Hash: f490a8e240a99fe4f8f0
Version: webpack 3.4.0
Time: 1973ms
                          Asset    Size  Chunks                    Chunk Names
nest-coverage-checker.bundle.js  419 kB       0  [emitted]  [big]  main
   [5] ./src/index.js 99 bytes {0} [built]
   [7] ./src/nest-coverage-checker/component.js 5.54 kB {0} [built]
  [15] ./src/util/style.js 1.13 kB {0} [built]
  [16] ./src/nest-coverage-checker/styles.scss 263 bytes {0} [built]
  [17] ./src/util/check-zip-code.js 498 bytes {0} [built]
    + 13 hidden modules

ERROR in ./node_modules/skatejs/esnext/with-component.js
Module not found: Error: Can't resolve '../../node_modules/preact/dist/preact.esm.js' in '/path/to/my/project/node_modules/skatejs/esnext'
 @ ./node_modules/skatejs/esnext/with-component.js 10:17-72
 @ ./node_modules/skatejs/esnext/index.js
 @ ./src/nest-coverage-checker/component.js
 @ ./src/index.js
error Command failed with exit code 2.

I checked it out, and it seems like the source of the with-components.js older uses a relative path to the preact dependency, a path that is not correct when both skatejs and preact are dependencies of some project.

Actually, you're not doing anything weird here...
https://github.com/skatejs/skatejs/blob/f6af0b85df57d6bd5402b08da6adfa0fce939765/src/with-component.js#L3
I wonder where it's getting that incorrect relative path from?

Ahh, here is it:
https://github.com/skatejs/skatejs/blob/f6af0b85df57d6bd5402b08da6adfa0fce939765/config/esnext.babel.js#L4
Any insight into the reason for this change @matthewp?

Yup, that fixed it.

Ah, ok. I know what's going on then. I'm afk for a few days but I'll fix it when I get back.

Awesome 👍  thanks!

@matthewp is this fixed now (probably just needs releasing)?

I was going to do a release and test it out, just haven't had a chance to do so yet.

I just did an alpha.15.

I'm still having the issue in alpha.15. The path to the Preact file has one ../ too few.

Oh right, I conflated it with another issue.

Ah, ok, I see now.  This is the problem: https://github.com/matthewp/babel-plugin-modules-web-compat/issues/5
I'll fix that after work today and then try an alpha.16.

Is there any process to the release? Bump the version manually and then run the release script?

Well, that's what I just did... testing.

Finally!

Whoop! Tested myself, can confirm it's fixed. Thanks @matthewp!


Update CPT documentation

Currently, the CPT model lacks a code example.
In this pull request, I provide an explanation and a code example to address this.
Thanks,
Tsachi

Thanks a lot for the updates.

This is true. Our method can become computationally expensive as the number of examples grows, as we concatenate all examples to the input and utilize them all during optimization.

Could you expand on this a little bit? I wonder if we could optimize this (e.g. via batching), since PEFT is intended for use with limited memory and ideally, an example as this one should be able to run with 24GB VRAM.
Moreover, for some reason, the updated notebook does not render, I get:

'execution_count' is a required property
Using nbformat v5.10.4 and nbconvert v7.16.1

Could you please check that everything is correct in the notebook? Perhaps, rerunning it from the start with an up-to-date jupyter version is enough.

Could you expand on this a little bit? I wonder if we could optimize this (e.g. via batching), since PEFT is intended for use with limited memory and ideally, an example as this one should be able to run with 24GB VRAM.

CPT is designed as a solution for few-shot scenarios, typically involving up to tens of examples and not exceeding this range. However, the high memory usage you experienced can be attributed to the following key factors:
Self-Attention Mechanism:
The self-attention mechanism in transformers has a quadratic memory requirement with respect to the input sequence length. Concatenating multiple examples into the input significantly increases the sequence length, leading to a dramatic rise in memory usage during both forward and backward passes. This is a fundamental limitation of the self-attention mechanism in large transformer models and directly impacts the feasibility of handling very long inputs.
Gradient Storage:
During optimization, memory consumption scales with the number of tokens involved in the loss calculation. In CPT, we utilize more tokens for the loss by including not only the target examples but also tokens from the context. This ensures that the optimization process benefits from the additional information available in the context, but it also increases memory requirements. For each token used in the loss, gradients and activations need to be stored, leading to a proportional increase in memory consumption as more tokens are included.

Could you please check that everything is correct in the notebook? Perhaps, rerunning it from the start with an up-to-date jupyter version is enough.

Does it works now? I checked it on Colab.

typically involving up to tens of examples and not exceeding this range

So this means that as a user, I should not use more than a few tens of examples? If so, let's make this very clear in the docs.
If I use a dataset of 1000 samples, all of them would be used as few shot examples? Would it make sense to add an argument to limit this number?

Does it works now? I checked it on Colab.

Yes, this works now, thanks for the update.

Thanks for the update to the docs and explaining further.

Here’s a suggestion to integrate the functionality of selecting a subset of examples directly into your code. This adjustment allows users to limit the number of examples chosen for the context dynamically:

To clarify, is the selection of the subset already part of this snippet (which AFAICT is identical to the code in the notebook)? It looks like it iterates through the whole dataset. My guess is that if I wanted to set a limit, I would break out of the loop after a couple of iterations.
Alternatively, my suggestion would be to define a constant like MAX_ICL_SAMPLES = 10 in the notebook and then define a separate icl_dataset with MAX_ICL_SAMPLES samples, which is distinct from the train_dataset (as I don't think it really helps if the few shot samples and the train dataset overlap). Then the first 10 samples would be used for ICL and the train dataset would start after sample 10 and could be much bigger without blowing up memory. WDYT?

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

Thanks so much again! :)
Currently, the link to the example page is: https://github.com/huggingface/peft/blob/main/examples/cpt_finetuning/README.md, which points to the GitHub repository. Could we instead have a link on the official website, similar to this one: https://huggingface.co/docs/peft/main/en/package_reference/cpt?

It's a pleasure.
We can always make changes like that, but I'm not sure which link exactly you want to change. The links to https://github.com/huggingface/peft/blob/main/examples/cpt_finetuning/README.md are specifically for examples, whereas https://huggingface.co/docs/peft/main/en/package_reference/cpt is the more technical documentation and thus serves a different purpose. Thus, I don't think changing the link makes sense here. Maybe I'm missing something?

No, it is fine 👍


[Request] New feature type: Game/toy library

Game and toy libraries don't really fit in any category. They're usually a mix between a social & cultural organization, a child care facility and a leisure facility, so I think it would be best to just give them their own feature type.
Would that be possible ?

@ChameleonScales I'm not aware of a common tag for game libraries. I'd recommend posting to the tagging mailing list so the community can discuss what tag to use for this feature. If the tag gets support, then we can consider adding an iD preset for it.

Apparently Paul Allen added amenity=toy library

Thanks @quincylvania. After some discussing in the mailing list, I added this proposal in the wiki:
https://wiki.openstreetmap.org/wiki/Proposed_features/toy_library

I didn't see any serious opposition to the idea, so I just added it.

Thanks !
Any idea when the release will be out?

Any idea when the release will be out?

Soon!

Yay! Thank you!
So, about the tags I proposed in the wiki page: https://wiki.openstreetmap.org/wiki/Proposed_features/toy_library
any chance some could also be added?
Do we have to discuss it further in the mailing list?

@ChameleonScales Possibly. We try not to promote new, low-usage tags without a very good reason. I'd suggest mapping as many toy libraries as you can to see how those tags work in practice, and/or going through a formal vote. It's easier to support a tag with even a few dozen uses than zero uses.

Thanks. I'll try again to reach some organization to discuss the details.
Right now there are 128 entities with this tag worldwide, but none of them are displayed on the map (you can find them with a search but you won't see the icon and/or name directly on the map like you would for a toy store). Is it normal ?

Right now there are 128 entities with this tag worldwide, but none of them are displayed on the map (you can find them with a search but you won't see the icon and/or name directly on the map like you would for a toy store). Is it normal ?

@ChameleonScales Each map based on OSM data has its own rules for what tags to display, so new tags won't necessarily appear by default. You can request rendering for tags on the default openstreetmap.org map tiles over at https://github.com/gravitystorm/openstreetmap-carto.

Thanks, I requested it there:
https://github.com/gravitystorm/openstreetmap-carto/issues/3803


Improve "clean old history" command to considering the number of entries

Problem Statement
I want to keep the history for some models clean based on number of entries.
Describe the solution you'd like
Add an argument to "clean old history" command, to keep just a specified number of entries regardless of age.
Describe alternatives you've considered
Querying history ignoring the latest five (for exemple) entries, then deleting all the rest.
Additional context
Not applicable.

Thinking about this, I have two suggestions, detailed below:
New command
A new command splitting the clean old history between clean by time and clean by counting, avoiding conditionals to deal with both in same command.
Current command maybe can marked as deprecated and turn into an alias to new command (by time).

New parameter in the current command
Add a new parameter (called "keep" for example) and inside _proccess we can slicing the queryset to ignore entries beyond the limit.

Are they options interesting?
Personally I think the first can more concise.


Add script class hierarchies & add-script button permanence/auto-derivation

Previously, if you attempted to create a script class that extends another script, it wouldn't show up in the CreateDialog. I have altered the backend to fix this.
This PR allows you to have hierarchies of script classes that show up in the CreateDialog. It also modifies the scene tree dock so that the Add Script button is the only one that exists (no remove button - it's just hidden) and the add script button will auto-populate the Inherits field of the ScriptCreateDialog if the selected node already has a script. Finally, I made it so that script classes that are part of an editor plugin will be added/removed from the CreateDialog when their respective EditorPlugin is toggled active/inactive.
In the example below, "new_script.gd" is in a plugin I created, and you can see the effect on the Derived class in my res:// folder which derives it whenever you toggle the plugin.
Plugin Active:

Plugin Inactive:

I can follow this PR up with separate PRs to add custom icons and permit GDScript inheritance via class name, whenever we decide when/how we wanna do that @reduz.

@henriiquecampos oh interesting. I didn't even know that. That sounds like it would be fixable though...

As discussed in the IRC meeting, the idea behind this is good and welcome, but needs to be implemented in a solid way.
Notes from IRC:
reduz> I still think bojidar_bgs PR for script categories was the best solution to this problem
too bad it was closed
the approach was bad, but the idea was good
a keyword export_category "Something" would be great
Akien> I think we're starting to have a need for annotations support in GDScript finally :)
Akien>We could do stuff like:
#[category "Something"]
export var foo

D'oh. Thanks!

@mhilbrunner This one should be all good to go too.

I updated this one so that there is a ProjectSetting it checks for using a script class's name for inheritance rather than its filepath. I also fixed a bug that prevented the created script from opening in the ScriptEditor immediately after creation.

I've refactored this so that it makes no core changes. Purely CreateDialog, SceneTreeDock, and EditorData.

Thanks for this contribution, by the way :)

I am confused, since when can we add scripts directly in the scene tree like that? This pr concerns inheritance in the tree but not the base feature.

@OliPerraul reduz added this feature about a week ago with commit a3f1ee5. If you use "class_name" in a GDScript, it now registers it as a global in the ScriptServer class. The CreateDialog was also edited to automatically display these classes, however the way it was done did now allow for inheritance between scripts to be demonstrated in the CreateDialog.

OK thanks

Is this the proper syntax
class_name CustomClass0
extends Control

func _ready():
	pass

@OliPerraul No, the class_name keyword must be placed after the extends statement, as far as I know.


Typo "Microsoft Teams Room"→"Microsoft Teams Rooms"

https://learn.microsoft.com/en-us/microsoftteams/rooms/update-management
https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/blob/live/Teams/rooms/update-management.md
#PingMSFTDocs

@altsou
PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


Kivy on Pycharm

I'm trying to install Kivy and Kivymd on Pycharm on my Mac with Catalina, and it say me a lot of errors.
I've got python 3.8.5 and pip 20.2.1.
I've already install Kivy's app but it doesn't work, What I can do?
Thanks

I am not a expert but I found a similar problem on stackoverflow. https://stackoverflow.com/questions/60438263/unable-to-install-kivy-on-macos10-15-using-pip
He solves the problem remove Python 3.8 and install 3.7

Thanks so much
Cristian Mazzoni

Il giorno 7 ago 2020, alle ore 04:06, Engin Yüksel<EMAIL_ADDRESS>ha scritto:
https://stackoverflow.com/questions/60438263/unable-to-install-kivy-on-macos10-15-using-pip

I find the solution,
if you are on Catalina, you must install the beta version of kivy           USE THIS string in Pycharm terminalpip install kivy==2.0rc3.


Libav/ffmpeg include files in different distros are nightmarish

Find a better way to handle these dependencies. Bake them as vendor dependencies maybe.

Fixed in latest commit. Add "include_dir(/usr/include/ffmpeg)" in CMakeLists


fix(crash): Fix crash in PullDiff screen

SyntaxHighlighter is not stylable as it uses the style props for something totally different.
Crash introduced in #561

Coverage decreased (-0.04%) to 39.398% when pulling 2d62c8d9b462b1c4f587078f36af18f214534790 on machour:fix-code-style into 53089b68d8c9c600d66ea253dad23a09798994cb on gitpoint:master.

Merged this quick one in by myself to fix master (and so I can work on the PullDiff screen)
😘


SIGTERM support for graceful shutdown

Description of the changes

Additional option to specify a signal type: I have added an option to specify signal types to killport cli. (like a traditional unix kill command)

We can set -s/ --signal option to specify signal type.
e.g. killport -s sigterm 8080

SIGTERM support: We can specify -s sigterm option for graceful shutdown.

Related issue(s)

This PR is related to the issue https://github.com/jkfran/killport/issues/8.
But this is not completely support for all signal types.
Type of change
Please select one or multiple of the following options:

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Code cleanup (refactoring or improving code quality)
[ ] Documentation update (adding or updating documentation, updating README)

Checklist:

[x] I have read the CONTRIBUTING document.
[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

Additional information
Add any other information or screenshots about the pull request here.

@jkfran
Thank you for your review!
I have applied some changes about your change requests. Please confirm that again 🙏


TypeError: XLSX.utils.json_to_sheet is not a function

I am trying to parse an array to xlsx using angulat and i am using this code
var  app = angular.module('AngularExcel',[]);
app.controller('ArraytoExcel', function ($scope){
    $scope.exportData = function () {

var data = [
{ name: "Barack Obama", pres: 44 },
{ name: "Donald Trump", pres: 45 }
];
/* generate a worksheet */
var ws = XLSX.utils.json_to_sheet(data);
/* add to workbook */
var wb = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(wb, ws, "Presidents");
/* write workbook (use type 'binary') */
var wbout = XLSX.write(wb, {bookType:'xlsx', type:'binary'});
/* generate a download */
function s2ab(s) {
var buf = new ArrayBuffer(s.length);
var view = new Uint8Array(buf);
for (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
return buf;
}
saveAs(new Blob([s2ab(wbout)],{type:"application/octet-stream"}), "sheetjs.xlsx");
}
});

and in html

ArrayToExcel

<body ng-app="AngularExcel">
	<div ng-controller="ArraytoExcel">
            <h2> Angular to Excel </h2>
            <button ng-click="exportData()">Export</button>

    </div>
    <!-- <script src="xlsxworker.flow.js"></script> -->
    <script src="xlsx.js"></script>
    <script src="xlsx.flow.js"></script>
    <!-- <script src="xlsxworker.js"></script> -->
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
    <script src="angular.min.js"></script>
    <script src="FileSaver.js"></script>
    <script src="AngularExcel.js"></script>
    <script src="https://rawgithub.com/eligrey/FileSaver.js/master/FileSaver.js" type="text/javascript"></script>
    <script src="angular-js-xlsx.js"></script>
    <script src="xlsx.full.min.js"></script>
    <script src="xlsx.core.min.js"></script>
    <script src="index.d.ts"></script>
    <script src="JSJS.js"></script>
    <!-- <script lang="javascript" src="dist/xlsx.full.min.js"></script> -->
</body>

and TypeError: XLSX.utils.json_to_sheet is not a function happens when i run the code

You pulled in way too many copies of the library!
https://github.com/SheetJS/js-xlsx/tree/master/demos/angular has a complete example that you can just copy and tinker with.  Play with it here: http://plnkr.co/edit/2aqgi7lF8zzUiHTcAhOk?p=preview

now i only import

and the same problem

You might be using an older version.  Can you run console.log(XLSX.version) in the browser console?  The current version is 0.11.5 but you may have an older version

i am using 0.8.8 ,, from where can i get a newer version

It's available in various places, as explained in the README:

CDNs like unpkg: https://unpkg.com/xlsx/dist/xlsx.full.min.js
NPM: https://www.npmjs.com/package/xlsx
bower js-xlsx

thaaaaaaaaaaaaank's a lot it solved the problem just now an error appears telling that ReferenceError: saveAs is not defined
can you help me in this

You need FileSaver.js: https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.3/FileSaver.min.js
If this has been helpful for you, we'd love if you could give a star (hit the star icon in the top-right corner :)

I have this issue with v0.15.0, installed via npm. Currently I'm just loading xlsx.full.min.js, so I'm guessing I just need to load an additional file or two... (will update here if I figure this out first)

This issue is from 2017.  xlsx.full.min.js has everything.  If you are trying to write a file, use XLSX.writeFile -- it embeds all of the file writing logic


Could cutecoin remove cache without manual intervention?

When 0.7.4 was released, we had to manually remove cache folder, for each identity we had.
Could cutecoin do it automatically? And/or may we have a "clear cache" button somewhere?

Done in https://github.com/ucoin-io/cutecoin/commit/d7f78e1a6b2fc08c780e8701f7958ad37107474e


Test against Azure

cc: @yalos

Test command for Azure: ./hack/make.py test intg -cloud-provider=azure -namespace=test-x -daemon-host-name='k8s-master-48629cb7-0' -max-test=3 -test-only=DaemonCreate -cleanup=false

@sadlil , I see why the HostPort mode does not work with Azure. ACS uses a network loadbalancer in front of the master node to expose it to the internet. So, traffic never hits the nodes directly. We need to open some NAT rule. I tried manually opening NAT. That did not work.
Need to study more. https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-overview

I got it working. I manually added:

Inbound Rule for Port 80.
Open Master LB for 80 --> 80

HostPort mode will not work for regular nodes in ACS, since they have no real IP. So, the question is do we really want to support this for Azure only for master node?

I think the proper solution will be to add a provider called "acs", like "gke" and handle them specially. I removed this from 3.0.0, since the default Loadbalancer mode is now working.


Fixed download links for 1.8.

Description

Urgency

[X] Blocker
[ ] High
[ ] Medium

Requirements

Test all commands and procedures.
Build content locally and test for formatting/links.
Add redirects to dcos-website/redirect-files.
Change all affected versions (e.g. 1.7, 1.8, and 1.9).
See the contribution guidelines.

It would be great

to have a 1.8/stable channel
to have a non EA 1.7 channel


Feature Request - Usable outputs

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description
Is your feature request related to a problem?
We would like to deploy additional resources to resource groups the module creates. Ideally we would like to reuse the outputs that are provided by the module. But unfortunately the outputs are indexed by the resourceids which we can't know upfront.
Describe the solution you'd like
The current workaround we have is:
data "azurerm_resource_group" "rg_management" {
  provider = azurerm.management
  name     = "rg-platform-management-prd-weu-001" # we defined a custom name
  depends_on = [
    module.enterprise_scale
  ]
}

We would like to see something like
data "azurerm_resource_group" "rg_management" {
  provider = azurerm.management
  name     = module.enterprise_scale.azure_resource_group.management.management.name
}

Current output of the module:
"azurerm_resource_group" = {
      "connectivity" = {
        "/subscriptions/mysubscription/resourceGroups/mylz-connectivity-westeurope" = {
...
          })
        }
        "/subscriptions/mysubscription/resourceGroups/mylz-dns" = {
...
        }
      }
      "management" = {
        "/subscriptions/mysubscription/resourceGroups/rg-platform-management-prd-weu-001" = {
...
       }
      }
     ...
    }

Desired output of the module something along these lines:
"azurerm_resource_group" = {
      "connectivity" = {
        "connectivity" = {
...
          })
        }
        "dns" = {
...
        }
      }
      "management" = {
        "management" = {
...
       }
      }
     ...
    }

@cveld, I was trying to find another issue where this was discussed previously, but unfortunately cannot find it.
The construct of our outputs was something we deliberated over for some time when first creating the module (just like the resource instance naming). We were initially wanting to create a structure similar to your proposal, but then we realised that so many different resources had different levels of uniqueness needed. You can see this at play if you study the module code for the advanced inputs on management and connectivity resources.
Because of this, we decided that all instances of a given resource would be named according to the Azure resource ID. This guarantees uniqueness, whilst also being something you can determine. It also makes importing resources easier as you need to know this value to import the resource anyway.
This decision impacts the outputs, as the outputs are just the output of each resource type copy loop, as created by Terraform.
This is also why we recommend using the approach you are already following (dependency inversion), although we typically suggest adding resources within a new Terraform workspace, rather than extending the one you are using to deploy the module. This approach helps to prevent the Terraform workspace becoming increasingly large and complex.
Also, you could use the approach you are wanting, but it would need to look like:
data "azurerm_resource_group" "rg_management" {
  provider = azurerm.management
  name     = module.enterprise_scale.azure_resource_group[/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-platform-management-prd-weu-001].name
}

Which of course I appreciate is defeating the point of what you are trying to achieve.
@matt-FFFFFF - this is definitely something to consider if we go ahead with a module refactor 👍🏻

In my use case a customer just wants a storage account added to the management subscription for diagnostics log archiving purposes. Since i cannot use the enterprise scale outputs in another module this way, what would be the right approach?

@cveld adding to features for v.next, locking for now

See new wiki page for guidance https://github.com/Azure/terraform-azurerm-caf-enterprise-scale/wiki/[User-Guide]-Module-Outputs


client.SearchAsync returns empty object

I want to place a bid but, after successful login, I am using the same client instance to Search players
var searchParameters = new PlayerSearchParameters
{
Page = 1,
Level = Level.All,
ChemistryStyle = ChemistryStyle.All,
League = League.Any,
Nation = Nation.Norway,
Position = Position.Striker,
Team = Team.ManchesterUnited
};
var searchResponse = await client.SearchAsync(searchParameters);
but the object returned by has all objects with default values and nothing else
Please help on this

No Norwegian strikers playing for Man U anymore 😄 Try not setting the nation parameter, or set it to something else.

Thank you Trydis 👍


Tilde grabbing: Create grab-manager.js

This branch was branched off https://github.com/webaverse/app/tree/patriboz/tilde-grabbing
And follows after https://github.com/webaverse/app/pull/3714
The scope of this PR is to move all functionality for scene editing from game.js to grab-manager.js.
Functionality itself wasn't changed.
The exported instance of GrabManager is hooked into the main game loop in webaverse.js to receive updates.
Key bindings for scene editing are changed accordingly in io-manager.js.
makeHighlightPhysicsMesh was moved to utils.js, since it rather belongs there and is used by game.js and grab-manager.js.

This PR was merged into studios, so I close it here. https://github.com/webaverse-studios/app/pull/30


[Microsoft Generator CSharp] Create Client Model Plugin Implementation of Code Writer

As part of supporting custom system based statements, expressions , and method bodies, the plugin should contain an implementation of the CodeWriter. This should contain implementations for WriteMethodBodyStatement & WriteValueExpression to handle writing custom system statements, expressions, and method bodies.

This most likely is obsolete once we pull in the latest expression / statements from autorest.csharp.


Glob times out for LIGO origin

I am attempting to scope out pelicanfs as a replacement for a custom LIGO file indexing solution - to provide a backend to the LIGO data discovery client relied upon by many scientific applications.
However, when I attempt to perform a 'simple' glob() that should return a few (5-10) URL hits, I get a timeout:
# discover auth token
from scitokens import SciToken
token = SciToken.discover()
tokenstr = token._serialized_token or token.serialize().decode("utf-8")

# connect to origin
from pelicanfs.core import PelicanFileSystem
pelfs = PelicanFileSystem(
    "pelican://osg-htc.org",
    #direct_reads=True,
    headers={"Authorization": f"Bearer {tokenstr}"},
)

# simple 'ls' works quickly
print("ls")
print(pelfs.ls("/igwn/ligo"))

# glob() always times out
print("glob")
print(pelfs.glob(
    "/igwn/ligo/frames/O4/hoft_C00/H1/H-H1_HOFT_C00-141/H-H1_HOFT_C00-141140*-4096.gwf",
    timeout=30,
))

Full traceback
Traceback (most recent call last):
  File "/home/duncan/opt/conda/envs/pelicanfs/lib/python3.12/asyncio/tasks.py", line 520, in wait_for
    return await fut
           ^^^^^^^^^
  File "/home/duncan/git/github.com/PelicanPlatform/pelicanfs/src/pelicanfs/core.py", line 446, in _glob
    allpaths = await self._find(
               ^^^^^^^^^^^^^^^^^
  File "/home/duncan/git/github.com/PelicanPlatform/pelicanfs/src/pelicanfs/core.py", line 377, in wrapper
    return await func(self, dataUrl, *args[1:], **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/duncan/git/github.com/PelicanPlatform/pelicanfs/src/pelicanfs/core.py", line 391, in _find
    results = await self.httpFileSystem._find(path, maxdepth, withdirs, **kwargs)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/duncan/opt/conda/envs/pelicanfs/lib/python3.12/site-packages/fsspec/asyn.py", line 846, in _find
    if withdirs and path != "" and await self._isdir(path):
                                   ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/duncan/opt/conda/envs/pelicanfs/lib/python3.12/site-packages/fsspec/implementations/http.py", line 516, in _isdir
    return bool(await self._ls(path))
                ^^^^^^^^^^^^^^^^^^^^
  File "/home/duncan/opt/conda/envs/pelicanfs/lib/python3.12/site-packages/fsspec/implementations/http.py", line 207, in _ls
    out = await self._ls_real(url, detail=detail, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/duncan/opt/conda/envs/pelicanfs/lib/python3.12/site-packages/fsspec/implementations/http.py", line 159, in _ls_real
    async with session.get(self.encode_url(url), **self.kwargs) as r:
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/duncan/opt/conda/envs/pelicanfs/lib/python3.12/site-packages/aiohttp/client.py", line 1197, in __aenter__
    self._resp = await self._coro
                 ^^^^^^^^^^^^^^^^
  File "/home/duncan/opt/conda/envs/pelicanfs/lib/python3.12/site-packages/aiohttp/client.py", line 608, in _request
    await resp.start(conn)
  File "/home/duncan/opt/conda/envs/pelicanfs/lib/python3.12/site-packages/aiohttp/client_reqrep.py", line 976, in start
    message, payload = await protocol.read()  # type: ignore[union-attr]
                       ^^^^^^^^^^^^^^^^^^^^^
  File "/home/duncan/opt/conda/envs/pelicanfs/lib/python3.12/site-packages/aiohttp/streams.py", line 640, in read
    await self._waiter
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/duncan/opt/conda/envs/pelicanfs/lib/python3.12/site-packages/fsspec/asyn.py", line 56, in _runner
    result[0] = await coro
                ^^^^^^^^^^
  File "/home/duncan/opt/conda/envs/pelicanfs/lib/python3.12/asyncio/tasks.py", line 519, in wait_for
    async with timeouts.timeout(timeout):
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/duncan/opt/conda/envs/pelicanfs/lib/python3.12/asyncio/timeouts.py", line 115, in __aexit__
    raise TimeoutError from exc_val
TimeoutError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/duncan/git/github.com/PelicanPlatform/pelicanfs/test.py", line 13, in <module>
    print(pelfs.glob(
          ^^^^^^^^^^^
  File "/home/duncan/opt/conda/envs/pelicanfs/lib/python3.12/site-packages/fsspec/asyn.py", line 118, in wrapper
    return sync(self.loop, func, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/duncan/opt/conda/envs/pelicanfs/lib/python3.12/site-packages/fsspec/asyn.py", line 101, in sync
    raise FSTimeoutError from return_result
fsspec.exceptions.FSTimeoutError

Note -- the IGWN origin had an older version of the patch here that caused large directory listings to hang indefinitely.  I strongly suspect they are being hit by that.
@duncanmmacleod - can you try a glob with the directory above?  I suspect it's smaller and hence should succeed.

@bbockelm, attempting glob() with other directories where the known results count is 'small' (<100) works and returns very quickly.
I look forward to this patch being applied to the LIGO origin(s).

All CIT operated origins were updated to xrootd-server-5.7.1-1.3.osg23 on 2024-10-29. At least for me, Duncan's sample code above now returns:
(pelicanfs) [joshua.willis@ldas-pcdev1 pelicanfs]$ ./duncan_test.py
ls
[{'name': '/igwn/ligo/README', 'size': None, 'type': 'file'}, {'name': '/igwn/ligo/frames', 'size': None, 'type': 'file'}, {'name': '/igwn/ligo/cachetest', 'size': None, 'type': 'file'}]
glob
['/igwn/ligo/frames/O4/hoft_C00/H1/H-H1_HOFT_C00-141/H-H1_HOFT_C00-1411403776-4096.gwf', '/igwn/ligo/frames/O4/hoft_C00/H1/H-H1_HOFT_C00-141/H-H1_HOFT_C00-1411407872-4096.gwf']

which I believe is the expected behavior, though @duncanmmacleod should confirm when he is able.

The glob now returns fine for me.
Sidebar: is glob() supposed to be recursive? If I try:
glob = pelfs.glob(
    "/igwn/ligo/frames/O4/hoft_C00/H1/**/*.gwf",
    timeout=300,
)

I get 0 results.

The glob now returns fine for me.
Sidebar: is glob() supposed to be recursive? If I try:
glob = pelfs.glob(
    "/igwn/ligo/frames/O4/hoft_C00/H1/**/*.gwf",
    timeout=300,
)

I get 0 results.

Hmm. Let me look into it. I had a hard time getting glob to work quite right so I wouldn't be surprised if it's still a bit buggy. Let me check it out. You could also check what the results are with the http fsspec. Which is what it should mimic.


@damassi => Remove Works For You lab and release

Closes https://artsyproduct.atlassian.net/secure/RapidBoard.jspa?rapidView=57&projectKey=DISCO&modal=detail&selectedIssue=DISCO-240
Releases the WFY Reaction grid to all users (lifting the lab feature).

@mzikherman don't forget to clean up the lab feature!


Suggestion: Ordering latest to oldest

Feedback:

I'd make .NET 5 the top element and order latest to oldest

Complete ✅

Complete ✅


paket.exe config add-token creates a redundant "packages" folder in the current directory

Description
See title.
Repro steps

Add Paket version <IP_ADDRESS> to PATH.
mkdir test
cd test
paket config add-token "https://www.nuget.org" <api-key>

Expected behavior
A packages folder is not created inside the test folder.
Actual behavior
A packages folder is created inside the test folder.
Known workarounds
Delete the folder.

I get the same behavior using v3.30.2 when using paket config add-credentials https://.....
This is especially annoying when the current working directory is read-only. In that case paket config fails completely.
Known workaround
ensure the current working directory is writable.

We had the same issue in our environment and after cross checking with Paket-5.99.1, the issue is fixed. The issue is reproducible in Paket-4.8.4, so the fix was merged between Paket-(4.8.4, 5.99.1]