Wall clock profiler optimizations

Hi,
I have been using your wall clock profiler recently and it has proved itself really well in my humble tests. The only problem is when I try to use it for a process which has more than 2000 threads the frequency of the sampling per thread drops dramatically and to reach reasonable results one needs to lower the sampling interval so much that the profiler becomes a huge overhead. Unfortunately we have many processes on our production which have an order of 10k threads.
To solve this problem I suggest 2 approaches.

One idea would be to have a regex which would enable the users filter threads that needs to be profiled. Usually after doing a broad profiling we needed to focus on a single threadpool, which might be particularly interesting.

The way I imagine how this could be implemented is to filter out the pids of the threads, which thread names match to a specific regex and to send the signals only to them. The major problem that I see in this approach is that usually threadpools are dynamic and during the profiling there might be new threads created or deleted. So one might need to go through all those threads periodically during sampling to ensure that we have all the pids of the interesting threads.
What do you think about this approach ?  How can we escape the additional overhead of periodically matching the threads to the regex (or do we really need to do that)?

The second idea is a little bit more complicated.  Most of the threads, most of the time do nothing, so it is kind of useless to walk through their stack every time. The idea is to count the number of context switches per thread and before sending the the new signal, check if it has changed dramatically (dramatically because I believe that the signal handling itself is a context switch) . This way we can avoid useless stack walking for idle threads and increase the sampling frequency for working threads.

There are a couple of problems with this approach.
Firstly, it is not crystal clear to me how this could be implemented. I don't really know if the approach with the context switches would work. The other part is how we would get the stacks for the idle threads efficiently (concurrency issues).
Secondly the overhead of the profiler will become dynamic as the less threads you have the more data you generate as the time spent on useless stackwalking will be spent on the stackwalking of working threads.
Third the distribution will get skewed as the working threads will get more sampled than they would have been sampled.
What are your ideas about this approach? Would this work and may be you could give clues how this could be implemented efficiently?
So does any of these ideas make any sense and would they be useful?
I would be love to hear your feedback on these ideas before I actually start to implement them.
P.S.
I am a student and still a newbie in the JVM world, so if something is complete nonsense correct me ))).
@apangin

Thank you for the detailed feedback and for the constructive ideas!
I completely agree that some kind of thread filtering would be helpful - this is not the first time I hear such request. However, I was thinking about more general filters, e.g. not only by thread name, but also by method or class name.
Fortunately, we don't even need to scan threads, because thread start/stop events are already handled, and intercepting Thread.setName (or Thread.setNativeName) is not a big deal.
So, I'd definitely go for a the first option, since it is 1) easier to implement; 2) understandable and predictable from user's perspective.

Thank you for your reply!
Then I will start working on the first option and soon will send some kind of draft PR, so we will be able to discuss some more implementation details.

Thanks for the reply!
I will start working on the feature and soon will submit a draft PR to further discuss the implementation details.

Thanks for the advice @apangin . I have looked through it and found two potential problems.

I don’t see an easy way of getting the pid of the thread for which setName was called. First the thread might not be created at the moment when setName is called, so there is no pid assigned. Secondly the call is in the context of the calling thread and I don’t know any neat way of getting the native id for the desired thread.

Looking at the implementation of Thread.setName I have noticed that there are 2 main paths:
if the thread has started before calling Thread.setName it in fact calls Thread.setNativeName
otherwise the naming is done inside jdk after start0 call by os::set_native_thread_name.
So intercepting setNativeName gives the name for only 1 of 2 paths.

The easy way to deal with this would be to loop through all threads and get their names, pids every once in a while. Then we could filter somehow and update the list.
The hacky way would be to let every thread to update the pid list the first time they receive a signal. Also we would need to intercept Thread.setNativeName because someone might change the thread name after it started.
Honestly, I prefer the first one as it is simpler and I don’t think there will be a huge overhead to go through all process threads once in a while. For example on Linux it is a simple read from proc file system.
Do you have any thoughts on this ?

There should be no problem in intercepting Thread.setNativeName:

async-profiler can already extract the native thread ID from jthread object, see Profiler::updateThreadName.
There is no need to handle setName called before thread start, because the profiler already receives ThreadStart event and gets the initial name of the thread.

I think you can skip the stack recording if the 'cpu time' for the thread is the same as 'last cpu time' for the thread. Getting the thread cpu time is fairly efficient. It's been a while since I used this technique so things may have changed (our in-house profiler).

@robaho Yes, that was exactly my plan: I made a prototype that looks quite promising. The only problem is that thread cpu time always changes after sampling, so this approach is not enough to reliably detect if a thread is sleeping in exactly the same state as it was during the last probing.

Obsoleted by #1007.


Error creating NextJsSite - Conflicting Names due to AssetPolicy

In
https://github.com/sst/ion/blob/955765ad6e77b58e1e20d44c72e91e028975d051/pkg/platform/src/components/aws/ssr-site.ts#L506-L508
it creates the bucket ${name}Assets which then creates a policy internally https://github.com/sst/ion/blob/955765ad6e77b58e1e20d44c72e91e028975d051/pkg/platform/src/components/aws/bucket.ts#L279-L280
which appends Policy, but then in SsrSite we also create a bucket policy with the the same suffix AssetsPolicy https://github.com/sst/ion/blob/955765ad6e77b58e1e20d44c72e91e028975d051/pkg/platform/src/components/aws/ssr-site.ts#L514-L515 which ends up conflicting.
VisibleError: Invalid component name "WebAssetsPolicy". Component names must be unique.
    at file:///.../.sst/platform/src/auto/run.ts:39:13
    at new Resource (/.../.sst/platform/node_modules/@pulumi/resource.ts:399:26)
    at new CustomResource (/.../.sst/platform/node_modules/@pulumi/resource.ts:897:9)
    at new BucketPolicy (/.../.sst/platform/node_modules/@pulumi/s3/bucketPolicy.ts:116:9)
    at file:///.../.sst/platform/src/components/aws/bucket.ts:237:11
    at /.../.sst/platform/node_modules/@pulumi/output.ts:398:31
    at Generator.next (<anonymous>)
    at /.../.sst/platform/node_modules/@pulumi/pulumi/output.js:21:71
    at new Promise (<anonymous>)
    at __awaiter (/.../.sst/platform/node_modules/@pulumi/pulumi/output.js:17:12)

Additionally you are only allowed one bucket policy and last write wins, so even if the names don't conflict there is an issue.

Fixed in https://github.com/sst/ion/commit/07bb377cb017be9109edd69d0c9e9fb2033d76c5


build.make: Replace 'return' to 'exit' to fix shellcheck error

I've got following error message while executed the make test command:

