[ENH] add numba function to find slope derivative

currently, ElasticEnsemble finds the slope derivative for ddtw using DerivativeSlopeTransformer. This takes a 3d numpy, internally converts everything into nested pandas, then loops through converting. Once returned, the derivative dataframe is converted back to nump.
functions: series_slope_derivative(x) takes 3D time series, loops over all and calls private function _der(x).
This replaces the use of DerivativeSlopeTransformer in ElasticEnsemble with a numba compiled  function defined in the ElasticEnsemble function. This is done with loops and numba. Its very possible it might be a bit faster with numpy vectorised operations, but this suggests the difference will be minimal, and this is easier to read (for me at least).
https://numba.pydata.org/numba-doc/latest/user/performance-tips.html
If this is acceptable, I will do the same with ShapeDTW and decide if we want to keep DerivativeSlopeTransformer
x#### Reference Issues/PRs
Fixes #85
Part of #197
What should a reviewer concentrate their feedback on?
whether it would be better to vectorise one or both of the functions
Did you add any tests for the change?
I tried, but dont think pytest works with numba functions?

so chatGPT said I should do it like this. Just running some timing tests, the chaptGPT version seems a little bit slower than the numba one. but its probably preferable, because I can write a test method for it, although I should check its correct too
def _der2(x: np.ndarray):
    """Vectorized Derivative Slope transform."""
    der = ((x[1:-1] - x[:-2]) + ((x[2:] - x[:-2]) / 2.0)) / 2.0
    der = np.concatenate(([der[0]], der, [der[-1]]))
    return der

def series_slope_derivative2(X: np.ndarray):
    """Vectorized slope derivative of 3D time series.

    Parameters
    ----------
    X: np.ndarray shape (n_time_series, n_channels, series_length)

    Returns
    -------
    np.ndarray shape (n_time_series, n_channels, series_length)
    """
    return np.apply_along_axis(_der, axis=-1, arr=X)

actually, in my very ad hoc timing experiment, vectorised is looking a little faster, I'll set up a proper test and include the pandas version too

so first experiment, thought I would put in current implementation. Columns are

Nice result! Just wondering: you could also decorate the vectorized function _der2(x: np.ndarray): using numba?

well that was a bad idea! njit and vectorisation dont work, this actually crashes
@njit(fastmath=True, cache=True)
def _der3(x: np.ndarray):
"""Vectorized Derivative Slope transform."""
der = ((x[1:-1] - x[:-2]) + ((x[2:] - x[:-2]) / 2.0)) / 2.0
der = np.concatenate(([der[0]], der, [der[-1]]))
return der
seems like a straight choice between vectorised or numba. I'll run a longer timing comparison. I think its probably better to vectorise if the differences are small, because it can be tested. Does anyone have an opinion about this?

I see. I will look into the code later on today or tomorrow, too. I feel like the np.concantenate is not necessary. Will try to come up with a solution, too.

Final note:

@njit(fastmath=True, cache=True)
def _der3(x: np.ndarray):
    m = len(x)
    der = np.zeros(m)
    der[1:-1] = ((x[1:-1] - x[:-2]) + ((x[2:] - x[:-2]) / 2.0)) / 2.0
    der[0] = der[1]
    der[-1] = der[-2]
    return der

This vectorized code would be faster than the ChatGPT-version but is slightly slower than the for-loop. So the for-loop is perfectly fine to go in. Well done!

CI runtimes are way too high with > 5 hours. Not sure, what is wrong.
See also:
https://github.com/aeon-toolkit/aeon/pull/250


tf.keras.utils.multi  does not work with WGAN-GP Model

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): Ubuntu 16.04
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 1.12.0
Python version: 3.5
Bazel version (if compiling from source): n/a
GCC/Compiler version (if compiling from source): n/a
CUDA/cuDNN version: n/a
GPU model and memory: n/a

Describe the current behavior
tf.keras.utils.multi  does not work with WGAN-GP Model
I also try on Keras(not tf.keras) and it was work!
Code to reproduce the issue
discriminator model code:
generator = gan_generator()
discriminator = gen_discriminator()

# Image input (real sample)
real_img = tf.keras.Input(shape=img_shape)
# Noise input
z_disc = tf.keras.Input(shape=(100,))
# Generate image based of noise (fake sample)
fake_img = generator(z_disc)

# Discriminator determines validity of the real and fake images
fake = discriminator(fake_img)
valid = discriminator(real_img)

# Construct weighted average between real and fake images
interpolated_img = RandomWeightedAverage()([real_img, fake_img])
# Determine validity of weighted sample
validity_interpolated = discriminator(interpolated_img)

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

discriminator_model = tf.keras.Model(inputs=[real_img, z_disc], outputs=[valid, fake, validity_interpolated])
parallel_discriminator_model = tf.keras.utils.multi_gpu_model(discriminator_model, gpus=2)

generator & dircriminator body
def gan_generator(self):
    inputs = tf.keras.Input(shape=(100,))

    x = tf.keras.layers.Dense(7 * 7 * self.dims * 4, activation='relu', input_dim=self.latent_dim)(inputs)
    x = tf.keras.layers.Reshape((7, 7, self.dims * 4))(x)

    x = tf.keras.layers.UpSampling2D()(x)
    x = tf.keras.layers.Conv2D(self.dims * 4, kernel_size=5, padding="same")(x)
    x = tf.keras.layers.BatchNormalization(momentum=0.8)(x)
    x = tf.keras.layers.Activation("relu")(x)

    x = tf.keras.layers.UpSampling2D()(x)
    x = tf.keras.layers.Conv2D(self.dims * 2, kernel_size=5, padding="same")(x)
    x = tf.keras.layers.BatchNormalization(momentum=0.8)(x)
    x = tf.keras.layers.Activation("relu")(x)

    # x = UpSampling2D()(x)
    # x = Conv2D(self.dims * 1, kernel_size=5, padding="same")(x)
    # x = BatchNormalization(momentum=0.8)(x)
    # x = Activation("relu")(x)

    x = tf.keras.layers.Conv2D(self.channels, kernel_size=5, padding="same")(x)
    x = tf.keras.layers.Activation("tanh")(x)

    return tf.keras.Model(inputs, x)

def gen_discriminator(self):
    inputs = tf.keras.Input(shape=self.img_shape)

    x = tf.keras.layers.Conv2D(self.dims, kernel_size=5, strides=2, padding="same", input_shape=self.img_shape)(inputs)
    x = tf.keras.layers.LeakyReLU(alpha=0.2)(x)
    x = tf.keras.layers.Dropout(0.25)(x)

    x = tf.keras.layers.Conv2D(self.dims * 2, kernel_size=5, strides=2, padding="same")(x)
    x = tf.keras.layers.ZeroPadding2D(padding=((0, 1), (0, 1)))(x)
    x = tf.keras.layers.BatchNormalization(momentum=0.8)(x)
    x = tf.keras.layers.LeakyReLU(alpha=0.2)(x)
    x = tf.keras.layers.Dropout(0.25)(x)

    x = tf.keras.layers.Conv2D(self.dims * 4, kernel_size=5, strides=2, padding="same")(x)
    x = tf.keras.layers.BatchNormalization(momentum=0.8)(x)
    x = tf.keras.layers.LeakyReLU(alpha=0.2)(x)
    x = tf.keras.layers.Dropout(0.25)(x)

    x = tf.keras.layers.Conv2D(self.dims * 4, kernel_size=5, strides=2, padding="same")(x)
    x = tf.keras.layers.BatchNormalization(momentum=0.8)(x)
    x = tf.keras.layers.LeakyReLU(alpha=0.2)(x)
    x = tf.keras.layers.Dropout(0.25)(x)
    x = tf.keras.layers.Flatten()(x)
    x = tf.keras.layers.Dense(1)(x)
    return tf.keras.Model(inputs, x)