Using shellcheck 0.6.0 docker image.
Congratulations! All shell files are passing lint.
/bin/sh: line 0: return: can only `return' from a function or sourced script
make: *** [test-shellcheck] Error 1

The root cause is the test-shellcheck section in the build.make file should use exit command to return status code, instead of using return.

/ok-to-test
/test pull-sig-storage-csi-test

Thanks for the PR, it's good to see that this is getting used and people care to report and fix issues.

/test pull-sig-storage-csi-release-tools


ECD misordered.

The ECDs are still ordered based on (presumably) where in the XML the  tags are located. Because components are defined in different sections, this causes the ECD section to be out of order.

They are now alphabetized (I belive).


Create Aviatrix module

Deployed as part of PR #14 and released on https://github.com/gravicore/terraform-gravicore-modules/releases/tag/0.3.0


update README.md wih quorum 2.5.0 dashboard

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.amalraj mani seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


RNN compatibility issue on unknown batch_size

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): google colaboratory
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): pip
TensorFlow version (use command below): 2.0.0-alpha0 or 1.13.1
Python version: 3.6.7
Bazel version (if compiling from source): -
GCC/Compiler version (if compiling from source): -
CUDA/cuDNN version: not using GPU
GPU model and memory: not using GPU

Describe the current behavior
I sent some data from one model's loss function to another model. The other model starts with a RNN layer.
in tensorflow 1.12.0 and before, the variable y_pred is shape (32, 10, 10) or (20, 10, 10) as first dimension is batch_size, and the model trained normally
in tensorflow 1.13.1 and 2.0.0-alpha0, it shows that the shape is (None, 10, 10) then throws this exception
/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/backend.py in <listcomp>(.0)
   3217     outputs = self._graph_fn(*converted_inputs)
   3218     return nest.pack_sequence_as(self._outputs_structure,
-> 3219                                  [x.numpy() for x in outputs])
   3220
   3221

AttributeError: 'Tensor' object has no attribute 'numpy'

probably because it changed the behavior to use a dynamic batch size tensor, then tensors of unknown batch size don't have the numpy method?
If the RNN layer is not present, and the data is 2d (like (None, 10) ), the model can train normally.
CNN and Flatten seem to also have the problem.
Describe the expected behavior
I think it should not use $.numpy() there in the backend, probably(?)
Code to reproduce the issue
import tensorflow as tf
import numpy as np
from tensorflow import keras

# try-except eager trigger to prevent trouble from ipynb
try:
    tf.enable_eager_execution();
except:
    pass

def build_classifier_model():
    model = keras.Sequential([
        keras.layers.SimpleRNN(64, input_shape=(10, 10)),
        keras.layers.Dense(64, activation=tf.nn.relu),
        keras.layers.Dense(1, activation=tf.nn.tanh)
    ])

    optimizer = tf.optimizers.Adam(0.001) #tf.train.AdamOptimizer(0.001)

    model.compile(loss='mse',
                optimizer=optimizer,
                metrics=[keras.metrics.mae])
    return model

some_model = build_classifier_model();

def build_model():
    def custom_loss(y_true, y_pred):
      # simply tile y_pred as an example
      y_cred = tf.tile(tf.expand_dims(y_pred, axis=2), (1, 1, 10))
      print(y_cred.shape)
      return tf.reduce_sum(some_model(y_cred) ** 2)

    model = keras.Sequential([
        keras.layers.Dense(64, input_shape=(12,)),
        keras.layers.Dense(10, activation=tf.nn.tanh)
    ])

    optimizer = tf.optimizers.Adam(0.001) #tf.train.AdamOptimizer(0.001)

    model.compile(loss=custom_loss,
                optimizer=optimizer,
                metrics=[keras.metrics.mae])
    return model

m = build_model();
# fitting randomness as example
x = np.random.random((500, 12));
y = tf.cast(np.random.randint(0, 2, size=(500,)), tf.float32);
m.fit(x, y, epochs=10);

Other info / logs
full exception log
(None, 10, 10)

---------------------------------------------------------------------------

AttributeError                            Traceback (most recent call last)

<ipython-input-3-de77aceb3f93> in <module>()
     38     return model
     39
---> 40 m = build_model();
     41 # fitting randomness as example
     42 x = np.random.random((500, 12));

<ipython-input-3-de77aceb3f93> in build_model()
     35     model.compile(loss=custom_loss,
     36                 optimizer=optimizer,
---> 37                 metrics=[keras.metrics.mae])
     38     return model
     39

/usr/local/lib/python3.6/dist-packages/tensorflow/python/training/tracking/base.py in _method_wrapper(self, *args, **kwargs)
    454     self._setattr_tracking = False  # pylint: disable=protected-access
    455     try:
--> 456       result = method(self, *args, **kwargs)
    457     finally:
    458       self._setattr_tracking = previous_value  # pylint: disable=protected-access

/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training.py in compile(self, optimizer, loss, metrics, loss_weights, sample_weight_mode, weighted_metrics, target_tensors, distribute, **kwargs)
    428       #                   loss_weight_2 * output_2_loss_fn(...) +
    429       #                   layer losses.
--> 430       self.total_loss = self._prepare_total_loss(skip_target_indices, masks)
    431
    432       # Functions for train, test and predict will

/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training.py in _prepare_total_loss(self, skip_target_indices, masks)
   1684             loss_fn.reduction = losses_utils.ReductionV2.NONE
   1685             weighted_losses = loss_fn(
-> 1686                 y_true, y_pred, sample_weight=sample_weight)
   1687             loss_fn.reduction = current_loss_reduction
   1688

/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/losses.py in __call__(self, y_true, y_pred, sample_weight)
     94     with ops.name_scope(scope_name, format(self.__class__.__name__),
     95                         (y_pred, y_true, sample_weight)):
---> 96       losses = self.call(y_true, y_pred)
     97       return losses_utils.compute_weighted_loss(
     98           losses, sample_weight, reduction=self.reduction)

/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/losses.py in call(self, y_true, y_pred)
    156       Loss values per sample.
    157     """
--> 158     return self.fn(y_true, y_pred, **self._fn_kwargs)
    159
    160   def get_config(self):

<ipython-input-3-de77aceb3f93> in custom_loss(y_true, y_pred)
     24       y_cred = tf.tile(tf.expand_dims(y_pred, axis=2), (1, 1, 10))
     25       print(y_cred.shape)
---> 26       return tf.reduce_sum(some_model(y_cred) ** 2)
     27
     28     model = keras.Sequential([

/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/base_layer.py in __call__(self, inputs, *args, **kwargs)
    559       # framework.
    560       if base_layer_utils.needs_keras_history(inputs):
--> 561         base_layer_utils.create_keras_history(inputs)
    562
    563     # Handle Keras mask propagation from previous layer to current layer.

/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/base_layer_utils.py in create_keras_history(tensors)
    249       operations and need to have Keras metadata assigned to them.
    250   """
--> 251   _create_keras_history_helper(tensors, set())
    252
    253

/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/base_layer_utils.py in _create_keras_history_helper(tensors, processed_ops)
    286           # when originating from an eager context
    287           # so can't be supported.
--> 288           constants[i] = backend.function([], op_input)([])
    289       processed_ops = _create_keras_history_helper(layer_inputs, processed_ops)
    290       name = op.name

/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/backend.py in __call__(self, inputs)
   3217     outputs = self._graph_fn(*converted_inputs)
   3218     return nest.pack_sequence_as(self._outputs_structure,
-> 3219                                  [x.numpy() for x in outputs])
   3220
   3221

/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/backend.py in <listcomp>(.0)
   3217     outputs = self._graph_fn(*converted_inputs)
   3218     return nest.pack_sequence_as(self._outputs_structure,
-> 3219                                  [x.numpy() for x in outputs])
   3220
   3221

AttributeError: 'Tensor' object has no attribute 'numpy'

@kotritrona I could reproduce the issue with TF2.0. However, I could run it with little modifications in TF-nightly (gist is here. Thanks!

Adding Tom here since it seems to be related to TensorFlowOpLayer that was added recently.

@kotritrona Looks like this was resolved in recent tf-nightly.
Can you please verify once and close the issue if this was resolved for you. Thanks!

I am closing this issue as this was resolved in recent tf-nightly. Please feel free to reopen if this was not resolved for you. Thanks!


Add Proguard rule

Please add more detail in the description on what issue this change addresses.
Also, include a changelog entry.


Week 5 ready for review

@mjclarke94

Exercise is still to come

@j-m-dean

Exercise is in #110

@arm61 Looking at the tests for the Arrhenius equation, either something is wrong or I am missing something...
The activation energy in test 1 is 23e10, which when divided through by (-RT) gives an exponential term of:
exp(-23e10/8.314*300) = exp(-92213936) = 1.98e-40088004
I'll recheck shortly in case it's a DecaffeinationError()

@j-m-dean solved it! Issue was with the assert having variables in the wrong order. Fixed in #114.


BIND shells do not return a prompt after remote connection

The bind shell powercat -l -p 4444 -e cmd.exe does not return a prompt until I press Up Arrow in the prompt running powercat.
This may be due to latency involved with an OpenVPN/rdesktop set-up, but this latency would likely be involved in operational use. I did not attempt to recreate locally to see if latency was a factor.
Replication:
In PowerShell:
powercat -v -l -p 4444 -e cmd.exe
The prompt will report: Listening on [<IP_ADDRESS>] (port 443)
On connecting device:
nc -nv <IP_ADDRESS> 4444
After connecting, the connecting device displays:
(UNKNOWN) [<IP_ADDRESS>] 4444 (?) open
The bind device does not display the connection in the prompt, but the connection is visible in netstat.
In PowerShell Prompt:
<press up arrow>
The prompt will report Connection from [<IP_ADDRESS>] port  [tcp] accepted (source port 5555)
and proceed as normal.

I could replicate.
It seems to be due to this part of the code:
if($Host.UI.RawUI.KeyAvailable)       {         if(@(17,27) -contains ($Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown").VirtualKeyCode))         {           Write-Verbose "CTRL or ESC caught. Stopping TCP Setup..."           if($FuncVars["l"]){$Socket.Stop()}           else{$Socket.Close()}           $Stopwatch.Stop()           break         }       }
If there is latency, when we press enter to run powercat, the KeyUp event from pressing enter arrives after powercat is started. So the KeyUp event goes into the input stream, KeyAvailable returns True, and the first IF statement is executed. However the ReadKey in the second does not "IncludeKeyUp" and block the execution until a KeyDown is caught.

I could replicate as well.
Used OpenVPN/rdesktop to connect to a lab vm.

I am experiencing this issue as well, the workaround works for me.

I have this issue as well, but it doesn't seem to be specific to the up arrow. I can press any key and it loads the shell.

I'm not entirely convinced the call to ReadKey isn't being mistranslated entirely.
Replacing this
$Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown").VirtualKeyCode)
with this
$Host.UI.RawUI.ReadKey([System.Management.Automation.Host.ReadKeyOptions]"IncludeKeyDown"-bor[System.Management.Automation.Host.ReadKeyOptions]"NoEcho"-bor[System.Management.Automation.Host.ReadKeyOptions]"IncludeKeyUp").VirtualKeyCode)
Look at the way the craft the options in the MSDN examples. It doesn't look like calling comma separated strings is the correct nomenclature.
https://docs.microsoft.com/en-us/dotnet/api/system.management.automation.host.pshostrawuserinterface?view=powershellsdk-7.0.0
https://docs.microsoft.com/en-us/dotnet/api/system.management.automation.host.pshostrawuserinterface.readkey?view=powershellsdk-7.0.0

Can someone else please validate? This seems to work... would like another verification.
Thanks @lukebaggett !!

Can someone else please validate? This seems to work... would like another verification.

Confirmed — I had the same symptom in the same circumstance, and applying the change in  cb66833 resolved it.

Had the same issues. I can confirm the mentioned patch working as well.

Same problem, but if you just use "Arrow Up" in the Windows target the bind shell works(for example)

Very glad you spotted this! At least I can get it to work with the workaround :D

Very glad you spotted this! At least I can get it to work with the workaround :D

I am also having this problem. Can confirm hitting the up arrow as a workaround as well.

I am also having this problem. Can confirm hitting the up arrow as a workaround as well.

Can someone else please validate? This seems to work... would like another verification.
Thanks @lukebaggett !!

I only appended the 'IncludeKeyUp' for TCP but can confirm it worked instantly first go.


Add fn for changing an Env's test config

What
Add fn for changing an Envs config after creation.
Why
There are ways to create Envs without an opportunity to set a config.
It's cumbersome to offer a way to set the config with all of the different ways, and adding a function for changing it after creation is the simplest way today to achieve this.
This could create problems if in the future the config contains items that aren't easily changeable after instatiation of the Env. That problem doesn't exist today at least. In the future if we introduce items like that we'd probably need to resort to checking if the value is changing, and if so, panicing with a meaningful error message. That's not great, but still better for the overall API I think, especially given this is in tests.
Close #1306

Released in 21.4.0.


Add a 'polish' category to ratings

The polish level of a game covers a lot of the existing rating categories. It would be nice to have a separate category for polish so devs are encouraged to think about UX and the presentation of the entire game as a whole.

I like this idea. Hmmm. 🤔


Controller Input Parameters

Regarding the controller it self:
"
double setTension = _controller->control(*(stringList[i]),
dt,
Length,
target
);
" (NestedStructureSineWaves.cpp)
What does the parameters length and target mean in the model? I wanted to give it a unit ramp input by providing target the speed (there was a variable offsetspeed associated with target, hence my assumption). But the movements were negligible on the screen.
Then I set it to 12.5. Then at least i observed something on the screen. But I used an if condition to set it at simTime between 2 and 4 (seconds). But the data I pulled out, after importing it to excel, showed no changes in the lengths of the actuator (here, actuator 'a') in terms of 12.5 magnitude. Is the magnitude getting scaled down somewhere?
My overall objective right now is this:
Given I want to displace a particular node in a particular direction, which actuators should I actuate to achieve the target motion?
I need this to build a working prototype.
I'm trying to find a transfer function by studying the kinds of displacements that occur in the nodes for a unit actuation of an actuator.

Given I want to displace a particular node in a particular direction, which actuators should I actuate to achieve the target motion?

This is a very hard problem and there is not an easy answer to it, other than making the general observation that if you want to precisely control the absolute position of a single node, you will likely need to control all the actuators to accomplish that exact trajectory.
This is when the research begins.
out of interest, what is your overall objective?  It would be fun to know what you are trying to accomplish!
vytas

Vytas SunSpiral
Dynamic Tensegrity Robotics Lab
cell-<PHONE_NUMBER>
Office:<PHONE_NUMBER>
N269     Rm. 100
Stinger Ghaffarian Technologies
Intelligent Robotics Group
NASA Ames Research Center
I will not tiptoe cautiously through life only to
arrive safely at death.

My objective is to be able build a spider-bot, with tensegrity appendages. This will allow the bot to traverse various types of terrains, swim through water (octopus) and curl up into a ball for defense.

The above image depicts the appendage. For as a bot, it could also help in repairing structures (static or moving) irrespective of where it is.
Now that I know that that itself is the current barrier in controlling tensegrity structures, I guess i need to overcome that before I get to building it.
I'm only competent with aspects related to mechanical engineering (Kinematics, dynamics, stress fields). I wonder how much can I contribute in the this field as it involves controls. But I do see a means to achieving it.


Create a notebook to collect metrics about datasets that have been published as a result of these workshops

@sformel-usgs @albenson-usgs do you all know of other datasets that have been published as a result of the workshop? Below is my list:

dataset issue
GBIF
OBIS

https://github.com/ioos/bio_data_guide/issues/244
https://www.gbif.org/dataset/fdcdc447-2032-4edf-9519-0ec89ae1b9c5
https://obis.org/dataset/30884b6c-e8e1-453c-af20-7ed8318489c6

https://github.com/ioos/bio_data_guide/issues/165
https://www.gbif.org/dataset/58ffefab-20aa-4cec-b0c0-dd7330ed7280
https://obis.org/dataset/bb638343-bbc9-464d-88d8-18d9ba29ecdd

https://github.com/ioos/bio_data_guide/issues/258
https://www.gbif.org/dataset/9358fbd7-cfd0-4eab-99fa-0934396a0529
https://obis.org/dataset/54bc0e9c-e857-4216-a6ce-46cd6ae58cd7

https://github.com/ioos/bio_data_guide/issues/147
https://www.gbif.org/dataset/b3fc1d76-a50d-4a57-a2f3-425adfc59f9f
https://obis.org/dataset/7a4427f6-67ee-4cc1-b95f-3045523420a1

https://github.com/ioos/bio_data_guide/issues/136
https://www.gbif.org/dataset/ec0d2fe8-21b1-4ab1-8b91-67873e8ca912
https://obis.org/dataset/afef5da2-614b-4208-aee6-c2413ed5ab76

I would like to do something similar to the mbon_stats function where we can gather download statistics about datasets that have been shared to OBIS / GBIF. It would be great to have a summary of the impact of these workshops in publishing data.

Add the result to https://ioos.github.io/bio_mobilization_workshop/about/

I added the table at https://ioos.github.io/bio_mobilization_workshop/about/#datasets-published


[release] Kelp v3.1.2

Kelp was very broken before this. This is a very simple change.

3.x should never have been published with this issue.

Please re-open when all issues are addressed.


fix(grouper): use design value for grouper negative friction

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 4 (50.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 94.343%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/pypilecore/input/grouper_properties.py
2
4
50.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1601

Relevant Lines:
1697

💛  - Coveralls


Adding support for SAM image_encoder model as backbone for BaseFeatureExtractor

Description
This PR adds support for using a pretrained SAM's ViT model as the backbone for the BaseFeatureExtractor class.
Heatmaps are extracted without issues.
Changes Made

Added a new argument backbone to BaseFeatureExtractor to allow initializing the backbone with SAM.
Small mods to get_representations method for to extract features from the ViT model.

TODO

Allow other versions (B, L) of SAM.
Finalize integration with heatmap_tracker.
Performance experiments and comparison with CNN.
Check how to freeze it.

Looks good to me until now. We can chat and see how these do.

thanks @luca-medeiros!! really appreciate this great contribution :)


Compiler-error with static properties

Classes with static properties, like:
[Equatable]
partial class Sample
{
    public string Property { get; set; }

    public static string StaticProperty { get; set; }
}

lead to a compiler error when used with Generator.Equals:
Member 'Sample.StaticProperty' cannot be accessed with an instance reference; qualify it with a type name instead

As a workaround, I can mark static properties with [IgnoreEquality]. However, I think it would be better if Generator.Equals simply ignored them by default.

Fixed in 2.2.2.


how to send button template attachment??

i want to send buttons as a message . the template will be sent as an attachment but when i try to send , it shows error that attachment should be a readable stream . what am i doing wrong ??

Answered in #455


Create classes for responses?

Hi! What would you think of having this gem include classes for the various responses that the API can return? This would be similar to what other minFraud 2 libraries do. For example this is the PHP library building an Insights response object: https://github.com/maxmind/minfraud-api-php/blob/master/src/MinFraud/Model/Insights.php. Essentially what I'm thinking is to have the entire response represented by custom classes with documented attributes rather than dynamically created by hashie.
One nice thing about this would be is the gem's API documentation could include details on the particular fields in the response as well as the request. I did this recently for a GeoIP2 library, for example https://www.rubydoc.info/gems/maxmind-geoip2/MaxMind/GeoIP2/Record/City.
Another benefit could be that this gem could potentially reduce its dependencies. For example, the need for hashie might go away if it were to process the response more manually itself. Although we'd want to consider backwards compatibility.
I'd potentially be available to help with this, but I figured I'd check with you before making a larger change like I'm proposing.
Thank you!

Hello @horgh!
Thank you so much for sharing your insights, much appreciated!
Yes, I'd have to agree with you, I think it would be better to get rid of the dynamic approach in favour of well-documented classes. We've got only three endpoints to support therefore there's little to no value offered by dynamic definition.
There's lots to do when it comes to this gem, but, alas, I lack the time required to make the necessary changes at the moment so to answer your question - yes, your contributions would be more than welcome and I can't wait to see them!
Other than that I'll be refactoring and improving the test coverage in the upcoming months. Please let me know if those are the topics you'd be interested in 🙂
Looking forward to hearing back from you,
Regards, Yurii

Thank you for the encouragement :-). I will see what I can do!
Yes, I'd definitely be keen to see & help with making the gem even better! I saw your refactoring PR but have not looked at it closely. I have a couple ideas for tests to add, but you've done a great job already!

🎉


🐛 Fix API Differences link in the new nav structure

We've reverted the PR https://github.com/buildkite/docs/pull/1641, which lifted APIs and Integrations in the nav, because the API Differences page is missing.
I've amended this by adding the API Differences page in the nav under APIs > REST.

How I implemented the fix in this PR (you can also watch the Loom 🎦 )

"Revert the revert" https://github.com/buildkite/docs/pull/1678
Add API Differences in the Nav under APIs > REST in data/nav.yml
Add nav icon as an improvement to minimize confusion by helping customers know that they're leaving the Pipelines section

Shedding light on recent UX confusion 🤔❓

Oversight of not adding API Differences under the new top level APIs nav
Duplication of API links
Resolved by having dupe links
Dupe links help

The UX confusion arises from API Differences being added under Pipelines > APIs > API Difference in https://github.com/buildkite/docs/pull/1613 but not added under the newly introduced top level APIs nav.

PR 1641 that introduced top level APIs and Integrations to the nav was merged after API Differences page, which by oversight didn't add API Differences under the new nav.

I've decided to dupe the links to help existing customers with finding the API information.
As a UX improvement, I've added an icon and title tag as an affordance to let customers know that they're leaving the Pipeline section.

Here's a Loom walking through the UX changes
https://www.loom.com/share/3192534d18f9497c91ad3095e7a55365

Pulling back to draft as Render preview is returning a 500 error. 😬

Ready for review again. 500 error caused by image_url in view partial which, strangely, works on local dev but not Render preview

@olyism love the Loom, love the new link affordances.
I'm not sure why the Nav differences didn't show up in the original PR merge though.
From an editing point of view, are both the API nav in Pipelines and the API nav in the top bar, in nav.yaml? When I was looking yesterday they didn't seem to be.
My ideal I think is that we only have to edit the Nav in one place, and it should match. (with optional flattening as you've done). As soon as you have to remember to edit the same Nav in two places, human error gets involved real quick.

thanks @plaindocs

I'm not sure why the Nav differences didn't show up in the original PR merge though.

Yeah so this was my oversight. I forgot to add API Difference under APIs in nav.yml
  - name: 'Pipelines'
    path: 'tutorials/getting-started'
    children:
      ……
      - name: 'APIs'
        children:
          ……
          # Karen's PR added the nav link here 👇
          - name: 'API Differences'
            path: 'apis/api-differences'
          ……
  ……
  - name: 'APIs'
    path: 'apis'
    children:
      - name: 'Overview'
        path: 'apis'
      - name: 'Managing API Tokens'
        path: 'apis/managing-api-tokens'
      # But I forgot to add API Differences nav here before I merged 👇
      - name: 'API Differences'
        path: 'apis/api-differences'
      ……

From an editing point of view, are both the API nav in Pipelines and the API nav in the top bar, in nav.yaml? When I was looking yesterday they didn't seem to be.

Yes, all navs are managed within nav.yml. Pipelines start at line 2, and APIs start at line 362.

My ideal I think is that we only have to edit the Nav in one place, and it should match. (with optional flattening as you've done). As soon as you have to remember to edit the same Nav in two places, human error gets involved real quick.

Yes, I think it's best to only edit one place as well. I thought about removing API completely from under Pipelines but just wary about the change being too drastic. I would like to gradually remove the shortcut links under Pipelines in a month's time.
OR, we could have no children API and Integration links under Pipelines, so we won't have to double-handle these links.

Let me know if the approach in the screenshot is better and I can push this commit up.

No worries :) yes, I prefer the simplified version too. Have pushed the commit.


Update: H2IK.JoystickGremlin v13.1.0

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

#21194 (review)

It is version 13.3.0. See here: https://github.com/WhiteMagic/JoystickGremlin/releases/tag/Release_13.3.


[feat] GH-Actions for static code analysis

Tell us about the task you want to perform and are unable to do so because the feature is not available
Enable GitHub Actions for this project to automate static Flutter Code Analysis
Describe the solution/feature you'd like us to add
Building appropriate pipeline that'd test relevant commits for code analysis issue.
Any other feedback you would like to provide regarding the site
A comprehensive discussion must be carried out with the community to fix existing analysis issue, whose fix would be addressed in upcoming PRs. Here are few highlighted analysis issue, for which maintainers may suggest appropriate actions.

 See Detailed Table

Serial No.
Status
Issue
Location
Suggested Action

1.
 [ ]
Invalid option specified for 'enable-experiment': Flag "records" is no longer required.
analysis_options.yaml
Remove

2.
 [ ]
The parameter type of '==' operators should be non-nullable. Try using a non-nullable type.
lib\models\form_data_model.freezed.dart
Add Lint Ignore

3.
 [ ]
The parameter type of '==' operators should be non-nullable. Try using a non-nullable type.
lib\models\name_value_model.freezed.dart

4.
 [ ]
The value of the local variable 'length' isn't used. Try removing the variable or using it.
lib\screens\home_page\editor_pane\details_card\request_pane\request_headers.dart
Remove unused vars

5.
 [ ]
The value of the local variable 'length' isn't used. Try removing the variable or using it.
lib\screens\home_page\editor_pane\details_card\request_pane\request_params.dart
Remove unused vars

6.
 [ ]
This method overrides a method annotated as '@mustCallSuper' in 'State', but doesn't invoke the overridden method.
lib\widgets\headerfield.dart
Add Annotation

7.
 [ ]
This method overrides a method annotated as '@mustCallSuper' in 'State', but doesn't invoke the overridden method.
lib\widgets\json_previewer.dart
Add Annotation

8.
 [ ]
Unused import: 'package:apidash/main.dart'. Try removing the import directive.
test\widget_test.dart
For Code Coverage, Fixed in # >

9.
 [ ]
Unused import: 'package:flutter/material.dart'. Try removing the import directive.
test\widgets\markdown_test.dart
Remove imports

10.
 [ ]
The variable name '_$$_NameValueModelFromJson' isn't a lowerCamelCase identifier. Try changing the name to follow the lowerCamelCase style. (x2)
lib\models\name_value_model.g.dart
Generated Code, add lint ignore.

11.
 [ ]
TODO (x4)
-
Wont break analysis, but better to fix to prevent tech-debt

Once we're at par with above mentioned issues, I'll fix them within the main Actions PR itself.
Awaiting everyone's valuable feedback.

@ashitaprasad @animator Please share your feedback with reference to serial number..

It will be added to the roadmap but currently it is not a priority as we have other major features to work on.

What if I already have a PR ready :) ?

@opxdelwin Then you can send across a PR. We'll take a look at it.


update to Swift 4

Thanks for sharing. I Will customize to my project, but before I updated to Swift 4.
:)

Thanks, @ezefranca, sorry this project is little outdated now :)

@ezefranca Thank you for your pull request, you can now install the control from Cocoapods :)


[TASK] Update longhorn client to be compatible with newer client-go and code generation

What's the task? Please describe.
Regenerate the longhorn client to be compatible with recent versions of client-go.
It's not possible to import github.com/longhorn/longhorn-manager/k8s/pkg/client/clientset/versioned/typed/longhorn/v1beta1 in a project using client-go 0.18+ because the longhorn generated client does not include context. There are numerous build errors like this:
k8s/pkg/client/clientset/versioned/typed/longhorn/v1beta1/backingimage.go:74:5: not enough arguments in call to c.client.Get().Namespace(c.ns).Resource("backingimages").Name(name).VersionedParams(&options, scheme.ParameterCodec).Do
        have ()
        want (context.Context)

This makes it difficult to interact with longhorn CRDs programmatically.
Describe the items of the task (DoD, definition of done) you'd like.

[ ] Get latest binaries from https://github.com/kubernetes/code-generator/releases and run https://github.com/longhorn/longhorn-manager/blob/master/k8s/generate_code.sh

Additional context
Add any other context or screenshots about the task request here.

While working on this, we should update the code generation setup as well as clean it up a bit.

We should update to a newer client-go version, now that our min supported kubernetes version is 1.16
We should evaluate whether we want to move the Spec/Status definitions into the k8s/pkg/apis/longhorn/v1beta1/ next to the rest of the definition of the CRD, this should allow for deep copy generation of the status/spec
We need to benchmark the performance difference between the auto generated and hand crafted deepcopy implementations.
If a deepcopy implementation is present deepcopy-gen will skip auto generation for it.

This is a nice to have for v1.2 and probably a latest for v1.3

We have bump up the client-go to version v0.18.19 along with Longhorn v1.2.0.

There are some tasks mentioned by @joshimoo here Should create a new issue to track them?

There are some tasks mentioned by @joshimoo here Should create a new issue to track them?

I move them to #2637

Cool. Thank you!


Upgraded circe to version 0.14.4

Upgraded circe libraries to version 0.14.4. Addresses half of issue #279 . I will open a similar pr for version 0.14.5.
All sbt test tests are passing.
This PR should be released as version 0.14.4 of circe-generic-extras to keep in sync with the other circe library versions.

We've added a table to the readme to help with this confusion, please reference this link https://github.com/circe/circe-generic-extras/blob/main/README.md#versioning.   We do not want to release patches in cadence with circe with no changes, because they are already compatible.


Associations in traits persists multiple times

Describe the bug
If you make a belongs_to association inside trait, it will be created 2 times. This causes an error if there is a uniqueness check.
I have written a test for an example.
On version 0.10.2 it works correct.
To Reproduce
# frozen_string_literal: true

RSpec.describe ROM::Factory do
  include_context "database"

  subject(:factories) do
    ROM::Factory.configure do |config|
      config.rom = rom
    end
  end

  before do
    conn.create_table?(:book_types) do
      primary_key :id
      column :type, String, null: false

      index :type, unique: true
    end

    conn.create_table?(:books) do
      primary_key :id
      foreign_key :book_type_id, :book_types, index: true
    end

    conf.relation(:book_types) do
      schema(infer: true) do
        associations do
          has_many :books
        end
      end
    end

    conf.relation(:books) do
      schema(infer: true) do
        associations do
          belongs_to :book_type
        end
      end
    end

    rom.gateways[:default].use_logger(Logger.new($stdout))
  end

  context "trait with associations" do
    it "creates book type only once" do
      factories.define(:book) do |f|
        f.trait :with_type do |t|
          t.association(:book_type)
        end
      end

      factories.define(:book_type) do |f|
        f.type { "NOT_UNIQUE" }
      end

      factories[:book, :with_type]
      expect(rom.relations[:book_types].count).to eq(1)
    end
  end

  after do
    conn.drop_table?(:books)
    conn.drop_table?(:book_types)
  end
end

And the error
I, [2024-07-22T16:45:11.954139 #19499]  INFO -- : (0.002133s) INSERT INTO "book_types" ("type") VALUES ('NOT_UNIQUE') RETURNING "book_types"."id", "book_types"."type"
E, [2024-07-22T16:45:11.955342 #19499] ERROR -- : PG::UniqueViolation: ERROR:  duplicate key value violates unique constraint "book_types_type_index"
DETAILS:  Key (type)=(NOT_UNIQUE) already exists.: INSERT INTO "book_types" ("type") VALUES ('NOT_UNIQUE') RETURNING "book_types"."id", "book_types"."type"
I, [2024-07-22T16:45:11.964446 #19499]  INFO -- : (0.008830s) DROP TABLE IF EXISTS "books"
I, [2024-07-22T16:45:11.970889 #19499]  INFO -- : (0.006384s) DROP TABLE IF EXISTS "book_types"
F

Failures:

  1) ROM::Factory trait with associations creates book type only once
     Failure/Error:
       result = relation
         .with(auto_struct: !tuple_evaluator.has_associations?)
         .command(:create)
         .call(attrs)

     ROM::SQL::UniqueConstraintError:
       PG::UniqueViolation: ERROR:  duplicate key value violates unique constraint "book_types_type_index"
       DETAILS:  Key (type)=(NOT_UNIQUE) already exists.
     # ./lib/rom/factory/builder/persistable.rb:48:in `persist'
     # ./lib/rom/factory/builder/persistable.rb:28:in `create'
     # ./lib/rom/factory/attributes/association.rb:82:in `call'
     # ./lib/rom/factory/tuple_evaluator.rb:186:in `block in evaluate_associations'
     # ./lib/rom/factory/attribute_registry.rb:22:in `each'
     # ./lib/rom/factory/attribute_registry.rb:22:in `each'
     # ./lib/rom/factory/tuple_evaluator.rb:178:in `each_with_object'
     # ./lib/rom/factory/tuple_evaluator.rb:178:in `evaluate_associations'
     # ./lib/rom/factory/tuple_evaluator.rb:149:in `evaluate'
     # ./lib/rom/factory/tuple_evaluator.rb:59:in `defaults'
     # ./lib/rom/factory/tuple_evaluator.rb:173:in `evaluate_traits'
     # ./lib/rom/factory/tuple_evaluator.rb:150:in `evaluate'
     # ./lib/rom/factory/tuple_evaluator.rb:59:in `defaults'
     # ./lib/rom/factory/builder.rb:37:in `tuple'
     # ./lib/rom/factory/builder/persistable.rb:27:in `create'
     # ./lib/rom/factory/factories.rb:171:in `[]'
     # ./spec/integration/rom/association_trait_spec.rb:56:in `block (3 levels) in <top (required)>'
     # ------------------
     # --- Caused by: ---
     # PG::UniqueViolation:
     #   ERROR:  duplicate key value violates unique constraint "book_types_type_index"
     #   DETAILS:  Key (type)=(NOT_UNIQUE) already exists.
     #   ./lib/rom/factory/builder/persistable.rb:48:in `persist'
     ```

## Expected behavior

Associations in traits should be created only 1 time.

## My environment

- Affects my production application: YES
- Ruby version: 3.2.2
- OS: MacOS 14.5 (Sonoma)

Thanks for reporting this! I'll look into it.

Any progress on this? I'm running into the same issue. It seems to be creating the association once when calling evaluate_associations and then again when calling evaluate_traits.


cleanup(modern): clear some arrays before using them

What type of PR is this?
/kind cleanup
Any specific area of the project related to this PR?
/area driver-modern-bpf
Does this PR require a change in the driver versions?
No
What this PR does / why we need it:
Clear some arrays before using them
Which issue(s) this PR fixes:
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
NONE

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

driver/OWNERS [Andreagit97]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 7001f78c7c2a89401a00658cff937ab7c164d768

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, jasondellaluce
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

driver/OWNERS [Andreagit97,jasondellaluce]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP, jasondellaluce
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

driver/OWNERS [Andreagit97,FedeDP,jasondellaluce]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 0974f1842217482c9a020dd7eefa0bef674cdeb9

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP, jasondellaluce, LucaGuerra
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

driver/OWNERS [Andreagit97,FedeDP,LucaGuerra,jasondellaluce]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Carrier loss can result in kube-vip setting the vip as the first ipaddress on an interface

Describe the bug
In our setup we are using kube-vip to provide a floating ip for the kubernetes api-server.
We use systemd-networkd  to configure a static ip on eth0. kube-vip is configured to set the VIP on eth0 as well.
If there is a carrier loss on eth0, it seems like systemd-networkd and kube-vip race to set their respective ipaddresses on the interface.
If kube-vip wins this race, the floating-ip will be the first ipaddress on the interface. This can cause some downstream issues if kubelet or the CNI (calico in our case) declare the floating-ip as the node's default ipv4 address.

https://kubernetes.io/docs/concepts/architecture/nodes/#self-registration-of-nodes
https://docs.tigera.io/calico/latest/networking/ipam/ip-autodetection#autodetection-methods

Expected behavior
Unsure what the expected behavior is ... maybe this is by design? I would like to see kube-vip be smarter and not set the first ipaddress on an interface but I understand if that creates more complexities.
Also is it possible that kube-vip is maybe resetting the VIP on the interface during a carrier loss while systemd-networkd waits until the interface regains the carrier.

hmmm, so this is by design kube-vip has a health check to re-apply the IP address on an interface if it is removed for whatever reason. The alternative might just be to create a sub interface/alias and use that for IP addresses added by kube-vip
https://www.kernel.org/doc/html/latest/networking/alias.html


582 - img to img broken on RX6700

Img to Img not working with any model or base config.
Using tuned models for runwayml/stable-diffusion-v1-5/fp16/vulkan://00000000-0300-0000-0000-000000000000.
torch\jit\_check.py:172: UserWarning: The TorchScript type system doesn't support instance-level annotations on empty non-base types in `__init__`. Instead, either 1) use a type annotation in the class body, or 2) wrap the type in `torch.jit.Attribute`.
  warnings.warn("The TorchScript type system doesn't support "
loading existing vmfb from: E:\ImageAI\shark\euler_scale_model_input_1_512_512fp16.vmfb
WARNING: [Loader Message] Code 0 : windows_read_data_files_in_registry: Registry lookup failed to get layer manifest files.
loading existing vmfb from: E:\ImageAI\shark\euler_step_1_512_512fp16.vmfb
WARNING: [Loader Message] Code 0 : windows_read_data_files_in_registry: Registry lookup failed to get layer manifest files.
Inferring base model configuration.
Retrying with a different base model configuration
Retrying with a different base model configuration
Retrying with a different base model configuration
Retrying with a different base model configuration
Traceback (most recent call last):
  File "gradio\routes.py", line 384, in run_predict
  File "gradio\blocks.py", line 1032, in process_api
  File "gradio\blocks.py", line 844, in call_function
  File "anyio\to_thread.py", line 31, in run_sync
  File "anyio\_backends\_asyncio.py", line 937, in run_sync_in_worker_thread
  File "anyio\_backends\_asyncio.py", line 867, in run
  File "apps\stable_diffusion\scripts\img2img.py", line 152, in img2img_inf
  File "apps\stable_diffusion\src\pipelines\pipeline_shark_stable_diffusion_utils.py", line 351, in from_pretrained
  File "apps\stable_diffusion\src\models\model_wrappers.py", line 541, in __call__
SystemExit: Cannot compile the model. Please create an issue with the detailed log at https://github.com/nod-ai/SHARK/issues

img to img still not working in 584
I of course did the --clear_all
looks like there is something going on asking for keys from third party huggingface base model token... guess I need to look into why loading any model then uses a third party lookup...
anyhow it is looking like some auth issue causing complile to fail...
Found device AMD Radeon RX 6700 XT. Using target triple rdna2-unknown-windows.
Using tuned models for runwayml/stable-diffusion-v1-5/fp16/vulkan://00000000-0300-0000-0000-000000000000.
torch\jit\_check.py:172: UserWarning: The TorchScript type system doesn't support instance-level annotations on empty non-base types in `__init__`. Instead, either 1) use a type annotation in the class body, or 2) wrap the type in `torch.jit.Attribute`.
  warnings.warn("The TorchScript type system doesn't support "
loading existing vmfb from: E:\ImageAI\shark\euler_scale_model_input_1_512_512fp16.vmfb
WARNING: [Loader Message] Code 0 : windows_read_data_files_in_registry: Registry lookup failed to get layer manifest files.
loading existing vmfb from: E:\ImageAI\shark\euler_step_1_512_512fp16.vmfb
WARNING: [Loader Message] Code 0 : windows_read_data_files_in_registry: Registry lookup failed to get layer manifest files.
Inferring base model configuration.
Retrying with a different base model configuration
Retrying with a different base model configuration
Retrying with a different base model configuration
Retrying with a different base model configuration
Traceback (most recent call last):
  File "gradio\routes.py", line 384, in run_predict
  File "gradio\blocks.py", line 1032, in process_api
  File "gradio\blocks.py", line 844, in call_function
  File "anyio\to_thread.py", line 31, in run_sync
  File "anyio\_backends\_asyncio.py", line 937, in run_sync_in_worker_thread
  File "anyio\_backends\_asyncio.py", line 867, in run
  File "apps\stable_diffusion\scripts\img2img.py", line 152, in img2img_inf
  File "apps\stable_diffusion\src\pipelines\pipeline_shark_stable_diffusion_utils.py", line 351, in from_pretrained
  File "apps\stable_diffusion\src\models\model_wrappers.py", line 541, in __call__
SystemExit: Cannot compile the model. Please create an issue with the detailed log at https://github.com/nod-ai/SHARK/issues


Can posts be added/edited with Netlify CMS?

I had tried deploying it on Netlify and also on Github Pages. With the latter you only can edit/add posts by editing the .mds, but i wanted to know if this can be done through Netlify CMS tools.

Adding Netlify CMS would take a lot of effort and there is not plan to support it. Netlify CMS does not have great support anymore. I would recommend trying Forestry CMS or Cloudcannon CMS for a git based CMS.

It's actually not that hard. I got it to work using this config.
backend:
  name: git-gateway
  branch: master

site_url: <your-site-url>
logo_url: <your-site-url>/favicon.png
publish_mode: editorial_workflow

media_folder: "static/images/uploads"
public_folder: "/images/uploads"

collections:
  - name: "blog" # Used in routes, e.g., /admin/collections/blog
    label: "Blog" # Used in the UI
    folder: "content/posts" # The path to the folder where the documents are stored
    create: true # Allow users to create new documents in this collection
    slug: "{{slug}}" # Filename template, e.g., YYYY-MM-DD-title.md
    fields: # The fields for each document, usually in front matter
      - {label: "Title", name: "title", widget: "string"}
      - {label: "Publish Date", name: "date", widget: "datetime"}
      - {label: "Description", name: "description", widget: "text"}
      - {label: "Featured Image", name: "image", widget: "image", required: false}
      - {label: "Body", name: "body", widget: "markdown"}
  - name: "page"
    label: "Page"
    folder: "content/pages"
    create: true
    slug: "{{slug}}"
    fields:
      - {label: "Title", name: "title", widget: "string"}
      - {label: "URL", name: "url", widget: "string"}
      - {label: "Image", name: "image", widget: "image", required: false}
      - {label: "Body", name: "body", widget: "markdown"}

This allows you to perform CRUD operations on both blog posts and static pages like about section.


In Bazel 7 diffs involving 3rd party deps seem to be ignored

I'm running Bazel 7 and rules_python 0.27.1 (via bzlmod, using rules_python's pip management).
Given a basic py_library that depends on a requirement, updating the underlying requirement's version no longer seems to cause target-determinator to indicate my target has changed.

I also encountered this when updating some oci_image targets in our WORKSPACE file.

Good call -- can also confirm I'm seeing this for oci_pull defined repos in MODULE.bazel.

I've been debugging this, https://github.com/bazelbuild/bazel/issues/20757 is what I've worked out so far.

I can't repro this with oci_pull - if you don't think the above linked issue encapsulates what you're seeing, can you post a minimal repro repo somewhere I can debug in?

Here's a minimal repro: https://github.com/mark-thm/td-81
Running target-determinator HEAD~1 produces no changed targets -- the hash for the image target was changed, though.

Running bazel cquery 'deps(//:test)' seems to produce different results between the commits:
5101a964cf6257720ac70242d03349b328d7585d (first commit)
//:test (7170974)
@ubuntu//:ubuntu (7170974)
@bazel_tools//tools/sh:toolchain_type (7170974)
@rules_oci//oci/private:image.sh (null)
@@aspect_bazel_lib~//lib:jq_toolchain_type (7170974)
@@bazel_tools~sh_configure_extension~local_config_sh//:local_sh (7170974)
@@rules_oci~~oci~oci_crane_darwin_arm64//:crane_toolchain (7170974)
@platforms//os:windows (bcfe008)
@rules_oci//oci:registry_toolchain_type (7170974)
@rules_oci//oci:crane_toolchain_type (7170974)
@@rules_oci~~oci~oci_crane_darwin_arm64//:registry_toolchain (7170974)
@@aspect_bazel_lib~~ext~jq_darwin_arm64//:jq_toolchain (7170974)
@local_config_platform//:host (bcfe008)
@rules_oci//oci/private:empty.tar (null)
@platforms//os:os (bcfe008)
@platforms//os:osx (bcfe008)
@@rules_oci~~oci~oci_crane_darwin_arm64//:crane (null)
@@aspect_bazel_lib~~ext~jq_darwin_arm64//:jq (null)
@@rules_oci~~oci~oci_crane_darwin_arm64//:launcher.sh (null)
@platforms//cpu:aarch64 (bcfe008)
@@rules_oci~~oci~ubuntu_single//:ubuntu_single (7170974)
@platforms//cpu:cpu (bcfe008)
@@aspect_bazel_lib~//lib:copy_to_directory_toolchain_type (7170974)
@@rules_oci~~oci~ubuntu_single//:blobs/sha256/52882761a72a60649edff9a2478835325d084fb640ea32a975e29e12a012025f (null)
@@rules_oci~~oci~ubuntu_single//:oci-layout (null)
@@rules_oci~~oci~ubuntu_single//:blobs/sha256/2af372c1e2645779643284c7dc38775e3dbbc417b2d784a27c5a9eb784014fb8 (null)
@@rules_oci~~oci~ubuntu_single//:index.json (null)
@@rules_oci~~oci~ubuntu_single//:blobs/sha256/a8b1c5f80c2d2a757adc963e3fe2dad0b4d229f83df3349fbb70e4d12dd48822 (null)
@@aspect_bazel_lib~~ext~copy_to_directory_darwin_arm64//:copy_to_directory_toolchain (7170974)
@@aspect_bazel_lib~~ext~copy_to_directory_darwin_arm64//:copy_to_directory (null)

2342255c560181e19246b2f7046542970a486430 (second commit)
//:test (7170974)
@ubuntu//:ubuntu (7170974)
@bazel_tools//tools/sh:toolchain_type (7170974)
@rules_oci//oci/private:image.sh (null)
@@aspect_bazel_lib~//lib:jq_toolchain_type (7170974)
@@bazel_tools~sh_configure_extension~local_config_sh//:local_sh (7170974)
@@rules_oci~~oci~oci_crane_darwin_arm64//:crane_toolchain (7170974)
@platforms//os:windows (bcfe008)
@rules_oci//oci:registry_toolchain_type (7170974)
@rules_oci//oci:crane_toolchain_type (7170974)
@@rules_oci~~oci~oci_crane_darwin_arm64//:registry_toolchain (7170974)
@@aspect_bazel_lib~~ext~jq_darwin_arm64//:jq_toolchain (7170974)
@local_config_platform//:host (bcfe008)
@rules_oci//oci/private:empty.tar (null)
@platforms//os:os (bcfe008)
@platforms//os:osx (bcfe008)
@@rules_oci~~oci~oci_crane_darwin_arm64//:crane (null)
@@aspect_bazel_lib~~ext~jq_darwin_arm64//:jq (null)
@@rules_oci~~oci~oci_crane_darwin_arm64//:launcher.sh (null)
@platforms//cpu:aarch64 (bcfe008)
@@rules_oci~~oci~ubuntu_single//:ubuntu_single (7170974)
@@rules_oci~~oci~ubuntu_single//:blobs/sha256/bf3dc08bfed031182827888bb15977e316ad797ee2ccb63b4c7a57fdfe7eb31d (null)
@platforms//cpu:cpu (bcfe008)
@@aspect_bazel_lib~//lib:copy_to_directory_toolchain_type (7170974)
@@rules_oci~~oci~ubuntu_single//:blobs/sha256/49b384cc7b4aa0dfd16ff7817ad0ea04f1d0a8072e62114efcd99119f8ceb9ed (null)
@@rules_oci~~oci~ubuntu_single//:oci-layout (null)
@@rules_oci~~oci~ubuntu_single//:index.json (null)
@@aspect_bazel_lib~~ext~copy_to_directory_darwin_arm64//:copy_to_directory_toolchain (7170974)
@@rules_oci~~oci~ubuntu_single//:blobs/sha256/d21429c4635332e96a4baae3169e3f02ac8e24e6ae3d89a86002d49a1259a4f7 (null)
@@aspect_bazel_lib~~ext~copy_to_directory_darwin_arm64//:copy_to_directory (null)

diff
21a22
> @@rules_oci~~oci~ubuntu_single//:blobs/sha256/bf3dc08bfed031182827888bb15977e316ad797ee2ccb63b4c7a57fdfe7eb31d (null)
24c25
< @@rules_oci~~oci~ubuntu_single//:blobs/sha256/52882761a72a60649edff9a2478835325d084fb640ea32a975e29e12a012025f (null)
---
> @@rules_oci~~oci~ubuntu_single//:blobs/sha256/49b384cc7b4aa0dfd16ff7817ad0ea04f1d0a8072e62114efcd99119f8ceb9ed (null)
26d26
< @@rules_oci~~oci~ubuntu_single//:blobs/sha256/2af372c1e2645779643284c7dc38775e3dbbc417b2d784a27c5a9eb784014fb8 (null)
28d27
< @@rules_oci~~oci~ubuntu_single//:blobs/sha256/a8b1c5f80c2d2a757adc963e3fe2dad0b4d229f83df3349fbb70e4d12dd48822 (null)
29a29
> @@rules_oci~~oci~ubuntu_single//:blobs/sha256/d21429c4635332e96a4baae3169e3f02ac8e24e6ae3d89a86002d49a1259a4f7 (null)

Thanks! Sorry it took so long to put something together.

Confirming this appears to be fixed in 7.2.0. Thanks!


[DO] Rake to purchase datasets

Related to https://github.com/CartoDB/cartodb/issues/15076
It calls do/datasets in Central (https://github.com/CartoDB/cartodb-central/pull/2578) and stores the metadata in Redis.
To use it:
bundle exec rake cartodb:data_observatory:purchase_datasets["fulano","tmp/datasets.csv"]

Regarding the validations, now it requires:

Existing username
Enabled DO (existing service account)
Existing BQ dataset_id
Not existing view (it doesn't allow to purchase datasets already registered)

Pending stuff:

Check the plan type or user status. We'll run this manually, so not a problem for now.
Expirations. When a license expires, we are not removing the view (maybe we should add a TTL to the view with the expiration time), and you cannot create another one if it exists. So it should be managed manually by now.

Could you add issues for the pendind stuff and add them to the CF kanban? Thanks

@alrocar I added a comment with the first point here: https://github.com/CartoDB/data-observatory/issues/144#issuecomment-537413669
And the second one is already included here: https://github.com/CartoDB/cartodb-central/issues/2577

Thanks!

Acceptance :green_apple: (https://github.com/CartoDB/cartodb-central/pull/2578#issuecomment-537604060)


[REVIEW] Asmit2952

GitHub Profile Link
https://github.com/Asmit2952

Looks great, reviewed on a live stream, here is some feedback

banner loops but the animation jumps, try to make a seamless loop on the animation (or use an intentional glitch)
widgets take up a lot of space, suggest removing
suggest removing all 8 widget repos as you have 6 pinned repos already - I think this is too much


Use Select component where SelectWithLabelFormGroup is used

🚀 Feature Proposal

Use v1.8.1 of @hospitalrun/components
Replace SelectWithLabelFormGroup with Label and Select

Note: Select component in v1.7.0 comes with a typeahead functionality. Please see examples in the storybook.

I'd be happy to take this, if possible

@rubencgt It's yours. Thank you!

Hi @rubencgt, do you need some help?

hello @tehKapa since it seems to be critical,
is there a change someone more experienced would take this issue and I can take another one?

No problem! @kumikokashii can you take care of this?

What is the status of this issue? @jackcmeyer @kumikokashii @tehKapa

Hey @kumikokashii @tehKapa @jackcmeyer! Would love to look at this issue if it's still open.

Sure @cpondoc, you can take it.

@cpondoc Any progress on this? If possible I'd like to take it on.
cc: @blestab @tehKapa

@cpondoc Any progress on this? If possible I'd like to take it on.
cc: @blestab @tehKapa

Hey @tehKapa and @blestab! Nearly done -- took some time off of Hospital Run do to some developments in my personal life, but happy to be back on the project :) Will push a PR in the next day or two!

awesome @cpondoc


Questions on FELT Dataset and Baseline Trackers in Your Research

Dear FELT research team,
First, I would like to express my sincere gratitude for your outstanding work on the FELT dataset and your paper, which has become an invaluable reference for my current research. I am currently writing a paper that builds upon your methods, and I am very impressed by the comprehensive approach your team has taken to address the challenges of long-term frame-event tracking.
However, I have a few questions regarding the re-training of the baseline trackers on the FELT dataset. The paper mentions that 15 baseline trackers were re-trained, but I couldn’t find specific details about the re-training process. Could you clarify the methodology you used? Any additional information about the training configuration or settings would be very helpful for my research.
Additionally, I noticed that the evaluation tool for FELT is hosted on Baidu, which unfortunately I cannot access. Would it be possible to provide access to the tool through another platform or method?
Finally, I encountered sequences in the FELT dataset with bounding boxes initialized at (0, 0, 0, 0). Could you explain how the trackers handle such initializations and how these cases are evaluated within your framework, given my limited access to the evaluation tool?
Thank you very much for your time and assistance. I greatly appreciate any insights you could provide, and I look forward to your response.

@MR-Vico   Hi, thanks for your attention to our work.
1). The specific details about the re-training process are not provided, we follow their default settings to train the tracker.
2). You can check their source code for these detailed information. The evaluation tool for FELT has been updated on
DropBox: FELT_eval_toolkit.zip
3). For the sequences in the FELT dataset with bounding boxes initialized at (0, 0, 0, 0), would please tell us which video?
Thanks for your feedback.

@wangxiao5791509
Thank you very much for your prompt and helpful response. I am especially grateful for providing the updated link to the evaluation tool on Dropbox, which is extremely valuable for advancing my work.
I also appreciate the additional information regarding the training setup and default configurations used for the baseline trackers.
As for the sequences with an initial bounding box of (0, 0, 0, 0), here is a list of the specific videos where this was observed:
In /test – 10 sequences:
dvSave-2022_10_27_18_58_42
dvSave-2022_10_23_17_26_32
dvSave-2022_10_17_21_13_52
dvSave-2022_10_28_19_53_10
dvSave-2022_10_28_20_14_09
dvSave-2022_10_27_21_01_48
dvSave-2022_10_25_19_25_33
dvSave-2022_10_11_23_25_00
dvSave-2022_10_25_19_39_09
dvSave-2022_10_25_20_33_03

In /train1 – 1 sequence:
dvSave-2022_10_15_17_25_18

In /train2 – 10 sequences:
dvSave-2022_10_29_17_17_32
dvSave-2022_10_25_20_27_40
dvSave-2022_10_22_20_32_30
dvSave-2022_10_27_20_42_05
dvSave-2022_10_22_21_30_26
dvSave-2022_10_22_17_34_24
dvSave-2022_10_28_20_51_33
dvSave-2022_10_27_21_09_43
dvSave-2022_10_31_10_38_32
dvSave-2022_10_27_21_06_28

When analyzing the code of the evaluation tool, I noticed that frames without targets are filtered out, which actually solves the problem of invalid initial bounding boxes. This insight was incredibly helpful.
Thank you once again for your time and assistance. Your support has significantly advanced my research efforts.

@MR-Vico  It's cool. The training samples are randomly sampled from the given training videos, thus, the bounding box of (0, 0, 0, 0) doesn't influence the training. For tracking, only a non-empty rectangle will be used as the starting position (more details can be found in our source code). The evaluation will filter out all zero annotations.

@wangxiao5791509
When analyzing the evaluation tool further, I noticed that the actual tracking does not seem to take place within the evaluation tool itself. It is purely an evaluation of the tracking results. I would like to ask about the specific tracking methods.
In particular, I would like to know whether a specific tracking tool was used or whether the trackers were applied directly to the FELT dataset. Since the evaluation tool stores the results in the form of bounding boxes in .txt files, I assume that the trackers were applied directly to the dataset without the use of a tracking tool. Please correct me if I am wrong here.
How were initial bounding boxes with the coordinates (0, 0, 0, 0) handled during tracking? Do I understand correctly that the tracker starts tracking with the first image in which the object is present?
The following groundtruth.txt for the sequence dvSave-2022_10_27_18_58_42 illustrates my question:
Groundtruth:
0,0,0,0
0,0,0,0
0,0,0,0
0,0,0,0
0,0,0,0
231.6437,85.4265,18.2735,5.8811
209.75754,87.73694,17.64338,5.96512
187.87138,90.04738,17.01326,6.0491399999999995

Results for the DiMP tracker on this sequence:
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
231	85	18	5
231	85	18	5
231	85	18	5

The timestamps for the results are listed as follows:
5.536157
5.536164
5.536166
5.536167
5.536169
1.437487
0.171785
0.165860

In order to reproduce the tracking results, I would need this additional information about how the trackers were applied. Especially for the DiMP tracker.

@MR-Vico You can take a closer look at the code under this path: AMTTrack/lib/test/evaluation/tracker. py. We first find the first target box that is not (0,0,0,0) based on the gt and use it as a template，and directly replace the initial frames where the target disappears with (0,0,0,0). This has nothing to do with the evaluation toolkit.

@wangxiao5791509, @wsasdsda
I would like to thank you for your earlier answers. I really appreciate your time and effort in answering my questions.
I’m reaching out once more as I find myself needing a bit more clarification to fully understand the process, particularly with respect to re-training the baseline trackers. I apologize for having to ask again, but this is vital for replicating the results in your study. I hope you won’t mind clarifying a few more points.
From your initial response, I understand that specific details about the re-training process are not provided, and you mentioned following the default settings to train the tracker. Based on this, I attempted to reproduce results using the DiMP tracker as an example. However, I encountered a few issues that I hope you can help clarify:
Which repository was used for the tracker?

The official DiMP implementation I am aware of is PyTracking on GitHub. Could you confirm if this was the one you used, or if another repository was utilized?
Was the LTR tool (which is included in Pytracking) used to retrain the baseline trackers? For example, for the DiMP tracker?

Was the FELT dataset actually used to train the baseline trackers?

The default settings for DiMP reference datasets like LaSOT or GOT-10k. If the FELT dataset was used instead, it would be helpful to know how this was configured.
Additionally, was the training performed separately on the APS (standard image frames) and DVS (event frames) or were these modalities combined during the training process of the baseline tracker?

Thank you again for your time and for sharing your excellent work. I greatly appreciate any further details you can provide. Please let me know if additional context or clarification is needed on my end.

@MR-Vico  The pytracking is a collection of trackers, not a GitHub for a single tracker. We merge the two modalities into one representation and re-training on the FELT SOT dataset. For the details of how to adapt the pytracking for new datasets, please refer to their tutorial. If you want to understand the tracking processing clearly, you may need to read their source code first and then run the basic rgb-based datasets (e.g., LaSOT or GOT-10k).

@wangxiao5791509, @wsasdsda
I would like to thank you for your earlier answers. I really appreciate your time and effort in answering my questions.
I’m reaching out once more as I find myself needing a bit more clarification to fully understand the process, particularly with respect to re-training the baseline trackers. I apologize for having to ask again, but this is vital for replicating the results in your study. I hope you won’t mind clarifying a few more points.
From your initial response, I understand that specific details about the re-training process are not provided, and you mentioned following the default settings to train the tracker. Based on this, I attempted to reproduce results using the DiMP tracker as an example. However, I encountered a few issues that I hope you can help clarify:
Which repository was used for the tracker?

The official DiMP implementation I am aware of is PyTracking on GitHub. Could you confirm if this was the one you used, or if another repository was utilized?
Was the LTR tool (which is included in Pytracking) used to retrain the baseline trackers? For example, for the DiMP tracker?

Was the FELT dataset actually used to train the baseline trackers?

The default settings for DiMP reference datasets like LaSOT or GOT-10k. If the FELT dataset was used instead, it would be helpful to know how this was configured.
Additionally, was the training performed separately on the APS (standard image frames) and DVS (event frames) or were these modalities combined during the training process of the baseline tracker?

Thank you again for your time and for sharing your excellent work. I greatly appreciate any further details you can provide. Please let me know if additional context or clarification is needed on my end.

@wangxiao5791509, @wsasdsda
I would like to thank you for your earlier answers. I really appreciate your time and effort in answering my questions.
I’m reaching out once more as I find myself needing a bit more clarification to fully understand the process, particularly with respect to re-training the baseline trackers. I apologize for having to ask again, but this is vital for replicating the results in your study. I hope you won’t mind clarifying a few more points.
From your initial response, I understand that specific details about the re-training process are not provided, and you mentioned following the default settings to train the tracker. Based on this, I attempted to reproduce results using the DiMP tracker as an example. However, I encountered a few issues that I hope you can help clarify:
Which repository was used for the tracker?

The official DiMP implementation I am aware of is PyTracking on GitHub. Could you confirm if this was the one you used, or if another repository was utilized?
Was the LTR tool (which is included in Pytracking) used to retrain the baseline trackers? For example, for the DiMP tracker?

Was the FELT dataset actually used to train the baseline trackers?

The default settings for DiMP reference datasets like LaSOT or GOT-10k. If the FELT dataset was used instead, it would be helpful to know how this was configured.
Additionally, was the training performed separately on the APS (standard image frames) and DVS (event frames) or were these modalities combined during the training process of the baseline tracker?

Thank you again for your time and for sharing your excellent work. I greatly appreciate any further details you can provide. Please let me know if additional context or clarification is needed on my end.
Our tracker is improved based on OSTrack and CEUTrack. For a fair comparison with other baselines, we retrain them based on their own configs using APS, DVS, and APS+DVS, respectively. For example, the config of DiMP is set as dimp50.py. Simply put, we only replaced the input with our own dataset while keeping other parameters unchanged.

@MR-Vico Our tracker is improved based on OSTrack and CEUTrack. For a fair comparison with other baselines, we retrain them based on their own configs using APS, DVS, and APS+DVS, respectively. For example, the config of DiMP is set as dimp50.py. Simply put, we only replaced the input with our own dataset while keeping other parameters unchanged.


Not supporting Last Sunday and after 15 days

Hi.
Wonderful program. But it does not support "Last Sunday", though supports "last  Week".
It also does not support " after 15 days", though it supports "in two weeks".
Please look into it and upgrade.
Regards
Prabhat

Related to #573


React as peerDependency and support for React 17

Hello,
I do not see a reason, why React ^18.2.0 is required, would it be possible to add support for React 17?
Also it would be great, if you could move react and react-dom to peerDependency.

Ok I will check this issue

<EMAIL_ADDRESS>has been released. Now you can test it.

It looks great, thank you.
What about adding support for React 17, is there any issues?


TD-2862 FileUploader extension validation

Contributes to TD-2862
Changes

We no longer render any file rejection messages on hover. This is because the DataTransferItem object we have access to during this event does not contain enough information to correctly validate the file. Instead we wait for the drop event.
We now validate files based on their extension. react-dropzone internally will allow files that pass the mime-type check through so even if we say { acceptedFiles: { "text/plain": [".rd5"] } }, .txt were still being accepted.

Testing notes

Check that you do not get any errors on hovering with files. Validation should now only occur on drop.
Check that for instance the { acceptedFiles: { "text/plain": [".rd5"] } } case no longer allows .txt files to be accepted. There is a new automated test to cover this case as well.

[x] Relevant labels added to the PR.
[x] Appropriate tests have been added.
[x] Lint and test workflows pass.

As you're here can you please do the feature team a favour and tag on this small update? https://sce.myjetbrains.com/youtrack/issue/TD-2973

As you're here can you please do the feature team a favour and tag on this small update? https://sce.myjetbrains.com/youtrack/issue/TD-2973

I think its a little more complicated than just including it in this PR, but I'll open a separate PR and release them together 👍


Rule blocked: CORERULES-254/1186/3701

see #557
https://jira.cdisc.org/browse/CORERULES-254
https://jira.cdisc.org/browse/CORERULES-1186
https://jira.cdisc.org/browse/CORERULES-3701
Describe the bug

Target_is_sorted_by needs to be validated to work with Dask, currently the operator is rooted in Pandas in its present implementation
this needs to be made more robust and able to handle partial dates, date and time comparisons for sorting

this should convert to the broadest contiguous date/time part for comparison

If a time part is missing is should be substituted by "00:00:00" to be able to do the sorting, afterwards it gets cut off again.
When comparing a date and a time, only those parts that are available will be compared. If a date a date is compared with a date/time, only the data part will be compared.

I have returned this to In Progress after my discussion with Gerry
The addition of blank numbers for normalizing before sort may not be needed as ISO allows for sorting without this, I will look at the behavior to ensure it behaves correctly.
Also included in the AC:

ensure that missing date components (represented by hyphen e.g. 2005---10 are properly addressed,  This would be the tenth of some month in 2005.  The precision for sorting being only the date.  Gerry believes the sort should move this before any month as - comes at ASCII 45 and digits start at 48 for string sorts.
timezone, durations

per STDMIG 4.4.1 and 4.4.2


Feat: This Is a Special Version.

This is a special version. The current version has removed all old code and now only provides the dtm patch command.

#1491


mat-select displaced/shifted down

Bug, feature request, or proposal:
Bug
What is the expected behavior?
Mat-options should appear in proximity to the select
What is the current behavior?
The options are being oddly displaced downward (not always though - the occurrence seems random).

What are the steps to reproduce?
I can't tell you what logical steps reproduce, but I started randomly removing items from my app until I boiled down a reproducible case, which can be found here
https://stackblitz.com/edit/angular-jzcpbd
Some additional clues: As I demonstrate in the stackblitz, the presence of the flexbox container holding the check-boxes seems to trigger the problem. Moreover, the problem only occurs when I use a getter in the checkbox for loop - switching to a constant value expression, bizarrely enough, removes the issue.
What is the use-case or motivation for changing an existing behavior?
Can't really use mat-select without fixing this inconsistent behavior or finding viable workaround.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?

Latest Versions of Angular and Material.
Tested on (Windows) Chrome 62.0.3202.75 and Firefox 46.0.1

Is there anything else we should know?
Repo of source code can also be found here for convenience
https://github.com/d4hines/broken-mdselect

As a note, the getter isn't causing the issue, but returning a new array each time is. You can see by switching it to this, that it works:
get checks() {
  return this.checks2;
}

checks2 = [
  { formField: '1', description: '1' },
  { formField: '2', description: '2' },
  { formField: '3', description: '3' },
  { formField: '4', description: '4' },
  { formField: '5', description: '5' },
];

As a rule of thumb, whatever you're returning from a getter or a function into the view will be re-computed on every change detection cycle which is both inefficient and can cause weird things to happen. Closing as a non-issue.

Thanks for the help guys. This resolved the issue for us.


Issue with k8s.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/

hello！there is a possible mistake at "Joining your nodes" section：

have you wrongly written "port" to "ip" ?

hi, yes this seems wrong.
do you wish to send a PR to fix it?
/sig cluster-lifecycle
/help

sorry…i just find this mistake during learning, but i don't know how to fix it...(i am a novice to github and k8s…)

sorry…i just find this mistake during learning, but i don't know how to fix it...(i am a novice to github and k8s…) @neolit123

/assign

/remove-help

@neolit123 - I would like to help with such doc issues for sig/cluster-lifecycle.

thanks @prasadkatti i can ping on new tickets. you can also watch the sig/cluster-lifecycle label in this repo.


fix parsing URL path

Hello,
I found a problem with parsing path and query parameters.
The original test is actually invalid and is escaping reserved characters '=', '?' and '&' as per (https://tools.ietf.org/html/rfc3986#section-2.2).
If I change test to include a '\n' character in query parameter it will be first unescaped by url.PathUnescape and then again using url.Parse that will result in error "net/url: invalid control character in URL".
So there is no need to explicitly unescape path as url.Parse handles that internally.
I updated the code and test to be valid and I also tested in our own OPA deployment.
Thanks,
Matej

Hello @vetyy , can you help me understand this statement:

The original test is actually invalid and is escaping reserved characters '=', '?' and '&' as per (https://tools.ietf.org/html/rfc3986#section-2.2).

Afaik both reserved and unreserved characters are allowed in an URI. While using unreserved characters, they are url-encoded, hence the code uses url.PathUnescape. The implementation of url.Parse and  url.PathUnescape are not quite the same.
So both these seem valid to me:

/my/test/path?a=1&a=new%0aline =>

decoded
/my/test/path?a=1&a=new
line

%2Fmy%2Ftest%2Fpath%3Fa%3D1%26a%3D2 =>

decoded
/my/test/path?a=1&a=2

We should try to support both these if feasible imo.

I guess I was in a hurry and shouldn't have to delete the original test, but the expected behaviour from any webserver I tried is that encoded characters are treated as either part of the path or query parameters based on usage of the reserved characters, to demostrate what I mean and how webservers will actually handle the requests I'll try to show some tests and if it looks ok I can add them to the code:
// All characters are encoded
{
    createExtReqWithPath("%2Fmy%2Ftest%2Fpath%3Fa%3D1%26a%3D2"),
    []interface{}{"my", "test", "path?a=1&a=2"},
    map[string]interface{}{},
},
// '?" characters is not encoded
{
    createExtReqWithPath("%2Fmy%2Ftest%2Fpath?a%3D1%26a%3D2"),
    []interface{}{"my", "test", "path"},
    map[string]interface{}{"a=1&a=2": []interface{}{""}},
},
// '?' and first '=' is not encoded
{
    createExtReqWithPath("%2Fmy%2Ftest%2Fpath?a=1%26a%3D2"),
    []interface{}{"my", "test", "path"},
    map[string]interface{}{"a": []interface{}{"1&a=2"}},
},
// '?' , '=' and '&' is not encoded
{
    createExtReqWithPath("%2Fmy%2Ftest%2Fpath?a=1&a%3D2"),
    []interface{}{"my", "test", "path"},
    map[string]interface{}{"a": []interface{}{"1"}, "a=2": []interface{}{""}},
},

@vetyy any update on this ?  Let me know if you need any help.

I'm facing this issue as well, when the plugin is parsing Prometheus queries with \n on it.
Is this going to be considered anytime soon?

@homeles feel free to take this on and submit changes if you would like. Otherwise we could take this on over the next couple of weeks or so.

Closing due to inactivity. We can revisit this in the future as needed.

This has come up again (see link ☝). I think the fix here is the correct one, and we should try to get this in.
@vetyy Would you mind having another look? Or would you be OK if I took over and kept your commit intact?

@vetyy I've taken your commit in got it merged in #227. I hope you're OK with this. Thanks again for bringing this up and providing a fix 🎉 😃