Other info / logs
2019-02-01 10:23:31.330533: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-02-01 10:23:31.441144: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:964] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2019-02-01 10:23:31.441617: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1432] Found device 0 with properties:
name: GeForce GTX 1070 major: 6 minor: 1 memoryClockRate(GHz): 1.797
pciBusID: 0000:01:00.0
totalMemory: 7.93GiB freeMemory: 7.18GiB
2019-02-01 10:23:31.530899: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:964] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2019-02-01 10:23:31.531436: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1432] Found device 1 with properties:
name: GeForce GTX 1070 major: 6 minor: 1 memoryClockRate(GHz): 1.797
pciBusID: 0000:03:00.0
totalMemory: 7.93GiB freeMemory: 7.83GiB
2019-02-01 10:23:31.532281: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1511] Adding visible gpu devices: 0, 1
2019-02-01 10:23:32.028009: I tensorflow/core/common_runtime/gpu/gpu_device.cc:982] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-02-01 10:23:32.028044: I tensorflow/core/common_runtime/gpu/gpu_device.cc:988]      0 1
2019-02-01 10:23:32.028053: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1001] 0:   N Y
2019-02-01 10:23:32.028061: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1001] 1:   Y N
2019-02-01 10:23:32.028301: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 6920 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1070, pci bus id: 0000:01:00.0, compute capability: 6.1)
2019-02-01 10:23:32.028599: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:1 with 7558 MB memory) -> physical GPU (device: 1, name: GeForce GTX 1070, pci bus id: 0000:03:00.0, compute capability: 6.1)
Traceback (most recent call last):
  File "/home/share/user/John/WGAN_GP/tf_main.py", line 258, in <module>
    wgan = WGANGP()
  File "/home/share/user/John/WGAN_GP/tf_main.py", line 82, in __init__
    parallel_discriminator_model = tf.keras.utils.multi_gpu_model(self.discriminator_model, gpus=2)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/utils/multi_gpu_utils.py", line 252, in multi_gpu_model
    return Model(model.inputs, merged)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/engine/training.py", line 121, in __init__
    super(Model, self).__init__(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/engine/network.py", line 80, in __init__
    self._init_graph_network(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/checkpointable/base.py", line 474, in _method_wrapper
    method(self, *args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/engine/network.py", line 268, in _init_graph_network
    self.inputs, self.outputs)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/engine/network.py", line 1833, in _map_graph_network
    str(all_names.count(name)) + ' times in the model. '
ValueError: The name "model_1" is used 3 times in the model. All layer names should be unique.

@KUASWoodyLIN,
Distribution Strategy can be a good option if you want to run your model with Multiple GPUs. Can you please take a look and let us know if this resolves your issue? Also, please refer the documentation for Distributed Training, tf.distribute and Custom Training with tf.distribute.strategy Thanks!


[Hold Web-E#35285]Show errors after workspace creation failure

Details

Fixed Issues

$ https://github.com/Expensify/Expensify/issues/236995
Tests

Changes For Testing
diff --git a/lib/PolicyAPI.php b/lib/PolicyAPI.php
index 51a480c4f4d..5ba7b05efec 100644
--- a/lib/PolicyAPI.php
+++ b/lib/PolicyAPI.php
@@ -52,6 +52,7 @@ class PolicyAPI
                                   string $adminsChatReportID = '',
                                   string $expenseChatReportID = ''): array
     {
+        self::sayHello();
         $user = User_Store::get($authToken);
         $email = $user->getEmail();
         $callerEmail = $email;
(END)

Signin to NewDot.
If you don't have a workspace yet click on the + button > Create Workspace else skip to 3.
Click on your profile picture.
Click on any workspace.
Click on the elipses(...)  > New Workspace.
Ensure you see an error like in the screenshot below.
Click on x to dismiss the error and ensure the workspace is removed(Not showing in the list).

QA Steps

Signin to NewDot.
If you don't have a workspace yet click on the + button > Create Workspace else skip to 3.
Click on your profile picture.
Click on any workspace.
Click on the elipses(...)  > New Workspace.
If the workspace creation fails, ensure you see an error like in the screenshot below.
Click on x to dismiss the error and ensure the workspace is removed(Not showing in the list).

PR Review Checklist

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

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

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

PR Reviewer Checklist
The reviewer will copy/paste it into a new comment and complete it after the author checklist is completed

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

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

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots

Web

https://user-images.githubusercontent.com/26106822/198093400-25a1e029-9442-4ee8-8dfb-eec8833e9f9b.mp4
Mobile Web - Chrome

https://user-images.githubusercontent.com/26106822/198092715-6b4e2f25-0790-4661-b1c8-6e38df716f8b.mp4
Mobile Web - Safari

https://user-images.githubusercontent.com/26106822/198093924-38fe20df-4f7b-423e-8d34-83eb79fe7267.mp4
Desktop

https://user-images.githubusercontent.com/26106822/198091860-40b047fb-d61d-4a7b-8671-4cd63938ecad.mp4
iOS

https://user-images.githubusercontent.com/26106822/198091102-1ed797a9-58a9-40d5-a8dc-921d265275d6.mp4
Android

https://user-images.githubusercontent.com/26106822/198087249-256fcacb-2485-4696-809a-af9cf51b90c0.mp4

There was an awkward behaviour with the offline testing,  so I'll wait for this PR to be merged before I continue with this.

Awkward behaviour fixed, after the PR was merged.

you can simply click: [this button]

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

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

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

Do you need C+ review here?

You can review it if you want. No need to do all the testing though

@tgolen , I updated the logic to make the children non interactive when creation fails. You can take a look/test.

I am busy with stuff so I will let it go. Thanks.

The PR for workspace list was merged, which meant I needed to tweak this, you can join in on the conversation here regarding a few concerns.

@tgolen I removed the RBR on the workspace list item, you can review again/test.

I'll update the PR description with the latest tests videos

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @Justicea83 in version: 1.2.23-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Justicea83 We are not getting error when creating workspace. Is there any steps to trigger the workspace creation failure error?

🚀 Deployed to production by @Julesssss in version: 1.2.23-9 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


nixos/wpa_supplicant: Ensure the generated config isn't world-readable

Description of changes
Set umask(2) to 066 when generating wpa_supplicant.conf, making it non-readable
or -writeable to users other than root (or whichever group the supplicant runs as).
This ensures secrets can safely be passed through environmentFile, for instance.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux

[x] Tested, as applicable:

nixosTests.wpa_supplicant

[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Module updates) Added a release notes entry if the change is significant

[x] Fits CONTRIBUTING.md.

I assume that you mean the configuration file as defined above:
finalConfig = ''"$RUNTIME_DIRECTORY"/wpa_supplicant.conf'';
That in combination with serviceConfig.RuntimeDirectoryMode = "700"; would let me believe, that it should already be only readable by root. So the file is currently world-readable?
If that is the case then also, since we know exactly which file to address, should we use chmod  on that file, rather than using umask and then reverting back the umask?

Ah, misread my ls output: it's only readable for wheel;

The ls output of that file alone does not tell you whether or not it is world readable. The containing directories also matter and if those are only readable by root, then that file could still not be read. But since you can ls on that file I assume, that the outer directory is not strict enough. Can you post the output of stat /run/wpa_supplicant and stat /run/wpa_supplicant/wpa_supplicant.conf ?

I expect using umask is likely more robust w.r.t. future changes in the config-generation script, since it affects all files (temporary or not) generated during its execution

The problem I see with umask, and also chmod, is that those are imperative interventions. If we can get this issue resolved with declarative means, for example with RuntimeDirectoryMode than that would be a lot better.

❯ stat /run/wpa_supplicant/
Access: (0750/drwxr-x---)  Uid: (    0/    root)   Gid: (    1/   wheel)

So to summarize, this is the issue. I would not expect that directory to have the mode 750 when I specify RuntimeDirectoryMode = "700";, correct?

you should still combine the two commits into one.


[feature] defile from doctor4t

the problem is this mixin: defile.mixins.json:client.inkling.adapter_generated_ForgeGui
It need to access the ratatouille mod to get this mixin.

the problem is this mixin: defile.mixins.json:client.inkling.adapter_generated_ForgeGui
It need to access the ratatouille mod to get this mixin.

You can get Defile working fairly easily by removing InklingLivingEntitiyMixin and InklingDisableHungerBarInGameHudMixin from both Defile.json and from the mixin folder in the Defile.jar and it'll load fine (only things these two mixins affect is the humger bar not being removed while submerged in ink and the bar when you charge the jump being missing)

thank you


Add pydantic v2 support

Problem statement:
I was trying to install acryl-datahub together with pyiceberg library but got a conflict due to pydantic dependency.
The issue mentioned in the acryl-datahub code ref seems to be already resolved.
It would be nice to add pydantic v2 support to acryl-datahub library.

I believe this was fixed in #10614

@hsheth2 seems yes, thanks for rapid fix 💯
looking forward for the nearest release then 🚀


Add support for atomic block type

And add some 'atts' to the element attr map

I've pulled in the commit that adds support for atomic block. But I'm not ready to pull "Add class, width, height to element attribute map"

I have added the attributes, because they are in the 'draft-js-export-html' package.
I also made a pull request for the 'draft-js-export-html' package to support atomic blocks.

Oh, I see. OK. Let me check that package : )


fix LibrePhotos/librephotos #689

Fixes https://github.com/LibrePhotos/librephotos/issues/689 by adding \.? in the middle of the regex.
I also want to flag that this regex is generally pretty brittle and should probably get an overhaul. I'm not a frontend eng and don't have much experience with email validation in general, but I'm wondering if there's a more-robust solution than an increasingly complex regex. I'll open an issue in https://github.com/LibrePhotos/librephotos since it looks like issues are turned off on this repo

lol apparently SonarCloud agrees

I'm not sure why https://github.com/LibrePhotos/librephotos-frontend/pull/111 passed SonarCloud with an A, while this one fails with a D after such a small addition

I see sonar does not like the complexity of expression. I would suggest trying to simplify the expression to
^\w+(?:[.-]?\w+)*@\w+(?:[.-]?\w+)*(?:\.\w{2,})+$
For that, you would have to remove test cases for emails with aliases (the ones that have a plus sign). Making groups non-capturing is not necessary but I think it's cleaner.

The rule makes sense in general, but for this use case it can be a bit more complex :)


Building wheel for insightface (pyproject.toml) did not run successfully.

Can not install this custom script.
already installed insightface-0.7.3-cp312-cp312-win_amd64.whl in my venv

also , build tool has already installed
here is the console:
[!]   error: subprocess-exited-with-error [!] [!]   Building wheel for insightface (pyproject.toml) did not run successfully. [!]   exit code: 1 [!] [!]   [233 lines of output] [!]   WARNING: pandoc not enabled [!]   running bdist_wheel [!]   running build [!]   running build_py [!]   creating build [!]   creating build\lib.win-amd64-cpython-311 [!]   creating build\lib.win-amd64-cpython-311\insightface [!]   copying insightface\__init__.py -> build\lib.win-amd64-cpython-311\insightface [!]   creating build\lib.win-amd64-cpython-311\insightface\app [!]   copying insightface\app\common.py -> build\lib.win-amd64-cpython-311\insightface\app [!]   copying insightface\app\face_analysis.py -> build\lib.win-amd64-cpython-311\insightface\app [!]   copying insightface\app\mask_renderer.py -> build\lib.win-amd64-cpython-311\insightface\app [!]   copying insightface\app\__init__.py -> build\lib.win-amd64-cpython-311\insightface\app [!]   creating build\lib.win-amd64-cpython-311\insightface\commands [!]   copying insightface\commands\insightface_cli.py -> build\lib.win-amd64-cpython-311\insightface\commands [!]   copying insightface\commands\model_download.py -> build\lib.win-amd64-cpython-311\insightface\commands [!]   copying insightface\commands\rec_add_mask_param.py -> build\lib.win-amd64-cpython-311\insightface\commands [!]   copying insightface\commands\__init__.py -> build\lib.win-amd64-cpython-311\insightface\commands [!]   creating build\lib.win-amd64-cpython-311\insightface\data [!]   copying insightface\data\image.py -> build\lib.win-amd64-cpython-311\insightface\data [!]   copying insightface\data\pickle_object.py -> build\lib.win-amd64-cpython-311\insightface\data [!]   copying insightface\data\rec_builder.py -> build\lib.win-amd64-cpython-311\insightface\data [!]   copying insightface\data\__init__.py -> build\lib.win-amd64-cpython-311\insightface\data [!]   creating build\lib.win-amd64-cpython-311\insightface\model_zoo [!]   copying insightface\model_zoo\arcface_onnx.py -> build\lib.win-amd64-cpython-311\insightface\model_zoo [!]   copying insightface\model_zoo\attribute.py -> build\lib.win-amd64-cpython-311\insightface\model_zoo [!]   copying insightface\model_zoo\inswapper.py -> build\lib.win-amd64-cpython-311\insightface\model_zoo [!]   copying insightface\model_zoo\landmark.py -> build\lib.win-amd64-cpython-311\insightface\model_zoo [!]   copying insightface\model_zoo\model_store.py -> build\lib.win-amd64-cpython-311\insightface\model_zoo [!]   copying insightface\model_zoo\model_zoo.py -> build\lib.win-amd64-cpython-311\insightface\model_zoo [!]   copying insightface\model_zoo\retinaface.py -> build\lib.win-amd64-cpython-311\insightface\model_zoo [!]   copying insightface\model_zoo\scrfd.py -> build\lib.win-amd64-cpython-311\insightface\model_zoo [!]   copying insightface\model_zoo\__init__.py -> build\lib.win-amd64-cpython-311\insightface\model_zoo [!]   creating build\lib.win-amd64-cpython-311\insightface\thirdparty [!]   copying insightface\thirdparty\__init__.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty [!]   creating build\lib.win-amd64-cpython-311\insightface\utils [!]   copying insightface\utils\constant.py -> build\lib.win-amd64-cpython-311\insightface\utils [!]   copying insightface\utils\download.py -> build\lib.win-amd64-cpython-311\insightface\utils [!]   copying insightface\utils\face_align.py -> build\lib.win-amd64-cpython-311\insightface\utils [!]   copying insightface\utils\filesystem.py -> build\lib.win-amd64-cpython-311\insightface\utils [!]   copying insightface\utils\storage.py -> build\lib.win-amd64-cpython-311\insightface\utils [!]   copying insightface\utils\transform.py -> build\lib.win-amd64-cpython-311\insightface\utils [!]   copying insightface\utils\__init__.py -> build\lib.win-amd64-cpython-311\insightface\utils [!]   creating build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d [!]   copying insightface\thirdparty\face3d\__init__.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d [!]   creating build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh [!]   copying insightface\thirdparty\face3d\mesh\io.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh [!]   copying insightface\thirdparty\face3d\mesh\light.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh [!]   copying insightface\thirdparty\face3d\mesh\render.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh [!]   copying insightface\thirdparty\face3d\mesh\transform.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh [!]   copying insightface\thirdparty\face3d\mesh\vis.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh [!]   copying insightface\thirdparty\face3d\mesh\__init__.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh [!]   creating build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh_numpy [!]   copying insightface\thirdparty\face3d\mesh_numpy\io.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh_numpy [!]   copying insightface\thirdparty\face3d\mesh_numpy\light.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh_numpy [!]   copying insightface\thirdparty\face3d\mesh_numpy\render.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh_numpy [!]   copying insightface\thirdparty\face3d\mesh_numpy\transform.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh_numpy [!]   copying insightface\thirdparty\face3d\mesh_numpy\vis.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh_numpy [!]   copying insightface\thirdparty\face3d\mesh_numpy\__init__.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh_numpy [!]   creating build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\morphable_model [!]   copying insightface\thirdparty\face3d\morphable_model\fit.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\morphable_model [!]   copying insightface\thirdparty\face3d\morphable_model\load.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\morphable_model [!]   copying insightface\thirdparty\face3d\morphable_model\morphabel_model.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\morphable_model [!]   copying insightface\thirdparty\face3d\morphable_model\__init__.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\morphable_model [!]   running egg_info [!]   writing insightface.egg-info\PKG-INFO [!]   writing dependency_links to insightface.egg-info\dependency_links.txt [!]   writing entry points to insightface.egg-info\entry_points.txt [!]   writing requirements to insightface.egg-info\requires.txt [!]   writing top-level names to insightface.egg-info\top_level.txt [!]   reading manifest file 'insightface.egg-info\SOURCES.txt' [!]   writing manifest file 'insightface.egg-info\SOURCES.txt' [!]   D:\COMFYV2\ComfyUI_windows_portable\python_embeded\Lib\site-packages\setuptools\command\build_py.py:218: _Warning: Package 'insightface.thirdparty.face3d.mesh.cython' is absent from the packagesconfiguration. [!]   !! [!] [!]           ******************************************************************************** [!]           ############################ [!]           # Package would be ignored # [!]           ############################ [!]           Python recognizes 'insightface.thirdparty.face3d.mesh.cython' as an importable package[^1], [!]           but it is absent from setuptools'packagesconfiguration. [!] [!]           This leads to an ambiguous overall configuration. If you want to distribute this [!]           package, please make sure that 'insightface.thirdparty.face3d.mesh.cython' is explicitly added [!]           to thepackagesconfiguration field. [!] [!]           Alternatively, you can also rely on setuptools' discovery methods [!]           (for example by usingfind_namespace_packages(...)/find_namespace:[!]           instead offind_packages(...)/find:). [!] [!]           You can read more about "package discovery" on setuptools documentation page: [!] [!]           - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html [!] [!]           If you don't want 'insightface.thirdparty.face3d.mesh.cython' to be distributed and are [!]           already explicitly excluding 'insightface.thirdparty.face3d.mesh.cython' via [!]           find_namespace_packages(...)/find_namespaceorfind_packages(...)/find, [!]           you can try to use exclude_package_data, or include-package-data=Falsein [!]           combination with a more fine grainedpackage-dataconfiguration. [!] [!]           You can read more about "package data files" on setuptools documentation page: [!] [!]           - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [!] [!] [!]           [^1]: For Python, any directory (with suitable naming) can be imported, [!]                 even if it does not contain any.pyfiles. [!]                 On the other hand, currently there is no concept of package data [!]                 directory, all directories are treated like packages. [!]           ******************************************************************************** [!] [!]   !! [!]     check.warn(importable) [!]   D:\COMFYV2\ComfyUI_windows_portable\python_embeded\Lib\site-packages\setuptools\command\build_py.py:218: _Warning: Package 'insightface.data.images' is absent from thepackagesconfiguration. [!]   !! [!] [!]           ******************************************************************************** [!]           ############################ [!]           # Package would be ignored # [!]           ############################ [!]           Python recognizes 'insightface.data.images' as an importable package[^1], [!]           but it is absent from setuptools'packagesconfiguration. [!] [!]           This leads to an ambiguous overall configuration. If you want to distribute this [!]           package, please make sure that 'insightface.data.images' is explicitly added [!]           to thepackagesconfiguration field. [!] [!]           Alternatively, you can also rely on setuptools' discovery methods [!]           (for example by usingfind_namespace_packages(...)/find_namespace:[!]           instead offind_packages(...)/find:). [!] [!]           You can read more about "package discovery" on setuptools documentation page: [!] [!]           - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html [!] [!]           If you don't want 'insightface.data.images' to be distributed and are [!]           already explicitly excluding 'insightface.data.images' via [!]           find_namespace_packages(...)/find_namespaceorfind_packages(...)/find, [!]           you can try to use exclude_package_data, or include-package-data=Falsein [!]           combination with a more fine grainedpackage-dataconfiguration. [!] [!]           You can read more about "package data files" on setuptools documentation page: [!] [!]           - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [!] [!] [!]           [^1]: For Python, any directory (with suitable naming) can be imported, [!]                 even if it does not contain any.pyfiles. [!]                 On the other hand, currently there is no concept of package data [!]                 directory, all directories are treated like packages. [!]           ******************************************************************************** [!] [!]   !! [!]     check.warn(importable) [!]   D:\COMFYV2\ComfyUI_windows_portable\python_embeded\Lib\site-packages\setuptools\command\build_py.py:218: _Warning: Package 'insightface.data.objects' is absent from thepackagesconfiguration. [!]   !! [!] [!]           ******************************************************************************** [!]           ############################ [!]           # Package would be ignored # [!]           ############################ [!]           Python recognizes 'insightface.data.objects' as an importable package[^1], [!]           but it is absent from setuptools'packagesconfiguration. [!] [!]           This leads to an ambiguous overall configuration. If you want to distribute this [!]           package, please make sure that 'insightface.data.objects' is explicitly added [!]           to thepackagesconfiguration field. [!] [!]           Alternatively, you can also rely on setuptools' discovery methods [!]           (for example by usingfind_namespace_packages(...)/find_namespace:[!]           instead offind_packages(...)/find:). [!] [!]           You can read more about "package discovery" on setuptools documentation page: [!] [!]           - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html [!] [!]           If you don't want 'insightface.data.objects' to be distributed and are [!]           already explicitly excluding 'insightface.data.objects' via [!]           find_namespace_packages(...)/find_namespaceorfind_packages(...)/find, [!]           you can try to use exclude_package_data, or include-package-data=Falsein [!]           combination with a more fine grainedpackage-dataconfiguration. [!] [!]           You can read more about "package data files" on setuptools documentation page: [!] [!]            - https://setuptools.pypa.io/en/latest/userguide/datafiles.html Failed to build insightface [!] [!] [!]           [^1]: For Python, any directory (with suitable naming) can be imported, [!]                 even if it does not contain any.py files. [!]                 On the other hand, currently there is no concept of package data [!]                 directory, all directories are treated like packages. [!]           ******************************************************************************** [!] [!]   !! [!]     check.warn(importable) [!]   creating build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh\cython [!]   copying insightface\thirdparty\face3d\mesh\cython\mesh_core.cpp -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh\cython [!]   copying insightface\thirdparty\face3d\mesh\cython\mesh_core.h -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh\cython [!]   copying insightface\thirdparty\face3d\mesh\cython\mesh_core_cython.cpp -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh\cython [!]   creating build\lib.win-amd64-cpython-311\insightface\data\images [!]   copying insightface\data\images\Tom_Hanks_54745.png -> build\lib.win-amd64-cpython-311\insightface\data\images [!]   copying insightface\data\images\mask_black.jpg -> build\lib.win-amd64-cpython-311\insightface\data\images [!]   copying insightface\data\images\mask_blue.jpg -> build\lib.win-amd64-cpython-311\insightface\data\images [!]   copying insightface\data\images\mask_green.jpg -> build\lib.win-amd64-cpython-311\insightface\data\images [!]   copying insightface\data\images\mask_white.jpg -> build\lib.win-amd64-cpython-311\insightface\data\images [!]   copying insightface\data\images\t1.jpg -> build\lib.win-amd64-cpython-311\insightface\data\images [!]   creating build\lib.win-amd64-cpython-311\insightface\data\objects [!]   copying insightface\data\objects\meanshape_68.pkl -> build\lib.win-amd64-cpython-311\insightface\data\objects [!]   copying insightface\thirdparty\face3d\mesh\cython\mesh_core_cython.c -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh\cython [!]   copying insightface\thirdparty\face3d\mesh\cython\mesh_core_cython.cpp -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh\cython [!]   copying insightface\thirdparty\face3d\mesh\cython\mesh_core_cython.pyx -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh\cython [!]   copying insightface\thirdparty\face3d\mesh\cython\setup.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh\cython [!]   running build_ext [!]   building 'insightface.thirdparty.face3d.mesh.cython.mesh_core_cython' extension [!]   creating build\temp.win-amd64-cpython-311 [!]   creating build\temp.win-amd64-cpython-311\Release [!]   creating build\temp.win-amd64-cpython-311\Release\insightface [!]   creating build\temp.win-amd64-cpython-311\Release\insightface\thirdparty [!]   creating build\temp.win-amd64-cpython-311\Release\insightface\thirdparty\face3d [!]   creating build\temp.win-amd64-cpython-311\Release\insightface\thirdparty\face3d\mesh [!]   creating build\temp.win-amd64-cpython-311\Release\insightface\thirdparty\face3d\mesh\cython [!]   "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iinsightface/thirdparty/face3d/mesh/cython -ID:\COMFYV2\ComfyUI_windows_portable\python_embeded\Lib\site-packages\numpy\core\include -ID:\COMFYV2\ComfyUI_windows_portable\python_embeded\include -ID:\COMFYV2\ComfyUI_windows_portable\python_embeded\Include "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\include" "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.18362.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.18362.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.18362.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.18362.0\\cppwinrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" /EHsc /Tpinsightface/thirdparty/face3d/mesh/cython/mesh_core.cpp /Fobuild\temp.win-amd64-cpython-311\Release\insightface/thirdparty/face3d/mesh/cython/mesh_core.obj [!]   mesh_core.cpp [!]   insightface/thirdparty/face3d/mesh/cython/mesh_core.cpp(147): warning C4244: '=': conversion from 'int' to 'float', possible loss of data [!]   insightface/thirdparty/face3d/mesh/cython/mesh_core.cpp(147): warning C4244: '=': conversion from 'int' to 'float', possible loss of data [!]   insightface/thirdparty/face3d/mesh/cython/mesh_core.cpp(210): warning C4244: '=': conversion from 'int' to 'float', possible loss of data [!]   insightface/thirdparty/face3d/mesh/cython/mesh_core.cpp(210): warning C4244: '=': conversion from 'int' to 'float', possible loss of data [!]   insightface/thirdparty/face3d/mesh/cython/mesh_core.cpp(294): warning C4244: '=': conversion from 'int' to 'float', possible loss of data [!]   insightface/thirdparty/face3d/mesh/cython/mesh_core.cpp(294): warning C4244: '=': conversion from 'int' to 'float', possible loss of data [!]   "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iinsightface/thirdparty/face3d/mesh/cython -ID:\COMFYV2\ComfyUI_windows_portable\python_embeded\Lib\site-packages\numpy\core\include -ID:\COMFYV2\ComfyUI_windows_portable\python_embeded\include -ID:\COMFYV2\ComfyUI_windows_portable\python_embeded\Include "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\include" "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.18362.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.18362.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.18362.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.18362.0\\cppwinrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" /EHsc /Tpinsightface/thirdparty/face3d/mesh/cython/mesh_core_cython.cpp /Fobuild\temp.win-amd64-cpython-311\Release\insightface/thirdparty/face3d/mesh/cython/mesh_core_cython.obj [!]   mesh_core_cython.cpp [!]   insightface/thirdparty/face3d/mesh/cython/mesh_core_cython.cpp(36): fatal error C1083: Cannot open include file: 'Python.h': No such file or directory [!]   error: command 'C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.37.32822\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2 [!]   [end of output] [!] [!]   note: This error originates from a subprocess, and is likely not a problem with pip. [!]   ERROR: Failed building wheel for insightface [!] ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (insightface) install/(de)activation script failed: D:\COMFYV2\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI_InstantID

Same for me

Same

Same issue.

same


Mariadb?

Any chance of supporting more dbs like mariadb? Great repos!

Hi and thanks! What is your use case? Actually I was thinking about it (for postgres, truth to be told), but I am afraid of fragmentation, and it's difficult to group different dbs in the same tool - especially embedded vs server-based.
Kind regards,
G.
PS: there is a duckdb version, as you may know

I didn't know, I will check it out. My use case sending sending http queries to maria using a workflow automation tool, I have tried the sqlite go repo it works really well, simple, nice to use - I just would like to set it up a more featured dbms because it is the kind of thing that would eventually need to be migrated from sqlite.

Very cool! Kudos! I am away now so I will look into it more in the future, but there are some cool concepts - I like being able to specify the connection in the headers, even if it means some overhead each time you call it; but maybe some delayed termination could be put in place to reuse the connection... at this point I wouldn't mind thinking about a multi-db tool, we have sqlite, duckdb and mysql and the concept seems "extensible" so postgres could be added too, I think... if you would care to work on it together, it could be nice.

Great! I'll keep this ticket open for the reference to https://github.com/CallumDowling/sqlxrg


Where to find ROCm 2.2

Hi, I would like to install ROCm 2.2 from binary packages. Where may I find it?

See my reply here:
https://github.com/RadeonOpenCompute/ROCm/issues/768#issuecomment-483283444
You are able to follow that tree, and you will eventually come across this:
http://repo.radeon.com/rocm/

Thanks! adding
deb [arch=amd64] http://repo.radeon.com/rocm/apt/2.2/ xenial main
to a file under /etc/apt/sources.list.d allows to install ROCm 2.2


UCB BAMPFA: Remove 5 collections

Collection details

Endpoint: OAC
[x] 4072
[x] 4328
[x] 10126
[x] 10616
[x] 10664

Communications

Freshdesk thread URL:

Request type

[ ] New collection harvest
[ ] Re-harvest whole collection (on request)
[ ] Re-harvest metadata only (on request)
[ ] Scheduled recurring harvests
[x] Delete whole collection (on request)
[ ] Item record removals
[ ] OAC METS replacement
[ ] Redirects needed
[ ] Other

Notes:
Harvesting request details
[copy/paste from forms]

@gamontoya the collections have been unpublished from CSphere. The METS can now be removed from OAC, and finding aids updated with a top-level  (and  file/item-level links can be removed)

@aturner @christinklez I believe I already did this work in early July. See: https://help.oac.cdlib.org/a/tickets/140203


Add query for proposal voters

Adds implementation of the proposal voting kv query
Relates on https://github.com/neutron-org/neutron-sdk/pull/129
Test run

https://github.com/neutron-org/neutron-tests/actions/runs/8597409604


Enhancement of key element and/or clarification of keySig@pname

The key element:
https://music-encoding.org/guidelines/v4/elements/key.html
Is currently allowed to be contained in these element:

It was originally designed to be a header-specific description of the key for the work.  However, it would be useful to allow in <staffDef> in particular in a similar manner to <keySig>.  Alternatively or in addition, it might be nice to allow as a subelement of <keySig>.
A motivation is to allow transposition by key in addition interval, as discussed in this issue:   https://github.com/rism-ch/verovio/issues/1189
Here is some example music in the key of A major:

Here is how the staffDef for the music could be formulated to represent A major (I presume):
  <staffDef  n="1" key.pname="a" key.mode="major">
        <clef shape="G" line="2" />
        <keySig  sig="3s" />
        <meterSig  count="4" unit="4" />
   </staffDef>

One question is: is the above equivalent to the following:
  <staffDef  n="1">
        <clef shape="G" line="2" />
        <keySig  sig="3s" pname="a" mode="major" />
        <meterSig  count="4" unit="4" />
   </staffDef>

Technically that looks like it should be equivalent to <staffDef @keysig.pname="a" @keysig.mode="major">...
In other words, is keySig@pname+keySig@mode independent or dependent on keySig@sig?  Or in other words, what if these two descriptors are in conflict with each other?   Or what happens if keySig@sig is missing but the other two attributes are present?
A related question would be how to encode the key independent of the key signature, particularly in the case of 16th-century music where the last accidental in the key signature is dropped as compared to modern conventions, such as displaying two flats when the music is in E-flat major?
A related problem is that the musical key can change due to modulation, and there is no key change at the point where the key changes.  How should such a case be encoded (for analytic purposes)?

One possibility would be to promote <key> to have a function similar to <keySig> within the music:
  <staffDef  n="1">
        <clef shape="G" line="2" />
        <key pname="a" mode="major" />
        <keySig  sig="3s" />
        <meterSig  count="4" unit="4" />
   </staffDef>

This would then be equivalent to:
  <staffDef  n="1" key.pname="a" key.mode="major">
        <clef shape="G" line="2" />
        <keySig  sig="3s" />
        <meterSig  count="4" unit="4" />
   </staffDef>

As you can see from the Guidelines @key.mode @key.accid @key.pname are part of MEI.analytical and thus independent from @key.sig. There are multiple examples where the written key signature and the logical key signature doesn't seem to match (e.g. pieces by Mattheson and Mendelssohn):
  <staffDef  n="1" key.pname="e" key.mode="major">
        <clef shape="G" line="2" />
        <keySig  sig="3s" />
        <meterSig  count="4" unit="4" />
   </staffDef>

Thanks.
Is<EMAIL_ADDRESS>equivalent to keySig@pname (and same for mode)?
In other words, are these two equivalent in meaning:
  <staffDef  n="1" key.pname="e" key.mode="major">
        <clef shape="G" line="2" />
        <keySig  sig="3s" />
        <meterSig  count="4" unit="4" />
   </staffDef>

  <staffDef  n="1">
        <clef shape="G" line="2" />
        <keySig  sig="3s" pname="e" mode="major" />
        <meterSig  count="4" unit="4" />
   </staffDef>

In other words, when I look for the key, then I will have to look in both places to find it?

I would say yes, they're equivalent.

Thank!

probably we should add some schematron rules pointing to the relation if both exist in an encoding or even contradict each other

Moving from guidelines to main repo.


sending wrong plan name

Fixes #73
This fixes it. Before, it was
    node.kubernetes.io/instance-type: baremetal_0
    topology.kubernetes.io/region: ewr1

with this, it is
    node.kubernetes.io/instance-type: t1.small.x86
    topology.kubernetes.io/region: ewr1

Yup, it had the wrong output for that func embedded in the tests too. Updated. Let's let I go clean, and we can merge it in.


JavaScript events stop working

Hi - I noticed this review on
https://addons.mozilla.org/en-us/firefox/addon/firequery/
Cause some conflicts Rated 1 out of 5 stars
by TomaszKane on March 6, 2015 · permalink · translate
Kubuntu 14.02, Firefox 36, Firebug 2.0.8 and FireQuery 1.4.1
When I open Firebug JavaScript events stop working. After disable FireQuery problem gone.
and I found the same. I am using Firefox 37.0.1 and Firebug 2.08 and
FireQuery 1.4.1 on Windows 7 64bit.
Regards, Tim Makins

Hi @TimMakins, Thanks for the report but this repository etc relate to the FireQuery 2.0. The version you are using is no longer being maintained as it was originally developed by a third party developer who isn't actively developing it. The Firebug Working Group has spoken to the original Creator and have approval to continue with the his idea of Firequery but the Group would now be responsible for maintaining future versions.
Could I suggest you possibly download and install this version that is here on GitHub? If you have any questions or issues please feel free to raise them here.

Thanks for your speedy reply. I would suggest 2 things:
1/ That you mention on page 'https://github.com/firebug/firequery' that your software is called 'FireQuery 2.0', and that use of v1.0 is not recommended.
2/ That you ask whoever maintains the pages with v1 downloads to remove them.

1/ That you mention on page 'https://github.com/firebug/firequery' that your software is called 'FireQuery 2.0', and that use of v1.0 is not recommended.

Done

2/ That you ask whoever maintains the pages with v1 downloads to remove them.

As soon as FQ2 is on AMO the page will be updated
Thanks for the feedback!
Honza


Mask out regions for various operation: histograms, colormap selection and profile ...

Changelog: Associate a mask to the plotting of the image

[X] Histogram
[x] Colormap
[x] Profile

closes #3263
closes #3124
closes #3285

close #3263

Sorry, the message was for Valentin ... @vallsv

Sorry, the message was for Valentin ... @vallsv

@kif, I'll have a look at this.

@kif, I'll have a look at this.

I'm reworking this PR (extending support to complex images, making sure it works when image size changes,...).
I'll make another PR based on this one because of issues with rebase.

I'm closing this PR, it is continued in PR #3369


Miscellaneous

Allow direct import of estimate from grmpy package such as from grmpy import estimate by adding from grmpy.estimate.estimate import estimate to the package __init__.py
Please remove apparently unused and flawed function def simulate_outcomes_estimation(init_dict, X, Z):,. Use this as a reminder to check and remove all ununsed function.... I activated codacy also for the branches now. Also Pycharm allows to use their integrated code review tool. Otherwise https://www.codacy.com/app/eisenhauer/grmpy/dashboard?bid=5343759
Check code for unused function arguments such as here def adjust_output(opt_rslt, init_dict, start_values, optimizer, dict_=None):
Please change the flag values for start in the initialization file to auto and init not init_values

I changed the flag, included the import in init.py and started to clean the code.

Any update?

Can we close this?

This is done.


[Announce] new branch adintool-gui

Hi, just announcing an experimental feature.
A new branch "adintool-gui" has been created which includes an experimental GUI version of adintool.
You can see how audio is captured and voice is detected on live screen.  You can also adjust the trigger level threshold manually using keyboard, and tell server to force audio segmentation, on the fly.

You can try another very experimental feature, automatic trigger level adjuster.  To test it, define AUTO_ADJUST_THRESHOLD in adintool.h.  The algorithm is based on simple amplitude mean/variance.  It is just a tiny hack and not stable, so do not use this on a critical system.
Checkout the "adintool-gui" branch, configure & make, then execute adintool/adintool.  You need SDL2 library to compile.  See "adintool/GUI_SDL2.txt" for details.  I've tested it on Windows and Linux.

@nitslp-ri When configuring on openSUSE with sdl2 libraries installed, configure process produces error on:
...
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: cannot find -lasound
collect2: error: ld returned 1 exit status
Makefile:38: recipe for target 'adintool' failed
make[1]: *** [adintool] Error 1
...
Yast shows that asound libraries are installed as "libasound2", from the file listing I have
/usr/lib64/libasound.so.2
/usr/lib64/libasound.so.2.0.0
32 bit versions are also installed.
The configure process continues and appears to complete correctly, even though the error perhaps should have stopped the configure.

@nitslp-ri Oops my fault, the alsa libraries have devels in alsa-devel on opensuse, all ok for configure now.

I spoke too soon, configure still fails on
...
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: cannot find -lts
collect2: error: ld returned 1 exit status
...
From my reading -lts could be a number of things including freetype, however installing that package heads into a large number of package installations on my system so I am hesitant. What does ts refer to in this case please?

The linker option "-lts" is not in the Makefile.in of adintool, so maybe it's required by SDL2.  Could you check the output of "sdl2-config --static-libs"?  Adintool simply passes the output of this command to linker.
Did you installed all the packages required for libsdl2? On Ubuntu you can install them by
% sudo apt-get install libsdl2-dev

Or changing the "sdl2-config --static-libs" in Makefile to "sdl2-config --libs" works?

I am using openSUSE:

sdl2-config --static-libs
-L/usr/lib64 -lSDL2 -lpthread -Wl,--no-undefined -lm -ldl -lasound -lm -ldl -lpthread -lts -lpthread -lrt

sdl2-config --libs
-L/usr/lib64 -lSDL2 -lpthread

with this change, configure runs without referring to -lts.
Did make clean && make
But I'm still not seeing anything referring to a gui.
my command is "padsp adintool -in mic -out stdout
where stdout is the only option that works for me so far
"padsp adintool -in mic -out "test.wav" fails with error on -out options

Could you try
padsp adintool -in mic -out file -filename test

(will record triggered samples to test0000.wav, test0001.wav,...), or
padsp adintool -in mic -out none

(will capture audio but output nothing)

Command
padsp adintool -nostrip -in mic -out file -filename test
is good, providing text only output and storing to file. No sign of GUI type output.
Command padsp adintool gives help output
Command padsp adintool -in mic -out none gives

padsp adintool -nostrip -in mic -out none
Error: no such output device: none
ERROR: useropt_exec: "-out" function returns FALSE
ERROR: m_options: error in processing "-out"
Error reading arguments

padsp adintool -nostrip -in mic -out none
Error: no such output device: none
ERROR: useropt_exec: "-out" function returns FALSE
ERROR: m_options: error in processing "-out"
Error reading arguments

I reproduced the same situation on master branch, it is a behavior of non-GUI version.  Could you make sure you are buildiong on adintool_gui branch?
cd $(repository_top)
make distclean
git checkout adintool_gui
./configure
make

@nitslp-ri Originally I switched to the aintool_gui branch on the github website and downloaded the zip package and ran from there in a separate directory. However, I followed your instruction above, did a distclean in the main git branch and switched to the required gui branch, and recompiled. I get the same behaviour as in my previous post. I'm not sure what I could be doing incorrectly. Is there a unique line or feature of the source or the configure output or the --version option that I can quickly check that would indicate that I am using the right build?

@colbec Is there definition of USE_SDL in Makefile? This definition switches GUI and CUI version.
SDL_CFLAGS=`sdl2-config --cflags` -DUSE_SDL

OK got it working. A number of issues

each time I run configure from the main julius directory the Makefile in adintool is overwritten with the problem we found with sdl2-config --static-libs above, so on openSUSE build will fail
running make from the main directory causes the build in adintool to fail, but the compile/make just keeps going so user thinks all must be ok when the process ends without error
running make install does not overwrite the main system adintool executable because no executable is created locally if it fails, so calling the main adintool just behaves like the old adintool because that is what it is, the old version survives
so it is important to build adintool locally in that directory, see that the executable is created, and then call it as padsp ./adintool -in mic -out none note the ./ before adintool to point at the right version.

@colbec Good, and thanks for comments.  Now I have fixed top Makefile to stop building immediately at error in sub directories.  Now one can easily find that some error in one of the sub directories.

Merged to master, now build both adintool and adintool-gui when SDL2 library is installed in your environment.  See "adintool/README-GUI.txt" for details.


Unable to debug plugin when Start Debugging (F5) is done in visual studio

Tried to attach a debugger on an update of contact plugin but it isn't showing me the list of visual studio instances.

It asks for the instance only when .exe file is run from the bin folder

Also while debugging the plugin when running from visual studio instead of .exe file I got below error:

Hi @ginow,
Thank you for opening this issue.
The behavior you described regarding the debuggers is as expected:

If you start the DvBrowser using its source code from Visual Studio, then a debugger is automatically attached. Since only one debugger can be attached, clicking on the "debugger" button in the DvBrowser, will only inform you that a debugger is attached.
If you start the DvBrowser from the .exe file, then no debugger is attached. In this case, when you click on the "debugger" button, you can choose which debugger will be attached.

Please note that for debugging your plugins, the second option is preferable. You should download the latestet release and directly  start the .exe file. Consider using the DvBrowser source code only if you want to contribute to it or analyze how it works.
Regarding the NotImplementedException on OwningExtension: it's a feature that your plugin is using but not implemented. Since you mentioned that your plugin is very simple, I assume you are using a specific framework and/or a plugin base class that is responsible of the call to the OwningExtension (may be for logging some information). You can verify that by looking at the call stack.
That said, it's a quite simple property, I can implement it for the next release.

Hi @NicolasPrats
Thank you for the quick reply, understood it.
Also thanks for building this awesome tool!, eagerly looking forward for new features.

Thank you for your feedback!
The new release includes the support of the OwningExtension.
I close this issue, feel free to open a new one if you have another problem.


Move doc_test to docs so it can be seen by github pages

Pull Request Test Coverage Report for Build 269

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 38.557%

Totals

Change from base Build 267:
0.0%

Covered Lines:
1176

Relevant Lines:
3050

💛  - Coveralls


[BACKLOG-38506] Code changes for moving Job step 'connected to repository' from core to plugin

BACKLOG-38506 - Moved the code for job step 'connected to repository' from core to plugin.

:white_check_mark: Build finished in 58m 4s
Build command:
mvn clean verify -B -e -Daudit -amd -pl \
assemblies/plugins,engine,plugins,plugins/connected-to-repository,plugins/connected-to-repository/assemblies,plugins/connected-to-repository/assemblies/plugin,plugins/connected-to-repository/impl,plugins/connected-to-repository/ui,ui

:ok_hand: All tests passed!
Tests run: 5324, Failures: 0, Skipped: 14    Test Results

:information_source:  This is an automatic message


Incorporate man pages

See:
https://git.launchpad.net/~chromium-team/chromium-browser/+git/snap-from-source/tree/snapcraft.yaml?h=stable and
https://forum.snapcraft.io/t/how-to-embed-man-in-a-strictly-confined-snap-and-have-it-invoked-to-display-a-custom-man-page/13802

When building (at least against core20) manpages are also built:
+ make install DESTDIR=/root/parts/tmux/install
make[1]: Entering directory '/root/parts/tmux/build'
 /usr/bin/mkdir -p '/root/parts/tmux/install/usr/local/bin'
  /usr/bin/install -c tmux '/root/parts/tmux/install/usr/local/bin'
make  install-exec-hook
make[2]: Entering directory '/root/parts/tmux/build'
if test xmdoc = xmdoc; then \
	sed -e "s|@SYSCONFDIR@|/etc|g" ./tmux.1 \
		>./tmux.1.mdoc; \
else \
	sed -e "s|@SYSCONFDIR@|/etc|g" ./tmux.1| \
		gawk -f ./mdoc2man.awk >./tmux.1.man; \
fi
/usr/bin/mkdir -p /root/parts/tmux/install/usr/local/share/man/man1
/usr/bin/install -c -m 644 ./tmux.1.mdoc \
	/root/parts/tmux/install/usr/local/share/man/man1/tmux.1
make[2]: Leaving directory '/root/parts/tmux/build'
make[1]: Nothing to be done for 'install-data-am'.
make[1]: Leaving directory '/root/parts/tmux/build'

Wait for resolution to drip down to snapd.


VS Code's Emmet will not wrap individual lines with  tag

When using Emmet's "wrap with abbreviation" on a multi-line block of text, ul>li* (or ol>li*) creates a single list item rather than one list item per line.

VSCode Version: Code 1.15.1 (41abd21afdf7424c89319ee7cb0445cc6f376959, 2017-08-16T17:15:57.756Z)
OS Version: Darwin x64 16.7.0
Extensions:

Extension
Author (truncated)
Version

markdown-toc
Ala
1.5.6

replace-smart-characters
DrM
0.0.2

lorem-ipsum
Tyr
1.0.0

git-easy
bib
1.9.1

htmltagwrap
bra
0.0.3

jshint
dba
0.10.15

vscode-hasher
dee
1.0.1

ftp-simple
hum
0.5.5

HTMLHint
mka
0.3.3

stylelint
shi
0.28.0

vscode-preview-server
yui
0.7.0

Steps to Reproduce:

In .html file, select a series of lines separated by carriage returns

   list 1
   list 2
   list 3

Press F1 to bring up command palette
Enter "Emmet: Wrap With Abbreviation"
Enter the abbreviation ul>li*  (as documented at https://docs.emmet.io/actions/wrap-with-abbreviation/#wrapping-individual-lines)

Result:

            list 1
            list 2
            list 3

Reproduces without extensions: Yes

@mamamusings Use the command Emmet: Wrap Individual Lines with Abbreviation instead.
With our move to Emmet 2.0 and support for multi cursor, this feature has been moved to a separate command.
I missed updating this information in the blog last month, sorry about that.

Thanks!


Array#uniq considers each element eql? method to check if exists

The motivation for this PR is when you have an array with two elements:
array = [Element.new(name: 'foo'), Element.new(name: 'bar')]

In this case an array.uniq will always return two elements, but consider you want to return only on Element no matter the name, how should we proceed?
The idea is to implement a #eql? method on Element class the computes the hash based on instance information, so we can return unique elements, consider in our case we just want to return the first Element
class Element
  def eq?(other)
    return true if other.is_a?(Element)
  end
end

How the returned hash array.uniq will return
array = [Element.new(name: 'foo'), Element.new(name: 'bar')]
array.uniq
# [Element(name: foo)]

ps: I don't believe this is the best implementation, specially because this algorithm is O(n2), I'm justing opening this PR to check if makes sense this addition so I can work on a better solution to this problem.

wat
record Element, name : String
array = [Element.new(name: "foo"), Element.new(name: "bar")]
p array.uniq &.class

Hash, whose keyset is used here to determine the unique elements, already calls == for the equality check, it just depends on hash to return the same bucket. https://github.com/crystal-lang/crystal/blob/master/src/hash.cr#L935-L939 This needs to be better documented, contributions welcome.
That's also the reason for the existence of the def_equals_and_hash macro: http://crystal-lang.org/api/Object.html#def_equals_and_hash(*fields)-macro
So all we need to do is define hash and == for Element:
record Element, name : String do
  delegate hash, self.class

  def ==(other : self)
    true
  end
end
array = [Element.new(name: "foo"), Element.new(name: "bar")]
p array.uniq

https://carc.in/#/r/11de

Does anyone know why ruby has the eql? method and doesn't use just == for hashes?

Probably just so you can have different behavior for hashes, or perhaps there was a time where == was syntax and not a method.

Okay one important difference is:
[57] pry(main)> 1.0.eql?(1)
=> false
[58] pry(main)> 1.0 == 1
=> true
[59] pry(main)> 1.eql?(1.0)
=> false
[60] pry(main)> 1 == 1.0
=> true

So that makes {1 => :a, 1.0 => :b} work in Ruby.

For an alternative perspective, Python goes out of its way to make this work as expected. And our expectations are the opposite.
>>> hash(234), hash(234.0), hash(Decimal('234.0'))
(234, 234, 234)
>>> hash(0.5), hash(Fraction(1, 2)), hash(Decimal('0.5'))
(1152921504606846976,<PHONE_NUMBER>606846976,<PHONE_NUMBER>606846976)
>>> {234: 1, 234.0: 2, Decimal('234.0'): 3}
{234: 3}

Yes, I think I like Python's behaviour better. I don't know what's a use case for having a Hash with int and float keys where you want to distinguish them (from a purist from of view I think it does make sense, though). We should probably use Python's hash algorithm too.

@BlaXpirit mine was a different case, but I think now you got it
@jhass thank you for pointing me to a solution; I'm porting a ruby lib to crystal, so I thought would make sense the eql? behavior, I checked the hash stuff, but instead of use eql? I just need to use ==
@asterite I just faced a situation where hash for different instances with same values are the same and need to make the check on "instance values level"
I'm pretty satisfied with the outcome here, thank you all


Multiple websocket-sharp.dll file when using with Photon

When I installed this package on a project that is using Photon, I get the following error as the library also adds the same precompiled assembly:
Multiple precompiled assemblies with the same name websocket-sharp.dll included on the current platform. Only one assembly with the same name is allowed per platform.

I don't know if there is a legit way to solve this in Unity. The solution I found is too add a precompile directive to exclude the dll from ReactUnity.
So now, if you define REACT_EXCLUDE_WEBSOCKET_SHARP in player settings, ReactUnity won't load this dll.
All managed dlls included by ReactUnity can be excluded in a similar manner.


Can't Insert Records - .net standard 2.0 + Xamarin.Forms

I've trying for the past two days to get an existing Xamarin Forms app that I recently updated to use .net standard 2 to make use of the latest version of this package (1.4.118) but I always get the following exception when attempting to insert an object:
"An item with the same key has already been added. Key: 507"
This happens both on iOS and Android, pretty reliably and the error always spits out the same Key number, regardless of how many records are in the table that I am trying to insert a record into.
The frustrating thing is that the code works fine if I use latest version of the package before it was updated to target .net standard (1.2.1).  I've re-created by project and solution files by hand to make sure that are indeed as close as possible to new project and solution files generated by Visual Studio when creating new Xamarin.Forms solution.  It also works if my .net standard project uses 1.4.118 and the iOS project uses 1.2.1, so it's likely something that happens when the final executable is put together.
Any help, ideas or guidance would be greatly appreciated.
And here's the stack trace:
at System.ThrowHelper.ThrowAddingDuplicateWithKeyArgumentException (System.Object key) [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/<IP_ADDRESS>/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/throwhelper.cs:176
at System.Collections.Generic.Dictionary2[TKey,TValue].TryInsert (TKey key, TValue value, System.Collections.Generic.InsertionBehavior behavior) [0x001ad] in /Library/Frameworks/Xamarin.iOS.framework/Versions/<IP_ADDRESS>/src/Xamarin.iOS/external/corefx/src/Common/src/CoreLib/System/Collections/Generic/Dictionary.cs:466    at System.Collections.Generic.Dictionary2[TKey,TValue].Add (TKey key, TValue value) [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/<IP_ADDRESS>/src/Xamarin.iOS/external/corefx/src/Common/src/CoreLib/System/Collections/Generic/Dictionary.cs:232
at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement] (System.Collections.Generic.IEnumerable1[T] source, System.Func2[T,TResult] keySelector, System.Func2[T,TResult] elementSelector, System.Collections.Generic.IEqualityComparer1[T] comparer) [0x0008c] in /Library/Frameworks/Xamarin.iOS.framework/Versions/<IP_ADDRESS>/src/Xamarin.iOS/external/corefx/src/System.Linq/src/System/Linq/ToCollection.cs:142
at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement] (System.Collections.Generic.IEnumerable1[T] source, System.Func2[T,TResult] keySelector, System.Func`2[T,TResult] elementSelector) [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/<IP_ADDRESS>/src/Xamarin.iOS/external/corefx/src/System.Linq/src/System/Linq/ToCollection.cs:100
at SQLite.EnumCacheInfo..ctor (System.Type type) [0x0009e] in /Users/vagrant/git/src/SQLite.cs:2107
at SQLite.EnumCache.GetInfo (System.Type type) [0x00021] in /Users/vagrant/git/src/SQLite.cs:2135
at SQLite.SQLiteCommand.BindParameter (SQLitePCL.sqlite3_stmt stmt, System.Int32 index, System.Object value, System.Boolean storeDateTimeAsTicks) [0x001b1] in /Users/vagrant/git/src/SQLite.cs:2526
at SQLite.PreparedSqlLiteInsertCommand.ExecuteNonQuery (System.Object[] source) [0x00057] in /Users/vagrant/git/src/SQLite.cs:2650
at SQLite.SQLiteConnection.Insert (System.Object obj, System.String extra, System.Type objType) [0x000be] in /Users/vagrant/git/src/SQLite.cs:1410
at SQLite.SQLiteConnection.Insert (System.Object obj) [0x00005] in /Users/vagrant/git/src/SQLite.cs:1281
at TrippyLoggerModels.Dba.InsertStatus (System.String message) [0x00029] in /Users/marcelo/Git/MobileTravelLogger-standard/TrippyLoggerModels/Data/Dba.cs:517
at TrippyLoggerApp.iOS.AppDelegate.FinishedLaunching (UIKit.UIApplication app, Foundation.NSDictionary options) [0x000c2] in /Users/marcelo/Git/MobileTravelLogger-standard/TrippyLoggerApp/TrippyLoggerApp.iOS/AppDelegate.cs:56
at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain(int,string[],intptr,intptr)
at UIKit.UIApplication.Main (System.String[] args, System.IntPtr principal, System.IntPtr delegate) [0x00005] in /Library/Frameworks/Xamarin.iOS.framework/Versions/<IP_ADDRESS>/src/Xamarin.iOS/UIKit/UIApplication.cs:79
at UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x0002c] in /Library/Frameworks/Xamarin.iOS.framework/Versions/<IP_ADDRESS>/src/Xamarin.iOS/UIKit/UIApplication.cs:63
at TrippyLoggerApp.iOS.Application.Main (System.String[] args) [0x00001] in /Users/marcelo/Git/MobileTravelLogger-standard/TrippyLoggerApp/TrippyLoggerApp.iOS/Main.cs:17

Just realized that this solution still depends on a nuget package that is internal to Westat, let me update the zip...

Alright, try this version instead: https://www.dropbox.com/s/mwbhs2xmszbowpx/MobileTravelLogger-standard-minimal.zip?dl=0

Any suggestions?  Should I simply stick with the pre-dotnet_standard version?

Found the problem. One of the classes that I used in the ORM used an enumertion as the data type of one of its properties. Once I converted that property's type to int the problem went away. This was likely a change in sqlite-net-pcl that happened when it went to .net standard and that was not obvious to me - used to work fine before.


Question: Why was this plugin deprecated?

Mostly because the API was a mess. Instead of forcing everyone to change their code I wrote a new plugin that has a more consistent API. Development on this plugin has stopped but it will remain around for those who do not want to move to the new plugin.

How do I integrate the new plugin into my angularjs app? Before, I saw, you could just include  Can I still do this? I have a service that doesn't seem to play nice with the new plugin. Thanks

include PushNotification.js into index.html


Fix the spelling in prob_ode_lotkavolterra

Codecov Report

Merging #175 (42ba911) into main (7a287cf) will decrease coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #175      +/-   ##
==========================================
- Coverage   90.28%   90.26%   -0.03%
==========================================
  Files          24       24
  Lines         947      945       -2
==========================================
- Hits          855      853       -2
  Misses         92       92

Impacted Files
Coverage Δ

src/initialization/common.jl
95.83% <0.00%> (-0.17%)
:arrow_down:

src/diffusions.jl
98.48% <0.00%> (-0.03%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Usabiltity changes to QRCode Scanning Screen

Overview

Add a zoom option
Remove invalid qrcode checks
Add a manual button to sign in/sign out (UI wise i thought this would be cool? opinions wanted)
Keep automatic navigation and added ui feedback

Attempting to fix zoom function. Need testing

completely removed zoom feature, may look into this more in the future.
Zoom feauture isn't nesserily needed after removing invalid scans. Now when we have qrcode side by side the shpe one will be detected as intended.
The only reason why we need zoom feature is for member far away from the screen, for this reason only we should still look into zoom feature.


Move ai app generator to catalog

There are still some issues and things to be fixed here.
There should now be a path that leads through creating an app, however there are a few issues remaining

[x] remove lorem ipsum
[x] can we add back in the other tabs? There was an issue with prerendered card search and how to get the right reference to the right catalog entries

I'm seeing the host DDoS the server with /_catalog-realms on this branch which is pretty concerning....

I merged https://github.com/cardstack/boxel/pull/1665 into this and that seems to have stopped the runaway /_catalog-realms requests

I've sorted the test, and I've checked that the app-task-card still works locally, however I was not able to get it to pass linting due to type issues as it couldn't import from /catalog - this should be addressed if we make the catalog realm something we can reference

I've sorted the test, and I've checked that the app-task-card still works locally, however I was not able to get it to pass linting due to type issues as it couldn't import from /catalog - this should be addressed if we make the catalog realm something we can reference

Yeah @burieberry brought this up above. I think it’s worth chatting about after standup today.


Error get smb package on chapter 6

I bought the book on amazon, currently I am reading chapter 6, SMB and get this error "epository not found".
I am using visual studio code, I have no problem with "go get" of other library but this smb package.
Please help.
PS E:\Go Pen> go get github.com/bhg/ch-6/smb/smb
cd .; git clone -- https://github.com/bhg/ch-6 C:\Users\PC\go\src\github.com\bhg\ch-6
Cloning into 'C:\Users\PC\go\src\github.com\bhg\ch-6'...
Logon failed, use ctrl+c to cancel basic credential prompt.
remote: Repository not found.
fatal: repository 'https://github.com/bhg/ch-6/' not found
package github.com/bhg/ch-6/smb/smb: exit status 128

Try changing the path to go get github.com/blackhat-go/bhg/ch-6/smb/smb

Try changing the path to go get github.com/blackhat-go/bhg/ch-6/smb/smb


Simplier code contributions.

Hi! :slightly_smiling_face:
This Pr simplifies code contributions by fully automating the dev setup with gitpod a free online VS code like IDE with a single click it will launch a ready to code workspace where:

xState repo is already cloned.
dependencies pre-installed.
webserver + test suite running via npm run dev and npm run docs:dev

So that anyone interested in contributing can start straight away without wasting any time on the setup.
You can give it a try on my fork of the repo via this link:
https://gitpod.io/#https://github.com/nisarhassan12/xstate
this is how it looks:

Closing since this project already has CodeSandbox for contributors onboarding:slightly_smiling_face:


Erlang apt PPA does not work

This issue describes a problem I ran into while attempting to install Erlang on Ubuntu (on WSL): https://github.com/elixir-lang/elixir-lang.github.com/issues/1575
Specifically, Erlang's PPA (their hosted source for Debian/Ubuntu packages) appears to be broken, at least for Ubuntu 22.04 (Jammy).
Since Gleam's installation instructions recommend using the PPA, it might be preferable to recommend a different approach. Unfortunately, I'm not sure what the most straightforward/correct path would actually be, though I did add a comment on the Elixir issue thread describing my installation approach (downloading the .deb file directly and installing with apt).

Erlang Solutions has instructions for installing Erlang on Ubuntu different from the "Installing Gleam" doc:
https://www.erlang-solutions.com/downloads/#
They're roughly:
# Add to /etc/apt/sources.list
deb http://binaries2.erlang-solutions.com/ubuntu/ jammy-esl-erlang-25 contrib
# Possible other lines depending on your `lsb_release -c`
# deb http://binaries2.erlang-solutions.com/debian/ bullseye-elixir-1.15 contrib
# deb http://binaries2.erlang-solutions.com/ubuntu/ bionic-mongooseim-6 contrib

# Add Erlang Solutions repo keys:
wget https://binaries2.erlang-solutions.com/GPG-KEY-pmanager.asc
sudo apt-key add GPG-KEY-pmanager.asc

# Update apt and install esl-erlang
sudo apt update
sudo apt install esl-erlang

Thank you


xds: minor refactor introducing an interface for GrpcStream

Commit Message: xds: minor refactor introducing an interface for GrpcStream
Additional Description:
Introducing an interface for GrpcStream to make it easier to test (as part of the work of xDS-Failover support #28099)
Risk Level: low
Testing: N/A
Docs Changes: N/A
Release Notes: N/A
Platform Specific Features: N/A

/assign @abeyad

/assign @htuch

/retest

Alex will you be able to do a cross-company review?
/assign @soulxu


[zh] Add priority-level-configuration-v1.md

Update this API doc from v1beta3 to v1:
deleted: content/zh-cn/docs/reference/kubernetes-api/cluster-resources/priority-level-configuration-v1beta3.md
added: content/zh-cn/docs/reference/kubernetes-api/policy-resources/priority-level-configuration-v1.md

See preview.

/lgtm
/approve


sometimes drag right operation make app unresponsive in ios

Ionic version:
Cordova CLI: 6.3.1
Ionic Framework Version: 2.0.0-rc.3
Ionic CLI Version: 2.1.17
Ionic App Lib Version: 2.1.7
Ionic App Scripts Version: 0.0.47
ios-deploy version: 1.8.6
ios-sim version: 5.0.8
OS: OS X El Caption
Node Version: v6.5.0
Xcode version: Xcode 7.3.1 Build version 701014
I'm submitting a ...
bug report
Steps to reproduce:

drag right to make page back transit
sometimes no back transit happened, and then app unresponsive.

Drag quickly will reproduce

Hello, thanks for opening an issue with us! Would you be able to provide a plunker or a repo that demonstrates this issue? Thanks for using Ionic!

@jgw96 no plunker needed,all back-able pages has this issue.

Hello all? I am going to close this issue for now as I cannot reproduce with rc5. Thanks!


Feature/#2263 - Convert templates from markdown to tgb

What type of PR is this? (check all applicable)

[x] Refactor
[x] Feature
[ ] Bug Fix
[ ] Optimization
[ ] Documentation Update

Description
This PR updates the usage of Markdown in the templates to the Gui builder API.
Related Tickets & Documents

Closes #2263

Checklist
We encourage you to keep the code coverage percentage at 80% and above.

[x] This solution meets the acceptance criteria of the related issue.
[x] The related issue checklist is completed.
[ ] This PR adds unit tests for the developed code. If not, why?
[ ] End-to-End tests have been added or updated. If not, why?
[ ] The documentation has been updated, or a dedicated issue created. (If applicable)
[ ] The release notes have been updated? (If applicable)

How should I test this? If I pip install taipy develop and try creating templates with taipy create, would that allow me to test this feature?

How should I test this? If I pip install taipy develop and try creating templates with taipy create, would that allow me to test this feature?

It s not yet merged into develop. You can test it by installing the version of branch feature/#2263-convert-templates-from-markdown-to-tgb directly.

The files changed by the PR refer to a "scenario_page" and "job_page". How do I make these pages appear using taipy create?
Here is what I tried:


⚠ Jenkins Plugins Artifactory has degraded performance

In 3f70604, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1367 ms

Resolved: Jenkins Plugins Artifactory performance has improved in bd167a2 after 31 minutes.


remove Google Analytics

only use matomo

@barthalion why this issue is closed without any information?

https://github.com/flathub/linux-store-frontend/commit/f6bcc61d53ae572f4bc89a5d8c3e75961241c0ad

@bilelmoussaoui , but currently deployed website has both of them.
Google Analytics begins at view-source line 250

That's why the mentioned issue in the merge request wasn't closed

I'm reopening the issue because the user is correct. I left both Matomo and Analitycs active for a while to compare the results but now is time to remove Analytics

what the hell are you all doing?


Implement AddOdometerReading AppIntent

What it Does

Closes #222
Implement shortcut for adding new odometer reading

What is implemented?

Vehicle now conforms to AppEntity protocol, hence, it should have an explicit id, which represents documentId under the hood
VehicleQuery is simply fetching vehicles from the server
DistanceUnit enum is used to make it more readable for selecting Distance unit
In AddOdometerReadingIntent, validation is applied to Distance, and if the vehicles are empty, then the user will not be able to finish the shortcut

How I Tested
Happy Scenario

Install the app
Make sure at least one vehicle is added in the app by going to Settings tab > Add Vehicle
Switch to Shortcuts app
Tab on the + on the top right corner
Tab on ⨁ Add Action
Select Apps tab
Tab on Basic Car
Tab on Add Odometer Reading
Add data for all fields and tab the play button on the bottom right corner
See the result

Unhappy Scenario
Senario1

Install the app
Make sure at least one vehicle is added in the app by going to Settings tab > Add Vehicle
Switch to Shortcuts app
Tab on the + on the top right corner
Tab on ⨁ Add Action
Select Apps tab
Tab on Basic Car
Tab on Add Odometer Reading
Try to set distance value to zero or negative value
See the result (user won't be able to proceed if the distance value is less than 1)

Senario2

Install the app
Make sure no vehicles are added
Switch to Shortcuts app
Tab on the + on the top right corner
Tab on ⨁ Add Action
Select Apps tab
Tab on Basic Car
Tab on Add Odometer Reading
Try to set distance value to zero or negative value
See the result (user won't be able to proceed because there are no vehicles)

@OmarHegazy93 please click "resolve" on all the issues that you've addressed

Sorry @mikaelacaron , I re-requested the review and forgot to submit the comments 😄, you should be able to see them now


Fixed minor error in doc example code comments

The serial example code said it was for a UDP endpoint. Docs rebuilt fine.

Merged, thanks!


whisk.invoke() doc needs clarification - blocking

User @glikson pointed out that the documentation and example in reference.md doesn't clearly explain the blocking parameter. I believe he took the current explanation to mean that the invoke() function itself would be synchronous if blocking: true which is definitely not the case.
This confusion has come up several times, and the documentation could do better to make it clear what blocking really means.
Also, the example code snippet doesn't return the Promise returned from whisk.invoke()

deprecated for npm openwhisk.